采用多51單片機(jī)的液位監(jiān)控儀設(shè)計(jì)
采用單片機(jī)設(shè)計(jì)液位監(jiān)控儀是很通用的做法。如果要測(cè)量的液位有很多路(16路以上),每路要求能滾動(dòng)顯示1年內(nèi)每班、每日、每月的輸入輸出總量(1日3班),正?;蛞馔馔k姅?shù)據(jù)不丟失,人機(jī)交互能力要強(qiáng)(要設(shè)置適當(dāng)數(shù)量的按鍵及采用LCD顯示),并且每路液位要求對(duì)應(yīng)2路控制輸出信號(hào)(液罐液體輸入控制和輸出控制),配置微型打印機(jī)端口,設(shè)置聲音報(bào)警,所有這些無(wú)疑需要很多的I/O端口來(lái)支持,單憑一個(gè)單片機(jī)是辦不到的,需要擴(kuò)展I/O端口。在此設(shè)計(jì)中,筆者認(rèn)為采用專(zhuān)用I/O擴(kuò)展芯片有較多的弊端,權(quán)衡利弊,選擇了用單片機(jī)來(lái)代替專(zhuān)用I/O接口芯片的方法。
1 專(zhuān)用 I/O芯片與單片機(jī)用作I/O芯片的對(duì)比
?、賹?zhuān)用I/O接口芯片的I/O口數(shù)量不比單片機(jī)多(筆者采用單片機(jī)型號(hào)為89C52);
?、趯?zhuān)用I/O接口芯片使用不靈活,幾種使用方式已被芯片設(shè)計(jì)者設(shè)定,不能超出此范圍變化,而單片機(jī)則受限制較小,使用起來(lái)較靈活;
?、蹖?zhuān)用I/O接口芯片獨(dú)立性差、智能性差,無(wú)論是接收輸入信號(hào)還是輸出控制信號(hào),I/O專(zhuān)用芯片對(duì)信號(hào)的輸入輸出增色不能做出決定,必須要由單片機(jī)來(lái)做決定,僅起接力或過(guò)渡信號(hào)作用,沒(méi)有監(jiān)控能力,不能獨(dú)立處理問(wèn)題,而單片機(jī)則不然,可采用多種方式靈活處理問(wèn)題;
?、苁褂肐/O擴(kuò)展專(zhuān)用芯片就必須要熟悉它,工程技術(shù)人員一般對(duì)單片機(jī)的熟悉程度要比對(duì)它強(qiáng)很多,相比之下,使用它要浪費(fèi)時(shí)間,再一個(gè)I/O擴(kuò)展專(zhuān)用芯片的價(jià)格均要比單片機(jī)高,從成本核算上考慮不經(jīng)濟(jì);
?、輰?zhuān)用I/O芯片實(shí)時(shí)性差,由于I/O擴(kuò)展專(zhuān)用芯片僅起收發(fā)信號(hào)的作用,本身沒(méi)有加工處理信號(hào)的能力,這樣信號(hào)經(jīng)過(guò)它來(lái)回的傳遞勢(shì)必造成延遲,因而會(huì)出現(xiàn)實(shí)時(shí)性差的問(wèn)題;
?、奘褂脝纹瑱C(jī)作I/O接口,便于軟硬件設(shè)計(jì)模塊化,分工清晰,給設(shè)計(jì)、調(diào)試、維護(hù)帶來(lái)極大方便;
?、呤褂脝纹瑱C(jī)作I/O接口加強(qiáng)了對(duì)接口的監(jiān)管力度,減輕了主單片機(jī)的負(fù)擔(dān)。
2 硬件結(jié)構(gòu)及分工
硬件設(shè)計(jì)共分如下幾部分:?jiǎn)纹瑱C(jī);A/D轉(zhuǎn)換部分;控制信號(hào)輸出部分;非易失性存儲(chǔ)器(作RAM擴(kuò)展);按鍵部分;顯示部分;打印I/O端口部分;模擬開(kāi)關(guān)部分。硬件結(jié)構(gòu)框圖如圖1所示。
硬件設(shè)計(jì)中:
?、賳纹瑱C(jī)選用89C52,其特點(diǎn)是片內(nèi)含有8KB ROM,不需片外擴(kuò)展ROM;
?、贏/D轉(zhuǎn)換器選用MC14433,其特點(diǎn)是轉(zhuǎn)換精度高,抗干擾能力強(qiáng),每秒可轉(zhuǎn)換20次左右,因?yàn)橐何蛔兓皇呛芸?,所以可滿(mǎn)足監(jiān)測(cè)液位變化的需要;
?、劭刂菩盘?hào)輸出采用單片機(jī)控制74LS373鎖存器的方式,這樣可通過(guò)增減鎖存器個(gè)數(shù)的方式來(lái)增減控制輸出端口數(shù)量;
?、芤蛎柯芬竽軡L動(dòng)顯示1年內(nèi)每班、每日、每月的輸入輸出量總量(1日3班),正?;蛞馔馔k姅?shù)據(jù)不丟失,所以采用了AT29LV040A(512KB)的閃速存儲(chǔ)器(也可采用FRAM),因89C52最多可外擴(kuò)展64KB的RAM,為了保證有足夠的存儲(chǔ)空間可將AT29LV040A的A16、A17和A18地址線與1#單片機(jī)的某個(gè)端口連接,這樣通過(guò)控制這3個(gè)地址線的變化就可達(dá)到使用AT29LV040A的512KB空間的目的。
?、莅存I部分采用常規(guī)的非編碼鍵盤(pán)方式即可;
⑥為了提高人機(jī)的交互能力,顯示部分采用了GXM12864SL大屏幕LCD,這樣屏幕上可顯示自編的漢字、數(shù)字、等式及簡(jiǎn)單的圖案;
?、叽蛴/O端口,可根據(jù)要求進(jìn)行相應(yīng)的連接配置即可;
?、嗄M開(kāi)關(guān)選用多片CD4051,它們與單片機(jī)配合,用于選擇多路液位模擬量中的1路液位的模擬量,然后進(jìn)行A/D轉(zhuǎn)換。
由于選用了3個(gè)單片機(jī),有效地解決了I/O端口不夠用的問(wèn)題,也使得在設(shè)計(jì)上簡(jiǎn)化了許多,只要按照常規(guī)的連接芯片方式即可,省去了很多的過(guò)渡芯片,如74LS244、74LS245、74LS73等,也使得軟件設(shè)計(jì)變得簡(jiǎn)單容易。因硬件連接變得簡(jiǎn)單而且均為常規(guī)連接,所以本文沒(méi)有提供詳細(xì)的線路連接圖。3個(gè)單片機(jī)之間的數(shù)據(jù)交換采用了串行口通信方式,如圖1所示。本設(shè)計(jì)中,3個(gè)單片機(jī)采用同時(shí)復(fù)位,當(dāng)然也可采用分開(kāi)復(fù)位方式,但按鍵要增加,此種情況視要求而定。
評(píng)論