單片機(jī)溫度報(bào)警系統(tǒng)設(shè)計(jì)_第1頁
單片機(jī)溫度報(bào)警系統(tǒng)設(shè)計(jì)_第2頁
單片機(jī)溫度報(bào)警系統(tǒng)設(shè)計(jì)_第3頁
單片機(jī)溫度報(bào)警系統(tǒng)設(shè)計(jì)_第4頁
單片機(jī)溫度報(bào)警系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)基于單片機(jī)的溫度報(bào)警系統(tǒng)設(shè)計(jì) 學(xué)校: 專業(yè): 班級(jí); 姓名:

摘要近年來隨著計(jì)算機(jī)與控制技術(shù)的蓬勃發(fā)展與廣泛應(yīng)用,人們從中受益良多,生活中也隨處可見電子產(chǎn)品,自動(dòng)化,智能化成為發(fā)展趨勢(shì),而以單片機(jī)為核心的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)的日新月益。本設(shè)計(jì)論述了一種以STC89C51單片機(jī)為控制單元,以DS18B20為溫度傳感器的溫度控制系統(tǒng)。該控制系統(tǒng)可以實(shí)時(shí)存儲(chǔ)相關(guān)的溫度數(shù)據(jù)并可設(shè)置溫度上下限值,實(shí)現(xiàn)對(duì)環(huán)境溫度測(cè)量并在超出范圍的情況下發(fā)出警告。系統(tǒng)設(shè)計(jì)了相關(guān)的硬件電路和相關(guān)應(yīng)用程序。硬件電路主要包括STC89C51單片機(jī)最小系統(tǒng),測(cè)溫電路、LCD液晶顯示電路以及報(bào)警電路等。系統(tǒng)程序主要包括主程序,讀出溫度子程序,計(jì)算溫度子程序、按鍵處理程序、LCD顯示程序以及數(shù)據(jù)存儲(chǔ)程序等。關(guān)鍵詞:STC89C51單片機(jī);DS18B20;LCD顯示電路

AbstractInrecentyears,alongwiththecomputerandcontroltechnologyofboomingdevelopmentandwideapplication,peoplebenefitalotfromit,lifealsocanbeseeneverywhereelectronicproducts,automation,intelligentbecomedevelopmenttrend,andwiththesinglechipprocessorasthecoreapplicationiscontinuouslytothedeepening,andpushthetraditionalcontrolexaminationonthenewvictims.ThisdesignisdiscussedinSTC89C51microcontrolisacontrolunit,withthetemperaturesensorDS18B20forthetemperaturecontrolsystem.Thecontrolsystemcanstorerelatedtemperaturedatareal-timeandsetupanddowntemperaturelimits,andtorealizetheenvironmenttemperaturemeasurementandbeyondthescopeofthewarning.Thesystemdesignoftherelatedhardwarecircuitandrelatedapplications.ThehardwarecircuitSTC89C51mainlyincludessinglechipminimizesystem,temperaturemeasurementcircuit,LCDdisplaycircuit,alarmcircuit,etc.Systemprogrammainlyincludesthemainprogram,readthetemperatureprocedure,thecalculationoftemperatureprocedure,keyprocessingprogram,LCDdisplayproceduresanddatastorageprocedures,etc.keywords:STC89C51single-chipmicrocomputer;DS18B20;LCDdisplaycircuit

1緒論1.1課題的背景及其意義二十一世紀(jì)是科技高速發(fā)展的信息時(shí)代,電子技術(shù)、單片機(jī)技術(shù)更是得到廣泛的應(yīng)用,伴隨著科學(xué)技術(shù)的發(fā)展,需要對(duì)儀器設(shè)備的各種參數(shù)進(jìn)行測(cè)量。而溫度涉及到生活生產(chǎn)的各個(gè)方面,應(yīng)運(yùn)而生溫度測(cè)量控制也成為了生活生產(chǎn)中關(guān)注的熱點(diǎn),對(duì)溫度的控制在各行各業(yè)中也發(fā)揮著重要的作用。例如在工業(yè)生產(chǎn)之中,利用測(cè)量與控制溫度來保證生產(chǎn)的正常運(yùn)行;在農(nóng)業(yè)中,用于保證蔬菜大棚的恒溫生產(chǎn);更具體點(diǎn)在生活中冰箱,空調(diào)等都需要對(duì)溫度進(jìn)行實(shí)時(shí)控制。溫度是表征物體冷熱程度的物理量,溫度測(cè)量則是工農(nóng)業(yè)生產(chǎn)過程中一個(gè)很重要而普遍的參數(shù)。溫度的測(cè)量及控制對(duì)保證產(chǎn)品質(zhì)量、提高生產(chǎn)效率、節(jié)約能源、生產(chǎn)安全、促進(jìn)國(guó)民經(jīng)濟(jì)的發(fā)展起到非常重要的作用。由于溫度測(cè)量的普遍性,溫度傳感器的數(shù)量在各種傳感器中居首位。而且隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,溫度傳感器的種類還是在不斷,從而滿足生產(chǎn)生活中的各種需要。單片機(jī)溫度測(cè)量控制系統(tǒng)中的關(guān)鍵是測(cè)量溫度、控制溫度,從而達(dá)到各種需求。因此,單片機(jī)溫度測(cè)量則是對(duì)溫度進(jìn)行有效的測(cè)量,并且能夠在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用,尤其在電力工程、化工生產(chǎn)、機(jī)械制造、冶金工業(yè)、無線控制等重要工業(yè)領(lǐng)域中,扮演著重要角色。在日常生活中,也可廣泛實(shí)用于空調(diào)器、電加熱器等各種家居電器。

