試驗(yàn)1P1口試驗(yàn)一_第1頁
試驗(yàn)1P1口試驗(yàn)一_第2頁
試驗(yàn)1P1口試驗(yàn)一_第3頁
試驗(yàn)1P1口試驗(yàn)一_第4頁
試驗(yàn)1P1口試驗(yàn)一_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余30頁可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡介

1、單片機(jī)原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書長春工業(yè)大學(xué)人文信息學(xué)院電子信息系2021年9月實(shí)驗(yàn)一指令操作實(shí)驗(yàn)3實(shí)驗(yàn)二數(shù)據(jù)區(qū)讀寫實(shí)驗(yàn)4實(shí)驗(yàn)三 P1 口實(shí)驗(yàn)一 5實(shí)驗(yàn)四 P1 口實(shí)驗(yàn)二9實(shí)驗(yàn)五 簡單I/O口擴(kuò)展實(shí)驗(yàn)一 12交通燈限制實(shí)驗(yàn)12實(shí)驗(yàn)六 中斷實(shí)驗(yàn)16一有急救車的交通燈限制實(shí)驗(yàn) 16實(shí)驗(yàn)七定時器實(shí)驗(yàn)21循環(huán)彩燈實(shí)驗(yàn)21附錄:EL-MUT-8051-Keil C 模塊使用指導(dǎo) 24實(shí)驗(yàn)一指令操作實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模赫莆諈R編語言設(shè)計和調(diào)試方法,熟悉鍵盤操作.二、實(shí)驗(yàn)內(nèi)容:1、 7000H70FFH的內(nèi)容清零.2、7000H的內(nèi)容拆開,高位送 7001H低位,低位送 7002H低位,7001H, 7002H高位清

2、零.三、實(shí)驗(yàn)程序框圖:四、實(shí)驗(yàn)步驟:1、進(jìn)入QT僚輯器,建立工程文件.2、編寫實(shí)驗(yàn)程序.3、調(diào)試程序,用單步(F8)方法運(yùn)行實(shí)驗(yàn)程序.4、用存貯器讀寫方法檢查 7000H70FFH中的內(nèi)容應(yīng)全是 00H.5、先將7000H單元賦值A(chǔ)BH程序運(yùn)行后 7001H的內(nèi)容為0AH, 7002H單元的內(nèi)容為 0BH.實(shí)驗(yàn)二數(shù)據(jù)區(qū)讀寫實(shí)驗(yàn)一、實(shí)際目的:掌握 RAM的數(shù)據(jù)操作.二、實(shí)驗(yàn)內(nèi)容:把(R2.R3)源RAME首地址內(nèi)(R6.R7 )個字節(jié)數(shù)據(jù),傳送到(R4.R5)目的 RAMEo三、實(shí)驗(yàn)程序框圖:四、實(shí)驗(yàn)步驟:1、在R2.R3中裝入源首地址例如6000H> , R4.R5中裝入目的地址例如70

3、00H> , R6.R7 中裝入字節(jié)數(shù) <0FFFH>.2、用單步、斷點(diǎn)方法從起始地址 0090H開始運(yùn)行實(shí)驗(yàn)程序(輸入0090后按STEP鍵為單步運(yùn)行).3、檢查7000H開始的內(nèi)容和6000H開始的內(nèi)容是否完全正確.實(shí)驗(yàn)三 P1 口實(shí)驗(yàn)一一、實(shí)驗(yàn)?zāi)康模? .學(xué)習(xí)P1 口的使用方法.2 .學(xué)習(xí)延時子程序的編寫和使用.二、實(shí)驗(yàn)設(shè)備:CPU 掛箱、8031CPUII塊三、實(shí)驗(yàn)內(nèi)容:1 . P1 口做輸出口,接八只發(fā)光二極管,編寫程序,使發(fā)光二極管循環(huán)點(diǎn) 亮.2 P1 口做輸入口,接八個按紐開關(guān),以實(shí)驗(yàn)箱上74LS273做輸出口,編寫程序讀取開關(guān)狀態(tài),在發(fā)光二極管上顯示出來.四、

