單片機實驗指導(dǎo)書100111OK_第1頁
單片機實驗指導(dǎo)書100111OK_第2頁
單片機實驗指導(dǎo)書100111OK_第3頁
單片機實驗指導(dǎo)書100111OK_第4頁
單片機實驗指導(dǎo)書100111OK_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、東莞理工學(xué)院自編實驗教材單片機原理及應(yīng)用實 驗 指 導(dǎo) 書第二版 宋 躍 韓清濤 余熾業(yè) 張志堅 編著東莞理工學(xué)院電子工程學(xué)院二零一零年一月前 言在我院電子信息工程、通信工程本科等專業(yè)以及電子信息工程技術(shù)??频葘I(yè)的單片機原理及應(yīng)用、單片機與接口技術(shù)實驗教學(xué)中,為配合單片機與接口技術(shù)精品課程的建設(shè),為讓實驗教學(xué)與現(xiàn)有的實驗教學(xué)裝置、自制的單片機實驗開發(fā)系統(tǒng)結(jié)合起來, 同時在實驗教學(xué)中體現(xiàn)出創(chuàng)新與應(yīng)用,更有效地提高學(xué)生動手實踐能力, 切實提高學(xué)生的實踐與創(chuàng)新能力,特編寫此實驗指導(dǎo)書,該書是在第一版的基礎(chǔ)上進行了補充修訂,本書由宋躍任主編及編寫實驗二、六、八、十六,韓清濤編寫實驗三、七、十二、十三

2、,余熾業(yè)編寫實驗五、十、十一、十四,張志堅編寫實驗一、四、九、十五。由于時間倉促水平有限,文中肯定存在許多不妥之處,敬請各位專家、老師、同學(xué)不吝批評指正。感謝2005級電子本科吳進發(fā)、羅健清、黃光標等同學(xué),2007級電子??茝埓好鞯韧瑢W(xué)為本書所做的程序驗證、資料收集及文字編輯等工作。編者 2010年1月11日 于東莞理工學(xué)院電子工程學(xué)院目 錄基礎(chǔ)實驗實驗一 清零程序 3 實驗二 定時/計數(shù)器 5實驗三 P1口輸入輸出實驗 7實驗四 P3.0口輸入,P1口輸出 9實驗五 INT0中斷實驗 11實驗六 片選法實驗 13 實驗七 并行I/O口擴展實驗 15 實驗八 串行口擴展并行實驗 18 實驗九

3、8155接口芯片使用實驗 21 實驗十 8段數(shù)碼管顯示 25 實驗十一 點陣LED 實驗 29 綜合實驗 實驗十二 脈沖計數(shù) 32 實驗十三 8279使用實驗 36 實驗十四 A/D轉(zhuǎn)換實驗 42 實驗十五 D/A轉(zhuǎn)換實驗 46 實驗十六 定時計數(shù)器綜合性實驗 50 附錄附錄一 譯碼方法 52附錄二 常用芯片介紹 55附錄三 常用軟件介紹 691stc -isp -v3.5軟件說明 692Keil750.rar軟件說明 723HK-51仿真開發(fā)系統(tǒng)軟件說明 79基礎(chǔ)實驗實驗一 清零程序1.實驗?zāi)康模簩W(xué)習(xí)windows軟件模擬的調(diào)試方法。2.實驗內(nèi)容:把外部RAM(XDATA)的2000-20F

4、FH RAM空間置零。3.實驗器材:(1)超想3000仿真器 1 臺 (2)計算機 1臺 (3)超想-3000TB綜合實驗儀 1 臺4.準備工作: 軟件模擬功能已被作為評判仿真器性能高低的標準之一。作為初學(xué)者來說可在無仿真器的情況下,即開始實驗。作為實驗室來說,為達到一機多用之目的提供了條件。而對于開發(fā)者而言,不僅可在無仿真器的情況下,即開始編程調(diào)試,而且,在查找問題時,可為判斷是軟件問題還是硬件故障提供捷徑。超想3000仿真機提供了強勁軟件模擬功能。它可以模擬包括MCS51 5個中斷源在內(nèi)的所有CPU資源。5.程序框:6.實驗步驟: (1)把綜合實驗儀、仿真器與PC機串行口連起來,打開電源。

5、(2)在PC機上用鼠標點擊“Superimage51仿真機”圖標,進入Windows調(diào)試環(huán)境,選擇串行口,點擊“確認”。 (3)初始化系統(tǒng)設(shè)置:用鼠標點擊設(shè)置菜單,選擇CPU類型。并設(shè)置RAM和ROM的配置,點擊“確認”。(4)編輯文件:用鼠標點點擊文件|新文件,在文本編輯器中輸入以下參考程序(SY1.ASM): ORG 000H MOV R0,#00HMOV DPTR,#2000H ;空間首地址送DPTRLOOP:MOV A,#00H MOVX DPTR,A;清零 INC DPTR;DPTR加1 INC R0;字節(jié)數(shù)加1 CJNE R0,#00H,LOOP;連續(xù)清256個字節(jié)LOOP1: S