1.2課題研究的內(nèi)容及要求我的畢業(yè)設(shè)計(jì)的題目是基于單片機(jī)的溫度控制報(bào)警系統(tǒng)設(shè)計(jì)。它是多種技術(shù)知識(shí)的結(jié)合,不僅涉及到硬件的設(shè)計(jì),還需要軟件編程,同時(shí)還要兼顧到精度、測(cè)量誤差、穩(wěn)定性等各種因素。電路板是從電子市場(chǎng)買來,要自己親手焊接,這就要考慮如何布線,來達(dá)到外觀美觀,功能實(shí)現(xiàn)的目標(biāo)。經(jīng)過查閱資料發(fā)現(xiàn)許多應(yīng)用場(chǎng)合原來就有測(cè)溫儀器,只是隨著對(duì)生產(chǎn)質(zhì)量與生產(chǎn)需要的要求在不斷地提高、升級(jí)。其中,有部分應(yīng)用場(chǎng)合對(duì)精度提高的幅度要求也不是特別高。因此,為了提高性價(jià)比,我所設(shè)計(jì)的系統(tǒng)提出在原有設(shè)計(jì)的基礎(chǔ)上進(jìn)行一些簡(jiǎn)單的修改,以此為出發(fā)點(diǎn),主要闡述的是溫度測(cè)量自動(dòng)報(bào)警系統(tǒng)的實(shí)現(xiàn)方法。本文所要研究的課題是基于單片機(jī)的溫度報(bào)警系統(tǒng)設(shè)計(jì),主要是介紹了對(duì)環(huán)境溫度的測(cè)量、顯示、控制及報(bào)警,實(shí)現(xiàn)了動(dòng)態(tài)溫度的實(shí)時(shí)顯示。溫度控制部分,提出了用AT89C51單片機(jī)、DS18S20、及LCD顯示的硬件電路完成對(duì)環(huán)境溫度的實(shí)時(shí)檢測(cè)及顯示,利用DS18S20與單片機(jī)連接由軟件與硬件電路配合來實(shí)現(xiàn),超出設(shè)定的上下限溫度,報(bào)警系統(tǒng)就自動(dòng)報(bào)警??刂破魇怯?9C51單片機(jī),適合于應(yīng)對(duì)多點(diǎn)的溫度測(cè)控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供微機(jī)處理,而且每片DS18S20都有唯一的產(chǎn)品號(hào),可以一并存入其ROM中,以便在構(gòu)成大型溫度測(cè)控系統(tǒng)時(shí)在單線上掛接任意多個(gè)DS18S20芯片。從DS18S20讀出或?qū)懭隓S18S20信息僅需要一根口線,其讀寫及其溫度變換功率來源于數(shù)據(jù)總線,該總線本身也可以向所掛接的DS18S20供電。同時(shí)DS18S20能提供九位溫度讀數(shù),它無需任何外圍硬件即可方便地構(gòu)成溫度檢測(cè)系統(tǒng)。而且利用本次的設(shè)計(jì)主要實(shí)現(xiàn)溫度測(cè)試,溫度顯示,溫度門限設(shè)定,超過設(shè)定的門限值時(shí)自動(dòng)啟動(dòng)自動(dòng)報(bào)警等功能。而且還要以單片機(jī)為主機(jī),使溫度傳感器通過一根口線與單片機(jī)相連接,再加上溫度控制部分和人機(jī)對(duì)話部分來共同實(shí)現(xiàn)溫度的監(jiān)測(cè)與控制。1.3課題的研究方案溫度控制系統(tǒng)是比較常見和典型的過程控制系統(tǒng)。溫度是工業(yè)生產(chǎn)過程中重要的被控參數(shù)之一,當(dāng)今計(jì)算機(jī)控制技術(shù)在這方面的應(yīng)用,已使溫度控制系統(tǒng)達(dá)到自動(dòng)化、智能化,比過去單純采用電子線路進(jìn)行PID調(diào)節(jié)的控制效果要好得多,可控性方面也有了很大的提高。本設(shè)計(jì)方案很簡(jiǎn)單,采用了STC89C51單片機(jī)系統(tǒng)來實(shí)現(xiàn)。單片機(jī)軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種控制算法和邏輯控制。單片機(jī)系統(tǒng)可以用液晶屏幕來顯示環(huán)境溫度的實(shí)際值,能用鍵盤輸入設(shè)定上下線值。本方案選用了STC89C51芯片,本身存儲(chǔ)器已夠用,不需要外擴(kuò)展存儲(chǔ)器,可使系統(tǒng)整體結(jié)構(gòu)大為簡(jiǎn)單從而大大提高了系統(tǒng)的智能化。

