写了一个AD7896采样的程序,然后用液晶屏显示出来,但是总是不能把采样值给读出来,好像是我的程序有问题,麻烦有哪位大师用过的帮忙指点一下,大谢啊。
AD7896的读函数如下:
uint read_ad7896()
{
uint result; //result为采样值;
uchar k;
sclk=0;
delayus(30);
convst=1; //唤醒AD7896;
sclk=0; //时钟线设为0;
delayus(20); //等待模拟信号输入稳定;
convst=0; //启动ADC;
delayus(20); //等待AD转换结束;
convst=1;
delayus(10);
if(busy==0) //busy为0则表示转换结束;
{
for(k=0;k<16;k++)
{
sclk=1;
delayus(4);
sclk=0;
delayus(4);
result=(result<<1)|sda;
delayus(4);
}
}
return result; //返回采样值;
} |