單片機溫度報警系統(tǒng)設計_第1頁
單片機溫度報警系統(tǒng)設計_第2頁
單片機溫度報警系統(tǒng)設計_第3頁
單片機溫度報警系統(tǒng)設計_第4頁
單片機溫度報警系統(tǒng)設計_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

畢業(yè)設計基于單片機的溫度報警系統(tǒng)設計 學校: 專業(yè): 班級; 姓名:

摘要近年來隨著計算機與控制技術的蓬勃發(fā)展與廣泛應用,人們從中受益良多,生活中也隨處可見電子產(chǎn)品,自動化,智能化成為發(fā)展趨勢,而以單片機為核心的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測的日新月益。本設計論述了一種以STC89C51單片機為控制單元,以DS18B20為溫度傳感器的溫度控制系統(tǒng)。該控制系統(tǒng)可以實時存儲相關的溫度數(shù)據(jù)并可設置溫度上下限值,實現(xiàn)對環(huán)境溫度測量并在超出范圍的情況下發(fā)出警告。系統(tǒng)設計了相關的硬件電路和相關應用程序。硬件電路主要包括STC89C51單片機最小系統(tǒng),測溫電路、LCD液晶顯示電路以及報警電路等。系統(tǒng)程序主要包括主程序,讀出溫度子程序,計算溫度子程序、按鍵處理程序、LCD顯示程序以及數(shù)據(jù)存儲程序等。關鍵詞:STC89C51單片機;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課題的背景及其意義二十一世紀是科技高速發(fā)展的信息時代,電子技術、單片機技術更是得到廣泛的應用,伴隨著科學技術的發(fā)展,需要對儀器設備的各種參數(shù)進行測量。而溫度涉及到生活生產(chǎn)的各個方面,應運而生溫度測量控制也成為了生活生產(chǎn)中關注的熱點,對溫度的控制在各行各業(yè)中也發(fā)揮著重要的作用。例如在工業(yè)生產(chǎn)之中,利用測量與控制溫度來保證生產(chǎn)的正常運行;在農(nóng)業(yè)中,用于保證蔬菜大棚的恒溫生產(chǎn);更具體點在生活中冰箱,空調(diào)等都需要對溫度進行實時控制。溫度是表征物體冷熱程度的物理量,溫度測量則是工農(nóng)業(yè)生產(chǎn)過程中一個很重要而普遍的參數(shù)。溫度的測量及控制對保證產(chǎn)品質量、提高生產(chǎn)效率、節(jié)約能源、生產(chǎn)安全、促進國民經(jīng)濟的發(fā)展起到非常重要的作用。由于溫度測量的普遍性,溫度傳感器的數(shù)量在各種傳感器中居首位。而且隨著科學技術和生產(chǎn)的不斷發(fā)展,溫度傳感器的種類還是在不斷,從而滿足生產(chǎn)生活中的各種需要。單片機溫度測量控制系統(tǒng)中的關鍵是測量溫度、控制溫度,從而達到各種需求。因此,單片機溫度測量則是對溫度進行有效的測量,并且能夠在工業(yè)生產(chǎn)中得到了廣泛的應用,尤其在電力工程、化工生產(chǎn)、機械制造、冶金工業(yè)、無線控制等重要工業(yè)領域中,扮演著重要角色。在日常生活中,也可廣泛實用于空調(diào)器、電加熱器等各種家居電器。

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

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

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

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

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

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

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

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

·三級程序存儲器鎖定

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

·32位可編程I/O線

·兩個16位定時器/計數(shù)器

·5個中斷源

·可編程串行通道

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

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

各引腳功能敘述如下:1.電源和晶振VCC(40腳)——接+5V電源GND(20腳)——接數(shù)字地XTAL1(19腳)——片內(nèi)震蕩器反相放大器和時鐘發(fā)生器電路的輸入端XTAL2(18腳)——片內(nèi)震蕩器反相放大器的輸出端2.I/O(4個口,32根)P0口——P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。

P1口——P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口——P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”

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

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

口管腳備選功能

P3.0RXD(串行輸入口)

P3.1TXD(串行輸出口)

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

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

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

P3.5T1(記時器1

3.控制線(共4根)RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。

/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。

/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2:實物圖

3:系統(tǒng)相關程序#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);//一微秒延時程序voidinit_d();//ds18b20初始化子程序voiddelay(uint);//一毫秒延時子函數(shù)voidwrite_byte(uchar);//ds18b20寫字節(jié)子程序ucharread_t();//檢測溫度程序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); //松手檢測 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); //松手檢測 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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論