哈工大 單片機第一次試驗報告_第1頁
哈工大 單片機第一次試驗報告_第2頁
哈工大 單片機第一次試驗報告_第3頁
哈工大 單片機第一次試驗報告_第4頁
哈工大 單片機第一次試驗報告_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Harbin Institute of Technology單片機原理與應用實驗報告學生姓名:學號:班級:專業(yè):通信工程任課教師: 所 在 單 位:電子與信息工程學院2013年5月軟件實驗在軟件實驗部分,通過實驗程序的調(diào)試,使學生熟悉MCS-51的指令系統(tǒng),了解程序設計過程,掌握匯編語言設計方法以及如何使用實驗系統(tǒng)提供的調(diào)試手段來排除程序錯誤。實驗一 清零程序一、實驗目的 掌握匯編語言設計和調(diào)試方法,熟悉鍵盤操作。二、實驗內(nèi)容 把200020FFh的內(nèi)容清零。三、程序框圖四、實驗過程1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在“P.”狀態(tài)下鍵入0640,然后按“

2、STEP”或“EXEC”進入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se01.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時,每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應按“暫停圖標”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應的命令鍵觀察與檢查2000H以后的存儲空間中執(zhí)行程序前后的內(nèi)容變化。五、實驗結(jié)果及分析運行程序前如下圖 運行程序后如下圖: 六、實驗源程序 ORG 0640H MOV DPTR,#2000H MOV R0,#00HLOOP: MOVX DPTR,A INC DPTR INC R0 C

3、JNE R0,#00H,LOOP SJMP $ END實驗二拆字程序一、實驗目的掌握匯編語言設計和調(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”進入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se02.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在

4、連續(xù)運行狀態(tài)下,應按“暫停圖標”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應的命令鍵觀察與檢查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 DPTR;MOVX DPTR,A;

5、INC DPTR;MOV A,R1;MOVX DPTR,A;END;實驗三拼字程序一、實驗目的進一步掌握匯編語言設計和調(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”進入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se03.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時每走一步可觀察其運

6、行結(jié)果。在連續(xù)運行狀態(tài)下,應按“暫停圖標”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應的命令鍵觀察與檢查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ū)傳送子程序一、實驗目的掌握RAM中的數(shù)據(jù)操作。二、實驗內(nèi)容把R2、R3源RAM區(qū)首址內(nèi)的R6、R

7、7字節(jié)數(shù)據(jù)傳送到R4、R5目的RAM區(qū)。三、程序流程四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在“P.”狀態(tài)下鍵入07B0,然后按“STEP”或“EXEC”進入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se04.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應按“暫停圖標”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應的命令鍵檢查由R4、R5所定義的目的地址單元。五、實驗結(jié)果及分析R2、R3所定義的目的地址單元內(nèi)容是20、00

8、.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 R5 ;目的地址加1 MOV

9、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ù)一、實驗目的熟悉匯編語言編程。二、實驗內(nèi)容在2000200Fh中查出有幾個字節(jié)是零,把個數(shù)放在2100h中。三、程序框圖四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的代碼程序。在2000200Fh的若干單元中填入零在“P.”狀態(tài)下鍵入0AA0,然后按“STEP”或“EXEC”進入實

10、驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se06.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應按“暫停圖標”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應的命令鍵觀察與檢查2100h中是幾個單元數(shù)。五、實驗結(jié)果及分析如需查找0FF,則需在源程序JNZ LOOP前增加語句C LPA六 實驗源程序 ORG 2000H; MOV R0,#0FH; MOV R1,#00H; MOV DPTR,#2000H;START:MOVX A,DPTR; JNZ LOOP; INC R

11、1;LOOP:INC DPTR; DJNZ R0,START; MOV A,R1; MOV DPTR,#2100H; MOVX DPTR,A;END;實驗七無符號雙字節(jié)快速乘法子程序一、實驗目的掌握MCS-51匯編語言程序設計方法。二、實驗內(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”進入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)

12、下,編譯、連接、下載PH51se07.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應按“暫停圖標”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應的命令鍵檢查R4 R5 R6 R7中內(nèi)容。五、實驗結(jié)果及分析寄存器R2、R3、R6、R7分別輸入01、21、02、22,運行程序,R6、R7中的內(nèi)容是68、62結(jié)果已經(jīng)過驗證。六 實驗源程序 -24-ORG 0000HMOV R2,#01HMOV R3,#21HMOV R6,#02HMOV R7,#22HMOV A,R3MOV B,R7MUL ABXCH A,R

13、7MOV 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實驗八多分支程序一、實驗目的掌握匯編語言的編程。二、實驗內(nèi)容編寫程序,根據(jù)送入的數(shù)據(jù)轉(zhuǎn)移運行。三、程序框圖四、實驗步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實驗所需的

14、代碼程序。在20H中分次送入00、01、02、03。在“P.”狀態(tài)下鍵入0A10,然后按“STEP”或“EXEC”進入實驗項目的調(diào)試與運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se08.asm,用連續(xù)或單步方式運行程序。3、運行結(jié)果檢查(1)在單步運行時每走一步可觀察其運行結(jié)果。(2)在連續(xù)運行狀態(tài)下,應按“暫停圖標”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后觀察每次運行程序后,數(shù)碼管上數(shù)字循環(huán)情況。五 實驗結(jié)果及分析循環(huán)變慢改變延時子程序DELAY: MOV R5,#0FFHLP0: MOV R6,#0FFHLP1:NOP NOP DJNZ R6

15、,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 ;轉(zhuǎn)到(20)*2+DP

