数码管显示亮度高,响应速度快,可以在一些比较差的环境中使用。有1位、2位、4位、8位连体等。。。也有专用于显示时间的数码管。
数码管显示方式有两种:
静态显示:其实和上面一样,如P1=0xA4; 那么P1一直维持0xA4那么数码管的每一段二极管的状态都会保持字形不变。变动P1的电平状态才会改变新字形。优点是占用CPU时间少。缺点是占用IO口多硬件设计复杂,特别是控制多位数码管时尤为占用IO口,成本较高。
动态显示:动态其实就是利用发光二极管的余晖和人眼视觉暂留作用。控制多位数码管时,将所有数码管的段选并联在一起,由位选线控制是哪位数码管接受段选编码。如下图一样。
例如:
P0组是并联所有数码管的段选。P2^6、P2^7选择哪位数码管。我要显示520,那么 首先选中第一位数码管,然后送数字5的段编码控制段选的P0口。
然后再选中第二位数码管,再送数字2的段选编码给P0,这时候第一位数码管虽然断电,但是二极管并没有瞬间熄灭,所以还有余晖保持字形。
继续再选中第三位数码管送数字0的段选编码给P0,这时候第一、第二位数码管虽然都断电,但由于切换速度太快,余晖仍没有完全熄灭就造成三位数码管同时显示不同的数字字型的假象。