4、實(shí)驗(yàn)原理:Pl口為準(zhǔn)雙向口, P1 口的每一位都能獨(dú)立地定義為輸入位或輸出位.作為輸入位時,必須向鎖存器相應(yīng)位寫入“1,該位才能作為輸入. 8031中所有口鎖存器在復(fù)位時均置“ 1,如果后來在口鎖存器寫過“ 0,在需要 時應(yīng)寫入一個“ 1 ,使它成為一個輸入.再來看延時程序的實(shí)現(xiàn).現(xiàn)常用的有兩種方法,一是用定時器中斷來實(shí) 現(xiàn),一是用指令循環(huán)來實(shí)現(xiàn).在系統(tǒng)時間允許的情況下可以采用后一種方法. 實(shí)驗(yàn)系統(tǒng)晶振為 6MHZMOV R7 , #7FHDELl : MOV R6 #200DEL2:DJNZ R6 , DEL2 DJNZ R7 , DELlRET五、實(shí)驗(yàn)原理圖Pl 口輸出實(shí)驗(yàn)圖1-2輸出指示

5、圖1-3 限制鍵接法六、實(shí)驗(yàn)步驟:執(zhí)行程序1 (T1-1 . ASM)時:P1.0P1.7接發(fā)光二極管 LIL8.執(zhí)行程序2 (TI-2 . ASM時:P1.0P1.7接平推開關(guān) K1K8; 74LS273的0007接發(fā)光二極管LIL8 ; 74LS273的片選端 CS273接CS0(由程序所選擇的入口地址而定,與CS0CS濟(jì)目應(yīng)的片選地址).七、程序框圖單燈循環(huán)左移通過發(fā)光二極管將 P1 口的狀態(tài)顯示八、參考程序T1-1;P1.0P1.7接發(fā)光二極管 L1L8.NAME T1_1CSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV A,#0FEHLOO

6、P: RL A ;左移以為,點(diǎn)亮下一個發(fā)光二極管MOV P1,ALCALL DELAYJMP LOOPDELAY: MOV R1,#127;延時子程序DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1 RET ENDT1-2;P1.0P1.7接平推開關(guān) K1K8;74LS273的O0- O7接發(fā)光二極管 L1L8;74LS273 的片選端 CS273接 CS0NAME T1_2;P1輸入實(shí)驗(yàn)OUTPORT EQU 0CFA0HCSEG AT 0000HLJMP STARTCSEG AT 4100H復(fù)位P1 口為輸入狀態(tài);讀P1 口的狀態(tài)值入累加器 A

7、將輸出口地址賦給地址指針DPTRSTART: MOV P1,#0FFHMOV A,P1MOV DPTR,#OUT_PORTMOVX DPTR,A;JMP START;END將累加器A的值賦給DPTR旨向的地址繼續(xù)循環(huán)監(jiān)測端口 P1的狀態(tài)實(shí)驗(yàn)四 P1 口實(shí)驗(yàn)二一、實(shí)驗(yàn)?zāi)康模? .學(xué)習(xí)P1 口既做輸入又做為輸出的使用方法.2 .學(xué)習(xí)數(shù)據(jù)輸入、輸出程序的設(shè)計方法.二、實(shí)驗(yàn)設(shè)備:cPu掛箱、8031cPu模塊三、實(shí)驗(yàn)原理:P1口的使用方法N路轉(zhuǎn)移的常用設(shè)計方法,該方法利用了JMPA+DPTR計算功能實(shí)現(xiàn)轉(zhuǎn)移.該方法的優(yōu)點(diǎn)是設(shè)計簡單,轉(zhuǎn)移表短,但轉(zhuǎn)移表大小加上各個程序長度必須小于256字節(jié). 四、實(shí)驗(yàn)原

8、理圖五、實(shí)驗(yàn)內(nèi)容平推開關(guān)的輸出 K1接P1.0; K2接P1.1;發(fā)光二極管的輸入 L1接P1.2: L2接P1.3; L5接P1.4; L6接Pl.5.K1做為左轉(zhuǎn)彎開關(guān),K2做為右轉(zhuǎn)彎開關(guān).L5、L6做為右轉(zhuǎn)彎燈,L1、L2 做為片轉(zhuǎn)彎燈.結(jié)果顯不':1 : K1接高電平K2接低電平時,右轉(zhuǎn)彎燈L5、L6滅,左轉(zhuǎn)彎燈L1、L2 以一定頻率閃爍;2 : K2接高電平K1接低電平時,左轉(zhuǎn)彎燈L1、L2滅,右轉(zhuǎn)彎燈L5、L6 以一定頻率閃爍:3 : K1、K2同時接低電平時,發(fā)光二極管全滅;4 : K1、K2同時接高電平時,發(fā)光二極管全亮.六、參考程序;平推開關(guān)的輸出 K1接P1.0;

9、K2接P1.1;;發(fā)光二極管的輸入 L1接P1.2; L2接P1.3; L5接P1.4; L6接P1.5.NAME T2CSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: SETB P1.0SETB P1.1;MOV A,P1ANL A,#03H;MOV DPTR,#TAB ;MOVC A,A+DPTR JMP A+DPTR TAB: DB PRG0-TABDB PRG1-TABDB PRG2-TABDB PRG3-TABPRG0: MOV P1,#0FFH ; ;JMP STARTPRG1: MOV P1,#0F3H ;ACALL DELAY ;MOV P1

10、,#0FFH ;ACALL DELAY ;JMP STARTPRG2: MOV P1,#0CFH ;ACALL DELAY ;MOV P1,#0FFHACALL DELAY JMP STARTPRG3: MOV P1,#00H;P1口輸實(shí)驗(yàn)用于輸入時先置位口內(nèi)鎖存器從P1 口讀入開關(guān)狀態(tài),取低兩位轉(zhuǎn)移表首地址送 DPTR向P1 口輸出0FFH,發(fā)光二極管全滅此時 K1=0,K2=0只點(diǎn)亮L1、L2,表示左轉(zhuǎn)彎此時 K1=1,K2=0再熄滅0.5秒延時0.5秒只點(diǎn)亮L5、L6,表示右轉(zhuǎn)彎此時 K1=0,K2=1發(fā)光二極管全亮,此時K1=1,K2=1JMP STARTDELAY: MOV R1,#

11、5;延時0.5秒DEL1: MOV R2,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3DJNZ R2,DEL2DJNZ R1,DEL1 RET END 七、程序框圖實(shí)驗(yàn)五 簡單I /O口擴(kuò)展實(shí)驗(yàn)一交通燈限制實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模? .學(xué)習(xí)在單片機(jī)系統(tǒng)中擴(kuò)展簡單I/0接口的方法.2 .學(xué)習(xí)數(shù)據(jù)輸出程序的設(shè)計方法.3 .學(xué)習(xí)模擬交通燈限制的實(shí)現(xiàn)方法. 二、實(shí)驗(yàn)設(shè)備:CPU 掛箱、8031CPUII塊 三、實(shí)驗(yàn)內(nèi)容:擴(kuò)展實(shí)驗(yàn)箱上的74LS273做為輸出口,限制八個發(fā)光二極管亮滅,模擬交通燈治理. 四、實(shí)驗(yàn)原理:要完成小實(shí)驗(yàn),首先必須了解交通路燈的亮滅規(guī)律.l小實(shí)驗(yàn)需要用

12、到實(shí)驗(yàn)箱上八個發(fā)光二極管巾的六個,即紅、黃、綠各兩個.不妨將I. 1紅、L2 %錄、I_3黃做為東西方向的指示燈,將 L5紅、L6綠、L7黃做為 南北方向的指示燈.而交通燈的亮滅規(guī)律為:初始態(tài)是兩個路口的紅燈全亮, 之后,東西路lq的綠燈亮,南北路口的紅燈亮,東西方向通車,延時一段 時間后,東西路口綠燈滅,黃燈開始閃爍.閃爍假設(shè)干次后,東西路口紅燈亮, 而同時南北路口的綠燈亮,南北方向開始通車,延時一段時間后,南北路 n 的綠燈滅,黃燈開始閃爍.閃爍假設(shè)干次后,再切換到東兩路口方向,重復(fù)上 述過程.各發(fā)光二極管的陽極通過保護(hù)電阻接到十5v的電源上,陰極接到輸入端上,因此使其點(diǎn)亮應(yīng)使相應(yīng)輸入端為

13、低電平. 五、實(shí)驗(yàn)原理圖六、實(shí)驗(yàn)步驟:74LS273 的輸出0007接發(fā)光二極管 LIL8 , 74LS273的片選 CS273接片選信號CSO.運(yùn)行實(shí)驗(yàn)程序,觀察LED顯示情況是否與實(shí)驗(yàn)內(nèi)容相符.七、程序框圖:八、參考程序;74LS273的輸出0007接發(fā)光二極管 L1L8;4LS273的片選CS273接片選信號CS0NAME T3;I/O口擴(kuò)展實(shí)驗(yàn)一PORT EQU 0CFA0H;片選地址CS0CSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV A,#11H;兩個紅燈亮,黃燈、綠火火ACALL DISP;調(diào)用273顯不單兀以卜雷同ACALL DE3

14、S ;延時3秒LLL: MOV A,#12H;東四路口綠川鳧;南北路口紅燈亮ACALL DISPACALL DE10S ;延時10秒MOV A,#10H;東四路口綠火火;南北路口紅燈亮ACALL DISPMOV R2,#05H;R2中的值為黃燈閃爍次數(shù)TTT: MOV A,#14H;東四路口黃燈鳧;南北路口紅燈亮ACALL DISPACALL DE02S ;延時0.2秒MOV A,#10H;東四路口黃貨火;南北路口紅燈亮ACALL DISPACALL DE02S ;延時0.2秒DJNZ R2,TTT ;返回III,使東四路口 ;黃久閃爍九次MOV A,#11H;兩個紅燈亮,黃燈、綠火火ACAL

15、L DISPACALL DE02S ;延時0.2秒MOV A,#21H;東四路口紅外鳧;南北路口綠燈亮ACALL DISPACALL DE10S ;延時10秒MOV A,#01H;東四路口紅外鳧;南北路口綠燈滅ACALL DISPMOV R2,#05H;黃燈閃爍五次GGG: MOV A,#41H;東四路口紅外鳧;南北路m黃燈亮ACALL DISPACALL DE02S ;延時0.2秒MOV A,#01H;東四路口紅外鳧;南北路Pt燈滅ACALL DISPACALL DE02S;DJNZ R2,GGG;MOV A,#03H;ACALL DISP ACALL DE02S ;JMP LLL ;DE1

16、0S: MOV R5,#100;JMP DE1DE3S: MOV R5,#30;JMP DE1DE02S: MOV R5,#02;DE1: MOV R6,#200DE2: MOV R7,#126DE3: DJNZ R7,DE3DJNZ R6,DE2DJNZ R5,DE1延時0.2秒返回GGG使南北路口 ;黃燈閃爍五次兩個紅燈亮,黃燈、綠燈滅延時0.2秒轉(zhuǎn)LLL循環(huán)延時10秒延時3秒延時0.2秒RETDISP: MOV DPTR,#PORT ;273 顯示單元 CPL A MOVX DPTR,ARETEND實(shí)驗(yàn)六中斷實(shí)驗(yàn)一有急救車的交通燈限制實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模? .學(xué)習(xí)外部中斷技術(shù)的根本使用方法

17、.2 .學(xué)習(xí)中斷處理程序的編程方法.二、實(shí)驗(yàn)設(shè)備:CPJ 掛箱、803ICPIJ 模塊 三、實(shí)驗(yàn)內(nèi)容:在實(shí)驗(yàn)三的內(nèi)容的根底上增加允許急救車優(yōu)先通過的要求.當(dāng)有急救車到達(dá)時,兩個方向上的紅燈亮,以便讓急救車通過,假定急救車通過路口的時間為10秒,急救車通過后,交通燈恢復(fù)中斷前的狀態(tài).本實(shí)驗(yàn)以單脈沖 為中斷申請,表示有急救車通過. 四、實(shí)驗(yàn)原理:交通燈的燃滅規(guī)律見實(shí)驗(yàn)三.本實(shí)驗(yàn)中斷處理程序的應(yīng)用,最主要的地方是如何保護(hù)進(jìn)入中斷前的狀態(tài),使得中斷程序執(zhí)行完畢后能回到交通燈中斷前的狀態(tài).要保護(hù)的地方, 除了累加器A、標(biāo)志存放器PSW#,還要注意:一是主程序巾的延時程序和 中斷處理程序中的延時程序不能混

18、用,本實(shí)驗(yàn)給出的程序中,主程序延時用的是RS Ra R7,中斷斷延日用的是 R3 R4和新的R5.第二,主程序巾每 執(zhí)行一步經(jīng)74LS273的端口輸出數(shù)據(jù)的操作時,應(yīng)先將所輸出的數(shù)據(jù)保存到一個單元巾.由于進(jìn)入中斷程序后也要執(zhí)行往74LS273端口輸出數(shù)據(jù)的操作,中斷返回時如果沒有恢復(fù)中斷前74LS273端口鎖存器的數(shù)據(jù), 那么顯示往往出錯,回不到中斷前的狀態(tài).還要注意一點(diǎn),主程序中往端口輸出數(shù)據(jù)操作要先保存再輸出,例如有如下操作:MOV A , #0F0H 0 MOVX R1 , A 1 MOV SAVE . , A 2程序如果止好執(zhí)行到1時發(fā)生巾斷,那么轉(zhuǎn)入中斷程序,假設(shè)中斷程序 返回主程序

19、前需要執(zhí)行MOV A,SAVE指令,由于主程序沒有執(zhí)行2,故SAVE中的內(nèi)容實(shí)際上時前一次放入的而不是0語句中給出的0F0H,顯示出錯,將1、2兩句順序顛倒一下沒問題.發(fā)生中斷時兩方向的紅燈一 起亮10秒,然后返回到中斷前的狀態(tài) 五、實(shí)驗(yàn)原理同一個實(shí)驗(yàn) 六、實(shí)驗(yàn)步驟74LS273的輸出0007接發(fā)光二極管 LIL8 , 74LS273的片選 cs273 接片選信號 CS2,此時74LS273的片選地址為 CFB0HCFB7比間任選.單脈沖輸出端P一接CPU上的INT0O 七、程序框圖主理序程圖屋時冽J _|東酒電口 FW愚市j混口紅打橫NAME T5;OUTPORT EQU 0CFB0HSAV

20、E EQU 55HCSEG AT 0000H中斷限制實(shí)驗(yàn)端口地址保存從端口 CFB0輸出的數(shù)據(jù)印前一_ _廠 _菁用入憂L一匚操作端口使紅燈型范痔室備1| 一咖 型酊M所怪麗觸塞修出,依JU5麗醫(yī)jJ反美.襁外一中斷點(diǎn)標(biāo)志鳥.1 中斷醺一|工燈第1I-時瞪1I1同E麗理燈無樂為虺口班睡一 1 1:近珀析_ I胸讖用腳兩廠_南北re 口黃力閃的次,二丁,I網(wǎng)虹燈曼:一I :料一八、參考程序;74LS273的輸出O卜O7接發(fā)光二極管 L1L8;74LS273的片選接片選信號CS2,;單脈沖輸出端 P-接CPU板上的INT0.LJMP START中斷向量為 0003HCSEG AT 0003HLJM

21、P INTCSEG AT 4100HSTART: SETB IT0SETB EX0SETB EAMOV A,#11H;置首顯示碼MOV SAVE,A;保存ACALL DISP ;顯示輸出ACALL DE3S ;延時 3 秒LLL: MOV A,#12H;東西路口綠燈亮,南北路口紅燈亮MOV SAVE,AACALL DISPACALL DE10S ;延時 10 秒MOV A,#10H;東西路口綠燈滅MOV SAVE,AACALL DISPMOV R2,#05H;東西路口黃燈閃爍 5次TTT: MOV A,#14HMOV SAVE,AACALL DISPACALL DE02S ;延時 0.2 秒M

22、OV A,#10HMOV SAVE,AACALL DISPACALL DE02S ;延時 0.2 秒DJNZ R2,TTTMOV A,#11H;紅燈全亮MOV SAVE,AACALL DISPACALL DE02S ;延時 0.2 秒MOV A,#21H;東西路口紅燈亮,南北路口綠燈亮MOV SAVE,AACALL DISPACALL DE10S;延時 10 秒MOV A,#01H;南北路口綠燈滅MOV SAVE,AACALL DISPMOV R2,#05H;南北路口黃燈閃爍 5次GGG: MOV A,#41HMOV SAVE,AACALL DISPACALL DE02SMOV A,#01Hc

23、fa0 端口MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,GGG MOV A,#11H;MOV SAVE,A ACALL DISP ACALL DE02S ;JMP LLL ; DE10S: MOV R5,#100JMP DE1 DE3S: MOV R5,#30JMP DE1 DE02S: MOV R5,#02 DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3DJNZ R6,DE2DJNZ R5,DE1 RETINT: CLR EA PUSH ACCPUSH PSWMOV A,R5 PUSH ACCMOV

24、 A,R2 PUSH ACCMOV A,#11H;ACALL DISP DEL10S: MOV R3,#100 DEL1: MOV R2,#200 DEL2: MOV R5,#126 DEL3: DJNZ R5,DEL3DJNZ R2,DEL2DJNZ R3,DEL1 MOV A,SAVE ;ACALL DISP POP ACC ;紅燈全亮延時0.2秒 轉(zhuǎn)LLL循環(huán) 延時10秒延時3秒延時0.2秒中斷處理紅燈全亮,綠、黃燈全滅延時10秒取SAVE中保存數(shù)據(jù)輸出到出棧MOV R2,APOP ACCMOV R5,APOP PSWPOP ACCSETB EA ;允許外部中斷RETIDISP: MOV

25、 DPTR,#OUTPORTCPL AMOVX DPTR,ARETEND實(shí)驗(yàn)七定時器實(shí)驗(yàn)循環(huán)彩燈實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模? .學(xué)習(xí)8031內(nèi)部計數(shù)器的使用和編程方法.2 .進(jìn)一步掌握中斷處理程序的編寫方法.二、實(shí)驗(yàn)設(shè)備:CPU 掛箱、8031CPUII塊三、實(shí)驗(yàn)原理:1 .定時常數(shù)確實(shí)定定時器/計數(shù)器的輸入脈沖周期與機(jī)器周期一樣,為振蕩頻率的1/12.本實(shí)驗(yàn)的時鐘頻率為 6MHZ現(xiàn)要采用中斷方法來實(shí)現(xiàn) 0. 5秒延時,要 在定日器1中設(shè)置一個時間常數(shù),使其每隔 0. 1秒產(chǎn)生一次中斷,CPU響 應(yīng)中斷后將 R0中計數(shù)值減一,令 R0=05H,即可實(shí)現(xiàn)0. 5秒延時.X=3CAFH ,故初始值為 TH

26、l=3CH, TLl=AFH2 .初始化程序包括定時器初始化和中斷系統(tǒng)初始化,主要是對IP、IE、TCON TMOD的相應(yīng)位進(jìn)行正確的設(shè)置,并將時間常數(shù)送入定時器中.由于只有定時器中斷,IP便不必設(shè)置.3 .設(shè)計中斷效勞程序和主程序中斷效勞程序除了要完成計數(shù)減一工作外,還要將時間常數(shù)重新送入定時器中,為下一次中斷做準(zhǔn)備. 主程序那么用來限制發(fā)光二極管按要求順序燃 滅.四、實(shí)驗(yàn)要求由8031內(nèi)部定時器1按方式1工作,即作為16位定時器使用,每0. 1 秒鐘T1溢出中斷一次.P1 口的P1.0P1.7分別接發(fā)光二極管的 L1L8. 要求編寫程序模擬一循環(huán)彩燈.彩燈變化把戲可自行設(shè)計.例程給出的變化

27、把戲?yàn)椋篖1、L2、L8依次點(diǎn)亮;L1、L2、L8依次熄滅:I_1、L2、 L8全亮、全滅.各時序間隔為0.5秒.讓發(fā)光二極管按以上規(guī)律循環(huán)顯示下去.五、實(shí)驗(yàn)電路P1 口的P1.0P1.7分別接發(fā)光二極管的 L1L8即可.六、參考程序;P1.0P1.7分別接發(fā)光二極管 L1L8NAME T6 ;定時器實(shí)驗(yàn)OUTPORT EQU 0CFB0HCSEG AT 0000H LJMP STARTCSEG AT 001BH LJMP INTCSEG AT 4100H START: MOV A,#01H ;MOV R1,#03H ;03 MOV R0,#5H ;05 MOV TMOD,#10H ; MOV

