基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)摘要:這次綜合設(shè)計(jì),主要是設(shè)計(jì)一個(gè)溫度控制系統(tǒng),用STC89C52單片機(jī)控制,用智能溫度傳感器DS18B20對(duì)溫度進(jìn)行采集,用LCD1602液晶顯示屏將采集到的溫度顯示出來。系統(tǒng)可以有效的將溫度控制在設(shè)定的范圍內(nèi)。如果實(shí)際溫度超出了控制范圍,則系統(tǒng)會(huì)有自動(dòng)的提示信號(hào),并且相應(yīng)的繼電器會(huì)動(dòng)作。我們的實(shí)際生活離不開對(duì)溫度的控制,在很多情況下我們都要對(duì)我們所處的環(huán)境進(jìn)行溫度檢測(cè),然后通過一定的措施進(jìn)行調(diào)節(jié),從而達(dá)到我們自己想要的溫度,使我們的生活環(huán)境更加適宜。關(guān)鍵字:?jiǎn)纹瑱C(jī);液晶顯示屏;溫度傳感器;繼電器;提示信號(hào)Abstract:This integrated desi

2、gn is the design of a temperature control system. A smart temperature sensor DS18B20 is used to collect temperature and a LCD1602 Liquid Screen is used to display the collected temperature. The system controlled by STC89C52 can effectively control the temperature within the setting limits. If the ac

3、tual temperature exceeds the setting range, the system will automatically give signal, and the corresponding Relay will take related actions. It is necessary for us to control the temperature because in many situations the temperature around us is not proper for us.So we need to detect it and take s

4、ome actions to adjust it to the temperature we want to make the environment around us better.Key Words:DS18B20;LCD1602;STC89C52;Relay;Signal引言目前,測(cè)控系統(tǒng)在工業(yè)生產(chǎn)中起著把關(guān)者和指導(dǎo)者的作用,它從生產(chǎn)現(xiàn)場(chǎng)到各種參數(shù)的獲取,運(yùn)用科學(xué)規(guī)律和系統(tǒng)工程的做法,綜合有效地利用各種先進(jìn)技術(shù),通過自動(dòng)手段和裝備,使每個(gè)生產(chǎn)環(huán)節(jié)得到優(yōu)化,進(jìn)而保證生產(chǎn)規(guī)范化,提高產(chǎn)品質(zhì)量,降低成本,滿足需要,保證安全生產(chǎn)。傳統(tǒng)的測(cè)控系統(tǒng)主要由“測(cè)控電路”組成,所具備的功能較少,也比較弱

5、。隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,使得傳統(tǒng)的系統(tǒng)發(fā)生了根本性的變化,即采用微型計(jì)算機(jī)作為測(cè)控系統(tǒng)的主題和核心,代替?zhèn)鹘y(tǒng)測(cè)控系統(tǒng)的常規(guī)電子線路,從而成為新一代的微機(jī)化測(cè)控系統(tǒng)。目前,單片機(jī)在工業(yè)控制系統(tǒng)諸多領(lǐng)域得到了極為廣泛的應(yīng)用。特別是其中的C51系列的單片機(jī)的出現(xiàn),具有更好的穩(wěn)定性,更快和更準(zhǔn)確的運(yùn)算精度,推動(dòng)了工業(yè)生產(chǎn),影響著人們的工作和學(xué)習(xí)。在現(xiàn)代社會(huì)中,溫度控制不僅應(yīng)用在工廠生產(chǎn)方面,其作用也體現(xiàn)到了各個(gè)方面,隨著人們生活質(zhì)量的提高,酒店廠房及家庭生活中都會(huì)見到溫度控制的影子,溫度控制將更好的服務(wù)于社會(huì).而今,空調(diào)等家用電器隨著生產(chǎn)技術(shù)的發(fā)展和生活水平的提高越來越普及,一個(gè)簡(jiǎn)單,穩(wěn)定的溫度控

