單片機(jī)實(shí)驗(yàn)答案.._第1頁
單片機(jī)實(shí)驗(yàn)答案.._第2頁
單片機(jī)實(shí)驗(yàn)答案.._第3頁
單片機(jī)實(shí)驗(yàn)答案.._第4頁
單片機(jī)實(shí)驗(yàn)答案.._第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、由于單片機(jī)具有高可靠性、超小型、低價(jià)格、容易產(chǎn)品化等特點(diǎn),在 儀器儀表智能化、實(shí)時(shí)工業(yè)控制、實(shí)時(shí)數(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ī)是一門實(shí)踐性很強(qiáng)的課程,提高教學(xué)質(zhì)量的一個(gè)重要環(huán)節(jié) 是上機(jī)實(shí)習(xí)和訓(xùn)練,無論是學(xué)習(xí)匯編語言程序設(shè)計(jì),還是學(xué)習(xí)接口電路和 外設(shè)與計(jì)算機(jī)的連接,或者軟硬兼施地研制單片機(jī)應(yīng)用系統(tǒng),不通過加強(qiáng) 動(dòng)手是不能獲得預(yù)期效果的。

2、本實(shí)驗(yàn)指導(dǎo)書提供了 9 個(gè)實(shí)驗(yàn)的指導(dǎo)性材料, 實(shí)驗(yàn)還有一些思考題,可以根據(jù)課時(shí)的安排和教學(xué)要求進(jìn)行取舍。為了達(dá) 到某些實(shí)驗(yàn)的目的,書中提供的參考程序與實(shí)際應(yīng)用中的程序會(huì)有些差 別,所以不一定是最優(yōu)的。由于時(shí)間緊迫,加上編者學(xué)識有限,如有不妥之處,歡迎讀者批評指 正。編者7實(shí)驗(yàn)須知1. 實(shí)驗(yàn)前必須閱讀教科書的有關(guān)部分和本實(shí)驗(yàn)指導(dǎo)書,了解實(shí)驗(yàn)?zāi)?的、內(nèi)容、步驟,做好實(shí)驗(yàn)前的準(zhǔn)備工作,編寫好實(shí)驗(yàn)中要求自編或修改 的程序;完成實(shí)驗(yàn)前要求完成的準(zhǔn)備工作后方可以上機(jī)實(shí)驗(yàn),否則不得上 機(jī)操作。2. 各種電源的電壓和極性不能接錯(cuò), 嚴(yán)禁帶電接線和接插元器件。通 電前須經(jīng)過指導(dǎo)教師檢查認(rèn)可后方能通電。3. 不準(zhǔn)

3、隨意撥弄各種與實(shí)驗(yàn)無關(guān)的旋鈕和開關(guān), 凡與本次實(shí)驗(yàn)無關(guān)的 任何設(shè)備都禁止動(dòng)用和摸弄,注意安全。4. 嚴(yán)禁用手觸摸實(shí)驗(yàn)系統(tǒng)印制電路板和元器件的引腳, 防止靜電擊穿H-R丄 芯片。5. 實(shí)驗(yàn)中若損壞儀器或元器件,應(yīng)及時(shí)向指導(dǎo)教師報(bào)告,聽候處理。6. 在實(shí)驗(yàn)室內(nèi)保持安靜和衛(wèi)生,不得隨意走動(dòng)和喧嘩,集中精力完成 實(shí)驗(yàn)。7. 實(shí)驗(yàn)完成后,關(guān)掉電源,及時(shí)整理實(shí)驗(yàn)臺桌面,保持環(huán)境整潔。8. 按規(guī)定認(rèn)真完成實(shí)驗(yàn)報(bào)告, 對實(shí)驗(yàn)中出現(xiàn)的現(xiàn)象進(jìn)行分析,在規(guī)定 的時(shí)間內(nèi)交上實(shí)驗(yàn)報(bào)告。9. 凡實(shí)驗(yàn)或?qū)嶒?yàn)報(bào)告未能按規(guī)定完成的學(xué)生, 不能參加本課程的考試 或考查。第一章實(shí)驗(yàn)系統(tǒng)介紹本實(shí)驗(yàn)系統(tǒng)采用EL-MUT-HI 型單片機(jī)

