51單片機(jī)實(shí)驗(yàn)及代碼_第1頁
51單片機(jī)實(shí)驗(yàn)及代碼_第2頁
51單片機(jī)實(shí)驗(yàn)及代碼_第3頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)實(shí)驗(yàn)實(shí)驗(yàn)一:開發(fā)環(huán)境的應(yīng)用(1)將數(shù)據(jù)存儲(chǔ)器的40H-4FH的內(nèi)容復(fù)制成OOH-OFH,并將40H-4FH的內(nèi)容整體復(fù)制到外部數(shù)據(jù)存儲(chǔ)器的1050H-105FH.(2)P1 口接八只二極管,使二極管逐個(gè)循環(huán)點(diǎn)亮ORG 0000HAJMP STARTORG 0100HSTART:MOV A,#00HMOV R0,#40HLOOP:MOV R0,AINC AINC R0CJNE A,#10 H,L OOPSECOND:MOV DPTR,#1050HMOV R1,#40HCOPY:MOV A,R1MOVX DPTR,AINC DPTRINC R1CJNE R1,#50H,COPYSJMP $E

2、ND實(shí)驗(yàn)二:外部中斷(1)用單脈沖信號(hào)申請中斷,在中斷服務(wù)程序中對(duì)輸出信號(hào)進(jìn)行翻轉(zhuǎn)(可通過P1.0接一二極管觀察)ORG 0000HLJMP STARTORG 0003HLJMP INTORG 0100HSTART:SETB EXOSETB PXOSETB ITOSETB EASJMP $INT:CPL P1.0RETIEND(2)用單脈沖信號(hào)申請中斷,要求對(duì)中斷進(jìn)行累加計(jì)數(shù),并將計(jì)數(shù)結(jié)果顯示在二極管上ORG 0000HLJMP STARTORG 0003HLJMP INTORG 0100HSTART:MOV A,#00HMOV P1,ASETB EX0SETB PX0SETB IT0SETB

3、 EASJMP $INT:MOV P1,AINC ARETIEND實(shí)驗(yàn)三:定時(shí)器實(shí)驗(yàn)(1)用定時(shí)器1的方式1定時(shí),P1.0節(jié)發(fā)光二極管,使二極管每秒閃爍五次ORG 0000HLJMP MAINORG 001BHLJMP INTORG 0100HMAIN:MOV TMOD,#10H;50ms x 2 = 100msMOV TH1,#3CHMOV TL1,#0B0HMOV R2,#2SETB EASETB ET1SETB TR1SJMP $INT:DJNZ R2,NEXTCPL P1.0MOV R2,#2NEXT:MOV TH1,#3CHMOV TL1,#0B0HSETB TR1RETIEND(2

4、)用定時(shí)器1的方式2計(jì)數(shù),T1引腳接單脈沖,用P1 口接二極管顯示計(jì)數(shù)。ORG 0000HLJMP MAINORG 001BHLJMP LOOPORG 0100HMAIN:MOV TMOD,#60HMOV TH1,#00HMOV TL1,#00HSETB EASETB ET1SETB TF1SETB TR1SJMP $LOOP:MOV P1,TL1LJMP LOOPRETIEND實(shí)驗(yàn)四:串行通信波特率2400 bit/s 。PC發(fā)送8個(gè)字節(jié)的數(shù)據(jù)給單片機(jī),單片機(jī)接受完數(shù)據(jù)后發(fā)送兩個(gè)字節(jié)55H和AAH給PC機(jī)(使用查詢方式)。ORG 0000HAJMP MAINORG 0030HMAIN:MOV

5、 SCON,#50HMOV PCON,#00HMOV TMOD,#20HSETB TR1MOV TL1,#0F3HMOV TH1,#0F3HLOOP:MOV R0,#30HMOV R1,#08HWAIT1:JBC RI,RECEIVESJMP WAIT1RECEIVE:MOV A,SBUFMOV R0,AINC R0DJNZ R1,WAIT1MOV A,#55HMOV SBUF,AWAIT21:JBC TI,SENDSJMP WAIT21SEND:MOV A,#0AAHMOV SBUF,AWAIT22:JNB TI,WAIT22CLR TISJMP LOOPEND實(shí)驗(yàn)五:數(shù)碼管顯示及鍵盤掃描(

6、1)將30H-32H中存儲(chǔ)的6位十進(jìn)制數(shù)在6個(gè)數(shù)碼管上顯示出來(要 求編寫一個(gè)將內(nèi)存單元中的壓縮BCD碼轉(zhuǎn)換為兩個(gè)七段顯示碼的子程序和延時(shí)子程序)ORG 0000HLJMP MAINORG 0030HMAIN:MOV 30H,#12HMOV 31H,#34HMOV 32H,#56HMOV R0,#30HMOV R1,#20HBCD:MOV A,R0SWAP AANL A,#0FHACALLCTABMOV R2,AMOV A,R0ANL A,#0FHACALLCTABMOV R3,AMOV DPTR,#8002HMOV A,R1MOVX DPTR,AMOV DPTR,#8004HMOV A,R2

7、MOVX DPTR,AMOV A,R1RR AMOV R1,ALCALL DLEYMOV DPTR,#8002HMOV A,R1MOVX DPTR,AMOV DPTR,#8004HMOV A,R3MOVX DPTR,AMOV A,R1RR AMOV R1,ALCALL DLEYINC ROCJNE R0,#33H,BCDLJMP MAINCTAB:PUSH DPHPUSH DPLMOV DPTR,#TABMOVC A,A+DPTRPOP DPLPOP DPHRETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH, 39H,5EH,79H

