单片机闪烁灯流水灯汇编代码大全
R0,LOOP_3_1 MOV P0,#11111111B LOOP_3_2: JB P2.2,LOOP JMP LOOP_3_2 D100MS: MOV R7,#250 D1: MOV R6,#200 DJNZ R6,$ DJNZ R7,D1 RET END 7、单片机AT89C51的P2口分别接8个指拨开关;P0口接8个LED。指拨开关闭合之前8个LED全亮, 闭合指拨开关P2.0,则P0.0所对应的LED灭,以此类推。 源代码: ORG 0 MOV A,#00000000B MOV P0,A MOV P2,#0FFH LOOP: MOV A,P2 CPL A MOV P0,A JMP LOOP END 8、单片机AT89C51的P2口分别接8个指拨开关;P0口接8个LED。 指拨开关闭合之前8个LED单灯左移3次后,全亮,闭合指拨开关P2.0, 则P0.0所对应的LED灭,以此类推。延时为0.2S。 原理图: 源代码: ORG 0 MOV R1,#3 LOOP1: MOV R0,#8 MOV A,#11111110B LOOP2: MOV P0,A RL A CALL D200MS DJNZ R0,LOOP2 DJNZ R1,LOOP1 MOV A,#00000000B MOV P0,A MOV P2,#0FFH LOOP: MOV A,P2 CPL A MOV P0,A JMP LOOP D200MS: MOV R7,#250 D1: MOV R6,#200 D2: MOV R5,#2 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET END 9、单片机AT89C51的P2.0、P2.1和P2.2口分别接一个按钮开关, P1口低4位接译码器7447,7447输出部分接共阳极LED数码管。要求按一下P2.0口对应按钮,数码管显示数字“0”; 按一下P2.1口对应按钮,数码管显示数字“8”;按一下P2.2口对应按钮,数码管所显示的数字被关闭。 原理图: 源代码: ORG 0000H START: MOV P2,#0FFH LOOP: JNB P2.0,ON JNB P2.1,ON8 JNB P2.2,OFF JMP LOOP ON: MOV P1,#00H ON_1: JB P2.0,LOOP JMP ON_1 ON8: MOV P1,#08H ON_8: JB P2.1,LOOP JMP ON_8 OFF: MOV P1,#0FFH OFF_1: JB P2.2,LOOP JMP OFF_1 END 10、单片机AT89C51的P2口接7447驱动一个共阳极七段数码管。让该数码管循环显示数字“9~0”,延时为1S。 ORG 0000H MOV R0,#10 start: DJNZ R0,s MOV P2,R0 CALL delay MOV R0,#10 JMP start s: MOV P2,R0 CALL delay JMP start delay: MOV R5,#100 k1: MOV R6,#250 k2: MOV R7,#250 k3: DJNZ R7,k3 DJNZ R6,k2 DJNZ R5,k1 RET END 11、单片机AT89C51的P2口接7447驱动一个共阳极七段数码管。 让该数码管显示数字“2~6”,之后显示“9~0”,如此循环,延时为1S。 ORG 0 START: MOV R0,#5 MOV A,#2 LOOP_1: MOV P2,A INC A CALL D1000MS DJNZ R0,LOOP_1 MOV R0,#10 MOV A,#9 LOOP_2: MOV P2,A DEC A CALL D1000MS DJNZ R0,LOOP_2 JMP START D1000MS: MOV R7,#250 D1: MOV R6,#200 D2: MOV R5,#250 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET END 12、四个集成共阳极七段数码管的公共端以PNP三极管做开关分别连接到单片机AT89C51的P1低四位, 数码管的各显示引脚a~dP分别连接到P2.0~2.7。让4个数码管稳定显示“2012”。 ORG 0 LOOP: MOV P1,#11111110B MOV P2,#10100100B CALL D4MS MOV P1,#11111101B MOV P2,#11000000B CALL D4MS MOV P1,#11111011B MOV P2,#11111001B CALL D4MS MOV P1,#11110111B MOV P2,#11111001B CALL D4MS JMP LOOP D4MS: MOV R7,#10 D1: MOV R6,#200 DJNZ R6,$ DJNZ R7,D1 RET END 13、四个集成共阳极七段数码管的公共端以PNP三极管做开关分别连接到单片机AT89C51的P1低四位, 数码管的各显示引脚a~dP分别连接到P2.0~2.7。让LED先稳定显示“2012”, 约1秒之后再稳定显示“12.21”,如此循环。 ORG 0 LOOP: MOV R0,#65 LOOP_1: MOV P1,#11111110B MOV P2,#10100100B CALL D4MS MOV P1,#11111101B MOV P2,#11000000B CALL D4MS MOV
单片机闪烁灯流水 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)