cs=1; //片选置1
dio=0;
tclk=0; //清时钟
cs=0; //片选置0,开始转换
dio=1; //start bit(起始位)
tclk=1;
tclk=0;
dio=1; //sgl dif为高(H)
tclk=1;
tclk=0;
dio=0; //ODD为低(L)
tclk=1;
tclk=0;
dio=0; //多路选择地址SELECT的第一位
tclk=1;
tclk=0;
dio=0; //多路选择地址SELECT的第二位
tclk=1;
tclk=0;
tclk=1;
tclk=0;
value=0; //value must clear zero, or result is wrong
for(i=0;i <8;i++)
{
tclk=0;
value=value < <1;
if(dio==1)
value=value|0x01;
tclk=1;
}
for(j=0;j <7;j++) //延续7个时钟周期
{
tclk=0;
tclk=1;
}
tclk=0; //跟随2个时钟周期
tclk=1;
tclk=0;
tclk=1;
cs=1; //片选端置1,保证数据稳定
}