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