單片機(jī)操作教案_第1頁(yè)
單片機(jī)操作教案_第2頁(yè)
單片機(jī)操作教案_第3頁(yè)
單片機(jī)操作教案_第4頁(yè)
單片機(jī)操作教案_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、PAGE PAGE 41試題編號(hào)3301控制要求:在內(nèi)部RAM中20H開始的區(qū)域中存有二十個(gè)無(wú)符號(hào)數(shù),找出其中最大和最小數(shù),分別送34H和35H單元。(注:目標(biāo)程序于0800H單元開始) ORG 0000HLJMP MAINORG 0800HMAIN : MOV R0, #20H ;從內(nèi)部20H單元開始查找 MOV R7, #19 ;20個(gè)數(shù)需要比較19次 MOV 34H , R0 ;將20H單元的內(nèi)容同時(shí)送34H和35H MOV 35H, R0 LOOP : INC R0 ;指向下一個(gè)單元 MOV A , R0 ; 讀取到ACC CJNE A , 34H , B1 ;將讀取的內(nèi)容與34H的內(nèi)

2、容進(jìn)行比較,不相等跳B1處 SJMP EXIT ;相等則不作其它比較跳EXIT處B1 : JC XIAO ;若A的內(nèi)容小于34H的內(nèi)容則C為1,跳XIAO處 MOV 34H , A ;C為0表明A大于34H的內(nèi)容則替換掉34H的內(nèi)容 SJMP EXIT ;替換后退出不作最小數(shù)比較XIAO : CJNE A , 35H , B2 ;作最小數(shù)比較,不相等跳B2處 SJMP EXIT ;相等退出到EXIT處B2 : JNC EXIT ;若A的內(nèi)容大于35H的內(nèi)容跳EXIT處 MOV 35H , A ;若A的內(nèi)容小于35H的內(nèi)容則替換掉35H的內(nèi)容EXIT : DJNZ R7 , LOOP ;判斷比較

3、次數(shù)是否完畢 SJMP $ ;比較完畢原地等待 END3102控制要求:利用8031定時(shí)器與中斷功能控制一個(gè)“航標(biāo)燈”,黑夜時(shí)發(fā)光二極管按指定頻率閃爍(如:亮2S,滅2S,循環(huán));白天時(shí)發(fā)光二極管不亮。電路圖:PP1.0INT018031LEDR110kVT9013R2200P3.25V12Rp10k光敏電阻電路工作原理:白天光敏電阻阻值小,使P3.2輸入電位為高電平,不產(chǎn)生中斷,使LED滅。晚上光敏電阻阻值變大,使P3.2的輸入電位為低電平,這時(shí)產(chǎn)生中斷,中斷使LED閃爍。只要是在晚上要求LED一直閃爍。所以中斷應(yīng)該采用電平觸發(fā)方式。調(diào)試方法: 接好電路,編好程序,使光敏電阻暴露在光線下,調(diào)

4、節(jié)Rp到最小值,這時(shí)LED應(yīng)該閃爍。慢慢調(diào)大Rp的阻值,使LED剛剛滅,保持Rp這時(shí)的阻值即可。當(dāng)用手遮住光敏電阻的光線,LED就會(huì)閃爍。編程思路: 使用定時(shí)器T0,方式1。所以TMOD=0 0 0 0 0 0 0 1 即:01H 使用指令: MOV TMOD , #01H 每50ms中斷一次當(dāng)晶振為12MHZ時(shí),1us加一。50ms50000us。所以賦初值為 655365000015536 ,將15536轉(zhuǎn)換為十六進(jìn)制為3CB0H 高八位送TH0, 第八位送TL0. 使用指令: MOV TH0 , #3CH MOV TL0 , #0B0H 當(dāng)晶振為6MHZ時(shí),2us加一。50ms50000

5、us,50000/225000 所以賦初值為 655362500040536 ,將40536轉(zhuǎn)換為十六進(jìn)制為9E58H 高八位送TH0, 第八位送TL0 , 使用指令 :MOV TH0 , #9EH MOV TL0 , #58H當(dāng)晶振為11.0592MHZ時(shí), 12/11.0592 us加一。 50ms50000us, 50000*11.0592/1246080 所以賦初值為 655364608019456 ,將19456轉(zhuǎn)換為十六進(jìn)制為4C00H 高八位送TH0, 第八位送TL0 , 使用指令 :MOV TH0 , #4CH MOV TL0 , #00H因?yàn)?0ms閃爍一次太快,當(dāng)要求2S進(jìn)

