打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
74HC595

74HC595  

2009-10-03 10:50:53|  分类: 默认分类 |  标签: |字号 订阅

摘   要:本文介绍了应用移位寄存器芯片74HC595实现LED动、静态显示的基本原理。提出了一种用74HC595实现多位LED显示的新方法。同时对该系统的硬件组成和软件实现作了详细说明。实际应用表明,此方法连线简单方便,成本低廉,可用于24位LED或更多位LED显示。
关键词:LED 74HC595 动态显示 静态显示

1 引言

    单片机应用系统中使用的显示器主要有LED和LCD两种。近年来也有用CRT显示的。前者价格低廉,配置灵活,与单片机接口方便;后者可进行图形显示,但接口较复杂,成本也较高。LED(Ling Emiting Diode)是发光二极管的缩写。实际应用非常普遍的是八段LED显示器。LED显示器在大型报时屏幕,银行利率显示,城市霓虹灯建设中,得到广泛应用。在这些需要多位LED显示的场合,怎样实现系统稳定,价格低廉的显示,成为决定其成本的关键所在。

2 74HC595实现LED静、动态显示基本原理

    74HC595是美国国家半导体公司生产的通用移位寄存器芯片。并行输出端具有输出锁存功能。与单片机连接简单方便,只须三个I/O口即可。而且通过芯片的Q7引脚和SER引脚,可以级联。而且价格低廉,每片单价为1.5元左右.
2.1 静态显示


    每位LED显示器段选线和74HC595的并行输出端相连,每一位可以独立显示(见图1)。在同一时间里,每一位显示的字符可以各不相同(每一位由一个74HC595的并行输出口控制段选码)。
N位LED显示要求N个74HC595芯片及N+3条I/O口线,占用资源较多,而且成本较高。这对于多位LED显示很不利。
2.2 动态显示


     在多位LED显示时,为了简化电路,降低成本,节省系统资源,将所有的N位段选码并联在一起,由一片74HC595控制(见图2)。由于所有LED的段选码皆由一个74HC595并行输出口控制,因此,在每一瞬间,N位LED会显示相同的字符。想要每位显示不同的字符,就必须采用扫描的方法,即在每一瞬间只使用一位显示字符。在此瞬间,74HC595并行输出口输出相应字符段选码,而位选则控制I/O口在该显示位送入选通电平,以保证该位显示相应字符。如此轮流,使每位分时显示该位应显示字符。由于74HC595具有锁存功能,而且串行输入段选码需要一定时间,因此,不需要延时,即可形成视觉暂留效果。
N位LED显示时,只需要一片74HC595即可完成,成本最低。但是,此种方法的最大弱点就是当LED的位数大于12位时,出现闪烁现象,这是所有动态LED显示方式共同的弱点。

74HC595具有一个8位串行输入并行输出的移位寄存器和一个8位输出锁存器。
;================================================
;74HC595 走马灯演示程序

;================================================

         SDATA_595   EQU   P1.0   ;串行数据输入
         SCLK_595   EQU   P1.1   ;移位时钟脉冲
         RCK_595     EQU   P1.2   ;输出锁存器控制脉冲
        
;================================================

               ORG   0000H
               LJMP   MAIN
               ORG   0030H

;================================================
   MAIN:
                 MOV   SP,#60H
                 MOV   R0,#0FEH
   MAIN1:
                 CALL OUT_595
                 CALL   DELAY
                 MOV   A,R0
                 RL   A
                 MOV   R0,A
                 JMP   MAIN1
;---------------------------------------------------------------
;输出锁存器输出数据子程序
;---------------------------------------------------------------
OUT_595:
                 LCALL WR_595
                 CLR   RCK_595
                 NOP
                 NOP
                 SETB RCK_595       ;上升沿将数据送到输出锁存器
                 NOP
                 NOP
                 NOP
                 CLR   RCK_595
                 RET
;--------------------------------------------------------------
;移位寄存器接收数据子程序
;--------------------------------------------------------------
WR_595:        
                 MOV R4,#08H        
                 MOV A,R0
WR_LOOP:        
                 RLC A
                 MOV SDATA_595,C
                 SETB SCLK_595       ;上升沿发生移位
                 NOP
                 NOP
                 CLR SCLK_595
                 DJNZ R4,WR_LOOP
                 RET
;--------------------------------------------------------------
;延时子程序
;--------------------------------------------------------------
DELAY:          
                 MOV   R5,#03H
DEL0:        
                 MOV   R6,#0FFH
DEL1:          
                 MOV   R7,#0FFH
                 DJNZ   R7,$
                 DJNZ   R6,DEL1
                 DJNZ   R5,DEL0
                 RET
;---------------------------------------------------------------
                 END

3 多位LED显示方法的实现

图3 多位LED动态显示驱动电路连线图

    为实现24位或更多位LED显示,本文提出了一种全新的方法。此方法结合了动态和静态显示的优点,可以说是两者的结合。连线图如图3所示。段选码由三片74HC595控制,段选数据由74HC595的SER引脚串行输入,由于输出使能时钟RCLK并接在一起,因此,三片74HC595并行输出端同时输出。而三个LED位选信号也并接在一起,因此,一次可以同时点亮三位LED。此过程类似于静态显示。每片74HC595并行输出端并接8位LED,用于扫描输出,此过程类似于动态扫描过程。此方法运用3片74HC595,n条位选信号,即可实现3n位LED显示。成本低廉,而且节省资源。此种方法实现多位LED显示程序框图为图4所示,MCU为89S52。



示例程序如下(24位LED显示):

4 结论

    实践证明,此多位LED显示方法性能稳定,如再级联一片74HC595,在不需要增加I/O口线的情况下,即可实现32位LED显示。笔者做过48位LED显示,应稳定可

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
led显示屏驱动芯片介绍
74hc595芯片使用方法
74HC595芯片驱动LED的电路设计
单片机和Pc机串口通信<转>_飞鸟留痕
51单片机74HC164串口控制数码管显示
求自制可调温度控制器(附原理图和源程序)?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服