什么是74hc595?是硅结构的cmos器件, 兼容低电压ttl电路,遵守jedec no.7a标准。
74hc595具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器有相互独立的时钟。
数据在sh_cp(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在st_cp(存储器时钟输入)的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(ds),和一个串行输出(q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能oe时(为低电平),存储寄存器的数据输出到总线。
8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。
将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。
74hc595外形图
74hc595具有一个8位串行输入并行输出的移位寄存器和一个8位输出锁存器。
应用电路图
74hc595具体使用的步骤:
第一步:目的:将要准备输入的位数据移入74hc595数据输入端上。
方法:送位数据到_595。
第二步:目的:将位数据逐位移入74hc595,即数据串入
方法:sck_595产生一上升沿,将psi_595上的数据移入74hc595中。从低到高
第三步:目的:并行输出数据。即数据并出
方法:p1.1产生一上升沿,将由si_595上已移入数据寄存器中的数据
送入到输出锁存器。
说明: 从上可分析:从sck_595产生一上升沿(移入数据)和rck_595产生一上升沿(输出数据)是二个独立过程,实际应用时互不干扰。即可输出数据的 同时移入数据。
程序如下,复制就能用。
sbit si_595=p2^0;
sbit rck_595=p2^2;
sbit sck_595=p2^1;
void hc595senddata(unsigned char sendval)//发送数据
{
unsigned char i;
for(i=0;i《8;i )
{
if((sendval《《i)&0x80) si_595=1;
else si_595=0;
sck_595=0;//从sck_595产生一上升沿(移入数据)
_nop_();
_nop_();
sck_595=1;
}
}
void hc595showdata()//rck_595产生一上升沿(输出数据)
{
rck_595=0;
_nop_();
_nop_();
rck_595=1;
}