![單片機(jī)實驗答案.._第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/10/68d01b7c-737c-4c11-b6fc-b288cae24d72/68d01b7c-737c-4c11-b6fc-b288cae24d721.gif)
![單片機(jī)實驗答案.._第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/10/68d01b7c-737c-4c11-b6fc-b288cae24d72/68d01b7c-737c-4c11-b6fc-b288cae24d722.gif)
![單片機(jī)實驗答案.._第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/10/68d01b7c-737c-4c11-b6fc-b288cae24d72/68d01b7c-737c-4c11-b6fc-b288cae24d723.gif)
![單片機(jī)實驗答案.._第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/10/68d01b7c-737c-4c11-b6fc-b288cae24d72/68d01b7c-737c-4c11-b6fc-b288cae24d724.gif)
![單片機(jī)實驗答案.._第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/10/68d01b7c-737c-4c11-b6fc-b288cae24d72/68d01b7c-737c-4c11-b6fc-b288cae24d725.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、由于單片機(jī)具有高可靠性、超小型、低價格、容易產(chǎn)品化等特點,在 儀器儀表智能化、實時工業(yè)控制、實時數(shù)據(jù)采集、智能終端、通信設(shè)備、 導(dǎo)航系統(tǒng)、家用電器等控制應(yīng)用領(lǐng)域,具有十分廣泛的用途。目前在國內(nèi) 單片機(jī)應(yīng)用中, MCS-51 系列單片機(jī)仍然是一種主流單片機(jī)。為配合單 片機(jī)應(yīng)用技術(shù) 課程的教學(xué), 使學(xué)生盡快了解、 掌握 89C51 單片機(jī)的使用, 特編寫了這本上機(jī)指導(dǎo)書(基礎(chǔ)篇) 。單片機(jī)是一門實踐性很強(qiáng)的課程,提高教學(xué)質(zhì)量的一個重要環(huán)節(jié) 是上機(jī)實習(xí)和訓(xùn)練,無論是學(xué)習(xí)匯編語言程序設(shè)計,還是學(xué)習(xí)接口電路和 外設(shè)與計算機(jī)的連接,或者軟硬兼施地研制單片機(jī)應(yīng)用系統(tǒng),不通過加強(qiáng) 動手是不能獲得預(yù)期效果的。
2、本實驗指導(dǎo)書提供了 9 個實驗的指導(dǎo)性材料, 實驗還有一些思考題,可以根據(jù)課時的安排和教學(xué)要求進(jìn)行取舍。為了達(dá) 到某些實驗的目的,書中提供的參考程序與實際應(yīng)用中的程序會有些差 別,所以不一定是最優(yōu)的。由于時間緊迫,加上編者學(xué)識有限,如有不妥之處,歡迎讀者批評指 正。編者7實驗須知1. 實驗前必須閱讀教科書的有關(guān)部分和本實驗指導(dǎo)書,了解實驗?zāi)?的、內(nèi)容、步驟,做好實驗前的準(zhǔn)備工作,編寫好實驗中要求自編或修改 的程序;完成實驗前要求完成的準(zhǔn)備工作后方可以上機(jī)實驗,否則不得上 機(jī)操作。2. 各種電源的電壓和極性不能接錯, 嚴(yán)禁帶電接線和接插元器件。通 電前須經(jīng)過指導(dǎo)教師檢查認(rèn)可后方能通電。3. 不準(zhǔn)
3、隨意撥弄各種與實驗無關(guān)的旋鈕和開關(guān), 凡與本次實驗無關(guān)的 任何設(shè)備都禁止動用和摸弄,注意安全。4. 嚴(yán)禁用手觸摸實驗系統(tǒng)印制電路板和元器件的引腳, 防止靜電擊穿H-R丄 芯片。5. 實驗中若損壞儀器或元器件,應(yīng)及時向指導(dǎo)教師報告,聽候處理。6. 在實驗室內(nèi)保持安靜和衛(wèi)生,不得隨意走動和喧嘩,集中精力完成 實驗。7. 實驗完成后,關(guān)掉電源,及時整理實驗臺桌面,保持環(huán)境整潔。8. 按規(guī)定認(rèn)真完成實驗報告, 對實驗中出現(xiàn)的現(xiàn)象進(jìn)行分析,在規(guī)定 的時間內(nèi)交上實驗報告。9. 凡實驗或?qū)嶒瀳蟾嫖茨馨匆?guī)定完成的學(xué)生, 不能參加本課程的考試 或考查。第一章實驗系統(tǒng)介紹本實驗系統(tǒng)采用EL-MUT-HI 型單片機(jī)
4、教學(xué)實驗系統(tǒng)。1. 系統(tǒng)概述1)微處理器:89S51, P1 口、P3 口對用戶開放,供用戶使用。2)時鐘頻率:6.0MHz3) 存儲器:程序存儲器與數(shù)據(jù)存儲器統(tǒng)一編址,最多可達(dá)64KB,板載ROM (監(jiān)控 程序27C256)12KB ; RAM1 (程序存儲器6264)8KB供用戶下載實驗程序, 可擴(kuò)展達(dá)32KB ; RAM2 (數(shù)據(jù)存儲器6264)8KB供用戶程序使用,可擴(kuò)展達(dá) 32KB。0000H-2FFFH為監(jiān)控程序存儲器區(qū), 用戶不可用。4000H-5FFFH為用戶實驗程序 存儲區(qū),供用戶下載實驗程序。數(shù)據(jù)存儲器的范圍為:6000H-7FFFH,供用戶實驗程序使用。用戶在編寫實驗程序
5、時要注意,程序的起始地址應(yīng)為 4000H ,所用的中斷入口地址均應(yīng)在原地址的基礎(chǔ)上,加上 4000H。用戶中斷入口地址見表1-1。表1-1:用戶中斷程序入口表中斷名稱8051原中斷程序入口用戶實驗程序響應(yīng)程序入口外中斷00003H4003H定時器0中斷000BH400BH外中斷10013H4013H定時器1中斷001BH401BH串行口中斷0023H4023H2. 資源分配本系統(tǒng)采用可編程邏輯器件(CPLD) EPM7128做為地址的譯碼。地址的編譯碼分為兩部分。一部分為系統(tǒng)CPLD,提供了系統(tǒng)器件(如監(jiān)控程序存儲器、用戶程序存儲器、數(shù)據(jù)存儲器、系統(tǒng)顯示控制器、系統(tǒng)串行通訊控制器等)的地址譯碼
6、 功能,此外還通過插孔 CS0、CS1、CS2、CS3、CS4、CS5提供固定的譯碼地址給用戶使用。 譯碼地址見表1-2。另一部分為用戶 CPLD,它完全對用戶開放, 用戶可通過芯片的 JTAG接口與PC機(jī)相連,對芯片進(jìn)行編程,得到譯碼地址,由插孔LCS0、LCS1、LCS2、LCS3、LCS4、LCS5、LCS6、LCS7輸出,供使用。表1 2: CPLD地址分配表地址范圍輸出孔/映射器件性質(zhì)(系統(tǒng)/用戶)0000H-2FFFH監(jiān)控程序存儲器系統(tǒng)*3000H-3FFFH數(shù)據(jù)存儲器系統(tǒng)*4000H-7FFFH用戶程序存儲器系統(tǒng)*8000H-CFDFHLCS0-LCS7用戶CFE0HPC機(jī)串行通
7、訊芯片 8250系統(tǒng)*CFE8H顯示、鍵盤芯片 8279系統(tǒng)CFA0H-CFA7HCS0系統(tǒng)CFA8H-CFAFHCS1系統(tǒng)CFB0H-CFB7HCS2系統(tǒng)CFB8H-CFBFHCS3系統(tǒng)CFC0H-CFC7HCS4系統(tǒng)CFC8H-CFCFHCS5系統(tǒng)CFD0H-FFFFHLCS0LCS7用戶注:系統(tǒng)地址中帶*”的表示用戶不可用,也不可改,其他系統(tǒng)地址用戶可用,但不可改。3. 系統(tǒng)使用方法RS232接口與 PC機(jī)1)用通信電纜將EL-MUT-III型單片機(jī)教學(xué)實驗系統(tǒng)側(cè)面的的COM 口相連接。2) 啟動EL-MUT-III型單片機(jī)教學(xué)實驗系統(tǒng)的電源開關(guān),EL-MUT-III型單片機(jī)教學(xué)實驗系統(tǒng)
8、面板上的LED顯示“ 199502 ”,幾秒后顯示P-。3) 雙擊桌面MCS51快捷圖標(biāo)如圖1-1,啟動51實驗系統(tǒng),啟動后的界面如圖1-2。:MCS51圖1-1圖1-24)如需改變串口和波特率,在相應(yīng)列表框中修改。點擊“確定”按鈕后,立即實驗系統(tǒng)面板上的“PRESET”鍵,面板上的LED顯示“C-”,同時PC機(jī)屏幕顯示“51 EL型(80C51) 教學(xué)實驗環(huán)境”界面,如圖1-3。圖1-351 EL型(80C51)教學(xué)實驗環(huán)境界面5) 通過“文件”菜單新建或打開匯編語言文件,也可通過工具按鈕口 新建匯編文件。 新建匯編文件的擴(kuò)展名為.ASM。6) 用“編譯”菜單下的匯編命令或工具按鈕刖 對匯編
9、文件進(jìn)行匯編。如有錯誤,應(yīng) 對文件重新編輯,直至匯編無錯誤為止。7) 用“調(diào)試”菜單下的“調(diào)試”命令或工具按鈕IBL進(jìn)入“調(diào)試”界面,如圖1-4。圖1-4“調(diào)試”界面8)用“調(diào)試”菜單下各調(diào)試命令,如圖1-5對匯編文件進(jìn)行調(diào)試,或用工具按鈕.對匯編文件進(jìn)行調(diào)試。工具按鈕的功能如圖1-6。圖1-59訃H3 I U HII; 卜血電B料滋irjamwsusy hem戦工曹 “g辱茶匱w 述必肖銅 霍囚跚第二章上機(jī)指導(dǎo)實驗一 P1 口實驗(一)、實驗?zāi)康模?. 學(xué)習(xí)P1 口作為輸出口的使用方法。2延時子程序的編寫和使用。、實驗設(shè)備:EL-MUT-HI型單片機(jī)實驗箱、8051CPU模塊。、實驗原理:實
10、驗原理如圖2-1-1。ECR1R6E7圖2-1-1 P1 口輸出實驗電路1. P1 口的使用方法P1 口為準(zhǔn)雙向口,每一位都能獨立地定義為輸入位或輸出位。作為輸入位時,必須向 鎖存器相應(yīng)位寫入“ 1”。89S51在復(fù)位時所有口鎖存器均置為“1”,如果曾對口鎖存器寫過“0”,此時要使它作為一個輸入口,則應(yīng)再次寫入一個“1 ”。2. 延時程序的實現(xiàn)常用兩種方法實現(xiàn)延時程序,一是用定時器中斷來實現(xiàn),二是用指令循環(huán)來實現(xiàn)。 在系統(tǒng)時間允許的情況下可以采用后一種方法。本實驗系統(tǒng)晶振為 6.0MHZ,則一個機(jī)器周期為 12% us=2 us。延時0.1s的程序如下:MOV R7 ,#X(1)DEL1 :M
11、OV R6 ,#200(2)DEL2 :DJNZ R6 ,DEL2(3)DJNZ R7 , DEL1(4)程序中X為延時值。指令MOV、DJNZ需兩個機(jī)器周期,所以每執(zhí)行一條指令需要4us。延時程序中X值應(yīng)滿足下式:64+ X( 4+200 4+4) =0.1 M0指令(1)時間 指令(2)時間 指令(3)時間 指令(4)時間故 X=123.75D=7CH。將X=123.75D=7CH代入上式,得到實際延時時間約為0.1002S。3程序流程圖:程序流程圖見圖2-1-2和圖2-1-3。開始|開始J1 !點亮LED點臺位g*延時0.1S延時0 1S片f熄滅LED左移位圖2-1-2點亮發(fā)光二極管程序
12、流程圖圖2-1-3左移循環(huán)點亮發(fā)光二極管程序流程圖四、實驗內(nèi)容與步驟1 實驗內(nèi)容:1) P1 口做輸出口,接八只發(fā)光二極管,根據(jù)程序流程圖2-1-2,編寫程序使P1 口 8個 發(fā)光二極管同時熄滅-延時-點亮。2) 根據(jù)程序流程圖1-3,編寫程序使P1 口 8個發(fā)光二極管每隔一個左移循環(huán)點亮。2. 實驗步驟:1)將P1.0P1.7分別連接發(fā)光二極管 L1L8。2)按流程圖2-1-2編寫程序,對程序進(jìn)行編輯、匯編直至無語法錯誤。3)調(diào)試程序:(1) 單步調(diào)試,觀察并記錄相應(yīng)寄存器內(nèi)容及發(fā)光二極管L1L8的狀態(tài)。(2) 全速運行程序,觀察并記錄發(fā)光二極管L1L8的狀態(tài)。4) 重復(fù)2、3步驟,進(jìn)行實驗
13、內(nèi)容 2的實驗。五、實驗報告1 寫出使P1 口 8個發(fā)光二極管同時熄滅-延時-點亮源程序清單,并對每條指令 給予注解。2 .寫出使P1 口 8個LED每隔一個(或二個)左移循環(huán)點亮源程序清單,并對每條指 令給予注解。六、思考題1改變延時常數(shù),重做實驗。2修改程序,使 LED 發(fā)光方式、方向等改變。七、參考程序:1點亮 8 個 LED 程序清單ORG4000HLJMP STARTORG4100HSTART :MOVA , #00HMOVP1, A;點亮8個 LEDLCALLDELAY;延時0.1 秒MOVA,#0FFHMOVP1,A;熄滅8 個 LEDLCALLDELAY;延時0.1 秒JMPS
14、TARTDELAY: MOVR1, #124; 延時0.1秒DEL1:MOVR2,#200DEL2:DJNZR2,DEL2DJNZR1,DEL1RETEND2循環(huán)點亮 LED 程序清單ORG 4000HLJMP STARTORG4100HSTART :MOVA , #0FEHLOOP:MOVP1,A; 點亮 1 個 LEDRL A; 左移一位,點亮下一個發(fā)光二極管LCALLDELAY;延時 0.1 秒JMPLOOPDELAY :MOV R1 , #124; 延時 0.1 秒DEL1:MOV R2 ,#200DEL2:DJNZR2,DEL2DJNZR1,DEL1RETEND50實驗二 P1 口實
15、驗(二)、實驗?zāi)康?1. P1 口作為輸入口的使用方法。2掌握數(shù)據(jù)輸入、輸出程序的設(shè)計方法。、實驗設(shè)備:EL-MUT-HI型單片機(jī)實驗箱、8051CPU模塊三、實驗原理:+571. P1 口作為輸入口實驗原理見圖HMdM匚ISTO4K7JKBCLOCK2-2-1 。P0.0Pl 189S51P0 4*P15PCIF0.6Pl.7Pl.4PIO怕00U1DI0203U3 B 74LS273 D4 04B50506IT07L_245ED68-圖2-2-1 P1 口作為輸入口實驗電路2程序流程圖:程序流程圖見圖2-2-2。將A的內(nèi)容送74LS273 顯示圖 2-2-2顯示P1 口狀態(tài)程序流程圖四、實
16、驗內(nèi)容與步驟:1實驗內(nèi)容:P1 口做輸入口:如圖2-2-1, P1 口的P1.0-P1.8分別接8個單刀雙鄭開關(guān) K1 K8 ,74LS273做輸出口接八個 LED ,編寫程序讀取開關(guān) K1-K8 狀態(tài),并在 LED 上顯示出來。2實驗步驟:1 )根據(jù)圖 2-2-1 連線, CS273 接 CS0。2)根據(jù)流程圖 2-2-2 編寫相應(yīng)程序,對程序進(jìn)行編輯、匯編直至無語法錯誤。3) 調(diào)試程序,撥動開關(guān)K1-K8 ,觀察并記錄程序運行結(jié)果。五、實驗報告 仿照實驗一,寫出相應(yīng)的實驗報告。六、思考題1圖 2-2-1 中芯片 74LS273 的作用是什么?2在圖 2-2-1 中,若 LED 反轉(zhuǎn) 1 8
17、00,電路和程序如何修改? 七、參考程序:通過 LED 將 P1 口的狀態(tài)顯示ORG0000HLJMPSTARTORG4100HSTART :MOVP1 , #0FFHLP:MOVA , P1MOVDPTR , #0CFA0HMOVXDPTR ,AJMPLPEND;設(shè)置 P1 口為輸入狀態(tài);P1 口的狀態(tài)讀入累加器 A; 74LS273 地址(輸出口地址)送 DPTR;A 的值送 LED 顯示;繼續(xù)循環(huán)監(jiān)測端口 P1 的狀態(tài)實驗三 P1 口實驗(三)、實驗?zāi)康模?. 掌握P1 口既做輸入又做輸出的使用方法。2掌握分支程序的設(shè)計方法。、實驗設(shè)備:EL-MUT-HI型單片機(jī)實驗箱、8051CPU模
18、塊、實驗原理:1. P1 口同時作輸入、輸出口電路原理見圖2-3-1。89S51J J ULruH三2-pP-圖2-3-1 P1 口同時作輸入、輸出口實驗電路2程序流程圖:程序流程圖見圖2-3-2。四、實驗內(nèi)容與步驟:1 實驗內(nèi)容:圖2-3-1為模擬汽車轉(zhuǎn)向燈控制電路圖,K1為左轉(zhuǎn)彎開關(guān),L5、L6做為左轉(zhuǎn)彎燈;K2為右轉(zhuǎn)彎開關(guān),L7、L8做為右轉(zhuǎn)彎燈。編寫程序?qū)崿F(xiàn)表2-3-1的功能。表2-3-1 :開關(guān) K1、K2功能表KIK2左轉(zhuǎn)彎燈(L5 L5)右轉(zhuǎn)爲(wèi)燈(L7、L3)00滅滅a1滅以一定頻率閃爍10以一定頻率閃爍滅iI亮亮2. 實驗步驟:1)根據(jù)圖2-3-1連線。2)輸入相應(yīng)程序,對程序
19、進(jìn)行編輯、匯編直至無語法錯誤。3)調(diào)試程序,撥動開關(guān) K1-K2,觀察并記錄程序運行結(jié)果。五、實驗報告仿照實驗一,寫出相應(yīng)的實驗報告。六、思考題當(dāng)K1K2=11時,左轉(zhuǎn)彎燈和右轉(zhuǎn)彎燈同時閃爍,程序應(yīng)如何修改?編程并調(diào)試。七、參考程序:;P1 口同時作輸入、輸出口實驗程序ORG 4000HLJMP STARTORG 4100HSTART: SETB P1.0SETB P1.1;用于輸入時先置位口內(nèi)鎖存器L0:MOVA,P1ANLA , #03H;從 P1 口讀入開關(guān)狀態(tài),取低兩位CJNEA ,#00H ,L1LJMPPRG0L1:CJNEA , #01H, L2LJMPPRG1L2:CJNEA
20、, #02H, L3LJMPPRG2L3:CJNEA , #03H, L4LJMPPRG3L4:LJMPL0PRG0:MOVP1,#0FFH;向P1 口輸出#OFFH, LED全滅;此時 K2 K1=0 0LJMPSTARTPRG1:MOVP1,#0F3H;只點亮 L5、L6 ,表示左轉(zhuǎn)彎ACALLDELAY;此時 K2 K1=0 1MOVP1,#0FFH;熄滅 LED 0.5 秒ACALLDELAY;延時 0.5 秒LJMPSTARTPRG2:MOVP1,#0CFH;只點亮 L7、 L8,表示右轉(zhuǎn)彎ACALLDELAY;此時 K2 K1=1 0MOVP1,#0FFH;熄滅 LED0.5 秒A
21、CALLDELAYLJMPSTARTPRG3:MOVP1,#00H; LED 全亮,此時K2 K1=1 1LJMPSTARTDELAY: MOVR1 , #5;延時 0.5 秒DEL1 :MOVR2,#200DEL2 :MOVR3,#126DEL3 :DJNZR3,DEL3DJNZR2, DEL2DJNZR1, DEL1RETEND實驗四 中斷實驗、實驗?zāi)康模? 外部中斷技術(shù)的基本使用方法。2 中斷處理程序的編程方法。3 中斷嵌套處理程序的編程方法。、實驗設(shè)備:EL-MUT-III型單片機(jī)實驗箱、8051CPU模塊、實驗原理:1. 實驗原理如圖 2-4-1 。GNDPl 3LED3LED4LE
22、D3LEDCLED7LED串89S51P1JP1J5P1.7RQn4半陽1_1*R6r-L1-J1f5V*圖2-4-1外部中斷實驗電路2程序流程圖:程序流程圖見圖2-4-2。主程厚開始中斷服勞程序初始化閃爍褂數(shù)詼R08個LED閃爍5 rfc設(shè)定外部中斷0圖 2-4-2中斷返回K1中斷控制LED程序流程圖四、實驗內(nèi)容與步驟:1 實驗內(nèi)容:1)單一外部中斷控制:按 K1在INT0端產(chǎn)生中斷信號,從而使 P1的8個LED同時閃 爍5次。2) 兩級中斷控制(中斷嵌套):按K1使8個LED閃爍后,按K2使LED右循環(huán)點亮。3) 根據(jù)圖2-4-3,編寫程序:-丄的下降沿產(chǎn)生中斷,中斷服務(wù)程序為讀入P1.4
23、 P1.7開關(guān)狀態(tài),并通過 P1.0 P1.3輸出。PL57 K2二一89S51T4LS132IWTOIXP圖 2-4-32. 實驗步驟:1)按圖2-4-1連接線路。2)根據(jù)程序流程圖編寫程序,編輯程序并進(jìn)行匯編。3)用“單步連續(xù)運行程序”命令運行程序,觀察程序運行等待中斷過程,在等待中斷過程時,按K1(K2)鍵,觀察并記錄程序運行過程和LED顯示情況。4)對實驗內(nèi)容2編程,重復(fù)2-3步驟。觀察并記錄程序運行結(jié)果。5)對實驗內(nèi)容3編程,重復(fù)2-3步驟。觀察并記錄程序運行結(jié)果。6) 在中端服務(wù)程序中設(shè)置斷點,重復(fù)2-3步驟。觀察并記錄程序運行結(jié)果。五、實驗報告1 根據(jù)實驗1內(nèi)容寫出相應(yīng)的實驗報告
24、。2. 畫出實驗內(nèi)容2的程序框圖3 對程序語句加以注解。六、思考題1. 中斷時,需保護(hù)現(xiàn)場(如PSW, ACC等寄存器的內(nèi)容),中斷服務(wù)程序應(yīng)如何修改?2. 如何在程序中實現(xiàn) INT1的中斷優(yōu)先權(quán)高于INTO中斷優(yōu)先權(quán)? 七、參考程序:;實驗四;INT0 中斷實驗程序;主程序 8 個 LED 熄滅,等待 INT0 中斷ORG 4000HLJMP STARTORG 4003HLJMP EXT0ORG 4013HLJMP LPTORG 4100HSTART:MOVA,#0FFHMOVBAH , ASETBEX0SETBEX1CLRIT0SETBEAMOVSP, #70HMOVA, #0FFHMOV
25、P1, ASJMP$DELAY:MOVR1, #5DEL1:MOVR2, #200DEL2:MOVR3, #126DEL3:DJNZR3, DEL3DJNZ R2, DEL2DJNZ R1, DEL1RET;INT0 中斷服務(wù)程序 :8 個 LED 閃爍 5 次。EXT0:MOVR0, #10MOVA, #00HLOOP:MOVP1, ACALLDELAYCPLAMOVP1, ADJNZR0, LOOPMOVA, #0FFHMOVP1, ARETILPT: MOV A ,#01HSHIF:LCALL FLASHRR ASJMP SHIFTFLASH: MOVP1,ALCALLDELATMOVP
26、1,#00HLCALLDELAYDJNZR2,FLASHRETDELAY: MOV R5,#200D1:MOV R6,#123NOPDJNZ R6,$DJNZ R5,D1 RET實驗五定時器/計數(shù)器實驗(一)、實驗?zāi)康模?掌握89S51內(nèi)部定時器、計數(shù)器的使用和編程方法。2定時器中斷處理程序的編程方法。、實驗設(shè)備:EL-MUT-HI型單片機(jī)實驗箱、8051CPU模塊、實驗原理:P10PI.Pli1.實驗原理如圖2-5-1 。ri389S51P1AXTAL1KTAL2P15PLUPl.T圖2-5-1定時器實驗電路1)定時常數(shù)的確定采用定時器中斷方法可實現(xiàn)時間延時,延時時間由主頻和定時器方式來確定
27、。本實驗中時鐘頻率為 6.0 MHZ,其延時時間最大值約為0.13s (方式一下)。若要產(chǎn)生0.5秒延時時間,需采用定時器定時和軟件計數(shù)的方法來實現(xiàn)。為此我們可在主程序中設(shè)置軟件循環(huán)次數(shù)初值為 05H (用R0)的軟件計數(shù)器和定時時間為0.1s的定時器。這樣定時器每隔0.1s產(chǎn)生一次中斷,CPU響應(yīng)中斷后將 R0中計數(shù)值減一,即可實現(xiàn)0.5s延時。定時器時間常數(shù)的確定方法如下:機(jī)器周期=12晶振頻率=12/(6 XI06)=2 (us) =2 X10-6 (s)定時器工作于方式一,設(shè)計數(shù)初值為X,則有(216-X) X2 X10-6 s =0.1s,由此可求得X=15536D=3CB0H。故初
28、始值為 TH=3CH , TL=B0H2)初始化程序初始化程序包括定時器初始化和中斷系統(tǒng)初始化,即對IP、IE、TCON、TMOD的相應(yīng)位進(jìn)行正確的設(shè)置,并將時間常數(shù)送入定時器中。3)設(shè)計中斷服務(wù)程序和主程序中斷服務(wù)程序除了要完成計數(shù)減一工作外,還要將時間常數(shù)重新送入定時器中,為下一 次中斷做準(zhǔn)備。主程序則用來控制發(fā)光二極管按要求亮滅。2程序流程圖:程序流程圖見圖2-5-2。主程序II循環(huán)贈5送R0等待中斷圖2-5-2 定時器TO中斷控制LED程序流程圖四、實驗內(nèi)容與步驟:1 實驗內(nèi)容:定時器工作于方式 1 ,每0.5秒LED1LED8閃爍。2. 實驗步驟:1)按圖2-5-1連接線路。2)根據(jù)
29、程序流程圖編寫程序,編輯程序并進(jìn)行匯編。3) 運行程序,觀察并記錄LED顯示情況。五、實驗報告根據(jù)實驗內(nèi)容寫出相應(yīng)的實驗報告。(變化花樣可自行設(shè)計),六、思考題1. 用定時器工作方式 0或方式2,能否實現(xiàn)本實驗功能?2 如能,修改程序并調(diào)試。3. 根據(jù)圖2-5-3,編寫用T0中斷控制LED閃爍5次的程序。主程序中斷服務(wù)程序開始設(shè)置TO為 定時器方式1送頷初fllOOmsJ循環(huán)i欠數(shù)5送R01熄天次數(shù)送R1JA=FFH(?C LED)1開TO中斷嵐ITO計馥1等待中斷圖2-5-3 定時器中斷返回TO中斷控制LED閃爍5次程序流程圖七、參考程序: ;實驗五 定時器定時0.5S中斷實驗,LED閃爍,
30、R0 : 0.5s延時循環(huán)次數(shù)ORG4000HLJMPSTARTORG400BHLJMPT0INTORG4100HMOVTMOD, #01HMOVTH0, #3CHMOVTL0, #0B0HMOVA, #0FFHMOVP1, ASTART:SETBEASETBET0SETBTR0MOVR0, #05HSJMP$T0INT:CLRTR0DJNZR0, NEXTCPLAMOVP1, AMOVR0, #05HNEXT:MOVTH0, #3CHMOVTL0, #0B0HSETBTR0RETIEND;實驗五1 LED閃爍5次,RO: 0.5s延時循環(huán)次數(shù),R1 :閃爍次數(shù)ORG4000HLJMPSTAR
31、TORG400BHLJMPT0INTORG4100HSTART:MOVTMOD, #01HMOVTH0, #3CHMOVTL0, #0B0HMOVR1, #10MOVA, #0FFHMOVP1, ASETBEASETBET0SETBTR0MOVR0, #05HSJMP$T0INT:CLRTR0DJNZR0, NEXTDJNZR1, LPMOVA, #0FFHMOVP1, ASJMPLP1LP:CPLAMOVP1, AMOVR0, #05HNEXT:MOVTH0, #3CHMOVTL0, #0B0HSETBTR0LP1:RETIEND實驗六定時器/計數(shù)器實驗(二)、實驗?zāi)康模?. 8031外部計
32、數(shù)的使用和編程方法。2 中斷處理程序的編程方法。、實驗設(shè)備:EL-MUT-III型單片機(jī)實驗箱、8051CPU模塊、實驗原理:1. 實驗原理如圖 2-6-1 。PlP3,4 PL1 TOP1389S51Pl.4LED4XTAL1XTAL2P1JPLj6PL7LED5 #圖2-6-1 計數(shù)器實驗電路圖中74LS132、按鍵S和電阻組成一單脈沖發(fā)生器, P+端接89S51的TO端,按鍵每按 動一次將在P+端產(chǎn)生一個負(fù)脈沖,從而在 TO端產(chǎn)生一次中斷請求,因此將 TO設(shè)置為計數(shù) 器方式即可對外部脈沖進(jìn)行計數(shù)。2程序流程圖:程序流程圖見圖2-6-2。四、實驗內(nèi)容與步驟:1 實驗內(nèi)容:定時器工作于方式
33、2,定時器每計5個脈沖使LED1LED8亮、滅一次(或發(fā)光方式 變化一次)。2. 實驗步驟:1)按圖2-6-1連接線路。2)根據(jù)程序流程圖編寫程序,編輯程序并進(jìn)行匯編。3)運行程序,觀察并記錄LED顯示情況。五、實驗報告根據(jù)實驗內(nèi)容寫出相應(yīng)的實驗報告。主程序圖2-6-2用TO對外部脈沖進(jìn)行計數(shù)控制LED程序流程圖六、思考題1用定時器工作方式 0或方式2,能否實現(xiàn)本實驗功能?2 如能,修改程序并調(diào)試。3采用查詢方式編寫程序,實現(xiàn)外部脈沖進(jìn)行計數(shù)控制LED。七、參考程序:;實驗六 按右下角的“ PULSE ”按鍵5次,LED交替亮滅ORG4000HLJMPSTARTORG400BHLJMPT0IN
34、TORG4100HSTART:MOVTMOD, #06HMOVTH0,#0FBHMOVTL0,#0FBHMOVA,#00HSETBEASETBET0SETBTR0T0INT:SJMP $ MOV P1, A CPL A RETIEND實驗七 8255A PB 口控制 PA 口實驗、實驗?zāi)康模?掌握8255A芯片的結(jié)構(gòu)及編程方法。2. 掌握8255A并行口讀取開關(guān)數(shù)據(jù)的方法。、實驗設(shè)備:EL-MUT-HI型單片機(jī)實驗箱、8051CPU模塊、實驗原理:1. 實驗原理如圖2-7-1 。+5VPOOPD LPO 2LED+5VFO S89S51PO.4FO.5U3GHTP0.6PO.7P3. 6 P3
35、.7B6DT8255RDRESETCS0PAIPJQPA3PAIPAfiPA7PBOPB1PBJPB3PB4PB5PB5PB7LED2LED51*圖2-7-18255A接口實驗電路2程序流程圖:程序流程圖見圖2-7-2。圖2-7-28255A接口實驗程序流程圖四、實驗內(nèi)容步驟:1 實驗內(nèi)容:8255A B 口作為開關(guān)量輸入口, A 口作為顯示輸出口。編寫程序讀取按紐開關(guān)狀態(tài),在 發(fā)光二極管上顯示出來。2. 實驗步驟:1)按圖2-7-1連接線路。2)根據(jù)程序流程圖編寫程序,編輯程序并進(jìn)行匯編。3) 運行程序,撥動開關(guān)K1-K8,觀察并記錄LED顯示情況。五、實驗報告根據(jù)實驗內(nèi)容寫出相應(yīng)的實驗報告
36、。六、參考程序:;實驗七 8255A接口實驗,A 口顯示輸出口, B 口作為開關(guān)量輸入口ORG 4000HLJMP STARTORG4100HPAEQU0CFA0HPBEQU0CFA1HPCTLEQU0CFA3HSTART: MOV DPTR, #PCTL ;置 8255A 控制字,A、B、C 口均工作方式 0, ;A、C 口為輸出,B 口為輸入MOV A, #82HMOVXDPTR, ALOOP:MOVDPTR, #PB;從 B 口讀入開關(guān)狀態(tài)值MOVXA, DPTRMOVDPTR, # PA;從 A 口將狀態(tài)值輸出顯示MOVXDPTR, AMOVR7, #10H;延時DEL0:MOVR6,
37、 #0FFHDEL1:DJNZR6, DEL1DJNZR7, DEL0JMPLOOPEND實驗八 8位A/D轉(zhuǎn)換器ADC0809接口實驗、實驗?zāi)康?1. 了解A/D轉(zhuǎn)換器ADC0809的工作原理。2. 掌握 ADC0809與89S51接口電路設(shè)計方法。3. 掌握A/D轉(zhuǎn)換程序編程方法。、實驗設(shè)備:EL-MUT-III型單片機(jī)實驗箱、8051CPU模塊、數(shù)字萬用表、實驗原理:1. 實驗原理如圖2-8-1 。89S51IU5I1T11114IU&IUTCLOCKADD AADD EADD CDEDO2BT26互前匸2一$1Ll23CSOSO4EOC ALESTARTADCD809 74LS02圖
38、2-8-189S51 與 ADC0809 接 口電路2. 程序流程圖:根據(jù)A/D與單片機(jī)連接方式和控制系統(tǒng)本身要求的不同,實現(xiàn)A/D轉(zhuǎn)換的軟件設(shè)計方也不同。常用的控制方式有程序查詢、定時采樣和中斷方式。定時采樣方式程序流程圖見圖2-8-2。四、實驗內(nèi)容與步驟1實驗內(nèi)容1) 從 ADIN0 輸入模擬信號 VIN (05V),間隔為 0.25V (即 0V、0.25V0. 5V、0.75V5V )用萬用表電壓檔測量該模擬信號的大小。2)啟動A/D轉(zhuǎn)換。用轉(zhuǎn)換后數(shù)字量與萬用表測量結(jié)果進(jìn)行比較。3) 用模擬電壓作橫坐標(biāo),轉(zhuǎn)換后的數(shù)字量作縱坐標(biāo)作D-V圖,找出ADC0809的數(shù)字 量輸出值D (換算為十
39、進(jìn)制叔) 與模擬量輸入值 VIN之間的關(guān)系。檢查A/D轉(zhuǎn)換的線性度。2. 實驗步驟:1)按圖2-8-1連線。ADIN0接AN0,參考程序采用查詢法,因此ADC0809的EOC引腳不連接。2)通過“V.ARJ ”電位器調(diào)整加在INO通道的電壓,用數(shù)字萬用表進(jìn)行測量,從0V開始,間隔為0.25V。3) 輸入程序。對每個電壓值,運行程序。轉(zhuǎn)換后的數(shù)字量保存于30H開始的單元。4)讀取30H開始的單元中的數(shù)據(jù),并填入表格。VIN (V)0.000.250.500.751.001.251.501.752.002.25VOUT(H)VOUT(D)VIN (V)2.502.753.003.253.503.7
40、54.004.254.504.755.00VOUT(H)VOUT(D)將30H-40H單元內(nèi)容涪0,設(shè)萱采集電壓量閔數(shù)目(劉個)五、實驗報告1根據(jù)實驗內(nèi)容寫出相應(yīng)的實驗報告。2用模擬電壓作橫坐標(biāo),轉(zhuǎn)換后的數(shù)字量作縱坐標(biāo)作D-V圖,找出ADC0809的數(shù)字量輸出值D (換算為十進(jìn)制叔) 與模擬量輸入值 VIN之間的關(guān)系。檢查A/D轉(zhuǎn)換的線性度。六、思考題1若轉(zhuǎn)換后的數(shù)字量保存于外部RAM 4300H開始單元,程序應(yīng)如何修改 ?上機(jī)調(diào)試。2 若程序采用中斷法,電路應(yīng)如何連接?3畫出中斷法流程圖,修改程序,重做實驗。七、參考程序:;實驗八 A/D采樣程序ORG 4000HLJMP START;開始執(zhí)
41、行第一條指令的地址;跳轉(zhuǎn)到主程序START:MOVR1, #30HMOVR6, #20HMOVA, #00HLP:MOVR1, AINCR1DJNZR6, LPMOVR1, #30HMOVR7, #14HMOVDPTR, #0CFA0HCAIJI:MOVXDPTR, ALP1:MOVR2, # 40HWAIT:DJNZR2, WAITMOVXA, DPTRMOV R1, AINCR1CW:DJNZR7, CAIJISJMP$ENDORG 4100H;主程序的地址;指向內(nèi)部 RAM 20H 單元;30H-4FH 共 32 個內(nèi)部 RAM 單元 ,它們用 ;來存放被采集電壓的數(shù)據(jù)區(qū);30H-4FH 內(nèi)部 RAM 單元清 0 ;指向下一個單元; 32 個單元清 0 未完成 , 返回 LP 處繼續(xù)清 0 ;數(shù)據(jù)區(qū)首址送 R1 寄存器;采集數(shù)據(jù)的總數(shù) 14H( 20)送 R7 寄存器 ;IN0 通道地址 0CFA0H 送 DPTR 寄存器 ; 啟動 A/D 進(jìn)行轉(zhuǎn)換;設(shè)置延時時間; 延時等待 A/D 轉(zhuǎn)換結(jié)束; 讀 A/D 轉(zhuǎn)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ppp停車 合同范例
- 辦公家具采購合同范例
- 與公司相關(guān)合同范本文檔
- 2025年度農(nóng)業(yè)種植灌溉設(shè)備租賃與維護(hù)服務(wù)合同
- 北京蓋民房合同范本
- 從黔東南苗侗民族文化的傳承現(xiàn)狀看民族文化的發(fā)展觀
- 中標(biāo)合同范本
- 專屬藝人合同范本
- 勞務(wù)分包補(bǔ)充合同范本
- 亮化出租維修合同范本
- 中華人民共和國學(xué)前教育法-知識培訓(xùn)
- 2024統(tǒng)編版初中八年級語文上冊第五單元:大單元整體教學(xué)設(shè)計
- 小記者新聞寫作培訓(xùn)
- 【《智慧城市建設(shè)中電子政務(wù)建設(shè)問題及完善策略一以瀘州市為例》9000字(論文)】
- IPO項目盡職調(diào)查清單(詳細(xì))
- ETL開發(fā)工程師招聘面試題及回答建議2025年
- 2023年新高考(新課標(biāo))全國2卷數(shù)學(xué)試題真題(含答案解析)
- 肝硬化肝性腦病診療指南(2024年版)解讀
- 四年級數(shù)學(xué)(上)計算題專項練習(xí)及答案
- 《會展服務(wù)與管理》教學(xué)大綱
- 虛擬試妝鏡技術(shù)應(yīng)用指南
評論
0/150
提交評論