2電路設(shè)計(jì)的理論基礎(chǔ)2.1系統(tǒng)設(shè)計(jì)的框架本課題設(shè)計(jì)的是一種以STC89C51單片機(jī)為主控制單元,以DS18B20為溫度傳感器的溫度控制報(bào)警系統(tǒng)。該控制系統(tǒng)可以實(shí)時(shí)存儲(chǔ)相關(guān)的溫度數(shù)據(jù)。其主要包括:電源電路、溫度采集電路、按鍵處理電路、LCD顯示電路、報(bào)警電路以及單片機(jī)基本電路。下圖(圖2-1)為設(shè)計(jì)框架圖。報(bào)警電路顯示電路單片機(jī)電源電路按鍵調(diào)節(jié)信號(hào)采集報(bào)警電路顯示電路單片機(jī)電源電路按鍵調(diào)節(jié)信號(hào)采集 2.2單片機(jī)發(fā)展史單片機(jī)根據(jù)其基本操作處理的二進(jìn)制位數(shù)主要分為:4位單片機(jī)、8位單片機(jī)、16位單片機(jī)和32位單片機(jī)。單片機(jī)的發(fā)展史可大致分為4個(gè)階段。第一階段(1974年--1976年):?jiǎn)纹瑱C(jī)初級(jí)階段。因工藝限制,單片機(jī)采用雙片的形式而且功能比較簡(jiǎn)單。1974年12月,仙童公司推出了8位的F8單片機(jī),實(shí)際上只包括了8位CPU、64BRAM和2個(gè)并行口。:

第二階段(1976年--1978年):低性能單片機(jī)階段。1976年,Intel公司推出的MCS--48單片機(jī)(8位單片機(jī))極大地促進(jìn)了單片機(jī)的變革和發(fā)展;1977年,GI公司推出了PIC1650,但這個(gè)階段的單片機(jī)仍然處于低性能階段第三階段(1978年--1983年):高性能單片機(jī)階段。1978年,Zilog公司推出了Z8單片機(jī);1980年,Intel公司在MCS--48單片機(jī)的基礎(chǔ)上推出了MCS--51系列,Motorola公司推出了6801單片機(jī),這些產(chǎn)品使單片機(jī)的性能及應(yīng)用躍上了一個(gè)新的臺(tái)階。此后,各公司的8位單片機(jī)迅速發(fā)展起來。這個(gè)階段推出的單片機(jī)普遍帶有串行I/O口、多級(jí)中斷系統(tǒng)、16位定時(shí)器/定時(shí)器,片內(nèi)ROM、RAM容量加大,且尋址范圍可達(dá)64KB,有的片內(nèi)還帶有A/D轉(zhuǎn)換器。由于這類單片機(jī)的性能價(jià)格比高,所以被廣泛應(yīng)用,是目前應(yīng)用數(shù)量最多的單片機(jī)。第四階段(1983年--現(xiàn)在):8位單片機(jī)鞏固、發(fā)展及16位單片機(jī)和32位單片機(jī)推出階段。16位單片機(jī)的典型產(chǎn)品為Intel公司生產(chǎn)的MCS--96系列單片機(jī)。而32位單片機(jī)除了具有更高的集成度外,其數(shù)據(jù)處理速度比16位單片機(jī)提高許多,性能比8位、16位單片機(jī)更加優(yōu)越。20世紀(jì)90年代是單片機(jī)制造業(yè)大發(fā)展的時(shí)期,這個(gè)時(shí)期的Motorola、Intel、ATMEL、德州儀器(TI)、三菱、日立、Philips、LG等公司也開發(fā)了一大批性能優(yōu)越的單片機(jī),極大地單片機(jī)的應(yīng)用。近年來,又有不少新型的高集成度的單片機(jī)產(chǎn)品涌現(xiàn)出來,出現(xiàn)了單片機(jī)豐富多彩的局面。目前,除了8位單片機(jī)得到廣泛用用上的展表明,80C51可能最終形成事實(shí)上的標(biāo)準(zhǔn)MCU芯片。

2.3STC89C51系列單片機(jī)介紹2.3.1STC89C51特性STC89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—flashProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。而AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。STC89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。·與MCS-51兼容

·4K字節(jié)可編程閃爍存儲(chǔ)器

·壽命:1000寫/擦循環(huán)

·數(shù)據(jù)保留時(shí)間:10年

·全靜態(tài)工作:0Hz-24Hz

·三級(jí)程序存儲(chǔ)器鎖定

·128*8位內(nèi)部RAM

·32位可編程I/O線

·兩個(gè)16位定時(shí)器/計(jì)數(shù)器

·5個(gè)中斷源

·可編程串行通道

·低功耗的閑置和掉電模式

·片內(nèi)振蕩器和時(shí)鐘電路2.3.2STC89C51系列引腳功能STC89C51有40引腳雙列直插(DIP)形式。其邏輯引腳圖如圖2-2 圖2-2STC89C51引腳圖

各引腳功能敘述如下:1.電源和晶振VCC(40腳)——接+5V電源GND(20腳)——接數(shù)字地XTAL1(19腳)——片內(nèi)震蕩器反相放大器和時(shí)鐘發(fā)生器電路的輸入端XTAL2(18腳)——片內(nèi)震蕩器反相放大器的輸出端2.I/O(4個(gè)口,32根)P0口——P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫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”

