ADC0832数据读出后的处理问题

您好! 刚看到您的这个问题,不知您现在是否已经解决?我在试验中也遇到同样的问题,在调试中发现:在转换后的数据中,不论ADC0832的输入为多大,都没有大于0X80的数据。理论上应该是大于2.5V的输入值时,转换后的数据就应该大于0X80。是不是5V对应转换为0X80,而2.5V对应转换为0X40的缘故?您现在是不是已经解决了此问题,请指教,谢谢!

//--------ADC0832数据采集程序------------------------------------------------------------------
uchar adc0832_data()
{
uchar i,Dat1=0,Dat2=0;
CLK = 0;DI = 1;CS = 0;_nop_();CLK = 1;//第一个上升沿
CLK = 0;DI = 1;_nop_();CLK = 1;//第二个上升沿 DI=1表示 双通道 单极性 输入
CLK = 0;DI = 0;_nop_();CLK = 1;//第三个上升沿 DI=0表示选择通道1(CH0)
_nop_();CLK = 0;//第四个下降沿 开始输出转换数据
for(i=0;i<8;i++)//读取8位数据
{
CLK = 1;
CLK = 0;
_nop_();
if(DO) Dat1|=0x80>>i;
}
for(i=0;i<8;i++)//读取8位相反数据
{
if(DO) Dat2|=0x01<<i;
CLK = 1;
CLK = 0;
_nop_();
}
CS = 1;DI = 1; CLK = 1;//读取完成释放总线
if(Dat1==Dat2)//数据效验如果正确则返回读取数据
return Dat1;
} 这个是我写的 你可以去我的网站查找更多内容 MCU资讯网 http://www.mcuzx.com
温馨提示:答案为网友推荐,仅供参考
相似回答