6、JMP LOOP1 END說明:此程序是把2000-20FFH空間清零。(5)文件保存:用鼠標點擊文件|存貯,在對話框中輸入文件名。 (6)文件編譯、連接、裝載:用鼠標點擊編譯|文件編譯、連接、裝載,系統(tǒng)自動進行編譯,并彈出信息窗口。若有語法錯誤,則需重新修正,需再次執(zhí)行文件編譯、連接、裝載;若無語法錯誤,點擊“確認”后,進入調(diào)試狀態(tài)。(7)設(shè)置觀察窗口:a、用鼠標點擊視圖|存貯空間1,編輯|數(shù)據(jù)存貯區(qū)用鼠標拖動CPU內(nèi)部滾動條,使地址為2000H后的數(shù)據(jù)顯示在桌面上,b、用鼠標點擊視圖|寄存器(8)單步執(zhí)行程序:按F8鍵一條一條地執(zhí)行下去,注意觀察寄存器區(qū)中相應(yīng)的寄存器或者CPU內(nèi)部存貯區(qū)中

7、相應(yīng)的數(shù)據(jù)寄存器單元的數(shù)據(jù)變化。(9)連續(xù)運行:用鼠標點擊調(diào)試|復(fù)位,使PC指向0000H,點擊調(diào)試|連續(xù)運行后,程序開始連續(xù)運行。如需暫停,用鼠標點擊調(diào)試|暫停。(10)斷點運行:要使程序執(zhí)行到某條指令處暫停,如希望程序執(zhí)行到LOOP1處暫停,可按如下操作:將光標移到LOOP1處按鼠標左鍵,即可設(shè)置斷點,用鼠標點擊調(diào)試|連續(xù)運行,程序?qū)⒃贚OOP行停止運行。(11)復(fù)位:用鼠標點擊調(diào)試|復(fù)位,強迫PC指向0000H。7.思考問題: 修改程序把4000H-5000H中內(nèi)容置55H。實驗二 定時/計數(shù)器1.實驗?zāi)康模簩W(xué)習(xí)WINDOWS軟件模擬的調(diào)試方法。 2.實驗內(nèi)容:定時/計數(shù)器的模擬調(diào)試。利

8、用定時器,在p1.0引腳上產(chǎn)生脈沖信號。3.實驗器材: (1)超想3000仿真器 1 臺 (2)計算機 1臺 (3)超想-3000TB綜合實驗儀 1 臺4.準備工作: MCS-51單片機有兩個16位的定時計數(shù)器T0和T1,它們都有定時和對外部事件進行計數(shù)的功能,可用于定時控制、對外部事件檢測和計數(shù)等場合。計數(shù)和定時實質(zhì)上都是對脈沖信號進行計數(shù),只不過脈沖源不同而已。當工作在定時方式時,計數(shù)脈沖來自單片機的內(nèi)部,即振蕩器信號12分頻后作計數(shù)脈沖,每個機器周期的時間使計數(shù)器加1,由于計數(shù)脈沖的頻率是固定的(即每個脈沖為1個機器周期的時間),故可通過設(shè)定計數(shù)值來實現(xiàn)定時功能;當工作在計數(shù)方式時,計數(shù)

9、脈沖來自單片機的引腳,每當引腳上出現(xiàn)一個脈沖時,計數(shù)器加1,從而實現(xiàn)計數(shù)功能??梢酝ㄟ^編程來指定定時/計數(shù)器的功能,以及它的工作方式。5實驗接線圖案:6.程序流程圖:6.實驗步驟: (1)參考實驗程序(SY2.ASM):ORG 0000h MOV TMOD,#60h ;T1計數(shù),工作方式2 MOV TH1,#0FEH ;賦初值 MOV TL1,#0FEH SETB TR1 ;啟動DEL: JBC TF1 ,REP ;查詢計數(shù)溢出 AJMP DELREP: CPL P1.0 ;取反 AJMP DEL END(2)文件保存:用鼠標點擊文件|存貯,在對話框中輸入文件名。 (3)文件編譯、連接、裝載:

10、用鼠標點擊編譯|文件編譯、連接、裝載,系統(tǒng)自動進行編譯,并彈出信息窗口。若有語法錯誤,則需重新修正,需再次執(zhí)行文件編譯、連接、裝載;若無語法錯誤,點擊“確認”后,進入調(diào)試狀態(tài)。 (4)設(shè)置觀察窗口: a、用鼠標點擊視圖|存貯空間1, b、用鼠標點擊視圖|寄存器 (5)單步執(zhí)行程序:按F8鍵一條一條地執(zhí)行下去,注意觀察寄存器區(qū)中相應(yīng)的寄存器或者CPU內(nèi)部存貯區(qū)中相應(yīng)的數(shù)據(jù)寄存器單元的數(shù)據(jù)變化。 (6)連續(xù)運行:用鼠標點擊調(diào)試|復(fù)位,使PC指向0000H,點擊調(diào)試|連續(xù)運行后,程序開始連續(xù)運行。如需暫停,用鼠標點擊調(diào)試|暫停。 (7)斷點運行:要使程序執(zhí)行到某條指令處暫停,如希望程序執(zhí)行到REP處