P2口輸出地址的高八位。在給出地址“1”P3口——P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。

同時(shí),P3口也可作為STC89C51的一些特殊功能口,如下表所示:

口管腳備選功能

P3.0RXD(串行輸入口)

P3.1TXD(串行輸出口)

P3.2/INT0(外部中斷0)

P3.3/INT1(外部中斷1)

P3.4T0(記時(shí)器0外部輸入)

P3.5T1(記時(shí)器1

3.控制線(共4根)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(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í),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。

3硬件電路設(shè)計(jì)3.1電源電路工作原理:220V交流市電經(jīng)過電源變壓器變換成交流低電壓,再經(jīng)過橋式整流電路D2~D5和濾波電容C5的整流和濾波,在三端穩(wěn)壓器LM7805的Vin和GND兩端形成一個(gè)并不十分穩(wěn)定的直流電壓(該電壓常常會(huì)因?yàn)槭须婋妷旱牟▌?dòng)或負(fù)載的變化等原因而發(fā)生變化)。此直流電壓經(jīng)過LM7805的穩(wěn)壓和C7的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。本穩(wěn)壓電源可作為TTL電路或單片機(jī)電路的電源。三端穩(wěn)壓器是一種標(biāo)準(zhǔn)化、系列化的通用線性穩(wěn)壓電源的集成電路,其具有體積小、成本低、性能好、工作可靠、使用簡(jiǎn)捷方便等特點(diǎn),成為目前穩(wěn)壓電源中應(yīng)用最為廣泛的一種單片式集成穩(wěn)壓器件。電源電路圖如圖3-1。 圖3-1電源電路

LM7805簡(jiǎn)介:LM7805是一種常用的三端穩(wěn)壓器,一般使用的是TO-220封裝,能提供DC5V的輸出電壓,應(yīng)用范圍極廣,內(nèi)含過流過熱及調(diào)整管的保護(hù)電路和過載保護(hù)電路。帶散熱片時(shí)能持續(xù)提供1A的電流。電子制作中經(jīng)常采用。但當(dāng)穩(wěn)壓管溫度過高時(shí),穩(wěn)壓性能將變差,甚至損壞。其外形引腳如圖3-2。 圖3-2LM7805引腳圖(管腳圖)

3.2溫度傳感器電路DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場(chǎng)合,封裝后的DS18B20可用于電纜溝測(cè)溫,高爐水循環(huán)測(cè)溫,鍋爐測(cè)溫,機(jī)房測(cè)溫,農(nóng)業(yè)大棚測(cè)溫,潔凈室測(cè)溫,彈藥庫(kù)測(cè)溫等各種非極限溫度場(chǎng)合。耐磨耐碰,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備的數(shù)字測(cè)溫和控制領(lǐng)域。DS18B20溫度傳感器是美國(guó)達(dá)拉斯(DALLAS)半導(dǎo)體公司推出的應(yīng)用單總線技術(shù)的數(shù)字溫度傳感器。該器件將半導(dǎo)體溫敏器件、A/D轉(zhuǎn)換器、存儲(chǔ)器等做在一個(gè)很小的集成電路芯片上。超小的體積,超低的硬件開銷,抗干擾能力強(qiáng),精度高,附加功能強(qiáng),使得DS18B20更受歡迎,DS18B20的優(yōu)勢(shì)更是我們學(xué)習(xí)單片機(jī)技術(shù)和開發(fā)溫度相關(guān)小制作不二的選擇,其技術(shù)性能描述為:①獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。②測(cè)溫范圍-55℃~+125℃,固有測(cè)溫分辨率0.5℃。③支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個(gè),實(shí)現(xiàn)多點(diǎn)測(cè)溫,如果數(shù)量過多,會(huì)使供電電源電壓過低,從而造成信號(hào)傳輸?shù)牟环€(wěn)定。④工作電源:3~5V/DC⑤在使用中不需要任何外圍元件⑥測(cè)量結(jié)果以9~12位數(shù)字量方式串行傳送⑦溫度數(shù)字量轉(zhuǎn)換時(shí)間200ms(典型值)

⑧用戶可定義的非易失性溫度報(bào)警設(shè)置其外形如圖3-3所示。圖3-3傳感器外形圖本設(shè)計(jì)采用一線制數(shù)字溫度傳感器DS18B20來作為本課題的溫度傳感器。傳感器信號(hào)經(jīng)4.7K的上拉電阻直接接到單片機(jī)的P2.0管腳上。DS18B20溫度傳感器只有三根外接線:?jiǎn)尉€數(shù)據(jù)傳輸總線DQ,外供電源線VDD,共用地線GND。DS18B20有兩種供電方式:一種為數(shù)據(jù)線供電方式,此時(shí)VDD接地,它是通過內(nèi)部電容在空閑時(shí)從數(shù)據(jù)線獲取能量,來完成溫度的轉(zhuǎn)換,相應(yīng)的完成溫度轉(zhuǎn)換所需時(shí)間也較長(zhǎng)。這種情況下,用單片機(jī)的一個(gè)I/O口來完成對(duì)DS18B20總線的上拉。另外一種是外部供電方式(VDD接+5V),相應(yīng)的完成溫度測(cè)量的時(shí)間會(huì)較短。

