3、 LED的动态刷新
每个石英晶体有7种状态需要指示,如果每一个状态一个LED指示,那么电路板上就需要144×7=1008个LED,很不经济。如果利用多个LED组合(LED亮和LED灭的组合)代表状态,那么电路板上就需要144×3=432个LED。
为了减少器件的使用量,我们用2个LED代表一个石英晶体的所有状态。具体实现方法为使用一个红色和一个绿色的LED,除了使用LED全亮全暗的4个状态外;我们又使用LED闪烁表示信息,分别为绿色闪烁红色暗,绿色暗红色闪烁,绿色闪烁红色闪烁。如此,仅用288个二级管代表144个石英晶体的7种状态。经过生产线的生产实践表明这种方式效果良好。
关于LED的驱动方案,选择的是动态刷新的方式。为了确保有足够快的刷新频率,需把每144个LED分在一个刷新矩阵中,每个矩阵每次刷新12个LED(见图2)。
刷新的过程为12条阴极驱动线依次接通,12条阳极驱动线输出阴极驱动线所在的LED的状态。由于LED只有1/12的时间通电,因此我们使用了很高的驱动电流。用人的眼睛观察,LED的亮度并不会受到影响。
4、 LED状态的控制
我们在电路中使用了廉价的AT89C52单片机,其硬件资源很有限。在本应用中有144个石英晶体的状态要保存。而单片机仅仅有256字节的内存,如何合理使用有限的内存是编程中需要解决的主要问题之一。
共解决方案为: