初学51
单片机,我现在要做一个走道灯,要用汇编语言,一个按钮开关控制一盏灯,第一次按下开关后灯亮,进入延时程序,到规定时间后灯自动灭。在灯亮延时的过程中我想灭灯,就是再按一次开关,灯就立刻灭掉(即中断程序),第三次按下开关后,灯亮,进入延时程序。。。以此类推。程序代码如下,但在protues
仿真不理想,按钮无法精确控制灯的亮灭,望高人指点,如何改善,实现精确控制
LIGHT BIT P1.0
KEY BIT P3.2
ORG 0000H
SJMP START
ORG 0003H
AJMP INTO
ORG 0030H
START:CLR LIGHT
JB KEY,START
SETB EA
SETB EX0
LCALL DELAY
SETB LIGHT
LCALL DELAY
AJMP $
DELAY:MOV R1,#50
LOOP4:MOV R2,#170
LOOP3:MOV R3,#100
LOOP2:MOV R4,#50
LOOP1:DJNZ R4,LOOP1
DJNZ R3,LOOP2
DJNZ R2,LOOP3
DJNZ R1,LOOP4
INTO:CPL P1.0
RE
ti
END
一周热门 更多>