超声波气体流量计研发探讨 八十七
5.2系统软件整体结构
本设计采用Franklin C51编写系统软件。C语言是一种结构化程序设计语言,兼顾了多种高级语言的特点。C语言有功能丰富的库函数且运算速度快、编译效率高,具有很强的可移植性。
基于C语言的特点,本设计采用了模块化设计方法,程序的可读性强,便于改进和扩充。根据模块化程序设计思想,软件主程序结构比较简单,在流程中体现出模块结构,本系统软件整体工作流程如图5-1所示。系统上电后首先对系统进行初始化,主要包括I/O的分配、定时器中断的初始化、FPGA复位、显示液晶的初始化、相关寄存器的初始化等等。初始化完毕之后系统进入流量检测循环阶段。
从软件系统结构特点上看,软件系统每秒钟完成一次工作循环,由定时器实现一秒定时,通过查询标志位的方式启动每一次工作循环。软件系统主要完成6种工作状态的切换,它们分别为:流量显示状态、流速显示状态、顺流传播时间显示状态、逆流传播时间显示状态、流量修正系数设置状态和拟合曲线参数设置状态。每个状态在系统标志寄存器中对应不同的数值设定,系统通过扫描键盘状态,进行各个状态之间的切换。
超声波流量计