基于AT89C51單片機(jī)、LCD顯示、3點(diǎn)DS18B20溫度控制器設(shè)計(jì)學(xué)士學(xué)位論文_第1頁
基于AT89C51單片機(jī)、LCD顯示、3點(diǎn)DS18B20溫度控制器設(shè)計(jì)學(xué)士學(xué)位論文_第2頁
基于AT89C51單片機(jī)、LCD顯示、3點(diǎn)DS18B20溫度控制器設(shè)計(jì)學(xué)士學(xué)位論文_第3頁
基于AT89C51單片機(jī)、LCD顯示、3點(diǎn)DS18B20溫度控制器設(shè)計(jì)學(xué)士學(xué)位論文_第4頁
基于AT89C51單片機(jī)、LCD顯示、3點(diǎn)DS18B20溫度控制器設(shè)計(jì)學(xué)士學(xué)位論文_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 密級: 公開 科學(xué)技術(shù)學(xué)院nanchang university college ofscience and technology 學(xué) 士 學(xué) 位 論 文 thesis of bachelor(20092013年)題 目 基于at89c51設(shè)計(jì)溫度控制器 學(xué) 科 部: 信息學(xué)科部 專 業(yè): 通信工程 班 級: 通信091班 學(xué) 號(hào): 7023809013 學(xué)生姓名: 指導(dǎo)教師: 起訖日期:2012年11月26日2013年5月26日南昌大學(xué) 科學(xué)技術(shù)學(xué)院學(xué)士學(xué)位論文原創(chuàng)性申明本人鄭重申明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包

2、含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究作出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式表明。本人完全意識(shí)到本申明的法律后果由本人承擔(dān)。作者簽名: 日期:學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)南昌大學(xué)可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。本學(xué)位論文屬于保 密 ,在 年解密后適用本授權(quán)書。不保密 。(請?jiān)谝陨舷鄳?yīng)方框內(nèi)打“” )作者簽名: 日期:導(dǎo)師簽名: 日期:目錄 摘要iabst

3、ractii第一章 緒論11.1 選題的依據(jù)及意義11.2 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢11.3 本課題研究內(nèi)容1第二章 主要硬件介紹22.1 單片機(jī)at89c5122.2 ds18b20溫度傳感器32.3 液晶顯示器lcd16024第三章 構(gòu)架設(shè)計(jì)63.1 硬件構(gòu)架63.2各模塊仿真圖73.3 程序構(gòu)架9第四章 軟件仿真104.1 穩(wěn)壓直流電源仿真原理圖104.2 溫度控制系統(tǒng)模塊仿真圖11第五章 硬件制作和結(jié)論125.1 實(shí)物結(jié)果圖片125.2 硬件的測試與檢修145.3 總結(jié)描述14參考文獻(xiàn)(references)15致 謝16附錄17基于at89c51設(shè)計(jì)溫度控制器專業(yè):09級通信工程 學(xué)

4、號(hào):7023809013 姓名:朱宇 指導(dǎo)老師:張福陽摘要:隨著現(xiàn)代化科技的進(jìn)步,在很多工業(yè)控制場合需要非常精確的控制溫度的變化。這就需要高精度的溫度控制器來實(shí)現(xiàn)此目的。本次設(shè)計(jì)的作品是基于單片機(jī)at89c51、溫度采集器ds18b20、液晶顯示器lcd1602為一體的多點(diǎn)溫度控制器,包含整流穩(wěn)壓電源功能、鍵盤設(shè)置溫度上下限功能、控制報(bào)警功能等。以實(shí)現(xiàn)設(shè)計(jì)出測量準(zhǔn)確、快速顯示、精度高、可調(diào)溫控范圍等優(yōu)點(diǎn)的溫度控制系統(tǒng)。關(guān)鍵詞:溫度控制器,at89c51,ds18b20,lcd1602 design a temperature controller base on at89c51abstract

5、: with the modernization of science and technology progress, in many industrial control occasions requiring very precise control of temperature change. this requires high precision temperature controller to achieve this goal. the design of the works is based on at89c51, temperature acquisition ds18b

6、20, lcd1602 as one of the multi point temperature controller, and with the rectification and regulated power supply function, keyboard set upper and lower temperature function, control and alarm functions. in order to achieve accurate measurement, fast display, high precision, adjustable temperature

