《移位寄存器芯片74HC595实现LED动.docx》由会员分享,可在线阅读,更多相关《移位寄存器芯片74HC595实现LED动.docx(10页珍藏版)》请在优知文库上搜索。
1、移位存放器芯片74HC595实现LED动、静态显示的基本原理2010-01-1623:44:27来源:电子工程帅论坛可及母嫡要:本文介绍了应用移位存放器芯片74HC595实现LED动、静态显示的基本原理。提出了一种用74HC595实现多位LED显示的新方法。同时对该系统的硬件组成和软件实现作了详细说明。实际应用说明,此方法连线简单方便,成本低廉,可用于24位LED或更多位LED显示。关键词:LED74HC595动态显示静态显示1引言单片机应用系统中使用的显示器主要有LED和LCD两种。近年来也有用CRT显示的。前者价格低廉,配置灵活,与单片机接口方便:后者可进展图形显示,但接口较复杂,成本也较
2、高。LED(LingEmitingDiode)是发光二极管的缩写。实际应用非常普遍的是八段LED显示器。LED显示器在大型报时屏幕,银行利率显示,城市霓虹灯建设中,得到广泛应用。在这些需要多位LED显示的场合,若何实现系统稳定,价格低廉的显示,成为决定其成本的关键所在。274HC595实现LED动态显示基本原理74HC595是美国国家半导体公司生产的通用移位存放器芯片。并行输出端具有输出锁存功能。与单片机连接简单方便,只须三个I/O口即可。而且通过芯片的Q7引脚和SER引脚,可以级联。而且价格低廉,每片单价为1.5元左右.2.1 静态显不欢迎访问http:/WWW.5Ikaifa.Com图1L
3、ED静态显示驱动电路连线图每位LED显示器段选线和74HC595的并行输出端相连,每一位可以独立显示(见图Do在同一时间里,每一位显示的字符可以各不一样(每一位由一个74HC595的并行输出口控制段选码)。N位LED显示要求N个74HC595芯片及N+3条I/O口线,占用资源较多,而且成本较高。这对于多位LED显示很不利。2.2 动态显示BITnBIT2BIT100-07 Q7,OH os Qr山S图2LED动态显示驱动电路连线图在多位LED显示时,为了简化电路,降低成本,节省系统资源,将所有的N位段选码并联在一起,由一片74HC595控制(见图2).由于所有LED的段选码皆由一个74HC59
4、5并行输出口控制,因此,在每一瞬间,N位LED会显示一样的字符。想要每位显示不同的字符,就必须采用扫描的方法,即在每一瞬间只使用一位显示字符。在此瞬间,74HC595并行输出口输出相应字符段选码,而位选那么控制I/O口在该显示位送入选通电平,以保证该位显示相应字符。如此轮流,使每位分时显示该位应显示字符。由于74HC595具有锁存功能,而且串行输入段选码需要一定时间,因此,不需要延时,即可形成视觉暂留效果。N位LED显示时,只需要一片74HC595即可完成,成本最低。但是,此种方法的最大弱点就是当LED的位数大于12位时,出现闪烁现象,这是所有动态LED显示方式共同的弱点。74HC595具有一
5、个8位串行输入并行输出的移位存放器和个8位输出锁存器。I74HC595走马灯演示程序SDATA_595EQUPl.O;串行数据输入SCLK_595EQUPl.1;移位时钟脉冲RCK_595EQUPl.2;输出锁存器控制脉冲ORGOOOOH1.JMPMAINORG0030HMAIN:MAINl:MOVSP, #60HMOVRO,#0FEHCALLOUT 595CALLDELAYMOVA, RORLAMOVRO, AJMPMIN1;输出锁存器输出数据子程序OUT 595:LCLL WR 595NOPNOPSETBRCK_595;上升沿将数据送到输出锁存器NOPNOPNOPCLRRCK_595RET
6、CLRRCK_595移位存放器接收数据子程序WR_595:MOVR4,#08HMOV,ROWR_LOOP:RLCAMOVSDATA_595,CSETBSCLK_595;上升沿发生移位NOPNOPCLRSCLK_595DJNZR4,WR_LOOPRET;延时子程序DELAY:MOVR5,#03HDELO:MOVR6,#0FFHDELI:MOVR7,#0FFHDJNZR7,$DJNZR6,DELlDJNZR5,DELORETEND3多位LED显示方法的实现图3多位LED动态显示驱动电路连线图为实现24位或更多位LED显示,本文提出了一种全新的方法。此方法结合了动态和静态显示的优点,可以说是两者的结
7、合。连线图如图3所示。段选码由三片74HC595控制,段选数据由74HC595的SER引脚串行输入,由于输出使能时钟RCLK并接在一起,因此,三片74HC595并行输出端同时输出。而三个LED位选信号也并接在一起,因此,一次可以同时点亮三位LED。此过程类似于静态显示。每片74HC595并行输出端并接8位LED,用于扫描输出,此过程类似于动态扫描过程。此方法运用3片74HC595,n条位选信号,即可实现3n位LED显示。成本低廉,而且节省资源。此种方法实现多位LED显示程序框图为图4所示,MCU为89S52。图4多位LED显示程序流程框图例如程序如下(24位LED显示):CLRHC595DAT
8、CLRHC595CLKCLRHC595CLKMOVR0,#60H;显示缓冲区首址MOVR2, #01H;R2为位选信号MOVR6, #8;24位LED分8组显示SH0W3:MOVR5,#3;每次点亮3只LEDSH0W2:MOVA, R0 ;MOVR4, #8SH0W1:RLC A;输入段选码MOVHC595DAT, CSETB HC595CLKCLR HC595CLK示例程序如下(24位LED显示):HC595DATBITPl.OHC595CLKBITPl.1HC595CLKBITPl.2HC595_SH0W:DJNZR4jSHOWlINCRODJNZR5,SH0W2CLRCMOVA,R2;输出位选信号MOVDPTR,#8000HMOVX参考链接:picavrnews2009-08507.htm参考链接:picavrnews2009-08507.htm