在设计动态扫描8位7段数码管 时,由于同时要驱动8位数码管,为了能持续看见数码管上面的显示内容,必须对数码管进行扫描,即依次并循环地点亮各个数码管。
利用人眼的视觉暂停效应,在一定的扫描频率下,人眼就会看见好几个数码管一起点亮。每个数码管的功耗较大,如果所有的数码管一起点亮,其功耗较大。利用扫描的方式,每个时刻只有数码管是亮的,可以大大的减少功耗。
扫描频率大小合适效果才好。太小,每个数码管开启的时间大于人眼的视觉暂停时间,那么会产生闪烁现象。扫描频率太大,会造成数码管的频繁开启和关断,大大增加数码管功耗(开启和关断的时刻功耗很大)。
这里我们设计一个从系统时钟得到1Khz的扫描时钟为例:
系统时钟:50MHZ T:20ns
设计时钟:1KHZ T:1ms 进行2分频:0.5ms=500000ns
需要计数次数: 500000%20=25000次 即需要15位宽
即 reg [14:0] divider_cnt;