7、 range and other advantages of the temperature control system.keywords: temperature control, at89c51, ds18b20, lcd1602第一章 緒論1.1 選題的依據(jù)及意義隨著現(xiàn)代化科技的進(jìn)步,在很多工業(yè)控制場合需要非常精確的控制溫度的變化,例如:發(fā)酵罐的溫度控制,孵卵器的溫度控制等,都需要對上限、下限溫度進(jìn)行嚴(yán)密控制。而在日常生活中,溫度的控制應(yīng)用也非常廣泛,例如:熱得快,電飯鍋,冰箱,電腦等家用電器都應(yīng)用到溫度的控制器。因而在各種環(huán)境下,溫度溫控制系統(tǒng)越來越凸顯其重要性。1.2 國內(nèi)外研究現(xiàn)

8、狀及發(fā)展趨勢在現(xiàn)今的國內(nèi)外溫度控制器的研究中主要有兩種控制目標(biāo),即動(dòng)態(tài)溫度跟蹤與恒值溫度控制。動(dòng)態(tài)溫度跟蹤實(shí)現(xiàn)的控制目標(biāo)是使被控對象的溫度值按預(yù)先設(shè)定好的曲線進(jìn)行變化。恒值溫度控制的目的是使被控對象的溫度恒定在某一數(shù)值上,且要求其波動(dòng)幅度(即穩(wěn)態(tài)誤差)不能超過某一給定值。我國對于溫度測控技術(shù)的研究較晚,始于20世紀(jì)80年代。我國工程技術(shù)人員在吸收發(fā)達(dá)國家溫度測控技術(shù)的基礎(chǔ)上,才掌握了溫度室內(nèi)微機(jī)控制技術(shù),該技術(shù)僅限于對溫度的單項(xiàng)環(huán)境因子的控制。我國溫度測控設(shè)施計(jì)算機(jī)應(yīng)用,在總體上正從消化吸收、簡單應(yīng)用階段向?qū)嵱没⒕C合性應(yīng)用階段過渡和發(fā)展。在技術(shù)上,以單片機(jī)控制的單參數(shù)單回路系統(tǒng)居多,尚無真正

9、意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達(dá)國家相比,存在較大差距。國外對溫度控制技術(shù)研究較早,始于20世紀(jì)70年代。先是采用模擬式的組合儀表,采集現(xiàn)場信息并進(jìn)行指示、記錄和控制。80年代末出現(xiàn)了分布式控制系統(tǒng)。目前正開發(fā)和研制計(jì)算機(jī)數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)?,F(xiàn)在世界各國的溫度測控技術(shù)發(fā)展很快,一些國家在實(shí)現(xiàn)自動(dòng)化的基礎(chǔ)上正向著完全自動(dòng)化、無人化的方向發(fā)展。未來的溫度控制器的研究將向著智能化和高性能化發(fā)展。智能可定義為:能有效的獲取、傳遞、處理、再生和利用信息,從而在任意給定的環(huán)境下成功的達(dá)到目的的能力。人工智能是應(yīng)用除了數(shù)學(xué)式子以外的方法把人們的思維過程模型化,并利用計(jì)算機(jī)來模仿人的智能的

10、學(xué)科。它的應(yīng)用范圍遠(yuǎn)比控制理論廣泛,如包括判斷、理解、推理、預(yù)測、識(shí)別、規(guī)劃、決策、學(xué)習(xí)和問題求解等,是高度腦力行為和體力行為的綜合。而高性能則體現(xiàn)在固件本身的工藝上,在極高溫、極低溫、強(qiáng)酸堿等各種極端的環(huán)境中仍然能正常工作。1.3 本課題研究內(nèi)容 用單片機(jī)at89c51、開發(fā)工具keil c51及c語言設(shè)計(jì)一個(gè)溫度控制器。用proteus進(jìn)行模擬仿真,要求檢測、顯示三個(gè)地點(diǎn)的溫度,硬件作品能夠通過按鍵設(shè)置上、下限溫度。在檢測到溫度高于上限,或者低于下限溫度后,自動(dòng)控制繼電器或開關(guān)電路,并用聲光等形式報(bào)警。同時(shí)要求作品中包含直流穩(wěn)壓電源功能。第二章 主要硬件介紹2.1 單片機(jī)at89c51 1

11、、特征概述:at89c51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)flash 閃速存儲(chǔ)器,128字節(jié)內(nèi)部ram,32 個(gè)i/o 口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),at89c51可降至0hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止cpu的工作,允許ram,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。2、管腳功能:vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p0口的管腳第