4、教學(xué)實(shí)驗(yàn)系統(tǒng)。1. 系統(tǒng)概述1)微處理器:89S51, P1 口、P3 口對用戶開放,供用戶使用。2)時(shí)鐘頻率:6.0MHz3) 存儲器:程序存儲器與數(shù)據(jù)存儲器統(tǒng)一編址,最多可達(dá)64KB,板載ROM (監(jiān)控 程序27C256)12KB ; RAM1 (程序存儲器6264)8KB供用戶下載實(shí)驗(yàn)程序, 可擴(kuò)展達(dá)32KB ; RAM2 (數(shù)據(jù)存儲器6264)8KB供用戶程序使用,可擴(kuò)展達(dá) 32KB。0000H-2FFFH為監(jiān)控程序存儲器區(qū), 用戶不可用。4000H-5FFFH為用戶實(shí)驗(yàn)程序 存儲區(qū),供用戶下載實(shí)驗(yàn)程序。數(shù)據(jù)存儲器的范圍為:6000H-7FFFH,供用戶實(shí)驗(yàn)程序使用。用戶在編寫實(shí)驗(yàn)程序

5、時(shí)要注意,程序的起始地址應(yīng)為 4000H ,所用的中斷入口地址均應(yīng)在原地址的基礎(chǔ)上,加上 4000H。用戶中斷入口地址見表1-1。表1-1:用戶中斷程序入口表中斷名稱8051原中斷程序入口用戶實(shí)驗(yàn)程序響應(yīng)程序入口外中斷00003H4003H定時(shí)器0中斷000BH400BH外中斷10013H4013H定時(shí)器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é)實(shí)驗(yàn)系統(tǒng)側(cè)面的的COM 口相連接。2) 啟動(dòng)EL-MUT-III型單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)的電源開關(guān),EL-MUT-III型單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)

8、面板上的LED顯示“ 199502 ”,幾秒后顯示P-。3) 雙擊桌面MCS51快捷圖標(biāo)如圖1-1,啟動(dòng)51實(shí)驗(yàn)系統(tǒng),啟動(dòng)后的界面如圖1-2。:MCS51圖1-1圖1-24)如需改變串口和波特率,在相應(yīng)列表框中修改。點(diǎn)擊“確定”按鈕后,立即實(shí)驗(yàn)系統(tǒng)面板上的“PRESET”鍵,面板上的LED顯示“C-”,同時(shí)PC機(jī)屏幕顯示“51 EL型(80C51) 教學(xué)實(shí)驗(yàn)環(huán)境”界面,如圖1-3。圖1-351 EL型(80C51)教學(xué)實(shí)驗(yàn)環(huán)境界面5) 通過“文件”菜單新建或打開匯編語言文件,也可通過工具按鈕口 新建匯編文件。 新建匯編文件的擴(kuò)展名為.ASM。6) 用“編譯”菜單下的匯編命令或工具按鈕刖 對匯編

9、文件進(jìn)行匯編。如有錯(cuò)誤,應(yīng) 對文件重新編輯,直至匯編無錯(cuò)誤為止。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)實(shí)驗(yàn)一 P1 口實(shí)驗(yàn)(一)、實(shí)驗(yàn)?zāi)康模?. 學(xué)習(xí)P1 口作為輸出口的使用方法。2延時(shí)子程序的編寫和使用。、實(shí)驗(yàn)設(shè)備:EL-MUT-HI型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊。、實(shí)驗(yàn)原理:實(shí)

10、驗(yàn)原理如圖2-1-1。ECR1R6E7圖2-1-1 P1 口輸出實(shí)驗(yàn)電路1. P1 口的使用方法P1 口為準(zhǔn)雙向口,每一位都能獨(dú)立地定義為輸入位或輸出位。作為輸入位時(shí),必須向 鎖存器相應(yīng)位寫入“ 1”。89S51在復(fù)位時(shí)所有口鎖存器均置為“1”,如果曾對口鎖存器寫過“0”,此時(shí)要使它作為一個(gè)輸入口,則應(yīng)再次寫入一個(gè)“1 ”。2. 延時(shí)程序的實(shí)現(xiàn)常用兩種方法實(shí)現(xiàn)延時(shí)程序,一是用定時(shí)器中斷來實(shí)現(xiàn),二是用指令循環(huán)來實(shí)現(xiàn)。 在系統(tǒng)時(shí)間允許的情況下可以采用后一種方法。本實(shí)驗(yàn)系統(tǒng)晶振為 6.0MHZ,則一個(gè)機(jī)器周期為 12% us=2 us。延時(shí)0.1s的程序如下:MOV R7 ,#X(1)DEL1 :M