6、行一次閃爍時(shí)則需要中斷2S/50ms40次。參考程序:(以12MHZ為例)ORG 0000H AJMP MAIN ORG 0003H;外部中斷0的中斷入口地址 AJMP HYSD MAIN:MOV TMOD,#01H ;設(shè)置T0工作方式1,且為定時(shí) MOV IE,#81H ;CPU開中斷和外部中斷0開中斷 BT:CLR P1.0 SJMP BT ;白天滅LED且等待中斷 HYSD:SETB P1.0 ;亮LED MOV RO,#40 ;定時(shí)40次,即:50ms*402S(這里亮2S) LP:MOV TH0,#3CH ;賦初值MOV TL0,#0B0H SETB TR0 ;啟動(dòng)定時(shí)JNB TF0

7、,$ ;等待50ms定時(shí)到,定時(shí)到后TF0為1CLR TF0 ;軟件清除T0的溢出標(biāo)志位TF0DJNZ R0,LP ;判斷是否有40次T0定時(shí)MOV R0 , #20LP1: MOV TH0 , #3CH MOV TL0 , #0B0H SETB TR0 JNB TF0 , $ CLR TF0 DJNZ R0 , LP1JNB P3.2,HYSD RETI 18句 試題編號(hào)3105考題:循環(huán)點(diǎn)亮8個(gè)發(fā)光二極管??刂埔螅豪米笠苹蛴乙浦噶顝淖笙蛴尹c(diǎn)亮并循環(huán)n次,或從右向左點(diǎn)亮并循環(huán)n次,循環(huán)完畢全部熄滅。(循環(huán)順序及次數(shù)由考評(píng)員現(xiàn)場(chǎng)指定)高電單片機(jī)實(shí)操程序1.電路原理圖:80318031P1.

8、0P1.7R0R7200LED0LED7CC4011CC40115V11234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD P3.0TXD P3.1INT0 P3.2INT1 P3.3T0 P3.4T1 P3.5WR P3.6RD P3.7XTAL2XTAL1Vss4039383736353433323130292827262524232221VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.

9、1P2.0803180518751+5V+5V1213141110981234567CC4011Vcc4A4B4Y3Y3B3A1A1B1Y2Y2A2BVss2.電路工作原理:根據(jù)電路原理圖可知:當(dāng)某位輸出為高電平時(shí)對(duì)應(yīng)的LED發(fā)光。要求從左向右移動(dòng)時(shí)先從P1口輸出10000000即:80H這時(shí)LED7亮,其它滅,亮的時(shí)間可以通過(guò)延時(shí)確定。當(dāng)向P1口送01000000即:40H這時(shí)LED6亮,其它滅,依次類推。所以可以通過(guò)RR A指令實(shí)現(xiàn)。 從左向右移動(dòng)參考程序:ORG 0000HMOV R7 , #40 ;循環(huán)5次,一次需要依次點(diǎn)亮8個(gè)LED,所以為40MOV A , #80H;送初值給累加器

10、ACC,如果向左移動(dòng)就用MOV A , #01HLOOP : MOV P1, A;送P1口進(jìn)行LED顯示ACALL DELAY ;顯示的時(shí)間通過(guò)延時(shí)子程序決定RR A ;將A的內(nèi)容循環(huán)右移動(dòng)一位,如果向左移動(dòng)就用RL ADJNZ R7 , LOOP ;判斷循環(huán)是否完畢 MOV P1, #00H SJMP $ ;完畢后等待DELAY: MOV R4,#5 ;延時(shí)0.5S子程序(fOSC=6MHZ),如fOSC=12MHZ,用#10D0: MOV R5,#125 ;5*2usD1: MOV R6,#200 ;125*5*2*2usD2: DJNZ R6,D2 ;200*125*5*2*2us DJ

11、NZ R5,D1 ;125*5*2*2us DJNZ R4,D0 ;5*2us RET END從右向左移動(dòng)參考程序:ORG 0000HMOV R7 , #32 ;循環(huán)4次,一次需要依次點(diǎn)亮8個(gè)LED,所以為32MOV A , #01H;送初值給累加器ACC用MOV A , #01H亮LED0LOOP : MOV P1, A;送P1口進(jìn)行LED顯示ACALL DELAY ;顯示的時(shí)間通過(guò)延時(shí)子程序決定RL A ;將A的內(nèi)容循環(huán)左移動(dòng)一位DJNZ R7 , LOOP ;判斷循環(huán)是否完畢 MOV P1, #00H SJMP $ ;完畢后等待DELAY: MOV R4,#5 ;延時(shí)0.5S子程序(fO

12、SC=6MHZ),如fOSC=12MHZ,用#10D0: MOV R5,#125 ;5*2usD1: MOV R6,#200 ;125*5*2*2usD2: DJNZ R6,D2 ;200*125*5*2*2us DJNZ R5,D1 ;125*5*2*2us DJNZ R4,D0 ;5*2us RET END從左向右移動(dòng)3次,然后從右向左移動(dòng)2次參考程序:ORG 0000HMOV R7 , #24 ;循環(huán)3次,一次需要依次點(diǎn)亮8個(gè)LED,所以為24MOV A , #80H;送初值給累加器ACCLOOP : MOV P1, A;送P1口進(jìn)行LED顯示ACALL DELAY ;顯示的時(shí)間通過(guò)延時(shí)

13、子程序決定RR A ;將A的內(nèi)容循環(huán)右移動(dòng)一位DJNZ R7 , LOOP ;判斷循環(huán)是否完畢 MOV P1, #00HMOV R7 , #16 ;循環(huán)2次,一次需要依次點(diǎn)亮8個(gè)LED,所以為16MOV A , #01H;送初值給累加器ACCLOOP1 : MOV P1, A;送P1口進(jìn)行LED顯示ACALL DELAY ;顯示的時(shí)間通過(guò)延時(shí)子程序決定RL A ;將A的內(nèi)容循環(huán)右移動(dòng)一位DJNZ R7 , LOOP1 ;判斷循環(huán)是否完畢 MOV P1, #00H SJMP $ ;完畢后等待DELAY: MOV R4,#5 ;延時(shí)0.5S子程序(fOSC=6MHZ),如fOSC=12MHZ,用#

14、10D0: MOV R5,#125 ;5*2usD1: MOV R6,#200 ;125*5*2*2usD2: DJNZ R6,D2 ;200*125*5*2*2us DJNZ R5,D1 ;125*5*2*2us DJNZ R4,D0 ;5*2us RET END高電實(shí)操3103: 計(jì)數(shù)報(bào)警考題:利用8031計(jì)數(shù)器,當(dāng)計(jì)數(shù)滿n個(gè)后LED發(fā)光二極管發(fā)光報(bào)警。計(jì)數(shù)脈沖用消抖動(dòng)開關(guān)產(chǎn)生??刂埔螅喊窗粹o開關(guān) n次,發(fā)光二極管發(fā)光。+5V12131411109+5V1213141110981234567CC4011Vcc4A4B4Y3Y3B3A1A1B1Y2Y2A2BVss56R3R45.1kELD

15、VT901310k2005VCC40115.1kJAT0(P3.4)P1.080315VR1R211412345V2.電路工作原理:考題要求,每按下一次按鈕時(shí)計(jì)數(shù)一次,通過(guò)程序設(shè)定計(jì)數(shù)次數(shù),按下次數(shù)到后LED亮(P1.0輸出高電平)。根據(jù)硬件結(jié)構(gòu)可知:按鍵輸入為計(jì)數(shù)器T0。所以T0在這里不能作為定時(shí)器,而是作為計(jì)數(shù)器。所以TMOD=0000 0100 (13位計(jì)數(shù)器)采用指令MOV TMOD, #04H或TMOD=0000 0101(16位計(jì)數(shù)器)采用指令MOV TMOD,#05H或TMOD=0000 0110(自動(dòng)重裝入8位計(jì)數(shù)器)采用指令MOV TMOD ,#06H輸入管腳P3.4如果直接

16、通過(guò)開關(guān)接入的話,會(huì)有很大的干擾,也就是按下或松開時(shí)會(huì)有抖動(dòng),造成按下一次可能會(huì)計(jì)數(shù)若干次。所以采用兩個(gè)與非門組成一個(gè)觸發(fā)器進(jìn)行抗干擾(防抖動(dòng)電路)解法一:用模式1,不可循環(huán)START:MOV TMOD,#05H ;設(shè)置T0為16位計(jì)數(shù)器MOV TH0,#0FFH ;賦初值此處計(jì)數(shù)10次。因?yàn)?6位最多可計(jì)數(shù)65536 MOV TL0, #0F6H ;次,初值賦6553610655260FFF6H SETB TR0 ;啟動(dòng)計(jì)數(shù)器 CLR P1.0 ;計(jì)數(shù)未到滅LED JNB TF0, $ ;等待計(jì)數(shù)到。如果計(jì)數(shù)到則TF0自動(dòng)變?yōu)椤?” SETB P1.0 ;計(jì)數(shù)到亮LEDSJMP $ ;等待

