求教关于ADC输出不稳定的问题。
时间:10-02
整理:3721RD
点击:
求教关于ADC0804的问题,在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();
}
}
这是程序:
#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();
}
}
忘了说,用的是ADC0804