ARM與μC/OS-II彎管流量計根據(jù)系統(tǒng)的功能需求,軟件設(shè)計主要有3個模塊。分別為無紙記錄儀功能模塊,大容量存儲模塊和網(wǎng)絡(luò)通信模塊。
ARM與μC/OS-II彎管流量計帶有無紙記錄儀功能的顯示模塊中,設(shè)計有實時數(shù)據(jù)曲線顯示,歷史數(shù)據(jù)曲線顯示這兩個主要圖形顯示的功能。實時數(shù)據(jù)曲線的顯示,需要屏幕刷新速度盡可能的快,大于50Hz,這樣人眼就不會察覺圖像的閃爍,使得曲線的實時移動更自然。在實際的任務(wù)編寫中,一屏曲線的顯示需要70個點的數(shù)據(jù)組成。
ARM與μC/OS-II彎管流量計如果每更新一次圖像就全屏刷新,處理速度會比較慢,很明顯出現(xiàn)閃爍現(xiàn)象。所以在這里使用了一個背景色補畫原曲線的方法。通過補畫舊曲線,畫新曲線,無需刷新背景等其他圖形圖像。
ARM與μC/OS-II彎管流量計這里用到兩個任務(wù)來實現(xiàn)其功能。其中一個任務(wù)需要先將當前采集的70點數(shù)據(jù)轉(zhuǎn)化為坐標放入一個內(nèi)存緩沖區(qū),另一個任務(wù)是另開辟一塊同樣大小的緩沖區(qū),用來放前1秒的數(shù)據(jù)坐標,用來補畫掉之前的曲線。
當ARM與μC/OS-II彎管流量計顯示曲線任務(wù)執(zhí)行時,將指令和數(shù)據(jù)坐標一起通過串口發(fā)送給液晶。液晶先處理補畫指令,緊接著處理畫新曲線指令,兩個指令之間的時間做到盡可能zui小,從而達到要求。
數(shù)據(jù)點坐標的采集和時間中斷這里用到了μC/OS-II操作系統(tǒng)的信號量。
ARM與μC/OS-II彎管流量計時間中斷后,才可以采集數(shù)據(jù),并連同實時時間一起存放到存儲器中,每1s只能保存并顯示輸出一個數(shù)據(jù),所以時間中斷和采集存儲構(gòu)成一個單向同步,用到了信號量來使兩個任務(wù)同步。