17、END解法二:用模式2,可循環(huán)START:MOV TMOD,#06H ;模式2,自動(dòng)重裝入8位計(jì)數(shù)器 CLR P1.0;開始滅LED MOV TH0, #0F6H ;賦初值,模式2最多可計(jì)數(shù)256次。這里為10次 MOV TL0, #0F6H;初值為256102460F6H,模式2賦初值一樣 SETB TR0;啟動(dòng)計(jì)數(shù)器 LP: JBC TFO, REP;計(jì)數(shù)未滿順序執(zhí)行,滿則跳REP同時(shí)將TF0清零。 SJMP LPREP: CPL P1.0;將輸出狀態(tài)取反,SJMP LP;跳LP等待下次計(jì)數(shù)10次END高電考題3104:數(shù)碼管顯示考題:利用8031串行口和74LS164移位寄存器驅(qū)動(dòng)數(shù)碼管

18、??刂埔螅簲?shù)碼管依次按指定的順序循環(huán)并顯示數(shù)字。aabcdefgh5V2208R18CL3161BS5V1478031P3.0(RXD)P3.1(TXD)P1.01011174LS164Q0Q1Q2Q3Q4Q5Q6Q7ABCKR1289VssVcc20405V1.電路原理圖:2.電路工作原理要求從串口將數(shù)據(jù)發(fā)送出去,所以串口為工作方式0,也就是使SCON0000000000RITIRB8TB8SM0RENSM2SM1SM000RITIRB8TB8SM0RENSM2SM1SM0:工作方式0為移位寄存器:工作方式0為移位寄存器當(dāng)執(zhí)行MOV A ,#3FH MOV SBUF , A 時(shí),其發(fā)送動(dòng)作

19、為:P3.0(RXD)端送數(shù)據(jù),低位在前,高位在后。P3.1(TXD)輸出移位脈沖。示意如下: 3FH = 0011 1111當(dāng)八位數(shù)字發(fā)送完畢后單片機(jī)自動(dòng)將TI置1,沒(méi)有發(fā)送完畢TI始終為0根據(jù)硬件可知,P3.0接在74LS164的數(shù)據(jù)輸入端,P3.1接在74LS164的時(shí)鐘端。而74LS164的功能為:第一個(gè)時(shí)鐘來(lái)了將數(shù)據(jù)輸入端的狀態(tài)移位到Q7端,Q7的狀態(tài)到Q6端依次類推最后Q1的狀態(tài)到Q0端,Q0狀態(tài)丟失。第二個(gè)時(shí)鐘脈沖來(lái)到再作一次全體移動(dòng)。所以當(dāng)來(lái)了8個(gè)時(shí)鐘脈沖后。 原來(lái)第一次Q7的狀態(tài)就到了Q0。也就是當(dāng)數(shù)據(jù)端隨著時(shí)鐘脈沖同步輸出00111111時(shí),8個(gè)時(shí)鐘脈沖過(guò)后74LS164的

20、Q7Q0輸出也為00111111,這時(shí)會(huì)使共陰數(shù)碼管顯示一個(gè)“3”。3.參考程序例如:規(guī)定按1、3、5、7、9、2、4、6、8、0、A、B、C、D、E、F、-、P、 、熄滅 順序循環(huán)顯示。法一. START:MOV SCON,#00H ;串口為工作方式0,8位移位寄存器方式 MOV R0,#0 ;送偏移量初值 MOV DPTR,#TAB ;送表頭首地址給DPTR,也就是表06H所在的地址 LP:MOV A,R0 MOVC A,A+DPTR ;查表,將查的的數(shù)據(jù)送ACC CPL A ;如果為共陽(yáng)LED就加上此句,否則不加 MOV SBUF,A ;送串口進(jìn)行發(fā)送 JNB TI,$ ;發(fā)送未完TI為

21、0就等待,完則TI為1順序執(zhí)行 CLR TI ;發(fā)送結(jié)束標(biāo)志必須用軟件清零 INC R0 ;偏移量加一 ACALL DELY ;調(diào)延時(shí),也就是LED顯示一位數(shù)字的時(shí)間 CJNE R0,#20,LP ;因?yàn)楸砀裼?0個(gè)字節(jié)數(shù)據(jù),所以這里為20 SJMP START ;從頭在來(lái),無(wú)限循環(huán)下去 TAB: DB 06H, 4FH, 6DH, 07H, 6FH, 5BH, 66H, 7DH, 7FH, 3FH (共陰) DB 77H, 7CH, 39H, 5EH, 79H, 71H, 40H, 73H, 80H, 00H DELY: MOV R4,#5 ;延時(shí)0.5S子程序(fOSC=6MHZ),如fO

22、SC=12MHZ,用#10 D0: MOV R5,#125 D1: MOV R6,#200 D2: DJNZ R6,D2 DJNZ R5,D1 DJNZ R4,D0 RET 思考題:如果顯示為循環(huán)顯示8051CPU,每次間隔1秒,共大循環(huán)5次。試試如何改動(dòng)程序。試題編號(hào)(3106) 霓虹燈控制控制要求:實(shí)現(xiàn)8個(gè)發(fā)光二極管從兩邊向中間或從中間向兩邊依次循環(huán)點(diǎn)亮來(lái)模擬霓虹燈效果,循環(huán)n次后全部熄滅。1. 電路原理圖+5V+5V1213141110981234567CD401111234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1

