0000H
SJMP
START
ORG
0030H
START:
MOV
A,
#0FEH
先让第一个发光二极管点亮
LOOP:
MOV
P1,
A
从P1口输出到发光二极管
MOV
R1,
#100
延时0.5秒
DEL1:
MOV
R2,
#200
DEL2:
MOV
R3,
#7
DEL3:
DJNZ
R3,
DEL3
DJNZ
R2,
DEL2
DJNZ
R1,
DEL1
RL
A
左移一位,点亮下一个发光二极管
LJMP
LOOP
END
答疑解难 跑马灯程序
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: JB P0.7,MAIN ;等待开始键按下
LCALL YS ;按键延时
JB P0.7,MAIN
MOV A,#7FH ;是开始键按下 则跑马灯开始运行
LL: MOV P1,A
LCALL YS ;显示延时
RR A ;循环右移一位
JB P0.6, LL ;没有按下停止键 则继续跑马
LCALL YS ;按键延时
JB P0.6,LL ;按下停止键 则停止跑马;否则继续跑马
MOV A,#0FFH
MOV P1,A
SJMP MAIN ;转到程序开始处,等待开始键的按下
YS: MOV R7,#150 ;延时子程序
YL: MOV R6,#200
YY: NOP
DJNZ R6,YY
DJNZ R7,YL
RET
END
硬件接口电路如下:
哈哈 还满意吗 就请给俺选择(满意选项)吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)