请单片机高手帮小弟我改进一下程序
请单片机高手帮我改进一下程序p0口控制8个LED,低电平点亮。我想每按一次按钮(p2.0),就有一个led被点亮。连续
请单片机高手帮我改进一下程序
p0口控制8个LED,低电平点亮。我想每按一次按钮(p2.0),就有一个led被点亮。连续按按钮时,LED被依次点亮。
Assembly code org 0000h ljmp main org 0003h main: mov a,#0feh cc:mov p0,a mov r1,#0ffh dlay:mov r2,#0ffh djnz r2,$ djnz r1,dlay bb:jnb p2.0,aa ljmp bb org 050h aa: rl a ljmp cc end
上面是我的代码,靠电平触发。但由于LED变化的太快,效果不好。我希望能改成靠按按钮时产生的上升沿或下降沿触发,但不知道该怎么实现。请高手指教。
[解决办法]N年没写过51汇编了,试一下:
main:
mov a,#0feh
cc: mov p0,a
jb p2.0,$ ;未按下,等待
mov r1,#0
delay: mov r2,#0h ;按键去抖
djnz r2,$
djnz r1,delay
jnb p2.0,$ ;未抬起,等待
rl a
ajmp cc
end