单片机来连接led显示器的设计是经常的事情,常用的有两种方法一是接并口显示,这种方法占用了大量的单片机端口资源,利用8279等芯片可以实现动态显示,程序也容易写,在某单片机并口需要连接很多设备的设计种不推荐使用,还有一种是利用单片机串口动态扫描的led显示电路,本站 将一一介绍。
1.单片机串口led显示电路
80C51的串行通信口是一个功能强大的通信口,而且是相当好用的通信口,用于显示驱动电路再合适不过了,下面我们就根据这种需要设计一个用两个串行通信口线加上两根普通I/O口,设计一个4位LED显示电路。当然只要再加上两根I/O口线即可轻易实现8位LED的显示电路。
左图是电原理图,我们还是采用C2051单片机,同时用廉价易得的74LS164和74LS138作为扩展芯片74LS164是一个8位串入并出的移位寄存器,其此处的功能是将C2051串行通信口输出的串行数据译码并在其并口线上输出,从而驱动LED数码管。74LS138是一个3-8译码器,它将单片机输出的地址信号译码后动态驱动相应的LED。但74LS138电流驱动能力较小,为此,我们使用了未级驱动三极管2SA1015作为地址驱动。 将4只LED的段位都连在一起,它们的公共端则由74LS138分时选通,这样任何一个时刻,都只有一位LED在点亮,也即动态扫描显示方式,其优点在上一节中我们已经阐述。使用串行口进行LED通信,程序编写相当简单,用户只需将需显示的数据直接送串口发送缓冲器,等待串行中断即可,看看下面的程序