版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Harbin Institute of Technology單片機原理與應(yīng)用實驗報告學(xué)生姓名:學(xué)號:班級:專業(yè):通信工程任課教師: 所 在 單 位:電子與信息工程學(xué)院2013年5月24 / 34文檔可自由編輯打印軟件實驗在軟件實驗部分,通過實驗程序的調(diào)試,使學(xué)生熟悉MCS-51的指令系統(tǒng),了解程序設(shè)計過程,掌握匯編語言設(shè)計方法以及如何使用實驗系統(tǒng)提供的調(diào)試手段來排除程序錯誤。實驗一 清零程序一、實驗?zāi)康?掌握匯編語言設(shè)計和調(diào)試方法,熟悉鍵盤操作。二、實驗內(nèi)容 把200020FFh的內(nèi)容清零。三、程序框圖四、實驗過程1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在“P
2、.”狀態(tài)下鍵入0640,然后按“STEP”或“EXEC”進(jìn)入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se01.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時,每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查2000H以后的存儲空間中執(zhí)行程序前后的內(nèi)容變化。五、實驗結(jié)果及分析運行程序前如下圖 運行程序后如下圖: 六、實驗源程序 ORG 0640H MOV DPTR,#2000H MOV R0,#00HLOOP: MOVX DPTR,A I
3、NC DPTR INC R0 CJNE R0,#00H,LOOP SJMP $ END實驗二拆字程序一、實驗?zāi)康恼莆諈R編語言設(shè)計和調(diào)試方法。二、實驗內(nèi)容把2000h的內(nèi)容拆開,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把數(shù)據(jù)送顯示緩沖區(qū)時用。三、程序流程四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在“P.”狀態(tài)下鍵入0660,然后按“STEP”或“EXEC”進(jìn)入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se02.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運
4、行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查20002002h中內(nèi)容變化情況。五、實驗結(jié)果及分析運行程序前2000H中內(nèi)容為34,運行程序后2001H中內(nèi)容為03,2002H中內(nèi)容為04.如果將2001h、2002h高位置1,將源程序中的ANL A,#0FH語句改為ORL A,#0F0H六 實驗源程序ORG 0000;MOV DPTR,#2000H;MOVX A,DPTR;ANL A,#0FH;MOV R1,A;MOVX A,DPTR;SWAP A;ANL A,#0FH;INC D
5、PTR;MOVX DPTR,A;INC DPTR;MOV A,R1;MOVX DPTR,A;END;實驗三拼字程序一、實驗?zāi)康倪M(jìn)一步掌握匯編語言設(shè)計和調(diào)試方法。二、實驗內(nèi)容把2000h、2001h的低位分別送入2002h高低位,一般本程序用于把顯示緩沖區(qū)的數(shù)據(jù)取出拼裝成一個字節(jié)。三、程序流程四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按"0EV/UN",裝載實驗所需的代碼程序。在“P.”狀態(tài)下鍵入0680,然后按“STEP”或“EXEC”進(jìn)入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se03.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢
6、查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查2002h內(nèi)容變化情況。五、實驗結(jié)果及分析運行程序后2002h的最終內(nèi)容是2B.六 實驗源程序ORG 0000H;MOV DPTR,#2000H;MOVX A,DPTR;ANL A,#0FH;SWAP A;MOV R1,A;INC DPTR;MOVX A,DPTR;ANL A,#0FH;ORL A,R1;INC DPTR;MOVX DPTR,A;END;實驗四數(shù)據(jù)區(qū)傳送子程序一、實驗?zāi)康恼莆誖AM中的數(shù)據(jù)操作。二、實驗內(nèi)容把R2
7、、R3源RAM區(qū)首址內(nèi)的R6、R7字節(jié)數(shù)據(jù)傳送到R4、R5目的RAM區(qū)。三、程序流程四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在“P.”狀態(tài)下鍵入07B0,然后按“STEP”或“EXEC”進(jìn)入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se04.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵檢查由R4、R5所定義的目的地址單元。五、實驗結(jié)果及分析R2、R3所定
8、義的目的地址單元內(nèi)容是20、00.R4、R5所定義的目的地址單元內(nèi)容是20、90.R6、R7所定義的目的地址單元內(nèi)容是00、00.六 實驗源程序 ORG 07B0H MOV R2,#20H MOV R3,#00H MOV R4,#20H MOV R5,#90H MOV R6,#00H MOV R7,#00HSTART: CLR C MOV DPL,R3 MOV DPH,R2 ;建立源程序首址 MOVX A,DPTR ;取數(shù) MOV DPL,R5 MOV DPH,R4 ;目的地首址 MOVX DPTR,A INC R3 ;源地址加1 MOV A,R2 ACALL ADB MOV R2,A INC
9、 R5 ;目的地址加1 MOV A,R4 ACALL ADB MOV R4,A INC R7 ;轉(zhuǎn)移數(shù)加1 MOV A,R6 ACALL ADB MOV R6,A CJNE R6,#00H,START CJNE R7,#2FH,START ADB: ADDC A,#00H CLR C RET END實驗六查找相同數(shù)個數(shù)一、實驗?zāi)康氖煜R編語言編程。二、實驗內(nèi)容在2000200Fh中查出有幾個字節(jié)是零,把個數(shù)放在2100h中。三、程序框圖四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在2000200Fh的若干單元中填入零在“P.”狀態(tài)下鍵入0AA0,然后按
10、“STEP”或“EXEC”進(jìn)入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se06.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查2100h中是幾個單元數(shù)。五、實驗結(jié)果及分析如需查找0FF,則需在源程序JNZ LOOP前增加語句C LPA六 實驗源程序 ORG 2000H; MOV R0,#0FH; MOV R1,#00H; MOV DPTR,#2000H;START:MOVX A,DPTR;
11、 JNZ LOOP; INC R1;LOOP:INC DPTR; DJNZ R0,START; MOV A,R1; MOV DPTR,#2100H; MOVX DPTR,A;END;實驗七無符號雙字節(jié)快速乘法子程序一、實驗?zāi)康恼莆誐CS-51匯編語言程序設(shè)計方法。二、實驗內(nèi)容將(R2 R3)和(R6 R7)中雙字節(jié)無符號整數(shù)相乘,積送R4 R5 R6 R7中。三、程序框圖四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。對R2、R3所定義的源地址單元從首址開始輸入無符號整數(shù)。在“P.”狀態(tài)下鍵入0970,然后按“STEP”或“EXEC”進(jìn)入實驗項目的調(diào)試與運
12、行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se07.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵檢查R4 R5 R6 R7中內(nèi)容。五、實驗結(jié)果及分析寄存器R2、R3、R6、R7分別輸入01、21、02、22,運行程序,R6、R7中的內(nèi)容是68、62結(jié)果已經(jīng)過驗證。六 實驗源程序 ORG 0000HMOV R2,#01HMOV R3,#21HMOV R6,#02HMOV R7,#22HMOV A,R3MOV B,R7M
13、UL ABXCH A,R7MOV R5,BMOV B,R2MUL ABADD A,R5MOV R4,ACLR AADDC A,BMOV R5,AMOV A,R6MOV B,R3MUL ABADD A,R4XCH A,R6XCH A,BADDC A,R5MOV R5,AMOV F0,CMOV A,R2MUL ABADD A,R5MOV R5,ACLR AMOV ACC.0,CMOV C,F0ADDC A,BMOV R4,ASJMP $END實驗八多分支程序一、實驗?zāi)康恼莆諈R編語言的編程。二、實驗內(nèi)容編寫程序,根據(jù)送入的數(shù)據(jù)轉(zhuǎn)移運行。三、程序框圖四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV
14、/UN”,裝載實驗所需的代碼程序。在20H中分次送入00、01、02、03。在“P.”狀態(tài)下鍵入0A10,然后按“STEP”或“EXEC”進(jìn)入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se08.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查(1)在單步運行時每走一步可觀察其運行結(jié)果。(2)在連續(xù)運行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后觀察每次運行程序后,數(shù)碼管上數(shù)字循環(huán)情況。五 實驗結(jié)果及分析循環(huán)變慢改變延時子程序DELAY: MOV R5,#0FFHLP0: MOV R6,#0FFHLP1:NOP
15、 NOP DJNZ R6,LP1 DJNZ R5,LP0RET變?yōu)樗淖盅h(huán)程序改為:LOOP0: MOV 20H,#0C0H ;0字循環(huán) LJMP SOX0LOOP1: MOV 20H,#0F9H ;1字循環(huán) LJMP SOX0LOOP2: MOV 20H,#0A4H ;2字循環(huán) LJMP SOX0LOOP3: MOV 20H,#0B0H ;3字循環(huán) LJMP SOX0LOOP3: MOV 20H,#099H ;字循環(huán) LJMP SOX0六、實驗源程序MAIN: MOV 20H,#00H MOV A,20H MOV DPTR,#SZ ;散轉(zhuǎn)首址 RL A ;(20)*2 JMP A+DPTR
16、;轉(zhuǎn)到(20)*2+DPTRSZ: AJMP LOOP0 AJMP LOOP1 AJMP LOOP2 AJMP LOOP3LOOP0: MOV 20H,#0C0H ;0字循環(huán) LJMP SOX0LOOP1: MOV 20H,#0F9H ;1字循環(huán) LJMP SOX0LOOP2: MOV 20H,#0A4H ;2字循環(huán) LJMP SOX0LOOP3: MOV 20H,#0B0H ;3字循環(huán) LJMP SOX0SOX0: MOV A,20H MOV R0,#0DCH MOV R1,#0DDH MOVX R0,A MOV A,#01HSOX1: MOVX R1,A MOV R2,#20H LCALL
17、 DELY RL A ;顯示子程序 SJMP SOX1DELY: MOV R5,#1AHLP0: MOV R6,#7DHLP1: NOP NOP DJNZ R6,LP1 DJNZ R5,LP0RETEND實驗十電腦時鐘(定時器、中斷器綜合實驗)一、實驗?zāi)康氖煜CS-51定時器,串行口和中斷初始化編程方法,了解定時器的應(yīng)用實時程序的設(shè)計與調(diào)試技巧。二、實驗內(nèi)容編寫程序,從本實驗系統(tǒng)鍵盤上輸入時間初值,用定時器產(chǎn)生0.1S定時中斷,對時鐘計數(shù)器計數(shù),并將數(shù)值實時地送數(shù)碼管顯示。三、程序框圖四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在“P.”狀態(tài)下鍵入0
18、030,然后按“EXEC”進(jìn)入該實驗項目的運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se10.asm,用連續(xù)方式運行該程序。3、在鍵盤上輸入時間初值,按執(zhí)行鍵EXEC執(zhí)行,數(shù)碼管上實時顯示時間值。4、按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,系統(tǒng)無條件退出該程序運行返回監(jiān)控狀態(tài)。五、實驗結(jié)果及分析修改程序使定時器工作方式改變(實現(xiàn)12小時制)將語句CJNE A,#24H,DONE 改為 CJNE A,#H,DONE 六實驗源程序ORG 0000H SJMP CHK00 ORG 000BH LJMP CLOCK;INT_T0 ORG 0030HCHK00: MOV SP,#60
19、H LCALL LEDPCHK0: LCALL LCK0 ;鍵掃,顯示子程序 LCALL PTDS0 ;顯示緩沖區(qū)放數(shù)子程序 MOV TMOD,#01H ORL IE,#10000010b ;EA=1, IT0=1 MOV TL0,#0 MOV TH0,#4ch ;定時中斷初始化 MOV 23H,#00H SETB TR0 ;開定時LOO5: LCALL DIS;SSEE ;顯示 LCALL PTDS0 SJMP LOO5PTDS0: MOV R0,#79H MOV A,22H ACALL PTDS MOV A,21H ACALL PTDS MOV A,20H ACALL PTDS RET;-
20、PTDS: MOV R1,A ;拆送顯示緩沖區(qū) ACALL PTDS1 MOV A,R1 SWAP APTDS1: ANL A,#0FH MOV R0,A INC R0 RET;-CLOCK: MOV TL0,#0B7H MOV TH0,#3CH ;恢復(fù)初值 PUSH PSW PUSH ACC SETB 0D3H ;保護(hù) INC 23H ;0.1秒加1 MOV A,23H CJNE A,#20,DONE ;1秒到嗎? MOV 23H,#00H ;清0.1秒單元 MOV A,22H INC A ;秒加1 DA A MOV 22H,A ;十進(jìn)制調(diào)整 CJNE A,#60H,DONE ;60秒到嗎?
21、 MOV 22H,#00H ;秒單元清零 MOV A,21H INC A DA A ;分加1.十進(jìn)制調(diào)整 MOV 21H,A CJNE A,#60H,DONE ;60分到嗎? MOV 21H,#00H ;分單元清零 MOV A,20H INC A DA A ;時加1.十進(jìn)制調(diào)整 MOV 20H,A CJNE A,#24H,DONE ;24小時到嗎? MOV 20H,#00H ;時單元清零DONE: POP ACC ;退棧 POP PSW RETI;-SSEE: SETB RS1 ;換工作區(qū) MOV R5,#05HSSE2: MOV 30H,#20H MOV 31H,#7EH MOV R7,#0
22、6HSSE1: MOV R1,#0DDH MOV A,30H MOVX R1,A ;字位送入 MOV R0,31H MOV A,R0 MOV DPTR,#DDFF MOVC A,A+DPTR ;取字形代碼 MOV R1,#0DCH MOVX R1,A ;字形送入 MOV A,30H ;右移 RR A MOV 30H,A DEC 31H MOV A,#0FFH MOVX R1,A ;關(guān)顯示 DJNZ R7,SSE1 ;6位顯示完了嗎? DJNZ R5,SSE2 ;5次顯示完了嗎? CLR RS1 RET;-DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
23、,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH;-X3: MOV R4,A MOV R0,#50H MOV A,R0 MOV R1,A MOV A,R4 MOV R1,A CLR A POP DPH POP DPL MOVC A,A+DPTR INC DPTR CJNE A,01H,X30 dec r1 clr a MOVC A,A+DPTRX31: MOV R0,A INC DPTR PUSH DPL PUSH DPH RETX30: DEC R1 MOV A,R1 SJMP X31;-X2: MOV R6,#50HX0: AC
24、ALL XLE JNB ACC.5,XX0 DJNZ R6,X0 MOV R6,#20H MOV R0,#50H MOV A,R0 MOV R0,A MOV A,R0 MOV R7,A MOV A,#10H MOV R0,AX1: ACALL XLE JNB ACC.5,XX1 DJNZ R6,X1 MOV A,R7 MOV R0,A SJMP X2XX1: MOV R6,A MOV A,R7 MOV R0,A MOV A,R6XX0: RET;-XLE: ACALL DIS ACALL KEY MOV R4,A MOV R1,#48H MOV A,R1 MOV R2,A INC R1 MOV
25、 A,R1 MOV R3,A MOV A,R4 XRL A,R3 MOV R3,04H MOV R4,02H JZ X10 MOV R2,#88H MOV R4,#88HX10: DEC R4 MOV A,R4 XRL A,#82H JZ X11 MOV A,R4 XRL A,#0EH JZ X11 MOV A,R4 JZ X12 MOV R4,#20H DEC R2 SJMP X13X12: MOV R4,#0FHX11: MOV R2,04H NOP NOP MOV R4,03HX13: MOV R1,#48H MOV A,R2 MOV R1,A INC R1 MOV A,R3 MOV R
26、1,A MOV A,R4 JB ACC.5,X113 JB ACC.4,X113 MOV DPTR,#LS3 MOVC A,A+DPTRX113: RET;-LS3: DB 07H,04H,08H,05H,09H,06H,0AH DB 0BH,01H,00H,02H,0FH,03H,0EH DB 0CH,0DH;-DIS: PUSH DPH PUSH DPL SETB RS1 MOV R0,#7EH MOV R2,#20H MOV R3,#00H MOV DPTR,#LS0LS2: MOV A,R0 MOVC A,A+DPTR MOV R1,#0DCH MOVX R1,A MOV A,R2 i
27、nc R1 MOVX R1,ALS1: DJNZ R3,LS1 CLR C RRC A MOV R2,A DEC R0 JNZ LS2 movx r0,a dec r0 cpl a movx r0,a CLR RS1 POP DPL POP DPH RET;-LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,83H,0C6H DB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH;-KEY: SETB RS1 MOV R2,#0FEH MOV R3,#08H MOV R0,#00HLP1: MOV R1,
28、#0DDH MOV A,R2 MOVX R1,A RL A MOV R2,A inc r1 MOVX A,R1 CPL A ANL A,#0FH JNZ LP0 INC R0 DJNZ R3,LP1XP33: MOV A,#20HXP3: mov r2,a clr a mov r1,#0ddh movx r1,a mov a,r2 CLR RS1 RET;-LP0: CPL A JB ACC.0,XP0 MOV A,#00H SJMP LPPXP0: JB ACC.1,XP1 MOV A,#08H SJMP LPPXP1: JB ACC.2,XP2 MOV A,#10H SJMP LPPXP2
29、: JB ACC.3,XP33 MOV A,#18HLPP: ADD A,R0 sjmp xp3;-LEDP: MOV 50H,#7EH MOV A,#10H MOV R0,#79HLEDS:MOV R0,A INC R0 CJNE R0,#7EH,LEDS INC A MOV R0,A RET;-LCK0: LCALL X2 JB ACC.4,LDFC LCALL X3 DB 79H,7EH SJMP LCK0LDFC: CJNE A, #16H,LCK0 MOV A, 7AH SWAP A ORL A, 79H MOV 22H, A CJNE A, #60H,LE09LE09: JNC L
30、E24 MOV A, 7CH SWAP A ORL A, 7BH MOV 21H, A CJNE A, #60H,LE15LE15: JNC LE24 MOV A, 7EH SWAP A ORL A, 7DH MOV 20H, A CJNE A, #24H,LE21LE21: JNC LE24 RET;-LE24: CLR 8CH LJMP CHK00;- END實驗十一二進(jìn)制轉(zhuǎn)換到BCD一、實驗?zāi)康恼莆蘸唵蔚臄?shù)值轉(zhuǎn)換算法,基本了解數(shù)值的各種表達(dá)方法。計算機中的數(shù)值有各種表達(dá)方式,這是計算機的基礎(chǔ)。掌握各種數(shù)制之間的轉(zhuǎn)換是一種基本功。二、實驗內(nèi)容將給定的一個二進(jìn)制數(shù),轉(zhuǎn)換成二進(jìn)制編碼的十進(jìn)制(
31、BCD)碼。三、程序框圖四、實驗步驟1、在實驗系統(tǒng)與PC聯(lián)機狀態(tài)下,編譯、連接、下載、運行PH51se11.asm,將ACC拆為三個BCD碼。2、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵檢查存入20H開始的三個片內(nèi)RAM單元。五、實驗結(jié)果及分析 六實驗源程序ORG 0000HMOV A ,#33H;MOV B ,#64H;MOV R0,#10H;DIV AB;MOV 20H,A;INC R0;MOV A,B;MOV B,#0AH;DIV AB;MOV R0,A;INC R0;MOV A,B;
32、MOV R0,A;SJMP $;END 硬 件 實 驗硬件實驗部分可使學(xué)生能進(jìn)一步掌握單片機系統(tǒng)擴(kuò)展和輸入輸出程序的設(shè)計方法,熟悉對擴(kuò)展系統(tǒng)的軟件、硬件設(shè)計,調(diào)試方法和技巧。實驗一 P1口亮燈實驗一、實驗?zāi)康模?)學(xué)習(xí)P1口的使用方法;(2)學(xué)習(xí)延時子程序的編寫。二、實驗內(nèi)容P1口作為輸出口,接八個發(fā)光二極管,編寫程序,使發(fā)光二極管循環(huán)點亮。三、程序框圖四、實驗電路五、實驗步驟1、實驗連線P1.0P1.7用插針連至L1L8。2、LED環(huán)境(1)在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。(2)在“P.”狀態(tài)下鍵入0790,然后按“EXEC”進(jìn)入實驗項目的運行。3、PC環(huán)境在與P
33、C聯(lián)機狀態(tài)下,編譯、連接、下載PH51he01.asm,用連續(xù)方式運行程序。4、觀察運行結(jié)果在連續(xù)運行狀態(tài)下,觀察發(fā)光二極管閃亮移位情況。5、終止運行按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出該程序的運行返回監(jiān)控狀態(tài)。六、實驗結(jié)果及分析改變延時常數(shù)使閃亮?xí)r間延長,同時移位方向改變。ORG 0790HSE18: MOV P1,#0FFH ;送P1口,燈全滅LO34: MOV A,#0EFH ;LO33: MOV P1,A ;L1發(fā)光二極管點亮 LCALL SE19 ;延時 RR A ;左移位 SJMP LO33 ;循環(huán)SE19: MOV R6,#0FFH ;賦初值LO36: MOV
34、 R7,#0FFH ;賦初值LO35: DJNZ R7,LO35 ;延時 DJNZ R6,LO36 ;延時 RET END七、實驗源程序ORG 0790HSE18: MOV P1,#0FFH ;送P1口,燈全滅LO34: MOV A,#0FEH ;LO33: MOV P1,A ;L1發(fā)光二極管點亮 LCALL SE19 ;延時 RL A ;左移位 SJMP LO33 ;循環(huán)SE19: MOV R6,#0A0H ;賦初值LO36: MOV R7,#0FFH ;賦初值LO35: DJNZ R7,LO35 ;延時 DJNZ R6,LO36 ;延時 RET END實驗二 P1口轉(zhuǎn)彎燈實驗一、實驗?zāi)康倪M(jìn)
35、一步了解P1口的使用,學(xué)習(xí)匯編語言編程方法與調(diào)試技巧。二、實驗內(nèi)容P1.0開關(guān)接5V時,右轉(zhuǎn)彎燈閃亮,P1.1開關(guān)接5V時左移彎燈閃亮,P1.0、P1.1開關(guān)同時接5V或接地時,轉(zhuǎn)彎燈均不閃亮。三、程序框圖四、實驗電路五、實驗步驟1、實驗連線P1.0接K1、P1.1接K2、P1.4P1.7接L1、L4、L7、L10。2、LED環(huán)境(1)在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。(2)在“P.”狀態(tài)下鍵入0C30,然后按“EXEC”進(jìn)入實驗項目的運行。3、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51he02.asm,用連續(xù)方式運行程序。4、觀察運行結(jié)果在連續(xù)運行狀態(tài)下,
36、觀察轉(zhuǎn)彎燈正確閃亮。5、終止運行按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出該程序的運行返回監(jiān)控狀態(tài)。六 實驗結(jié)果分析閉合K1開關(guān)13次,L4,L3,L1亮。七 實驗源程序ORG 0810HJ100: MOV A,#00HJ101: JB P3.3,J101 MOV R2,#20H LCALL DELY JB P3.3,J101 ;P3.3電平為低嗎?J102: JNB P3.3,J102 MOV R2,#20H LCALL DELY JNB P3.3,J102 ;P3.3電平高嗎? INC A ;加1 PUSH ACC CPL A ;取反 MOV P1,A ;驅(qū)動發(fā)光二極管 PO
37、P ACC AJMP J101 ;循環(huán)DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延時DEL4: DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2,DELY RET END實驗四 工業(yè)順序控制一、實驗?zāi)康恼莆展I(yè)順序控制程序的簡單編程,中斷的使用。二、實驗內(nèi)容8032的P1.0P1.6控制注塑機的七道工序,現(xiàn)模擬控制七只發(fā)光二極管的點亮,高電平有效,設(shè)定每道工序時間轉(zhuǎn)換為延時,P3.4為開工啟動開關(guān),高電平啟動。P3.3為外故障輸入模擬開關(guān),P3.2為0時不斷
38、警告。P1.7為報警聲音輸出,設(shè)定6道工序只有一位輸出,第七道工序三位有輸出。三、實驗框圖 四 實驗電路五、實驗步驟1、實驗連線P3.4連K1,P3.3連K2,P1.0-P1.6分別連到L1-L7,P1.7連SIN(喇叭輸入端)。K1、K2開關(guān)撥在高電平“H”位置。2、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在“P.”狀態(tài)下鍵入0190,然后按“EXEC”進(jìn)入實驗項目的運行。3、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51he04.asm,用連續(xù)方式運行程序。4、觀察運行結(jié)果用連續(xù)方式開始運行程序,此時應(yīng)在等待開工狀態(tài)。K1撥至低電平“L”位置,各道工序應(yīng)正常運行。K2撥至低電平“L”位置,應(yīng)有聲音報警(人為設(shè)置故障)。K2撥至高電平“H”位置,即排除故障,程序應(yīng)從報警的那道工序繼續(xù)執(zhí)行。在連續(xù)運行狀態(tài)下,開關(guān)K1每撥動一次,L1-L8發(fā)光二極管按16進(jìn)制方式加一點亮。5、終止運行按“暫停圖標(biāo)”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出該程序的運行返回監(jiān)控狀態(tài)。六 實驗結(jié)果及分析 修改程序使工序一L1、L2亮,工序二L2、L3亮。將部分程序改為:PO12: MOV P1,#7CH ;1 ACALL PO1B MOV P1,#79H ;2 ACALL PO1B七 實驗源程序 ORG 0000H LJ
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版道路建設(shè)項目監(jiān)理合同2篇
- 2025版綠色交通信托借款合同范本2篇
- 二零二五版施工合同擔(dān)保補充協(xié)議書規(guī)范范本3篇
- 二零二五年度個人房產(chǎn)抵押貸款擔(dān)保合同范本集4篇
- 父子之間不動產(chǎn)房產(chǎn)贈與合同書
- 公司辦公室裝飾裝修施工合同
- 團(tuán)體購房合同范文
- 商品混凝土供貨合同協(xié)議
- 民間親人之間住宅贈與合同
- 企業(yè)汽車租賃合同范本(2024版)
- 城市基礎(chǔ)設(shè)施修繕工程的重點與應(yīng)對措施
- GB 12710-2024焦化安全規(guī)范
- 【??途W(wǎng)】2024秋季校園招聘白皮書
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項目可行性研究報告編制標(biāo)準(zhǔn)
- 【奧運會獎牌榜預(yù)測建模實證探析12000字(論文)】
- 多層工業(yè)廠房主體結(jié)構(gòu)施工方案鋼筋混凝土結(jié)構(gòu)
- 救生艇筏、救助艇基本知識課件
- 阻燃壁紙匯報
- 梁若瑜著-十二宮六七二象書增注版
- 企業(yè)年會盛典元旦頒獎晚會通用PPT模板
- 2017年安徽省中考數(shù)學(xué)試卷及答案解析
評論
0/150
提交評論