求教关于ADC0804输出数据不稳定的问题。
时间:10-02
整理:3721RD
点击:
在proetus仿真中0804输出数据不稳定,初始全是高电平,闪了几下正确的数据后又回到全高电平,如此循环,请问这是怎么回事?
#include<reg51.h>
#include<intrins.h>
sbit rd=P3^7; //IO口定义
sbit wr=P3^6;
sbit cs=P3^0;
unsigned char read_adc0804()//控制并读取adc0804转换好的数据
{
unsigned char a; //写入控制命令,启动转换
cs=1;
wr=1;
cs=0;
wr=0;
wr=1;
cs=1;
_nop_();
cs=0;//读取数据
rd=0;
a=P1;
rd=1;
cs=1;
return a;
}
void main()
{
unsigned char a;
while(1)
{
a=read_adc0804();
}
}
有人吗?……
读取数据那行注释下面,rd=0要至少维持135纳秒才能读数据,提前将rd复位成高电平,会导致数据总线进入高阻态,导致都不出数据