[其它应用] 是不是程序问题啊?

[复制链接]
680|17
 楼主| tian111 发表于 2019-11-8 21:50 | 显示全部楼层 |阅读模式
adc工作不正常,转换的数据和输入的电压没有一点的比例关系,外部参考2.5v  
huwr 发表于 2019-11-8 21:52 | 显示全部楼层
参考电压已输入到IC脚上了
 楼主| tian111 发表于 2019-11-8 21:55 | 显示全部楼层
chenho 发表于 2019-11-8 21:57 | 显示全部楼层
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| tian111 发表于 2019-11-8 22:00 | 显示全部楼层

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
wenfen 发表于 2019-11-8 22:05 | 显示全部楼层
什么对不上?
 楼主| tian111 发表于 2019-11-8 22:09 | 显示全部楼层

转换结果寄存器ADDL和ADDH的值和输入电压对不上
wenfen 发表于 2019-11-8 22:12 | 显示全部楼层
转换的AD值稳定吗?
 楼主| tian111 发表于 2019-11-8 22:15 | 显示全部楼层
很稳定,是不是IC坏掉了
wenfen 发表于 2019-11-8 22:18 | 显示全部楼层
确实奇怪啊
 楼主| tian111 发表于 2019-11-8 22:22 | 显示全部楼层
ADDL和ADDH已经经过合并处理了,好像转换结果比实际值低好几倍,所以。。
chenho 发表于 2019-11-8 22:25 | 显示全部楼层
外部电压稳定吗,转换时有没有干扰
happy_10 发表于 2019-11-8 22:37 | 显示全部楼层

将通道0接地和接vref,是否为0和3ff?
bqyj 发表于 2019-11-8 22:47 | 显示全部楼层
估计是程序问题,楼主好好看看吧
 楼主| tian111 发表于 2019-11-8 22:51 | 显示全部楼层
嗯,我也估计是
zhuhuis 发表于 2019-11-8 22:54 | 显示全部楼层
不会汇编,表示看不了程序,LZ的转换公式对吗?用哪个型号的单片机
 楼主| tian111 发表于 2019-11-8 22:57 | 显示全部楼层
唉,还是没有什么结果,算了,多谢大家啦
externally 发表于 2019-11-11 19:43 | 显示全部楼层
应该是没有配置好ADC寄存器的原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

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