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