字号:    

4HC595芯片资料

 

8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。

特点

8位串行输入

8位串行或并行输出

存储状态寄存器,三种状态

输出寄存器可以直接清除

100MHz的移位频率

输出能力

并行输出,总线驱动

串行输出;标准

中等规模集成电路

应用

   串行到并行的数据转换

   Remote control holding register.

描述

595是告诉的硅结构的CMOS器件,

兼容低电压TTL电路,遵守JEDEC标准。

595是具有8位移位寄存器和一个存储器,三态输出功能。

移位寄存器和存储器是分别的时钟。

数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。

  

   移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。

   参考数据

符号 参数 条件 TYP 单位

HC HCt

tPHL/tPLH 传输延时

SHcp到Q7’

STcp到Qn

MR到Q7’    

CL=15pF

Vcc=5V

16

17

14 21

20

19 Ns

Ns

Ns

fmax STcp到SHcp

最大时钟速度      100

57 MHz

CL 输入电容 Notes 1 3.5        3.5 pF

CPD Power dissipation capacitance per   package. Notes2 115    130 pF

CPD决定动态的能耗,

PD=CPD×VCC×f1+∑(CL×VCC2×f0)

F1=输入频率,CL=输出电容 f0=输出频率(MHz) Vcc=电源电压

引脚说明

符号 引脚 描述

Q0…Q7 15, 1, 7 并行数据输出

GND 8 地

Q7’ 9 串行数据输出

MR 10 主复位(低电平)

SHCP 11 移位寄存器时钟输入

STCP 12 存储寄存器时钟输入

OE 13 输出有效(低电平)

DS 14 串行数据输入

VCC 16 电源

功能表

  

输入 输出 功能

SHCP STCP OE MR DS Q7’ Qn

× × L ↓ × L NC MR为低电平时紧紧影响移位寄存器

× ↑ L L × L L 空移位寄存器到输出寄存器

× × H L × L Z 清空移位寄存器,并行输出为高阻状态

↑ × L H H Q6’ NC 逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入,例如,以前的状态6(内部Q6”)出现在串行输出位。

× ↑ L H × NC Qn’ 移位寄存器的内容到达保持寄存器并从并口输出

↑ ↑ L H × Q6’ Qn’ 移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并输出。

   H=高电平状态

   L=低电平状态

↑=上升沿

↓=下降沿

Z=高阻

NC=无变化

×=无效

当MR为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。

/***************************************************************************************/

给个74HC595的"慢动作"

  

  

void WriteSIOByte(unsigned char val)

{

unsigned char i;

   ACC = val;

   for (i = 8; i > 0; i --) {

SRCLK = 0;//拉低74HC595时钟

_rrca_();//右移一位数据

SER = CY;//发送74HC595一位串行数据

SRCLK = 1;//拉高74HC595时钟

_nop_();//延时

   }

   SER = 1;//释放数据总线

//以下3条指令若在多字节时,应该移入多字节全发送完后在执行此3条指令

   RCLK = 0;

   _nop_();//延时

   RCLK = 1;//打入并行数据

}

74ls595"速射"

  

  

hotpower

for(i = 0; i < buffsize; i ++){

SBUF = siobuff;

while(TI == 0);

TI = 0;

   }

   RCLK = 0;

   _nop_();//延时

   RCLK = 1;//打入并行数据

/************************************************************************/

利用74HC595实现多位LED显示的新方法

摘   要:本文介绍了应用移位寄存器芯片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显示方式共同的弱点。

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显示,应稳定可靠。

分类:学习资料
?次阅读
 2008-05-07 08:53