單片機(jī)實(shí)習(xí)報(bào)告(WORD檔)_第1頁(yè)
單片機(jī)實(shí)習(xí)報(bào)告(WORD檔)_第2頁(yè)
單片機(jī)實(shí)習(xí)報(bào)告(WORD檔)_第3頁(yè)
單片機(jī)實(shí)習(xí)報(bào)告(WORD檔)_第4頁(yè)
單片機(jī)實(shí)習(xí)報(bào)告(WORD檔)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精品單片機(jī)實(shí)習(xí)報(bào)告 項(xiàng)目一一要求二原理圖三程序ORG 0000H :程序初值LJMP START;轉(zhuǎn)到開始ORG 001BH;斷程序初值LJMP INT;轉(zhuǎn)到中斷程序START:MOV A,#0FEH;主程序初值 MOV R1,#02H ;地址偏移量 MOV R0,#20;延遲系數(shù) MOV TMOD,#10H,定時(shí)器方式一 MOV TL1,#0B0H;低八位 MOV TH1,#03CH;高八位 ORL IE,#88H;允許T1中斷 SETB TR1;啟動(dòng)定時(shí)器LOOP: CJNE R0,#00,DISP;比較是否到時(shí)間 MOV R0,#20;重置R0 INC R1;累加器加1 CJNE R1,

2、#20,LOOP2;比較是否到表尾 MOV R1,#02HR1等于02HLOOP2:MOV A,R1R1等于A MOVC A,A+PC基址加變址寄存器 JMP DISP;跳轉(zhuǎn)到DISP DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,00H,0FFH置首顯示碼量設(shè)地址偏移R1設(shè)延時(shí)系數(shù)R0DISP:MOV P2,A;用P2顯示A JMP LOOP;跳轉(zhuǎn)LOOPINT: DEC R0;R0減1 MOV TL1,#0B0H;低八位定時(shí)器初始化中斷設(shè)置(IE) MOV TH1,#03CH;高八位

3、四,算法 主程序2時(shí)間到?是重置R0RI加1判斷R1是否到表尾?是否到2否到1重置R11取顯示碼2顯示中斷子程序:中斷入口R0-1重裝計(jì)數(shù)初值中斷返回五問題為什么燈按順序亮,滅,全亮后,不能正常滅? 因?yàn)榻o的初值不對(duì),應(yīng)該為OFEH項(xiàng)目二一要求用硬件譯碼電路,在LED顯示器上循環(huán)顯示09十個(gè)數(shù)字二,電路圖三程序 ORG 0000HSTART:MOV SP,#60H MOV R3,#0 設(shè)定要顯示的第一個(gè)數(shù)字NEXT: MOV A,R3 ANL A,#0FH 屏蔽高半字節(jié) MOV P1,A 送顯示器 LCALL DEL_1S 停留1S INC R3 修改要顯示的數(shù)字 CJNE R3,#0AH,N

4、EXT 若09還未顯示一遍,則繼續(xù)顯示下一個(gè)數(shù)字 SJMP START 若顯示一遍,則再?gòu)?開始顯示 ORG 1000H 1S延遲子程序DEL_1S:MOV TMOD,#10H 定時(shí)器1, 方式1, 定時(shí)狀態(tài) MOV TL1,#0B0H MOV TH1,#3CH 送50ms定時(shí)處值 MOV R2,#20 設(shè)置軟件計(jì)數(shù)器,使20*50ms=1s SETB TR1 啟動(dòng)定時(shí)器1LOOP: JNB TF1,$ 判斷基本定時(shí)是否到(50ms) MOV TL1,#0B0H MOV TH1,#3CH 再送初值,保證每次的基本定時(shí)時(shí)間都是50ms CLR TF1 清除溢出標(biāo)志 DJNZ R2,LOOP 判斷

5、1s定時(shí)是否到 CLR TR1 關(guān)閉定時(shí)器1RET 1s定時(shí)結(jié)束END四,算法置首數(shù)字:0(R1)設(shè)延時(shí)系數(shù):20(R0)中斷初始化,設(shè)置IE,TMOD顯示否判斷R1=10?顯示判斷R0=0?是否R1加1是是把0送給R1五,問題為什么接好了電路圖,寫好了程序,燈還是不亮? 因?yàn)槌绦蚶锩娼拥搅薖1,而實(shí)際接到了P2,最后換了圖,才對(duì)了項(xiàng)目三一要求用軟件譯碼電路,在LED顯示器上顯示十六進(jìn)制09二電路圖三,程序 ORG 0000H STARY: MOV SP,#60H MOV R3,#0 ;設(shè)首顯示碼 MOV DPTR,#TAB NEXT: MOV A,R3 ANL A,#0FH ;屏蔽高字節(jié) M

