【摘要】:采用查询方式进行A/D转换的操作步骤如下。6)循环查询ADCON0的是否为0,为1则继续查询此位。9)若想选择其他通道进行测量,先修改A/D输入通道CHS2:CHS0,然后重复4)~8)的步骤。所以在进行A/D转换前必须确定A/D输入通道并延时足够长的时间使采样保持电路充满电。对于PIC16F877而言,在常温下使用25s的典型值即可。下面通过程序例子说明如何实现这个操作时序。
采用查询方式进行A/D转换的操作步骤如下。
1)根据硬件连接方式通过ADCON1把相应引脚配置为模拟通道并正确设置参考电压引脚(PCFG3:PCFG0),设置转换结果格式(ADFM)。
2)把相应模拟输入通道的方向寄存器置为输入模式(TRISA或TRISE)。
3)通过ADCON0选择A/D输入通道(CHS2:CHS0),选择转换时钟(ADCS1:ADCS0),开启A/D转换开关(ADON),清空A/D转换状态位()。
4)在一次新的A/D转换进行前要延时足够长的时间。
5)把ADCON0的置位,启动一次A/D转换。
6)循环查询ADCON0的是否为0,为1则继续查询此位。直到为0,此位为0则说明一次A/D转换完成。(www.daowen.com)
7)根据ADFM的设置来读取ADRESH和ADRESL的相关位来获得一次转换结果。
8)若想获得多次转换结果请循环4)~7)。
9)若想选择其他通道进行测量,先修改A/D输入通道CHS2:CHS0,然后重复4)~8)的步骤。
这里解释一下为什么需要4),就是在启动A/D转换之前要延时足够长的时间。
在A/D转换过程中,模拟量输入信号先是进入A/D转换器的采样保持电路,此电路用电容来保持A/D转换过程中模拟量输入电压不会变化,而此电容的充满电是需要一定时间的。所以在进行A/D转换前必须确定A/D输入通道并延时足够长的时间使采样保持电路充满电。具体此段时间延时多长,不同的A/D转换器各异,可以参考相应A/D转换器的数据手册得到计算公式。对于PIC16F877而言,在常温下使用25µs的典型值即可。
下面通过程序例子说明如何实现这个操作时序。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。