4.6数据处理算法

这部分程序主要进行阻值计算、误差校正、数字滤波、代码转换等处理。数据处理程序思路:先将存储于数据存储器RAM的电压二进制数据合并为12位二进制数,再进行回路电阻值参数计算,并进行误差校正和算术平均滤波。将测试得到的电压值和计算的回路电阻值转化为BCD码,进行LED显示。数据处理程序如图4.4所示。为进一步提高系统抗干扰能力,确保测试的,对获得的测量值进行数字滤波处理,进行八次测量后剔除最大值和最小值后取平均值,经过软、硬件滤波处理后的系统误差将会明显的降低。

数字滤波部分:用软件来减小或消除测量误差或电压值中的无用的部分,输入信号为模拟信号经采样和A/D转换后的数字量,对转换后的数字量进行计算。对多次计算的回路接触电阻值进行算术平均滤波,算术平均滤波就是连续取n个数字量值进行采样,然后进行平均数算术。采样值的个数n视具体情况而定,计算阻值时取8.采用单片机软件校正系统误差:对标准电阻进行检测,用标准电阻的测量值去校正被测电阻的测量值的误差,以校正0PI“放大器放大倍数和ADs78os型A/D转换器增益在内的综合增益系数。

为了提高计算精度,可以采用浮点数计算或用双精度、(分别为2、4字节数)。因为测试电流峰值为1的A,回路电阻测试范围取0.01m几一1.9999k.,所以接触电压范围为0一2/105拼V.触头电压以升uv为单位时,存储时应该占3个字节,但是为了考虑计算精度,在计算回路电阻和数字滤波时,本系统均采用4字节数来进行计算。
A/D转换子程序

4.7LBD显示子程序

采用的是显示驱动芯片是MAX7219,其显示子程序首先初始化中断,使中断工作在方式1,再读取显示缓冲区内的数据,显示缓冲区主要是用来存放即将要显示的数据。LED显示子程序流程图如图4.5所示。


上一页 1 2 3 下一页