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