打印

帮帮忙!

[复制链接]
2226|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hujilaile|  楼主 | 2007-1-5 09:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
哪个能给我一个LED动态扫描驱动程序,我做的这个只要退出扫描,LED就回灭了,我不知道怎么改回来。程序从头开始运行时,快速运行时连亮都不亮了!
郁闷!
沙发
p1j2m3| | 2007-1-7 21:47 | 只看该作者

你两次扫描的时间间隔太长

使用特权

评论回复
板凳
warm_ice| | 2007-1-8 09:36 | 只看该作者

楼上的朋友已经讲了,多注意扫描的间隔

告诉你一个简单的方法,在定时中断中处理,如定时1毫秒,每次中断处理一路LED,循环扫描,这样做就可以满足你的要求,且保证显示均匀.你可以试试看.

使用特权

评论回复
地板
w55706| | 2007-1-8 22:34 | 只看该作者

主程序处理也很好

我通常这样做也没有问题:
在中断里置2ms或者1ms到的时间标志,在主程序进行任务分配扫描,显示一路都可以,先显示在处理一个任务然后等待下个时间到如下程序:
MainLoop:
    LDA     rWorkFlag,00H  
    BA0     $+2    ;时间到?
    JMP     MainLoop
    ANDIM   rWorkFlag,1110B ;清除标志       
   
    LDA     r1msTaskJump,00H    ;1MS任务分配 
    SHR     
    STA     r1msTaskJump
    BA2     MainTask20         ;按键读取和处理
    BA1     MainTask30         ;;--------心率检测和计算-------
    BA0     MainTask40         ;显示任务处理    

MainTask10:
    处理一路显示
    处理其他任务
    JMP     MainLoop
MainTask20:
    .....

使用特权

评论回复
5
qiuming| | 2007-1-9 12:48 | 只看该作者

估计是处理方法要改良

每次关闭一路灯时要开下一路,在亮灯时处理其他事物.每次切换的时间如楼上几位说的.

使用特权

评论回复
6
hujilaile|  楼主 | 2007-1-15 09:57 | 只看该作者

谢谢各位

正如w55706所说的,已经出来!谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

27

帖子

1

粉丝