基于單片機的豆?jié){機定時系統(tǒng)的設(shè)計
摘要:介紹了以AT89S52為控制核心實現(xiàn)豆?jié){機定時的一種方法。詳細(xì)論述了系統(tǒng)的硬件組成、各功能部分的電路設(shè)計和系統(tǒng)的軟件設(shè)計。給出了關(guān)鍵功能部分的電路圖、單片機的程序設(shè)計流程。系統(tǒng)在實際應(yīng)用中,工作穩(wěn)定可靠。
關(guān)鍵詞:單片機;豆?jié){機;溫度傳感器;實時時鐘
0 引言
本系統(tǒng)是設(shè)計一個由定時開關(guān)控制的豆?jié){機。由于目前市面上一些定時的豆?jié){機幾乎都是定時30min或15min而不能任意進(jìn)行定時設(shè)置。本設(shè)計可通過按鍵預(yù)置時間,通過計數(shù)器倒計時的方式進(jìn)行計數(shù)。當(dāng)達(dá)到預(yù)置時間時,通過單片機控制豆?jié){機自動開啟,從而不用早起,能節(jié)約時間,節(jié)省資源,當(dāng)豆?jié){煮熟以后自動保溫或者斷電。
1 系統(tǒng)組成
系統(tǒng)由單片機、鍵盤輸入電路、液晶電路、缺水檢測電路、溢出檢測電路、82廢檢測電路、報警指示電路等組成。硬件結(jié)構(gòu)框圖如圖1所示。
1.1 單片機系統(tǒng)
系統(tǒng)采用AT89S52作為控制核心,配備鍵盤和液晶顯示電路。
AT89S52是Atmel公司新推出的一種低功耗、高性能CMOS 8位徽控制器,它具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。其性能完全可以滿足系統(tǒng)的要求。
鍵盤用于設(shè)定豆?jié){機啟動時間和調(diào)整系統(tǒng)時間。
液晶顯示采用OCM12864,它內(nèi)帶漢字字庫,可以方便地顯示漢字及圖形;可以同時顯示4×8個單元,可以一次顯示系統(tǒng)所有狀態(tài)信息;顯示的內(nèi)容不需要刷新,節(jié)省了單片機的資源;電路結(jié)構(gòu)簡單,便于控制,功耗低。
1.2 溫度傳感器
系統(tǒng)采用集成溫度傳感器DS18B20作為測量溫度的部件。傳感器與單片機的連接電路如圖2所示。
DS18B20是美國Dallas半導(dǎo)體公司的單總線數(shù)字化溫度傳感器。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi),體積小、使用靈活方便。主要特性;適應(yīng)電壓范圍寬,在寄生電源方式下可由數(shù)據(jù)線供電;支持多點組網(wǎng)功能;溫范圍-55~+125℃;分辨率高達(dá)12位;最大轉(zhuǎn)換時間750ms;測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。圖2中,4.7k電阻作為上拉電阻,提高數(shù)據(jù)線的電流。
1.3 時鐘芯片
系統(tǒng)采用專用時鐘芯片DS1302,它和單片機的連接電路如圖3所示。DS1302是一個慢速充電時鐘芯片,包括實時時鐘/日歷和31字節(jié)的靜態(tài)RAM。它經(jīng)過一個簡單的串行接口與微處理器通信。實時時鐘/日歷提供秒、分、時、日、周、月和年等信息。對于小于31天的月,月末的日期自動進(jìn)行調(diào)整,還包括了閏年校正的功能。
1.4 缺水檢測電路
缺水檢測電路主要用來檢測是否缺水,防止干燒,如果檢測到缺水則可以自動加水。其電路如圖4所示。不缺水時P1.6輸入為低電平,缺水時為高電平。水位惰況檢測反饋路徑為:加熱管外殼(接線路板地)→水→電極→R22→P1.6,當(dāng)容器內(nèi)無水或水量低于水位線,即水浸不到電極時,P1.6為高電平,然后自動加水;當(dāng)容器內(nèi)水量達(dá)到水位線時(即水量浸到電極時),P1,6為低電平,P1.5輸出高電平,將控制加熱的相應(yīng)繼電器吸合,加熱管正常加熱。
1. 5 溢出檢測電路
溢出檢測電路主要是用來防止?jié){沫溢出。其電路如圖5所示。豆?jié){溢出情況檢測反饋路徑為:加熱管外殼(接線路板地)→豆?jié){及漿沫→防溢電極→R23→P1.7,當(dāng)豆?jié){沸騰泡沫向上溢時,防溢檢測電極接觸到泡沫漿液,使P1.7由高電平變?yōu)榈碗娖?,P1.5輸出低電平,將控制加熱的相應(yīng)繼電器不吸合,加熱管停止加熱。當(dāng)泡沫下落后,P1.7變?yōu)楦唠娖?,P1.5輸出高電平,控制加熱的相應(yīng)繼電器吸合,加熱管正常加熱,不斷反復(fù)進(jìn)行防溢延煮。
1.6 82度檢測電路
82度檢測電路是通過一個比較器電路來實現(xiàn)的。其電路如圖6所示。比較器由雙運放LM358和電阻、電容、穩(wěn)壓管組成,LM358采用12V供電,當(dāng)LM358的負(fù)輸入端電壓高于正輸入端電壓時,輸出為低電平,穩(wěn)壓管D1截止,P2.1輸入為低電平;當(dāng)LM358的負(fù)輸入端電壓低于正輸入端電壓時,輸出為10~11V的電壓,此時穩(wěn)壓管D1導(dǎo)通,P2.1輸入為高電平(4.3V)。
負(fù)端輸入電壓隨熱敏電阻R20阻值的變化而變化。負(fù)溫度系數(shù)(NTC)熱敏電阻R20是采用單一高純度材料、具有接近理論密度結(jié)構(gòu)的高性能陶瓷,它最基本的性質(zhì)就是電阻值隨溫度上升而下降。電阻變化與溫度變化的具體關(guān)系如式(1)所示:
R1=R0*exp[R*(1/T1-1/T0)] (1)
其中,R0和R1為電阻值,T0和T1為絕對溫度,B值是一個表征NTC的電阻值與絕對溫度的關(guān)系的常數(shù)。熱敏電阻的B值并非是恒定的,其大小因材料構(gòu)成而異,最大甚至可達(dá)5K/℃,因此在較大的溫度范圍內(nèi)應(yīng)用式1時,將會與實測值之間存在一定誤差,本系統(tǒng)中使用的NTC熱敏電阻的參數(shù)為:25℃時的阻值為22K,B值為4300,代入式(1)可以求得R1為2.2K時的溫度為82℃。當(dāng)溫度小于82℃時,熱敏電阻的阻值大于2.2K,此時負(fù)端輸入電壓低于正端輸入電壓,輸出為高電平,當(dāng)溫度高于82℃時,熱敏電阻的阻值小于Z2K,此時負(fù)端輸入電壓高于正端輸入電壓,輸出為低電平,停止加熱,開始打漿。
3 軟件設(shè)計
對于51系列單片機,目前常用的語言有匯編和單片機C語言。本系統(tǒng)單片機軟件采用Keil C51程序編寫。主要由主程序、讀取溫度子程序、讀取時間子程序、鍵盤掃描和液晶顯示子程序、報警子程序等部分組成。讀取溫度子程序功能:完成對DS18B20的復(fù)位及溫度的讀取。D S18B20是單總線芯片,對時序要求嚴(yán)格,用Keil C51編寫程序時,采用“while(--i);”語句實現(xiàn)短時間的精確延時。鍵盤掃描和液晶顯示子程序完成定時的設(shè)定及各種信息的顯示;讀取時間子程序完成DS1302的初始化和當(dāng)前時間的讀取。流程圖如圖7所示。
4 結(jié)束語
本系統(tǒng)對豆?jié){機定時做了改進(jìn),充分發(fā)揮了AT89S52單片機強大的控制能力,采用了低成本的實時時鐘芯片DS1302,可以靈活設(shè)置豆?jié){機的工作時間,實現(xiàn)了豆?jié){機的預(yù)約定時及全自動制作豆?jié){。系統(tǒng)操作方便、成本低,在實際應(yīng)用中收到了滿意的效果。