23、.7RST/VPDRXD P3.0TXD P3.1INT0 P3.2INT1 P3.3T0 P3.4T1 P3.5WR P3.6RD P3.7XTAL2XTAL1Vss4039383736353433323130292827262524232221VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080318051875174LS0474LS04Vcc14Vss1785VPP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78031VccVssLED2. 電路工作原

24、理 根據(jù)硬件可知: P1口某位輸出為高電平,則對(duì)應(yīng)的LED發(fā)光.示意圖如下:LED0LED1LED2LED3LED4LED5LED6LED7LED0LED1LED2LED3LED4LED5LED6LED7如果要使得LED4和LED3亮,則P1口應(yīng)該輸出為: 00011000 即:18H 輸出狀態(tài)為:如果要使得LED5和LED2亮,則P1口應(yīng)該輸出為: 00100100 即:24H 輸出狀態(tài)為:如果要使得LED6和LED1亮,則P1口應(yīng)該輸出為: 01000010 即:42H 輸出狀態(tài)為:如果要使得LED7和LED0亮,則P1口應(yīng)該輸出為: 10000001 即:81H 輸出狀態(tài)為:因此,如果希

25、望LED輸出狀態(tài)由中間向兩邊亮,則表格按照順序填寫: 18H,24H,42H,81H 即可.根據(jù)此原理,無(wú)論狀態(tài)如何變化都有對(duì)應(yīng)的數(shù)據(jù).3.參考程序:從中間向兩邊亮,每次點(diǎn)亮0.5S 共6個(gè)循環(huán)后結(jié)束.ORG 0000HMOV DPTR , #LED ;送表首地址給DPTRMOV R7, #6 ;此程序共6個(gè)循環(huán)LOOP1 : MOV R0 , #0 ;送偏移量初值LOOP :MOV A , R0MOVC A, A+DPTR ;查表MOV P1 , A ;送P1口進(jìn)行顯示ACALL DELAY ;調(diào)用顯示時(shí)間INC R0 ;偏移量加一 CJNE R0 , #4 ,LOOP ;表格里個(gè)數(shù)據(jù)沒(méi)循環(huán)

26、完跳LOOPDJNZ R7 , LOOP1 ;6次沒(méi)有循環(huán)完跳LOOP1 MOV P1 , #00HSJMP $LED : DB 18H , 24H , 42H , 81H DELAY :;延時(shí)秒程序思考題:從兩邊向中間亮,每次狀態(tài)亮秒,共個(gè)大循環(huán)后結(jié)束先從兩邊向中間亮次,再?gòu)闹虚g向兩邊亮次,共個(gè)循環(huán)試卷編號(hào)(3107) :算術(shù)運(yùn)算器控制要求:分別在內(nèi)部RAM中20H單元和30H單元置入兩個(gè)數(shù),進(jìn)行(20H+30H)30H的算術(shù)運(yùn)算,將運(yùn)算結(jié)果通過(guò)串口通訊方式用LED顯示出來(lái)。(提示:運(yùn)算值不超過(guò)“F”)參考電路aabcdefgh5V2208R18CL3161BS5V1478031P3.0(R

27、XD)P3.1(TXD)P1.01011174LS164Q0Q1Q2Q3Q4Q5Q6Q7ABCKR1289VssVcc20405V11234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD P3.0TXD P3.1INT0 P3.2INT1 P3.3T0 P3.4T1 P3.5WR P3.6RD P3.7XTAL2XTAL1Vss4039383736353433323130292827262524232221VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROG

28、PSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.08031805187512.電路工作原理:與試題編號(hào)3104的硬件一樣,工作原理相同。3.參考程序: ORG 0000H MOV A , 20H ;將20H的內(nèi)容送累加器ACC ADD A , 30H ;將A的內(nèi)容與30H的內(nèi)容相加 MOV B , 30H ;將30H的內(nèi)容送寄存器B MUL AB ;將A的內(nèi)容與B的內(nèi)容相乘,低八位送ACC,高八位送B MOV DPTR, #TAB ;送顯示0F的數(shù)據(jù)表格的表首地址到DPTR MOVC A , A+DPTR ;查表 MOV SBUF, A ;從串口發(fā)送進(jìn)行顯示 JNB TI