工作原理及其應(yīng)用:DS18B20溫度檢測(cè)與數(shù)字?jǐn)?shù)據(jù)的傳輸集成于一個(gè)芯片之上。其工作一個(gè)周期可以分為二個(gè)部分,即溫度檢測(cè)與數(shù)據(jù)處理。18B20有三種形態(tài)的存儲(chǔ)資源,分別是ROM,RAM,EEPROM。ROM只讀存儲(chǔ)器,共64位,用于存放DS18B20ID編碼,其前八位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號(hào),最后的八位是以上56位的CRC(冗余校驗(yàn)碼)。其數(shù)據(jù)在出廠時(shí)設(shè)置,不由用戶更改。RAM數(shù)據(jù)暫存器,用于數(shù)據(jù)計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后消失,DS18B20共9個(gè)字節(jié)的RAM,每個(gè)字節(jié)為八位,第1,2字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3,4字節(jié)是用戶EEPROM(常用于溫度報(bào)警值的存儲(chǔ))的鏡像。在上電復(fù)位時(shí),其值將被刷新。第5個(gè)字節(jié)則是用戶第3個(gè)EEPROM的鏡像。第6,7,8個(gè)字節(jié)則是計(jì)數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計(jì)的,同樣也是溫度轉(zhuǎn)換、計(jì)算的暫存單元,第9個(gè)字節(jié)是前八個(gè)字節(jié)的CRC碼。EEPROM是非易失性記憶體,用于存放長(zhǎng)期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù)。DS18B20共3位EEPROM,并在RAM上都存在鏡像,以方便用戶操作。我們?cè)谧x溫度之前都必須進(jìn)行復(fù)雜的且精準(zhǔn)的時(shí)序處理,因?yàn)镈S18B20硬件簡(jiǎn)單,從而導(dǎo)致軟件的巨大開銷,也是盡力減少有形資產(chǎn)化為無形資產(chǎn)的投入。

控制器對(duì)DS18B20的操作流程:1.復(fù)位:首先我們必須對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位就是由控制器給DS18B20單總線至少480us的低電平信號(hào),當(dāng)DS18B20接到此復(fù)位信號(hào)后,回發(fā)一個(gè)芯片的存在脈沖。2.存在脈沖:在復(fù)位電平結(jié)束之后,控制器應(yīng)該將數(shù)據(jù)單總線拉高,以便于在15--60us后接受存在脈沖,存在脈沖為一個(gè)60--240us的低電平信號(hào)。至此,通信雙方已達(dá)成了基本的協(xié)議,接下來將會(huì)是控制器與DS18B20的數(shù)據(jù)通信,如果復(fù)位低電平的時(shí)間不足或是單總線斷路都不會(huì)接收到存在脈沖。3.控制器發(fā)送ROM指令:雙方打完招呼后就要進(jìn)行交流了,ROM指令共5條,每一個(gè)工作周期只能發(fā)送一條,ROM指令分別是讀ROM數(shù)據(jù),指定匹配芯片,跳躍ROM,芯片搜索,報(bào)警芯片搜索。ROM指令為八位長(zhǎng)度,功能是對(duì)片內(nèi)的64位光刻ROM進(jìn)行操作。其主要目的是為了分別總線上掛接的多個(gè)器件并做處理,一般情況下,直掛一個(gè)DS18B20的就跳過ROM指令,此處并不是不發(fā)送ROM指令,而是用一條特有的一條“跳過指令”。4.控制器發(fā)送存儲(chǔ)器操作指令:在發(fā)送ROM指令之后,接著就發(fā)送存儲(chǔ)器操作指令。操作指令同樣為八位,共六條,分別為寫RAM數(shù)據(jù),讀RAM數(shù)據(jù),將RAM數(shù)據(jù)復(fù)制到EEPROM,溫度轉(zhuǎn)換,將EEPROM中報(bào)警值復(fù)制到RAM,工作方式切換。存儲(chǔ)器操作指令是命令DS18B20做什么樣的工作,是芯片控制的關(guān)鍵。5.執(zhí)行或數(shù)據(jù)讀寫:這個(gè)操作要視存儲(chǔ)器操作指令而定。

在本設(shè)計(jì)中采用外部供電方式實(shí)現(xiàn)DS18B20傳感器與單片機(jī)的連接,其接口電路如圖3-4所示。 圖3-4溫度傳感器電路3.3顯示電路1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線其各引腳介紹如表3-1。 表3-1LCD引腳說明引腳符號(hào)功能說明1VSS接地2VDD接電源(+5V)3V0液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度4RSRS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器5RWR/W為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作6E使能端7D0雙向數(shù)據(jù)總線8D1雙向數(shù)據(jù)總線9D2雙向數(shù)據(jù)總線10D3雙向數(shù)據(jù)總線11D4雙向數(shù)據(jù)總線12D5雙向數(shù)據(jù)總線13D6雙向數(shù)據(jù)總線14D7雙向數(shù)據(jù)總線15BL+背光電源正極16BL-背光電源負(fù)極本設(shè)計(jì)顯示電路采用1602液晶顯示,其電路圖如下(圖3-5): 圖3-5顯示電路3.4報(bào)警電路報(bào)警電路采用簡(jiǎn)單的發(fā)光二極管與蜂鳴器組合電路,當(dāng)溫度超出上下門限值時(shí),二極管發(fā)光,同時(shí)蜂鳴器鳴響。其電路圖如圖3-6:圖3-6報(bào)警電路

