|
| PWM驱动即可 |
|
你可以用,逐点扫描试一下试一下, 1. 定时器1ms, 3个数码管 24段,扫描一次就是24ms. 2. 定时器500us, 3个数码管 24段,扫描一次就是12ms. 看是否满足你的要求. |
| 较真点的话,推挽也能用。调整扫描时间,推挽模式下亮的时间少一点,暗的时间多一点,LED应该不会烧,这样亮度会好一些。至于第一个数码管暗,应该还是代码的事情。 |
楼主这个问题应该是代码毛病,就是扫描时间间隔不均匀所致。表面看是某些笔段异常,实际应该是百位在某阶段显示时间过短。曾经设计一款产品,仿真没有发现问题,实物发生楼主类似情况,细查是数码管显示函数在主函数的位置不当所致。主函数框架是定时2ms轮询,由于其他函数运行不是每轮耗时相同,造成数码管刷新时间间隔不均匀,将数码管显示函数调到前列,问题解决。楼主用内置上拉电阻驱动数码管完全可行,附图就是两个相同电路板无限流电阻 ,左边是准双向模式驱动,右边是高阻模式内置上拉电阻驱动的效果对比。下图是高阻模式内置上拉电阻驱动5脚188数码管的效果图。
|
| 没有加入限流电阻没太大毛病,插电,开机,看烧不烧就完事了。第1位显示问题感觉要么代码,要么IO,调换一下iIO就知道了. |
| 我可以提供一个信息供你参考:目前的LED管发光效率很高,零点几mA就能点得非常亮,故使用单片机上拉电阻是有可能有一定的亮度的。至于某个LED较暗,可能是一致性不好,或者说这个LED需要更大一点的电流才能达到正常的亮度。 |
扫描时间![]() |