- 相關推薦
采用多單片機的液位監控儀
摘要:介紹把多個單片機用于一個多路液位監控系統的方法。說明用多個單片機的原因及用單片機取代I/O接口的理由,并對系統的軟硬件設計、調試也做了說明。采用單片機設計液位監控儀是很通用的做法。如果要測量的液位有很多路(16路以上),每路要求能滾動顯示1年內每班、每日、每月的輸入輸出總量(1日3班),正;蛞馔馔k姅祿粊G失,人機交互能力要強(要設置適當數量的按鍵及采用LCD顯示),并且每路液位要求對應2路控制輸出信號(液罐液體輸入控制和輸出控制),配置微型打印機端口,設置聲音報警,所有這些無疑需要很多的I/O端口來支持,單憑一個單片機是辦不到的,需要擴展I/O端口。在此設計中,筆者認為采用專用I/O擴展芯片有較多的弊端,權衡利弊,選擇了用單片機來代替專用I/O接口芯片的方法。
1 專用 I/O芯片與單片機用作I/O芯片的對比
①專用I/O接口芯片的I/O口數量不比單片機多(筆者采用單片機型號為89C52);
②專用I/O接口芯片使用不靈活,幾種使用方式已被芯片設計者設定,不能超出此范圍變化,而單片機則受限制較小,使用起來較靈活;
③專用I/O接口芯片獨立性差、智能性差,無論是接收輸入信號還是輸出控制信號,I/O專用芯片對信號的輸入輸出增色不能做出決定,必須要由單片機來做決定,僅起接力或過渡信號作用,沒有監控能力,不能獨立處理問題,而單片機則不然,可采用多種方式靈活處理問題;
④使用I/O擴展專用芯片就必須要熟悉它,工程技術人員一般對單片機的熟悉程度要比對它強很多,相比之下,使用它要浪費時間,再一個I/O擴展專用芯片的價格均要比單片機高,從成本核算上考慮不經濟;
⑤專用I/O芯片實時性差,由于I/O擴展專用芯片僅起收發信號的作用,本身沒有加工處理信號的能力,這樣信號經過它來回的傳遞勢必造成延遲,因而會出現實時性差的問題;
⑥使用單片機作I/O接口,便于軟硬件設計模塊化,分工清晰,給設計、調試、維護帶來極大方便;
⑦使用單片機作I/O接口加強了對接口的監管力度,減輕了主單片機的負擔。
2 硬件結構及分工
硬件設計共分如下幾部分:單片機;A/D轉換部分;控制信號輸出部分;非易失性存儲器(作RAM擴展);按鍵部分;顯示部分;打印I/O端口部分;模擬開關部分。硬件結構框圖如圖1所示。
硬件設計中:
①單片機選用89C52,其特點是片內含有8KB ROM,不需片外擴展ROM;
②A/D轉換器選用MC14433,其特點是轉換精度高,抗干擾能力強,每秒可轉換20次左右,因為液位變化不是很快,所以可滿足監測液位變化的需要;
③控制信號輸出采用單片機控制74LS373鎖存器的方式,這樣可通過增減鎖存器個數的方式來增減控制輸出端口數量;
④因每路要求能滾動顯示1年內每班、每日、每月的輸入輸出量總量(1日3班),正常或意外停電數據不丟失,所以采用了AT29LV040A(512KB)的閃速存儲器(也可采用FRAM),因89C52最多可外擴展64KB的RAM,為了保證有足夠的存儲空間可將AT29LV040A的A16、A17和A18地址線與1#單片機的某個端口連接,這樣通過控制這3個地址線的變化就可達到使用AT29LV040A的512KB空間的目的。
⑤按鍵部分采用常規的非編碼鍵盤方式即可;
⑥為了提高人機的交互能力,顯示部分采用了GXM12864SL大屏幕LCD,這樣屏幕上可顯示自編的漢字、數字、等式及簡單的圖案;
⑦打印I/O端口,可根據要求進行相應的連接配置即可;
⑧模擬開關選用多片CD4051,它們與單片機配合,用于選擇多路液位模擬量中的1路液位的模擬量,然后進行A/D轉換。
由于選用了3個單片機,有效地解決了I/O端口不夠用的問題,也使得在設計上簡化了許多,只要按照常規的連接芯片方式即可,省去了很多的過渡芯片,如74LS244、74LS245、74LS73等,也使得軟件設計變得簡單容易。因硬件連接變得簡單而且均為常規連接,所以本文沒有提供詳細的線路連接圖。3個單片機之間的數據交換采用了串行口通信方式,如圖1所示。本設計中,3個單片機采用同時復位,當然也可采用分開復位方式,但按鍵要增加,此種情況視要求而定。
3 軟件結構設計
由于3個單片機同時復位,所以復位后3個單片機是處于并行工作狀態的。1#單片機的主要工作是將所有路液位模擬量轉換成數字量保存起來。它可根據鍵盤命令或系統默認格式將采集加工后的結果傳送給2#單片機顯示及3#單片機輸出控制,也可根據命令只監測指定的某1路或某幾路的液位變化。2#單片機的主要工作是讀入鍵盤命令,加工處理后,向1#和3#發布命令,然后根據反饋結果在LCD上顯示出來。也可根據1#單片要同采集到的數據,不斷更新其顯示內容。LCD顯示方式可多種多樣,可循環顯示指定的某幾路液位,或固定顯示某1路液位,或循環顯示某1個月的每天或某天的每班輸入輸出量等。每1路液體的比重、計算修正值、液位上下限高度設定等都可通過鍵盤輸入并保存起來。也可通過鍵盤設定密碼,防止別人或誤操作破壞設定內容,鍵入方式應設計成無須看說明書,只要按照LCD顯示上的提示進行選擇即可。3#單片機的主要工作是根據鍵盤命令或1#單片機及時采集到的數據,發出控制信號或打印輸出結果,打印輸出格式可根據鍵盤命令進行選擇。3個單片機的工作流程框圖分別如圖2、圖3和圖4所示。
3個單片機之間通過串行口,除傳送正常的數據、命令外,3者之間還要進行互相監督(這是I/O擴展芯片很難做到的)。
①相互之間傳送信息后一定要進行印證,也就是發送者要及時收到接收者的回執;
②3者之間定
【采用多單片機的液位監控儀】相關文章:
基于單片機的液位測量系統設計03-07
采用多框架技術實現在線考場恢復系統03-19
電容法構成的液位檢測及控制裝置(一)03-07
基于FPGA的RISC8位單片機設計03-30
基于16位單片機的語音電子門鎖系統03-18
利用VB實現PC機與多單片機通訊03-18