久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3329|回復: 14
打印 上一主題 下一主題
收起左側

單片機芯片內部ADC計算值不正確,為什么?

[復制鏈接]
跳轉到指定樓層
樓主
各位大佬,請教個問題,這邊使用STC15W408as主控芯片,測量通道內部第9的內部基準源電壓數值,為什么總是算不對呢?我放上源碼,請大神幫忙看下。使用的是ssop20的芯片,我看也沒有Vref這個管腳,默認不是電壓供電多少,計算的值就是多少嗎?為什么算出來的值怎么大

51hei圖片_20210805230916.png (243.54 KB, 下載次數: 43)

ADC初始化

ADC初始化

51hei圖片_202108052309161.png (158.84 KB, 下載次數: 59)

主函數調用

主函數調用

51hei圖片_202108052309162.png (78.69 KB, 下載次數: 42)

顯示結果

顯示結果
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:235200 發表于 2021-8-6 01:30 | 只看該作者
程序中讀出的是10位ADC轉換值, 并沒有算出來對應的電壓值來

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:752974 發表于 2021-8-6 10:23 | 只看該作者
AD轉換后的數據只是一個二進制數,定標后就是實際的物理量了。V=D*Vref/1024,D是AD后讀取的數據。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:646328 發表于 2021-8-6 10:58 | 只看該作者
csmyldl 發表于 2021-8-6 01:30
程序中讀出的是10位ADC轉換值, 并沒有算出來對應的電壓值來

adc_value_Vcc=(unsigned long)(5000*(unsigned long)adc_value)/1024;
這句話不就是算電壓值的嗎?
回復

使用道具 舉報

5#
ID:646328 發表于 2021-8-6 10:58 | 只看該作者
munuc_w 發表于 2021-8-6 10:23
AD轉換后的數據只是一個二進制數,定標后就是實際的物理量了。V=D*Vref/1024,D是AD后讀取的數據。

adc_value_Vcc=(unsigned long)(5000*(unsigned long)adc_value)/1024;
我就是用這句話來根據這個公式算的
回復

使用道具 舉報

6#
ID:609524 發表于 2021-8-6 11:03 | 只看該作者
baocong2019 發表于 2021-8-6 10:58
adc_value_Vcc=(unsigned long)(5000*(unsigned long)adc_value)/1024;
我就是用這句話來根據這個公式算 ...

你是用內部vcc做參考電壓的嗎
回復

使用道具 舉報

7#
ID:646328 發表于 2021-8-6 11:05 | 只看該作者
楊天想 發表于 2021-8-6 11:03
你是用內部vcc做參考電壓的嗎

標定的供電電壓是5v  = 5000
然后來測外部通道
回復

使用道具 舉報

8#
ID:401564 發表于 2021-8-6 13:31 | 只看該作者
PCON2默認是0x00
你在ADC初始化那加一條
PCON2=0x20;
試一下

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

9#
ID:928549 發表于 2021-8-6 15:27 | 只看該作者
假設有一個參考電壓,其中一個通道測量該參考電壓,那么就可以逆推出當前的電源電壓(電源電壓不一定有多么穩定,因此一般需要一個穩定的參考電壓),然后用逆推出的電源電壓去計算所要測量的電壓,你這個5000乘的有點夢幻了吧,這個5000直接用逆推出的電源電壓就可以了吧,,,如果對精度要求不高(直接乘5v就可以了),還有,我感覺程序有點問題 (ADC_RES<<8)|(ADC_RESL&3),這里有問題吧,把數增大了吧

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

10#
ID:646328 發表于 2021-8-6 17:09 | 只看該作者
1093562897 發表于 2021-8-6 15:27
假設有一個參考電壓,其中一個通道測量該參考電壓,那么就可以逆推出當前的電源電壓(電源電壓不一定有多么 ...

                adc_value_temp = (ADC_RES<<2)|(ADC_RESL&3);
最終問題解決了,是偏移位數的問題,高8位在RES寄存器,低2位在bit1-bit0,所以應該是左移2位,而不是左移8位。
回復

使用道具 舉報

11#
ID:401564 發表于 2021-8-6 18:08 | 只看該作者
ADC_RESL&3
你看一下數據手冊,你這個公式對嗎?
所以我叫你PCON2改一下試一下
回復

使用道具 舉報

12#
ID:584195 發表于 2021-8-6 18:18 | 只看該作者
學習了,雖然我不用STC單片機!
回復

使用道具 舉報

13#
ID:646328 發表于 2021-8-6 20:25 | 只看該作者
Y_G_G 發表于 2021-8-6 18:08
ADC_RESL&3
你看一下數據手冊,你這個公式對嗎?
所以我叫你PCON2改一下試一下

不是PCON2寄存器的問題,是移位出現了問題
回復

使用道具 舉報

14#
ID:401564 發表于 2021-8-6 21:08 | 只看該作者
baocong2019 發表于 2021-8-6 20:25
不是PCON2寄存器的問題,是移位出現了問題

哦哦,匯編用習慣了,就覺得高位會變成低位了...
你這樣也是對的
但,如果你有看過PCON2的說明,你就會知道,你最初的公式是PCON2的ADRJ位為1時的公式,網上大多是用這個公式的,但ADRJ默認是0的,別人的程序是要設定PCON2的
這就是我提醒你修改PCON2試一下原因
回復

使用道具 舉報

15#
ID:569384 發表于 2021-8-10 11:48 | 只看該作者
ad值需要用公式換算會電壓值,而且檢測的電壓值要做降壓處理,不能超過參考電壓,再根據降壓比推算會原來的電壓值。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本黄视频在线观看 | 国产一区二区三区www | 中文字幕高清 | 精品欧美一区二区精品久久久 | 超碰人人在线 | 无码日韩精品一区二区免费 | 久久久久久久久国产精品 | 精品九九九 | 欧美精品久久久久 | 操一草 | 羞羞视频网 | 麻豆精品国产91久久久久久 | 影音av | 色欧美片视频在线观看 | 又黄又爽的网站 | 黄网站在线播放 | www.婷婷| 日韩一区二区免费视频 | 久久国产精品一区二区三区 | 国产视频精品视频 | 久久久久久av | 成人午夜免费视频 | 国产视频日韩 | 亚洲精品电影 | 欧美视频一区二区三区 | 日韩欧美一区二区三区免费看 | 国产一区二区影院 | 成人一区二区三区在线观看 | 99热这里有精品 | 国产一级精品毛片 | 狠狠色综合网站久久久久久久 | 免费久久久久久 | 欧洲精品视频一区 | 亚洲国产成人精品女人 | 无人区国产成人久久三区 | 99riav国产一区二区三区 | 久久国产精品一区二区三区 | 国产精品久久久久久二区 | 午夜av电影 | 精品欧美激情精品一区 | 国产成人精品一区二区 |