28、 TL1,#0AFH ;MOV TH1,#03CH ORL IE,#88H ;CPU ;1SETB TR1 ;LOOP1: CJNE R0,#00,DISP MOV R0,#5H ;R0 INC R1 ;CJNE R1,#31H,LOOP2 MOV R1,#03H ;LOOP2: MOV A,R1 ; MOVC A,A+PC定時器/計數(shù)器1中斷程序入口地址首顯示碼是偏移量,即從基址存放器到表首的距離是計數(shù)值計數(shù)器置為方式1裝入時間常數(shù)中斷開放標(biāo)志位和定時器溢出中斷允許位均置位開始計數(shù)計數(shù)計完一個周期,重置初值表地址偏移量加1如到表尾,那么重置偏移量初值從表中取顯示碼入累加器JMP DISPDB

29、 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0FEH,0FCHDB 0F8H,0F0H,0E0H,0C0H,80H,00H,0FFH,00H,0FEHDB 0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,0BFH,0DFHDB 0EFH,0F7H,0FBH,0FDH,0FEH,00H,0FFH,00HDISP: ;MOV DPTR,#OUTPORT;MOVX DPTR,AMOV P1,A ;JMP LOOP1INT: CLR TR1 ;DEC R0 ;MOV TL1,#0AFH ;MOV TH1,#03CHSETB TR1 ;RETI ;將取得的顯

