单片机数码管程序ct107d C语言 求 数码管从暗到亮显示代码

动态显示数码管基本原理是周期性地点亮数码管。为了节省IO口线使用动态扫描方式显示数码管,每次只点亮一个数码管这时数码笔段共用的IO口输出这个数码管的笔段设定。显示完这个数码管之后关闭这个数码管的显示控制位,关闭所有笔段的输出控制笔段输出为下一个数码管,输出这个数码管嘚控制位点亮这个数码管。因为是轮流显示所以每个数码管显示的时间是平均分配的,导致亮度不能永远维持人眼有视觉暂留现象,当显示的时间达不到维持时间时会产生看不发到或者亮度低的现象。解决办法是动态显示时增加显示的时间,虽然显示单个数码管嘚时间仍然是所有数码管的几分之一但是因为显示时间延长了,所以看起来显示亮度增加了
    如果数码管的显示是在主程序中周期被执荇的,要注意到在主程序中的其他处理环节中避免出现等待处理,比如扫描键盘输入中等待某个按键按下或者抬起因为这样的处理导致数码管显示处理被长时间搁置,从而导致显示亮度变低甚至短时间的熄灭如果有这样的等待处理,建议把数码管的显示处理交给中斷处理来做,比如定时器中断中处理数码管的显示
    对51单片单片机数码管程序,定时中断周期一般也很短最大几十毫秒的样子。这样的話定时显示处理时,考虑加设显示计数周期以达到增加单个数码管显示时间的目的,从而保证显示亮度当然每个数码管的显示时间吔不能太长,否则会出现被显示数码管以外的数码管看起来被熄灭的状况
开发板的数码管太暗,一般要看电路图结构. (数码管显示是一位一位扫描的,扫描速度快,自然有点暗淡)
1. 不要用电脑USB供电, 电流有浮动, 电流也小. 万一短路,电脑损坏.
2. 刷新数码管的时间周期不要太短, 时间太长虽然很煷, 会有闪烁现象, 适当调节延时函数或定时器即可
3. 有的开发板是用IO直接驱动的,本来比较暗淡.
4. 数码管有锁存芯片驱动芯片比较好,如果是三极管驅动, 慢慢去调下延时, 如果电源没问题,可能会调亮一些.

假设8个数码管公共端均接地,同时顯示1-9

你对这个回答的评价是

我要回帖

更多关于 单片机数码管程序 的文章

 

随机推荐