74HC595实现多位LED显示的方法
74595的使用

单片机与74LS595(8位输出锁存移位寄存器)的使用方法2009-04-12 13:5574595的数据端:QA--QH: 八位并行输出端,可以直接控制数码管的8个段。
QH': 级联输出端。
我将它接下一个595的SI端。
SI: 串行数据输入端。
74595的控制端说明:/SCLR(10脚): 低点平时将移位寄存器的数据清零。
通常我将它接Vcc。
SCK(11脚):上升沿时数据寄存器的数据移位。
QA-->QB-->QC-->...-->QH;下降沿移位寄存器数据不变。
(脉冲宽度:5V时,大于几十纳秒就行了。
我通常都选微秒级)RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
通常我将RCK置为低点平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。
我通常都选微秒级),更新显示数据。
/G(13脚): 高电平时禁止输出(高阻态)。
如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。
比通过数据端移位控制要省时省力。
注:1)74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。
74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。
2)74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。
这在串行速度慢的场合很有用处,数码管没有闪烁感。
3)595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,在正常使用时SCLR为高电平,G为低电平。
从SER每输入一位数据,串行输595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,如下面的真值表,在正常使用时SCLR为高电平,G为低电平。
从SER每输入一位数据,串行输入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。
最详细的74HC595芯片使用方法介绍

最详细的74HC595芯片使用方法介绍2010-01-17 00:07:05 来源: 电子工程师论坛Arduino采用的ATmega168芯片带12个数字I/O管脚,其中每个都可以对一个数字量进行控制,从而实现类似于点亮一个发光二极管这样的功能。
在实际的工程应用里,有时我们可能会遇到需要对更多的数字量进行控制的场合,比如同时控制16个发光二极管,这时Arduino自带的数字I/O管脚就不够用了,必须进行相应的扩展。
其中一种可行的办法就是借助74HC595这样一个8位串入并出移位寄存器,这个芯片能够多个级连起来一起使用,因此理论上能够通过Arduino上有限的几个管脚(最少三个)产生任意多个的数字输出。
74HC595同数据相关的引脚可以分为三类:DS:串行数据输入,接Arduino的某个数字I/O引脚。
Q0~Q7:8位并行数据输出,可以直接控制8个LED,或者是七段数码管的8个引脚。
Q7′:级联输出端,与下一个74HC595的DS相连,实现多个芯片之间的级联。
74HC595同控制相关的引脚一共有四个:SH_CP:移位寄存器的时钟输入。
上升沿时移位寄存器中的数据依次移动一位,即Q0中的数据移到Q1中,Q1中的数据移到Q2中,依次类推;下降沿时移位寄存器中的数据保持不变。
ST_CP:存储寄存器的时钟输入。
上升沿时移位寄存器中的数据进入存储寄存器,下降沿时存储寄存器中的数据保持不变。
应用时通常将ST_CP置为低点平,移位结束后再在ST_CP端产生一个正脉冲更新显示数据。
MR:重置(RESET),低电平时将移位寄存器中的数据清零,应用时通常将它直接连高电平(VCC)。
OE:输出允许,高电平时禁止输出(高阻态)。
引脚不紧张的情况下可以用Arduino的一个引脚来控制它,这样可以很方便地产生闪烁和熄灭的效果。
实际应用时可以将它直接连低电平(GND)。
对于一个最简单的74HC595应用来讲,可以用Arduino的三个数字I/O端口分别控制DS、SH_CP和ST_CP,然后将MR和OE分别接VCC和地。
74HC595驱动LED的电路设计方案

74HC595驱动LED的电路设计方案2012年10月14日11:26来源:本站整理作者:胡哥我要评论(0)标签:LED(2)方案(14)74HC595(13)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。
74hc595详解(符程序原理图)驱动8个 LED

74HC595芯片中文资料8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。
三态。
特点8位串行输入8位串行或并行输出存储状态寄存器,三种状态输出寄存器可以直接清除100MHz的移位频率输出能力并行输出,总线驱动串行输出;标准中等规模集成电路应用串行到并行的数据转换Remote control holding register.描述595是告诉的硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。
595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
参考数据符号参数条件TYP单位HC HCtt PHL/t PLH传输延时SHcp到Q7’STcp到Qn MR到Q7’C L=15pFVcc=5V161714212019NsNsNsf max STcp到SHcp最大时钟速度10057MHzC L输入电容Notes 1 3.53.5pF C PD Power dissipation Notes2 115 pFC PD 决定动态的能耗,P D =C PD ×V CC ×f 1+∑(C L ×V CC 2×f 0)F 1=输入频率,C L =输出电容 f 0=输出频率(MHz ) Vcc=电源电压 引脚说明 符号 引脚 描述 Q0…Q7 15, 1, 7 并行数据输出 GND 8 地Q7’ 9 串行数据输出 MR 10 主复位(低电平) SH CP11移位寄存器时钟输入ST CP12存储寄存器时钟输入OE13 输出有效(低电平) D S14串行数据输入capacitance per package.130V CC16 电源功能表输入输出功能SH CP ST CP OE MR D S Q7’Q n××L ↓×L NC MR为低电平时紧紧影响移位寄存器×↑L L ×L L 空移位寄存器到输出寄存器××H L ×L Z 清空移位寄存器,并行输出为高阻状态↑×L H H Q6’NC 逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入,例如,以前的状态6(内部Q6”)出现在串行输出位。
LED控制(74HC595)