8、,71HDLEY:MOV R7,#02HDL:MOV R6,#0FFHDL1:DJNZ R6,DL1DJNZ R7,DLRETEND(2)掃描矩陣鍵盤,將對(duì)應(yīng)鍵盤值送LED顯示ORG 0000HLJMP STARTORG 1000HSTART:ACALL KEY1AJMPSTARTKEY1: ACALL KEY14JNZKEY3KEY2: ACALL KEY16AJMPKEY1KEY3: ACALL KEY16ACALLDELAYACALLKEY14JNZKEY4ACALLKEY16AJMPKEY1KEY4: MOV R2, #0FEHMOVR4, #00HKEY5: MOV DPTR,#80

9、02HMOVA, R2MOVXDPTR, AMOVDPTR,#8001HMOVXA,DPTRJB ACC.0,KEY6MOVA, #00HAJMPKEY9KEY6: JBACC.1,KEY7MOVA, #06HAJMPKEY9KEY7: JBACC.2,KEY8MOVA, #0CHAJMPKEY9KEY8: JBACC.3, KEY12MOVA, #12HKEY9: ADD A, R4KEY10: MOV R5,AKEY11: ACALL KEY14JNZ KEY11MOV A,R5ACALL KEY15RETKEY12: INC R4MOV A, R2JNB ACC.5,KEY13RL AM

10、OV R2, AAJMP KEY5KEY13: AJMP KEY1KEY14: MOV DPTR,#8002HMOVA,#00HMOVXDPTR,AMOVDPTR,#8001HMOVXA,DPTRCPLAANLA, #0FHRETKEY15: MOV DPTR,#TABLEMOVC A,A+DPTRMOV R3,AKEY16: MOV DPTR,#8002HMOV A,#01HMOVX DPTR,AMOV DPTR,#8004HMOV A,R3MOVX DPTR,AACALL DELAYRETDELAY: MOV R7,#12LOOP: MOV R6,#250DJNZ R6,$DJNZ R7,

11、LOOPRETTABLE:DB7EH,7EH,5EH,79H,71H,3FH,7EH,7EH,39H,4FH,5BH,06H,7EH,7EH,7CH,7DH,6DH,66H,7EH,7EH,77H,6FH,7FH,07HEND實(shí)驗(yàn)六:D/A和A/D(1)利用實(shí)驗(yàn)箱上的電位器提供模擬量輸入,將模擬量轉(zhuǎn)換成二進(jìn)制數(shù)字量,將轉(zhuǎn)換的結(jié)果用P1 口輸出到二極管顯示;ORG 0000HLJMP MAINORG 0100HMAIN:MOV DPTR,#8000HMOV A,#00HMOVX DPTR,AMOV R2,#100DJNZ R2,$MOVX A,DPTRMOV P1,ALJMP MAINEND(2

12、)用DAC0832各一個(gè)數(shù)值轉(zhuǎn)換為模擬電壓,該模擬電壓接ADC0809的一個(gè)模擬輸入進(jìn)行模/數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)果通過P1 口送到二極管顯示。ORG 0000HLJMP MAINORG 0100HMAIN:MOV A,#90HMOV DPTR,#9000HMOVX DPTR,AMOV DPTR,#8000HMOVX DPTR,AMOV R2,#64HDJNZ R2,$MOVX A,DPTRMOV P1,ASJMP $END實(shí)驗(yàn)七:電子鐘實(shí)現(xiàn)一個(gè)24小時(shí)制的電子鐘程序,在6個(gè)數(shù)碼管上顯示時(shí)分秒(用定時(shí)器0中斷更新計(jì)時(shí),以壓縮 BCD碼形式保存在內(nèi)部 RAM的30H31H和32H單元);可以通過串行口調(diào)

13、時(shí)!ORG 0000HAJMP MAINORG 000BHLJMP CLOCKORG 0023HLJMP INPUTORG 0100HMAIN:MOV TMOD,#21HCLR AMOV 30H,AMOV 31H,AMOV 32H,AMOV TH0,#3CHMOV TL0,#0B0HMOV 50H,#14H;50 * 20MOV TH1,#0F3HMOV TL1,#0F3H;波特率MOV SCON,#50HSETB PSMOV IE,#92HSETB TR1SETB TR0SLED:MOV R0,#30HMOV R1,#20HLJMP LEDCLOCK:MOV TH0,#3CHMOV TL0,

14、#0B0HDJNZ 50H,RETURNMOV 50H,#14HMOV A,#01HADD A,32HDA AMOV 32H,ACJNE A,#60H,RETURNMOV 32H,#00HMOV A,#01HADD A,31HDA AMOV 31H,ACJNE A,#60H,RETURNMOV 31H,#00HMOV A,#01HADD A,30HDA AMOV 30H,ACJNE A,#24H,RETURNMOV 30H,#00HRETURN:RETILED:MOV A,R0SWAP AANL A,#0FHACALL CTABMOV R2,AMOV A,R0ANL A,#0FHLCALL CTABMOV R3,AMOV DPTR,#8002HMOV A,R1MOVX DPTR,AMOV DPTR,#8004HMOV A,R2MOVX DPTR,AMOV A,R1RR AMOV R1,ALCALL DLYMOV DPTR,#8002HMOV A,R1MOVX DPTR,AMOV DPTR,#8004HMOV A,R3MOVX DPTR,AMOV A,R1RR AMOV R1,ALCALL DLYINC ROCJNE R0,#33 H,L EDLJMP SLEDCTAB:PUSH DPHPUSH DPLMOV DPTR

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論