11、暫停,可按如下操作:將光標移到REP處按鼠標左鍵,即可設(shè)置斷點,用鼠標點擊調(diào)試|連續(xù)運行,程序?qū)⒃赗EP行停止運行。 (8)復(fù)位:用鼠標點擊調(diào)試|復(fù)位,強迫PC指向0000H。7.思考問題:開關(guān)來回撥4次才取反,程序應(yīng)如何修改實驗三 P1口輸入輸出實驗1. 實驗?zāi)康模?1)掌握P1口作為I/O口時的使用方法。 (2)理解讀引腳和讀鎖存器的區(qū)別。2.實驗內(nèi)容:用P1.3腳的狀態(tài)來控制P1.2的LED亮滅。 3.實驗器材:(1)超想-3000TB綜合實驗儀 1 臺 (2)超想3000仿真器 1 臺 (3)連線 若干 根 (4)計算機 1 臺 4.實驗原理:由8051組成的單片機系統(tǒng)通常情況下,P0

12、口分時復(fù)用作為地址、數(shù)據(jù)總線,P2口提供A15-A8即高8位地址,P3口用作第二功能,只有P1口通常用作I/0口。P1口是8位準雙向口,它的每一位都可獨立地定義為輸入或輸出,因此既可作為8位的并行I/O口,也可作為8位的輸入輸出端。當工作在輸入方式時,對應(yīng)位的鎖存器必須先置1,才能正確地讀到引腳上的信號,否則,執(zhí)行讀引腳指令時,若對應(yīng)位的鎖存器的值為0,讀的結(jié)果永遠為0。每個I/0端口都有兩種讀入,即讀鎖存器和讀引腳,讀引腳指令一般都是以I/0端口為源操作數(shù)的指令,如MOV C,P1.3,而讀鎖存器指令一般為“讀-修改-寫”指令,如ANL P1.3,C指令,請同學(xué)們在實驗中體會。圖示中,P1.

13、2作為輸出口,P1.3作為輸入口。5.接線圖案:6.程序框圖:7.實驗步驟: (1) 編寫程序?qū)崿F(xiàn)當P1.3為低電平時,發(fā)光管亮;P1.3為高電平時,發(fā)光管滅。 (2) 修改程序在執(zhí)行讀P1.3之前,先執(zhí)行CLR P1.3,觀察結(jié)果是否正確,分析在第二種情況下程序為什么不能正確執(zhí)行,理解讀引腳和讀鎖存器區(qū)別。8.參考程序(SY3.ASM): ORG 0000H ; CLR P1.3 DD1: JB P1.3,DD CLR P1.2 ; 熄滅 DD2: CALL DELY SJMP DD1 DD: SETB P1.2 ; 點亮 SJMP DD2 DELY: MOV R6,#00H ;延時 DEL

14、Y1: MOV R7,#00H DELY2: DJNZ R7,DELY2 DJNZ R6,DELY1 RET END9.思考問題:當P1.3為低電平時,發(fā)光管亮三次;P1.3為高電平時,發(fā)光管亮一次,怎樣改動程序? 實驗四 P3.0口輸入P1口輸出1.實驗?zāi)康模赫莆誔3口、P1口的簡單使用。2.實驗內(nèi)容:P3.0口輸入一脈沖,控制P1口按16進制加一方式點亮發(fā)光二極管。3.實驗器材:(1)超想-3000TB綜合實驗儀 1 臺 (2)超想3000仿真器 1 臺 (3)連線若干根 (4)計算機 1 臺 4.實驗原理:由8051組成的單片機系統(tǒng)通常情況下,P0口分時復(fù)用作為地址、數(shù)據(jù)總線,P2口提供

15、A15-A8即高8位地址,P3口用作第二功能,只有P1口通常用作I/0口。P1口是8位準雙向口,它的每一位都可獨立地定義為輸入或輸出,因此既可作為8位的并行I/O口,也可作為8位的輸入輸出端。當工作在輸入方式時,對應(yīng)位的鎖存器必須先置1,才能正確地讀到引腳上的信號,否則,執(zhí)行讀引腳指令時,若對應(yīng)位的鎖存器的值為0,讀的結(jié)果永遠為0。每個I/0端口都有兩種讀入,即讀鎖存器和讀引腳,讀引腳指令一般都是以I/0端口為源操作數(shù)的指令,如MOV C,P1.3,而讀鎖存器指令一般為“讀-修改-寫”指令,如ANL P1.3,C指令。5.實驗步驟:P3.0孔用連線連至K0,P1.0-P1.7孔連至L0-L7,