11、OV R6 ,#200(2)DEL2 :DJNZ R6 ,DEL2(3)DJNZ R7 , DEL1(4)程序中X為延時(shí)值。指令MOV、DJNZ需兩個(gè)機(jī)器周期,所以每執(zhí)行一條指令需要4us。延時(shí)程序中X值應(yīng)滿足下式:64+ X( 4+200 4+4) =0.1 M0指令(1)時(shí)間 指令(2)時(shí)間 指令(3)時(shí)間 指令(4)時(shí)間故 X=123.75D=7CH。將X=123.75D=7CH代入上式,得到實(shí)際延時(shí)時(shí)間約為0.1002S。3程序流程圖:程序流程圖見圖2-1-2和圖2-1-3。開始|開始J1 !點(diǎn)亮LED點(diǎn)臺位g*延時(shí)0.1S延時(shí)0 1S片f熄滅LED左移位圖2-1-2點(diǎn)亮發(fā)光二極管程序

12、流程圖圖2-1-3左移循環(huán)點(diǎn)亮發(fā)光二極管程序流程圖四、實(shí)驗(yàn)內(nèi)容與步驟1 實(shí)驗(yàn)內(nèi)容:1) P1 口做輸出口,接八只發(fā)光二極管,根據(jù)程序流程圖2-1-2,編寫程序使P1 口 8個(gè) 發(fā)光二極管同時(shí)熄滅-延時(shí)-點(diǎn)亮。2) 根據(jù)程序流程圖1-3,編寫程序使P1 口 8個(gè)發(fā)光二極管每隔一個(gè)左移循環(huán)點(diǎn)亮。2. 實(shí)驗(yàn)步驟:1)將P1.0P1.7分別連接發(fā)光二極管 L1L8。2)按流程圖2-1-2編寫程序,對程序進(jìn)行編輯、匯編直至無語法錯(cuò)誤。3)調(diào)試程序:(1) 單步調(diào)試,觀察并記錄相應(yīng)寄存器內(nèi)容及發(fā)光二極管L1L8的狀態(tài)。(2) 全速運(yùn)行程序,觀察并記錄發(fā)光二極管L1L8的狀態(tài)。4) 重復(fù)2、3步驟,進(jìn)行實(shí)驗(yàn)

13、內(nèi)容 2的實(shí)驗(yàn)。五、實(shí)驗(yàn)報(bào)告1 寫出使P1 口 8個(gè)發(fā)光二極管同時(shí)熄滅-延時(shí)-點(diǎn)亮源程序清單,并對每條指令 給予注解。2 .寫出使P1 口 8個(gè)LED每隔一個(gè)(或二個(gè))左移循環(huán)點(diǎn)亮源程序清單,并對每條指 令給予注解。六、思考題1改變延時(shí)常數(shù),重做實(shí)驗(yàn)。2修改程序,使 LED 發(fā)光方式、方向等改變。七、參考程序:1點(diǎn)亮 8 個(gè) LED 程序清單ORG4000HLJMP STARTORG4100HSTART :MOVA , #00HMOVP1, A;點(diǎn)亮8個(gè) LEDLCALLDELAY;延時(shí)0.1 秒MOVA,#0FFHMOVP1,A;熄滅8 個(gè) LEDLCALLDELAY;延時(shí)0.1 秒JMPS

14、TARTDELAY: MOVR1, #124; 延時(shí)0.1秒DEL1:MOVR2,#200DEL2:DJNZR2,DEL2DJNZR1,DEL1RETEND2循環(huán)點(diǎn)亮 LED 程序清單ORG 4000HLJMP STARTORG4100HSTART :MOVA , #0FEHLOOP:MOVP1,A; 點(diǎn)亮 1 個(gè) LEDRL A; 左移一位,點(diǎn)亮下一個(gè)發(fā)光二極管LCALLDELAY;延時(shí) 0.1 秒JMPLOOPDELAY :MOV R1 , #124; 延時(shí) 0.1 秒DEL1:MOV R2 ,#200DEL2:DJNZR2,DEL2DJNZR1,DEL1RETEND50實(shí)驗(yàn)二 P1 口實(shí)

