74hc595使用方法
- 格式:docx
- 大小:64.58 KB
- 文档页数:3
使用74HC595实现I/O口的扩展一、实验目的1. 了解74HC595(串入并出)基本原理和使用2. 了解数码管的基本原理和驱动方式3. 学会使用74HC595来驱动静态数码管二、实验器材C51单片机开发板(含74HC595芯片,静态数码管)1块8PIN排线1根数据线1根三、实验原理1. 数码管数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管(还有一种“米”字型的数码管,其段数更多),八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示),其基本原理是:将所有LED的一端(正极、负极均可)连在一起作为一个公共端,然后通过分别控制这组LED的另一个端口来使部分LED点亮,从而达到显示一定字形的目的。
(1)数码管的分类按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
我们在实际使用中一定要搞清楚数码管是共阴极的还是共阳极的。
(2)数码管段、位引脚的确定(以4位8段数码管为例)数码管引脚测量分三步:极性判断(共阳极还是共阴极)、公共端判断(位选端口)、段码端判断(段选端口)。
首先要确定数码管是共阴极还是共阳极的:找一个3到5V的直流电源,准备几个1K或者几百欧姆的电阻。
将电源的正极串接一个电阻后连在数码管的任意一个脚上,然后将电源的负极逐个接到数码管的其余引脚上,观察数码管的某一段是否会点亮,如果全部引脚试过都没有亮的,那么将电源正极(串电阻)换一个引脚再试,直到有一个LED发光,这时固定电源负极不动,电源正极(串电阻)逐个接到数码管的其余引脚上,如果有8段LED都亮,说明该数码管是共阴极的。
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能 OE时(为低电平),存储寄存器的数据输出到总线。
74HC595各个引脚的功能:Q1~7 是并行数据输出口,即储寄存器的数据输出口Q7' 串行输出口,其应该接SPI总线的MISO接口STcp 存储寄存器的时钟脉冲输入口SHcp 移位寄存器的时钟脉冲输入口OE的非输出使能端MR的非芯片复位端Ds 串行数据输入端程序说明:每当spi_shcp上升沿到来时,spi_ds引脚当前电平值在移位寄存器中左移一位,在下一个上升沿到来时移位寄存器中的所有位都会向左移一位,同时Q7'也会串行输出移位寄存器中高位的值,这样连续进行8次,就可以把数组中每一个数(8位的数)送到移位寄存器;然后当 spi_stcp上升沿到来时,移位寄存器的值将会被锁存到锁存器里,并从Q1~7引脚输出附子程序:void hc595send_data(uint8 data)//要传输的数据,建议用数组的方法来查询{ uint8 i; IO0CLR = spi_stcp; 12脚 for(i=0;i<8;i++) { IO0CLR = spi_shcp; 11脚 if((data&0x80)!=0)IO0SET = spi_ds; elseIO0CLR = spi_ds; data <<= 1; IO0SET =spi_shcp; } IO0SET = spi_stcp;}1 引言单片机应用系统中使用的显示器主要有LED和LCD两种。
近年来也有用CRT显示的。
单片机与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 详解
工作电压2-6V,推荐5V。
14 脚串行输入:595 的数据来源只有这一个口,一次只能输入一个位,那
幺连续输入8 次,就可以积攒为一个字节了。
13 脚OE 输出使能控制脚:如果它不工作,那幺595 的输出就是高阻态,595 就不受我们程序控制了,这显然违背我们的意愿。
OE 的上面画了一条线,表示他是低电平有效。
于是我们将他接GND。
10 脚SRCLR 位移寄存器清空脚:他的作用就是将位移寄存器中的数据
全部清空,这个很少用到,所以我们一般不让他起作用,也是低电平有效,于是我们给他接VCC。
12 脚RCLK 存储寄存器:数据从位移寄存器转移到存储寄存器,也是需要
时钟脉冲驱动的,这就是12 脚的作用。
它也是上升沿有效。
11 脚SRCLK 移位寄存器时钟输入:当一个新的位数据要进来时,已经进
入的位数据就在移位寄存器时钟脉冲的控制下,整体后移,让出位置。
分析下数据输入和输出过程:
假如,我们要将二进制数据0111 1111 输入到595 的移位寄存器中,下面。
74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。
74HC595是8位串行输入/输出或者并行输出移位寄存器,具有高阻、关、断状态。
三态。
特点 8位串行输入 8位串行或并行输出存储状态寄存器,三种状态输出寄存器可以直接清除 100MHz的移位频率输出能力并行输出,总线驱动串行输出;标准中等规模集成电路应用串行到并行的数据转换 Remote contr ol holding register. 描述 595是告诉的硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。
595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp 的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
CPD决定动态的能耗, PD=CPD×VCC×f1+∑(CL×VCC2×f0) F1=输入频率,CL=输出电容 f0=输出频率(MHz) Vcc=电源电压引脚说明符号引脚描述内部结构结合引脚说明就能很快理解 595的工作情况引脚功能表:管脚编号管脚名管脚定义功能1、2、3、4、5、6、7、15QA—QH 三态输出管脚8 GND 电源地9 SQH 串行数据输出管脚10 SCLR 移位寄存器清零端11 SCK 数据输入时钟线12 RCK 输出存储器锁存时钟线13 OE 输出使能14 SI 数据线15 VCC 电源端真值表:输入管脚输出管脚SI SCK SCLR RCK OEX X X X H QA—QH 输出高阻X X X X L QA—QH 输出有效值X X L X X 移位寄存器清零L 上沿H X X 移位寄存器存储LH 上沿H X X 移位寄存器存储HX 下沿H X X 移位寄存器状态保持X X X 上沿X 输出存储器锁存移位寄存器中的状态值X X X 下沿X 输出存储器状态保持74595的数据端:QA--QH: 八位并行输出端,可以直接控制数码管的8个段。
74hc595寄存器工作原理74HC595是一种串行输入并行输出的移位寄存器,常用于扩展微控制器的输出端口。
它可以将少量的IO口通过串行输入的方式扩展成更多的输出端口,提高了系统的可扩展性和灵活性。
本文将从74HC595寄存器的工作原理、应用场景和使用方法等方面进行介绍。
一、工作原理74HC595寄存器由8个输出端口(Q0-Q7)、三个控制端口(SER、SRCLK、RCLK)和一个串行数据输入端口(SER)组成。
其工作原理如下:1. 初始化:将SRCLK和RCLK置为低电平,将SER和SRCLR(异步清零端)置为高电平。
2. 数据输入:通过SER输入要输出的数据,然后将SRCLK引脚置为高电平,使得SRCLK上升沿时,数据从SER端口输入到寄存器。
重复此操作,直到输入完所有数据。
3. 数据输出:输入完所有数据后,将RCLK引脚置为高电平,使得RCLK上升沿时,数据从寄存器输出到输出端口Q0-Q7。
通过上述过程,可以将串行输入的数据转换为并行输出,从而实现多个输出端口的控制。
二、应用场景74HC595寄存器广泛应用于各种需要扩展输出端口的场景,例如LED数码管显示、驱动数码管显示、控制继电器等。
1. LED数码管显示:通过74HC595寄存器的输出端口控制多个LED数码管的显示。
将LED数码管的阳极连接到电源,将74HC595寄存器的输出端口连接到LED数码管的阴极,通过控制输出端口的高低电平来控制LED的亮暗。
2. 驱动数码管显示:通过74HC595寄存器的输出端口控制多个数码管的显示。
将数码管的段选引脚连接到74HC595寄存器的输出端口,通过控制输出端口的高低电平来控制数码管的显示。
3. 控制继电器:通过74HC595寄存器的输出端口控制多个继电器的开关。
将继电器的控制端口连接到74HC595寄存器的输出端口,通过控制输出端口的高低电平来控制继电器的开关状态。
三、使用方法使用74HC595寄存器需要按照以下步骤进行:1. 初始化:将SRCLK和RCLK置为低电平,将SER和SRCLR置为高电平。
74hc595的用法-回复74HC595是一种串行输入/并行输出的8位移位寄存器,被广泛应用于数字电路和嵌入式系统设计中。
它是通过串行数据输入的方式将数据存储在内部的8位移位寄存器中,并且可以通过并行输出的方式将数据输出到8个输出引脚上。
本文将一步一步回答有关74HC595的用法。
第一步:了解74HC595的引脚功能74HC595一共有16个引脚,每个引脚都有特定的功能。
以下是74HC595引脚的功能解释:- SER(Serial Data Input):串行数据输入引脚,用于输入要存储的数据。
- SRCLK(Shift Register Clock Input):移位寄存器时钟输入引脚,通过上升沿或下降沿的时钟信号,将串行输入的数据存储到移位寄存器中。
- RCLK(Register Clock Input):寄存器时钟输入引脚,通过上升沿或下降沿的时钟信号,将移位寄存器中的数据并行输出到输出引脚上。
- OE(Output Enable):输出使能引脚,通过控制该引脚的高低电平,可以使输出引脚处于高阻态或工作态。
- STCP(Storage Register Clock Input):存储寄存器时钟输入引脚,通过上升沿或下降沿的时钟信号,将移位寄存器中的数据存储到存储寄存器中。
- SHCP(Shift Register Clock Input):移位寄存器时钟输入引脚,通过上升沿或下降沿的时钟信号,将存储寄存器中的数据并行输出到输出引脚上。
- Q0-Q7(Parallel Data Outputs):并行数据输出引脚,通过并行方式输出存储在移位寄存器中的数据。
第二步:连接74HC595到微控制器为了正确使用74HC595,需要将其连接到微控制器或其他数字电路中。
以下是连接74HC595到微控制器的步骤:1. 将74HC595的VCC引脚连接到微控制器的电源引脚,并确保电压匹配(一般为5V)。
2. 将74HC595的GND引脚连接到微控制器的地引脚。
74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。
74HC595是8位串行输入/输出或者并行输出移位寄存器,具有高阻、关、断状态.三态。
特点 8位串行输入 8位串行或并行输出存储状态寄存器,三种状态输出寄存器可以直接清除 100MHz的移位频率输出能力并行输出,总线驱动串行输出;标准中等规模集成电路应用串行到并行的数据转换 Remote control holding r egister. 描述 595是告诉的硅结构的CMOS器件,兼容低电压TTL电路,遵守JE DEC标准.595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线.CPD决定动态的能耗, PD=CPD×VCC×f1+∑(CL×VCC2×f0) F1=输入频率,C L=输出电容 f0=输出频率(MHz) Vcc=电源电压引脚说明符号引脚描述内部结构结合引脚说明就能很快理解 595的工作情况引脚功能表:真值表:注:1)74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。
74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些.2)74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。
这在串行速度慢的场合很有用处,数码管没有闪烁感.与164只有数据清零端相比,595还多有输出端时能/禁止控制端,可以使输出为高阻态。
3)595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,在正常使用时SCLR为高电平,G为低电平.从SER每输入一位数据,串行输595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,如下面的真值表,在正常使用时SCLR为高电平, G为低电平。
74HC595在单片机上的应用及程序74HC595具有8位串入并出的三态门电路。
高速率:最高55MHz(5V工作电压)宽的工作电压范围:2V -6V每个口的最大电流值(QA-QH):±35mA当单片机的I/O资源比较紧张时,采用595并进行级联是一个很好的选择。
管脚定义:PIN NO symbol name and function15 QA data output1 QB data output2 QC data output3 QD data output4 QE data output5 QF data output6 QG data output7 QH data output8 GND ground9 QH’ serial data outputs10 /SCLR shift register clock input11 SCK shift register clock input12 RCK storage register clock input13 /G output enable input14 SI serial data input16 Vcc positive supply voltage时序图:请参照595的数据手册程序编制:端口定义设置:sbit DATA=P1^5;sbit SHIFT=P1^6;sbit STORAGE=P1^7;1、写595Void write_595(uchar x)//功能:将无符号8位数x,写入到595的shife register{Uchar j;For(j=0;j<8;j++)//循环8次,以便shift register保存8位数据{X=x<<1;//将数据左移一位,最高位数据进入到CY中SHIFT=0;//shift端置0_nop_();_nop_();_nop_();DATA=CY;//将一位数据送入595串口数据端SHIFT=1;//shift端产生一个上升沿,数据就送入到了shift register_nop_();//延时_nop_();_nop_();SHIFT=0;//shift端产生一个下降沿,shift register内容保持不变}}3、595数据的输出/********595输出函数函数*******************/void out_595(void){STORAGE=0;_nop_();_nop_();STORAGE=1;//上升沿shift register 的内容保存到store register _nop_();_nop_();STORAGE=0;//下降沿store register 的内容保持不变}4、只要在主函数中分别调用以上两个函数即可将要显示的数值X 显示出来。
74HC595使用心得总结
1、概述:
74HC595是一款漏极开路串行输入转并行输出的CMOS移位寄存器,常用于驱动数码管和扩展单片机IO口。
可多个芯片级联。
2、引脚介绍(请对照数据手册):
Pin15,pin1~pin7:QA~QH,8位并行输出引脚
Pin8:GND,接地
Pin9:SQH,串行数据输出管脚,常用于多个595芯片级联。
Pin10:SCLR,移位寄存器清零(给一个低电平即可实现,不用该功能可直接接到VCC)
Pin11:SCK,数据输入时钟线,上升沿时实现移位寄存器数据移位,下降沿时实现移位寄存器状态保持
Pin12:RCK,存储寄存器锁存时钟线,上升沿时移位寄存器的数据进入存储寄存器,下降沿时存储寄存器数据保持
Pin13:OE,输出使能,低电平有效,可直接接到GND。
Pin14:SI,串行数据输入接口,按位输入,低字节在前。
Pin16:VCC,工作电源,2~6V。
3、使用方法介绍:
单片机将需要输出的数据,按位发送到595芯片的SI(pin14)引脚上,如果收到的是高电平,则SI=1,反之则SI=0,接收到一位数据后将SCK(pin11)引脚拉低,延时几十us后再拉高,即给SCK一个上升沿,让595芯片把接收到的数据通过移位寄存器将数据向后移,如此循环8次(一个字节8位),就接收完一个字节的数据了。
接下来需要接收到的数据送到存储寄存器中通过QA~QH 并行输出,跟SCK一样,给RCK一个上升沿即可实现。
按照上面的步骤即可通过74HC595实现数据的串行数据并行输出。
4、STM32程序实例:
/*SER----PA12(串行数据输入)****
**SRCLK----PA14(操作移位寄存器,上升沿移位,下降沿保持)***
**RCLK----PA13(操作存储寄存器,上升沿数据移入存储寄存器,下降沿数据保持)**/
//以下是74HC595相关引脚的宏定义
#define SER_SET() GPIOA->BSRR = BIT12//SI HIGH
#define SER_CLR() GPIOA->BRR = BIT12//SI LOW
#define RCLK_SET() GPIOA->BSRR = BIT13//RCLK HIGH
#define RCLK_CLR() GPIOA->BRR = BIT13//RCLK LOW
#define SRCLK_SET() GPIOA->BSRR = BIT14//SRCLK HIGH
#define SRCLK_CLR() GPIOA->BRR = BIT14//SRCLK LOW
//向芯片写入一个字节的数据
void HC595_WriteByte(unsigned char data)
{
unsigned char i;
for(i = 0;i < 8;i++)
{
if((data>>i) & 0x01)
SER_SET();
else
SER_CLR();
//给SRCLK一个上升沿,实现数据位的移位
SRCLK_CLR();
Stm32_SystickDly_us(30);
SRCLK_SET();
}
//给RCLK一个上升沿,实现移位寄存器的数据移向存储寄存器RCLK_CLR();
Stm32_SystickDly_us(30);
RCLK_SET();
}。