16、K0撥動一次,L0-L7發(fā)光二極管按16進制方式加一閃亮。 6. 接線圖案: 7.程序框圖:8.參考程序(SY4.ASM): ORG 0000H MOV A,#00H MOV P1,ALOOP1:JB P3.0,LOOP1 ;檢測P3.0是否回撥一次 MOV R2,#10H LCALL DELAY JB P3.0,LOOP1LOOP2:JNB P3.0,LOOP2 MOV R2,#10H LCALL DELAY JNB P3.0,LOOP2 INC A;加一閃亮 PUSH ACC MOV P1,A POP ACC AJMP LOOP1DELAY: PUSH 02H ;延時程序DELAY1:PU

17、SH 02HDELAY2:PUSH 02HDELAY3:DJNZ R2,DELAY3 POP 02H DJNZ R2,DELAY2 POP 02H DJNZ R2,DELAY1 POP 02H DJNZ R2,DELAY RET END9.思考問題: 加二閃亮?xí)r,程序該怎樣改動?實驗五INTO中斷實驗1.實驗?zāi)康模赫莆誐CS-51單片機中斷原理以及編程使用方法;理解下降沿中斷和低電平中斷的區(qū)別。2.實驗內(nèi)容: 編寫主程序,讀取K0狀態(tài),當其與地端閉合時(P1.3為低電平)初始化為下降沿中斷,反之,初始化為低電平中斷,且發(fā)光二極管滅;編寫中斷服務(wù)程序,使圖中的發(fā)光管閃爍5次,間隔250ms,即中

18、斷服務(wù)程序的執(zhí)行時間為2.5秒,退出中斷程序時,使發(fā)光管滅。3.實驗器材:(1)超想-3000TB綜合實驗儀 1 臺(2)超想3000仿真器 1 臺 (3)連線若干根 (4)計算機 1 臺 4.實驗原理: MCS-51單片機有5個中斷源,其中兩個是由/INT0、/INT1引腳輸入的外部中斷源;另外三個是內(nèi)部中斷源即由T0、T1的溢出引起中斷和串行口發(fā)送完一個字節(jié)或接收到一個字節(jié)數(shù)據(jù)引起中斷。觸發(fā)外部中斷有兩種方式,即下降沿引起中斷或低電平引起中斷。當編程TCON中的ITi為1時,則引起觸發(fā)的方式為邊沿觸發(fā)方式,反之為低電平觸發(fā)方式。每個中斷源的中斷請求能否得到響應(yīng)要受兩級“開關(guān)”的控制,即一個

19、總“開關(guān)”EA和五個分“開關(guān)”ES、ET1、EX1、ETO和EX0的控制,只有當EA為1,且對應(yīng)的分“開關(guān)”也為1時,相應(yīng)中斷源的中斷請求才能被響應(yīng)。5個中斷源可編程為兩個優(yōu)先級,同一優(yōu)級內(nèi)以/INT0的優(yōu)先級最高,然后是TO中斷、/INT1中斷、T1中斷和串行口中斷。5個中斷源對應(yīng)有個固定的中斷服務(wù)程序入口地址。CPU在每個機器周期順序采樣每個中斷源,如查詢到某個中斷源的中斷標志為1,中斷系統(tǒng)通過硬件自動將相應(yīng)的中斷矢量裝入PC,進入中斷服務(wù)程序。圖中的開關(guān)TR3為一帶鎖按鈕(在實驗儀“脈沖源”模塊中),在按下和松開按鈕時,“ ”孔的電平將發(fā)生變化,由此產(chǎn)生下降沿。5.接線方案: 說明:把“

20、總線插孔”框中的P1.2孔,P1.3孔,P3.2孔分別連“發(fā)光二極管組”的L0孔,“開關(guān)量發(fā)生器”的K0孔、“脈沖源”的“”孔6.程序框圖: 主程序流程:中斷處理程序流程: 7.實驗步驟:(1)把仿真器和超想-3000TB綜合實驗儀連接好,編寫程序,并運行。(2)首先將K0與地端相連,按按鈕TR3,使圖中“ ”點變成高電平,等2秒后再按按鈕TR3,使圖中“ ”點為低電平,重復(fù)以上操作,觀察發(fā)光管的閃爍情況。(3)然后將K0與VCC端相連,重新運行程序,重復(fù)上述的動作,觀察發(fā)光管閃爍情況。兩次的觀察結(jié)果是否一樣,為什么?(4)用萬用表測量圖中“ ”點的電平,按下TR3,然后松開,觀察該點電平的變

21、化。8參考程序(SY5.ASM):ORG 0000H SJMP MAINORG 0003H ;外中斷0入口地址LJMP INTER0MAIN:JB P1.3,MAIN1 ;判斷是電平觸發(fā)還是沿觸發(fā) CLR TCON.0 SJMP MAIN2MAIN1:SETB TCON.0 ;中斷初始化MAIN2:ORL IE,#81HORL IP,#02HSJMP MAININTER0: CLR EA ;中斷處理程序 SETB P1.2 LCALL DELY CLR P1.2 LCALL DELY SETB EA RETIDELY: MOV R6,#00H ;延時DELY1: MOV R7,#00HDELY

