1、单片机实训程序一、工业控制ORG 0000HLJMP HA2SORG 0013HLJMP HA2S3ORG 0580HHA2S:MOV P1,#00HORL P3,#00HHA2S1:JNB P3.4,HA2S1ORL IE,#84HORL IP,#04HMOV PSW,#00HMOV SP,#53HHA2S2:MOV P1,#01HACALL HA2S7MOV P1,#04HACALL HA2S7MOV P1,#08HACALL HA2S7MOV P1,#10HACALL HA2S7MOV P1,#20HACALL HA2S7MOV P1,#40HACALL HA2S7SJMP HA2S2H
2、A2S3:MOV B,R2HA2S4:MOV P1,#00HMOV 20H,#0A0HHA2S5:SETB P1.7ACALL HA2S6CLR P1.7ACALL HA2S6DJNZ 20H,HA2S5CLR P1.7ACALL HA2S6JNB P3.3,HA2S4MOV R2,BRETIHA2S6:MOV R2,#06HACALL DELAYRETHA2S7:MOV R2,#30HACALL DELAYRETDELAY:PUSH 02HDELAY1:PUSH 02HDELAY2:PUSH 02HDELAY3:DJNZ R2,DELAY3POP 02HDJNZ R2,DELAY2POP 0
3、2HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETENDP1,P3口的应用ORG 1000HMOV A,#00HMOV P1,ALOOP:JB P3.3,$JNB P3.3,$INC AMOV P1,AAJMP LOOPEND二、多字节加法ORG 1000HMOV R0,#32HMOV R1,#42HMOV R7,#03HCLR CLOOP:MOV A,R0ADDC A,R1DA AMOV R0,ADEC R0DEC R1DJNZ R7,LOOPMOV 7FH,CSJMP $END三、拼字程序ORG 0100HMOV DPTR,#7000HMOVX A,DPTRAN
4、L A,#0FHSWAP AMOV R0,AINC DPTRMOVX A,DPTRANL A,#0FHADD A,R0INC DPTRMOVX DPTR,AEND四、数据排序ORG 1000HMAIN:MOV R0,#30HMOV R7,#09HCLR 7FHLOOP2:MOV 20H,R0MOV A,20HINC R0MOV 21H,R0CJNE A,21H,LOOPLOOP:JC LOOP1MOV R0,ADEC R0MOV R0,21HINC R0SETB 7FHLOOP1:DJNZ R7,LOOP2JB 7FH,MAINSJMP $END五、多分支程序MOV A,20HRL AMOV
5、DPTR,#TABJMP A+DPTRTAB:AJMP ROUT0AJMP ROUT1AJMP ROUT2ROUT0:MOV A,#00HSJMP $ROUT1:MOV A,#01HSJMP $ROUT2:MOV A,#02HEND六、数据传送互换ORG 1000HMOV R0,#30HMOV DPTR,#7000HLOOP1:CJNE R0,#0DH,LOOPSJMP $LOOP:MOVX A,DPTRMOV 20H,R0MOV R0,AMOV A,20HMOVX DPTR,AINC R0INC DPTRSJMP LOOP1END七、16进制转为ASCIIORG 1000HMOV R0,#3
6、0HMOV R1,#40HMOV R7,#03HLOOP1:MOV A,R0ANL A,#0FHCJNE A,#10,LOOPLOOP:JNC LOOP2ADD A,#30HMOV R1,AAJMP LOOP3LOOP2:ADD A,#37HMOV R1,AAJMP LOOP3LOOP3:INC R0INC R1DJNZ R7,LOOP1SJMP $END八、拆字程序ORG 0000HMOV DPTR,#7000HMOVX A,DPTRSWAP AANL A,#0FHINC DPTRMOVX DPTR,AMOV DPTR,#7000HMOVX A,DPTRANL A,#0FHINC DPTRI
7、NC DPTRMOVX DPTR,ASJMP $END九、交通灯控制程序ORG 0630HHA4S: MOV SP,#60H MOV DPTR,#0FF2BH MOV A,#80H MOVX DPTR,A MOV DPTR,#0FF29H MOV A,#49H MOVX DPTR,A INC DPTR MOV A,#49H MOVX DPTR,A MOV R2,#25H LCALL DELAYHA4S3: MOV DPTR,#0FF29H MOV A,#08H MOVX DPTR,A INC DPTR MOV A,#61H MOVX DPTR,A MOV R2,#55H LCALL DELAY
8、 MOV R7,#05HHA4S1: MOV DPTR,#0FF29H MOV A,#04H MOVX DPTR,A INC DPTR MOV A,#51H MOVX DPTR,A MOV R2,#20H LCALL DELAY MOV DPTR,#0FF29H MOV A,#00H MOVX DPTR,A INC DPTR MOV A,#41H MOVX DPTR,A MOV R2,#20H LCALL DELAY DJNZ R7,HA4S1 MOV DPTR,#0FF29H MOV A,#03H MOVX DPTR,A INC DPTR MOV A,#0cH MOVX DPTR,A MOV
9、 R2,#55H LCALL DELAY MOV R7,#05HHA4S2: MOV DPTR,#0FF29H MOV A,#02H MOVX DPTR,A INC DPTR MOV A,#8aH MOVX DPTR,A MOV R2,#20H LCALL DELAY MOV DPTR,#0FF29H MOV A,#02H MOVX DPTR,A INC DPTR MOV A,#08H MOVX DPTR,A MOV R2,#20H LCALL DELAY DJNZ R7,HA4S2 LJMP HA4S3DELAY: PUSH 02HDELAY1: PUSH 02HDELAY2: PUSH 0
10、2HDELAY3: DJNZ R2,DELAY3 POP 02H DJNZ R2,DELAY2 POP 02H DJNZ R2,DELAY1 POP 02H DJNZ R2,DELAY RET END十、定时器中断ORG 000BHLJMP TIPORG 0100HMAIN:MOV R7,#14HMOV A,#00HMOV P1,AMOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0BHSETB EASETB ET0SETB TR0SJMP $TIP:DJNZ R7,TIP1INC AMOV P1,AMOV R7,#14HTIP1:MOV TH0,#3CHMOV TL0,#0
11、B0HRETIEND十一、串并转换TIMER EQU 01Horg 0000hljmp start ORG 000BH AJMP INT_T0 ORG 0790H START: MOV SP,#53H MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4BH MOV R0,#0H MOV TIMER,#20 MOV SCON,#00H CLR TI CLR RI SETB TR0 SETB ET0 SETB EA SJMP $ INT_T0: PUSH ACC PUSH PSW CLR EA CLR TR0 MOV TL0,#0H MOV TH0,#4BH SETB TR
12、0 DJNZ TIMER,EXIT MOV TIMER,#20 MOV DPTR,#TAB MOV A,R0 MOVC A,A+DPTR CLR TI CPL A MOV SBUF,A INC R0 jnb ti,$ clr ti CJNE R0,#0AH,EXIT MOV R0,#0HEXIT: SETB EA POP PSW POP ACC RETITAB: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09HENDA/D转换ORG 06D0HSTART: MOV A,#00H 显示器初值 MOV DPTR,#9000H 0809的地址 MOVX DPTR,
13、A 启动A/D转换地址 JNB P3.3,$ 判断转换结束与否 ,EOC=1结束 MOV SBUF,A MOV SBUF,A 显示00 MOVX A,DPTR 读取转换结果 DISP: MOV R0,A ANL A,#0FH LP: MOV DPTR,#TAB 表头送DPTR MOVC A,A+DPTR 取字模 MOV SBUF,A 显示低四位 MOV R7,#0FH 延时 H55S: DJNZ R7,H55S MOV A,R0 SWAP A ANL A,#0FH MOVC A,A+DPTR 取字模 MOV SBUF,A 显示高四位 MOV R7,#0FHH55S1: DJNZ R7,H55S
14、1 LCALL DELAY AJMP STARTTAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh DELAY:MOV R6,#0FFh DELY2:MOV R7,#0FFh DELY1:DJNZ R7,DELY1 DJNZ R6,DELY2 RETENDD/A转换 ORG 0740HHA6S: MOV SP,#53HHA6S1: MOV R6,#00H 转换初值HA6S2: MOV DPTR,#8000H 0832地址 MOV A,R6 MOVX DPTR,A D/A转换 MOV
15、 R2,#0BH LCALL DELAY 延时 INC R6 转换值增加 CJNE R6,#0FFH,HA6S2 判断是否到最高电压HA6S3: MOV DPTR,#8000H DEC R6 转换值减小 MOV A,R6 MOVX DPTR,A MOV R2,#0BH LCALL DELAY CJNE R6,#00H,HA6S3 判断是否到最低电压 SJMP HA6S1DELAY: PUSH 02HDELAY1: PUSH 02HDELAY2: PUSH 02HDELAY3: DJNZ R2,DELAY3 POP 02H DJNZ R2,DELAY2 POP 02H DJNZ R2,DELAY1 POP 02H DJNZ R2,DELAY RET END
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1