TLC549的c语言串行读入数据子函数
unsigned char TLC549_ADC(void)
{
unsigned char i, tmp;
CS = 1; //CS置高,片选无效
CLK = 0;
CS = 0; //CS置低,片选有效 ▲同时DO输出最高位
_nop_();
_nop_(); //适当延迟时间1.4us Setup Time
for(i = 0; i < 8; i++) //串行数据移位输入
{
tmp <<= 1;
tmp |= DO;
CLK = 1; //0.4us
_nop_(); //CLK transition time Max 0.1us
CLK = 0; //0.4us
}
CS = 1; //CS置高,片选无效
for(i = 17; i != 0; i--) _nop_(); //Next Coversion需要延迟时间17us
return (tmp);
}