void SendOneByte( unsigned char data)
{
uchar i,j;
SET_STR; //保持原来的锁定状态
for(i=0;i<8;i++) //写八位数据进4094;
{
SET_CLK; //形成上升延脉冲;
for(j=0;j<12;j++); //延迟
if(data&0x80) //判断并发串行数据;
CLR_DI;
else
SET_DI;
for(j=0;j<12;j++); //延迟
CLR_CLK;
for(j=0;j<12;j++); //延迟
data<<=1; //数据移位,送下一位数据;
}
SET_CLK;
CLR_STR;
for(j=0;j<12;j++); //延迟
SET_STR;
}
void Write4094(uchar dat,uchar dat1,uchar dat2,uchar dat3)
{
uchar j;
SendOneByte(dat);
SendOneByte(dat1);
SendOneByte(dat2);
SendOneByte(dat3);
for(j=0;j<12;j++); //延迟
}
这个是我源代码。。
|