想问问各位大侠给个双路AD转换的思路

[复制链接]
2185|3
 楼主| 小鱼儿1045 发表于 2012-10-31 22:09 | 显示全部楼层 |阅读模式
现在程序要检测两个模拟量,所以就要在AD通道上切换。以前都是一路AD,所以没什么问题,双路AD了,要切换通道。感觉数据就不对了。
我的AD思路是(PIC16F876):

打开 Channel RA0;
ADGO = 1;   启动AD
while(!ADIF);等待中断标志
ADProcess();AD处理程序

打开 Channel RA1;
ADGO = 1;
while(!ADIF);
ADProcess();AD处理程序

但是效果不好,数据经常出错。
请问大家做双路AD的时候是怎么个编程思想啊?
江枫渔火 发表于 2012-11-1 09:20 | 显示全部楼层
切换通道后,延迟一会儿再采样,下发采样命令后,延迟一会儿再取数
江枫渔火 发表于 2012-11-1 09:24 | 显示全部楼层
保证开始采样的时候,通道已经切换稳定(模拟开关延时在ns级别,主要是后面的滤波电容延迟,以及ADC内部C必须的充电时间),保证取数的时候,采样已经完成。
做到了,采样自然不会有不对的情况了。
dqyubsh 发表于 2012-11-1 14:06 | 显示全部楼层
把其它程序,包括中断、定时器之类的都裁剪掉,只留ADC部分,看看对不对。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

1968

帖子

19

粉丝
快速回复 在线客服 返回列表 返回顶部