超聲波流量計軟件采用C語言編寫,MSP430系列單片機(jī)使用IARWorkbench系統(tǒng),它的編譯器提供C語言的標(biāo)準(zhǔn)特性,還具有許多為MSP430單片機(jī)專門設(shè)計的開發(fā)工具。是一款集編輯、編譯、調(diào)試、下載于一體的集成開發(fā)環(huán)境。
系統(tǒng)的應(yīng)用程序主要是由主程序和中斷處理程序組成,其中主程序又由多個子程序所組成。主程序包括:系統(tǒng)初始化子程序、電池測試子程序、數(shù)據(jù)處理子程序、循環(huán)顯示子程序等;中斷處理子程序包括:流量檢測子程序、溫度壓力檢測子程序、流量補(bǔ)償算法子程序、按鍵輸入子程序、存儲配置數(shù)據(jù)子程序、通訊子程序等。
主程序完成儀表的整個管理和控制工作,流程圖如圖所示如圖7。
流量計初次上電時系統(tǒng)初始化,顯示當(dāng)前時間,歷史流量數(shù)據(jù),壓力、溫度和電池電量。用戶可以選擇數(shù)據(jù)清零或保持不變。如果電池電量過低,系統(tǒng)報警,顯示“電量不足”符號,提示用戶更換電池。
在無操作的情況下延時一段時間后自動關(guān)閉顯示,進(jìn)入低功耗模式3(LMP3)。當(dāng)發(fā)生中斷事件,從低功耗模式中被喚醒,并判斷是何種中斷事件,進(jìn)而進(jìn)入中斷處理程序。中斷程序流程圖如圖8所示。
若是時鐘信號喚醒,則通過漩渦轉(zhuǎn)速、溫度、壓力值計算出標(biāo)況下的氣體流量,通過軟件補(bǔ)償計算,消除壓損。并將流量值和當(dāng)前時間存入中24C16中,然后流量計重新進(jìn)入低功耗模式。
若是有按鍵按下,則通過中斷喚醒后單片機(jī)調(diào)用按鍵子程序,根據(jù)按下的功能鍵顯示當(dāng)前的瞬時流量、累積流量、溫度、壓力、運(yùn)行時間等信息。若按下多次按下確定鍵或在一段時間內(nèi)無按鍵按下則又進(jìn)入低功耗模式。
若是用戶通過按鍵選擇通訊,系統(tǒng)將調(diào)用相應(yīng)的通訊子程序自動將當(dāng)前或是歷史流量信息發(fā)送給上位機(jī)。
若是超聲波流量計傳感器報警,流量計報警并關(guān)閉電動閥,存儲報警標(biāo)志,延時一段時間后進(jìn)入低功耗模式。