6、OVC A,A+DPTR MOV P2,A ;送顯示 LCALL DELAY INC R3 ;R3加1 CJNE R3,#0AH,NEXT ;判斷R3與10 SJMP STARY ;顯示完了再?gòu)?開始 ORG 1000H DELAY: MOV TMOD,#10H MOV TL1,#0B0H ;設(shè)初值 MOV TH1,#3CH MOV R2,#20 SETB TR1 ;開定時(shí)器 LOOP: JNB TF1,$ ;判斷基本定時(shí)是否到 MOV TL1,#0B0H ;再設(shè)初值 MOV TH1,#3CH CLR TF1 ;清除溢出標(biāo)志 DJNZ R2,LOOP ;判斷1s定時(shí)是否到 CLR TR1 ;關(guān)

7、閉定時(shí)器1 RET TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END 四,算法,同二的算法一樣。項(xiàng)目四一要求用按鍵方式在數(shù)碼管上顯示099二電路圖三程序COUNT EQU 30HORG 0000HSTART: MOV COUNT,#00HNEXT: MOV A,COUNT MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,AWT: JNB SP1,WTWAIT: JB SP1,WAIT LCALL DELY10MS

8、JB SP1,WAIT INC COUNT MOV A,COUNT CJNE A,#100,NEXT LJMP START DELY10MS:MOV R6,#20 D1:MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END四,算法開始COUNT=0數(shù)碼管顯示“00”判斷按鍵測(cè)試是否成功是COUNT=COUNT+1COUNT=100?1否2233數(shù)碼管顯示1否問題1個(gè)位正常工作,十位不變,什么? 沒有把數(shù)據(jù)傳給P0項(xiàng)目五一,要求:讓彩燈先從里往外亮,再?gòu)耐馔锪粒?,電路圖

9、三,程序,ORG 0000HLJMP START:注釋同項(xiàng)目一ORG 001BHLJMP INTSTART: MOV A,#00H MOV R1,#02H MOV R0,#20 MOV TMOD,#10H MOV TL1,#0B0H MOV TH1,#03CH ORL IE,#88H SETB TR1LOOP: CJNE R0,#00,DISP MOV R0,#20 INC R1 CJNE R1,#12,LOOP2 MOV R1,#02HLOOP2: MOV A,R1 MOVC A,A+PC JMP DISP DB 00H DB 7EH,0BDH,0DBH,0E7H DB 0E7H,0DBH,

10、0BDH,7EH DB 0FFHDISP: MOV P0,A JMP LOOPINT: DEC R0 MOV TL1,#0B0H MOV TH1,#03CH RETIEND四,算法,同一算法一樣。項(xiàng)目六一要求,把做好的單片機(jī)下載到單片機(jī)里面,看看能不能發(fā)出滴答的響聲,二原理圖三程序TA EQU 30HTB EQU 31HFLAG BIT 00H ORG 00HLJMP STARTORG 0BHLJMP INT_T0START:MOV TA,#00HMOV TB,#00HCLR FLAGMOV TMOD,#01HMOV TH0,#(65536-50000)/256MOV TL0,#(65536-

11、50000) MOD 256SETB TR0SETB ET0SETB EASJMP $INT_T0:MOV TH0,#(65536-50000)/256MOV TL0,#(65536-50000) MOD 256INC TAMOV A,TACJNE A,#100,NEXTINC TBCJNE A,#04H,NEXTMOV TA,#00HMOV TB,#00HCPL FLAGNEXT:JB FLAG,DONEDONE:RETIEND四,算法開 始T02S=0,T05MS=0,FLAG=0TO初始化 TO啟動(dòng)定時(shí)并開啟中斷等待中斷T0中斷入口T02S+1TO2S=400?是FLAG取反FLAG=O

12、?是中斷返回1否12否2 五問題為什么把程序下載到單片機(jī)內(nèi),沒有聲音? 因?yàn)闆]有接到P3口項(xiàng)目七一要求用按鍵的方式,讓燈亮。二,原理圖三,程序,SECOND EQU 30HORG 0000HSTART:MOV SECOND,#00HNEXT:MOV A,SECOND MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,AWT:JNB SP1,WTWAIT:JB SP1,WAIT LCALL DELAY10MS JB SP1,WAIT INC SECOND MOV A,SECOND CJNE A,#9,NEXT MOV SECOND,#00H LJMP STARTDELAY

