74HC595驱动LED的电路设计方案
74HC595 芯片是74 系列芯片的一种, 具有速度快、功耗小、操作简单的特点, 可以很方便地用于单片机接口进行驱动LED 的操作。本文介绍这种芯片的特点和使用方法, 并给出软硬件的设计实例。
七段发光二极管显示器, 又叫LED 显示器, 因其价格低廉、功耗较小和性能可靠等优点, 在各种仪器仪表中得到了广泛的应用。现在市场上出售的专用LED 驱动器种类有很多, 且大多数功能较多, 但价格相应地也较高, 如果用在低成本的简单系统中, 不仅是一种资源的浪费, 而且增加了产品的成本。用74HC595 芯片驱动LED 有以下特点: 速度较快, 功耗较小, LED 的数目多少随意, 既可以控制共阴极的LED 显示器, 也可以控制共阳极的LED 显示器, 可以软件控制LED 的亮度, 还可以在必要的时候关断显示(数据保留) , 以减小功耗, 并可随时唤醒显示。用它设计的电路, 不仅软硬件设计简单, 而且功耗低, 驱动能力强, 占用的I/ O 口线较少, 是一种造价低廉, 应用灵活的设计方案。
1 74HC595 的使用说明
74HC595 内含8 位串入、串/ 并出移位寄存器和8位三态输出锁存器。寄存器和锁存器分别有各自的时钟输入(SCLK和SLCK) , 都是上升沿有效。当SCLK从低到高电平跳变时, 串行输入数据(SDA) 移入寄存器; 当SLCK从低到高电平跳变时, 寄存器的数据置入锁存器。清除端(CLR) 的低电平只对寄存器复位(QS 为低电平) , 而对锁存器无影响。当输出允许控制(EN) 为高电平时, 并行输出(Q0~Q7) 为高阻态, 而串行输出(QS) 不受影响。
74HC595 最多需要5 根控制线, 即SDA、SCLK、SLCK、CLR 和EN。其中CLR 可以直接接到高电平, 用软件来实现寄存器清零; 如果不需要软件改变亮度, EN 可以直接接到低电平, 而用硬件来改变亮度。把其余三根线和单片机的I/ O 口相接, 即可实现对LED 的控制。
数据从SDA 口送入74HC595 , 在每个SCLK的上升沿, SDA 口上的数据移入寄存器, 在SCLK的第9个上升沿, 数据开始从QS 移出。如果把第一个74HC595 的QS 和第二个74HC595 的SDA 相接, 数据即移入第二个74HC595 中, 照此一个一个接下去, 可接任意多个。数据全部送完后, 给SLCK 一个上升沿, 寄存器中的数据即置入锁存器。此时如果EN 为低电平, 数据即从并口Q0~Q7 输出, 把Q0~Q7 与LED 的8 段相接, LED 就可以实现显示了。要想软件改变LED 的亮度, 只需改变EN 的占空比就行了。
2 软硬件设计实例
2.1 硬件电路
图2 是用AT89C2051 与74HC595 接口设计的显示面板电路。
P1 口的P115 、P116 、P117 用来控制LED 的显示,分别接到SLCK、SCLK和SDA 脚。三个数码管用来显示电压值的大小。在电路板上, LED3 在最左边,LED1 在最右边, 送数据时, 先送LED3 的显示码, 最后送LED1 的显示码。LED 的亮度用PR1~ PR3 的阻值来控制。
2.2 显示驱动程序
用DISP1 、DISP2 、DISP3 三个连续的单元存放显示数据, 在CPU 初始化完成后, 调用LRDISP 子程序清除74HC595 的寄存器, 在以后调用显示子程序DISPLAY前就不用再调用清除子程序了。现将两个子程序写出如下:
清除子程序:
CLRDISP :
MOV R2 , # 24 ; 三个数码管, 一共24 位
CLRBIT:
CLR SCLK ; 寄存器时钟拉低
CLR C ; 寄存器清零
MOV SDA , C ; 送入74HC595
SETB SCLK ; 时钟的上升沿送入寄存器
DJNZ R2 , CLRBIT ; 送完24 位
RET ; 子程序返回
显示子程序:
DISPLAY:
CLR SLCK ; 锁存器时钟拉低
MOV R3 , # 3 ; 三个数码管
MOV R0 , # DISP3 ; 从第三个开始送
DISP1 :
MOV A , @R0 ; 送8 位数到74HC595
MOV R2 , # 8
DISP2 :
CLR SCLK
RLC A
MOV SDA , C
SETB SCLK
DJNZ R2 , DISP2 ; 送完一个字节
DEC R0 ; 送下一个数码管的显示数据
DJNZ R3 , DISP1 ; 送完三个字节
SETB SLCK ; 时钟的上升沿寄存器数据送
入锁存器
RET ; 子程序返回
从以上例子可以看出, 用74HC595 设计LED 驱动电路, 硬件和软件的设计都不存在复杂的技术问题, 特别是软件设计。另外, 74HC595 不仅可以用来驱动LED 显示器, 而且能够用来驱动发光二极管,每个74HC595 可以同时驱动8 个发光二极管。在I/ O口线较为紧张的情况下, 这不失为一种解决方案。在对产品的体积要求不高、并且希望降低成本时, 采用这种方案较为理想。
关键字:74HC595 驱动LED 锁存器编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/2014/0217/article_15169.html本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
上一篇:基于CPLD和AT89S52的自动巡线轮式机器人控制系统
下一篇:c语言超经典矩阵式键盘的接法,流程图和扫描程序
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号
享受更多官方福利
推荐阅读