标题 | 74HC595在LED点阵显示系统中的应用 |
范文 | 黄勇 摘要:74HC595是一串行输入/串行输出或并行输出的8位芯片,介绍了该芯片在LED点阵显示、双色LED点阵显示及多位LED点阵显示应用中的硬件设计及软件设计,对硬件设计及软件设计的关键环节进行了详细阐述。 关键词:74HC595;LED点阵;显示系统 中图分类号:G642? ? ? ? 文献标识码:A? ? ? ? 文章编号:1009-3044(2018)36-0256-02 随着单片机技术的不断发展以及高亮度LED发光管的出现,LED点阵显示屏作为一种新型的传播媒体迅速发展起来。LED显示屏主要应用在医院、银行、车站、码头、广告窗等各种公共场所。LED点阵显示屏具有成本低、亮度高、耗电省、使用寿命长、色彩鲜艳、视角广、屏幕尺寸大、可视性好等特点,是目前较为先进的宣传显示媒体。LED点阵显示屏的驱动需要占用多个并行口资源,而用于驱动LED点阵的51单片机只有常用的P0至P2三个并口,在实际应用系统设计中往往采用74HC595进行串行到并行的扩展,这样就节约了大量的并口资源。本文详细介绍了74HC595芯片在LED点阵显示、双色LED点阵显示及多位LED点阵显示应用中的硬件设计及软件设计。 1 74HC595的结构和工作原理 74HC595是8位串行输入/输出或串行输入/并行输出的器件。内部具有8位移位寄存器、一个锁存器、三态输出。其功能结构如图1。 74HC595的工作过程如下:每当SHcp上升沿到来时,Ds引脚当前电平值在移位寄存器中左移一位,在下一个上升沿到来时移位寄存器中的所有位都会向左移一位,同时Q7'也会串行输出移位寄存器中高位的值,这样连续进行8次,就可以将一个数(8位)送到移位寄存器;然后当STcp上升沿到来时,移位寄存器的值将会被锁存到锁存器里,在OE引脚为低电平时,数据从Q0~7引脚输出。 2 LED点阵显示 LED点阵显示屏是由多个发光二极管组成。按点阵可以分为5×7、8×8以及16×16规格的显示屏模块。它是一种通过控制发光二极管的显示方式,即靠灯的亮灭来显示字符。一般用来显示文字、图形、图像等各种信息。在物理连接上分共阴极连接和共阳极连接两种。LED点阵结构原理如图2所示,显示时,先通过单片机的并口输出位选择信息0111111,即选中第一行,然后通过单片机另一个并口输出第一行对应的帧信息,1表示亮,0表示不亮。然后再输出位选择信息10111111,选择第二行,再输出第二行对应的帧信息,如此,一直扫描到第8行。再软件中,按一定的频率依次输出位选择信号及每行的帧信息,利用人的视觉惯性就能看到稳定的字符或图形显示。 3 74HC595在LED点阵显示中的应用 3.1 74HC595在单色LED点阵显示中的应用 从上面的LED点阵显示原理上,可以看出,一个8×8点阵显示就需要占用单片机的2个并口资源,在实际使用中,可以用2片74HC595芯片,一个74HC595芯片只需连接单片机的3位输入输出口即可输出8位信息。具体连接是:74HC595芯片的Ds引脚(串行输入)、SHcp引脚(移位寄存器的移位脉冲输入)、STcp引脚(锁存器的锁存脉冲信号输入)。输出使能端OE接地。相关程序如下: sbit LATCH =P1^0; 锁存时钟输入 sbit SRCLK=P1^1;移位时钟输入 sbit SER= P1^2;位数据线输入 void Send(unsigned char dat) {unsigned char i; for(i=0;i<8;i++)? //发送字节 {SRCLK=0; SER=dat&0x80;? //发送dat的最高位 SRCLK_B=1; dat<<=1;} LATCH=0;? ? //锁存 _nop_(); LATCH=1;} 3.2 74HC595在双色LED点阵显示中的应用 一个双色8×8LED点阵的驱动需要3个并口,一个并口输出位选择信号,一个并口输出一种颜色的帧信息,另一个并口输出另一个颜色的帧信息。显然占用了单片机太多的并口资源。实际使用中,可以用3片74HC595,一片输出位选择信息,另二片输出颜色的帧信息。二片输出颜色的帧信息的74HC595在连接上要进行级联。即一片74HC595的输入端连接在另一74HC595芯片的串行输出端Q7,特别注意的是,二片芯片的SHcp引脚和STcp引脚需分别连接在一起,使用相同的移位脉冲源及相同的锁存信号。在软件设计中,需考虑级连的情况,先将二种颜色的帧信息发完,再进行锁存。相关程序如下: void SendByte(unsigned char dat) {? unsigned char i; for(i=0;i<8;i++) {SRCLK=0; SER=dat&0x80; SRCLK=1; dat<<=1; }} void Send2Byte(unsigned char dat1,unsigned char dat2)//發送2个字节 {? SendByte(dat1); SendByte(dat2); } void Out595(void)? ?//锁存帧信息 {? LATCH=0; _nop_(); LATCH=1;} 3.3 74HC595在多位LED點阵显示中的应用 在多位LED点阵的显示系统中,也可以使用74HC595的级连来驱动每个LED点阵。设有4个8×8的LED点阵,若要在这四个LED上同时显示4个字符的话,则需要5个并口资源。这就占用了单片机太多的并口资源。实际上,51单片机最多可以使用4个并口。现在考虑使用5个74HC595,一个74HC595作为位选择信号输出,另外4个74HC595级连,每个74HC595驱动一个LED点阵。在硬件连接上,将四个LED点阵的位选择端连接再一起,用来输出帧信息的4个74HC595采用级联,芯片的SHcp引脚和STcp引脚需分别连接在一起。再软件设计上需考虑到74HC595的级连,先发出4个LED的帧信息,然后再发出锁存信号。相关程序如下: void Send4Byte(unsigned char dat1,…,unsigned char dat4)//发送4个字节 {? SendByte(dat1); SendByte(dat2); SendByte(dat3); SendByte(dat4);} void Out595(void)? ?//锁存帧信息 {? LATCH=0; _nop_(); LATCH=1;} 4 结束语 本文详细地阐述了74HC595在LED点阵显示系统、双色LED点阵显示系统及多位LED点阵显示系统中的硬件设计及软件设计的关键环节。并给出了硬件连接方案和关键程序段。 参考文献: [1] 刘援琼.基于AT89C51单片机的LED点阵显示系统设计[J].仪器仪表用户,2015,22(1):21-23 [2] 杨富强,朱利强.基于单片机的LED 点阵动态显示系统[J].工业控制计算机,2013,26(1):101-102 [3] 漆强.LED 矩阵显示屏实验系统的设计[J]. 实验科学与技术.2014,12(2):19-21. [4] 陈晨,孙涛.LED 显示屏控制器设计[J]. 电子世界,2013(3):26-26. [通联编辑:王力] |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。