15、驗(yàn)(二)、實(shí)驗(yàn)?zāi)康?1. P1 口作為輸入口的使用方法。2掌握數(shù)據(jù)輸入、輸出程序的設(shè)計(jì)方法。、實(shí)驗(yàn)設(shè)備:EL-MUT-HI型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊三、實(shí)驗(yàn)原理:+571. P1 口作為輸入口實(shí)驗(yàn)原理見圖HMdM匚ISTO4K7JKBCLOCK2-2-1 。P0.0Pl 189S51P0 4*P15PCIF0.6Pl.7Pl.4PIO怕00U1DI0203U3 B 74LS273 D4 04B50506IT07L_245ED68-圖2-2-1 P1 口作為輸入口實(shí)驗(yàn)電路2程序流程圖:程序流程圖見圖2-2-2。將A的內(nèi)容送74LS273 顯示圖 2-2-2顯示P1 口狀態(tài)程序流程圖四、實(shí)

16、驗(yàn)內(nèi)容與步驟:1實(shí)驗(yàn)內(nèi)容:P1 口做輸入口:如圖2-2-1, P1 口的P1.0-P1.8分別接8個(gè)單刀雙鄭開關(guān) K1 K8 ,74LS273做輸出口接八個(gè) LED ,編寫程序讀取開關(guān) K1-K8 狀態(tài),并在 LED 上顯示出來。2實(shí)驗(yàn)步驟:1 )根據(jù)圖 2-2-1 連線, CS273 接 CS0。2)根據(jù)流程圖 2-2-2 編寫相應(yīng)程序,對程序進(jìn)行編輯、匯編直至無語法錯(cuò)誤。3) 調(diào)試程序,撥動(dòng)開關(guān)K1-K8 ,觀察并記錄程序運(yùn)行結(jié)果。五、實(shí)驗(yàn)報(bào)告 仿照實(shí)驗(yàn)一,寫出相應(yīng)的實(shí)驗(yàn)報(bào)告。六、思考題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)實(shí)驗(yàn)三 P1 口實(shí)驗(yàn)(三)、實(shí)驗(yàn)?zāi)康模?. 掌握P1 口既做輸入又做輸出的使用方法。2掌握分支程序的設(shè)計(jì)方法。、實(shí)驗(yàn)設(shè)備:EL-MUT-HI型單片機(jī)實(shí)驗(yàn)箱、8051CPU模

18、塊、實(shí)驗(yàn)原理:1. P1 口同時(shí)作輸入、輸出口電路原理見圖2-3-1。89S51J J ULruH三2-pP-圖2-3-1 P1 口同時(shí)作輸入、輸出口實(shí)驗(yàn)電路2程序流程圖:程序流程圖見圖2-3-2。四、實(shí)驗(yàn)內(nèi)容與步驟:1 實(shí)驗(yàn)內(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. 實(shí)驗(yàn)步驟:1)根據(jù)圖2-3-1連線。2)輸入相應(yīng)程序,對程序