22、2: DJNZ R7,DELY2 DJNZ R6,DELY1 RET END9.思考問題: 要LED亮5次,程序應(yīng)如何改動?實驗六片選法實驗1.實驗?zāi)康模簩W(xué)習(xí)片選法中常用的譯碼法、線選法的方法。2.實驗內(nèi)容:利用74LS138“3-8” 譯碼器進行譯碼法實驗,選擇不同地址熄滅LED;利用線選法,選擇不同地址點亮LED3.實驗原理:MCS51外部程序存儲器一般由單片的EPROM電路組成,它獨占64K程序存儲器地址空間,因此不需要譯碼,將EPROM的片選端接地就可以了。擴展的數(shù)據(jù)存儲器和I/O接口一般由多片電路組成,它們共占64KB的數(shù)據(jù)存儲器地址空間,CPU是根據(jù)地址來選擇RAM/IO芯片以進行

23、信息交換的,它們的地址由地址譯碼的方法所確定的。全地址譯碼法:對于需要擴展較多RAM/IO的系統(tǒng),需采用全地址譯碼方法,低位地址線作為擴展電路的單元地址線(取外部電路中最多的地址線位數(shù)),對高位地址線用譯碼器譯碼,譯出片選信號。常用的譯碼器為:74LS139:“2- 4” 譯碼器 ;74LS138:“3- 8” 譯碼器 ;74LS154:“4-16” 譯碼器所謂線選法就是把某一位地址線直接連到擴展電路片選端,一般片選端低電平有效,只要這一位地址線為低電平,CPU就選中該電路進行讀/寫。采用線選法時,擴展RAM/IO的地址可以這樣確定:用作片選的地址線為0,RAM電路單元或I/O電路的端口地址線

24、由CPU的尋址所確定,而其它沒有用到的地址線為1。線選法的優(yōu)點是硬件簡單,但由于所用的片選信號線都是高位地址線,它們的權(quán)值比較大,因此,地址空間沒有被充分利用。線選法中,RAM/IO地址出現(xiàn)不銜接現(xiàn)象。4.功能分析:(1)74LS138“3-8”譯碼器的功能表:按實驗內(nèi)容要求:使得給予LED的片選地址分別:CS4=0000H,可把A15、A14、A13地址線分別接C、B、A,于是得到的地址空間為:(2)線選法:按實驗內(nèi)容要求,CS4=A13=0,故地址為:1101,0000,0000,0000B.接線圖案:6實驗步驟:(1)先按“譯碼法”接線圖案連接硬件,Y0 Y7接L0 L7,參考程序(SY

25、6.ASM)如下: ORG 0000Hloop: Mov dptr,#0001 1111 1111 1111B Movx dptr,a Sjmp loopEND運行程序運行程序并觀察結(jié)果。(2)再按“線選法”接線圖案連接硬件, A15接LED燈1,A14接LED燈2,CS4接LED燈3,A12接LED燈4,參考程序(SY6_2.ASM)如下:ORG 0000Hloop: Mov dptr,#1101 1111 1111 1111B Movx dptr,a Sjmp loopEND運行程序并觀察結(jié)果。 7.思考問題:線選法中地址1101 1111 1111 1111B有哪些位是可以修改的?實驗七

26、 并行I0口擴展實驗1實驗?zāi)康模海?)掌握MCS-51單片機系統(tǒng)擴展I/0口的方法。2. 實驗內(nèi)容:利用74LS244作為輸入口,讀取開關(guān)狀態(tài),并將此狀態(tài),通過74LS273再驅(qū)動發(fā)光二極管顯示出來。 3實驗器材:(1)超想-3000TB綜合實驗儀 1 臺 (2)超想3000仿真器 1 臺(3)連線 若干 根 (4)74LS244芯片 1 片(5)74LS273芯片 1 片 (6)萬用表 1 塊4實驗原理:8031單片機從理論上講具有4個I/0口即P0、P1、P2和P3,而實際使用時,P0分時復(fù)用為地址總線的低8位和數(shù)據(jù)總線,P2用作地址總線的高8位,P3經(jīng)常用作第二功能,真正作為并行I0口使

27、用的只有P1口。在許多實際的應(yīng)用系統(tǒng)中,常需要擴展I/O口。I/O接口電路一般具有輸出鎖存,輸入緩沖,與總線隔離等功能,單片機系統(tǒng)中擴展并行I/O口一般有三種方法:(1)采用專用的并行IO接口芯片如8155,8255等實現(xiàn);(2)通過串行口外接移位寄存器芯片如74LS164、74LS165等實現(xiàn);(3)通過外接鎖存器芯片74LS377、74LS273等芯片,并經(jīng)過總線隔離驅(qū)動芯片74LS245、74LS244隔離實現(xiàn)。本實驗中采用的正是上述的第三種方法。5.接線圖案:并行I0口擴展實驗接線圖6.程序框圖: 7.實驗步驟: (1)設(shè)定仿真模式為程序存儲器在仿真器上,數(shù)據(jù)存儲器指向用戶板。使用了綜

