sbit MOSIO = P3^4; //数据输入
sbit R_CLK = P3^5; //锁存
sbit S_CLK = P3^6; //时钟
void HC595SendData( uchar BT3, uchar BT2)
{
uchar i;
//--发送第一个字节--//
for(i=0;i<8;i++)
{
MOSIO = BT3 >> 7 ; //从高位到低位
BT3 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--发送第一个字节--//
for(i=0;i<8;i++)
{
MOSIO = BT2 >>7; //从高位到低位
BT2 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--输出--//
R_CLK = 0; //set dataline low
R_CLK = 1; //片选2个595一起送出数据
R_CLK = 0; //set dataline low
}
这个是2个锁存器的数据发送方法,直接调用就可以了。
|