監(jiān)控電路
X5043/45監(jiān)控電路集上電復(fù)位、看門狗定時器、電源電壓監(jiān)控、分塊保護的EEPROM于一體,是解決單片機系統(tǒng)中抗干擾和數(shù)據(jù)長期可*保存等問題的首選器件,特別適合在單片機測控系統(tǒng)中應(yīng)用。
渦街流量計X5043/45的功能框圖如圖1所示,其主要性能包括:
上電復(fù)位功能:在電源電壓低于檢測門限時,RESET引腳輸出有效復(fù)位信號,當電源電壓上升高于檢測門限時,復(fù)位信號延時200ms后變?yōu)闊o效。
電壓監(jiān)控功能:當電源電壓低于檢測門限時,使上電復(fù)位電路產(chǎn)生復(fù)位信號,復(fù)位信號至Vcc=1v有效。
復(fù)位門限電壓:門限電壓在出廠時設(shè)定為一標準值,對Vcc=5V±10%的芯片,門限為4.25V—4.5V。該值也可由用戶自行設(shè)定,可編程范圍為1.7V—5.0V。
看門狗定時器:可編程為1.4s、600ms、200ms或禁止。在非禁止狀態(tài),若在定時周期內(nèi)CS端沒有出現(xiàn)由高至低電平變化,RESET端將輸出200ms的有效復(fù)位信號,防止程序跑飛或進入死循環(huán)。
可分段保護的CMOS串行EEPROM:512字節(jié),每個字節(jié)可擦寫10萬次以上,內(nèi)部數(shù)據(jù)可保存100年以上。
X5043/45內(nèi)有一個8位指令寄存器,對該芯片的所有操作都需要通過對指令寄存器寫命令來完成;一個狀態(tài)寄存器,確定EEPROM的塊保護地址范圍及看門狗定時器的超時周期。
控制器電路設(shè)計
控制器電路原理圖如圖2所示??刂破饔蓡纹瑱C89C51、X5045監(jiān)控電路、數(shù)字溫度傳感器DS1820、鍵盤、輸出繼電器、報警單元、顯示電路組成。
X5045的WP(寫保護輸入)接Vcc,RESET端接89C51的RESET,CS(片選)、SO(串行輸出)、SI(串行輸入)、SCK(串行時鐘輸入)與89C51的P2口相連。由89C51控制其工作狀態(tài)和數(shù)據(jù)傳輸。利用X5045的EEPROM記憶功能保存設(shè)定的參數(shù);X5045的上電復(fù)位功能、電壓監(jiān)控功能,消除電源通斷瞬時及電源電壓波動時造成的系統(tǒng)死機、數(shù)據(jù)誤寫及誤動作等故障;X5045的看門狗能消除現(xiàn)場應(yīng)用中干擾造成的死機。
采用DS1820數(shù)字溫度傳感器檢測冷庫溫度,與89C51串行通信,電路結(jié)構(gòu)簡單,不用校正傳感器,其溫度測定范圍為-55℃-125℃。鍵盤S1-S6可設(shè)定或修改冷庫的各項控制參數(shù):包括除霜周期、除霜時間、溫度上限、溫度下限。按S3-S6鍵,顯示5秒對應(yīng)的設(shè)定參數(shù)。在參數(shù)設(shè)定狀態(tài),可通過S3-S6及+鍵S1、-鍵S2,進行參數(shù)修改,修改后的參數(shù)存入X5045的EEPROM存儲器。開關(guān)S7為狀態(tài)選擇,S7合向強制除霜,強制進入除霜狀態(tài),并停止制冷機工作;當開關(guān)合向參數(shù)設(shè)定,進入?yún)?shù)設(shè)定狀態(tài);S7在中間位置時,冷庫正常運行。制冷除霜控制分別經(jīng)繼電器輸出,控制壓縮機制冷和加熱器除霜。報警單元由軟件控制,提供報警功能。89C51的串行輸出經(jīng)驅(qū)動電路74LS164(圖中未畫出)控制3位數(shù)碼顯示,正常工作時顯示冷庫溫度;參數(shù)設(shè)定時,顯示所設(shè)定的參數(shù)。三只發(fā)光管分別指示控制器的三種工作狀態(tài):制冷、除霜、設(shè)定。
軟件設(shè)計
控制器上電先運行初始化程序,單片機從X5045的EEPROM中讀入設(shè)定的各項控制參數(shù)。檢測并顯示冷庫溫度。延時5分鐘,以避免因短時斷電造成的制冷機啟動困難。此后進行控制鍵S7檢測,鍵盤檢測,除霜周期檢測,冷庫溫度調(diào)節(jié),循環(huán)執(zhí)行以上過程。
控制鍵S7檢測:如果S7在強制除霜狀態(tài),停止制冷機工作,接通加熱器強制除霜,除霜指示燈亮,檢測并顯示冷庫溫度;如果S7在參數(shù)設(shè)定狀態(tài),運行參數(shù)設(shè)定程序,設(shè)定指示燈亮;S7在中間位置時,控制器進入自動控制方式。
鍵盤檢測:分別按除霜周期、除霜時間、溫度上限、溫度下限等四個鍵時,顯示對應(yīng)的設(shè)定參數(shù)5秒鐘。
除霜周期檢測:若除霜周期到,停止制冷機工作,根據(jù)除霜時間接通加熱器除霜,除霜指示燈亮,檢測并顯示冷庫溫度。
冷庫溫度調(diào)節(jié):根據(jù)設(shè)定的溫度上限、溫度下限控制制冷機啟停,將冷庫的溫度控制在設(shè)定的范圍內(nèi)。若溫度超過溫度上限1度,或溫度低于溫度下限1度,則啟動報警器。
參數(shù)設(shè)定時,維持運行狀態(tài)不變;通過S3-S6及+、-鍵,進行參數(shù)修改,修改后的參數(shù)存入X5045的EEPROM存儲器。
X5045除記憶設(shè)定的各項控制參數(shù)外,還肩負著上電復(fù)位、電壓監(jiān)控、看門狗功能,在系統(tǒng)中起著重要作用。下面簡介對X5045的編程。
對X5045編程應(yīng)注意以下幾點:(1)所有指令、地址、數(shù)據(jù)傳送均是高位在先。(2)寫存貯器一次多16個字節(jié),且在一頁內(nèi)。(3)一條寫指令傳送完畢,CS變?yōu)楦唠娖胶髴?yīng)延時10ms以上,以保證X5043/45完成內(nèi)部寫操作。(4) SCK上升沿鎖存輸入,SCK下降沿使數(shù)據(jù)輸出有效。
(5)WRDI指令、上電、存貯器寫、狀態(tài)字寫之后,會自動禁止以后的寫操作(包括狀態(tài)字),在寫狀態(tài)寄存器或存貯器之前應(yīng)先發(fā)送WREN命令