6、制系統(tǒng)能更好的適應(yīng)市場(chǎng)。為了滿足當(dāng)前社會(huì)市場(chǎng)需求,我設(shè)計(jì)了此溫度控制系統(tǒng),以STC89C52為核心,以及液晶顯示器,電磁繼電器,電阻,按鍵等元件作為輔助,以電路分析作為理論指導(dǎo)和理論基礎(chǔ),設(shè)計(jì)出此系統(tǒng),將被控對(duì)象的溫度控制在一定的范圍內(nèi),通過液晶顯示器直觀的顯示出來,并且通過發(fā)光二極管,蜂鳴器等不同的信號(hào)告訴我們現(xiàn)在的溫度在什么范圍內(nèi),以便于我們做出相應(yīng)的處理措施。1設(shè)計(jì)方案及原理1.1系統(tǒng)總體的設(shè)計(jì)方案首先由智能傳感器(DS18B20)采集到溫度,通過單片機(jī)的P3.7口將采集到的數(shù)據(jù)信息輸送到單片機(jī)中,經(jīng)過微處理器對(duì)其進(jìn)行運(yùn)算,并且和設(shè)定的值進(jìn)行比較,然后根據(jù)比較的結(jié)果,即根據(jù)溫度信號(hào)所在的

7、范圍,微處理器執(zhí)行相對(duì)應(yīng)的操作。由于我們所處的環(huán)境對(duì)溫度的這個(gè)系統(tǒng)還具有溫度范圍調(diào)節(jié)功能。例如:若檢測(cè)到的溫度在最高溫度和最低溫度之間,則黃燈亮,若檢測(cè)到的溫度比最低溫度低,則綠燈閃爍,蜂鳴器發(fā)出聲音,繼電器閉合開始加熱,若檢測(cè)到的溫度高于最高溫度,則紅燈閃爍,并且蜂鳴器發(fā)出警報(bào)。1.2系統(tǒng)組成框圖本系統(tǒng)組成主要有以下部分:溫度采集部分、數(shù)據(jù)運(yùn)算處理部分、溫度顯示部分以及相應(yīng)的提示信號(hào)部分。溫度采集DS18B20STC89C52溫度顯示與設(shè)定值進(jìn)行運(yùn)算 比較根據(jù)比較結(jié)果CPU執(zhí)行相應(yīng)指令圖1 總體結(jié)構(gòu)圖1.3系統(tǒng)原理組成和系統(tǒng)結(jié)構(gòu)這個(gè)智能溫度控制系統(tǒng)由溫度采集模塊、溫度顯示模塊、溫度比較模塊、

8、處理模塊等四大模塊組成。系統(tǒng)具體運(yùn)行過程如下:首先由智能溫度傳感器DS18B20從外界環(huán)境中采集到被測(cè)溫度信號(hào),將此信號(hào)發(fā)送到STC89C52單片機(jī),然后單片機(jī)執(zhí)行相應(yīng)的指令,使繼電器,發(fā)光二級(jí)管,蜂鳴器做出相應(yīng)的動(dòng)作。2硬件設(shè)計(jì)此系統(tǒng)的硬件電路包括以下部分,STC89C52單片機(jī)、LCD1602液晶顯示屏、DS18B20、蜂鳴器、發(fā)光二極管、電磁繼電器、加熱裝置、電阻、直流電壓源、貼片按鍵以及晶振、導(dǎo)線等部分組成。系統(tǒng)總體來說由四大部分構(gòu)成:溫度范圍設(shè)定,溫度采集,數(shù)據(jù)處理,溫度顯示,處理機(jī)構(gòu)等。最初溫度范圍設(shè)定在軟件中,但是可以通過按鍵對(duì)其進(jìn)行調(diào)整。溫度采集采用的是溫度智能傳感器(DS18

9、B20),這個(gè)智能傳感器和單片機(jī)接口只需要一個(gè)I/O口,硬件電路連接比較方便,并且具有極強(qiáng)的抗干擾糾錯(cuò)能力。數(shù)據(jù)處理采用的是STC89C52單片機(jī),當(dāng)溫度低于設(shè)定溫度時(shí),綠燈會(huì)閃爍,并且蜂鳴器發(fā)出響聲,繼電器會(huì)閉合,進(jìn)行加熱;當(dāng)溫度高于設(shè)定溫度時(shí),紅燈會(huì)閃爍,蜂鳴器發(fā)出警報(bào);當(dāng)溫度在設(shè)定范圍內(nèi)時(shí),黃燈亮。溫度顯示采用的是1602液晶顯示器。顯示器上會(huì)顯示出當(dāng)前溫度、最高溫度、最低溫度。圖2晶振電路:為單片機(jī)提供時(shí)鐘信號(hào)圖3復(fù)位電路圖4 繼電器電路原理:當(dāng)單片機(jī)P2.4引腳輸出低電平時(shí),三極管導(dǎo)通,則繼電器線圈中會(huì)有電流流過,電流會(huì)產(chǎn)生電磁場(chǎng),在電磁場(chǎng)的作用下,開關(guān)會(huì)被吸合。當(dāng)P2.4為高電平時(shí)