12、一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須接上拉電阻。 p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為低八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉

13、電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如:p3.0 rxd(串行輸入口),

14、p3.1 txd(串行輸出口),p3.2 /int0(外部中斷0),p3.3 /int1(外部中斷1),p3.4 t0(記時(shí)器0外部輸入),p3.5 t1(記時(shí)器1外部輸入),p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫選通),p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通),p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。當(dāng)復(fù)位時(shí),應(yīng)保持2個(gè)機(jī)器周期有效。ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于

15、定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí)

16、,此間內(nèi)部程序存儲(chǔ)器。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。2.2 ds18b20溫度傳感器 圖2.1 引腳示意圖 圖2.2 實(shí)物圖 1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電 。 2、獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通訊。 3、ds18b20支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫 。 4、ds18b20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) 。 5

17、、溫范圍55+125,在-10+85時(shí)精度為±0.5。 6、可編程 的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫。 7、在9位分辨率時(shí)最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 。 8、測量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一 線總線"串行傳送給cpu,同時(shí)可傳送crc校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。 表2.1 ds18b20溫度測量分辨率表r1r0分辨率/b測量精度溫度最大轉(zhuǎn)換時(shí)間/ms0090.593.7501100.25187.510110.1

18、2537511120.06257502.3 液晶顯示器lcd1602 圖2.3 lcd1602實(shí)物圖 1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5x7或者5x11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義cgram,顯示效果也不好)。1602lcd是指顯示的內(nèi)容為16x2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。 圖2.4 lcd1602引腳圖管腳功能介紹,lcd1602采用標(biāo)準(zhǔn)的16腳接口

19、,其中: 第1腳:vss為電源地。 第2腳:vcc接5v電源正極。 第3腳:v0為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高(對比度過高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10k的電位器調(diào)整對比度)。 第4腳:rs為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。 第5腳:rw為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。 第6腳:e(或en)端為使能(enable)端。 第714腳:d0d7為8位雙向數(shù)據(jù)端。 第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。 表2.2 lcd1602的內(nèi)部顯示地址 

20、0;   1 234567891011121314151680h81h82h83h84h85h86h87h88h89h8ah8bh8ch8dh8eh8fhc0hc1hc2hc3hc4hc5hc6hc7hc8hc9hcahcbhcchcdhcehcfh 第三章 構(gòu)架設(shè)計(jì)3.1 硬件構(gòu)架1、主機(jī):由于系統(tǒng)控制方案簡單,數(shù)據(jù)量也不大,因此選用at89c51作為控制系統(tǒng)的核心。2、溫度檢測:本系統(tǒng)溫度檢測部分是采用dallas半導(dǎo)體公司生產(chǎn)的數(shù)字化溫度傳感器dsl8b20。3、電源電路:由直流穩(wěn)壓電源提供+9v電源,在本次設(shè)計(jì)中, 將220v的市電降壓到12v,經(jīng)橋式整流和濾波后再

21、使用7809芯片獲得較為穩(wěn)定的+9v電源。4、顯示器:使用lcd1602液晶顯示器,2*16字符顯示。動(dòng)態(tài)顯示a、b、c三點(diǎn)的溫度值。5、報(bào)警器:報(bào)警功能由蜂鳴器,led燈來實(shí)現(xiàn),當(dāng)實(shí)時(shí)溫度超出預(yù)置溫度范圍時(shí)??刂贫丝隍?qū)動(dòng)蜂鳴器鳴叫、led閃爍燈報(bào)警,并控制繼電器的動(dòng)作。6、鍵盤:鍵盤有四個(gè)功能鍵,設(shè)置鍵,上加鍵,下減鍵,確定鍵。用于設(shè)置上、下限溫度。 綜上所述:設(shè)計(jì)出溫度控制系統(tǒng)構(gòu)架如圖3.1所示。 圖3.1 溫控系統(tǒng)構(gòu)架圖3.2各模塊仿真圖 在proteus軟件的仿真實(shí)驗(yàn)中,溫控系統(tǒng)構(gòu)架中各個(gè)模塊如下圖所示:圖3.2是溫度顯示模塊,在顯示屏中動(dòng)態(tài)的顯示a、b、c三點(diǎn)的溫度值。圖3.3是ds

