打印
[PIC®/AVR®/dsPIC®产品]

AD转换值的计算

[复制链接]
732|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
现在AD的值已经可以传出来了,我的代码如下
    while(GO_DONE) continue;  // Wait conversion done
    iDelay=ADRESL;           // Get the 8 bit LSB result
    iDelay += (ADRESH << 8); // Get the 2 bit MSB result
     if(tf==1)
{tf=0;
   reslutad[0]=iDelay /256;
   reslutad[1]=iDelay %256;

AD管脚的电压是0.06V,AD转换过来的数值是FA80,这是如何换算过来的?如果抛弃高位址换算80
(128/1023)*5=0.6和上面测量电压对不上啊
  

使用特权

评论回复
沙发
chuandaoxy|  楼主 | 2020-12-11 11:50 | 只看该作者
问题是不是出现在这里
cd_byte((adc_result >> 8) & 0x03); //write upper byte
lcd_byte(adc_result & 0xFF); //write lower byte

869035fd2ec5c9ffe0.png (5.17 KB )

869035fd2ec5c9ffe0.png

使用特权

评论回复
板凳
lcczg| | 2020-12-11 15:31 | 只看该作者
AD配置说的不清楚,什么单片机? 几位ADC?左对齐 右对齐? 差分 单端?

使用特权

评论回复
地板
chuandaoxy|  楼主 | 2020-12-11 15:42 | 只看该作者
cpu是16f690,单端输入,10位AD
我参考的这个链接https://pic-microcontroller.com/pic-analog-digital-converter-c-programming/

使用特权

评论回复
5
chuandaoxy|  楼主 | 2020-12-13 10:40 | 只看该作者
chuandaoxy 发表于 2020-12-11 15:42
cpu是16f690,单端输入,10位AD
我参考的这个链接https://pic-microcontroller.com/pic-analog-digital-con ...

配置错误,OK了

使用特权

评论回复
6
CoolSilicon| | 2020-12-14 10:00 | 只看该作者

哪里错了?左对齐 右对齐??

使用特权

评论回复
7
chuandaoxy|  楼主 | 2020-12-14 10:05 | 只看该作者
CoolSilicon 发表于 2020-12-14 10:00
哪里错了?左对齐 右对齐??

寄存器AIN配置有错

使用特权

评论回复
8
CoolSilicon| | 2020-12-14 10:19 | 只看该作者
chuandaoxy 发表于 2020-12-14 10:05
寄存器AIN配置有错

使用特权

评论回复
9
磨砂| | 2021-1-11 21:17 | 只看该作者
接地得到的是什么值呢

使用特权

评论回复
10
晓伍| | 2021-1-11 21:19 | 只看该作者
应该使用前进行校准

使用特权

评论回复
11
八层楼| | 2021-1-11 21:22 | 只看该作者
哈哈 楼主在哪里配置错了呢

使用特权

评论回复
12
观海| | 2021-1-11 21:26 | 只看该作者
差的不少  好在已经找到问题了

使用特权

评论回复
13
guanjiaer| | 2021-1-11 21:28 | 只看该作者
楼主给一个代码的全貌啊

使用特权

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

本版积分规则

851

主题

1039

帖子

4

粉丝