19、進(jìn)行編輯、匯編直至無語法錯(cuò)誤。3)調(diào)試程序,撥動(dòng)開關(guān) K1-K2,觀察并記錄程序運(yùn)行結(jié)果。五、實(shí)驗(yàn)報(bào)告仿照實(shí)驗(yàn)一,寫出相應(yīng)的實(shí)驗(yàn)報(bào)告。六、思考題當(dāng)K1K2=11時(shí),左轉(zhuǎn)彎燈和右轉(zhuǎn)彎燈同時(shí)閃爍,程序應(yīng)如何修改?編程并調(diào)試。七、參考程序:;P1 口同時(shí)作輸入、輸出口實(shí)驗(yàn)程序ORG 4000HLJMP STARTORG 4100HSTART: SETB P1.0SETB P1.1;用于輸入時(shí)先置位口內(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全滅;此時(shí) K2 K1=0 0LJMPSTARTPRG1:MOVP1,#0F3H;只點(diǎn)亮 L5、L6 ,表示左轉(zhuǎn)彎ACALLDELAY;此時(shí) K2 K1=0 1MOVP1,#0FFH;熄滅 LED 0.5 秒ACALLDELAY;延時(shí) 0.5 秒LJMPSTARTPRG2:MOVP1,#0CFH;只點(diǎn)亮 L7、 L8,表示右轉(zhuǎn)彎ACALLDELAY;此時(shí) K2 K1=1 0MOVP1,#0FFH;熄滅 LED0.5 秒A

21、CALLDELAYLJMPSTARTPRG3:MOVP1,#00H; LED 全亮,此時(shí)K2 K1=1 1LJMPSTARTDELAY: MOVR1 , #5;延時(shí) 0.5 秒DEL1 :MOVR2,#200DEL2 :MOVR3,#126DEL3 :DJNZR3,DEL3DJNZR2, DEL2DJNZR1, DEL1RETEND實(shí)驗(yàn)四 中斷實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康模? 外部中斷技術(shù)的基本使用方法。2 中斷處理程序的編程方法。3 中斷嵌套處理程序的編程方法。、實(shí)驗(yàn)設(shè)備:EL-MUT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊、實(shí)驗(yàn)原理:1. 實(shí)驗(yàn)原理如圖 2-4-1 。GNDPl 3LED3LED4LE

22、D3LEDCLED7LED串89S51P1JP1J5P1.7RQn4半陽1_1*R6r-L1-J1f5V*圖2-4-1外部中斷實(shí)驗(yàn)電路2程序流程圖:程序流程圖見圖2-4-2。主程厚開始中斷服勞程序初始化閃爍褂數(shù)詼R08個(gè)LED閃爍5 rfc設(shè)定外部中斷0圖 2-4-2中斷返回K1中斷控制LED程序流程圖四、實(shí)驗(yàn)內(nèi)容與步驟:1 實(shí)驗(yàn)內(nèi)容:1)單一外部中斷控制:按 K1在INT0端產(chǎn)生中斷信號,從而使 P1的8個(gè)LED同時(shí)閃 爍5次。2) 兩級中斷控制(中斷嵌套):按K1使8個(gè)LED閃爍后,按K2使LED右循環(huán)點(diǎn)亮。3) 根據(jù)圖2-4-3,編寫程序:-丄的下降沿產(chǎn)生中斷,中斷服務(wù)程序?yàn)樽x入P1.4

23、 P1.7開關(guān)狀態(tài),并通過 P1.0 P1.3輸出。PL57 K2二一89S51T4LS132IWTOIXP圖 2-4-32. 實(shí)驗(yàn)步驟:1)按圖2-4-1連接線路。2)根據(jù)程序流程圖編寫程序,編輯程序并進(jìn)行匯編。3)用“單步連續(xù)運(yùn)行程序”命令運(yùn)行程序,觀察程序運(yùn)行等待中斷過程,在等待中斷過程時(shí),按K1(K2)鍵,觀察并記錄程序運(yùn)行過程和LED顯示情況。4)對實(shí)驗(yàn)內(nèi)容2編程,重復(fù)2-3步驟。觀察并記錄程序運(yùn)行結(jié)果。5)對實(shí)驗(yàn)內(nèi)容3編程,重復(fù)2-3步驟。觀察并記錄程序運(yùn)行結(jié)果。6) 在中端服務(wù)程序中設(shè)置斷點(diǎn),重復(fù)2-3步驟。觀察并記錄程序運(yùn)行結(jié)果。五、實(shí)驗(yàn)報(bào)告1 根據(jù)實(shí)驗(yàn)1內(nèi)容寫出相應(yīng)的實(shí)驗(yàn)報(bào)告

