實驗二開關(guān)控制LED數(shù)碼管 李英閣_第1頁
實驗二開關(guān)控制LED數(shù)碼管 李英閣_第2頁
實驗二開關(guān)控制LED數(shù)碼管 李英閣_第3頁
實驗二開關(guān)控制LED數(shù)碼管 李英閣_第4頁
實驗二開關(guān)控制LED數(shù)碼管 李英閣_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基本輸入輸出試驗開關(guān)控制LED一、實驗?zāi)康?1.單片機(jī)AT89C51讀入4位開關(guān)的輸入狀態(tài)(0F),并將其輸出到數(shù)碼管顯示。 2.用proteus 設(shè)計、仿真基于AT89C51單片機(jī)的開關(guān)控制LED數(shù)碼管實驗。 3.掌握I/O口的控制方法。二、PROTEUSPROTEUS電路設(shè)計電路設(shè)計 開關(guān)控制數(shù)碼管電路原理圖如圖2-1所示。整個設(shè)計都在ISIS平臺中進(jìn)行。圖圖2-1 2-1 開關(guān)控制數(shù)碼管電路原理圖開關(guān)控制數(shù)碼管電路原理圖1.1.從從PROTEUSPROTEUS庫中選取元器件庫中選取元器件AT89C51:單片機(jī)。RES、RX8:電阻(resistor)、8排阻。7SEG-COM-AN-GR

2、N:帶公共端的共陽7段綠色數(shù)碼管(從optoelectronics 光電子器件里選擇)。SW-SPST:帶所存的單刀單擲開關(guān),開關(guān)的合或斷可單擊向下或向上的知識箭頭實現(xiàn)。CAP、CAP-ELEC:電容,電解電容。CRYSTAL:晶振。 2.2.放置元器件、放置電源和地線、元器件屬性放置元器件、放置電源和地線、元器件屬性 設(shè)置、電氣檢測設(shè)置、電氣檢測所有操作都是在ISIS中進(jìn)行,其設(shè)計與實驗一相似,故不詳述。圖2-1中的元器件RN1、RN2是8電阻的排阻其中每個電阻的阻值都設(shè)置為200,如圖2-4所示:圖圖2-4 RN12-4 RN1屬屬性設(shè)置性設(shè)置三源程序設(shè)計、生成目標(biāo)代碼文件三源程序設(shè)計、生

3、成目標(biāo)代碼文件 1.1.流程圖流程圖本例源程序流程圖如圖本例源程序流程圖如圖2-52-5所示。設(shè)所示。設(shè)P2P2口為開關(guān)狀態(tài)口為開關(guān)狀態(tài)輸入口,輸入口,P1P1口為輸出顯示口??跒檩敵鲲@示口。設(shè)P2口為輸入口從P2口讀入低四位數(shù)據(jù)把數(shù)據(jù)轉(zhuǎn)換成段碼段碼送P1口顯示2.源程序設(shè)計源程序設(shè)計通過菜單”Source” / ”Add/Remove Source File”,新建源程序文件:DZC32.ASM。通過菜單”Source” / DZC32.ASM 打開PROTEUS提供的文本編輯器SRCEDIT,在其中編輯如下源程序;ORG 0ORG 30H;/*開始主程序*/STAR: MOV P1,#0F

4、FH;/將p1口置1ST1:MOV P2,#0FFH;/將p2口置1MOV A,P2;/讀p2口數(shù)據(jù)到寄存器AANL A,#0FH;/保留數(shù)據(jù)低4位,清高4位ACALL SEG7;/段內(nèi)調(diào)用子程序 SEG7MOV P1,A;/將A的值傳給p1口SJMP ST1;/短跳轉(zhuǎn)到ST1,繼續(xù)查詢SJMP STAR;/*子程序塊*;功能:將數(shù)據(jù)轉(zhuǎn)換成段碼 ,并查詢對應(yīng)按鍵對應(yīng)數(shù)值 ,然后通過查表方式用數(shù)碼管顯示;*/SEG7: INC A;/A中的值加1 MOVC A,A+PC;/將table中對應(yīng)值送給A RET;/*子程序塊*/;/*數(shù)據(jù)段可以寫在代碼段內(nèi),也可以單獨作為數(shù)據(jù)段放在代碼段前 定義變量

5、 */DB 0C0H,0F9H,0A4H,0B0HDB 99H,92H,82H,0F8HDB 80H,90H,88H,83HDB 0C6H,0A1H,86H,8EHEND程序編輯好后,單擊按鈕 存入文件DZC32.ASM 中。注意:匯編語言的注釋符為分號 和c、c+不同。3.3.生成目標(biāo)代碼文件生成目標(biāo)代碼文件通過菜單”Source” / “Build All” ,在”Program File ”欄中添加上面編譯好的目標(biāo)代碼文件DZC32.HEX。若編譯失敗,對程序修改調(diào)試至編譯成功。四四POTEUSPOTEUS仿真仿真 1.1.加載目標(biāo)代碼文件加載目標(biāo)代碼文件打開單片機(jī)屬性窗口,在”Prog

6、ram File” 欄中添加上面編譯好的目標(biāo)代碼文件DZC32.HEX;在”Clock Frequency” 欄中輸入晶振頻率12MHZ。注意:時鐘發(fā)生器中的晶振要設(shè)置頻率,單片機(jī)的晶振頻率也要設(shè)置。 2.2.仿真仿真單擊按鈕,啟動仿真。運行片段如圖2-2所示。開關(guān)斷開,輸入引腳電平為高;開關(guān)閉合,輸入引腳電平為低。若要更明白地看到引腳的電平高、低狀態(tài),可以單擊菜單”Systm ”/”Set Animation Option”,彈出如圖2-5所示對話框,選中顯示引腳邏輯狀態(tài)(圖中有的項)。此時的仿真運行片段如圖2-2 所示。圖2-2 共陽數(shù)碼管引腳布局及測試圖2-5 動態(tài)電路配置、顯示引腳邏輯狀態(tài)注釋:共陽極數(shù)碼管為低電平輸入時對應(yīng)的段亮,且讀數(shù)順序為1gfedcba,其引腳布局及測試如圖2-2、2-3所示。在實例中,當(dāng)引腳a、b、c、d、e、f為低電平時,對應(yīng)段亮,引腳g為高電平則不亮。 此時 p2=11110000 與后A=0000 0000 調(diào)用子程序后A=0000 0001 P1=1100 0000 即C0 顯示數(shù)字0若debug要時查看寄存器或端口值 ,可以點擊菜單”Debug ”/ “Watch Window” ,彈出如圖2-6所示的窗口,添加要查看的寄存器的name即可。圖2-6 Watch Window

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論