菜鸟起飞 (第五篇) ---- 共阳极数码管 分段点亮问题

2014-04-142.2万
AI 快速预览详细 收起
本文讨论了共阳极数码管逐段点亮的问题。问题描述为数码管每一段都能点亮,但无法实现逐段点亮和熄灭的效果。最终发现原因是共阳极数码管正极接5伏,负极接各针脚,需要先灭灯才能实现延时效果。经验总结是直接写自己需要的状态,避免考虑之前的每一段状态。


人在江湖,身不由己。最近事情多,学习进度很慢。

原本计划趁周末把书上所有的实验全都做了,没想到一个简单的数码管居然成了障碍。

问题描述:

        数码管每一段都能点亮,我想做一个逐段点亮,然后再逐段熄灭的效果,以此作为数码管实验的结束。

        逐段点亮的程序一运行,每段都同时亮起来,没有延时效果。

        中间软件、硬件各种折腾、测试略去不表。


最终病因:

       共阳极数码管正极接5伏,负极接各针脚。各针脚缺省是低电平,数码管是点亮的,所以要先灭灯。

       如果用共阴极数码管的,就不会犯这个错。


经验总结:

     当时看书时,觉得书上的程序编得很啰嗦,显示一个数字要把每一段的状态都写一遍。

     现在看来,这正是智慧之所在。根本不用考虑之前每一段是什么状态,直接写自己需要的。这样不会犯错误。




创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
Youyou
Youyou
楼主学习的很认真,加油哦!:loveliness:
我来谈谈我的意见啦。您说的“共阳极数码管正极接5伏,负极接各针脚。各针脚缺省是低电平,数码管是点亮的,所以要先灭灯。”,这句话中“各针脚”指的是Arduino的管脚吗?如果是的话,应该默认是高阻状态,不是低电平。因为高阻状态电平不能确定,所以点亮数码管是很有可能的,而且比正常点亮时暗淡一点。:D
phoebe.wang40
phoebe.wang40
我猜楼主看的是零基础的书吧?数码管不加595移位寄存器的话代码会比较繁琐,尤其是数码管一多,数字口完全不够用,建议楼主可以尝试加上595玩玩数码管:lol
killusa
killusa
作者
回复phoebe.wang40
正是零基础那本书
- 没有更多了 -