打印
[其它应用]

adc工作不正常

[复制链接]
1101|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tian111|  楼主 | 2015-5-10 16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
adc工作不正常,转换的数据和输入的电压没有一点的比例关系,外部参考2.5v  ,是不是程序问题啊?
沙发
huwr| | 2015-5-10 16:59 | 只看该作者
参考电压已输入到IC脚上了

使用特权

评论回复
板凳
tian111|  楼主 | 2015-5-10 16:59 | 只看该作者

使用特权

评论回复
地板
chenho| | 2015-5-10 16:59 | 只看该作者
代码看看

使用特权

评论回复
5
tian111|  楼主 | 2015-5-10 16:59 | 只看该作者
AD_MAIN:
   MOV ADCON,#0X90
   MOV ADCH,#00000001B  //选择AD通道0
   MOV AD_MAIN_BUFF_H,0X00 //清AD缓冲寄存器
   MOV AD_MAIN_BUFF_L,0X00 //清AD缓冲寄存器
   MOV ADDL,#0X00
   MOV ADDH,#0X00
   MOV R7,#10D    //转换10次
  MOV ADT,#01100011B     //转换时间=112US
AD_MAIN1:
   MOV ADCON,#0X90        //外部参考,比较功能关闭,通道0
   ORL ADCON,#0X01    //启动AD转换
AD_MAIN2:
   NOP
   NOP      
   NOP
  MOV A,ADCON
   JB ACC.0,AD_MAIN2  //等待AD转换完成
   NOP
   NOP
   DJNZ R7,AD_MAIN1  //抛弃前10次转换结果
   MOV R7,#0X0A   //转换10次
AD_MAIN3:
   MOV ADCON,#0X90        //外部参考,比较功能关闭,通道0
   ORL ADCON,#0X01   //启动AD转换
   NOP
   NOP
   LCALL DATA_ZL   //调用AD转换数据整理子程序(整理后的数据存入        AD_MAIN_BUFF_H和AD_MAIN_BUFF_L中)
   NOP

使用特权

评论回复
6
wenfen| | 2015-5-10 17:00 | 只看该作者

什么对不上?

使用特权

评论回复
7
tian111|  楼主 | 2015-5-10 17:00 | 只看该作者
转换结果寄存器ADDL和ADDH的值和输入电压对不上

使用特权

评论回复
8
wenfen| | 2015-5-10 17:00 | 只看该作者
转换的AD值稳定吗?

使用特权

评论回复
9
tian111|  楼主 | 2015-5-10 17:00 | 只看该作者
很稳定,是不是IC坏掉了

使用特权

评论回复
10
wenfen| | 2015-5-10 17:00 | 只看该作者

确实奇怪啊

使用特权

评论回复
11
tian111|  楼主 | 2015-5-10 17:01 | 只看该作者
ADDL和ADDH已经经过合并处理了,好像转换结果比实际值低好几倍,所以。。

使用特权

评论回复
12
chenho| | 2015-5-10 17:01 | 只看该作者
外部电压稳定吗,转换时有没有干扰

使用特权

评论回复
13
happy_10| | 2015-5-10 17:01 | 只看该作者
将通道0接地和接vref,是否为0和3ff?

使用特权

评论回复
14
冰清玉洁| | 2015-5-10 17:01 | 只看该作者
估计是程序问题,楼主好好看看吧

使用特权

评论回复
15
tian111|  楼主 | 2015-5-10 17:02 | 只看该作者
嗯,我也估计是

使用特权

评论回复
16
黑夜之狼| | 2015-5-10 22:26 | 只看该作者
不会汇编,表示看不了程序,LZ的转换公式对吗?用哪个型号的单片机

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

粉丝