打印
[51单片机]

动态扫描间隔500ms怎么依次全部显示?

[复制链接]
725|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FBIII|  楼主 | 2019-9-18 09:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2019-9-18 10:30 | 只看该作者
通用解决思路
开辟个缓冲区
往缓冲区送什么就显示什么,显示最好放在定时中断中完成

使用特权

评论回复
板凳
tianxj01| | 2019-9-18 10:53 | 只看该作者
动态扫描,是用比较快的速度依次点亮需要点亮的笔划。
你这里需要的是半秒一个逐步提升位数的显示效果,这个不是动态扫描。
比较清晰的动态扫描驱动思路,一般是放在某个固定的时钟中断里面,根据时钟计数,取对应缓冲区,输出到段扫描和位扫描。
需要实现0.5秒显示效果的,你只是需要在缓冲区,按照0.5秒的节奏,改写要点亮或者熄灭的段位就成。
比如我需要显示数据是4位,8段,则正好一个8位4字节数组,作显示缓冲。
对应的组成成员按照LED顺位排列,数组【0】=第一位LED,如果里面是1111111,则显示一个8+。当全部为0则熄灭。
而动态扫描,则根据时钟计数,是第一位显示的,则位扫描值就是0,再根据笔划扫描时钟,读取位显示缓冲,直接按位输出就行了。

使用特权

评论回复
评论
FBIII 2019-9-19 11:15 回复TA
数码管一直动态扫描但是不显示,利用软件延时500ms后依次点亮能不能实现 
地板
FBIII|  楼主 | 2019-9-19 11:16 | 只看该作者
ayb_ice 发表于 2019-9-18 10:30
通用解决思路
开辟个缓冲区
往缓冲区送什么就显示什么,显示最好放在定时中断中完成 ...

数码管一直动态扫描但是不显示,利用软件延时500ms后依次点亮能不能实现

使用特权

评论回复
5
FBIII|  楼主 | 2019-9-19 11:16 | 只看该作者
FBIII 发表于 2019-9-19 11:16
数码管一直动态扫描但是不显示,利用软件延时500ms后依次点亮能不能实现  ...

数码管一直动态扫描但是不显示,利用软件延时500ms后依次点亮能不能实现

使用特权

评论回复
6
tianxj01| | 2019-9-19 11:17 | 只看该作者
FBIII 发表于 2019-9-19 11:16
数码管一直动态扫描但是不显示,利用软件延时500ms后依次点亮能不能实现  ...

已经跟你说了,动态扫描和逐步点亮这是2个过程。
先把动态扫描做好了。逐步点亮只是根据延时要求,修改显示缓存而已。怎么可能做不到呢?

使用特权

评论回复
7
ayb_ice| | 2019-9-19 11:19 | 只看该作者
FBIII 发表于 2019-9-19 11:16
数码管一直动态扫描但是不显示,利用软件延时500ms后依次点亮能不能实现  ...

动态扫描在定时中断上完成,显示的数据从缓冲区获取,主循环往缓冲区送数据即可

使用特权

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

本版积分规则

9

主题

20

帖子

0

粉丝