智能压力传感器前端系统软件包括初始化程序、压力和温度的数据采集程序、数字滤波程序、测量算法程序、发送程序等部分组成。
系统初始化程序包括堆栈指针的设置、中断源控制字设置和有关工作单元的初始化等。对于压力信号的选通采用INT1申请中断,在中断处理程序中执行数据采集等任务,如图8所示。在单片机与ICL7135的R/H相连的P3.4口输出一个正脉冲,则开始启动A/D进行转换。在A/D转换期间STRB端口为高电平,在A/D转换结束后,STRB端口输出5个负脉冲。可以利用STRB端口的下降沿请求中断,连续响应5次INT1中断即为一次转换结果。单片机P0.0~P0.3口通过B1~B84位端口依次读入万、千、百、十、个位的BCD码。当所有位数BCD码读完,数据存入RAM单元后,即完成一次压力信号的读取。对于温度信号的选通测量也采用类似的方法,这里不再赘述。目前关于数字滤波的方法很多,有算术平均滤波、加权平均滤波、中值滤波和复合滤波等方法。本系统采用的是复合滤波方法,此法首先将n次采样值按大小排队,然后去掉最大值和最小值,再对剩下的n-2个采样值求算术平均值。复合滤波法既可以去掉脉冲干扰,又可以对采样值进行平滑加工,它兼有中值滤波和算术平均滤波的优点。关于温度引起的压力传感器热零点漂移现象,我们采用的是非线性函数多项式拟合的规范化方法。在程序中通过拟合出的规范化多项式,对压力值进行温度漂移的补偿计算。最后得到的压力值数据经P1口发送到PT2262数据端,由PT2262编码送F05发射数据。