《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 采用多單片機的液位監(jiān)控儀
采用多單片機的液位監(jiān)控儀
摘要: 介紹把多個單片機用于一個多路液位監(jiān)控系統(tǒng)的方法,。說明用多個單片機的原因及用單片機取代I/O接口的理由,,并對系統(tǒng)的軟硬件設(shè)計、調(diào)試也做了說明,。
Abstract:
Key words :

  采用單片機設(shè)計液位監(jiān)控儀是很通用的做法,。如果要測量的液位有很多路(16路以上),,每路要求能滾動顯示1年內(nèi)每班、每日,、每月的輸入輸出總量(1日3班),,正常或意外停電數(shù)據(jù)不丟失,,人機交互能力要強(要設(shè)置適當(dāng)數(shù)量的按鍵及采用LCD顯示),,并且每路液位要求對應(yīng)2路控制輸出信號(液罐液體輸入控制和輸出控制),配置微型打印機端口,,設(shè)置聲音報警,,所有這些無疑需要很多的I/O端口來支持,單憑一個單片機是辦不到的,需要擴展I/O端口,。在此設(shè)計中,,筆者認(rèn)為采用專用I/O擴展芯片有較多的弊端,權(quán)衡利弊,,選擇了用單片機來代替專用I/O接口芯片的方法,。

  1 專用 I/O芯片與單片機用作I/O芯片的對比

  ①專用I/O接口芯片的I/O口數(shù)量不比單片機多(筆者采用單片機型號為89C52),;

 ?、趯S肐/O接口芯片使用不靈活,幾種使用方式已被芯片設(shè)計者設(shè)定,,不能超出此范圍變化,,而單片機則受限制較小,使用起來較靈活,;

 ?、蹖S肐/O接口芯片獨立性差、智能性差,,無論是接收輸入信號還是輸出控制信號,,I/O專用芯片對信號的輸入輸出增色不能做出決定,必須要由單片機來做決定,,僅起接力或過渡信號作用,,沒有監(jiān)控能力,不能獨立處理問題,,而單片機則不然,,可采用多種方式靈活處理問題;

 ?、苁褂肐/O擴展專用芯片就必須要熟悉它,工程技術(shù)人員一般對單片機的熟悉程度要比對它強很多,,相比之下,,使用它要浪費時間,再一個I/O擴展專用芯片的價格均要比單片機高,,從成本核算上考慮不經(jīng)濟,;

  ⑤專用I/O芯片實時性差,,由于I/O擴展專用芯片僅起收發(fā)信號的作用,,本身沒有加工處理信號的能力,這樣信號經(jīng)過它來回的傳遞勢必造成延遲,,因而會出現(xiàn)實時性差的問題,;

  ⑥使用單片機作I/O接口,便于軟硬件設(shè)計模塊化,,分工清晰,,給設(shè)計、調(diào)試,、維護帶來極大方便,;

  ⑦使用單片機作I/O接口加強了對接口的監(jiān)管力度,,減輕了主單片機的負(fù)擔(dān),。

  2 硬件結(jié)構(gòu)及分工

  硬件設(shè)計共分如下幾部分:單片機;A/D轉(zhuǎn)換部分,;控制信號輸出部分,;非易失性存儲器(作RAM擴展);按鍵部分,;顯示部分,;打印I/O端口部分;模擬開關(guān)部分,。硬件結(jié)構(gòu)框圖如圖1所示,。