24、。2. 畫出實(shí)驗(yàn)內(nèi)容2的程序框圖3 對程序語句加以注解。六、思考題1. 中斷時(shí),需保護(hù)現(xiàn)場(如PSW, ACC等寄存器的內(nèi)容),中斷服務(wù)程序應(yīng)如何修改?2. 如何在程序中實(shí)現(xiàn) INT1的中斷優(yōu)先權(quán)高于INTO中斷優(yōu)先權(quán)? 七、參考程序:;實(shí)驗(yàn)四;INT0 中斷實(shí)驗(yàn)程序;主程序 8 個(gè) 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 個(gè) 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í)驗(yàn)五定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)(一)、實(shí)驗(yàn)?zāi)康模?掌握89S51內(nèi)部定時(shí)器、計(jì)數(shù)器的使用和編程方法。2定時(shí)器中斷處理程序的編程方法。、實(shí)驗(yàn)設(shè)備:EL-MUT-HI型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊、實(shí)驗(yàn)原理:P10PI.Pli1.實(shí)驗(yàn)原理如圖2-5-1 。ri389S51P1AXTAL1KTAL2P15PLUPl.T圖2-5-1定時(shí)器實(shí)驗(yàn)電路1)定時(shí)常數(shù)的確定采用定時(shí)器中斷方法可實(shí)現(xiàn)時(shí)間延時(shí),延時(shí)時(shí)間由主頻和定時(shí)器方式來確定

27、。本實(shí)驗(yàn)中時(shí)鐘頻率為 6.0 MHZ,其延時(shí)時(shí)間最大值約為0.13s (方式一下)。若要產(chǎn)生0.5秒延時(shí)時(shí)間,需采用定時(shí)器定時(shí)和軟件計(jì)數(shù)的方法來實(shí)現(xiàn)。為此我們可在主程序中設(shè)置軟件循環(huán)次數(shù)初值為 05H (用R0)的軟件計(jì)數(shù)器和定時(shí)時(shí)間為0.1s的定時(shí)器。這樣定時(shí)器每隔0.1s產(chǎn)生一次中斷,CPU響應(yīng)中斷后將 R0中計(jì)數(shù)值減一,即可實(shí)現(xiàn)0.5s延時(shí)。定時(shí)器時(shí)間常數(shù)的確定方法如下:機(jī)器周期=12晶振頻率=12/(6 XI06)=2 (us) =2 X10-6 (s)定時(shí)器工作于方式一,設(shè)計(jì)數(shù)初值為X,則有(216-X) X2 X10-6 s =0.1s,由此可求得X=15536D=3CB0H。故初

28、始值為 TH=3CH , TL=B0H2)初始化程序初始化程序包括定時(shí)器初始化和中斷系統(tǒng)初始化,即對IP、IE、TCON、TMOD的相應(yīng)位進(jìn)行正確的設(shè)置,并將時(shí)間常數(shù)送入定時(shí)器中。3)設(shè)計(jì)中斷服務(wù)程序和主程序中斷服務(wù)程序除了要完成計(jì)數(shù)減一工作外,還要將時(shí)間常數(shù)重新送入定時(shí)器中,為下一 次中斷做準(zhǔn)備。主程序則用來控制發(fā)光二極管按要求亮滅。2程序流程圖:程序流程圖見圖2-5-2。主程序II循環(huán)贈(zèng)5送R0等待中斷圖2-5-2 定時(shí)器TO中斷控制LED程序流程圖四、實(shí)驗(yàn)內(nèi)容與步驟:1 實(shí)驗(yàn)內(nèi)容:定時(shí)器工作于方式 1 ,每0.5秒LED1LED8閃爍。2. 實(shí)驗(yàn)步驟:1)按圖2-5-1連接線路。2)根據(jù)

29、程序流程圖編寫程序,編輯程序并進(jìn)行匯編。3) 運(yùn)行程序,觀察并記錄LED顯示情況。五、實(shí)驗(yàn)報(bào)告根據(jù)實(shí)驗(yàn)內(nèi)容寫出相應(yīng)的實(shí)驗(yàn)報(bào)告。(變化花樣可自行設(shè)計(jì)),六、思考題1. 用定時(shí)器工作方式 0或方式2,能否實(shí)現(xiàn)本實(shí)驗(yàn)功能?2 如能,修改程序并調(diào)試。3. 根據(jù)圖2-5-3,編寫用T0中斷控制LED閃爍5次的程序。主程序中斷服務(wù)程序開始設(shè)置TO為 定時(shí)器方式1送頷初fllOOmsJ循環(huán)i欠數(shù)5送R01熄天次數(shù)送R1JA=FFH(?C LED)1開TO中斷嵐ITO計(jì)馥1等待中斷圖2-5-3 定時(shí)器中斷返回TO中斷控制LED閃爍5次程序流程圖七、參考程序: ;實(shí)驗(yàn)五 定時(shí)器定時(shí)0.5S中斷實(shí)驗(yàn),LED閃爍,