22、28b20溫度測試模塊,單片機(jī)通過循環(huán)讀取這三個(gè)ds18b20的數(shù)據(jù),實(shí)時(shí)更新顯示屏的數(shù)據(jù)顯示。圖3.4是報(bào)警功能模塊,它的功能是通過聲、關(guān)形式做出報(bào)警,綠燈模擬繼電器工作,實(shí)現(xiàn)對電路的控制。圖3.5是按鍵模塊,進(jìn)入設(shè)置功能和調(diào)節(jié)上、下按鍵后,顯示屏?xí)?yīng)顯示設(shè)定的報(bào)警溫度值。圖3.6是晶振和復(fù)位電路,這個(gè)模塊主要是使單片機(jī)能夠正常工作。 圖3.2溫度顯示模塊 圖3.3 ds18b20溫度傳感器模塊 圖3.4 報(bào)警模塊 圖3.5 按鍵控制模塊 圖3.6 復(fù)位及晶振模塊3.3 程序構(gòu)架在本設(shè)計(jì)中,程序構(gòu)架設(shè)計(jì)如圖3.7和圖3.8所示。在設(shè)計(jì)過程中通過3個(gè)i/o口循環(huán)讀取ds18b20的數(shù)據(jù),以達(dá)

23、到實(shí)時(shí)動(dòng)態(tài)顯示a、b、c三點(diǎn)的溫度。設(shè)置功能是通過檢測外部中斷0產(chǎn)生中斷,可隨時(shí)設(shè)置溫度的上、下限值,并通過確認(rèn)鍵來退出中斷。 圖3.7 主程序構(gòu)架框圖 圖3.8 中斷程序構(gòu)架第四章 軟件仿真4.1 穩(wěn)壓直流電源仿真原理圖在本設(shè)計(jì)中,獨(dú)立電源的原理圖如圖4.1所示。變壓器的指標(biāo)為:220v轉(zhuǎn)12v,功率是25w。整流電路是于4個(gè)1n914二極管組成。c1的指標(biāo)為:1000uf/25v,主要是為平穩(wěn)化直流電壓而設(shè)制的。c2的作用是濾除高頻雜波。穩(wěn)壓芯片采用的是78l09,經(jīng)過78l09穩(wěn)壓后,在vo口輸出穩(wěn)定的+9v電壓供溫控模塊使用。d6為指示燈,d6點(diǎn)亮則說明電源已經(jīng)工作。 圖4.1 穩(wěn)壓電

24、源原理圖4.2 溫度控制系統(tǒng)模塊仿真圖 在完成整個(gè)溫控系統(tǒng)的仿真任務(wù)中,首先要熟悉proteus軟件和keil軟件的基本使用方法。在proteus軟件中按照預(yù)先設(shè)計(jì)好的硬件構(gòu)架搭建電路,由于這軟件的元器件名都是英文標(biāo)注的,我們可事先在網(wǎng)上查找到相關(guān)的元器件英文對照表,這樣,搭建電路圖才會(huì)事半功倍。元器件的選擇要適合電路的需要,因而參數(shù)指標(biāo)也要事先計(jì)算好。keil是一款單片機(jī)程序編輯軟件,能將c語言和匯編語言進(jìn)行編譯、連接,生成單片機(jī)運(yùn)行文件。而在proteus和keil結(jié)合仿真中,proteus軟件主要是運(yùn)行keil中生成的.hex文件。特別要注意的是在keil軟件中生成.hex文件必須在設(shè)置

25、中選擇12.0mhz晶振和執(zhí)行生成.hex文件這兩個(gè)選項(xiàng)。生成好的.hex文件可通過雙擊proteus中單片機(jī)后把.hex文件根目錄加載到單片機(jī)中即可運(yùn)行。在本次設(shè)計(jì)中,可調(diào)節(jié)任意一個(gè)ds18b20的讀數(shù)和觀察lcd1602顯示的讀數(shù)來驗(yàn)證程序的正確與否。按鍵功能是通過中斷方式來設(shè)置的,其優(yōu)點(diǎn)是隨時(shí)可以設(shè)置報(bào)警溫度的上、下限值,退出中斷后又立即可以進(jìn)行溫度的測、顯和報(bào)警功能。 c點(diǎn)b點(diǎn)a點(diǎn) 圖4.2 溫控模塊仿真圖第五章 硬件制作和結(jié)論5.1 實(shí)物結(jié)果圖片 圖5.1實(shí)物圖是指針式萬用表測量穩(wěn)壓直流電源,萬用表檔位調(diào)到直流10v檔,測出讀數(shù)為9v。指示燈點(diǎn)亮。說明直流穩(wěn)壓電源工作正常,并達(dá)到設(shè)計(jì)