Led= Led| 0x01; //移位后,后面的位为高电平;
if (Led == 0xff ) Led=0xfe; //1111 1110
delay(200);
}
}
/*****************************************************************************
*********************************************************************************
*通过本例程了解74HC595(串入并出)基本原理和使用*
*3个I/O扩展8个输出,通过片选可以串接更多74HC595芯片,得到更多的输出数*
*请学员认真消化本例程,懂74C595在C语言中的操作*
*此汇编程序留给大家做为课后作业自己完成。关于HC595汇编驱动参考“静态显示(74HC595驱动)”。
*************************************************************************************/
void HC595SendData(unsigned char SendVal)
{
unsigned char i;
for(i=0;i<8;i++)
{
if((SendVal<<i)&0x80) MOSIO=1; //set dataline high 0X80最高位与SendVal左移的最高位进行逻辑运算
}
/*********************************************************************************************************
74HC595驱动两位数码管

在前文讲述1位LED数码管显示的基础之上,本文进一步介绍2位LED数码管的工作原理及用法。
1.1 2位LED数码管工作原理与1位数码管不同的是,2位数码管显示时要进行位选。
如图1.2所示,公共脚10决定位DIG1是否有效,公共脚5决定位DIG2是否有效。
图1.1与图1.2显示了2位数码管引脚分布和内部电路设计。
其中笔段分布如图1.1所示,引脚对应笔段分布如图1.2所示。
图1.1 2位数码管笔段图1.2 2位数码管引脚图2位数码管引脚分如:1) 公共脚:10、5 ;2)DIG:A-3 B-9 C-8 D-6 E-7 F-4 G-1 DP- 2。
1.2 74HC595简介74HC595是一款具有8位移位寄存器和一个存储器,三态输出功能的驱动芯片。
移位寄存器和存储器分别具有独立的时钟信号。
数据在SHCP的上升沿输入,在STCP的上升沿进入到存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7’),和一个异步的低电平复位(MR),存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
图1.3 74HC595引脚图74HC595引脚排布如图1.3所示,引脚功能见表1.1。
表1.1 74HC595引脚功能1.3硬件电路设计1.3.1设计原理本设计采用LPC2103自带的硬件SPI接口与74HC595进行数据传输。
74HC595将LPC2103发送过来的8位串行数据转换成8位并行数据来驱动2位共阳数码管。
与1位数码管类似,2位LED数码管的输入端在5 V电源或高于TTL高电平(3.5 V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。
如图1.4所示2位数码管设计原理图。
位选控制脚如表1.2所示。
由于本设计采用共阳数码管,所以2位数码管位选引脚选择用LPC2103的P0.8与P0.9控制。
74hc595驱动串行led显示

74hc595驱动串行led显示串行驱动led显示//一个74hc595位移寄存器驱动三极管驱动led位,//两个74hc595驱动led段,方式位5位x8段x2=10个数码管//5分频,每次扫描时间位1.25ms//定义特殊符号#define nul 0xf#define qc 0xc#define qb 0xb#define q_ 0xa#define q__ 0xd#define q___ 0xe#define qp 0x10#define qe 0x11#define qj 0x12#define qn 0x13#define qf 0x14#define qa 0x15#define qr 0x16#define qd 0x17#define qu 0x18#define ql 0x19#define qh 0x1a#define qwen 0x1b#define qt 0x1c#define qlb 0x1e#define qlc 0x1f#define qld 0x20#define qle 0x21#define qlf 0x22#define qlg 0x23#define qldp 0x24//显示段信息,不同led排列组合的段信息只需更改8个数值即可。
//因此,该定义具有通用性。
// 显示// -d 20// |c 40 |e 10// - g 80// |b 2 |f 4// _a1 .dp 8#define pa 1#define pb 2#define pc 0x40#define pd 0x20#define pe 0x10#define pf 4#define pg 0x80#define pdp 8//--------------#define l0 pdp+pg#define l1 255-pf-pe#define l3 pdp+pc+pb#define l4 pdp+pa+pb+pd#define l5 pdp+pb+pe#define l6 pdp+pe#define l7 pdp+pc+pg+pb+pa#define l8 pdp#define l9 pdp+pb#define la pdp+pa#define lb pdp+pd+pe#define lc pdp+pg+pe+pf#define ld pdp+pc+pd#define le pdp+pe+pf#define lf pdp+pe+pf+pa#define l_ 255-pg#define lnul 255#define ll pdp+pg+pd+pf+pe#define lp pdp+pa+pf#define lt pdp+pd+pe+pf#define lr pdp+pe+pf+pg+pa#define ln pdp+pg+pa#define lh pdp+pd+pe+pa#define ly pdp+pb+pd#define lu pdp+pg+pd#define l__ pdp+pg+pb+pc+pe+pf #define l___ l__-pg#define l_1 255-pa#define l_2 255-pa-pg#define lj 255-(pe+pf+pa)#define lwen 255-(pd+pe+pg+pb)#define lall 0#define lla 255-pa#define llb 255-pb#define llc 255-pc#define lld 255-pd#define lle 255-pe#define llf 255-pf#define llg 255-pg#define lldp 255-pdp//串行送出的位信息,目前是10位led显示。
多位LED串行显示电路设计与应用

多位L E D 串行显示电路设计与应用马 彪(辽宁信息职业技术学院,辽宁省辽阳市111000)【摘 要】 74HC595A 芯片具有串行输入、并行输出功能,利用该集成电路可设计多位LED (发光二极管)串行显示电路。
文中介绍了利用该芯片设计的12位LED 串行显示电路,详细说明了该电路的工作原理及编程思路,并给出了参考程序。
该电路只占用单片机3根口线,较并行显示方式极大地节省了系统资源,已在实际系统中得到应用。
关键词:串行显示,74HC595A,LED 显示中图分类号:T N873.3收稿日期:2005207225;修回日期:2005209229。
0 引 言在单片机系统设计中,LED (发光二极管)显示方式由于具有使用方便、价格低廉等优点而得到广泛应用。
在采用并行显示方式时,显示电路的段码与位控码要占用单片机的较多口线,尽管可采用8155等接口芯片进行扩展,但口线利用率仍较低,不能满足大型控制系统的要求。
采用串行显示方式则只需占用2根或3根口线,节约单片机大量的I/O 线,且使用效果很好。
下面介绍一种基于74HC595A 的12位LED 串行显示电路。
1 74HC595A 工作原理74HC595A 内部含有8位移位寄存器和8位D 锁存器,内部结构如图1所示。
图1 74HC595A 内部逻辑结构 串行移位寄存器接收外部输入串行数据,一方面可进行串行数据输出,同时向锁存器提供8位并行输入数据,并具有异步复位功能;8位锁存器可三态输出并行数据。
该芯片具有串行输入、并行输出两个独立的时钟信号。
表1为该芯片的逻辑功能表。
表1 74HC595A 逻辑功能表工作状态输入输出SRCLR SER SRCLK RCLK RCLK S QH Q0~Q7复 位L ××LH ↓L L U 串行输入H D ↑LH ↓L SRG SRH U锁存输出H×LH ↓↑L UN 高 阻××××HZ 注:U 为不变;N 为数据刷新;Z 为高阻。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
74HC595实现多位LED显示的方法
单片机应用系统中使用的显示器主要有LED和LCD两种。
近年来也有用CRT显示的。
前者价格低廉,配置灵活,与单片机接口方便;后者可进行图形显示,但接口较复杂,成本也较高。
LED(Ling Emiting Diode)是发光二极管的缩写。
实际应用非常普遍的是八段LED显示器。
LED显示器在大型报时屏幕,银行利率显示,城市霓虹灯建设中,得到广泛应用。
在这些需要多位LED显示的场合,怎样实现系统稳定,价格低廉的显示,成为决定其成本的关键所在。
2 74HC595实现LED静、动态显示基本原理
74HC595是美国国家半导体公司生产的通用移位寄存器芯片。
并行输出端具有输出锁存功能。
与单片机连接简单方便,只须三个I/O口即可。
而且通过芯片的Q7引脚和SER引脚,可以级联。
而且价格低廉.
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显示方式共同的弱点。
3 多位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动态显示驱动电路连线图
为实现24位或更多位LED显示,本文提出了一种全新的方法。
此方法结合了动态和静态显示的优点,可以说是两者的结合。
连线图如图3所示。
段选码由三片74HC595控制,段选数据由74HC595的SER引脚串行输入,由于输出使能时钟RCLK并接在一起,因此,三片74HC595并行输出端同时输出。
而三个LED位选信号也并接在一起,因此,一次可以同时点亮三位LED。
此过程类似于静态显示。
每片74HC595并行输出端并接8位LED,用于扫描输出,此过程类似于动态扫描过程。
此方法运用3片74HC595,n条位选信号,即可实现3n位LED显示。
成本低廉,而且节省资源。
此种方法实现多位LED显示程序框图为图4所示,MCU为89S52。