3.5復(fù)位電路本設(shè)計(jì)所用復(fù)位電路與其他單片機(jī)所用電路類似,為電容式復(fù)位,其電路圖如下(圖3-7): 圖3-7復(fù)位電路

4軟件設(shè)計(jì)系統(tǒng)的軟件主要是采用C語言,對(duì)單片機(jī)進(jìn)行編程實(shí)現(xiàn)各種功能。當(dāng)然,也可以采用匯編語言,但程序設(shè)計(jì)較麻煩,本設(shè)計(jì)采用C語言來編程,主程序?qū)δK進(jìn)行初始化,而后調(diào)用讀溫度、處理溫度、顯示、鍵盤,報(bào)警等模塊。用的是循環(huán)查詢方式,來顯示和調(diào)節(jié)溫度,主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值并負(fù)責(zé)調(diào)用各子程序,其程序流程如圖4-1系統(tǒng)程序流程圖。開始開始初始化 初始化啟動(dòng)啟動(dòng)DB18B20讀溫度計(jì)算溫度LCD顯示圖4-1系統(tǒng)程序流程圖

4.1按鍵處理子程序按鍵處理子程序主要是負(fù)責(zé)參數(shù)的設(shè)置,主程序每循環(huán)一次都要對(duì)按鍵進(jìn)行掃描,判斷是否有輸入鍵按下則進(jìn)行一系列的按鍵輸入操作。其程序流程框圖如圖4-2所示。開始 開始是否按下S2否 是否按下S2是否按下S3是否按下S3 是是否再按下S2 否是是否再按下S2UP子程序否UP子程序是否按S4是是否按S4是否再按下S2按下否是是否再按下S2按下down子程序 down子程序否是退出子程序,返回主程序退出子程序,返回主程序 圖4-2溫度轉(zhuǎn)換流程圖

5系統(tǒng)調(diào)試及結(jié)論分析單片機(jī)應(yīng)用系統(tǒng)組裝后,便可進(jìn)行調(diào)試,其主要任務(wù)是排除硬件故障,并完善其硬件結(jié)構(gòu),試運(yùn)行所設(shè)計(jì)的程序,一一排除程序錯(cuò)誤之處,并優(yōu)化程序的結(jié)構(gòu),使系統(tǒng)達(dá)到設(shè)計(jì)的期望值。5.1硬件調(diào)試單片機(jī)應(yīng)用系統(tǒng)的硬件和軟件調(diào)試是交叉進(jìn)行的,但通常是先排除仿真時(shí)明顯的硬件故障,尤其是電源故障,才能安全地進(jìn)行仿真,進(jìn)一步進(jìn)行硬件及軟件綜合調(diào)試。5.1.1硬件電路故障及解決方法1.錯(cuò)線、開路、短路:由于電路圖設(shè)計(jì)錯(cuò)誤和焊接過程中的工藝性錯(cuò)誤所造成的錯(cuò)線、開路、短路等故障,例如電源電路正負(fù)極相連、虛焊、漏焊等。本設(shè)計(jì)在焊接時(shí)就出現(xiàn)過錯(cuò)焊,漏焊現(xiàn)象。解決方法:在畫原理圖時(shí)仔細(xì)檢查、校正,在焊接時(shí)注意連接好即可解決。2.元器件損壞:由于對(duì)元器件使用要求的不熟悉及制作調(diào)試過程中操作不當(dāng)操作等致使器件損壞。解決方法:在設(shè)計(jì)過程中要明確各元器件的工作條件,嚴(yán)格按照制作要求進(jìn)行操作,在焊接過程中,注意溫度的控制,損壞的元器件要及時(shí)更換,以免影響電路功能的實(shí)現(xiàn)。

3.電源故障:設(shè)計(jì)中存在電源故障,即電源不能正常工作,上電后將造成元器件損壞,從而影響整個(gè)電路。電源的故障包括:電壓值不符和設(shè)計(jì)要求,變壓器功率不足,內(nèi)阻大,負(fù)載能力差,電源電壓不穩(wěn)定等等。解決方法:電源必須單獨(dú)調(diào)試好以后,測(cè)量準(zhǔn)確穩(wěn)定后才能加到系統(tǒng)中。5.1.2硬件調(diào)試方法本設(shè)計(jì)調(diào)試過程中所用的調(diào)試方法靜態(tài)測(cè)試法。在加電之前,首先用萬用表等儀表工具,根據(jù)硬件電器原理圖和裝配圖仔細(xì)檢查線路的正確性,并核對(duì)元器件的型號(hào)、規(guī)格、大小和安裝是否符合要求。應(yīng)特別注意電源的走線,防止電源之間的短路,第二步是加電后檢查各個(gè)元件上引腳的電位是否正常,尤其應(yīng)注意單片機(jī)插座上的各點(diǎn)電位,若有高壓,聯(lián)機(jī)時(shí)將會(huì)損壞元件。5.2軟件調(diào)試在完成了各個(gè)模塊的程序的調(diào)試工作以后,便可與硬件結(jié)合進(jìn)行系統(tǒng)的綜合調(diào)試。綜合調(diào)試一般采用全速斷點(diǎn)運(yùn)行方式,這個(gè)階段的主要工作社排除系統(tǒng)中遺留的錯(cuò)誤以提高系統(tǒng)的動(dòng)態(tài)性能以達(dá)到期望值。在綜合調(diào)試的最后階段,使系統(tǒng)全速運(yùn)行目標(biāo)程序,實(shí)現(xiàn)了預(yù)定功能指標(biāo)后,便可將軟件固化,然后再運(yùn)行固化的目標(biāo)程序,成功后目標(biāo)系統(tǒng)便可脫機(jī)運(yùn)行。一般情況下,這樣的一個(gè)應(yīng)用系統(tǒng)程序就算是研制成功了。

