首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

请单片机高手帮小弟我改进一下程序

2012-02-15 
请单片机高手帮我改进一下程序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

热点排行