




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、前 言 由于單片機(jī)具有高可靠性、超小型、低價(jià)格、容易產(chǎn)品化等特點(diǎn),在儀器儀表智能化、實(shí)時(shí)工業(yè)控制、實(shí)時(shí)數(shù)據(jù)采集、智能終端、通信設(shè)備、導(dǎo)航系統(tǒng)、家用電器等控制應(yīng)用領(lǐng)域,具有十分廣泛的用途。目前在國(guó)內(nèi)單片機(jī)應(yīng)用中,MCS-51系列單片機(jī)仍然是一種主流單片機(jī)。為配合單片機(jī)應(yīng)用技術(shù)課程的教學(xué),使學(xué)生盡快了解、掌握89C51單片機(jī)的使用,特編寫(xiě)了這本上機(jī)指導(dǎo)書(shū)(基礎(chǔ)篇)。 單片機(jī)是一門(mén)實(shí)踐性很強(qiáng)的課程,提高教學(xué)質(zhì)量的一個(gè)重要環(huán)節(jié)是上機(jī)實(shí)習(xí)和訓(xùn)練,無(wú)論是學(xué)習(xí)匯編語(yǔ)言程序設(shè)計(jì),還是學(xué)習(xí)接口電路和外設(shè)與計(jì)算機(jī)的連接,或者軟硬兼施地研制單片機(jī)應(yīng)用系統(tǒng),不通過(guò)加強(qiáng)動(dòng)手是不能獲得預(yù)期效果的。本實(shí)驗(yàn)指導(dǎo)書(shū)提供了9個(gè)實(shí)
2、驗(yàn)的指導(dǎo)性材料,實(shí)驗(yàn)還有一些思考題,可以根據(jù)課時(shí)的安排和教學(xué)要求進(jìn)行取舍。為了達(dá)到某些實(shí)驗(yàn)的目的,書(shū)中提供的參考程序與實(shí)際應(yīng)用中的程序會(huì)有些差別,所以不一定是最優(yōu)的。 由于時(shí)間緊迫,加上編者學(xué)識(shí)有限,如有不妥之處,歡迎讀者批評(píng)指正。 編 者實(shí) 驗(yàn) 須 知1. 實(shí)驗(yàn)前必須閱讀教科書(shū)的有關(guān)部分和本實(shí)驗(yàn)指導(dǎo)書(shū),了解實(shí)驗(yàn)?zāi)康?、?nèi)容、步驟,做好實(shí)驗(yàn)前的準(zhǔn)備工作,編寫(xiě)好實(shí)驗(yàn)中要求自編或修改的程序;完成實(shí)驗(yàn)前要求完成的準(zhǔn)備工作后方可以上機(jī)實(shí)驗(yàn),否則不得上機(jī)操作。2. 各種電源的電壓和極性不能接錯(cuò),嚴(yán)禁帶電接線(xiàn)和接插元器件。通電前須經(jīng)過(guò)指導(dǎo)教師檢查認(rèn)可后方能通電。3. 不準(zhǔn)隨意撥弄各種與實(shí)驗(yàn)無(wú)關(guān)的旋鈕和開(kāi)關(guān),
3、凡與本次實(shí)驗(yàn)無(wú)關(guān)的任何設(shè)備都禁止動(dòng)用和摸弄,注意安全。4. 嚴(yán)禁用手觸摸實(shí)驗(yàn)系統(tǒng)印制電路板和元器件的引腳,防止靜電擊穿芯片。5. 實(shí)驗(yàn)中若損壞儀器或元器件,應(yīng)及時(shí)向指導(dǎo)教師報(bào)告,聽(tīng)候處理。6. 在實(shí)驗(yàn)室內(nèi)保持安靜和衛(wèi)生,不得隨意走動(dòng)和喧嘩,集中精力完成實(shí)驗(yàn)。7. 實(shí)驗(yàn)完成后,關(guān)掉電源,及時(shí)整理實(shí)驗(yàn)臺(tái)桌面,保持環(huán)境整潔。8. 按規(guī)定認(rèn)真完成實(shí)驗(yàn)報(bào)告,對(duì)實(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é)生,不能參加本課程的考試或考查。36第一章 實(shí)驗(yàn)系統(tǒng)介紹本實(shí)驗(yàn)系統(tǒng)采用EL-MUT-III型單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)。1. 系統(tǒng)概述1)微處理器:89S51,P
4、1口、P3口對(duì)用戶(hù)開(kāi)放,供用戶(hù)使用。2)時(shí)鐘頻率:6.0MHz3)存儲(chǔ)器:程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,最多可達(dá)64KB,板載ROM(監(jiān)控程序27C256)12KB;RAM1(程序存儲(chǔ)器6264)8KB供用戶(hù)下載實(shí)驗(yàn)程序,可擴(kuò)展達(dá)32KB;RAM2(數(shù)據(jù)存儲(chǔ)器6264)8KB供用戶(hù)程序使用,可擴(kuò)展達(dá)32KB。0000H-2FFFH為監(jiān)控程序存儲(chǔ)器區(qū),用戶(hù)不可用。4000H-5FFFH為用戶(hù)實(shí)驗(yàn)程序存儲(chǔ)區(qū),供用戶(hù)下載實(shí)驗(yàn)程序。數(shù)據(jù)存儲(chǔ)器的范圍為:6000H-7FFFH,供用戶(hù)實(shí)驗(yàn)程序使用。用戶(hù)在編寫(xiě)實(shí)驗(yàn)程序時(shí)要注意,程序的起始地址應(yīng)為4000H,所用的中斷入口地址均應(yīng)在原地址的基礎(chǔ)上,加上40
5、00H。用戶(hù)中斷入口地址見(jiàn)表1-1。表1-1:用戶(hù)中斷程序入口表中斷名稱(chēng)8051原中斷程序入口用戶(hù)實(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)控程序存儲(chǔ)器、用戶(hù)程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、系統(tǒng)顯示控制器、系統(tǒng)串行通訊控制器等)的地址譯碼功能,此外還通過(guò)插孔CS0、CS1、CS2、CS3、CS4、CS5提供固定的譯碼地址給用戶(hù)使用。譯
6、碼地址見(jiàn)表1-2。另一部分為用戶(hù)CPLD,它完全對(duì)用戶(hù)開(kāi)放,用戶(hù)可通過(guò)芯片的JTAG接口與PC機(jī)相連,對(duì)芯片進(jìn)行編程,得到譯碼地址,由插孔LCS0、LCS1、LCS2、LCS3、LCS4、LCS5、LCS6、LCS7輸出,供使用。表12:CPLD地址分配表 地址范圍 輸出孔/映射器件 性質(zhì)(系統(tǒng)/用戶(hù)) 0000H-2FFFH 監(jiān)控程序存儲(chǔ)器 系統(tǒng) * 3000H-3FFFH 數(shù)據(jù)存儲(chǔ)器 系統(tǒng) * 4000H-7FFFH 用戶(hù)程序存儲(chǔ)器 系統(tǒng) * 8000H-CFDFH LCS0-LCS7 用戶(hù) CFE0H PC機(jī)串行通訊芯片8250 系統(tǒng) * CFE8H 顯示、鍵盤(pán)芯片8279 系統(tǒng) CFA
7、0H-CFA7H CS0 系統(tǒng) CFA8H-CFAFH CS1 系統(tǒng) CFB0H-CFB7H CS2 系統(tǒng) CFB8H-CFBFH CS3 系統(tǒng) CFC0H-CFC7H CS4 系統(tǒng) CFC8H-CFCFH CS5 系統(tǒng) CFD0H-FFFFH LCS0-LCS7 用戶(hù)注:系統(tǒng)地址中帶“*”的表示用戶(hù)不可用,也不可改,其他系統(tǒng)地址用戶(hù)可用,但不可改。3.系統(tǒng)使用方法1)用通信電纜將EL-MUT-III型單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)側(cè)面的RS232接口與PC機(jī)的COM口相連接。2)啟動(dòng)EL-MUT-III型單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)的電源開(kāi)關(guān),EL-MUT-III型單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)面板上的LED顯示“19950
8、2”,幾秒后顯示P-。3)雙擊桌面MCS51快捷圖標(biāo)如圖1-1,啟動(dòng)51實(shí)驗(yàn)系統(tǒng),啟動(dòng)后的界面如圖1-2。 圖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-3 51 EL型(80C51)教學(xué)實(shí)驗(yàn)環(huán)境界面5)通過(guò)“文件”菜單新建或打開(kāi)匯編語(yǔ)言文件,也可通過(guò)工具按鈕 新建匯編文件。新建匯編文件的擴(kuò)展名為.ASM。6)用“編譯”菜單下的匯編命令或工具按鈕 對(duì)匯編文件進(jìn)行匯編。如有錯(cuò)誤,應(yīng)對(duì)文件重新編輯,直至匯編無(wú)錯(cuò)
9、誤為止。7)用“調(diào)試”菜單下的“調(diào)試”命令或工具按鈕 進(jìn)入“調(diào)試”界面,如圖1-4。圖1-4 “調(diào)試”界面8)用“調(diào)試”菜單下各調(diào)試命令,如圖1-5對(duì)匯編文件進(jìn)行調(diào)試,或用工具按鈕對(duì)匯編文件進(jìn)行調(diào)試。工具按鈕的功能如圖1-6。圖1-5圖1-6第二章 上機(jī)指導(dǎo)實(shí)驗(yàn)一 P1口實(shí)驗(yàn)(一)一、實(shí)驗(yàn)?zāi)康模?學(xué)習(xí)P1口作為輸出口的使用方法。2延時(shí)子程序的編寫(xiě)和使用。二、實(shí)驗(yàn)設(shè)備:EL-MUT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊。 三、實(shí)驗(yàn)原理:實(shí)驗(yàn)原理如圖2-1-1。圖2-1-1 P1口輸出實(shí)驗(yàn)電路1P1口的使用方法 P1口為準(zhǔn)雙向口,每一位都能獨(dú)立地定義為輸入位或輸出位。作為輸入位時(shí),必須向鎖存器
10、相應(yīng)位寫(xiě)入“1”。89S51在復(fù)位時(shí)所有口鎖存器均置為“1”,如果曾對(duì)口鎖存器寫(xiě)過(guò)“0”,此時(shí)要使它作為一個(gè)輸入口,則應(yīng)再次寫(xiě)入一個(gè)“1”。2延時(shí)程序的實(shí)現(xiàn)常用兩種方法實(shí)現(xiàn)延時(shí)程序,一是用定時(shí)器中斷來(lái)實(shí)現(xiàn),二是用指令循環(huán)來(lái)實(shí)現(xiàn)。在系統(tǒng)時(shí)間允許的情況下可以采用后一種方法。本實(shí)驗(yàn)系統(tǒng)晶振為6.0MHZ,則一個(gè)機(jī)器周期為12÷6 us=2 us。延時(shí)0.1s的程序如下: MOV R7,#X (1) DEL1:MOV R6,#200 (2) DEL2:DJNZ R6,DEL2 (3) DJNZ R7,DEL1 (4)程序中 X為延時(shí)值。指令MOV、DJNZ需兩個(gè)機(jī)器周期,所以每執(zhí)行一條指令需
11、要4us。延時(shí)程序中X值應(yīng)滿(mǎn)足下式:4 + X( 4 + 200×4 + 4 )=0.1×106指令(1)時(shí)間 指令(2)時(shí)間 指令(3)時(shí)間 指令(4)時(shí)間故 X=123.75D=7CH 。將X=123.75D=7CH代入上式,得到實(shí)際延時(shí)時(shí)間約為0.1002S。3程序流程圖:程序流程圖見(jiàn)圖2-1-2和圖2-1-3。 圖2-1-2 點(diǎn)亮發(fā)光二極管程序流程圖 圖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,編寫(xiě)程序使P1口8個(gè)發(fā)光二極管同時(shí)熄滅-延時(shí)-點(diǎn)亮。2)根據(jù)程序流程圖1-3,
12、編寫(xiě)程序使P1口8個(gè)發(fā)光二極管每隔一個(gè)左移循環(huán)點(diǎn)亮。2實(shí)驗(yàn)步驟:1)將P1.0P1.7分別連接發(fā)光二極管L1L8。2)按流程圖2-1-2編寫(xiě)程序,對(duì)程序進(jìn)行編輯、匯編直至無(wú)語(yǔ)法錯(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)內(nèi)容2的實(shí)驗(yàn)。五、實(shí)驗(yàn)報(bào)告1寫(xiě)出使P1口8個(gè)發(fā)光二極管同時(shí)熄滅-延時(shí)-點(diǎn)亮源程序清單,并對(duì)每條指令給予注解。2寫(xiě)出使P1口8個(gè)LED每隔一個(gè)(或二個(gè))左移循環(huán)點(diǎn)亮源程序清單,并對(duì)每條指令給予注解。六、思考題1改變延時(shí)常數(shù),重做實(shí)驗(yàn)。2修改程序,使LED
13、發(fā)光方式、方向等改變。七、參考程序:1點(diǎn)亮8個(gè)LED程序清單 ORG 4000H LJMP STARTORG 4100HSTART: MOV A,#00H MOV P1, A ;點(diǎn)亮8個(gè)LED LCALL DELAY ;延時(shí) 0.1秒MOV A,#0FFHMOV P1,A ;熄滅8個(gè)LED LCALL DELAY ;延時(shí) 0.1秒 JMP STARTDELAY: MOV R1,#124 ; 延時(shí)0.1秒DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2 DJNZ R1,DEL1 RET END2循環(huán)點(diǎn)亮LED程序清單 ORG 4000H LJMP STARTORG 4100
14、HSTART: MOV A,#0FEHLOOP: MOV P1,A ; 點(diǎn)亮1個(gè)LED RL A ; 左移一位,點(diǎn)亮下一個(gè)發(fā)光二極管 LCALL DELAY ;延時(shí) 0.1秒 JMP LOOPDELAY: MOV R1,#124 ; 延時(shí)0.1秒DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2 DJNZ R1,DEL1 RET END實(shí)驗(yàn)二 P1口實(shí)驗(yàn)(二)一、實(shí)驗(yàn)?zāi)康模?P1口作為輸入口的使用方法。2掌握數(shù)據(jù)輸入、輸出程序的設(shè)計(jì)方法。 二、實(shí)驗(yàn)設(shè)備:EL-MUT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊 三、實(shí)驗(yàn)原理:1P1口作為輸入口實(shí)驗(yàn)原理見(jiàn)圖2-2-1。圖2-2-
15、1 P1口作為輸入口實(shí)驗(yàn)電路2程序流程圖:程序流程圖見(jiàn)圖2-2-2。圖2-2-2 顯示P1口狀態(tài)程序流程圖四、實(shí)驗(yàn)內(nèi)容與步驟:1實(shí)驗(yàn)內(nèi)容:P1口做輸入口:如圖2-2-1,P1口的P1.0-P1.8分別接8個(gè)單刀雙鄭開(kāi)關(guān)K1 K8,74LS273做輸出口接八個(gè)LED,編寫(xiě)程序讀取開(kāi)關(guān)K1-K8狀態(tài),并在LED上顯示出來(lái)。2實(shí)驗(yàn)步驟:1)根據(jù)圖2-2-1連線(xiàn),CS273接CS0。2)根據(jù)流程圖2-2-2編寫(xiě)相應(yīng)程序,對(duì)程序進(jìn)行編輯、匯編直至無(wú)語(yǔ)法錯(cuò)誤。3)調(diào)試程序,撥動(dòng)開(kāi)關(guān)K1-K8,觀察并記錄程序運(yùn)行結(jié)果。五、實(shí)驗(yàn)報(bào)告仿照實(shí)驗(yàn)一,寫(xiě)出相應(yīng)的實(shí)驗(yàn)報(bào)告。六、思考題1圖2-2-1中芯片74LS273的
16、作用是什么?2在圖2-2-1中,若LED反轉(zhuǎn)1800,電路和程序如何修改?七、參考程序:; 通過(guò)LED將P1口的狀態(tài)顯示ORG 0000H LJMP START ORG 4100HSTART: MOV P1,#0FFH ;設(shè)置P1口為輸入狀態(tài)LP: MOV A,P1 ;P1口的狀態(tài)讀入累加器A MOV DPTR, #0CFA0H ;74LS273地址(輸出口地址)送DPTR MOVX DPTR,A ;A的值送LED顯示 JMP LP ;繼續(xù)循環(huán)監(jiān)測(cè)端口P1的狀態(tài) END實(shí)驗(yàn)三 P1口實(shí)驗(yàn)(三)一、實(shí)驗(yàn)?zāi)康模?掌握P1口既做輸入又做輸出的使用方法。2掌握分支程序的設(shè)計(jì)方法。二、實(shí)驗(yàn)設(shè)備:EL-M
17、UT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊 三、實(shí)驗(yàn)原理:1P1口同時(shí)作輸入、輸出口電路原理見(jiàn)圖2-3-1。圖2-3-1 P1口同時(shí)作輸入、輸出口實(shí)驗(yàn)電路2程序流程圖:程序流程圖見(jiàn)圖2-3-2。四、實(shí)驗(yàn)內(nèi)容與步驟:1實(shí)驗(yàn)內(nèi)容:圖2-3-1為模擬汽車(chē)轉(zhuǎn)向燈控制電路圖,K1為左轉(zhuǎn)彎開(kāi)關(guān),L5、L6做為左轉(zhuǎn)彎燈;K2為右轉(zhuǎn)彎開(kāi)關(guān),L7、L8做為右轉(zhuǎn)彎燈。編寫(xiě)程序?qū)崿F(xiàn)表2-3-1的功能。表2-3-1:開(kāi)關(guān)K1、K2功能表圖2-3-2 P1口既做輸入又做輸出程序流程圖2實(shí)驗(yàn)步驟:1)根據(jù)圖2-3-1連線(xiàn)。2)輸入相應(yīng)程序,對(duì)程序進(jìn)行編輯、匯編直至無(wú)語(yǔ)法錯(cuò)誤。3)調(diào)試程序,撥動(dòng)開(kāi)關(guān)K1-K2,觀察并記
18、錄程序運(yùn)行結(jié)果。五、實(shí)驗(yàn)報(bào)告仿照實(shí)驗(yàn)一,寫(xiě)出相應(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 4000H LJMP STARTORG 4100HSTART: SETB P1.0 SETB P1.1 ;用于輸入時(shí)先置位口內(nèi)鎖存器L0: MOV A,P1 ANL A,#03H ;從P1口讀入開(kāi)關(guān)狀態(tài),取低兩位 CJNE A,#00H,L1 LJMP PRG0L1: CJNE A,#01H,L2 LJMP PRG1L2: CJNE A,#02H,L3 LJMP PRG2L3: CJNE A,#
19、03H,L4 LJMP PRG3L4: LJMP L0PRG0: MOV P1,#0FFH ;向P1口輸出#0FFH,LED全滅 ;此時(shí)K2 K1=0 0 LJMP STARTPRG1: MOV P1,#0F3H ;只點(diǎn)亮L5、L6,表示左轉(zhuǎn)彎 ACALL DELAY ;此時(shí)K2 K1=0 1 MOV P1,#0FFH ;熄滅LED 0.5秒 ACALL DELAY ;延時(shí)0.5秒 LJMP STARTPRG2: MOV P1,#0CFH ;只點(diǎn)亮L7、L8,表示右轉(zhuǎn)彎 ACALL DELAY ;此時(shí)K2 K1=1 0 MOV P1,#0FFH ;熄滅LED0.5秒 ACALL DELAY L
20、JMP STARTPRG3: MOV P1,#00H ;LED全亮,此時(shí)K2 K1=1 1LJMP STARTDELAY: MOV R1,#5 ;延時(shí)0.5秒DEL1: MOV R2,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RETEND實(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。圖2-4-1 外部中斷實(shí)驗(yàn)電路2程序流程圖:程序
21、流程圖見(jiàn)圖2-4-2。圖2-4-2 K1中斷控制LED程序流程圖四、實(shí)驗(yàn)內(nèi)容與步驟:1實(shí)驗(yàn)內(nèi)容:1)單一外部中斷控制:按K1在INT0端產(chǎn)生中斷信號(hào),從而使P1的8個(gè)LED同時(shí)閃爍5次。2)兩級(jí)中斷控制(中斷嵌套):按K1使8個(gè)LED閃爍后,按K2使LED右循環(huán)點(diǎn)亮。3)根據(jù)圖2-4-3,編寫(xiě)程序:的下降沿產(chǎn)生中斷,中斷服務(wù)程序?yàn)樽x入P1.4 P1.7開(kāi)關(guān)狀態(tài),并通過(guò)P1.0 P1.3輸出。圖2-4-32實(shí)驗(yàn)步驟:1)按圖2-4-1連接線(xiàn)路。2)根據(jù)程序流程圖編寫(xiě)程序,編輯程序并進(jìn)行匯編。3)用“單步連續(xù)運(yùn)行程序”命令運(yùn)行程序,觀察程序運(yùn)行等待中斷過(guò)程,在等待中斷過(guò)程時(shí),按K1(K2)鍵,觀察
22、并記錄程序運(yùn)行過(guò)程和LED顯示情況。4)對(duì)實(shí)驗(yàn)內(nèi)容2編程,重復(fù)2-3步驟。觀察并記錄程序運(yùn)行結(jié)果。5)對(duì)實(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)容寫(xiě)出相應(yīng)的實(shí)驗(yàn)報(bào)告。2畫(huà)出實(shí)驗(yàn)內(nèi)容2的程序框圖3對(duì)程序語(yǔ)句加以注解。六、思考題1中斷時(shí),需保護(hù)現(xiàn)場(chǎng)(如PSW,ACC等寄存器的內(nèi)容),中斷服務(wù)程序應(yīng)如何修改?2如何在程序中實(shí)現(xiàn)INT1的中斷優(yōu)先權(quán)高于INT0中斷優(yōu)先權(quán)?七、參考程序:;實(shí)驗(yàn)四;INT0中斷實(shí)驗(yàn)程序;主程序8個(gè)LED熄滅,等待INT0中斷 ORG 4000H LJMP STA
23、RT ORG 4003H LJMP EXT0 ORG 4013H LJMP LPT ORG 4100H START: MOV A,#0FFH MOV BAH,ASETB EX0 SETB EX1 CLR IT0 SETB EA MOV SP, #70H MOV A, #0FFH MOV P1, A SJMP $ DELAY: MOV R1, #5 DEL1: MOV R2, #200 DEL2: MOV R3, #126 DEL3: DJNZ R3, DEL3 DJNZ R2, DEL2 DJNZ R1, DEL1 RET ;INT0中斷服務(wù)程序:8個(gè)LED閃爍5次。 EXT0: MOV R0
24、, #10 MOV A, #00H LOOP: MOV P1, A CALL DELAY CPL A MOV P1, A DJNZ R0, LOOP MOV A, #0FFH MOV P1, A RETI LPT: MOVA,#01H SHIF:LCALL FLASH RR A SJMP SHIFT FLASH: MOV P1,ALCALL DELATMOV P1,#00HLCALL DELAYDJNZ R2,FLASHRETDELAY: MOV R5,#200D1:MOV R6,#123 NOPDJNZ R6,$DJNZ R5,D1RET實(shí)驗(yàn)五 定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)(一)一、實(shí)驗(yàn)?zāi)康模?掌握8
25、9S51內(nèi)部定時(shí)器、計(jì)數(shù)器的使用和編程方法。2定時(shí)器中斷處理程序的編程方法。二、實(shí)驗(yàn)設(shè)備:EL-MUT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊三、實(shí)驗(yàn)原理:1實(shí)驗(yàn)原理如圖2-5-1。圖2-5-1 定時(shí)器實(shí)驗(yàn)電路1)定時(shí)常數(shù)的確定采用定時(shí)器中斷方法可實(shí)現(xiàn)時(shí)間延時(shí),延時(shí)時(shí)間由主頻和定時(shí)器方式來(lái)確定。本實(shí)驗(yàn)中時(shí)鐘頻率為6.0 MHZ,其延時(shí)時(shí)間最大值約為0.13s(方式一下)。若要產(chǎn)生0.5秒延時(shí)時(shí)間,需采用定時(shí)器定時(shí)和軟件計(jì)數(shù)的方法來(lái)實(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
26、中計(jì)數(shù)值減一,即可實(shí)現(xiàn)0.5s延時(shí)。定時(shí)器時(shí)間常數(shù)的確定方法如下:機(jī)器周期=12÷晶振頻率=12/(6×106)=2(us)=2×10-6(s)定時(shí)器工作于方式一,設(shè)計(jì)數(shù)初值為X,則有(216-X)×2×10-6 s =0.1s,由此可求得X=15536D=3CB0H。故初始值為T(mén)H=3CH,TL=B0H2)初始化程序初始化程序包括定時(shí)器初始化和中斷系統(tǒng)初始化,即對(duì)IP、IE、TCON、TMOD的相應(yīng)位進(jìn)行正確的設(shè)置,并將時(shí)間常數(shù)送入定時(shí)器中。3)設(shè)計(jì)中斷服務(wù)程序和主程序中斷服務(wù)程序除了要完成計(jì)數(shù)減一工作外,還要將時(shí)間常數(shù)重新送入定時(shí)器中,為下
27、一次中斷做準(zhǔn)備。主程序則用來(lái)控制發(fā)光二極管按要求亮滅。2程序流程圖:程序流程圖見(jiàn)圖2-5-2。圖2-5-2 定時(shí)器T0中斷控制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連接線(xiàn)路。2)根據(jù)程序流程圖編寫(xiě)程序,編輯程序并進(jìn)行匯編。3)運(yùn)行程序,觀察并記錄LED顯示情況。五、實(shí)驗(yàn)報(bào)告根據(jù)實(shí)驗(yàn)內(nèi)容寫(xiě)出相應(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,編寫(xiě)用T0中斷控制LED閃爍5次的程序。圖2-5-3 定時(shí)器T0中斷控制L
28、ED閃爍5次程序流程圖七、參考程序:;實(shí)驗(yàn)五 定時(shí)器定時(shí)0.5S中斷實(shí)驗(yàn),LED閃爍,R0:0.5s延時(shí)循環(huán)次數(shù) ORG 4000H LJMP START ORG 400BH LJMP T0INT ORG 4100HSTART: MOV TMOD, #01H MOV TH0, #3CH MOV TL0, #0B0H MOV A, #0FFH MOV P1, A SETB EA SETB ET0 SETB TR0 MOV R0, #05H SJMP $T0INT: CLR TR0DJNZ R0, NEXT CPL A MOV P1, A MOV R0, #05HNEXT: MOV TH0, #3
29、CH MOV TL0, #0B0H SETB TR0 RETI END;實(shí)驗(yàn)五1 LED閃爍5次,R0:0.5s延時(shí)循環(huán)次數(shù),R1:閃爍次數(shù) ORG 4000H LJMP START ORG 400BH LJMP T0INT ORG 4100HSTART: MOV TMOD, #01H MOV TH0, #3CH MOV TL0, #0B0H MOV R1, #10 MOV A, #0FFH MOV P1, A SETB EA SETB ET0 SETB TR0 MOV R0, #05H SJMP $T0INT: CLR TR0DJNZ R0, NEXT DJNZ R1, LP MOV A,
30、#0FFH MOV P1, A SJMP LP1LP: CPL A MOV P1, A MOV R0, #05HNEXT: MOV TH0, #3CH MOV TL0, #0B0H SETB TR0LP1: RETI END實(shí)驗(yàn)六 定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)(二)一、實(shí)驗(yàn)?zāi)康模?8031外部計(jì)數(shù)的使用和編程方法。2中斷處理程序的編程方法。二、實(shí)驗(yàn)設(shè)備:EL-MUT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU模塊三、實(shí)驗(yàn)原理:1實(shí)驗(yàn)原理如圖2-6-1。圖2-6-1 計(jì)數(shù)器實(shí)驗(yàn)電路圖中74LS132、按鍵S和電阻組成一單脈沖發(fā)生器,P+端接89S51的T0端,按鍵每按動(dòng)一次將在P+端產(chǎn)生一個(gè)負(fù)脈沖,從而在T0端
31、產(chǎn)生一次中斷請(qǐng)求,因此將T0設(shè)置為計(jì)數(shù)器方式即可對(duì)外部脈沖進(jìn)行計(jì)數(shù)。2程序流程圖:程序流程圖見(jiàn)圖2-6-2。四、實(shí)驗(yàn)內(nèi)容與步驟:1實(shí)驗(yàn)內(nèi)容:定時(shí)器工作于方式2,定時(shí)器每計(jì)5個(gè)脈沖使LED1LED8亮、滅一次(或發(fā)光方式變化一次)。2實(shí)驗(yàn)步驟:1)按圖2-6-1連接線(xiàn)路。2)根據(jù)程序流程圖編寫(xiě)程序,編輯程序并進(jìn)行匯編。3) 運(yùn)行程序,觀察并記錄LED顯示情況。五、實(shí)驗(yàn)報(bào)告根據(jù)實(shí)驗(yàn)內(nèi)容寫(xiě)出相應(yīng)的實(shí)驗(yàn)報(bào)告。圖2-6-2 用T0對(duì)外部脈沖進(jìn)行計(jì)數(shù)控制LED程序流程圖六、思考題1用定時(shí)器工作方式0或方式2,能否實(shí)現(xiàn)本實(shí)驗(yàn)功能?2如能,修改程序并調(diào)試。3采用查詢(xún)方式編寫(xiě)程序,實(shí)現(xiàn)外部脈沖進(jìn)行計(jì)數(shù)控制LED
32、。七、參考程序:;實(shí)驗(yàn)六 按右下角的“PULSE”按鍵5次,LED交替亮滅ORG 4000HLJMP STARTORG 400BHLJMP T0INTORG 4100HSTART: MOV TMOD, #06HMOV TH0, #0FBHMOV TL0, #0FBHMOV A, #00HSETB EASETB ET0SETB TR0SJMP $T0INT: MOV P1, ACPL ARETIEND實(shí)驗(yàn)七 8255A PB口控制PA口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?掌握8255A芯片的結(jié)構(gòu)及編程方法。2掌握8255A并行口讀取開(kāi)關(guān)數(shù)據(jù)的方法。二、實(shí)驗(yàn)設(shè)備:EL-MUT-III型單片機(jī)實(shí)驗(yàn)箱、8051CPU
33、模塊三、實(shí)驗(yàn)原理:1實(shí)驗(yàn)原理如圖2-7-1。圖2-7-1 8255A接口實(shí)驗(yàn)電路2程序流程圖:程序流程圖見(jiàn)圖2-7-2。圖2-7-2 8255A接口實(shí)驗(yàn)程序流程圖四、實(shí)驗(yàn)內(nèi)容步驟:1實(shí)驗(yàn)內(nèi)容:8255A B口作為開(kāi)關(guān)量輸入口,A口作為顯示輸出口。編寫(xiě)程序讀取按紐開(kāi)關(guān)狀態(tài),在發(fā)光二極管上顯示出來(lái)。2實(shí)驗(yàn)步驟:1)按圖2-7-1連接線(xiàn)路。2)根據(jù)程序流程圖編寫(xiě)程序,編輯程序并進(jìn)行匯編。3)運(yùn)行程序,撥動(dòng)開(kāi)關(guān)K1-K8,觀察并記錄LED顯示情況。五、實(shí)驗(yàn)報(bào)告根據(jù)實(shí)驗(yàn)內(nèi)容寫(xiě)出相應(yīng)的實(shí)驗(yàn)報(bào)告。六、參考程序:;實(shí)驗(yàn)七 8255A接口實(shí)驗(yàn),A口顯示輸出口,B口作為開(kāi)關(guān)量輸入口 ORG 4000H LJMP
34、START ORG 4100H PA EQU 0CFA0H PB EQU 0CFA1H PCTL EQU 0CFA3HSTART: MOV DPTR, #PCTL ;置8255A控制字,A、B、C口均工作方式0, ;A、C口為輸出,B口為輸入 MOV A, #82H MOVX DPTR, ALOOP: MOV DPTR, #PB ;從B口讀入開(kāi)關(guān)狀態(tài)值 MOVX A, DPTR MOV DPTR, # PA ;從A口將狀態(tài)值輸出顯示 MOVX DPTR, A MOV R7, #10H ;延時(shí)DEL0: MOV R6, #0FFHDEL1: DJNZ R6, DEL1 DJNZ R7, DEL0
35、 JMP LOOPEND 實(shí)驗(yàn)八 8位A/D轉(zhuǎn)換器ADC0809接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?了解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ù)字萬(wàn)用表三、實(shí)驗(yàn)原理:1實(shí)驗(yàn)原理如圖2-8-1。圖2-8-1 89S51與ADC0809接口電路2程序流程圖:根據(jù)A/D與單片機(jī)連接方式和控制系統(tǒng)本身要求的不同,實(shí)現(xiàn)A/D轉(zhuǎn)換的軟件設(shè)計(jì)方也不同。常用的控制方式有程序查詢(xún)、定時(shí)采樣和中斷方式。定時(shí)采樣方式程序流程圖見(jiàn)圖2-8-2。四、實(shí)驗(yàn)內(nèi)容與步驟1實(shí)驗(yàn)內(nèi)容1)從AD
36、IN0輸入模擬信號(hào)VIN(05V),間隔為0.25V(即0V、0.25V0. 5V 、 0.75V¼5V)用萬(wàn)用表電壓檔測(cè)量該模擬信號(hào)的大小。2)啟動(dòng)A/D轉(zhuǎn)換。用轉(zhuǎn)換后數(shù)字量與萬(wàn)用表測(cè)量結(jié)果進(jìn)行比較。3)用模擬電壓作橫坐標(biāo),轉(zhuǎn)換后的數(shù)字量作縱坐標(biāo)作D-V圖,找出ADC0809的數(shù)字量輸出值D(換算為十進(jìn)制叔)與模擬量輸入值VIN之間的關(guān)系。檢查A/D轉(zhuǎn)換的線(xiàn)性度。2實(shí)驗(yàn)步驟:1)按圖2-8-1連線(xiàn)。ADIN0接AN0,參考程序采用查詢(xún)法,因此ADC0809的EOC引腳不連接。2)通過(guò)“V.ARJ”電位器調(diào)整加在IN0通道的電壓,用數(shù)字萬(wàn)用表進(jìn)行測(cè)量,從0V開(kāi)始,間隔為0.25V。3
37、)輸入程序。對(duì)每個(gè)電壓值,運(yùn)行程序。轉(zhuǎn)換后的數(shù)字量保存于30H開(kāi)始的單元。4)讀取30H開(kāi)始的單元中的數(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.754.004.254.504.755.00VOUT(H)VOUT(D) 圖2-8-2 A/D轉(zhuǎn)換實(shí)驗(yàn)流程圖五、實(shí)驗(yàn)報(bào)告1根據(jù)實(shí)驗(yàn)內(nèi)容寫(xiě)出相應(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
38、轉(zhuǎn)換的線(xiàn)性度。六、思考題1若轉(zhuǎn)換后的數(shù)字量保存于外部RAM 4300H開(kāi)始單元,程序應(yīng)如何修改?上機(jī)調(diào)試。2若程序采用中斷法,電路應(yīng)如何連接?3畫(huà)出中斷法流程圖,修改程序,重做實(shí)驗(yàn)。七、參考程序:;實(shí)驗(yàn)八 A/D 采樣程序ORG 4000H ;開(kāi)始執(zhí)行第一條指令的地址LJMP START ;跳轉(zhuǎn)到主程序ORG 4100H ;主程序的地址START: MOV R1, #30H ;指向內(nèi)部RAM 20H單元MOV R6, #20H ;30H-4FH共32個(gè)內(nèi)部RAM單元,它們用MOV A, #00H ;來(lái)存放被采集電壓的數(shù)據(jù)區(qū)LP: MOV R1, A ;30H-4FH內(nèi)部RAM單元清0 INC
39、R1 ;指向下一個(gè)單元DJNZ R6, LP ; 32個(gè)單元清0未完成,返回LP處繼續(xù)清0MOV R1, #30H ;數(shù)據(jù)區(qū)首址送R1寄存器 MOV R7, #14H ;采集數(shù)據(jù)的總數(shù)14H(20)送R7寄存器MOV DPTR, #0CFA0H ;IN0通道地址0CFA0H送DPTR寄存器CAIJI: MOVX DPTR, A ;啟動(dòng)A/D進(jìn)行轉(zhuǎn)換LP1: MOV R2, # 40H ;設(shè)置延時(shí)時(shí)間WAIT: DJNZ R2, WAIT ; 延時(shí)等待A/D轉(zhuǎn)換結(jié)束MOVX A, DPTR ;讀A/D轉(zhuǎn)換的數(shù)值到累加器AMOV R1, A ;轉(zhuǎn)換后的數(shù)據(jù)送數(shù)據(jù)區(qū)(30H4FH)保存INC R1 ;指向下一個(gè)單元CW: DJNZ R7, CAIJI ;20個(gè)數(shù)據(jù)采集完成停止,否則繼續(xù)采集 SJMP $ ;停止END ;結(jié)束實(shí)驗(yàn)九 8位D/A轉(zhuǎn)換器DAC0832接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?了解D/A轉(zhuǎn)換器DAC0832的工作原理。2掌握DAC0832與89S5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度訂制尺寸訂框安裝合同
- 2025年度物流企業(yè)合作投資與知識(shí)產(chǎn)權(quán)保護(hù)協(xié)議
- 二零二五年度旅游企業(yè)法人景區(qū)經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同
- 2025年度股權(quán)激勵(lì)協(xié)議書(shū)-員工股權(quán)激勵(lì)與股權(quán)激勵(lì)計(jì)劃實(shí)施合同范本
- 二零二五年度紅薯種植技術(shù)培訓(xùn)與收購(gòu)服務(wù)合同
- 關(guān)于業(yè)務(wù)合作的函件示例
- 家裝設(shè)計(jì)行業(yè)項(xiàng)目執(zhí)行標(biāo)準(zhǔn)
- 幼兒園教育服務(wù)合作框架協(xié)議
- 初中力學(xué)基礎(chǔ)實(shí)驗(yàn)課教案
- 公司辦公管理規(guī)章制度手冊(cè)
- 2025天津市安全員-B證考試題庫(kù)附答案
- 二年級(jí)下冊(cè)數(shù)學(xué)口算題-可打印
- 公司信息化安全規(guī)章制度及操作手冊(cè)
- 新風(fēng)施工合同
- 2025-2030年園藝修剪機(jī)器人行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢(xún)報(bào)告
- 福建省南平市2024-2025學(xué)年九年級(jí)上學(xué)期期末語(yǔ)文試題(解析版)
- 人教版四年級(jí)數(shù)學(xué)下冊(cè)第四單元測(cè)試卷(含答案)
- 2025年湖北省技能高考(建筑技術(shù)類(lèi))《建筑工程測(cè)量》模擬練習(xí)試題庫(kù)(含答案)
- 2023年中國(guó)綜合社會(huì)調(diào)查調(diào)查手冊(cè)
- 2024-2027年中國(guó)網(wǎng)絡(luò)安全評(píng)估行業(yè)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略研究報(bào)告
- 失智老年人照護(hù)X證書(shū)制度試點(diǎn)工作養(yǎng)老護(hù)理職業(yè)和失智老人照護(hù)員工種的發(fā)展講解
評(píng)論
0/150
提交評(píng)論