自己调试AD转换的时候老是复位才能显示转换数据
求帮看问题,下面是图片个代码。
//主函数中的循环显示
while(1)
{
startad();
adadval();
display();
}
//启动AD转换,为了解决这个问题我每次在循环显示的始终都关闭并在打开AD,但是事实证明这样也解决不了
void startad()
{
csad=1;
delayms(5);
csad=0;
wr=1;
_nop_();
wr=0;
_nop_();
wr=1;
delayms(20);//延时从段到长调到20ms也不行
}
//读取ad的值
void adadval()
{
rd=1;
_nop_();
rd=0;
_nop_();
advl=P1;
rd=1;
}
//显示函数
void display()
{
bai=advl/100;
shi=advl/10%10;
ge=advl%100%10;
write_com(0x80+0x40);
write_date(0x30+bai);
write_date(0x30+shi);
write_date(0x30+ge);
}