单片机闪烁灯流水灯汇编代码大全 下载本文

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