13、10MS:MOV R6,#20D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1RETTABLE:DB 0FH,0EH,0DH,0CH,0BH,0AH,09H,08H,07HEND四,算法開始 P3.4=0?是延時(shí)10msP3.4=0?是進(jìn)行按鍵處理等待按鍵釋放R1=R1+1顯 示11否否222項(xiàng)目八一要求用按鍵控制矩陣鍵盤二,原理圖三,程序KEYBUF EQU 30HORG 00HSTART:MOV P3,#00HWAIT:MOV P2,#0FFHMOV A,P2ANL A,#0FHXRL A,#0FHJ00Z NOKEY1LCALL DELY10MSMOV A,P2ANL

14、A,#0FHXRL A,#0FHJZ NOKEY1LCALL DELY10MSMOV A,P2ANL A,#0FHCJNE A,#0EH,NK1MOV KEYBUF,#0LJMP DK1NK1:CJNE A,#0DH,NK2MOV KEYBUF ,#4LJMP DK1NK2:CJNE A,#0BH,NK3MOV KEYBUF,#8LJMP DK1NK3:CJNE A,#07H,NK4MOV KEYBUF,#12LJMP DK1NK4:NOPDK1:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P3,ADK1A:MOV A,P2ANL A,#0FHXRL

15、 A,#0FHJNZ DK1ANOKEY1:MOV P2,#0FFH MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#1 LJMP DK2NK5:CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2NK6:CJNE A,#0BH,NK7 MOV KEYBUF ,#9 LJMP DK2NK7:CJNE A,#07H,NK8 MOV K

16、EYBUF,#13 LJMP DK2NK8:NOPDK2:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P3,ADK2A:MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK2ANOKEY2:MOV P2,#0FFHMOV A,P2ANL A,#0FHXRL A,#0FHJZ NOKEY3LCALL DELY10MSMOV A,P2ANL A,#0FHCJNE A,#0EH,NK9MOV KEYBUF,#2LJMP DK3NK9:CJNE A,#0DH,NK10MOV KEYBUF,#6LJMP DK3NK10:CJNE A

17、,#0BH,NK11 MOV KEYBUF,#10 LJMP DK3NK11:CJNE A,#07H,NK12 MOV KEYBUF,#14 LJMP DK3NK12:NOPDK3:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P3,ADK3A:MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK3ANOKEY3: MOV P2,#0FFH MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY4

18、 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#3 LJMP DK4NK13:CJNE A,#0DH,NK14 MOV KEYBUF,#7 LJMP DK4NK14:CJNE A,#0BH,NK15 MOV KEYBUF,#11 LJMP DK4NK15:CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4NK16:NOPDK4:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P3,A DK4A:MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK

19、4ANOKEY4:LJMP WAITDELY10MS:MOV R6,#10D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HEND四,算法項(xiàng)目九一要求用數(shù)字鐘,把你要顯示的東西顯示出來二,原理圖三,程序LED1 EQU 30H ;初始化定義LED2 EQU 31HLED3 EQU 32H ;存放三個(gè)數(shù)碼管的段碼ADC EQU 35H ;存放轉(zhuǎn)換后的數(shù)據(jù)EOC BIT P3.2 ;定義ADC0809的功能控制引腳ORG 00

20、00HLJMP MAIN ;跳轉(zhuǎn)到主程序執(zhí)行ORG 0030HMAIN: MOV LED1,#00H MOV LED2,#00H MOV LED3,#00H ;寄存器初始化WAIT: CLR ST SETB ST CLR ST ;在脈沖下降沿啟動(dòng)轉(zhuǎn)換 JNB EOC,$ ;等待轉(zhuǎn)換結(jié)束 SETB OE ;允許輸出信號(hào) MOV ADC,P0 ;暫存A/D轉(zhuǎn)換結(jié)果 CLR OE ;關(guān)閉輸出 MOV A,ADC ;將轉(zhuǎn)換結(jié)果放入A中,準(zhǔn)備個(gè)位數(shù)據(jù)轉(zhuǎn)換 MOV B,#85 DIV AB MOV LED1,A ;將變換后的個(gè)位值送顯示緩沖區(qū)LED1 MOV A,B ;將變換結(jié)果的余數(shù)放入A中,準(zhǔn)備十分位變換 MOV B,#33 ;變換十分位調(diào)整值3送B DIV AB MOV LED2,A ;將變換后的十分位值送LED2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論