30、R0 : 0.5s延時(shí)循環(huán)次數(shù)ORG4000HLJMPSTARTORG400BHLJMPT0INTORG4100HMOVTMOD, #01HMOVTH0, #3CHMOVTL0, #0B0HMOVA, #0FFHMOVP1, ASTART:SETBEASETBET0SETBTR0MOVR0, #05HSJMP$T0INT:CLRTR0DJNZR0, NEXTCPLAMOVP1, AMOVR0, #05HNEXT:MOVTH0, #3CHMOVTL0, #0B0HSETBTR0RETIEND;實(shí)驗(yàn)五1 LED閃爍5次,RO: 0.5s延時(shí)循環(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í)驗(yàn)六定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)(二)、實(shí)驗(yàn)?zāi)康模?. 8031外部計(jì)

32、數(shù)的使用和編程方法。2 中斷處理程序的編程方法。、實(shí)驗(yàn)設(shè)備:EL-MUT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊、實(shí)驗(yàn)原理:1. 實(shí)驗(yàn)原理如圖 2-6-1 。PlP3,4 PL1 TOP1389S51Pl.4LED4XTAL1XTAL2P1JPLj6PL7LED5 #圖2-6-1 計(jì)數(shù)器實(shí)驗(yàn)電路圖中74LS132、按鍵S和電阻組成一單脈沖發(fā)生器, P+端接89S51的TO端,按鍵每按 動(dòng)一次將在P+端產(chǎn)生一個(gè)負(fù)脈沖,從而在 TO端產(chǎn)生一次中斷請求,因此將 TO設(shè)置為計(jì)數(shù) 器方式即可對外部脈沖進(jìn)行計(jì)數(shù)。2程序流程圖:程序流程圖見圖2-6-2。四、實(shí)驗(yàn)內(nèi)容與步驟:1 實(shí)驗(yàn)內(nèi)容:定時(shí)器工作于方式

33、2,定時(shí)器每計(jì)5個(gè)脈沖使LED1LED8亮、滅一次(或發(fā)光方式 變化一次)。2. 實(shí)驗(yàn)步驟:1)按圖2-6-1連接線路。2)根據(jù)程序流程圖編寫程序,編輯程序并進(jìn)行匯編。3)運(yùn)行程序,觀察并記錄LED顯示情況。五、實(shí)驗(yàn)報(bào)告根據(jù)實(shí)驗(yàn)內(nèi)容寫出相應(yīng)的實(shí)驗(yàn)報(bào)告。主程序圖2-6-2用TO對外部脈沖進(jìn)行計(jì)數(shù)控制LED程序流程圖六、思考題1用定時(shí)器工作方式 0或方式2,能否實(shí)現(xiàn)本實(shí)驗(yàn)功能?2 如能,修改程序并調(diào)試。3采用查詢方式編寫程序,實(shí)現(xiàn)外部脈沖進(jìn)行計(jì)數(shù)控制LED。七、參考程序:;實(shí)驗(yàn)六 按右下角的“ PULSE ”按鍵5次,LED交替亮滅ORG4000HLJMPSTARTORG400BHLJMPT0IN

34、TORG4100HSTART:MOVTMOD, #06HMOVTH0,#0FBHMOVTL0,#0FBHMOVA,#00HSETBEASETBET0SETBTR0T0INT:SJMP $ MOV P1, A CPL A RETIEND實(shí)驗(yàn)七 8255A PB 口控制 PA 口實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康模?掌握8255A芯片的結(jié)構(gòu)及編程方法。2. 掌握8255A并行口讀取開關(guān)數(shù)據(jù)的方法。、實(shí)驗(yàn)設(shè)備:EL-MUT-HI型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊、實(shí)驗(yàn)原理:1. 實(shí)驗(yàn)原理如圖2-7-1 。+5VPOOPD LPO 2LED+5VFO S89S51PO.4FO.5U3GHTP0.6PO.7P3. 6 P3