硬件結(jié)構(gòu)框圖

  硬件設(shè)計中:

  ①單片機選用89C52,,其特點是片內(nèi)含有8KB ROM,,不需片外擴展ROM;

 ?、贏/D轉(zhuǎn)換器選用MC14433,,其特點是轉(zhuǎn)換精度高,抗干擾能力強,,每秒可轉(zhuǎn)換20次左右,,因為液位變化不是很快,所以可滿足監(jiān)測液位變化的需要,;

 ?、劭刂菩盘栞敵霾捎脝纹瑱C控制74LS373鎖存器的方式,這樣可通過增減鎖存器個數(shù)的方式來增減控制輸出端口數(shù)量,;

 ?、芤蛎柯芬竽軡L動顯示1年內(nèi)每班、每日,、每月的輸入輸出量總量(1日3班),,正常或意外停電數(shù)據(jù)不丟失,,所以采用了AT29LV040A(512KB)的閃速存儲器(也可采用FRAM),,因89C52最多可外擴展64KB的RAM,為了保證有足夠的存儲空間可將AT29LV040A的A16、A17和A18地址線與1#單片機的某個端口連接,,這樣通過控制這3個地址線的變化就可達到使用AT29LV040A的512KB空間的目的,。

  ⑤按鍵部分采用常規(guī)的非編碼鍵盤方式即可,;

 ?、逓榱颂岣呷藱C的交互能力,顯示部分采用了GXM12864SL大屏幕LCD,,這樣屏幕上可顯示自編的漢字,、數(shù)字、等式及簡單的圖案,;

 ?、叽蛴/O端口,可根據(jù)要求進行相應(yīng)的連接配置即可,;

 ?、嗄M開關(guān)選用多片CD4051,它們與單片機配合,,用于選擇多路液位模擬量中的1路液位的模擬量,,然后進行A/D轉(zhuǎn)換。

  由于選用了3個單片機,,有效地解決了I/O端口不夠用的問題,,也使得在設(shè)計上簡化了許多,只要按照常規(guī)的連接芯片方式即可,,省去了很多的過渡芯片,,如74LS244、74LS245,、74LS73等,,也使得軟件設(shè)計變得簡單容易。因硬件連接變得簡單而且均為常規(guī)連接,,所以本文沒有提供詳細的線路連接圖,。3個單片機之間的數(shù)據(jù)交換采用了串行口通信方式,如圖1所示,。本設(shè)計中,3個單片機采用同時復(fù)位,,當(dāng)然也可采用分開復(fù)位方式,,但按鍵要增加,此種情況視要求而定,。

   3 軟件結(jié)構(gòu)設(shè)計

  由于3個單片機同時復(fù)位,,所以復(fù)位后3個單片機是處于并行工作狀態(tài)的。1#單片機的主要工作是將所有路液位模擬量轉(zhuǎn)換成數(shù)字量保存起來。它可根據(jù)鍵盤命令或系統(tǒng)默認(rèn)格式將采集加工后的結(jié)果傳送給2#單片機顯示及3#單片機輸出控制,,也可根據(jù)命令只監(jiān)測指定的某1路或某幾路的液位變化,。2#單片機的主要工作是讀入鍵盤命令,加工處理后,,向1#和3#發(fā)布命令,,然后根據(jù)反饋結(jié)果在LCD上顯示出來。也可根據(jù)1#單片要同采集到的數(shù)據(jù),,不斷更新其顯示內(nèi)容,。LCD顯示方式可多種多樣,可循環(huán)顯示指定的某幾路液位,,或固定顯示某1路液位,,或循環(huán)顯示某1個月的每天或某天的每班輸入輸出量等。每1路液體的比重,、計算修正值,、液位上下限高度設(shè)定等都可通過鍵盤輸入并保存起來。也可通過鍵盤設(shè)定密碼,,防止別人或誤操作破壞設(shè)定內(nèi)容,,鍵入方式應(yīng)設(shè)計成無須看說明書,只要按照LCD顯示上的提示進行選擇即可,。3#單片機的主要工作是根據(jù)鍵盤命令或1#單片機及時采集到的數(shù)據(jù),,發(fā)出控制信號或打印輸出結(jié)果,打印輸出格式可根據(jù)鍵盤命令進行選擇,。3個單片機的工作流程框圖分別如圖2,、圖3和圖4所示。

 

單片機的工作流程框圖

單片機的工作流程框圖

  3個單片機之間通過串行口,,除傳送正常的數(shù)據(jù),、命令外,3者之間還要進行互相監(jiān)督(這是I/O擴展芯片很難做到的),。

 ?、傧嗷ブg傳送信息后一定要進行印證,也就是發(fā)送者要及時收到接收者的回執(zhí),;

 ?、?者之間定時互訪,確保相安無事,;

 ?、勖看紊想姀?fù)位除自檢外,還要互檢,。

  互相監(jiān)督的目的是為提高整個系統(tǒng)的性能,,為系統(tǒng)維護提供方便,。1#和3#單片機上都配有2個發(fā)送二極管,用于監(jiān)測指示另外兩個單片機工作是否正常,。2#單片機本身有LCD顯示,,無需發(fā)光二極管。串行通信中斷服務(wù)程序,、發(fā)送程序流程圖及定時互訪程序流程圖等因比較簡單沒有給出,。

  4 調(diào)試

  在一個系統(tǒng)中,使用多個單片機對整個系統(tǒng)調(diào)試確實會帶來一些不便,。系統(tǒng)中有多少個單片機最好就有多少個單片機開發(fā)裝置,,這對調(diào)試是有極大幫助的,因為在調(diào)試中可隨時查看每個單片機的狀態(tài),,但實際當(dāng)中往往不會有多個,,只有1個。

  每個單片機的程序基本上是由兩部分組成的,,一部分是與其它單片機沒有任何聯(lián)系的獨立部分,,另一部分是單片機之間相互通信聯(lián)系的部分(這部分程序量較小),。調(diào)試時先把單片機各自獨立部分調(diào)試出來,,這部分對單片機應(yīng)用人員來說不會有問題。然后調(diào)試單片機相互之間的串行通信程序,,先把相互之間的簡單通信建立起來,,相互之間能識別傳遞數(shù)據(jù)后,再逐步把完整的程序一步一步添加進去,。在設(shè)計,、編制程序時要想到如何調(diào)試,這樣在編制程序時就會有意識地程序分成有效的塊,,調(diào)試時就可以一塊一塊地調(diào)試,。多單片機調(diào)試方法較多,此是一孔之見,。

  結(jié)語

  在一個液位監(jiān)控系統(tǒng)中采用多個單片機是一種嘗試,,但它確實簡化了系統(tǒng)設(shè)計,便于分工和多人投入?yún)f(xié)作,,也便于產(chǎn)品改進更新,。其最顯著的效果是縮短了產(chǎn)品的設(shè)計、調(diào)試和生產(chǎn)的周期,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。