26、要求的標(biāo)準(zhǔn)。讀數(shù)為:9v 圖5.1 穩(wěn)壓電源 圖 5.2所示為溫控系統(tǒng)的實(shí)物圖片,溫控系統(tǒng)的所有子電路模塊都焊接在同一塊電路板上。lcd1602插槽ds18b20繼電器at89c51蜂鳴器 圖5.2 溫控系統(tǒng)實(shí)物圖圖5.3所示為電路板的焊接實(shí)物圖,布線要盡量使實(shí)物外觀完美,也要減少跳線的使用量。在本次設(shè)計(jì)中,由于事先畫好布線草圖,所以在跳線的使用上只用了2根。 圖5.3 電路板焊接及走線圖圖5.4是在通電后,液晶顯示器正確顯示a、b、c三點(diǎn)的溫度值。此時(shí),測得常溫a點(diǎn)的值為26.9,b點(diǎn)值為26.7,c點(diǎn)的值為26.9。 圖5.4 正確顯示溫度值5.2 硬件的測試與檢修1、硬件調(diào)試:第一步:對

27、單片機(jī)燒錄可執(zhí)行文件,這一步要先學(xué)會(huì)燒錄軟件和燒錄器的使用。第二步:檢查焊接是否有虛焊、短路、斷路,無誤后上電測工作電壓是否正常。電壓正常則可斷電插入單片機(jī)和顯示屏。 第三步:上電,檢測各個(gè)功能是否達(dá)到設(shè)計(jì)要求。2、硬件檢修:硬件檢修是針對調(diào)試中出現(xiàn)的問題進(jìn)行查找、修理、改進(jìn)。下面是幾種常見的故障和修理的辦法:(1)穩(wěn)壓電源沒有電壓輸出,指示燈不亮。一般是穩(wěn)壓芯片7809的引腳接錯(cuò)了,分清引腳功能,正確接入即可。(2)lcd1602顯示器不亮,可查看插槽和排針的順序是否一致,且查看是否有接觸不良,也可以調(diào)節(jié)控制背光電源的變阻器。(3)單片機(jī)不能讀取ds18b20,或者不能不能正確讀取ds18b

28、20的讀數(shù),可先查看ds18b20的引腳是否接錯(cuò),引腳焊接無誤的話可查看程序和仿真是否正確。5.3 總結(jié)描述基于單片機(jī)at89c51設(shè)計(jì)的數(shù)字式多點(diǎn)溫度控制系統(tǒng)具有溫度采集、顯示、簡單的設(shè)置及控制報(bào)警功能。給它提供穩(wěn)定的工作電壓是保證其工作正常的重要前提,因此,設(shè)計(jì)中包含了穩(wěn)壓直流電源的設(shè)計(jì)要求。穩(wěn)壓直流電源制作是通過降壓、整流、濾波、穩(wěn)壓實(shí)現(xiàn)的。在實(shí)際作品中穩(wěn)壓電源工作穩(wěn)定,完全符合設(shè)計(jì)要求。設(shè)計(jì)的溫度控制器測溫范圍寬為-55+125,作品中使用到的ds18b20測量精度可通過編程調(diào)節(jié),精度范圍為0.250.0625。在本設(shè)計(jì)中采用的是默認(rèn)分辨率,即12位二進(jìn)制表示一個(gè)數(shù)值,精度是0.062

29、5。溫度顯示器使用lcd1602,它能顯示16*2個(gè)字符,所以它可以實(shí)時(shí)的顯示單片機(jī)從ds18b20中采集的溫度數(shù)值,把三點(diǎn)的溫度同時(shí)顯示在同一塊液晶顯示器中。本設(shè)計(jì)中還添加了按鍵設(shè)置功能,通過按鍵的設(shè)置功能可以對報(bào)警溫度進(jìn)行設(shè)置,如果a、b、c三點(diǎn)的溫度有任意一個(gè)溫度低于或者高于設(shè)置好的范圍就會(huì)觸發(fā)報(bào)警功能和繼電器控制功能,在程序中,報(bào)警功能和控制功能是通過將讀取的溫度值與設(shè)定好的p、q兩個(gè)參數(shù)的值進(jìn)行比較后經(jīng)過單片機(jī)的判斷而做出的響應(yīng)。總結(jié)整個(gè)設(shè)計(jì)過程,從選題到硬件的完成,我的收獲頗豐。首先,我在確定題目后查找和閱讀了很多相關(guān)的理論知識(shí),尤其是對ds18b20這個(gè)器件做了很多的了解,也重新