6總結(jié)與展望6.1總結(jié)畢業(yè)設(shè)計(jì)做結(jié)束后,也就意味著我們的大學(xué)生活接近尾聲了,學(xué)無止境,我們的學(xué)習(xí)并沒有結(jié)束,以后要學(xué)的還有很多,在本次設(shè)計(jì)中,使我更懂得了學(xué)習(xí)的重要性,同時(shí),也是我們所學(xué)得到了實(shí)踐。再設(shè)計(jì)中,有很多東西都是現(xiàn)學(xué)現(xiàn)用,感覺到今后還有很多要學(xué)習(xí),本文用STC89C51單片機(jī)作為控制器,溫度信號(hào)通過溫度傳感器傳輸給單片機(jī),通過單片機(jī)分析計(jì)算,輸出顯示并響應(yīng)報(bào)警。通過這次設(shè)計(jì),使我有很深的感觸:科學(xué)技術(shù)發(fā)展迅猛無比,尤其以單片機(jī)為核心的技術(shù)在未來社會(huì)發(fā)展中一定會(huì)起著十分重要的作用。本次設(shè)計(jì)主要分為兩部分,軟件程序設(shè)計(jì)和硬件電路板設(shè)計(jì)。軟件設(shè)計(jì)包括用單片機(jī)C語言控制系統(tǒng)。硬件設(shè)計(jì)包括繪制電路原理圖,元件焊件、再做硬件測(cè)試,調(diào)節(jié),直至最后成功。通過這些都使我對(duì)采用單片機(jī)設(shè)計(jì)方法有了更深的理解,同時(shí)也讓我把所學(xué)的知識(shí)在實(shí)踐中得到鍛煉,基本上做到了理論與實(shí)踐相結(jié)合。此次設(shè)計(jì)無論從專業(yè)知識(shí)、動(dòng)手能力,都使我受益匪淺。其中,這與老師和同學(xué)的熱心幫助是分不開的。大學(xué)生活雖然快要結(jié)束了,但我們的學(xué)習(xí)并沒有結(jié)束,只有通過不斷努力的學(xué)習(xí),用知識(shí)充實(shí)自己的大腦,才能在未來社會(huì)有一席之地,才能為社會(huì)的發(fā)展做出自己應(yīng)有的貢獻(xiàn)。

6.2展望單片機(jī)改變著我們的生活,縱觀各個(gè)領(lǐng)域,各行各業(yè),從飛機(jī)上各種儀表的控制到導(dǎo)彈的導(dǎo)航,從計(jì)算機(jī)的通訊與數(shù)據(jù)輸入輸出,到工業(yè)自動(dòng)化過程的實(shí)現(xiàn),以及我們生活中廣泛使用的各種電子產(chǎn)品等等,這些都離不開單片機(jī)。相信,以后單片機(jī)會(huì)得到更為廣泛的應(yīng)用。目前,測(cè)溫控溫系統(tǒng)得到了很快的發(fā)展,近幾年,國(guó)內(nèi)也涌現(xiàn)出許多高精度的溫度控制系統(tǒng),但相對(duì)于用戶來說,價(jià)格還是有點(diǎn)高。而由于競(jìng)爭(zhēng)越來越激烈,現(xiàn)在企業(yè)發(fā)展的趨勢(shì)是如何有效的提高生產(chǎn)效率,降低生產(chǎn)成本。尋求性能可靠、價(jià)格低廉,且應(yīng)用廣泛的元器件是生產(chǎn)過程的首先要考慮和解決的問題,因此像本設(shè)計(jì)這種控制簡(jiǎn)單、價(jià)格低廉的控制系統(tǒng)會(huì)有很好的發(fā)展前景,并且在此設(shè)計(jì)基礎(chǔ)之上,還可擴(kuò)展出其他應(yīng)用功能,所以學(xué)好單片機(jī)技術(shù)也十分重要。通過本次的設(shè)計(jì),使我感覺到單片機(jī)的應(yīng)用會(huì)越來越廣泛,并將深入到各個(gè)領(lǐng)域,自動(dòng)化、智能化是其發(fā)展趨勢(shì),學(xué)好單片機(jī)及其與其它軟件相結(jié)合技術(shù)必有光明前途。

