你好,我想请教一下关于ad7606的问题的。我是刚开始做这个,新手。下面是我编的程序。但是出来的结果跟输入的模拟电压不对应。或者说,没有变化。
void TaskofSample(void) //采样任务
{
char i,j; //i表示采样通道,共8通道。j表示采样次数,
unsigned int sumofadlow=0; //低值之和
unsigned int sumofadhigh=0; //高值之和
STBY=1; //AD芯片工作模式
for(j=0;j<2;j++)
{
CONVERT=0;
Delay_ms(1);
CONVERT=1; //开始采样
for(i=0;i<20;i++);
while(BUSYofAD); //等待采转换完成
CSofAD=0;
for(i=0;i<8;i++)
{
READ=0;
AEDdatalow[j] =DataPortLow;
AEDdatahigh[j]=DataPortHigh;
READ=1;
}
CSofAD=1;
}
for(i=0;i<8;i++)
{
for(j=0;j<2;j++)
{
sumofadlow+=AEDdatalow[j];
sumofadhigh+=AEDdatahigh[j];
}
ADdatalow=(sumofadlow+8)/2; //低位平均值
ADdatahigh=(sumofadhigh+8)/2; //高位平均值
}
STBY=0; //关机
}
求指导 |