74HC595带锁存,输入输出不同时钟
/*74HC595用法*\
#include<reg52.h>
#include〈intrins.h〉
sbit SI_595=P2^0;//DS
sbit RCK_595=P2^2;
//ST_CP上升沿,数据从移位寄存器
//转存到存储寄存器
sbit SCK_595=P2^1;
//SH_CP上升沿时,移位寄存器中的BIT位数据整体后移,
//并接受新的BIT位(从DS输入)
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;
}