超聲波氣體流量計研發探討 八十七
5.2系統軟件整體結構
本設計采用Franklin C51編寫系統軟件。C語言是一種結構化程序設計語言,兼顧了多種高級語言的特點。C語言有功能豐富的庫函數且運算速度快、編譯效率高,具有很強的可移植性。
基于C語言的特點,本設計采用了模塊化設計方法,程序的可讀性強,便于改進和擴充。根據模塊化程序設計思想,軟件主程序結構比較簡單,在流程中體現出模塊結構,本系統軟件整體工作流程如圖5-1所示。系統上電后首先對系統進行初始化,主要包括I/O的分配、定時器中斷的初始化、FPGA復位、顯示液晶的初始化、相關寄存器的初始化等等。初始化完畢之后系統進入流量檢測循環階段。
從軟件系統結構特點上看,軟件系統每秒鐘完成一次工作循環,由定時器實現一秒定時,通過查詢標志位的方式啟動每一次工作循環。軟件系統主要完成6種工作狀態的切換,它們分別為:流量顯示狀態、流速顯示狀態、順流傳播時間顯示狀態、逆流傳播時間顯示狀態、流量修正系數設置狀態和擬合曲線參數設置狀態。每個狀態在系統標志寄存器中對應不同的數值設定,系統通過掃描鍵盤狀態,進行各個狀態之間的切換。
超聲波流量計