找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11671|回复: 10
打印 上一主题 下一主题
收起左侧

51单片机控制数码管闪烁问题,只让一个闪,其他常亮 求帮助

  [复制链接]
跳转到指定楼层
楼主
ID:478858 发表于 2019-2-21 14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机如何做到数码管一个闪烁,其他不闪烁,但是都亮,c语言?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:237239 发表于 2019-2-21 17:08 | 只看该作者
首先,你要知道:数码管都是闪烁的,只不过闪烁的时间比较短,人眼认不出来。试着在你想要控制的数码管加一个延时,也许就实现了。
回复

使用道具 举报

板凳
ID:213173 发表于 2019-2-21 17:42 | 只看该作者
不同的数码管驱动方式控制某一位闪烁的方法各异,要看具体电路和程序后采用对应方法,没有一招打遍天下的方法。一般是按需要闪烁的频率设一个标志位,数码管驱动程序以此标志位判断数码管某一位的亮或灭。
回复

使用道具 举报

地板
ID:478073 发表于 2019-2-21 19:21 | 只看该作者
代码放上来再说话
回复

使用道具 举报

5#
ID:472251 发表于 2019-2-21 19:26 | 只看该作者
我的思路是用两个定时器,一个定时器扫描一个数码管,扫描间隔大一些,看起来就是闪烁的。一个定时器扫描剩余数码管,扫描间隔小些,这样看起来就不会闪烁。
回复

使用道具 举报

6#
ID:432823 发表于 2019-2-21 20:57 | 只看该作者
针对数码管的类型,选择相应的驱动电路,根据驱动电路的控制方式,写程序。如:共阴数管,每位数码有一个共阴位,要它闪烁,这要控制它通电时间频率低于25HZ以下即可。
回复

使用道具 举报

7#
ID:478073 发表于 2019-2-21 23:06 | 只看该作者
数码管都是闪烁的,只不过闪烁的时间比较短,人眼认不出来。

评分

参与人数 2黑币 +30 收起 理由
刀刀见红 + 16
jinsheng7533967 + 14

查看全部评分

回复

使用道具 举报

8#
ID:417440 发表于 2019-2-22 07:50 | 只看该作者
什么样的闪烁?while(1){led1_on();delay500ms();led1_off();delay500ms();}
回复

使用道具 举报

9#
ID:476853 发表于 2019-2-22 11:00 | 只看该作者
要看你电路怎么连得,都可以用c语言实现的.
回复

使用道具 举报

10#
ID:123289 发表于 2019-2-22 12:40 | 只看该作者
1、N个LED就增加N个标记位,如N3代表第3位LED。
2、如果想让哪个位闪就让哪个位的N=1,如N3=1。
3、用时间中断做个闪动位,如FL,如0.3秒反转一次(FL=0/1)。
4、你的程序显示时,判断一下闪动需求位N,如果N=0,就按现在的显示方式处理(不闪),如果N=1(要求闪动),就将该位输出的数据的各个段,同FL做一个“与”再送到显示接口上。这样就闪动了。(也可能做“或“逻辑,要看你是0亮还是1亮)。
回复

使用道具 举报

11#
ID:123289 发表于 2019-2-22 12:43 | 只看该作者
6个LED:闪动第2位和第5位的表示方式:N1=0,N2=1,N3=0,N4=0,N5=1,N6=0。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表