28、合實驗儀鎖緊插座。按接線方案連接電路。(2)硬件測試:(20)超想-3000TB+超想3000連PC機,在WINDOWS調(diào)試環(huán)境下打開數(shù)據(jù)存貯器區(qū),在0A000H地址(即74LS273的片選空間)上寫入55H或0AAH,則輸出發(fā)光二極管也應(yīng)顯示55H或AAH,否則,74LS273這一塊硬件電路有問題。然后按右鍵,彈出一窗口,點擊“刷新”,觀察0B000H(即74LS244的片選空間)地址上的值,應(yīng)與撥動開關(guān)狀態(tài)一致,否則,74LS244這一塊硬件電路有問題。(21)超想-3000TB+超想3000連PC機,在DOS調(diào)試環(huán)境下,把光標移入XDATA窗中,按Alt+G,在打開的“Goto Addr

29、ess”窗口中輸入“0B000H”,再按“回車”鍵,在0A000H地址上打入55H或0AAH,則輸出發(fā)光二極管也應(yīng)顯示55H或AAH,否則,74LS273這一塊硬件電路有問題。觀察0B000H(即74LS244的片選空間)地址上的值,應(yīng)與撥動開關(guān)狀態(tài)一致,否則,74LS244這一塊硬件電路有問題。(22)如選購了仿真板,則還可直接在超想-3000TB綜合實驗儀的鍵盤上進行硬件診斷:設(shè)定工作模式為模式2,即數(shù)碼管顯示為“PI EE”,然后按“MON”鍵使數(shù)碼管顯示為“ ”,輸入“A000”,按“+”,再輸入55H或0AAH,則輸出發(fā)光二極管也應(yīng)顯示55H或AAH,否則,74LS273這一塊硬件電

30、路有問題。按“MON”鍵,數(shù)碼管顯示返回“P”,輸入“B000”,按“+”,讀出的值應(yīng)與撥動開關(guān)狀態(tài)一致,否則,74LS244這一塊硬件電路有問題。(3)編寫并執(zhí)行程序,撥動K0-K7,觀察L0-L7是否對應(yīng)點亮。8.器件引腳:9.參考程序(SY7.ASM):ORG 0000HLOOP0: MOV DPTR,#0b000H ;讀出74LS244狀態(tài)MOVX A,DPTRMOV DPTR,#0a000H ;送74LS273驅(qū)動發(fā)光二極管MOVX DPTR,ASJMP LOOP0END10.思考問題:(1)可否用273輸入,244輸出。(2)當輸入開關(guān)為奇數(shù)個1時,發(fā)光二極管狀態(tài)循環(huán)點亮,當輸入開

31、關(guān)為偶數(shù)1時,發(fā)光二極管正確對應(yīng)輸入開關(guān)狀態(tài),程序怎樣修改。實驗八 串行口擴展并口實驗1實驗?zāi)康模海?)掌握MCS-51單片機串行口方式0時的工作原理。(2)了解方式0時的應(yīng)用,即通過串行口擴展輸出口,進行靜態(tài)顯示的方法。(3)掌握串行移位寄存器芯片74LS164的工作原理。2實驗內(nèi)容:編制程序使數(shù)碼管循環(huán)依次顯示0-f。3實驗器材:(1)超想-3000TB綜合實驗儀 1 臺 (2)超想3000仿真器 1 臺(3)連線 若干 根 (4)74LS164芯片 1 片4.接線圖案:串行口擴展實驗接線圖串行口擴展實驗原理圖5.程序框圖:6實驗原理:MCS-51單片機除了具有四個8位并行口外,還具有一個

32、全雙工的串行通信接口,該接口有4種工作方式,當工作于方式1、2和3時,作UART(通用異步接收和發(fā)送器),分別用以實現(xiàn)單片機系統(tǒng)之間點對點的單片機通信、多機通信和單片機系統(tǒng)與PC機之間的通信;當工作于方式0時,為同步移位寄存器輸入/輸出方式,常用于擴展IO口,這時串行數(shù)據(jù)通過RxD引腳輸入或輸出,引腳TxD輸出同步移位信號,收/發(fā)數(shù)據(jù)都為8位,低位在前,波特率為振蕩頻率的1/12。本實驗中通過74LS164實現(xiàn)串入并出。7.實驗步驟: (1)把超想3000-TB綜合實驗儀上U10(74LS240)上邊的跳線座用跳線器短接起來,使74LS240工作起來。拔下74LS164(U9,數(shù)碼管右側(cè)),插

33、入超想3000鎖緊插座,按圖示搭建好硬件電路。(2)設(shè)置仿真模式為程序存儲器留在仿真器,數(shù)據(jù)存儲器指向用戶空間。 8.參考程序(SY8.ASM): ORG 0000HMOV SCON,#0 ;置串行通訊為方式0 MOV DPTR,#DATE ;字形碼首址送 DPTRMAIN: MOV R0,#0h ;顯示字符從0-FMAIN1: MOV A,R0 MOVC A,A+DPTR ; CPL A MOV SBUF,AWAIT: JNB TI,WAIT CLR TI INC R0 MOV A,#05H ;置延時初值,延時1ms ACALL DELAY ;調(diào)用延時子程序 CJNE R0,#10H,MAI

