PIC16F877A多路采集会相互干扰

[复制链接]
 楼主| xurenhui 发表于 2013-8-26 16:29 | 显示全部楼层 |阅读模式
本帖最后由 xurenhui 于 2013-8-26 16:53 编辑

                ADON=0;
                ADCON0=0x44;ADCON1=0x00;
                ADON=1;
                while(ADGO);
                Batter.adc_value = (ADRESH<<2)+(ADRESL>>6);
                ADON=0;
                adc_process(&Batter);
                Volt=Batter.adc_average;//显示值
               
                //下一个通道
                ADON=0;
                ADCON0=0x6C;ADCON1=0x00;
                ADON=1;
                while(ADGO);
                Power.adc_value = (ADRESH<<2)+(ADRESL>>6);
                ADON=0;
                adc_process(&Power);        
               
                //下一个通道
                ADON=0;
                ADCON0=0x7c;ADCON1=0x00;
                ADON=1;
                while(ADGO);
                Led.adc_value = (ADRESH<<2)+(ADRESL>>6);
                ADON=0;
                adc_process(&Led);        
我使用的是PIC16F877A芯片,程序写进去转换不了,这样写对吗,
有的时候再调试RA0端口AD的数值时,会改变RE0端口AD的数值



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
726593100 发表于 2013-8-26 21:15 | 显示全部楼层
切换通道的时候要延时一段时间
opal11 发表于 2013-8-26 21:57 | 显示全部楼层
打开ADC电源没有延时
726593100 发表于 2013-8-26 21:59 | 显示全部楼层
还有,我怀疑你的移位有问题
 楼主| xurenhui 发表于 2013-8-26 22:04 | 显示全部楼层
本帖最后由 xurenhui 于 2013-8-26 22:06 编辑

打开AD要延时多久啊,为什么一定要延时啊,
我是直接赋值,没有移位,

有没有典型的参考程序啊,非常谢谢你们的指点
726593100 发表于 2013-8-27 21:02 | 显示全部楼层
延时让采样电路稳定,具体延时时间可以参考芯片手册,当然,不参考的话,延时几十us也差不多了
 楼主| xurenhui 发表于 2013-8-27 22:21 | 显示全部楼层
非常谢谢,同仁们,我现在延时了5Ms,就可以了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

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