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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4414|回復(fù): 16
收起左側(cè)

關(guān)于單片機(jī)電壓測量0V-100V的一個(gè)問題

  [復(fù)制鏈接]
ID:525582 發(fā)表于 2021-3-28 21:04 | 顯示全部樓層 |閱讀模式
下圖是一個(gè)電壓測量的代碼,電壓測量范圍比較寬,是從0V測到100V,實(shí)際測試發(fā)現(xiàn),如果不用那些if語句,讓temp乘以一個(gè)固定的倍數(shù),12V的時(shí)候測的比較準(zhǔn),電壓越高,測量結(jié)果偏差越大,50V的時(shí)候,測量偏差已經(jīng)有1.5V了,就是實(shí)際電壓50V,測量結(jié)果是51.5V,然后用下面這段代碼進(jìn)行校正,測試結(jié)果卻顯示有幾千伏,請(qǐng)問是哪里出了問題?這代碼我自己感覺應(yīng)該沒問題,就是測試結(jié)果不正常

捕獲1.JPG

回復(fù)

使用道具 舉報(bào)

ID:684049 發(fā)表于 2021-3-28 21:30 | 顯示全部樓層
順序執(zhí)行了一遍
回復(fù)

使用道具 舉報(bào)

ID:897505 發(fā)表于 2021-3-28 21:53 | 顯示全部樓層
是進(jìn)制問題么?
回復(fù)

使用道具 舉報(bào)

ID:525582 發(fā)表于 2021-3-28 21:58 | 顯示全部樓層

可當(dāng)實(shí)際電壓5V的時(shí)候,它并沒有滿足后面那些if語句的條件,為什么卻能進(jìn)入后面那些if語句里面呢?
回復(fù)

使用道具 舉報(bào)

ID:702386 發(fā)表于 2021-3-28 22:06 | 顯示全部樓層
除第一個(gè)if外,后面的if換成else if,不然可能重復(fù)換算
回復(fù)

使用道具 舉報(bào)

ID:160500 發(fā)表于 2021-3-28 22:22 | 顯示全部樓層
你這個(gè)程序是有問題的
不能怎么使用if
要用if ... else if...
回復(fù)

使用道具 舉報(bào)

ID:525582 發(fā)表于 2021-3-29 07:23 | 顯示全部樓層
謝謝啊,這個(gè)可能性很大,晚一點(diǎn)我試試
回復(fù)

使用道具 舉報(bào)

ID:65956 發(fā)表于 2021-3-29 08:21 | 顯示全部樓層
你一直用if當(dāng)然會(huì)出現(xiàn)混亂,你要用if{}else if{},意思是如果...否則....這樣的條件判斷邏輯才對(duì)
回復(fù)

使用道具 舉報(bào)

ID:71233 發(fā)表于 2021-3-29 08:29 | 顯示全部樓層
上面各朋友都說得沒有錯(cuò)
用if 和 else iif這是兩種不同的結(jié)果
再例如:
前提:e==1
if(e==1)
{e=10;}
if(e==10)//上面計(jì)算的e結(jié)果會(huì)進(jìn)入此條件語句進(jìn)行判斷
{e=100;}
上述運(yùn)行結(jié)果是e=100

if(e==1)
{e=10;}
else if(e==10)
{e=100;}
上述運(yùn)行結(jié)果是e=10
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2021-3-29 14:33 | 顯示全部樓層
通常要想用ACD盡量準(zhǔn)確測量遠(yuǎn)大于單片機(jī)VCC的電壓不宜只用一套分壓電路,要根據(jù)實(shí)際被測電壓自動(dòng)換擋。而不是在算法補(bǔ)償下功夫。
回復(fù)

使用道具 舉報(bào)

ID:883031 發(fā)表于 2021-3-29 16:14 | 顯示全部樓層
if 。。。else if。。。
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2021-3-30 05:50 | 顯示全部樓層
yytda 發(fā)表于 2021-3-28 21:58
可當(dāng)實(shí)際電壓5V的時(shí)候,它并沒有滿足后面那些if語句的條件,為什么卻能進(jìn)入后面那些if語句里面呢?

由于樓主判斷條件是變量e的值,符合判斷條件改變的也是e的值。依次判斷時(shí)就有可能前面的結(jié)果成為后面的依據(jù)而發(fā)生錯(cuò)誤。改為if(temp<=0.14) e=temp*35;.......  或  if.......else if........else if......寫法避免發(fā)生錯(cuò)誤。
回復(fù)

使用道具 舉報(bào)

ID:420836 發(fā)表于 2021-3-30 08:43 | 顯示全部樓層
條件語句錯(cuò)誤
回復(fù)

使用道具 舉報(bào)

ID:723547 發(fā)表于 2021-3-30 09:36 | 顯示全部樓層
提供一個(gè)最簡單的改正方法,新設(shè)置一個(gè)變量c,讓c=e*10;,10是你的分壓倍數(shù)。這樣就避免了判斷失誤。
回復(fù)

使用道具 舉報(bào)

ID:1088834 發(fā)表于 2023-12-13 15:40 | 顯示全部樓層
用switch應(yīng)該也行吧
回復(fù)

使用道具 舉報(bào)

ID:879348 發(fā)表于 2023-12-13 15:54 | 顯示全部樓層
我做過測量0-100V,并沒有發(fā)現(xiàn)你說的如此嚴(yán)重的非線性問題,只需要手工校準(zhǔn)一個(gè)系數(shù),是不是你的硬件有問題或者軟件配置ADC采樣時(shí)間不符
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2023-12-13 18:13 | 顯示全部樓層
jkluzi 發(fā)表于 2023-12-13 15:40
用switch應(yīng)該也行吧

不可以,不然你寫一個(gè)讓大家樂一樂?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久www成人免费无遮挡大片 | 古装三级在线播放 | 成年人的视频免费观看 | 色频| av网站免费| 日韩在线看片 | 国产高清av免费观看 | 久久天堂| 欧美情趣视频 | 欧美在线亚洲 | 久久久www成人免费精品 | 成人免费看片又大又黄 | 国产精品a久久久久 | 国产精品成人一区二区三区夜夜夜 | 精品在线免费观看视频 | 国产精品久久久久免费 | 欧美一区二区免费 | 在线色| 欧美激情精品久久久久久免费 | 欧美日韩在线免费 | 亚洲国产一区二区三区在线观看 | 国产成人精品免费视频大全最热 | 免费99精品国产自在在线 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 精品国产乱码久久久久久蜜柚 | 久久99久久99久久 | av在线一区二区三区 | 超碰网址 | 欧美日韩成人影院 | 天天操伊人 | www久久av| 久久精品手机视频 | 午夜影院在线 | 中文字幕久久久 | 高清视频一区二区三区 | 一区二区三区中文字幕 | 国产精品免费在线 | 成人在线小视频 | 日韩不卡三区 | 日韩亚洲视频在线 | aaaa网站 |