关于用51单片机和ADC0809做电压表的问题

2025-06-22 14:16:27
推荐回答(4个)
回答1:

我觉得是读回数据时出错,问题在这段:::
ch0=0;
Delay(128);
while(E==0);
v=ch0;

问题:
1:Delay(128);试试加长延时。12M晶振下(128)相当于128uS,0809转换时间为100uS,要是你用24M晶振就会出问题,为了保险加大到1000左右
2:不要用等待中断,(while(E==0); 用法不太对),加大延时后直接读回数据就行了

回答2:

不太明白"不能正确转换"是什么意思.
检查硬件电路,尤其是ADC0809的接口.
使用稳定的输入信号检查转换结果是否稳定.如果能跟随输入信号变化,说明逻辑电路没问题,故障在模拟电路.如果不跟随输入而变化说明逻辑电路或者程序有问题.

回答3:

硬件有问题
P0口数据应该不对
或者看一下你用的573或373

回答4:

哈哈,我不知道!