首页 理论教育74HC138在单片机原理与应用中的应用

74HC138在单片机原理与应用中的应用

【摘要】:图8-7 74HC138驱动点阵显示块8.2.1 三八译码器的原理三八译码器即三线八线译码器,三线是指三位的二进制输入端,八线是指八位输出端。图8-9 DIP16封装的74HC138图8-10 74HC138引脚排列表8-2 74HC138引脚的功能8.2.2 74HC138的编程应用用点阵LED显示心形图案。

要驱动一个单色的LED点阵显示块,可以使用总线驱动器74HC245,任务8.1中使用了一个74HC245用来驱动行线,将图8-1电路图稍做改动,用两个74HC245配合使用8051系列单片机的两组I/O口来实现,其电路原理如图8-6所示。

图8-6中,两片74HC245分别驱动点阵显示块的行线和列线,驱动一个点阵显示块总共占用了单片机的16个I/O口,为了节省I/O口,可以使用前面介绍的74HC573。在这介绍另外一个芯片,用74HC138作为列线的驱动,其电路如图8-7所示。

图8-6 74HC245驱动点阵显示块

在图8-7所示的电路中,使用一片总线驱动器74HC245驱动点阵显示块的行线,而点阵显示块的列线则由一片74HC138来驱动,这样做的好处是可以节省5个I/O口,74HC138的灌电流和拉电流大约为25 mA,驱动8个LED绰绰有余。

图8-7 74HC138驱动点阵显示块

8.2.1 三八译码器的原理

三八译码器即三线八线译码器,三线是指三位的二进制输入端,八线是指八位输出端。三个输入端可以组合成从“000”到“111”共八种组合变化,对应着八个输出端互斥的低电平输出。

1.74HC138的功能

74HC138是一种三通道输入、八通道输出的译码器,其内部原理如图8-8所示。图中A0~A2为三线输入端,Y0~Y7为八线输出端。CS1、CS2和CS3分别是芯片的三个选通控制端,当CS1~CS3的值为“100”时芯片被使能,三个输入端电平的变化会被翻译成八个输出端互斥的低电平输出。三八译码器的引脚逻辑见表8-1。

图8-8 74HC138的内部原理

表8-1 74HC138真值表

注:H=高电平,L=低电平,×=不用关心,Z=高阻态。

2.74HC138的引脚排列

74HC138采用CMOS工艺,工作电压为2.0~6.0 V,其外观如图8-9所示,引脚排列如图8-10所示,引脚功能见表8-2。

图8-9 DIP16封装的74HC138(www.chuimin.cn)

图8-10 74HC138引脚排列

表8-2 74HC138引脚的功能

8.2.2 74HC138的编程应用

【实训8.1】用点阵LED显示心形图案。按照图8-7所示的实验电路,用来驱动点阵显示模块。电路搭建好后,编写驱动程序,目的是在点阵显示块上显示一个固定的心形,具体程序见代码清单。

将源程序正确编译后,在Proteus中进行仿真,程序运行后可见点阵显示块上显示出了心形图案,具体状态如图8-11所示。

图8-11 点阵显示块显示心形图案(一)

【实训8.2】让图像动起来。在上面的编程应用中,已经成功地将心形图案显示在点阵显示块上,现在如何让这个心形图案动起来,实现的方法是使用本书前面介绍的循环左移函数,具体程序见代码清单。

以上程序运行后,我们会发现点阵显示块上显示的心形图案会自上而下不断运动,具体状态如图8-12所示。

图8-12 点阵显示块显示心形图案(二)

三八译码器可以进一步降低I/O口的开销,其互斥的低电平输出可以驱动总线上不同器件的OE端作为选通信号,用于选通总线上的多个器件。另外,三八译码器同样具有较强的驱动能力,可以进一步简化电路的设计。