30、溫習(xí)了一遍單片機(jī)應(yīng)用知識(shí)和c語言的應(yīng)用知識(shí)。其次,剛開始我對于proteus的使用不了解,然后我通過觀看、模仿網(wǎng)絡(luò)上的proteus的教學(xué)視頻,初步掌握了這個(gè)軟件的基本使用方法和技巧。在結(jié)合keil編程軟件的仿真中,進(jìn)一步加強(qiáng)了對硬件的了解。最后,完成硬件作品也是很關(guān)鍵的步驟,再多的理論知識(shí)也只有通過其產(chǎn)生的實(shí)物應(yīng)用才能體現(xiàn)它的價(jià)值。因而制作出完美的實(shí)物作品是必不可少的。經(jīng)過自己的努力和細(xì)心,通過焊接、調(diào)試、檢修我制作出了硬件作品,驗(yàn)證了自己在本次設(shè)計(jì)中學(xué)習(xí)到的知識(shí)和設(shè)計(jì)的正確性。 參考文獻(xiàn)(references)1郭天祥.新概念51單片機(jī)c語言教程.北京:電子工業(yè)出版社,2009.2李建忠.

31、單片機(jī)原理與應(yīng)用.西安:西安電子科技大學(xué)出版社,2009.3房小翠,王金鳳. 單片微型計(jì)算機(jī)與機(jī)電接口技術(shù).北京:國防工業(yè)出版社,20024李珍. 單片機(jī)原理與控制技術(shù). 北京:清華大學(xué)出版社,20025閻實(shí). 數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,1983.6譚浩強(qiáng). c語言程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005.7陳杰,黃鴻.傳感器監(jiān)測與技術(shù).北京:高等教育出版社,2002.8張紅潤,張亞凡,鄧洪.傳感器原理與應(yīng)用.北京:清華大學(xué)出版社,2008. 9童師白,華成英.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,1980.10朱清慧,張鳳蕊.proteus教程.北京:清華大學(xué)出版社

32、,2008.致 謝經(jīng)過將近六個(gè)月,終于將畢業(yè)設(shè)計(jì)完成了,在設(shè)計(jì)過程中遇到了無數(shù)的困惑,都在同學(xué)和老師的幫助下找到了解決辦法,尤其要強(qiáng)烈感謝我的畢業(yè)設(shè)計(jì)指導(dǎo)老師張福陽老師,他對我進(jìn)行了無私的指導(dǎo)和幫助,不厭其煩的對我的設(shè)計(jì)提出建議和幫助我進(jìn)行論文的修改。另外在校工程訓(xùn)練實(shí)驗(yàn)室仿真和制作硬件的時(shí)候,實(shí)驗(yàn)室管理老師也給我提供很多器件資料和硬件制作方面的幫助,在此向這位實(shí)驗(yàn)室管理老師表示最衷心的感謝,同時(shí)也感謝這次畢業(yè)設(shè)計(jì)所涉及到的參考文獻(xiàn)的各位學(xué)者和作者,本設(shè)計(jì)參考了數(shù)位學(xué)者的研究文獻(xiàn),如果沒有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成本次設(shè)計(jì)和論文的寫作。更要感謝我的幾個(gè)室友,在我程序設(shè)計(jì)中給予

33、我很多建議和幫助,在生活壞境上給我營造了一個(gè)良好的學(xué)習(xí)、設(shè)計(jì)的氛圍。 由于我的學(xué)術(shù)水平和設(shè)計(jì)水平有限,因而在作品和論文上有很多不足之處,懇請各位老師和同學(xué)批評和指正,四年的大學(xué)生活在這個(gè)季節(jié)即將劃上一個(gè)句號(hào),而于我的人生卻只是一個(gè)逗號(hào),我將面對又一次征程的開始,四年來的求學(xué)生涯,在師長、親友的大力支持下,走得辛苦卻也收獲頗豐,在畢業(yè)設(shè)計(jì)和論文即將付梓之際,思緒萬千,心情久久不能平靜,可是我更急切地要把我的敬意和贊美獻(xiàn)給每一位教過我的老師,尤其是指導(dǎo)老師,雖然我不是您最出色的學(xué)生,但我保證我今后肯定是您最為之驕傲的學(xué)生。在跟您相處的日子中,您嚴(yán)謹(jǐn)?shù)闹螌W(xué),淵博的學(xué)識(shí),深邃的思想,雄闊的視野,為我營