10、,三極管處于截止?fàn)顟B(tài),則線圈中沒有電流流過,因此開關(guān)因失去磁場(chǎng)的吸合力而斷開。繼電器電路中二極管的作用:由于當(dāng)P2.4由低電平突然變?yōu)楦唠娖綍r(shí),繼電器線圈中的電流會(huì)突然消失,根據(jù)電磁感應(yīng)原理以及楞次定理,線圈兩邊會(huì)產(chǎn)生一個(gè)瞬時(shí)的反向高壓,為了防止線圈產(chǎn)生的瞬時(shí)高電壓形成閉合回路,產(chǎn)生大電流,因此,在中間加一個(gè)反向二極管,起到抑制反向電流的作用。圖5溫度范圍指示燈依次為綠、紅、黃圖6蜂鳴器電路圖原理:當(dāng)P1.0為低電平時(shí),三極管導(dǎo)通,則蜂鳴器中有電流流過,因此蜂鳴器發(fā)聲。當(dāng)P1.0為高電平時(shí),三極管截止,蜂鳴器由于沒有電流通過,因此停止發(fā)聲。圖7溫度傳感器電路原理:DS18B20在出廠時(shí)默認(rèn)配置

11、為十二位,其中最高位是符號(hào)位,因此溫度值共11位,單片機(jī)在讀取數(shù)據(jù)時(shí),一次會(huì)讀2字節(jié)共十六位,讀完后將低11位的二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)再乘以0.0625便為所測(cè)的真實(shí)值。另外,還需要判斷溫度的正負(fù)。前五位數(shù)字是符號(hào)位,這五位同時(shí)變化,我們只需要判斷11位就可以了。前五位為1時(shí),讀取溫度為負(fù)值,則測(cè)量到的數(shù)值需要求出補(bǔ)碼(求反加一),再乘以0.0625才得到實(shí)際溫度值。前五位為0時(shí),讀取溫度為正值,只要將測(cè)得數(shù)值乘以0.0625即可得到實(shí)際溫度值。圖8顯示部分原理:此溫控系統(tǒng)的顯示采用的是LCD1602液晶顯示器,各個(gè)引腳的功能和作用如下:VSS連接電源地,VDD連接電源正極,VO是液晶顯示對(duì)比

12、度調(diào)節(jié)端,RS是數(shù)據(jù)/命令選擇端,RW是讀寫選擇端,E是使能信號(hào)端。D0D7是數(shù)據(jù)端。通過RS確定是寫數(shù)據(jù)還是寫命令。寫命令包括液晶光標(biāo)顯示不顯示、光標(biāo)閃爍不閃爍、需不需要移屏、在液晶的什么位置顯示,等等。寫數(shù)據(jù)是指要顯示什么內(nèi)容。讀/寫控制端設(shè)置為寫模式,即低電平。將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上。給E一個(gè)高脈沖將數(shù)據(jù)送入液晶顯示器,完成寫操作。 圖9 按鍵電路圖原理:由電路圖可知某個(gè)按鍵被按下的標(biāo)志是這個(gè)按鍵所對(duì)應(yīng)的引腳的電平由高電平變?yōu)榈碗娖?。因此,微處理器只需要檢測(cè)P1.2、P1.3以及P1.4的電平變化然后經(jīng)過去抖動(dòng)后,若對(duì)應(yīng)的引腳依然為低電平,則表示此鍵被按下。若電平由低變成高,則表示按鍵

13、彈起。3軟件設(shè)計(jì)4系統(tǒng)仿真及調(diào)試我的程序是在Keil C軟件中編寫的,經(jīng)過在軟件中不斷地調(diào)試,修改,最終終于編譯通過。編譯通過后,生成hex文件。然后打開Proteus 軟件,將生成的hex文件下載到單片機(jī)中,液晶顯示屏上就顯示出了如圖所示的效果。由于測(cè)到的溫度是四十五度,而設(shè)定的范圍是四十度到九十度,因此實(shí)際檢測(cè)到的溫度在設(shè)定溫度范圍之內(nèi),自己期望的效果是液晶屏上顯示最高溫度、最低溫度、測(cè)到的實(shí)際溫度,并且黃色的發(fā)光二極管發(fā)光。從仿真結(jié)果來看,實(shí)際效果達(dá)到了自己所期望的效果。圖10系統(tǒng)仿真結(jié)果總結(jié)本次單片機(jī)課程設(shè)計(jì)一共是兩周的時(shí)間,在這忙碌的兩周時(shí)間,我學(xué)到了很多東西?,F(xiàn)在依然記得很清楚當(dāng)時(shí)

