采用單片機設(shè)計液位監(jiān)控儀是很通用的做法。如果要測量的液位有很多路(16路以上),每路要求能滾動顯示1年內(nèi)每班、每日、每月的輸入輸出總量(1日3班),正?;蛞馔馔k姅?shù)據(jù)不丟失,人機交互能力要強(要設(shè)置適當數(shù)量的按鍵及采用LCD顯示),并且每路液位要求對應(yīng)2路控制輸出信號(液罐液體輸入控制和輸出控制),配置微型打印機端口,設(shè)置聲音報警,所有這些無疑需要很多的I/O端口來支持,單憑一個單片機是辦不到的,需要擴展I/O端口。在此設(shè)計中,筆者認為采用專用I/O擴展芯片有較多的弊端,權(quán)衡利弊,選擇了用單片機來代替專用I/O接口芯片的方法。
1 專用 I/O芯片與單片機用作I/O芯片的對比
?、賹S肐/O接口芯片的I/O口數(shù)量不比單片機多(筆者采用單片機型號為89C52);
②專用I/O接口芯片使用不靈活,幾種使用方式已被芯片設(shè)計者設(shè)定,不能超出此范圍變化,而單片機則受限制較小,使用起來較靈活;
?、蹖S肐/O接口芯片獨立性差、智能性差,無論是接收輸入信號還是輸出控制信號,I/O專用芯片對信號的輸入輸出增色不能做出決定,必須要由單片機來做決定,僅起接力或過渡信號作用,沒有監(jiān)控能力,不能獨立處理問題,而單片機則不然,可采用多種方式靈活處理問題;
④使用I/O擴展專用芯片就必須要熟悉它,工程技術(shù)人員一般對單片機的熟悉程度要比對它強很多,相比之下,使用它要浪費時間,再一個I/O擴展專用芯片的價格均要比單片機高,從成本核算上考慮不經(jīng)濟;
?、輰S肐/O芯片實時性差,由于I/O擴展專用芯片僅起收發(fā)信號的作用,本身沒有加工處理信號的能力,這樣信號經(jīng)過它來回的傳遞勢必造成延遲,因而會出現(xiàn)實時性差的問題;
⑥使用單片機作I/O接口,便于軟硬件設(shè)計模塊化,分工清晰,給設(shè)計、調(diào)試、維護帶來極大方便;
?、呤褂脝纹瑱C作I/O接口加強了對接口的監(jiān)管力度,減輕了主單片機的負擔。
2 硬件結(jié)構(gòu)及分工
硬件設(shè)計共分如下幾部分:單片機;A/D轉(zhuǎn)換部分;控制信號輸出部分;非易失性存儲器(作RAM擴展);按鍵部分;顯示部分;打印I/O端口部分;模擬開關(guān)部分。
硬件設(shè)計中:
①單片機選用89C52,其特點是片內(nèi)含有8KB ROM,不需片外擴展ROM;
?、贏/D轉(zhuǎn)換器選用MC14433,其特點是轉(zhuǎn)換精度高,抗干擾能力強,每秒可轉(zhuǎn)換20次左右,因為液位變化不是很快,所以可滿足監(jiān)測液位變化的需要;
③控制信號輸出采用單片機控制74LS373鎖存器的方式,這樣可通過增減鎖存器個數(shù)的方式來增減控制輸出端口數(shù)量;
④因每路要求能滾動顯示1年內(nèi)每班、每日、每月的輸入輸出量總量(1日3班),正?;蛞馔馔k姅?shù)據(jù)不丟失,所以采用了AT29LV040A(512KB)的閃速存儲器(也可采用FRAM),因89C52最多可外擴展64KB的RAM,為了保證有足夠的存儲空間可將AT29LV040A的A16、A17和A18地址線與1#單片機的某個端口連接,這樣通過控制這3個地址線的變化就可達到使用AT29LV040A的512KB空間的目的。
評論