本帖最后由 ningling_21 于 2014-6-8 09:02 编辑
595简单的东西...
使用时MR接VCC, OE接GND
移位数据 先从数据端输入数据DS,再给一个同步时钟脉冲信号SHCP,8位数据输出后,给一个数据寄存器输入时钟STCP信号就是一个上升沿...
如果级联多片595,可以在数据全部移位完成后再输出STCP脉冲信号...
void shift_out(uchar g,uchar seg) //移位输出
{
uchar i;
uchar dly=5;
uchar tmp=g;
for(i=0;i<8;i++)
{
if((tmp&0x80)==0x80)
{
DS_out=1;
}
else
{
DS_out=0;
}
SHCLK=0; //移位时钟
dly=2;
while(dly--);
SHCLK=1;
dly=2;
while(dly--);
tmp=tmp<<1;
}
STCLK=0; //数据输出到管脚 dly=5;
while(dly--);
STCLK=1;
}
|