4.6數(shù)據(jù)處理算法

這部分程序主要進(jìn)行阻值計算、誤差校正、數(shù)字濾波、代碼轉(zhuǎn)換等處理。數(shù)據(jù)處理程序思路:先將存儲于數(shù)據(jù)存儲器RAM的電壓二進(jìn)制數(shù)據(jù)合并為12位二進(jìn)制數(shù),再進(jìn)行回路電阻值參數(shù)計算,并進(jìn)行誤差校正和算術(shù)平均濾波。將測試得到的電壓值和計算的回路電阻值轉(zhuǎn)化為BCD碼,進(jìn)行LED顯示。數(shù)據(jù)處理程序如圖4.4所示。為進(jìn)一步提高系統(tǒng)抗干擾能力,確保測試的,對獲得的測量值進(jìn)行數(shù)字濾波處理,進(jìn)行八次測量后剔除最大值和最小值后取平均值,經(jīng)過軟、硬件濾波處理后的系統(tǒng)誤差將會明顯的降低。

數(shù)字濾波部分:用軟件來減小或消除測量誤差或電壓值中的無用的部分,輸入信號為模擬信號經(jīng)采樣和A/D轉(zhuǎn)換后的數(shù)字量,對轉(zhuǎn)換后的數(shù)字量進(jìn)行計算。對多次計算的回路接觸電阻值進(jìn)行算術(shù)平均濾波,算術(shù)平均濾波就是連續(xù)取n個數(shù)字量值進(jìn)行采樣,然后進(jìn)行平均數(shù)算術(shù)。采樣值的個數(shù)n視具體情況而定,計算阻值時取8.采用單片機軟件校正系統(tǒng)誤差:對標(biāo)準(zhǔn)電阻進(jìn)行檢測,用標(biāo)準(zhǔn)電阻的測量值去校正被測電阻的測量值的誤差,以校正0PI“放大器放大倍數(shù)和ADs78os型A/D轉(zhuǎn)換器增益在內(nèi)的綜合增益系數(shù)。

為了提高計算精度,可以采用浮點數(shù)計算或用雙精度、(分別為2、4字節(jié)數(shù))。因為測試電流峰值為1的A,回路電阻測試范圍取0.01m幾一1.9999k.,所以接觸電壓范圍為0一2/105拼V.觸頭電壓以升uv為單位時,存儲時應(yīng)該占3個字節(jié),但是為了考慮計算精度,在計算回路電阻和數(shù)字濾波時,本系統(tǒng)均采用4字節(jié)數(shù)來進(jìn)行計算。
A/D轉(zhuǎn)換子程序

4.7LBD顯示子程序

采用的是顯示驅(qū)動芯片是MAX7219,其顯示子程序首先初始化中斷,使中斷工作在方式1,再讀取顯示緩沖區(qū)內(nèi)的數(shù)據(jù),顯示緩沖區(qū)主要是用來存放即將要顯示的數(shù)據(jù)。LED顯示子程序流程圖如圖4.5所示。


上一頁 1 2 3 下一頁