29、 , $ ;等待發(fā)送完畢 CLR TI SJMP $TAB : DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH DB 6FH, 77H, 7CH, 39H, 5EH, 79H,71H END試卷編號(hào)(3108):繼電器控制實(shí)訓(xùn)目的掌握軟件延時(shí)程序,根據(jù)要求熟練編寫不同的延時(shí)時(shí)間程序。掌握隔離輸出的常用方式之一:繼電器隔離輸出 2. 控制要求:設(shè)計(jì)程序使P10反復(fù)輸出高、低電平,通過(guò)繼電器控制LED1和LED2輪流點(diǎn)亮。程序采用軟件延時(shí)n秒。(延時(shí)時(shí)間由考評(píng)員現(xiàn)場(chǎng)指定,閃爍時(shí)間15S)3.參考電路圖:KAKAKA繼電器同相驅(qū)動(dòng)器74LS07P1.08

30、031VssVcc40205V5VLED1LED2R1220R22201N4001D14.工作原理: 當(dāng)P1.0輸出為高電平時(shí),經(jīng)過(guò)同相器74LS07后輸出也為高電平,這時(shí)KA兩端電壓相等,KA不動(dòng)作。這時(shí)LED1得電亮。當(dāng)P1.0輸出為低電平時(shí),74LS07輸出也為低電平。KA得電吸合。這時(shí)LED2亮。二極管D是為了續(xù)流而設(shè)。當(dāng)P1.0輪流輸出高低電平,則LED1和LED2輪流被點(diǎn)亮。5.參考程序:(該參考程序在12MHZ的晶振下運(yùn)行,每1.5S兩LED改變一次狀態(tài)) ORG 0000HSTART : CPL P1.0 ;此程序每隔相同時(shí)間P1.0輸出取反一次,相隔時(shí)間由子 ACALL DE

31、LAY ;程序DELAY的延時(shí)時(shí)間決定 SJMP STARTDELAY : MOV R6 , #15 ;此程序約為1.5S(稍微大于1.5S) M : MOV R5 , #200 N : MOV R4 , #250 DJNZ R4 , $ ;此句執(zhí)行時(shí)間為:2*1us*250*200*151.5S DJNZ R5 , N DJNZ R6 , M RET END6.思考題: 單片機(jī)復(fù)位后先亮LED1 時(shí)間為1S。再亮LED2,時(shí)間為2.5秒。循環(huán)不止。試卷編號(hào)(3109):倒計(jì)時(shí)音樂(lè)報(bào)警器實(shí)訓(xùn)目的:熟悉簡(jiǎn)單的按鍵輸入進(jìn)行控制設(shè)備和顯示2. 控制要求:按下起動(dòng)按鈕,數(shù)碼管從“90”按遞減順序顯示,

32、當(dāng)顯示到“0”時(shí),音樂(lè)響起,按下停止按鈕,音樂(lè)停止。3. 參考電路圖:5V5Vabcdefgh2208R18CL3161BS5V1478031P3.0(RXD)P3.1(TXD)P1.01011174LS164Q0Q1Q2Q3Q4Q5Q6Q7ABCKR1289VssVcc20405V音樂(lè)芯片ZLGGTR9 22080.5W揚(yáng)聲器5VVssVccP1.1P3.2P3.3QATA信號(hào)4. 工作原理: 單片機(jī)復(fù)位后先置P1.1為低電平然后等待啟動(dòng)按鈕QA啟動(dòng),啟動(dòng)后數(shù)碼管先顯示9,隔段時(shí)間后顯示8。依次往下顯示。到顯示0后置P1.1輸出為高電平,這時(shí)音樂(lè)芯片加上了工作電壓開始工作。揚(yáng)聲器就開始發(fā)音。

33、當(dāng)停止按鈕(TA)按下,音樂(lè)停止。5.參考程序: ORG 0000H CLR P1.1 JB P3.2 , $ MOV DPTR, #TAB MOV R0 , #0CONT1 : MOV A, R0 MOVC A , A+DPTR MOV SBUF , ALP1 : JBC TI , LPSJMP LP1 LP : CJNE A , #3FH , CONTSETB P1.1JB P3.3 , $CLR P1.1SJMP $CONT : ACALL DELAYSJMP CONT1TAB : DB 6FH , 7FH , 07H , 7DH, 6DH , 66H , 4FH , 5BH , 06H

