单片机流水灯汇编语言源代码大全(一)
单片机AT89C51的P1口接8个发光二极管,让这8个发光二极管可以双灯左移之后再双灯右移,构成响雷灯的作用,如此循环5次后全灭,延时0.5S。灯右移,构成响雷灯的作用,如此循环5次后全灭。延时0.5S。
源代码
ORG 0000H
MOV A,#11111100B
start:
MOV P1,A
CALL delay
RL A
RL A
INC R0
CJNE R0,#4,start
MOV R0,#00H
s:
RR A
RR A
MOV P1,A
CALL delay
INC R0
CJNE R0,#4,s
MOV R0,#00H
LJMP 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
单片机流水灯汇编语言源代码大全(二)
单片机AT89C51的P1口和P2口别离接八个发光二极管,P2口八灯完成左移,延时0.5S,要求左移第一次,P1.0对应灯点亮,P2口灯左移第2次,P1.1对应灯亮,如此延续下去,直至左移八次后,一切灯全灭。
ORG 0000H
MOV R0,#11111110B
start: MOV A,#11111110B
MOV P2,A
s: CALL delay
RL A
MOV P2,A
CALL delay
CJNE A,#01111111B,s
MOV A,R0
MOV P1,A
RL A
MOV R0,A
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
单片机流水灯汇编语言源代码大全(三)
单片机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
单片机流水灯汇编语言源代码大全(四)
单片机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
单片机流水灯汇编语言源代码大全(五)
单片机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
单片机流水灯汇编语言源代码大全(六)
单片机AT89C51的P0口接8个LED,用INT0发生中止。主程序正常履行时,P0口的8个LED单灯左移。当进入中止状况时,P0口的8个LED将变成单灯右移,3个循环后,康复中止前的状况,即持续履行8个LED单灯左移。延时为0.5S。
ORG 0000H
JMP main
ORG 0003H
JMP int_0
main:
SETB IT0
SETB EX0
SETB EA
MOV A,#11111110B
s: RL A
MOV P2,A
CALL delay
JMP s
delay:
MOV R7,#100
d3: MOV R6,#200
d2: MOV R5,#250
d1: DJNZ R5,d1
DJNZ R6,d2
DJNZ R7,d3
RET
int_0:
MOV P2,A
MOV R0,#24
k: RR A
MOV P2,A
CALL delay
DJNZ R0,k
MOV R0,#24
RETI
END