)用STC89C52单片机一个按键控制一个灯,按下该按键,灯亮,再按一次该键,灯又熄灭,程序如何写(汇编)
1个回答
展开全部
这个程序太简单了哦。
比如你的按键是P2.0,灯是P2.1的话程序如下:
org 1000H
lcall keyscan
sjmp $
keyscan:
push acc
mov a,p2
jb acc.0,here
lcall delay
mov a,p2
jb acc.0.here
cpl p2.1
here:
ret
delay:
mov r6,20
delay1:
mov r7,200
delay2:
nop
nop
nop
djnz r7,delay2
djnz r6,delay1
ret
比如你的按键是P2.0,灯是P2.1的话程序如下:
org 1000H
lcall keyscan
sjmp $
keyscan:
push acc
mov a,p2
jb acc.0,here
lcall delay
mov a,p2
jb acc.0.here
cpl p2.1
here:
ret
delay:
mov r6,20
delay1:
mov r7,200
delay2:
nop
nop
nop
djnz r7,delay2
djnz r6,delay1
ret
追问
谢谢大哥呀!
小弟只是业余爱好,偶尔自学下,呵呵。。
还有再请问下,大哥程序中的这两个指令怎么理解??
1.lcall keyscan
2.jb acc.0,here
还请告知,谢谢!
追答
晕,真是菜哦。
LCALL 是调用呀,调用后面的子程序
JB指令是位判断指令
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询