34、 , 3FHDELAY : MOV R7 , #10 M : MOV R6 , :,$ DJNZ R6 , N DJNZ R7 , M RET END試卷編號(hào)(3110):數(shù)據(jù)傳送實(shí)訓(xùn)目的:熟練掌握單片機(jī)在執(zhí)行數(shù)據(jù)傳送和堆棧指令時(shí)內(nèi)部的變化情況 2. 控制要求:把20H單元開始的外部RAM單元中的8個(gè)數(shù)據(jù)送到30H單元開始的外部RAM單元中;存取要求:源數(shù)據(jù)存儲(chǔ)地址及目的地?cái)?shù)據(jù)存儲(chǔ)地址使用堆棧。在脫機(jī)運(yùn)行下的參考程序: ORG 0000H MOV 70H,#20H MOV 71H,#30H MOV R7,#8LOOP : PUSH 71H PUSH 70H INC 70H INC 71H DJ

35、NZ R7,LOOP MOV R7,#8 MOV DPH,#00HLOOP1 : POP DPL MOVX A,DPTR POP DPL MOVX DPTR,A DJNZ R7,LOOP1 SJMP $ END循環(huán)燈點(diǎn)亮(高電實(shí)操題3105)循環(huán)點(diǎn)亮8個(gè)發(fā)光二極管LED。要求:按規(guī)定的順序依次點(diǎn)亮8個(gè)LED(每個(gè)亮0.5S),循環(huán)N次。要求:按D1、D2、D3、D4、D5、D6、D7、D8順序依次點(diǎn)亮(每個(gè)亮0.5S),循環(huán)3次。解:START:MOV R1,#3 LP0: MOV R0,#0 MOV DPTR,#TAB LP: MOV A,R0 MOVC A,A+DPTR MOV P1,A

36、ACALL DELY INC R0 CJNE R0,#8,LP DJNZ R1,LP0 MOV P1,#00H SJMP $ TAB: DB 01H,02H,04H,08H,10H,20H,40H,80H DELY: MOV R4,#5 ;延時(shí)0.5S子程序(fOSC=6MHZ),如fOSC=12MHZ,用#10 D0: MOV R5,#125 D1: MOV R6,#200 D2: DJNZ R6,D2 DJNZ R5,D1 DJNZ R4,D0 RET ;共20句計(jì)數(shù)報(bào)警(高電實(shí)操3103) 用8031計(jì)數(shù)器T0,當(dāng)計(jì)滿n個(gè)數(shù)后,發(fā)光二極管LED發(fā)光報(bào)警。計(jì)數(shù)脈沖用消抖動(dòng)開關(guān)產(chǎn)生,設(shè)n =

37、 10。用模式2,可循環(huán)解法一:START:MOV TMOD,#05H 法二:START:MOV TMOD,#06H不可循環(huán) MOV TH0,#0FFH CLR P1.0 MOV TL0, #0F6H MOV TH0, #0F6H SETB TR0 MOV TL0, #0F6H CLR P1.0 SETB TR0 JNB TF0, $ LP: JBC TFO, REP SETB P1.0 SJMP LP SJMP $ REP: CPL P1.0 SJMP LP“航標(biāo)燈”(高電實(shí)操題3102) 利用8031定時(shí)器與中斷功能控制一個(gè)“航標(biāo)燈”,要求:黑夜時(shí)發(fā)光二極管按指定的頻率閃爍(例如:亮2s、

38、滅2s、循環(huán));白天時(shí)發(fā)光二極管不亮。用定時(shí)器T0,定時(shí)50ms,模式1,加軟件延時(shí)到2s。 TMOD=00000001=01H fosc=12MHzT0計(jì)數(shù)初值X = 10000H -1250103/12=3CB0H用RO軟件計(jì)數(shù) 2s/ 50ms =40 ORG 0000H AJMP MAIN ORG 0003H AJMP HYSD MAIN:MOV TMOD,#01H MOV IE,#81H BT:CLR P1.0 SJMP BT HYSD:CPL P1.0 MOV RO,#40 LP:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR T

39、F0 DJNZ R0,LP JNB P3.2,HYSD RETI 18句 數(shù)碼管顯示(高電實(shí)操題3104)利用8031串行口和74LS164驅(qū)動(dòng)一個(gè)數(shù)碼管,要求:數(shù)碼管依次按指定的順序循環(huán)并顯示數(shù)字。例如:規(guī)定按1、3、5、7、9、2、4、6、8、0、A、B、C、D、E、F、-、P、 、熄滅 順序循環(huán)顯示。法一. START:MOV SCON,#00H MOV R0,#0 MOV DPTR,#TAB LP:MOV A,R0 MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI INC R0 ACALL DELY CJNE R0,#20,LP SJMP START T

40、AB: DB 06H, 4FH, 6DH, 07H, 6FH, 5BH, 66H, 7DH, 7FH, 3FH (共陰) DB 77H, 7CH, 39H, 5EH, 79H, 71H, 40H, 73H, 80H, 00H DELY: MOV R4, #10 ;延時(shí)0.5s子程序( fosc=12MHz ) RETMOV R0,#20HMOV R1,#19MOV 34H,R0MOV 35H,R0START : INC R0 MOV A,R0 CJNE A,34H,M SJMP EXITM : JC N MOV 34H,A SJMP EXITN : CJNE A,35H,S SJMP EXIT