34、N1 AJMP MAINDELAY: ;延時1ms子程序 MOV R7,2 ;500us*2=1msDLY0: MOV R6,50 ;2us*250=500us DJNZ R6,$ DJNZ R7,DLY0 DJNZ ACC,DELAY RETDATE: DB 0C0H,0F9H,0A4H,0B0H,099H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH END9.思考問題:顯示字符從F-0,程序應(yīng)怎樣修改?實驗九 8155接口芯片實驗1 實驗?zāi)康模海?)掌握MCS-51單片機系統(tǒng)IO口擴展方法。(2)掌握并行接口芯片8155的性能以及編程

35、使用方法。(3)了解軟件、硬件調(diào)試技術(shù)。2.實驗內(nèi)容:編寫并調(diào)試出一個程序,其功能是對8155初始化,使8155 PA口為輸入口,PB口為輸出口,并把一組數(shù)據(jù)寫入8155內(nèi)部RAM,當輸入開關(guān)為全0時,則按順序把8155內(nèi)部RAM數(shù)據(jù)讀出顯示,當輸入開關(guān)為非全0時,則直接把開關(guān)狀態(tài)在發(fā)光二極管上顯示出來。3.實驗器材:(1)超想-3000TB綜合實驗儀 1 臺(2)超想3000仿真器 1 臺(3)連線 若干 根(4)8155芯片 1 片(5)計算機 1 臺4實驗原理:MCS-51單片機的4個I/O口中,通常情況下,只有P1口作為I/O口使用,實際使用中經(jīng)常需要擴展I/O口,擴展I/O口方法之一

36、就是采用專用的I/O接口芯片如8155,8255等。本實驗中采用8155擴展了兩個輸出口、一個輸入口以實現(xiàn)鍵盤輸入和數(shù)碼管輸出??删幊滩⑿薪涌谛酒琁ntel 8155內(nèi)部含有256字節(jié)的靜態(tài),兩個并行8位口PA、PB,一個并行的6位口PC,以及一個14位的定時/計數(shù)器,是單片機系統(tǒng)最常用的接口芯片之一,掌握其性能與作用方法非常重要8155可直接與CPU接口,8155的RAM和I/O編址由IO/M和ALE鎖存的地址來控制,IO/M=0選擇RAM, 編址為00-FFH;IO/M=1對/8155的I/O口進行讀寫。8155內(nèi)部I/O編址如下:8155的命令字如下: PA、PB:定義口A、口B,0為輸

37、入,1為輸出 IEA、IEB:口A、口B中斷控制,1為允許,0為禁止 PC1、PC2:定義口C的工作方式 TM1、TM2:定時器命令具體實驗線路如下圖所示,實驗時需將實驗板上的P1和P2、P4和P6連接起來。5接線圖案:8155接口芯片使用實驗原理圖8155接口芯片使用實驗接線圖本實驗中8155編程為A口輸出,C口輸入,根據(jù)狀態(tài)控制字選擇方法得到8155方式字:01H。 6.程序框圖:7.實驗步驟: (1)設(shè)定仿真模式為程序存儲器在仿真器上,數(shù)據(jù)存儲器指向用戶板。8155的命令口為0E100H、A口為0E101H、B口為0E102H、C口為0E103H、定時器低8位定時器為0E104H、高6位

38、定時器為0E105H、8155內(nèi)部RAM 的地址為:0E000H-0E0FFH。(2)硬件測試:(20)超想-3000TB+超想3000連PC機,在WINDOWS調(diào)試環(huán)境下打開數(shù)據(jù)存貯器區(qū),在0E100H地址(即8155的片選空間)上寫入控制字01H,在0E101H(8155的A口)上打入55H、0AAH等數(shù)字,觀察LED的狀態(tài)是否正確。在0E100H以后的地址上輸入55H、0AAH等數(shù)字,然后按右鍵,彈出一窗口,點擊“刷新”,剛輸入的數(shù)據(jù)如有變化,則表明硬件有問題。(21)超想-3000TB+超想3000連PC機,在DOS調(diào)試環(huán)境下,把光標移入XDATA窗中,按Alt+G,在打開的“Goto

39、 Address”窗口中輸入“0E100H”,再按“回車”鍵,在0E000H地址上打入“01H”,對8155進行初始化,在0E101H(8155的A口)上打入55H、0AAH等數(shù)字,觀察LED的狀態(tài)是否正確。(22)如選購了仿真板,則還可直接在超想3000綜合實驗儀的鍵盤上進行硬件診斷:設(shè)定工作模式為模式2,即數(shù)碼管顯示為“PI EE”,然后按“MON”鍵使數(shù)碼管顯示為“ ”,輸入“E100”,按“+”,再輸入“01”,對8155進行初始化,再在“E101”(8155的A口)上打入55H、0AAH等數(shù)字,觀察LED的狀態(tài)是否正確。(3)編寫程序、編譯程序,用單步、斷點、連續(xù)方式調(diào)試程序,排除軟

