侯憲君
(天津工程職業(yè)技術(shù)學(xué)院,天津 300280)
基于單片機(jī)溫度監(jiān)測(cè)報(bào)警裝置的設(shè)計(jì)實(shí)現(xiàn)
侯憲君
(天津工程職業(yè)技術(shù)學(xué)院,天津 300280)
溫度是工業(yè)生產(chǎn)的重要參數(shù),也是人們?nèi)粘I钪械姆浅jP(guān)注的問題。本文主要介紹基于AT89C51的溫度監(jiān)測(cè)及報(bào)警系統(tǒng)。此系統(tǒng)利用單片機(jī)芯片燒錄程序,利用LCD顯示器顯示溫度,以便實(shí)時(shí)監(jiān)視溫度,當(dāng)超過(guò)設(shè)定的溫度上限時(shí)會(huì)通過(guò)蜂鳴器發(fā)出報(bào)警信號(hào)。
單片機(jī);AT89C51;傳感器;蜂鳴器;LCD顯示器
伴隨著溫度檢測(cè)的理論和技術(shù)的不斷發(fā)展,溫度傳感器的種類也越來(lái)多樣化,在計(jì)算機(jī)系統(tǒng)中使用傳感器,是能夠?qū)⒎请娏哭D(zhuǎn)化成電量的傳感器,目前在生活和工業(yè)生產(chǎn)中常用的有熱電傳感器、熱電阻傳感器以及半導(dǎo)體集成傳感器等,每種傳感器都有其自身特性,都有它自己的應(yīng)用領(lǐng)域。隨著單片機(jī)技術(shù)的迅速興起與發(fā)展,它的穩(wěn)定性、安全性、高效性、經(jīng)濟(jì)性等優(yōu)點(diǎn)都十分突出,所以它的應(yīng)用也十分廣泛。
溫度監(jiān)測(cè)報(bào)警裝置是把程序燒錄到單片機(jī)芯片中,用才C語(yǔ)言設(shè)計(jì)的程序來(lái)設(shè)計(jì)并實(shí)現(xiàn)的。根據(jù)C51單片機(jī)的外圍接口特點(diǎn)擴(kuò)展成相應(yīng)的硬件電路,以單片機(jī)的指令設(shè)計(jì)出溫度監(jiān)測(cè)相應(yīng)的軟件,再利用軟件來(lái)執(zhí)行一定的程序?qū)崿F(xiàn)溫度監(jiān)測(cè)以及報(bào)警的功能。
本設(shè)計(jì)是利用AT89C51單片機(jī)為主控芯片,由LCD液晶顯示屏、晶振、電阻、電容、開關(guān)等元件組成硬件電路,通過(guò)編寫軟件程序來(lái)實(shí)現(xiàn)和控制的溫度監(jiān)測(cè)報(bào)警裝置。在本裝置中具有更為先進(jìn)的LCD液晶顯示屏。
1.主控芯片AT89C51設(shè)計(jì)
本裝置的主控芯片采用了目前較為流行的AT89C51芯片,AT89C51芯片主要由微處理器,存儲(chǔ)器,I/O接口電路以及一些特殊功能的寄存器等部分組成。AT89C51的存儲(chǔ)器在設(shè)計(jì)上分為程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器兩個(gè)獨(dú)立存儲(chǔ)器,兩個(gè)獨(dú)立的存儲(chǔ)空間,內(nèi)部的程序存儲(chǔ)器容量為4KB,內(nèi)部的數(shù)據(jù)存儲(chǔ)器為128個(gè)字節(jié)。AT89C51單片機(jī)的接口由四部分組成,都為8位的并行口,分別是P1口,P2口,P3口,P4口。并且單片機(jī)的每個(gè)接口都由輸入驅(qū)動(dòng)器,輸出驅(qū)動(dòng)器,接口鎖存器,輸入緩沖器,輸出緩沖器。四個(gè)接口當(dāng)中,只有P1口的功能比較單一,它只用做數(shù)據(jù)的輸入輸出接口。
在此單片機(jī)芯片中,它的接口共為32位,但是此單片機(jī)芯片的管腳共有40個(gè),除了作為接口的管腳之外,剩下8個(gè)也都有各自的功能。例如:RST管腳是負(fù)責(zé)復(fù)位輸入的管腳,與復(fù)位電路相連接,如果作為振蕩器復(fù)位器件時(shí),一定要保持RST管腳的兩個(gè)機(jī)器周期高電平。XTAL1管腳負(fù)責(zé)反向震蕩放大器的輸入,也負(fù)責(zé)內(nèi)部時(shí)鐘工作電路的輸入。XTAL2管腳負(fù)責(zé)反向震蕩放大器的輸出。上兩個(gè)管腳與單片機(jī)的晶振電路相連接。在此芯片中,管腳標(biāo)志為VCC的表示該管腳接電源正極,管腳標(biāo)志為GND的表示該管腳接電源負(fù)極。
2.顯示裝置LCD1602
為了獲得更好的效果本設(shè)計(jì)并沒有采用常見的LED,而是采用了型號(hào)為L(zhǎng)CD1602的液晶顯示屏。LCD有LED數(shù)碼顯示更好的更的直觀效果,也更加經(jīng)久耐用。液晶顯示模塊體積小功耗低、顯示內(nèi)容豐富,現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件之一了。本LCD是2行16列液晶 可顯示2行16列英文字符,有8位數(shù)據(jù)總線D0-D7,RS,R/W,EN三個(gè)控制端口(共16線),工作電壓為5V。
LCD1602的管腳說(shuō)明如下:VCC:此為接電源正極;通常情況下采用5V電壓。VL此為L(zhǎng)CD的背光對(duì)比度調(diào)節(jié)。通常情況下會(huì)連接一個(gè)滑動(dòng)變阻器,通過(guò)調(diào)節(jié)滑動(dòng)變阻器的大小來(lái)調(diào)節(jié)LCD的背光。RS: MCU寫入數(shù)據(jù)或者指令選擇端。MCU要寫入指令時(shí),使RS為低電平;MCU要寫入數(shù)據(jù)時(shí),使RS為高電平。R/W:讀寫控制端。R/W為高電平時(shí)讀取數(shù)據(jù);R/W為低電平時(shí)寫入數(shù)據(jù)。E:LCD模塊使能信號(hào)控制端。寫數(shù)據(jù)時(shí),需要下降沿觸發(fā)模塊。D0-D7:8位數(shù)據(jù)總線,三態(tài)雙向。如果MCU的I/O口資源緊張的話,該模塊也可以只使用4位數(shù)據(jù)線D4-D7接口傳送數(shù)據(jù)。
采用C語(yǔ)言對(duì)單片機(jī)進(jìn)行編程,控制外圍器件,首先根據(jù)1602和18B20的芯片手冊(cè)初始化相應(yīng)寄存器,然后利用單片機(jī)內(nèi)部定時(shí)器隔一定時(shí)間段讀取一下溫度,比較實(shí)時(shí)溫度值與設(shè)定溫度值,若超過(guò)設(shè)定溫度上限值,則驅(qū)動(dòng)蜂鳴器報(bào)警,同時(shí)LED燈閃爍,當(dāng)溫度下降到小于設(shè)定閥值之后,停止蜂鳴器報(bào)警和LED閃爍。
1.系統(tǒng)初始化
系統(tǒng)開啟電源時(shí),必須對(duì)AT89C51芯片和周圍的各個(gè)模塊對(duì)其初始化。首先應(yīng)該從系統(tǒng)的主芯片入手,對(duì)AT89C51芯片進(jìn)行初始化。根據(jù)系統(tǒng)原理,89系列的單片機(jī)接通電源時(shí)要啟動(dòng)復(fù)位,讓主芯片和其他部件都能從初始化狀態(tài)開始工作。這些都是硬件系統(tǒng)必須的初始化,同時(shí)也必須對(duì)軟件進(jìn)行一些初始化。
2.LCD1602程序設(shè)計(jì)
在編寫代碼時(shí)要根據(jù)LCD1602的時(shí)序圖,按照單片機(jī)C語(yǔ)言的編寫語(yǔ)法,就可以進(jìn)行對(duì)LCD1602程序的編寫。為1602寫時(shí)序圖對(duì)1602進(jìn)行寫操作驅(qū)動(dòng)變成,1602寫操作分為寫指令和寫數(shù)據(jù),用RS信號(hào)進(jìn)行控制,RS=0時(shí),是寫指令操作;RS=1時(shí),是寫數(shù)據(jù)操作。在系統(tǒng)啟動(dòng)并且需要LCD1602進(jìn)行顯示的時(shí)候,需要對(duì)LCD1602進(jìn)行相應(yīng)的初始化, LCD1602初始化程序如下圖void init1602()所示。
圖1 程序設(shè)計(jì)代碼
在進(jìn)行了LCD1602的初始化之后,就可以對(duì)LCD1602進(jìn)行數(shù)據(jù)傳輸,繼而進(jìn)行顯示。首先要進(jìn)行的是寫指令。在進(jìn)行寫指令之前,需要把LCD1602的數(shù)據(jù)傳輸口打開和關(guān)閉,需要把LCD1602的使能端打開和關(guān)閉。按照它的時(shí)序圖編寫,代碼如圖void write_con()所示。
3.DS18B20程序設(shè)計(jì)
DS18B20在設(shè)計(jì)上把溫度監(jiān)測(cè)和數(shù)字?jǐn)?shù)據(jù)的輸出集成到了一塊芯片上,這樣芯片的抗干擾性能就變得非常強(qiáng)。DS18B20在每一次進(jìn)行溫度的讀取之前都會(huì)進(jìn)行非常嚴(yán)密精確的處理,但它的硬件又比較簡(jiǎn)單,所以就需要控制器對(duì)其進(jìn)行嚴(yán)格的控制,DS18B20也以控制器對(duì)其嚴(yán)格的控制為標(biāo)準(zhǔn),才進(jìn)行正常的數(shù)據(jù)輸入,數(shù)據(jù)輸出。
DS18B20在進(jìn)行工作的時(shí)候,首先對(duì)DS18B20進(jìn)行復(fù)位,其實(shí)叫做復(fù)位,但實(shí)際上就是由控制器給DS18B20一個(gè)低電平信號(hào)。在其接到低電平信號(hào)后會(huì)返回給控制器一個(gè)存在脈沖。此時(shí),DS18B20與控制器達(dá)成了一個(gè)基本的協(xié)議,可以進(jìn)行通信。然后雙方就可以進(jìn)行通信,首先控制器會(huì)發(fā)送一個(gè)ROM指令。ROM指令共有五條,在每一個(gè)機(jī)器周期會(huì)發(fā)送一條ROM指令。ROM指令的長(zhǎng)度為8位。接下來(lái),控制器會(huì)發(fā)送存儲(chǔ)器操作指令,存儲(chǔ)器操作指令為六條,每條依然為8位,同樣是一個(gè)機(jī)器周期發(fā)送一條。實(shí)現(xiàn)代碼如圖void init18b20()所示。
本系統(tǒng)設(shè)計(jì)是基于單片機(jī)的芯片進(jìn)行燒錄程序,介紹了對(duì)溫度的顯示、控制及報(bào)警,實(shí)現(xiàn)了溫度的實(shí)時(shí)顯示及控制??刂撇糠?,提出了用DS18S20、89C51單片機(jī)及LED的硬件電路完成對(duì)水溫的實(shí)時(shí)檢測(cè)及顯示,利用DS18S20與單片機(jī)連接由軟件與硬件電路配合來(lái)實(shí)現(xiàn)對(duì)加熱電阻絲的實(shí)時(shí)控制及超出設(shè)定的上限溫度的報(bào)警系統(tǒng)。
[1]汪文,陳林.單片機(jī)原理及應(yīng)用[M].湖北:華中科技大學(xué)出版社,2007.
[2]宋禮國(guó).溫度報(bào)警器的硬件設(shè)計(jì)[J]. 中國(guó)科技博覽,2009,(01).
[3]馬慶勇,吳中明.基于單片機(jī)的電子溫度計(jì)控制電路[J].電子科技,2009,(03).
[4]邢小杰.單片機(jī)溫度報(bào)警器設(shè)計(jì)[J].中國(guó)科技博覽,2009,(04).
[5]康華光.電子技術(shù)基礎(chǔ)數(shù)字部分[M].北京:高等教育出版社,2008.
The Design and Implementation of the Device Using the Temperature of the Single-Chip Microcomputer(SCM) to Monitor and Alarm
HOU Xian-jun
(TianjinEngineeringVocationalandTechnicalCollege,Tianjin, 300280)
Temperature is an important parameter of industrial production and also of great concern in people’s daily life. This paper mainly talked about the monitoring and alarm system based on the temperature of AT89C51. This system used the chip record program of the single- chip microcomputer(SCM) and the temperature on the LCD display so as to monitor the temperature in time, when it exceeds the set limit the alarm signal will be sent through the buzzer.
single-chip microcomputer(SCM); AT89C51; sensor; buzzer; LCD display
2014-07-04
侯憲君(1977-),男,天津市人,天津工程職業(yè)技術(shù)學(xué)院,講師,學(xué)士,軟件技術(shù)專業(yè)教師。
TP399
A
1673-582X(2015)02-0044-03