30、示碼從 P1 口輸出顯示停止計數(shù)計數(shù)值減一重置時間常數(shù)初值開始計數(shù)中斷返回END七、程序框圖主程序框圖中新程序稠圖附錄:EL-MUT-8051-Keil C模塊使用指導(dǎo)1仿真芯片資源介紹:1、支持Keil C環(huán)境下的匯編、C;2、完全仿真P0、P1、P2 口;3、可以設(shè)置單步全速斷點(diǎn)運(yùn)行方式;4、可以查閱變量RAM xdata等數(shù)據(jù);5、仿真器占用了單片機(jī)的串行口和定時器2的資源以及局部程序空間.6、從0地址開始仿真.用匯編時,注意中斷矢量單元為標(biāo)準(zhǔn)設(shè)置如:外部中斷0為0003H, T0溢出中斷為000BH.2硬件準(zhǔn)備:1、把EL-MUT-8051-Keil C 模塊才f入EL-MUT-III

31、 實(shí)驗(yàn)箱或?qū)嶒?yàn)臺的 CPU® 座.EL-MUT-8051-Keil C模塊上的40腳單片機(jī)管座上需插有“達(dá)盛 仿真芯片,不能換為其它單片機(jī)芯片2、 將交叉串口電纜的一端針形口與 EL-MUT-8051-Keil C模塊左 側(cè)的串行插口孔形口插座連接,另一端孔形口與 PC機(jī)的 COM煌接.3、翻開EL-MUT-III實(shí)驗(yàn)箱或?qū)嶒?yàn)臺電源開關(guān),通電.3軟件設(shè)置:Keil C軟件環(huán)境的安裝請參照安裝程序包中的安裝說明文件.1、翻開Keil C 環(huán)境.三口區(qū)Proiiri! WcrkmiE*HJH Ovh RM /: Jvfss2、新建工程或翻開工程文件:在主菜單上選“ Project 項(xiàng),在