參考文獻(xiàn)[1]張毅剛,彭喜元,彭宇.單片機(jī)原理及應(yīng)用[M].高等教育出版社,2010年5月.[2]曹巧媛主編.單片機(jī)原理及應(yīng)用.第二版.北京:電子工業(yè)出版社.[3]何力民.單片機(jī)高級(jí)教程.北京:北京航空大學(xué)出版社.[4]金發(fā)慶.傳感器技術(shù)與應(yīng)用.北京機(jī)械工業(yè)出版社.[5]薛弘曄.計(jì)算機(jī)控制技術(shù).西安電子科技大學(xué)出版社.[6]譚浩強(qiáng).C程序設(shè)計(jì)[M].清華大學(xué)出版社.[7]康華光.電子技術(shù)基礎(chǔ).高等教育出版社.[8]華成英,童詩白主編.模擬電子技術(shù)基礎(chǔ)[M].高等教育出版社.[9]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].第五版.高等教育出版社,2005.[10]史久貴.基于AltiumDesigner的原理圖與PCB設(shè)計(jì)[M].機(jī)械工業(yè)出版社,2011.

附錄1:系統(tǒng)原理圖

2:實(shí)物圖

3:系統(tǒng)相關(guān)程序#include<reg52.h>#defineuintunsignedint//宏定義#defineucharunsignedchar//宏定義sbitdq=P2^0;//位聲明sbitbeep=P1^1;sbitd=P1^0;sbitk1=P1^2;sbitk2=P1^3;sbitk3=P1^4;sbitlcden=P2^6;sbitlcdrw=P2^5;sbitlcdrs=P2^4;ucharcodestr[]="OK";ucharcodestr0[]="TOOHIGH!";ucharcodestr1[]="TOOLOW!";ucharcodestr2[]="SET";ucharcodestr3[]="MAX:";ucharcodestr4[]="MIN:";uchartemp,flag1,flag2,max,min;voidwrite_com(uchar);//液晶寫命令子程序voidwrite_data(uchar);//液晶寫指令子程序voiddelay_(uint);//一微秒延時(shí)程序voidinit_d();//ds18b20初始化子程序voiddelay(uint);//一毫秒延時(shí)子函數(shù)voidwrite_byte(uchar);//ds18b20寫字節(jié)子程序ucharread_t();//檢測(cè)溫度程序ucharread_byte();//ds18b20讀字節(jié)子程序voiddisplay();//顯示溫度子程序voidwrite_str(uchar*);//向液晶內(nèi)寫入字節(jié)voiddisplay_max();//顯示最大值子程序voiddisplay_min();//顯示最小值子程序voidmain(){ max=40; min=20; lcdrw=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(1); while(1

{ while((flag1==0)&&(flag2==0)) { write_com(1); temp=read_t(); display(); write_com(0x80+9); write_data('C'); if(temp>max) { beep=0; d=0; write_com(0x80+0x40+4); write_str(str0); delay(200); } elseif(temp<min) { beep=0; d=0; write_com(0x80+0x40+4); write_str(str1); delay(200); } else { beep=1; d=1; write_com(0x80+0x40+7); write_str(str); delay(200); } if(k1==0) { delay(5); //消抖 if(k1==0) { if((flag1==0)&&(flag2==0)) flag1=1; elseif((flag1==1)&&(flag2==0)) { flag1=0; flag2=1; }

else { flag1=0; flag2=0; } while(!k1); //松手檢測(cè) write_com(1); } } } while((flag1==1)&&(flag2==0)) { beep=1; d=1; write_com(0x80+1); write_str(str2); write_com(0x80+6); write_str(str3); write_com(0x80+14); write_data('C'); write_com(0x80+0x40+6); write_str(str4); write_com(0x80+0x40+14); write_data('C'); display_max(); display_min(); while((flag1==1)&&(flag2==0)) { if(k2==0) { delay(5); if(k2==0) { while(!k2); max++; if(max==61) max=min+5; display_max(); } }

if(k3==0) { delay(5); if(k3==0) { while(!k3); max--; if(max==(min+4)) max=60; display_max(); } } if(k1==0) { delay(5); //消抖 if(k1==0) { if((flag1==0)&&(flag2==0)) flag1=1; elseif((flag1==1)&&(flag2==0)) { flag1=0; flag2=1; } else { flag1=0; flag2=0; } while(!k1); //松手檢測(cè) write_com(1); } } } } while((flag1==0)&&(flag2==1)) { beep=1; d=1;

write_com(0x80+0x40+1); write_str(str2); write_com(0x80+6); write_str(str3); write_com(0x80+14); write_data('C'); write_com(0x80+0x40+6); write_str(str4); write_com(0x80+0x40+14); write_data('C'); display_max(); display_min(); while((flag1==0)&&(flag2==1)) { if(k2==0) { delay(5); if(k2==0) { while(!k2); min++; if(min==(max-4)) min=0; display_min(); } } if(k3==0) { delay(5); if(k3==0) { while(!k3); min--; if(min==255) min=max-5; display_min(); } } if(k1==0) { delay(5); //消抖

if(k1==0) { if((flag1==0)&&(flag2==0)) flag1=1; elseif((flag1==1)&&(flag2==0)) { flag1=0; flag2=1;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論