34、造了一種良好的精神氛圍,授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會(huì)了基本的思考方式從論文題目的選定到論文寫作的指導(dǎo),經(jīng)由您悉心的點(diǎn)撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有山重水復(fù)疑無路,柳暗花明又一村。在此,再次真誠地向每位教過我的老師致謝,感謝你們。祝愿敬愛的老師們在今后工作和生活中一帆風(fēng)順,心想事成。 2013年5月24日 附錄:基于單片機(jī)at89c51溫度控制器程序如下:#include<reg52.h>#include<intrins.h>typedef unsigned char uint8;typed

35、ef unsigned int uint16;typedef char int8;typedef int int16;sbit rs=p20;sbit rw=p21;sbit en=p22;sbit busy=p07;sbit dq=p27; /溫度輸入口sbit eq=p26;sbit fq=p25;sbit set=p32;/設(shè)置sbit add=p11;/加減sbit sub=p12;/減鍵sbit ok=p13;/確定鍵sbit led=p17;sbit beep=p16;uint8 flag;int p=30,q=0,k=0;int data set4;uint8 num_temp=

36、"0123456789"#define nops(); _nop_(); _nop_(); _nop_(); _nop_(); /定義空指令 4usvoid delay(uint16 n) while (n-);void delay_ms(uint16 m) uint8 n=120; while(m-) while(n-);/* * dq:18b20復(fù)位函數(shù)*/void ds1802_reset() uint8 flag=1; while(flag) while(flag) dq=1; delay(1); dq=0; delay(50); /550us dq=1; dela

37、y(6); /66us flag=dq; delay(45);/延時(shí)500us flag=dq;/500us后總線釋放,dq=1; dq=1; /* * eq:18b20復(fù)位函數(shù)*/void eqds1802_reset() uint8 flag=1; while(flag) while(flag) eq=1; delay(1); eq=0; delay(50); /550us eq=1; delay(6); /66us flag=eq; delay(45);/延時(shí)500us flag=eq;/500us后總線釋放,dq=1; eq=1; /* * fq:18b20復(fù)位函數(shù)*/void fqd

38、s1802_reset() uint8 flag=1; while(flag) while(flag) fq=1; delay(1); fq=0; delay(50); /550us fq=1; delay(6); /66us flag=fq; delay(45);/延時(shí)500us flag=fq;/500us后總線釋放,dq=1; fq=1; /* * 18b20寫1個(gè)字節(jié)函數(shù) * 向1-wire總線上寫一個(gè)字節(jié)*/void write_byte(uint8 dat) uint8 i; for(i=0;i<8;i+) dq=1; _nop_(); dq=0; nops(); dq=da

39、t&0x01;/最低位移出 delay(6); /66us dat>>=1; /右移一位 dq=1; delay(1); /*eq: 向1-wire總線上寫一個(gè)字節(jié)*/void eqwrite_byte(uint8 dat) uint8 i; for(i=0;i<8;i+) eq=1; _nop_(); eq=0; nops(); eq=dat&0x01;/最低位移出 delay(6); /66us dat>>=1; /右移一位 eq=1; delay(1); /*fq: 向1-wire總線上寫一個(gè)字節(jié)*/void fqwrite_byte(uin

40、t8 dat) uint8 i; for(i=0;i<8;i+) fq=1; _nop_(); fq=0; nops(); fq=dat&0x01;/最低位移出 delay(6); /66us dat>>=1; /右移一位 fq=1; delay(1);/* * 18b20讀1個(gè)字節(jié)函數(shù) * 從1-wire總線上讀取一個(gè)字節(jié)*/uint8 read_byte() uint8 i,byte=0; for(i=0;i<8;i+) byte>>=1; dq=1; _nop_(); dq=0; nops(); dq=1; nops(); if(dq=1) b

41、yte|=0x80; delay(6); dq=1; return byte; /*eq*/uint8 eqread_byte() uint8 i,byte=0; for(i=0;i<8;i+) byte>>=1; eq=1; _nop_(); eq=0; nops(); eq=1; nops(); if(eq=1) byte|=0x80; delay(6); eq=1; return byte; /*fq*/uint8 fqread_byte() uint8 i,byte=0; for(i=0;i<8;i+) byte>>=1; fq=1; _nop_()

