·上一文章:基于单片机技术的光电检测研究
·下一文章:AT89S51单片机并行I/O端口的扩展
3 软件设计
仪表的软件由四部分组成:即由系统时钟程序、测控程序、按键/开关处理程序和VFD显示程序构成。系统时钟程序完成对四个软件定时器的处理,实现定时采样时间的设定、子里程/行驶时间清零定时器的设定、多功能显示时间定时器的设定、报警间隔定时器的设定等功能;测控程序主要包括数据采集程序、数据处理程序,完成对于车速、发动机转速脉冲信号和水温、油位传感器模拟信号的采集、数字滤波及其它各种数值的计算;按键/开关处理程序完成对多功能显示区切换、子里程和子里程行驶时间清零的功能;VFD显示程序完成对发动机转速、水温和油量的模拟光柱显示和车速、总里程、子里程、行驶时间、剩油行驶里程等参数的数字显示的功能。系统的主程序框图如图2所示:
汽车仪表在工作过程中环境变化无常,在设计上通过硬软件综合考虑,实现抗干扰和数据可靠存储设计。在软件抗干扰措施方面,首先考虑到数字信号在传输过程中受到干扰易引起码元波形变坏,传输到接收端后,可能发生错误的情况,在编码设计时,着重考虑编码结构,采用抗干扰性强的交织卷积码的编码方式;为了杜绝程序在使用过程中出现死循环或死机的现象,设计了看门狗电路,以实现硬件对软件的保护作用;为了消除对数据采集带来的误差,对变化缓慢的油位传感器等信号采样值使用了算术平均法数字滤波,以消除油位波动给采样值带来的影响。