4.6數據處理算法
這部分程序主要進(jìn)行阻值計算、誤差校正、數字濾波、代碼轉換等處理。數據處理程序思路:先將存儲于數據存儲器RAM的電壓二進(jìn)制數據合并為12位二進(jìn)制數,再進(jìn)行回路電阻值參數計算,并進(jìn)行誤差校正和算術(shù)平均濾波。將測試得到的電壓值和計算的回路電阻值轉化為BCD碼,進(jìn)行LED顯示。數據處理程序如圖4.4所示。為進(jìn)一步提高系統抗干擾能力,確保測試的高精度,對獲得的測量值進(jìn)行數字濾波處理,進(jìn)行八次測量后剔除最大值和最小值后取平均值,經(jīng)過(guò)軟、硬件濾波處理后的系統誤差將會(huì )明顯的降低。
數字濾波部分:用軟件來(lái)減小或消除測量誤差或電壓值中的無(wú)用的部分,輸入信號為模擬信號經(jīng)采樣和A/D轉換后的數字量,對轉換后的數字量進(jìn)行計算。對多次計算的回路接觸電阻值進(jìn)行算術(shù)平均濾波,算術(shù)平均濾波就是連續取n個(gè)數字量值進(jìn)行采樣,然后進(jìn)行平均數算術(shù)。采樣值的個(gè)數n視具體情況而定,計算阻值時(shí)取8.采用單片機軟件校正系統誤差:對標準電阻進(jìn)行檢測,用標準電阻的測量值去校正被測電阻的測量值的誤差,以校正0PI“放大器放大倍數和ADs78os型A/D轉換器增益在內的綜合增益系數。
為了提高計算精度,可以采用浮點(diǎn)數計算或用雙精度、高精度(分別為2、4字節數)。因為測試電流峰值為1的A,回路電阻測試范圍取0.01m幾一1.9999k.,所以接觸電壓范圍為0一2/105拼V.觸頭電壓以升uv為單位時(shí),存儲時(shí)應該占3個(gè)字節,但是為了考慮計算精度,在計算回路電阻和數字濾波時(shí),本系統均采用4字節數來(lái)進(jìn)行計算。
4.7LBD顯示子程序
本測試儀采用的是顯示驅動(dòng)芯片是MAX7219,其顯示子程序首先初始化中斷,使中斷工作在方式1,再讀取顯示緩沖區內的數據,顯示緩沖區主要是用來(lái)存放即將要顯示的數據。LED顯示子程序流程圖如圖4.5所示。
評論