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