搜索
bottom↓
回复: 6

请教:PIC18F4520的AN0口电压采集问题

[复制链接]

出0入0汤圆

发表于 2013-2-26 16:19:16 | 显示全部楼层 |阅读模式
本帖最后由 fangjikun 于 2013-2-26 16:22 编辑

请教:
8路温度传感器的电压(热敏电阻测温,10K热敏电阻上拉,再接个10K电阻到地)经过HCF4051后接到PIC18F4520的19脚AN0口,但采集结果为零,万用表量AN0口确实为0伏。再往前量4051的8个输入端电压在2点几伏,说明测温部分来的电压也差不多对。(4051的6脚INH接地,7脚VEE接地   9、10、11脚选择端是否上拉不影响这个奇怪的现象)
问题来了:将4051的随便那一路输入和输出端3脚短接,原来的2点几伏就降为0.4伏左右,将输出端3脚和5V电源短接,输出端为电源电压,PIC18F4520的AN0口输入有什么要求吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2013-2-26 16:29:19 | 显示全部楼层
补充:不同的电压加到AN0脚,采集结果有变化

出0入0汤圆

发表于 2013-2-26 16:39:20 来自手机 | 显示全部楼层
确认AN0设为模拟输入了吗?即ADCON1设置正确了吗?

出0入0汤圆

 楼主| 发表于 2013-2-26 16:50:40 | 显示全部楼层
caochunhua 发表于 2013-2-26 16:39
确认AN0设为模拟输入了吗?即ADCON1设置正确了吗?

ADCON1=0b00001110;//AN0即19为模拟,参考电压VCC\VSS

出0入0汤圆

 楼主| 发表于 2013-2-26 16:53:35 | 显示全部楼层
         
     #define ADC_CASE_A   LATC1//RC1//数模转换选择信号A
     #define ADC_CASE_B   LATC2//RC2//数模转换选择信号B
     #define ADC_CASE_C   LATD0//RD0//数模转换选择信号C


         ADCON1=0b00001110;//AN0即19为模拟,参考电压VCC\VSS
         ADCON0=0b00000001;//选择采集通道AN0,GODONE暂为0,ADON=1:启动AD模块                 
         ADCON2=0b10010001;//结果右对齐,采样时间4TAD,时钟FOSC/2

                //HV_A
                 ADC_CASE_A=1;
                 ADC_CASE_B=1;
                 ADC_CASE_C=0;  //        CD4051通道7
                 GODONE=1; //启动转换
                  while(GODONE);//等待转换完成
                 HV_A=(ADRESH<<8)|ADRESL;
                 
                 //HV_C
                 ADC_CASE_A=1;
                 ADC_CASE_B=1;
                 ADC_CASE_C=0;//        CD4051通道6
                 GODONE=1; //启动转换
                  while(GODONE);//等待转换完成
                 HV_C=(ADRESH<<8)|ADRESL;
                 
                 //HV_B
                 ADC_CASE_A=1;
                 ADC_CASE_B=1;
                 ADC_CASE_C=0;//        CD4051通道4
                 GODONE=1; //启动转换
                  while(GODONE);//等待转换完成
                 HV_B=(ADRESH<<8)|ADRESL;
.。。。。。。。。
头像被屏蔽

出0入0汤圆

发表于 2013-2-26 17:01:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2013-2-26 22:12:55 | 显示全部楼层
问题已经找到,单片机初始化时19脚IO口设置为输入(原来搞成输出了)、再ADCON1=0b00001110;//AN0设置为19为模拟,即可
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-17 11:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表