ADC0809跟51单片机的应用问题~大家看一看我这个程序有什么问题啊~测试时只有最大最小值是正常的

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char

sbit START=P3^2;
sbit EOC=P3^3;
sbit ALE=P3^4;
sbit OE=P3^5;
sbit CL=P3^6;

sbit Qian_Wei=P1^0;

uchar num;

void delay(uint ms)
{
uint a,b;
for(a=ms;a>0;a--)
for(b=249;b>0;b--);
}
void init()
{
EA=1;
ET0=1;
TMOD=0X01;
TH0=(65536-10)/256;
TL0=(65536-10)%256;
TR0=1;
ALE=0;
START=0;
EOC=1;
OE=0;
}

void main()
{
init();
Qian_Wei=0;
while(1)
{
START=0;
START=1;
START=0;
while(EOC==1);
while(EOC==0);
OE=1;
num=P1;
OE=0;
P0=num;
delay(10);
}
}

void T0_int() interrupt 1
{
TH1=(65536-10)/255;
TL1=(65536-10)%255;
CL=~CL;
}

void T0_int() interrupt 1
{
TH1 = (65536-10)/255; //应该是TH0
TL1 = (65536-10)%255; //应该是TL0
CL = ~CL;
}追问

改过来了,可是还是无法正常运行 :(

追答

改过来了,就可以正常运行。
已经用PROTEUS仿真运行成功。

追问

额。。我是滑动变阻器出了点故障,代码OK~,多谢

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-25
可能你的单片机的与ADC的连线错误
相似回答
大家正在搜