找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 810|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機電壓表誤差校準(zhǔn)怎么處理

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:705846 發(fā)表于 2024-12-1 21:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我在校準(zhǔn)電壓誤差時時我想這樣處理的。
基準(zhǔn)電壓20伏, 如果電壓表顯示大于20伏,我就在ADC 結(jié)果內(nèi)減去誤差數(shù)。
如果電壓表顯示小于20伏,我就在ADC結(jié)果內(nèi)加上誤差數(shù)。

從而達(dá)到校準(zhǔn)電壓表的目的。


請問在實際存儲這個誤差數(shù)時,我如何存儲正或者時負(fù)數(shù)呢;蛘叽蠹矣玫钠渌k法。謝謝大家指教。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:434018 發(fā)表于 2024-12-2 02:30 | 只看該作者
s bit sxxx xxxx
正數(shù) 0000 0000 = 0
負(fù)數(shù) 1000 0000 =-1
回復(fù)

使用道具 舉報

板凳
ID:879348 發(fā)表于 2024-12-2 08:07 | 只看該作者
用指針強制轉(zhuǎn)換即可,比如一個浮點數(shù),你用unsigned char指針指向他的地址,就可以提取4bytes出來存儲,同理用浮點指針指向這個地址,就可以取出浮點數(shù)
回復(fù)

使用道具 舉報

地板
ID:92781 發(fā)表于 2024-12-2 08:36 | 只看該作者
參考數(shù)據(jù)類型,一般來說直接用有符號的數(shù)值就行了,定義數(shù)值類型的時候不加unsigned。
C語言的數(shù)值類型如下:
int -2147483648至2147483647
long -2147483648至2147483647
long long的最大值:9223372036854775807至-9223372036854775808
float -3.4 x 10^(-38)至 3.4 x 10^(+38)
double -1.7 x 10^(-308)至 1.7 x 10^(+308)
short -32768至32768
char -128至127
unsigned char 0至255
unsigned int 0至4294967295
unsigned short 0至65535
unsigned long 0至4294967295
unsigned long long 0至18446744073709551615
需要注意的是,大多數(shù)8位單片機C語言里面沒有l(wèi)onglong這個數(shù)據(jù)類型,而且int=short,

評分

參與人數(shù) 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

5#
ID:1034262 發(fā)表于 2024-12-3 12:30 | 只看該作者
線性校準(zhǔn),乘一個校準(zhǔn)系數(shù)。
回復(fù)

使用道具 舉報

6#
ID:401564 發(fā)表于 2024-12-6 12:52 | 只看該作者
先看你是怎么使用這些數(shù)據(jù)的,再根據(jù)單片機片上的資源來決定怎么做
如果是用STC的8051這樣的,片上資源是夠用的,直接上float數(shù)據(jù),如果有數(shù)碼管顯示之類的,再強制轉(zhuǎn)換就可以了
如果片上資源不夠用,又要求效率之類的,可以直接處理ADC數(shù)字量結(jié)果,也就是int型數(shù)據(jù),而不計算實際電壓
比如,你20.00V的ADC數(shù)字結(jié)果是2000,ADC的數(shù)量是1550,那就只針對這兩個數(shù)制進(jìn)行處理
而并不需要先換算成實際電壓再處理
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表