35、.7B6DT8255RDRESETCS0PAIPJQPA3PAIPAfiPA7PBOPB1PBJPB3PB4PB5PB5PB7LED2LED51*圖2-7-18255A接口實(shí)驗(yàn)電路2程序流程圖:程序流程圖見圖2-7-2。圖2-7-28255A接口實(shí)驗(yàn)程序流程圖四、實(shí)驗(yàn)內(nèi)容步驟:1 實(shí)驗(yàn)內(nèi)容:8255A B 口作為開關(guān)量輸入口, A 口作為顯示輸出口。編寫程序讀取按紐開關(guān)狀態(tài),在 發(fā)光二極管上顯示出來。2. 實(shí)驗(yàn)步驟:1)按圖2-7-1連接線路。2)根據(jù)程序流程圖編寫程序,編輯程序并進(jìn)行匯編。3) 運(yùn)行程序,撥動(dòng)開關(guān)K1-K8,觀察并記錄LED顯示情況。五、實(shí)驗(yàn)報(bào)告根據(jù)實(shí)驗(yàn)內(nèi)容寫出相應(yīng)的實(shí)驗(yàn)報(bào)告

36、。六、參考程序:;實(shí)驗(yàn)七 8255A接口實(shí)驗(yàn),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;延時(shí)DEL0:MOVR6,

37、 #0FFHDEL1:DJNZR6, DEL1DJNZR7, DEL0JMPLOOPEND實(shí)驗(yàn)八 8位A/D轉(zhuǎn)換器ADC0809接口實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?1. 了解A/D轉(zhuǎn)換器ADC0809的工作原理。2. 掌握 ADC0809與89S51接口電路設(shè)計(jì)方法。3. 掌握A/D轉(zhuǎn)換程序編程方法。、實(shí)驗(yàn)設(shè)備:EL-MUT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊、數(shù)字萬用表、實(shí)驗(yàn)原理:1. 實(shí)驗(yàn)原理如圖2-8-1 。89S51IU5I1T11114IU&IUTCLOCKADD AADD EADD CDEDO2BT26互前匸2一$1Ll23CSOSO4EOC ALESTARTADCD809 74LS02圖

38、2-8-189S51 與 ADC0809 接 口電路2. 程序流程圖:根據(jù)A/D與單片機(jī)連接方式和控制系統(tǒng)本身要求的不同,實(shí)現(xiàn)A/D轉(zhuǎn)換的軟件設(shè)計(jì)方也不同。常用的控制方式有程序查詢、定時(shí)采樣和中斷方式。定時(shí)采樣方式程序流程圖見圖2-8-2。四、實(shí)驗(yàn)內(nèi)容與步驟1實(shí)驗(yàn)內(nèi)容1) 從 ADIN0 輸入模擬信號 VIN (05V),間隔為 0.25V (即 0V、0.25V0. 5V、0.75V5V )用萬用表電壓檔測量該模擬信號的大小。2)啟動(dòng)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. 實(shí)驗(yàn)步驟:1)按圖2-8-1連線。ADIN0接AN0,參考程序采用查詢法,因此ADC0809的EOC引腳不連接。2)通過“V.ARJ ”電位器調(diào)整加在INO通道的電壓,用數(shù)字萬用表進(jìn)行測量,從0V開始,間隔為0.25V。3) 輸入程序。對每個(gè)電壓值,運(yùn)行程序。轉(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ù)目(劉個(gè))五、實(shí)驗(yàn)報(bào)告1根據(jù)實(shí)驗(yàn)內(nèi)容寫出相應(yīng)的實(shí)驗(yàn)報(bào)告。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畫出中斷法流程圖,修改程序,重做實(shí)驗(yàn)。七、參考程序:;實(shí)驗(yàn)八 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 個(gè)內(nèi)部 RAM 單元 ,它們用 ;來存放被采集電壓的數(shù)據(jù)區(qū);30H-4FH 內(nèi)部 RAM 單元清 0 ;指向下一個(gè)單元; 32 個(gè)單元清 0 未完成 , 返回 LP 處繼續(xù)清 0 ;數(shù)據(jù)區(qū)首址送 R1 寄存器;采集數(shù)據(jù)的總數(shù) 14H( 20)送 R7 寄存器 ;IN0 通道地址 0CFA0H 送 DPTR 寄存器 ; 啟動(dòng) A/D 進(jìn)行轉(zhuǎn)換;設(shè)置延時(shí)時(shí)間; 延時(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)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論