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