40、件錯誤。運行程序,觀察輸入開關(guān)和輸出指示燈狀態(tài),直至達到本實驗的要求為止。8.參考程序(SY9.ASM): ORG 0000H MOV SP,#60H MOV R3,#00H MOV R4,#0E0H MOV DPTR,#0E100H;8155初始化,C口輸入、A口輸出 MOV A,#01H MOVX DPTR,A MOV DPTR,#0E00H;8155內(nèi)256個字節(jié)RAM送00-0FF的值 MOV A,#00HLOOP0: MOVX DPTR,A INC A INC DPTR MOV A,DPL CJNE A,#00H,LOOP0LOOP2: MOV DPTR,#0E103H;讀C口的值

41、MOVX A,DPTR ANL A,#0FH ;屏蔽高4位 JNZ LOOP1;輸入開關(guān)都是零嗎? MOV DPL,R3;若輸入開關(guān)都是零,則把RAM的內(nèi)容讀出, MOV DPH,R4 ;并送LED顯示 MOVX A,DPTR INC DPTR MOV R3,DPL MOV R4,DPH MOV DPTR,#0E101H ;送A口顯示 MOVX DPTR,A CALL DELAY MOV A,#0FFH MOVX DPTR,A SJMP LOOP2LOOP1: MOV DPTR,#0E101H;若輸入開關(guān)不都是零,則讀出開關(guān)量 MOVX DPTR,A ;并送LED直接顯示 SJMP LOOP2

42、DELAY: MOV R6,#00H;延時子程序DELAY1: MOV R7,#00HDELAY2: DJNZ R7,DELAY2 DJNZ R6,DELAY1 RET END9.思考問題:(1)試編寫程序,當輸入開關(guān)狀態(tài)為奇數(shù)個1時,輸出口則對應(yīng)輸入口狀態(tài),當輸入為偶數(shù)個1時為全0。 (2)試編寫程序,使用8155定時器,每隔1秒依次讀出RAM數(shù)據(jù),在PB口發(fā)光二極管上顯示。實驗十 八段數(shù)碼管顯示1.實驗?zāi)康? (1)了解數(shù)碼管動態(tài)顯示的原理。(2)了解74LS164擴展端口的方法。2.實驗內(nèi)容: 利用實驗儀提供的顯示電路,動態(tài)顯示一行數(shù)據(jù)。3.實驗線路:腳腳81、2反相器PA OUTBIT

43、PB0數(shù)據(jù)輸入PB1時鐘輸入說明:這里只是顯示草圖,詳細原理參見8155接口實驗4.實驗器材:(1)超想-3000TB綜合實驗儀 1 臺 (2)超想3000仿真器 1 臺 (3)計算機 1 臺5.實驗說明: ()本實驗儀提供了8段碼LED顯示電路,學(xué)生只要按地址輸出相應(yīng)數(shù)據(jù),就可以實現(xiàn)對顯示器的控制。顯示共有6位,用動態(tài)方式顯示。8段碼是由8155的PB0、PB1經(jīng)74LS164“串轉(zhuǎn)并”后輸出得到。6位位碼由8155的PA0口輸出,經(jīng)uA2003反向驅(qū)動后,選擇相應(yīng)顯示位。 74LS164是串行輸入并行輸出轉(zhuǎn)換電路,串行輸入的數(shù)據(jù)位由8155的PB0控制,時鐘位由8155的PB1控制輸出。寫

44、程序時,只要向數(shù)據(jù)位地址輸出數(shù)據(jù),然后向時鐘位地址輸出一高一低兩個電平就可以將數(shù)據(jù)位置到74LS164中,并且實現(xiàn)移位。向顯示位選通地址輸出高電平就可以點亮相應(yīng)的顯示位。 本實驗儀中數(shù)據(jù)位輸出地址為0e102H,時鐘位輸出地址為0e102H,位選通輸出地址為 0e101H。本實驗涉及到了8155 I0/RAM擴展芯片的工作原理以及74LS164器件的工作原理。()七段數(shù)碼管的字型代碼表如下表:顯示字形 gfedcba 段碼 0 0111111 3fh 1 0000110 06h 2 1011011 5bh 3 1001111 4fh 4 1100110 66h 5 1101101 6dh 6

45、1111101 7dh 7 0000111 07h 8 1111111 7fh 9 1101111 6fh A 1110111 77h b 1111100 7ch C 0111001 39h d 1011110 5eh E 1111001 79h F 1110001 71h 6程序框圖:7.參考程序(SY10.ASM):OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164時鐘位)DAT164 equ 0e102h ; 段控制口(接164數(shù)據(jù)位)IN equ 0e103h ; 鍵盤讀入口LEDBuf equ 60h ; 顯示緩沖Num equ 70h ; 顯示的數(shù)據(jù)DelayT

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論