應用多個(gè)單片機的液位監控儀
3 軟件結構設計
由于3個(gè)單片機同時(shí)復位,所以復位后3個(gè)單片機是處于并行工作狀態(tài)的。1#單片機的主要工作是將所有路液位模擬量轉換成數字量保存起來(lái)。它可根據鍵盤(pán)命令或系統默認格式將采集加工后的結果傳送給2#單片機顯示及3#單片機輸出控制,也可根據命令只監測指定的某1路或某幾路的液位變化。2#單片機的主要工作是讀入鍵盤(pán)命令,加工處理后,向1#和3#發(fā)布命令,然后根據反饋結果在LCD上顯示出來(lái)。也可根據1#單片要同采集到的數據,不斷更新其顯示內容。LCD顯示方式可多種多樣,可循環(huán)顯示指定的某幾路液位,或固定顯示某1路液位,或循環(huán)顯示某1個(gè)月的每天或某天的每班輸入輸出量等。每1路液體的比重、計算修正值、液位上下限高度設定等都可通過(guò)鍵盤(pán)輸入并保存起來(lái)。也可通過(guò)鍵盤(pán)設定密碼,防止別人或誤操作破壞設定內容,鍵入方式應設計成無(wú)須看說(shuō)明書(shū),只要按照LCD顯示上的提示進(jìn)行選擇即可。3#單片機的主要工作是根據鍵盤(pán)命令或1#單片機及時(shí)采集到的數據,發(fā)出控制信號或打印輸出結果,打印輸出格式可根據鍵盤(pán)命令進(jìn)行選擇。
3個(gè)單片機之間通過(guò)串行口,除傳送正常的數據、命令外,3者之間還要進(jìn)行互相監督(這是I/O擴展芯片很難做到的)。
①相互之間傳送信息后一定要進(jìn)行印證,也就是發(fā)送者要及時(shí)收到接收者的回執;
②3者之間定時(shí)互訪(fǎng),確保相安無(wú)事;
③每次上電復位除自檢外,還要互檢。
互相監督的目的是為提高整個(gè)系統的性能,為系統維護提供方便。1#和3#單片機上都配有2個(gè)發(fā)送二極管,用于監測指示另外兩個(gè)單片機工作是否正常。2#單片機本身有LCD顯示,無(wú)需發(fā)光二極管。串行通信中斷服務(wù)程序、發(fā)送程序流程圖及定時(shí)互訪(fǎng)程序流程圖等因比較簡(jiǎn)單沒(méi)有給出。
4 調試
在一個(gè)系統中,使用多個(gè)單片機對整個(gè)系統調試確實(shí)會(huì )帶來(lái)一些不便。系統中有多少個(gè)單片機最好就有多少個(gè)單片機開(kāi)發(fā)裝置,這對調試是有極大幫助的,因為在調試中可隨時(shí)查看每個(gè)單片機的狀態(tài),但實(shí)際當中往往不會(huì )有多個(gè),只有1個(gè)。
每個(gè)單片機的程序基本上是由兩部分組成的,一部分是與其它單片機沒(méi)有任何聯(lián)系的獨立部分,另一部分是單片機之間相互通信聯(lián)系的部分(這部分程序量較?。?。調試時(shí)先把單片機各自獨立部分調試出來(lái),這部分對單片機應用人員來(lái)說(shuō)不會(huì )有問(wèn)題。然后調試單片機相互之間的串行通信程序,先把相互之間的簡(jiǎn)單通信建立起來(lái),相互之間能識別傳遞數據后,再逐步把完整的程序一步一步添加進(jìn)去。在設計、編制程序時(shí)要想到如何調試,這樣在編制程序時(shí)就會(huì )有意識地程序分成有效的塊,調試時(shí)就可以一塊一塊地調試。多單片機調試方法較多,此是一孔之見(jiàn)。
結語(yǔ)
在一個(gè)液位監控系統中采用多個(gè)單片機是一種嘗試,但它確實(shí)簡(jiǎn)化了系統設計,便于分工和多人投入協(xié)作,也便于產(chǎn)品改進(jìn)更新。其最顯著(zhù)的效果是縮短了產(chǎn)品的設計、調試和生產(chǎn)的周期。
評論