编译通过了。但是就是都不出正确的值。不知道位什么?错在什么地方了。 unsigned char A_D(bit CH) { unsigned char i; TLC0832_CS = 0; //片选 TLC0832_Clk = 0; //时钟拉低 TLC0832_Clk = 1; //时钟拉高 TLC0832_DI = 1; //启动信号 if ( CH == 0 ) //通道选择 { TLC0832_Clk = 0; TLC0832_Clk = 1; //通道0的第一位 TLC0832_DI = 1;
TLC0832_Clk = 0; TLC0832_Clk = 1; //通道0的第二位 TLC0832_DI = 0; } else { TLC0832_Clk = 0; TLC0832_Clk = 1; //通道1的第一位 TLC0832_DI = 1;
TLC0832_Clk = 0; TLC0832_Clk = 1; //通道1的第二位 TLC0832_DI = 1; }
TLC0832_Clk = 1; TLC0832_Clk = 0;
for( i = 0;i < 8;i++ ) //读取八位AD值 { TLC0832_Clk = 1; TLC0832_Clk = 0; if ( TLC0832_DO ) advalue = (advalue>>1) | 0x80; else advalue = (advalue>>1) | 0x00; } TLC0832_CS = 1; //释放ADC0832 return(advalue); //返回采样值 }
|