41、S : JNC EXIT MOV 35H,AEXIT : DJNZ R1,START SJMP $ END高電單片機(jī)實(shí)操程序循環(huán)燈點(diǎn)亮(高電實(shí)操題3105)循環(huán)點(diǎn)亮8個(gè)發(fā)光二極管LED。要求:按規(guī)定的順序依次點(diǎn)亮8個(gè)LED(每個(gè)亮0.5S),循環(huán)N次。要求:按D1、D2、D3、D4、D5、D6、D7、D8順序依次點(diǎn)亮(每個(gè)亮0.5S),循環(huán)3次。解:START:MOV R1,#3 LP0: MOV R0,#0 MOV DPTR,#TAB LP: MOV A,R0 MOVC A,A+DPTR MOV P1,A ACALL DELY INC R0 CJNE R0,#8,LP DJNZ R1,LP0

42、 MOV P1,#00H SJMP $ TAB: DB 01H,02H,04H,08H,10H,20H,40H,80H DELY: MOV R4,#5 ;延時(shí)0.5S子程序(fOSC=6MHZ),如fOSC=12MHZ,用#10 D0: MOV R5,#125 D1: MOV R6,#200 D2: DJNZ R6,D2 DJNZ R5,D1 DJNZ R4,D0 RET ;共20句計(jì)數(shù)報(bào)警(高電實(shí)操3103) 用8031計(jì)數(shù)器T0,當(dāng)計(jì)滿n個(gè)數(shù)后,發(fā)光二極管LED發(fā)光報(bào)警。計(jì)數(shù)脈沖用消抖動(dòng)開關(guān)產(chǎn)生,設(shè)n = 10。用模式2,可循環(huán)解法一:START:MOV TMOD,#05H 法二:STAR

43、T:MOV TMOD,#06H不可循環(huán) MOV TH0,#0FFH CLR P1.0 MOV TL0, #0F6H MOV TH0, #0F6H SETB TR0 MOV TL0, #0F6H CLR P1.0 SETB TR0 JNB TF0, $ LP: JBC TFO, REP SETB P1.0 SJMP LP SJMP $ REP: CPL P1.0 SJMP LP“航標(biāo)燈”(高電實(shí)操題3102) 利用8031定時(shí)器與中斷功能控制一個(gè)“航標(biāo)燈”,要求:黑夜時(shí)發(fā)光二極管按指定的頻率閃爍(例如:亮2s、滅2s、循環(huán));白天時(shí)發(fā)光二極管不亮。用定時(shí)器T0,定時(shí)50ms,模式1,加軟件延時(shí)到

44、2s。 TMOD=00000001=01H fosc=12MHzT0計(jì)數(shù)初值X = 10000H -1250103/12=3CB0H用RO軟件計(jì)數(shù) 2s/ 50ms =40 ORG 0000H AJMP MAIN ORG 0003H AJMP TNT MAIN:MOV TMOD,#01H MOV IE,#81H BT:CLR P1.0 SJMP BT TNT:CPL P1.0 MOV RO,#40 LP:MOV TH0,#3CH ;如果是11.0592MHZ則TH0=4BH TL0=FEH MOV TL0,#0B0H ;如果是6MHZ則TH0=9EH TL0=58HSETB TR0 JNB T

45、F0,$ CLR TF0 DJNZ R0,LP JNB P3.2,TNT RETI 18句 數(shù)碼管顯示(高電實(shí)操題3104)利用8031串行口和74LS164驅(qū)動(dòng)一個(gè)數(shù)碼管,要求:數(shù)碼管依次按指定的順序循環(huán)并顯示數(shù)字。例如:規(guī)定按1、3、5、7、9、2、4、6、8、0、A、B、C、D、E、F、-、P、 、熄滅 順序循環(huán)顯示。法一. START:MOV SCON,#00H MOV R0,#0 MOV DPTR,#TAB LP:MOV A,R0 MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI INC R0 ACALL DELY CJNE R0,#20,LP SJMP START TAB: DB 06H, 4FH, 6DH, 07H, 6FH, 5BH, 66H, 7DH, 7FH, 3FH (共陰) DB 77H, 7CH, 39H, 5EH, 79H, 71H, 40H, 73H, 80H, 00H DELY: MOV R4, #10 ;延時(shí)0.5s子程序( fosc=12MHz ) RETMOV R0,#20HMOV R1,#19MOV 34H,R0MOV 35H,R0ST

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論