16、TRSZ: 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 DELY RL A ;

17、顯示子程序 SJMP SOX1DELY: MOV R5,#1AHLP0: MOV R6,#7DHLP1: NOP NOP DJNZ R6,LP1 DJNZ R5,LP0RETEND實驗十電腦時鐘(定時器、中斷器綜合實驗)一、實驗目的熟悉MCS-51定時器,串行口和中斷初始化編程方法,了解定時器的應用實時程序的設計與調(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)下鍵入0030,然后按“EXEC

18、”進入該實驗項目的運行。2、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51se10.asm,用連續(xù)方式運行該程序。3、在鍵盤上輸入時間初值,按執(zhí)行鍵EXEC執(zhí)行,數(shù)碼管上實時顯示時間值。4、按“暫停圖標”或?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,#60H LCALL LEDP

19、CHK0: 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;-PTDS: MOV R1

20、,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 ;恢復初值 PUSH PSW PUSH ACC SETB 0D3H ;保護 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 ;十進制調(diào)整 CJNE A,#60H,DONE ;60秒到嗎? MOV 22H,#00

21、H ;秒單元清零 MOV A,21H INC A DA A ;分加1.十進制調(diào)整 MOV 21H,A CJNE A,#60H,DONE ;60分到嗎? MOV 21H,#00H ;分單元清零 MOV A,20H INC A DA A ;時加1.十進制調(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,#06HSSE1: MOV

22、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,80H,90H DB

23、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: ACALL XLE JNB

24、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 A,R1 MOV R3

25、,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 R1,A MOV A,R4

26、 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 inc R1 MOVX R

27、1,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,#0DDH MOV A,

28、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: JB ACC.3,X

29、P33 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 LE24 MOV A, 7

30、CH 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實驗十一二進制轉(zhuǎn)換到BCD一、實驗目的掌握簡單的數(shù)值轉(zhuǎn)換算法,基本了解數(shù)值的各種表達方法。計算機中的數(shù)值有各種表達方式,這是計算機的基礎(chǔ)。掌握各種數(shù)制之間的轉(zhuǎn)換是一種基本功。二、實驗內(nèi)容將給定的一個二進制數(shù),轉(zhuǎn)換成二進制編碼的十進制(BCD)碼。三、程序框圖

31、四、實驗步驟1、在實驗系統(tǒng)與PC聯(lián)機狀態(tài)下,編譯、連接、下載、運行PH51se11.asm,將ACC拆為三個BCD碼。2、運行結(jié)果檢查在單步運行時每走一步可觀察其運行結(jié)果。在連續(xù)運行狀態(tài)下,應按“暫停圖標”,使系統(tǒng)無條件退出用戶運行狀態(tài)返回監(jiān)控,然后再用相應的命令鍵檢查存入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;MOV R0,A;SJM

32、P $;END 硬 件 實 驗硬件實驗部分可使學生能進一步掌握單片機系統(tǒng)擴展和輸入輸出程序的設計方法,熟悉對擴展系統(tǒng)的軟件、硬件設計,調(diào)試方法和技巧。實驗一 P1口亮燈實驗一、實驗目的(1)學習P1口的使用方法;(2)學習延時子程序的編寫。二、實驗內(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”進入實驗項目的運行。3、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接

33、、下載PH51he01.asm,用連續(xù)方式運行程序。4、觀察運行結(jié)果在連續(xù)運行狀態(tài)下,觀察發(fā)光二極管閃亮移位情況。5、終止運行按“暫停圖標”或?qū)嶒炏渖系摹皶和0粹o”,使系統(tǒng)無條件退出該程序的運行返回監(jiān)控狀態(tài)。六、實驗結(jié)果及分析改變延時常數(shù)使閃亮時間延長,同時移位方向改變。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 R7,#0FFH ;賦

34、初值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)彎燈實驗一、實驗目的進一步了解P1口的使用,學

35、習匯編語言編程方法與調(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”進入實驗項目的運行。3、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51he02.asm,用連續(xù)方式運行程序。4、觀察運行結(jié)果在連續(xù)運行狀態(tài)下,觀察轉(zhuǎn)彎燈正確閃亮。5、

36、終止運行按“暫停圖標”或?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ā)光二極管 POP ACC AJMP J

37、101 ;循環(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è)順序控制一、實驗目的掌握工業(yè)順序控制程序的簡單編程,中斷的使用。二、實驗內(nèi)容8032的P1.0P1.6控制注塑機的七道工序,現(xiàn)模擬控制七只發(fā)光二極管的點亮,高電平有效,設定每道工序時間轉(zhuǎn)換為延時,P3.4為開工啟動開關(guān),高電平啟動。P3.3為外故障輸入模擬開關(guān),P3.2為0時不斷警告。P1.7為報警聲音

38、輸出,設定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”進入實驗項目的運行。3、PC環(huán)境在與PC聯(lián)機狀態(tài)下,編譯、連接、下載PH51he04.asm,用連續(xù)方式運行程序。4、觀察運行結(jié)果用連續(xù)方式開始運行程序,此時應在等待開工狀態(tài)。K1撥至低電平“L”位置,各道工序應正常運行。K2撥至低電平“L”位置,應有聲音報警(人為設置故障)。K2撥至高電平“H”位置,即排除故障,程序應從報警的那道工序繼續(xù)執(zhí)行。在連續(xù)運行狀態(tài)下,開關(guān)K1每撥動一次,L1-L8發(fā)光二極管按16進制方式加一點亮。5、終止運行按“暫停圖標”或?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 LJMP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論