函数名称: HC595SendData //8位串行输入/输出,并行输出
功能描述: 向SPI总线发送数据 这里只说明并行输入的一般情况
管脚描述:请参考相关的芯片资料
void HC595SendData(unsigned int SendVal)
{
unsigned char i;
for(i=0;i<8;i++)
{
if((SendVal<<i)&0x80) MOSIO=1; // set dataline high
//若输入最高位为1,则令串行输入为1,反之输入0
else MOSIO=0;
S_CLK=0; //上升沿输入每一位
NOP(); //datasheet给出最大的上升下降沿时间为1000ns
NOP(); //这里为2us,已经足够
S_CLK=1;
}
R_CLK=0; //set dataline low
NOP(); //上升沿输出8位并行数据
NOP(); //延时的解释与上同
R_CLK=1; //片选
OE=0;
}