32、下拉 列表中選擇“ New Project 新建工程,瀏覽保存工程文件為擴(kuò)展 名為".Uv2的文件.或在下拉列表中選擇" Open project 翻開 已有的工程文件.-ssn-Fie Edit Wew Prci|Kt Oehug A ash Per1±ffirak Tpok 如.Wrdaw Help 查瑞;a加聃l制傳|包 |麗西已輪網(wǎng)曲 ,.片成I3Pw|xl "OrkpasLrc-aLe: few Prniect憫桐fX: | 口 g二 3 也層FM停':叵交件名妙:1廠保在竟色的毋可=d hl*牛.3J二j3、環(huán)境設(shè)置:新建工程文件后,

33、在工具欄中選擇如下列圖選項(xiàng)設(shè)置調(diào)試參數(shù)及運(yùn)行環(huán)境三工或從主菜單'Targetl ' ",翻開如下列圖“Project 項(xiàng)中選擇 " Options for Target設(shè)置窗口.lest -J* F 加上 E*二冏更2m 史前承聲2 1( 1 R r的Ho<n>Mr Target l-orveft 1Davies | Ou-L-pnl | Li ch i n(: | CEI i£ I | 3LEL Lctca11 | HJ5 j Uj 庭Mini* | Vial i 1 l-it |1乜曲“I: pVwidw. gntrigDt?i r

34、i BCEL f Vuri uiIe)WS-5mIT" Ub» "Ex/fd«a j-urr 口51J -i HEtead of BLEI Un Ex Lr>£«S q/nLl.r I J iuA0日 口1 AUil的ElE國HI1 all lt S-aaa canic i-r 4 | Di f e 111 Cori Davi ger.%LpU nIanyxG«Ci 齒 iifi_ SOL till TU LUIIE _J鈍堂皿1 FfcfL muMl kuti CMS ir Mt: Micr4ctntj«l

35、lir vlUi32 工2 IlmXj £ TiaiiFx/Caun!.!«- , 5 Int«rroplL/2 Tra cri tj- :Lml.毓Byt«s 檀 1孤即tH ffirfbij解鵬Fhs 1: ° iMw cai y.i a. _J C16& (fell riTLUtK.定 I 期葩 III I ,- Hui Id A CdTfl-jnd i Frd m Firilovft km .<在 Device 項(xiàng)下選擇要仿真的芯片類型,如: Generic - > 8051.在“Target 項(xiàng)下的晶振設(shè)置中修改為

36、硬件電路所用晶振頻率,如:6MHz選擇適宜存儲模式.在“Output項(xiàng)下如在 Creat HEX File選項(xiàng)前打勾,那么在編譯的同時生成可下載執(zhí)行的 HEX文件,用仿真芯片仿真時可以不進(jìn)行此項(xiàng)設(shè)置.在"Debug項(xiàng)下選擇"Use: Keil Moniter-51 Driver 使用硬件仿-口n2 -國£拈 dr few rmkc buq f如h FeriErql;工ok jyC5 wrdo he暹1百I 何昌ReadyI叵溝 I ftw I I BM 發(fā)點(diǎn)擊“Settings 按鈕,進(jìn)入串口選擇及波特率設(shè)置窗口如下列圖所示選擇適宜的波特率及串口號.aSerial

37、 Interrupt 項(xiàng)不可選,把前面的勾打掉.點(diǎn) OK保存設(shè)置.在"Option for Target 'Targetl '窗口中,點(diǎn)確定,退出環(huán)境設(shè) 置.4、新建文件:在主菜單的“ File 下拉列表中選“ New新建文件. 編輯文件并保存文件.文件保存為擴(kuò)展名為“ .C或" .ASM'的文件.5、添加文件:在左邊的"Project Window/,窗口中,用右鍵選取"SourceGroup 1,在彈出的列表中選擇" Add Files to Group 'Source Group 1",彈出瀏覽窗

38、口.瀏覽添加編輯好的 C或ASM文件.添加完畢點(diǎn)“ Close,關(guān)閉窗口.rest WhImi? IDiUEEJ'iJhIjcIP) Bfe gt Sew Protect Det-ug F|®h Fnpherafc 8ds SyU 'ndw* tkt-11 范1衛(wèi)國 j£ 回 ci: US'在技而也E: 3g)r版.值15二J文件名圓文首匏身qj: |亡"ufh(*. e)/窗口 0|上啦?H庠/% q冷溶廠悒營阿眄商上塾旦©嗦笆西任|承3B tj T«srt:三MW 5M> I.國 5TAftTUP.A5ji BuM A CowFd )i Rfrf ki Fl« /S3LW 口 IMJM詠 /這時發(fā)現(xiàn)添加的文件名已出現(xiàn)在“Project Window/'窗口中.雙擊剛添加的C或ASM文件.翻開編輯文件窗口.!?!Test - 畫nnZ - IMTE5TTe$tx|-1 Eie Edt Ern:tct Aug Flarfi pE(ti:r<3t 1pds CS ®ndcw Eeh,1 X|生匈S gfQ 0 t 串口儀|正聲F觸ia與g國自趣r,國奉因西/ X

溫馨提示

  • 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

提交評論