74HC595芯片资料和SPI总线简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

74HC595芯片资料8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。特点8位串行输入8位串行或并行输出存储状态寄存器,三种状态输出寄存器可以直接清除100MHz的移位频率输出能力并行输出,总线驱动串行输出;标准中等规模集成电路应用串行到并行的数据转换Remotecontrolholdingregister.描述595是告诉的硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。参考数据符号参数条件TYP单位HCHCttPHL/tPLH传输延时SHcp到Q7’STcp到QnMR到Q7’CL=15pFVcc=5V161714212019NsNsNsfmaxSTcp到SHcp最大时钟速度10057MHzCL输入电容Notes13.53.5pFCPDPowerdissipationcapacitanceperpackage.Notes2115130pFCPD决定动态的能耗,PD=CPD×VCC×f1+∑(CL×VCC2×f0)F1=输入频率,CL=输出电容f0=输出频率(MHz)Vcc=电源电压引脚说明符号引脚描述Q0…Q715,1,7并行数据输出GND8地Q7’9串行数据输出MR10主复位(低电平)SHCP11移位寄存器时钟输入STCP12存储寄存器时钟输入OE13输出有效(低电平)DS14串行数据输入VCC16电源功能表输入输出功能SHCPSTCPOEMRDSQ7’Qn××L↓×LNCMR为低电平时紧紧影响移位寄存器×↑LL×LL空移位寄存器到输出寄存器××HL×LZ清空移位寄存器,并行输出为高阻状态↑×LHHQ6’NC逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入,例如,以前的状态6(内部Q6”)出现在串行输出位。×↑LH×NCQn’移位寄存器的内容到达保持寄存器并从并口输出↑↑LH×Q6’Qn’移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并输出。H=高电平状态L=低电平状态↑=上升沿↓=下降沿Z=高阻NC=无变化×=无效当MR为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。/***************************************************************************************/给个74HC595的慢动作voidWriteSIOByte(unsignedcharval){unsignedchari;ACC=val;for(i=8;i0;i--){SRCLK=0;//拉低74HC595时钟_rrca_();//右移一位数据SER=CY;//发送74HC595一位串行数据SRCLK=1;//拉高74HC595时钟_nop_();//延时}SER=1;//释放数据总线//以下3条指令若在多字节时,应该移入多字节全发送完后在执行此3条指令RCLK=0;_nop_();//延时RCLK=1;//打入并行数据}74ls595速射hotpowerfor(i=0;ibuffsize;i++){SBUF=siobuff[i];while(TI==0);TI=0;}RCLK=0;_nop_();//延时RCLK=1;//打入并行数据/************************************************************************/摘要:本文介绍了应用移位寄存器芯片74HC595实现LED动、静态显示的基本原理。提出了一种用74HC595实现多位LED显示的新方法。同时对该系统的硬件组成和软件实现作了详细说明。实际应用表明,此方法连线简单方便,成本低廉,可用于24位LED或更多位LED显示。关键词:LED74HC595动态显示静态显示1引言单片机应用系统中使用的显示器主要有LED和LCD两种。近年来也有用CRT显示的。前者价格低廉,配置灵活,与单片机接口方便;后者可进行图形显示,但接口较复杂,成本也较高。LED(LingEmitingDiode)是发光二极管的缩写。实际应用非常普遍的是八段LED显示器。LED显示器在大型报时屏幕,银行利率显示,城市霓虹灯建设中,得到广泛应用。在这些需要多位LED显示的场合,怎样实现系统稳定,价格低廉的显示,成为决定其成本的关键所在。274HC595实现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显示,应稳定可靠。SPI总线简介:一、概述.SPI,SerialPerripheralInterface,串行外围设备接口,是Motorola公司推出的一种同步串行接口技术.SPI总线在物理上是通过接在外围设备微控制器(PICmicro)上面的微处理控制单元(MCU)上叫作同步串行端口(SynchronousSerialPort)的模块(Module)来实现的,它允许MCU以全双工的同步串行方式,与各种外围设备进行高速数据通信.SPI主要应用在EEPROM,Flash,实时时钟(RTC),数模转换器(ADC),数字信号处理器(DSP)以及数字信号解码器之间.它在芯片中只占用四根管脚(Pin)用来控制以及数据传输,节约了芯片的pin数目,同时为PCB在布局上节省了空间.正是出于这种简单易用的特性,现在越来越多的芯片上都集成了SPI技术.二、特点1.采用主-从模式(Master-Slave)的控制方式SPI规定了两个SPI设备之间通信必须由主设备(Master)来控制次设备(Slave).一个Master设备可以通过提供Clock以及对Slave设备进行片选(SlaveSelect)来控制多个Slave设备,SPI协议还规定Slave设备的Clock由Master设备通过SCK管脚提供给Slave设备,Slave设备本身不能产生或控制Clock,没有Clock则Slave设备不能正常工作.2.采用同步方式(Synchronous)传输数据Master设备会根据将要交换的数据来产生相应的时钟脉冲(ClockPulse),时钟脉冲组成了时钟信号(ClockSignal),时钟信号通过时钟极性(CPOL)和时钟相位(CPHA)控制着两个SPI设备间何时数据交换以及何时对接收到的数据进行采样,来保证数据在两个设备之间是同步传输的.3.数据交换(DataExchanges)SPI设备间的数据传输之所以又被称为数据交换,是因为SPI协议规定一个SPI设备不能在数据通信过程中仅仅只充当一个发送者(Transmitter)或者接收者(Receiver).在每个Clock周期内,SPI设备都会发送并接收一个bit大小的数据,相当于该设备有一个bit大小的数据被交换了.一个Slave设备要想能够接收到Master发过来的控制信号,必须在此之前能够被Master设备进行访问(Access).所以,Master设备必须首先通过SS/CSpin对Slave设备进行片选,把想要访问的Slave设备选上.在数据传输的过程中,每次接收到的数据必须在下一次数据传输之前被采样.如果之前接收到的数据没有被读取,那么这些已经接收完成的数据将有可能会被丢弃,导致SPI物理模块最终失效.因此,在程序中一般都会在SPI传输完数据后,去读取SPI设备里的数据,即使这些数据(DummyData)在我们的程序里是无用的.三、工作机制1.概述上图只是对SPI设备间通信的一个简单的描述,下面就来解释一下图中所示的几个组件(Module):SSPBUF,SynchronousSerialPortBuffer,泛指SPI设备里面的内部缓冲区,一般在物理上是以FIFO的形式,保存传输过程中的临时数据;SSPSR,SynchronousSerialPortRegister,泛指SPI设备里面的移位寄存器(ShiftRegitser),它的作用是根据设置好的数据位宽(bit-width)把数据移入或者移出SSPBUF;Controller,泛指SPI设备里面的控制寄存器,可以通过配置它们来设置SPI总线的传输模式.通常情况下,我们只需要对上图所描述的四个管脚(pin)进行编程即可控制整个SPI设备之间的数据通信:SCK,SerialClock,主要的作用是Master设备往Slave设备传输时钟信号,控制数据交换的时机以及速率;SS/CS,SlaveSelect/ChipSelect,用于Master设备片选Slave设备,使被选中的Slave设备能够被Master设备所访问;SDO/MOSI,SerialDataOutput/MasterOutSlaveIn,在Master上面也被称为Tx-Channel,作为数据的出口,主要用于SPI设备发送数据;SDI/MISO,SerialDataInput/MasterInSlaveOut,在Master上面也被称为Rx-Channel,作为数据的入口,主要用于SPI设备接收数据;SPI设备在进行通信的过程中,Ma

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功