14、剛剛拿到題目時(shí)的那種茫然,感覺題目有一定的難度,而自己卻無從下手,不知道從什么地方開始做起。在高老師的帶領(lǐng)和指導(dǎo)下,我那種消極的情緒漸漸的消失了,漸漸的明白了應(yīng)該去做哪些準(zhǔn)備工作,應(yīng)該去查閱哪方面的資料。就這樣我又重新找回了自己的自信心,開始通過網(wǎng)絡(luò)和書籍查找自己所需元件的特性和使用方法。查清楚所需要的元件資料大概花費(fèi)了四天的時(shí)間,我便開始設(shè)計(jì)自己的電路圖,搭建電路圖可不是一件容易的事,不過在同學(xué)和老師的幫助以及自己的努力下,大概花了一天的時(shí)間,我的電路設(shè)計(jì)圖就完成了。接下來的主要任務(wù)就是根據(jù)自己的電路編寫程序,如果說設(shè)計(jì)電路不容易,那么編寫程序我就只能用“非常難”這三個(gè)字來形容了。由于我們上

15、學(xué)期學(xué)的是匯編語言單片機(jī),而我自己之前自學(xué)過C語言單片機(jī),對(duì)于我自己來說,我感覺用C語言來編寫比較方便一些,于是,我便開始了自己的編程。編程需要耐心,因?yàn)槲覀兙帉懗鰜淼某绦螂y免會(huì)有錯(cuò)誤之處,在編譯時(shí)不能通過,因此需要不斷地去調(diào)試,直到編譯通過為止。經(jīng)過幾天反復(fù)的編寫,在軟件中編譯,調(diào)試,糾錯(cuò),最終編譯結(jié)果終于通過。接下來就是仿真了,需要在Proteus中將自己的硬件電路和軟件結(jié)合起來,看能不能達(dá)到自己預(yù)期的效果。第一次仿真時(shí),非常期待結(jié)果馬上就能出現(xiàn),并且能夠達(dá)到預(yù)期的效果。可是現(xiàn)實(shí)和期待值總是存在一定的差距。電路圖難免會(huì)出現(xiàn)連接失誤,連接不完全等等之類的問題,經(jīng)過我的努力修改,最終我的電路終

16、于達(dá)到了我預(yù)的期望值,當(dāng)我看到液晶顯示屏上的結(jié)果,發(fā)光二級(jí)管閃爍,以及繼電器,蜂鳴器按照我的要求動(dòng)作時(shí),我的心中有說不出的高興和愉悅。通過這次的課程設(shè)計(jì),我懂得了如何將自己學(xué)過的東西用于實(shí)踐,即理論和實(shí)踐相結(jié)合。增強(qiáng)了我和同學(xué)之間的互動(dòng)能力,使我能夠更好地和各個(gè)班的同學(xué)相互交流,相互學(xué)習(xí)共同進(jìn)步。在以后的學(xué)習(xí)中,我會(huì)更加努力,堅(jiān)持理論和實(shí)踐相結(jié)合的思想,去探索,去追求。參考文獻(xiàn)1王振紅.綜合電子技術(shù)與實(shí)踐M.北京:清華大學(xué)出版社,2005.2:28-33.2梅麗鳳.單片機(jī)原理及接口技術(shù)M.北京:清華大學(xué)出版社,2006.8:63-72.3徐愛華.單片機(jī)應(yīng)用技術(shù)教程M.機(jī)械工業(yè)出版社,2003.

17、7:128-156.4謝宜仁,謝東辰.單片機(jī)實(shí)用技術(shù)問答M.人民郵電出版社,2003.2:235-269.5何立民.單片機(jī)應(yīng)用技術(shù)選編M.北京:北京航空航天大學(xué)出版社,1997.10:20-35.6郭天祥.51單片機(jī)C語言教程M.電子工業(yè)出版社,2009.1:343-349.附錄源程序代碼:#include #include #include#define uchar unsigned char#define uint unsigned int sbit cgq=P37;/18B20接口sbit d1=P20;/高于上限時(shí),紅燈閃爍sbit d2=P21;/低于下限溫度時(shí),綠燈閃爍sbit d