42、; fq=0; nops(); fq=1; nops(); if(fq=1) byte|=0x80; delay(6); fq=1; return byte; /* * 啟動(dòng)溫度轉(zhuǎn)換*/void start_temp_sensor() ds1802_reset(); write_byte(0xcc); / 發(fā)skip rom命令 write_byte(0x44); / 發(fā)轉(zhuǎn)換命令 /*eq啟動(dòng)溫度轉(zhuǎn)換*/void eqstart_temp_sensor() eqds1802_reset(); eqwrite_byte(0xcc); / 發(fā)skip rom命令 eqwrite_byte(0x44

43、); / 發(fā)轉(zhuǎn)換命令 /*fq啟動(dòng)溫度轉(zhuǎn)換*/void fqstart_temp_sensor() fqds1802_reset(); fqwrite_byte(0xcc); / 發(fā)skip rom命令 fqwrite_byte(0x44); / 發(fā)轉(zhuǎn)換命令 /* * 讀出溫度*/int16 read_temp() uint8 temp_data2; / 讀出溫度暫放 uint16 temp; ds1802_reset(); / 復(fù)位 write_byte(0xcc); / 發(fā)skip rom命令 write_byte(0xbe); / 發(fā)讀命令 temp_data0=read_byte();

44、 /溫度低8位 temp_data1=read_byte(); /溫度高8位 temp=temp_data1; temp<<=8; temp|=temp_data0; /temp>>=4; /右移四位,相當(dāng)于除以16(1/16=0.0625) return temp;/*eq讀出溫度*/int16 eqread_temp() uint8 eqtemp_data2; / 讀出溫度暫放 uint16 eqtemp; eqds1802_reset(); / 復(fù)位 eqwrite_byte(0xcc); / 發(fā)skip rom命令 eqwrite_byte(0xbe); / 發(fā)

45、讀命令 eqtemp_data0=eqread_byte(); /溫度低8位 eqtemp_data1=eqread_byte(); /溫度高8位 eqtemp=eqtemp_data1; eqtemp<<=8; eqtemp|=eqtemp_data0; /temp>>=4; /右移四位,相當(dāng)于除以16(1/16=0.0625) return eqtemp;/*fq讀出溫度*/int16 fqread_temp() uint8 fqtemp_data2; / 讀出溫度暫放 uint16 fqtemp; fqds1802_reset(); / 復(fù)位 fqwrite_by

46、te(0xcc); / 發(fā)skip rom命令 fqwrite_byte(0xbe); / 發(fā)讀命令 fqtemp_data0=fqread_byte(); /溫度低8位 fqtemp_data1=fqread_byte(); /溫度高8位 fqtemp=fqtemp_data1; fqtemp<<=8; fqtemp|=fqtemp_data0; /temp>>=4; /右移四位,相當(dāng)于除以16(1/16=0.0625) return fqtemp;/* * 讀忙狀態(tài)*/void wait() p0=0xff; do en=0; rs=0; rw=1; en=1; w

47、hile(busy=1); en=0;/* * 寫指令*/void write_cmd(uint8 cmd) wait(); en=0; p0=cmd; rs=0; rw=0; en=1; en=0;/* * 寫數(shù)據(jù)*/void write_dat(uint8 dat) wait(); en=0; p0=dat; rs=1; rw=0; en=1; en=0;/* * 寫地址和數(shù)據(jù)*/void write_lcd1602(uint8 addr,uint8 dat) write_cmd(addr); write_dat(dat);/* * 初始化*/void lcd1602_init() wri

48、te_cmd(0x38); delay_ms(5); write_cmd(0x38); delay_ms(5); write_cmd(0x38); delay_ms(5); write_cmd(0x0c); write_cmd(0x06); write_cmd(0x01); write_lcd1602(0x80,'a');/標(biāo)識(shí)符固定顯示。 write_lcd1602(0x81,':'); write_lcd1602(0x88,'b'); write_lcd1602(0x89,':'); write_lcd1602(0xc0,'c'); write_lcd1602(0xc1,':');/*上、下限溫度顯示函數(shù)*/void show_ptemp(void)uint16 pt;if(p<0)pt=p+1;write_lcd1602(0x82,'-'); elsept=p;write_l

溫馨提示

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

評論

0/150

提交評論