18、3=P22;/黃燈 正常時(shí)發(fā)光sbit feng=P10;/不在正常范圍內(nèi)時(shí) 蜂鳴器響sbit sw=P24;/當(dāng)?shù)陀谙孪迺r(shí),繼電器吸合,升溫開始工作sbit rs=P26;/1602控制位選擇sbit rw=P25;sbit en=P27;bit flag;bit flag_f;char temph,templ;/ 上限溫度 下線溫度變量定義uchar code table1= CT: C;uchar code table2=H:+90.0 L:+40.0;char hf=+,hs=9,hg=0,hd=0,lf=+,ls=4,lg=0,ld=0;/溫度調(diào)整全局變量void delayus(u

19、int us)/延長(zhǎng)時(shí)間為11*us+3微秒while(-us)_nop_();void delayms(uint ms)/延時(shí)函數(shù)1秒 uint x,y;for(x=ms;x0;x-)for(y=0;y110;y+);/*LCD1602控制函數(shù)*/void lcd_write_com(uchar com)/寫指令delayms(5);/維持信號(hào)穩(wěn)定rs=0;rw=0;en=0; delayms(1);en=1;P0=com;en=0;void lcd_write_date(uchar date)/寫數(shù)據(jù)delayms(5);/維持信號(hào)穩(wěn)定rs=1;rw=0;en=0;delayms(1);e

20、n=1;P0=date;en=0;rs=0;void lcd_init()/液晶初始化uchar i;delayms(15);lcd_write_com(0x38);delayms(5);lcd_write_com(0x38);delayms(5);lcd_write_com(0x38);delayms(1);lcd_write_com(0x01);delayms(1);lcd_write_com(0x06);delayms(1);lcd_write_com(0x0f);delayms(1);lcd_write_com(0x80);delayms(1);for(i=0;i14;i+)lcd_w

21、rite_date(table1i);delayms(1);lcd_write_com(0x80+0x40);for(i=0;i17;i+)lcd_write_date(table2i);delayms(1);/*溫度控制函數(shù)*/void ds18b20_init()/18B20初始化 uchar x;cgq=1;delayus(8);cgq=0;delayus(50);cgq=1;delayus(20);x=cgq;delayus(5);void ds18b20_write_date(uchar date)/向DS18B20中寫入一個(gè)字節(jié)uchar i;for(i=0;i=1;delayus

22、(5);uchar ds18b20_read_date(void)/從18B20中讀出一個(gè)字節(jié)uchar i,date;TR0=0;for(i=0;i=1;cgq=1;if(cgq)date|=0x80;delayus(5);TR0=1;return date;void ds18b20_start()/啟動(dòng)溫度轉(zhuǎn)換ds18b20_init();ds18b20_write_date(0xcc);/跳過讀取序列號(hào)ds18b20_write_date(0x44);/啟動(dòng)溫度轉(zhuǎn)換delayus(200);uint ds18b20_temperature(void)/讀取溫度uchar a;uint b

23、,t;ds18b20_init();ds18b20_write_date(0xcc);/跳過讀取序列號(hào)ds18b20_write_date(0x44);/啟動(dòng)溫度轉(zhuǎn)換delayus(200);ds18b20_init();ds18b20_write_date(0xcc);ds18b20_write_date(0xbe);/讀取溫度寄存器,共九個(gè)節(jié)a=ds18b20_read_date();b=ds18b20_read_date();b=10)hs=0;lcd_write_date(hs+0x30);lcd_write_com(0x80+0x40+3);if(k=3)hg+;if(hg=10)h

24、g=0;lcd_write_date(hg+0x30);lcd_write_com(0x80+0x40+4);if(k=4)hd+;if(hd=10)hd=0;lcd_write_date(hd+0x30);lcd_write_com(0x80+0x40+6);if(k=5) if(lf=+)lf=-; else lf=+;lcd_write_date(lf);lcd_write_com(0x80+0x40+11);if(k=6)ls+;if(ls=10)ls=0;lcd_write_date(ls+0x30);lcd_write_com(0x80+0x40+12);if(k=7)lg+;if

25、(lg=10)lg=0;lcd_write_date(lg+0x30);lcd_write_com(0x80+0x40+13);if(k=8)ld+;if(ld=10)ld=0;lcd_write_date(ld+0x30);lcd_write_com(0x80+0x40+16);if(k3=0)delayms(10);if(k3=0)while(!k3);delayms(10);if(k=1)if(lf=+)lf=-; else lf=+;lcd_write_date(lf);lcd_write_com(0x80+0x40+2);if(k=2)hs-;if(hs0)hs=9;lcd_write_date(hs+0x30);lcd_write_com(0x80+0x40+3);if(k=3)hg-;if(hg0)hg=9;lcd_write_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論