基于單片機(jī)的溫度報(bào)警系統(tǒng)畢業(yè)畢業(yè)論文_第1頁
基于單片機(jī)的溫度報(bào)警系統(tǒng)畢業(yè)畢業(yè)論文_第2頁
基于單片機(jī)的溫度報(bào)警系統(tǒng)畢業(yè)畢業(yè)論文_第3頁
基于單片機(jī)的溫度報(bào)警系統(tǒng)畢業(yè)畢業(yè)論文_第4頁
基于單片機(jī)的溫度報(bào)警系統(tǒng)畢業(yè)畢業(yè)論文_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要 溫度控制是工業(yè)生產(chǎn)過程中經(jīng)常遇到的過程控制,有些工藝過程對(duì)其溫度的控制效果直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計(jì)一種較為理想的溫度控制系統(tǒng)是具有不一般的價(jià)值與意義。在現(xiàn)代化的工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機(jī)械制造和食品加工等諸多領(lǐng)域中,人們都需要對(duì)各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進(jìn)行檢測(cè)和控制。采用MCS-51單片機(jī)來對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機(jī)對(duì)溫度的控制問題是一個(gè)工業(yè)生產(chǎn)

2、中經(jīng)常會(huì)遇到的問題。將這個(gè)問題地解決,能很好地提升生產(chǎn)效率,節(jié)約資源,降低生產(chǎn)成本。本文從硬件和軟件兩方面介紹了MCS-51單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)思路,對(duì)硬件原理圖和程序框圖作了簡(jiǎn)捷的描述該設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,控制算法新穎,控制精度高,有較強(qiáng)的通用性。關(guān)鍵詞:?jiǎn)纹瑱C(jī) 溫度控制 數(shù)字PID控制ABSTRACTIn the modern industrial production, the current, voltage, temperature, pressure, and flow, velocity, and switch quantity is accused of main paramet

3、ers.For example,n metallurgical industry, chemical industry, electric power engineering, paper industry, machinery and food processing and so on many domains, people need to all kinds of heating furnace, heat treatment furnace, reactors and boiler temperature detection and control.Using MCS - 51 SCM

4、 to control temperature, has not only convenient control, simple and flexible configuration advantages, and can greatly improve the technical indexes are controlled temperature, which can greatly improve the products quality and quantity.Therefore, the problem of temperature control chip is a indust

5、rial production we often encounter problems. Based on it, for example, hope to receive other cases and the effect.From the two aspects of hardware and software are introduced MCS - 51 SCM temperature control system design, hardware diagram and the procedures for the description of the simple diagram

6、.Keywords: Microcomputer Temperature control system Digital PID control目 錄 TOC o 1-3 h z u HYPERLINK l _Toc13119 摘 要 PAGEREF _Toc13119 1 HYPERLINK l _Toc30194 ABSTRACT PAGEREF _Toc30194 2 HYPERLINK l _Toc16533 目 錄 PAGEREF _Toc16533 3 HYPERLINK l _Toc2276 第一章 總體設(shè)計(jì)方案及要求 PAGEREF _Toc2276 4 HYPERLINK l

7、_Toc22015 PAGEREF _Toc22015 4 HYPERLINK l _Toc24709 1.2 課程設(shè)計(jì)的任務(wù)要求 PAGEREF _Toc24709 5 HYPERLINK l _Toc32669 第二章 硬件電路的設(shè)計(jì) PAGEREF _Toc32669 6 HYPERLINK l _Toc27079 2.1 單片機(jī)的最小系統(tǒng)硬件電路的設(shè)計(jì) PAGEREF _Toc27079 7 HYPERLINK l _Toc2725 PAGEREF _Toc2725 7 HYPERLINK l _Toc10475 2.1.2 復(fù)位電路 PAGEREF _Toc10475 10 HYPE

8、RLINK l _Toc11948 2.1.3 時(shí)鐘電路 PAGEREF _Toc11948 11 HYPERLINK l _Toc4640 2.2 顯示硬件電路的設(shè)計(jì) PAGEREF _Toc4640 11 HYPERLINK l _Toc1613 2.2.1 液晶顯示電路 PAGEREF _Toc1613 11 HYPERLINK l _Toc6169 2.2.2 液晶顯示電路的設(shè)計(jì) PAGEREF _Toc6169 12 HYPERLINK l _Toc31213 2.3 鍵盤硬件電路的設(shè)計(jì) PAGEREF _Toc31213 13 HYPERLINK l _Toc10298 2.4 溫

9、度傳感器的硬件電路設(shè)計(jì) PAGEREF _Toc10298 14 HYPERLINK l _Toc5544 溫度傳感器電路設(shè)計(jì) PAGEREF _Toc5544 14 HYPERLINK l _Toc18767 2.4.2 溫度傳感器DS18B20的簡(jiǎn)介 PAGEREF _Toc18767 14 HYPERLINK l _Toc19378 2.5 溫度控制執(zhí)行電路設(shè)計(jì) PAGEREF _Toc19378 18 HYPERLINK l _Toc30962 2.6 串行通信接口電路 PAGEREF _Toc30962 19 HYPERLINK l _Toc28332 2.6 電源電路的設(shè)計(jì) PAG

10、EREF _Toc28332 20 HYPERLINK l _Toc1276 2.7 溫度報(bào)警系統(tǒng)電路 PAGEREF _Toc1276 21 HYPERLINK l _Toc19395 第三章 系統(tǒng)的軟件設(shè)計(jì) PAGEREF _Toc19395 22 HYPERLINK l _Toc18878 PAGEREF _Toc18878 23 HYPERLINK l _Toc19082 3.3 數(shù)據(jù)采集軟件設(shè)計(jì) PAGEREF _Toc19082 24 HYPERLINK l _Toc17116 3.4 中斷處理軟件設(shè)計(jì) PAGEREF _Toc17116 24 HYPERLINK l _Toc26

11、869 3.6 顯示軟件設(shè)計(jì) PAGEREF _Toc26869 26 HYPERLINK l _Toc3054 3.7 報(bào)警的軟件設(shè)計(jì) PAGEREF _Toc3054 27 HYPERLINK l _Toc23521 3.8 溫度部分軟件設(shè)計(jì) PAGEREF _Toc23521 27 HYPERLINK l _Toc5987 第四章 調(diào)試和仿真 PAGEREF _Toc5987 29 HYPERLINK l _Toc8447 4.1 系統(tǒng)的調(diào)試 PAGEREF _Toc8447 29 HYPERLINK l _Toc21810 4.2 溫度報(bào)警系統(tǒng)的仿真 PAGEREF _Toc21810

12、 30 HYPERLINK l _Toc4190 第五章 總結(jié) PAGEREF _Toc4190 33 HYPERLINK l _Toc31370 附錄一 程序源代碼 PAGEREF _Toc31370 34 HYPERLINK l _Toc16733 附錄二 系統(tǒng)的原理圖 PAGEREF _Toc16733 47 HYPERLINK l _Toc29586 參考文獻(xiàn) PAGEREF _Toc29586 48第一章 總體設(shè)計(jì)方案及要求由系統(tǒng)的結(jié)構(gòu)框圖,可以看出整個(gè)溫度控制系統(tǒng)的電路組成主要由數(shù)字電路和模擬電路兩部分的結(jié)合,就可以完成對(duì)被測(cè)物體的溫度控制,進(jìn)而實(shí)現(xiàn)溫度報(bào)警。本設(shè)計(jì)以單片機(jī)為核心由

13、主控模塊、輸入通道、輸出通道、保護(hù)電路、電源電路組成等。硬件總體結(jié)構(gòu)框圖如下圖所示。由結(jié)構(gòu)框圖可見,溫度控制系統(tǒng)以單片機(jī)為核心,并擴(kuò)展外部存儲(chǔ)器構(gòu)成主控模塊。被測(cè)對(duì)象的溫度由DS18B20溫度傳感器檢測(cè)外界溫度并轉(zhuǎn)化為數(shù)字信號(hào),通過單片機(jī)處理發(fā)出報(bào)警信號(hào)并驅(qū)動(dòng)相應(yīng)的電機(jī)工作,其系統(tǒng)框圖如下所示:圖1、溫度報(bào)警系統(tǒng)原理框圖傳感器檢測(cè)轉(zhuǎn)化成數(shù)字信號(hào)送給單片機(jī)處理,一方面將被測(cè)對(duì)象的溫度通過控制面板上的液晶顯示器顯示出來;另一方面將該溫度值與設(shè)定的溫度值進(jìn)行比較,根據(jù)其偏差值的大小,最后通過控制繼電器來驅(qū)動(dòng)電機(jī)工作,進(jìn)而達(dá)到對(duì)被測(cè)物體溫度進(jìn)行控制的目的,如果實(shí)際測(cè)得的溫度值超過或低于系統(tǒng)設(shè)定的極限安

14、全溫度,保護(hù)電路會(huì)做出反應(yīng)同時(shí)報(bào)警電路報(bào)警提示,從而保護(hù)被測(cè)物體。單片機(jī)快速、準(zhǔn)確的進(jìn)行溫度采集、數(shù)據(jù)處理、顯示和控制主要是時(shí)鐘電路提供的時(shí)鐘頻率,使單片機(jī)正常的協(xié)調(diào)處理各項(xiàng)任務(wù)。各個(gè)器件工作的電源電壓主要有電源電路提供。則溫度的設(shè)定范圍就通過矩陣鍵盤進(jìn)行設(shè)定,并且溫度的設(shè)定范圍可以人為的重復(fù)修改,使被測(cè)物體在正常的溫度范圍下工作,而采集的溫度值和設(shè)定的溫度值要能直觀的看到就要通過相應(yīng)的顯示電路顯示到相應(yīng)的界面上,如液晶、數(shù)碼管、點(diǎn)陣等。其中保護(hù)電路就是保護(hù)被測(cè)物體避免被損壞。1.2 課程設(shè)計(jì)的任務(wù)要求1、設(shè)計(jì)一個(gè)溫度報(bào)電機(jī)工作警系統(tǒng): 溫度顯示范圍為051度可以更大范文,當(dāng)溫度大于40度時(shí),

15、上限報(bào)警指示燈點(diǎn)亮,并驅(qū)動(dòng)電機(jī)1轉(zhuǎn)動(dòng);當(dāng)溫度小于于10度時(shí),下限報(bào)警指示燈點(diǎn)亮,并驅(qū)動(dòng)電機(jī)2轉(zhuǎn)動(dòng);課程設(shè)計(jì)的要求1、根據(jù)任務(wù)要求選擇方案、設(shè)計(jì)電路、確定元器件型號(hào)和參數(shù)2、硬件設(shè)計(jì):要求設(shè)計(jì)出完整的電路原理圖,包括電源模塊、單片機(jī)最小系統(tǒng)電路、按鍵電路、報(bào)時(shí)電路、顯示電路。3、軟件設(shè)計(jì):包括編程思路,主程序和各子程序模塊的流程圖及編寫方法,并用匯編語言或C語言編寫出完整的源程序。4、按圖焊接電路,檢查無誤后通電調(diào)試,調(diào)試電路的功能是否符合要求。 5、調(diào)試與仿真:對(duì)設(shè)計(jì)的硬件和程序進(jìn)行仿真調(diào)試,并給出仿真結(jié)果。制作實(shí)物進(jìn)行調(diào)試。硬件電路的設(shè)計(jì)硬件電路主要有兩大部分組成:模擬部分和數(shù)字部分;從功能

16、模塊上來分有:主機(jī)電路、數(shù)據(jù)采集電路、鍵盤顯示電路、電源電路、控制執(zhí)行電路以及掉電保護(hù)電路。各個(gè)模塊電路通過主機(jī)電路控制,協(xié)調(diào)一致的進(jìn)行工作。完成對(duì)被測(cè)物體的溫度控制。2.1 單片機(jī)的最小系統(tǒng)硬件電路的設(shè)計(jì)單片機(jī)的最小系統(tǒng)由單片機(jī)和時(shí)鐘電路、復(fù)位電路以及電源電路組成,單片機(jī)的I/O接相應(yīng)的處理電路,其原理圖如下所示:主機(jī)選用INTEL公司的MCS-51系列單片機(jī)89C51來實(shí)現(xiàn),利用單片機(jī)軟件編程靈活、自由度大的特點(diǎn),可擦除下載,力求用軟件完善各種控制算法和邏輯控制。本系統(tǒng)選用的89C51芯片時(shí)時(shí)鐘可達(dá)12MHZ,運(yùn)算速度快,控制功能完善,完全能滿足溫度控制系統(tǒng)的要求。其內(nèi)部具有128字節(jié)數(shù)據(jù)

17、存儲(chǔ)器RAM,還可以通過地址、數(shù)據(jù)線進(jìn)行外圍擴(kuò)展。而且內(nèi)部含有4KB的EPROM不需要外擴(kuò)展存儲(chǔ)器,也有數(shù)據(jù)通信接口,通過TXD、RXD與PC機(jī)連接,可以進(jìn)行人機(jī)操作,使得操作更加簡(jiǎn)單、方便。具有五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí),兩個(gè)外部中斷、兩個(gè)定時(shí)中斷還用一個(gè)通信中斷AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用ATMEL 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾

18、多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。R8 位微控制器8K 字節(jié)在系統(tǒng)可編程,其管腳功能圖如下所示。圖2.2 STC89S52的管腳

19、圖1、功能管腳描述VCC : 電源GND: 地P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被部拉低的引腳由于內(nèi)部電阻的原因

20、,將輸出電流(IIL)。此外,P1.0P1.分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時(shí)P1口接收低8位地址字節(jié)。引腳號(hào) 第二功能P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出;P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5 MOSI(在系統(tǒng)編程用);P1.6 MISO(在系統(tǒng)編程用);P1.7 SCK(在系統(tǒng)編程用)P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),內(nèi)

21、部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使

22、用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。2、引腳第二功能P3.0 RXD(串行輸入);P3.1 TXD(串行輸出);P3.2 INT0(外部中斷0);P3.3 INT0(外部中斷0);P3.4 T0(定時(shí)器0外部輸入);P3.5 T1(定時(shí)器1外部輸入);P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通);P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器寫選通) RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,RST 腳輸

23、出96 個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE 將被微

24、弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。 PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端XTAL2:振蕩器反相放大器的輸出端

25、2.1.2 復(fù)位電路復(fù)位使單片機(jī)處于起始狀態(tài),并從該起始狀態(tài)開始運(yùn)行。AT89C51的RST引腳為復(fù)位端,該引腳連續(xù)保持2個(gè)機(jī)器周期(24個(gè)時(shí)鐘振動(dòng)周期)以上高電平,則可使單片機(jī)復(fù)位。內(nèi)部復(fù)位電路在每一個(gè)機(jī)器周期的S5P2期間采樣斯密特觸發(fā)器的輸出端,該觸發(fā)器可抑制RST引腳的噪聲干擾,并在復(fù)位期間不產(chǎn)生ALE信號(hào),圖2.3 復(fù)位電路內(nèi)部RAM處于不斷電狀態(tài)。其中的數(shù)據(jù)信息不會(huì)丟失,也即復(fù)位后,只影響SFR中的內(nèi)容,內(nèi)部RAM中的數(shù)據(jù)不受影響。外部復(fù)位有上電復(fù)位和按鍵電平復(fù)位。由于單片機(jī)運(yùn)行過程中,其本身的干擾或外界干擾會(huì)導(dǎo)致出錯(cuò),此時(shí)我們可按復(fù)位鍵重新開始運(yùn)行。為了便于本設(shè)計(jì)運(yùn)行調(diào)試,復(fù)位電

26、路采用按鍵復(fù)位方式。2.1.3 時(shí)鐘電路 時(shí)鐘電路是單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏。MCS-51單片機(jī)允許的時(shí)鐘頻率是因型號(hào)而異的,其典型值為12MHZ。AT89C51內(nèi)部有一個(gè)反相振蕩放大器,XTAL1和 XTAL2分別是該反向振蕩放大器的輸入端和輸出端。該反向放大器可配置為片內(nèi)振蕩器,石晶振蕩和陶瓷振蕩均可采用。本設(shè)計(jì)采用的晶振頻率為12MHZ。51系列單片機(jī)還可使用外部時(shí)鐘。在使用外部時(shí)鐘時(shí),外部時(shí)鐘必須從XTAL1輸入,而XTAL2懸空。時(shí)鐘電路如下圖所示:圖2.4 時(shí)鐘電路2.2 顯示硬件電路的設(shè)計(jì)顯示電路用液晶作為顯示電路,字符型液晶顯示直觀明了,用字符提示不像數(shù)碼管,顯示

27、更加直觀。2.2.1 液晶顯示電路液晶顯示電路主要用于當(dāng)前溫度的顯示和設(shè)定時(shí)的溫度顯示,以便于工作人員的觀察。液晶的介紹、基本操作時(shí)序 讀狀態(tài) 輸入:RS=L, R/W=H,E=H 輸出:D0D7=狀態(tài)字讀數(shù)據(jù) 輸入:RS=H, R/W=H,E=H 輸出:無寫指令 輸入:RS=L, R/W=L,D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)寫數(shù)據(jù) 輸入:RS=H, R/W=L, ,D0D7=數(shù)據(jù),E=高脈沖 輸出:無。 、 液晶1602接口信號(hào)寫操作時(shí)序 通過 RS 確定是寫數(shù)據(jù)還是寫命令。讀/寫控制端設(shè)置為寫模式,即低電平。 將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上,給 E 一個(gè)高脈沖將數(shù)據(jù)送入液晶控制器

28、,完成寫操作。寫操作時(shí)序如下圖所示: 圖2.5 液晶些操作時(shí)序、 液晶1602接口信號(hào) 2.2.2 液晶顯示電路的設(shè)計(jì)如圖所示:液晶的數(shù)據(jù)線接P0口,用來傳輸顯示數(shù)據(jù)的信息。而RS、RW、E分別接單片機(jī)的P2.5、P2.6、P2.7口,控制液晶的讀寫操作。通過單片機(jī)的控制顯示出租車計(jì)費(fèi)系統(tǒng)的路程和價(jià)格。其原理圖如下所示:圖2.6 液晶顯示硬件電路2.3 鍵盤硬件電路的設(shè)計(jì)如圖所示按鍵KEY10、KEY11分別與P3.2(INTO)、P2.1相連,采用外部中斷方式。當(dāng)外部中斷1響應(yīng),就可以進(jìn)行當(dāng)前溫度的顯示與設(shè)定溫度顯示的界面切換,同時(shí)兼用溫度上限和下限溫度的值的設(shè)定。圖2.7 鍵盤電路2.4

29、溫度傳感器的硬件電路設(shè)計(jì) 溫度數(shù)據(jù)采集電路主要由數(shù)字溫度傳感器DS18B20采集被測(cè)物體的溫度。溫度傳感器的單總線(1-Wire)與單片機(jī)的 IO連接,P3.7是單片機(jī)的高位地址線。P3端口是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 IO,每個(gè)端口都有第二功能,其輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或 輸出電流)4個(gè)TTL邏輯門電路。對(duì)該端口寫“1”,可通過內(nèi)部上拉電阻將其端口拉至高電平,此時(shí)可作為輸入口使用,這是因?yàn)閮?nèi)部存在上拉電阻,某一引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。如圖2.8所示:溫度傳感器DS18b20與單片機(jī)只用一根線連接即單總線或one_wire總線。數(shù)字溫度傳感器DS18B20只要三個(gè)端口,電路連

30、接很簡(jiǎn)單,一根電源線接電源,一根接地,一根接數(shù)據(jù)時(shí)鐘線接單片機(jī)的I/O口,數(shù)據(jù)時(shí)鐘線上必須接一個(gè)4.7k上拉電阻,防止時(shí)鐘數(shù)據(jù)高阻懸掛,就會(huì)得不到相應(yīng)的數(shù)據(jù)信息,因此也得不到準(zhǔn)確的溫度信息,從而測(cè)得的溫度也是不準(zhǔn)確,所以必須接一個(gè)47K上拉電阻,消除高阻懸掛,獲取準(zhǔn)確的溫度信息。 圖2.8 溫度傳感器硬件電路示意圖2.4.2 溫度傳感器DS18B20的簡(jiǎn)介DS18B20 數(shù)字溫度傳感器是 DALLAS 公司生產(chǎn)的 1Wire,即單總線器件,具有 線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通 信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。一、 DS18B20 產(chǎn)品的特

31、點(diǎn) 1、只要求一個(gè)端口即可實(shí)現(xiàn)通信。2、在 DS18B20 中的每個(gè)件上都有獨(dú)一無二的序列號(hào)。3、實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。 4、測(cè)量溫度范圍在55.C 到125.C 之間。 5、數(shù)字溫度計(jì)的分辨率用戶可以從 9 位到 12 位選擇。 6、內(nèi)部有溫度上、下限告警設(shè)置。7、三個(gè)管腳,1腳是接地腳,2腳是單總線、可向電源提供電源 、3腳是電源腳。8、數(shù)據(jù)線和時(shí)鐘線共用一根線傳輸信息即單總線。二、 DS18B20 的內(nèi)部結(jié)構(gòu) DS18B20 的內(nèi)部框圖如下圖所示。64位RO 存儲(chǔ)器件獨(dú)一無二的序列號(hào)。暫存器包含兩字節(jié)(0和1字節(jié))的溫度寄存器,用于存儲(chǔ)溫度傳感器的數(shù)字輸出。暫存器還

32、提供一字節(jié)的上線警報(bào)觸發(fā)(TH)和下線警報(bào)觸發(fā)(TL)寄存器(2 和 3字節(jié)), 和一字節(jié)的配置寄存器 字節(jié))使用者可以通過配置寄存器來設(shè)置溫度轉(zhuǎn)換的精度。 (4 , 暫存器的 5、6 和 7 字節(jié)器件內(nèi)部保留使用。第八字節(jié)含有循環(huán)冗余碼(CRC ) 。使用 寄生電源時(shí),DS18B20 不需額外的供電電源;當(dāng)總線為高電平時(shí),功率由單總線上的 上拉電阻通過 DQ 引腳提供;高電平總線信號(hào)同時(shí)也向內(nèi)部電容 CPP 充電,CPP 在總線低電平時(shí)為器件供電。其中INTERNAL VDD-內(nèi)部 VDD 64-BIT ROM AND 1-wire PROT-64 位ROM和單線端 MEMORY CONTR

33、OL LOGIC- 存 儲(chǔ) 器 控 制 邏 輯 SCRATCHPAD 暫 存 器 TEMPERATURE SENSOR 溫度傳感器 ALARM HIGH TRIGGER( TH ) REGISTER 上限溫度觸發(fā) ALARM LOW TRIGGER( TL ) REGISTER 下 限溫度觸發(fā) 8-BIT CRC GENERTOR 8 位 CRC 產(chǎn)生器 POWER SUPPLLY SENSE 電源探測(cè) PARASITE POWER CIRCUIT 寄生電源電路。圖 2.9 DS18B20 的內(nèi)部框圖三、 DS18B20 的 4 個(gè)主要數(shù)據(jù)部件 光刻 ROM 中的 64 位序列號(hào)是出廠前被光刻

34、好的,它可以看作是該 DS18B20 的地址序列碼。64 位光刻 ROM 的排列是:開始 8 位(28H)是產(chǎn)品類型標(biāo)號(hào),接著 的 48 位是該 DS18B20 自身的序列號(hào), 最后 8 位是前面 56 位的循環(huán)冗余校驗(yàn)碼。 光刻 ROM 的作用是使每一個(gè) DS18B20 都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè) DS18B20 的目的。 /LSB 形式表達(dá),其中 S 為符號(hào)位這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的 RAM 中,二進(jìn)制中的前面 5 位是符號(hào)位,如果測(cè)得的溫度大于0,這 5 位為 0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度

35、小于 0,這5位為 1,測(cè)到的數(shù)值需要取反加1再乘于0.0625 即可得到實(shí)際溫度,所以數(shù)字溫度傳感器不需要A/D轉(zhuǎn)化器等外圍器件就能獲取溫度值,集成度高,使用方便,測(cè)量精度高。 DS18B20溫度傳感器的存儲(chǔ)器DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存 RAM 和一個(gè)非易失性的可電擦EEPROM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 配置寄存器,五位一直都是1,TM 是測(cè)試模式位,用于設(shè)置 DS18B20 在工作模式還是在 測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。R1和R0 用來設(shè)置 分辨率四、 DS18B20 的工作過程 (1)初始化 DS

36、18B20 所有的數(shù)據(jù)交換都由一個(gè)初始化序列開始。由主機(jī)發(fā)出的復(fù)位脈沖和跟 在其后的由DS18B20發(fā)出的應(yīng)答脈沖構(gòu)成。DS18B20發(fā)出響應(yīng)主機(jī)的應(yīng)答脈沖時(shí), 當(dāng) 即向主機(jī)表明它已處在總線上并且準(zhǔn)備工作。(2) ROM 命令 ROM命令通過每個(gè)器件64-bit的ROM碼,使主機(jī)指定某一特定器件(如果有多個(gè)器件掛在總線上)與之進(jìn)行通信DS18B20 ,每個(gè) ROM 命 令都是 8 bit 長(zhǎng)。(3)功能命令主機(jī)通過功能命令對(duì)DS18B20進(jìn)行讀/寫 Scratchpad存儲(chǔ)器,或者啟動(dòng)溫度轉(zhuǎn)換。 五、DS18B20 的信號(hào)方式 DS18B20 采用嚴(yán)格的單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)

37、議定義了幾種 信號(hào)類型:復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀0 和讀1。除了應(yīng)答脈沖所有這些信 號(hào)都由主機(jī)發(fā)出同步信號(hào)??偩€上傳輸?shù)乃袛?shù)據(jù)和命令都是以字節(jié)的低位在前。(1)初始化序列:復(fù)位脈沖和應(yīng)答脈沖 在初始化過程中,主機(jī)通過拉低單總線至少480的上拉電阻將單總線拉高。 DS18B20檢測(cè)到這個(gè)上升沿后,延時(shí)15s60s,通過拉低總線 60s240s 產(chǎn)生應(yīng)答 脈沖。初始化波形如圖 3-3 所示。 圖 2.10 DS18B20初始化時(shí)序圖 (2)讀和寫時(shí)序 在寫時(shí)序期間,主機(jī)向DS18B20 寫入指令,而在讀時(shí)序期間,主機(jī)讀入來自 DS18B20 的指令。在每一個(gè)時(shí)序,總線只能傳輸一位數(shù)據(jù)。

38、讀/寫時(shí)序如圖 3-4 所示。 圖 2.11 DS18B20 讀/寫時(shí)序圖 控制器采樣 寫時(shí)序:存在兩種寫時(shí)序:“寫 1”和“寫 0” 。主機(jī)在寫 1 時(shí)序向DS18B20寫入邏輯1,而在寫0時(shí)序向DS18B20寫入邏輯0。所有寫時(shí)序至少需要60s,且在兩次寫時(shí)序之 間至少需要 1s 的恢復(fù)時(shí)間。兩種寫時(shí)序均以主機(jī)拉低總線開始。產(chǎn)生寫 1 時(shí)序:主機(jī)拉低總線后,必須在 15s 內(nèi)釋放總線,然后由上拉電阻將總 線拉至高電平。 產(chǎn)生寫0時(shí)序: 主機(jī)拉低總線后,必須在整個(gè)時(shí)序期間保持低電平 (至 少60s)。在寫時(shí)序開始后的 15s60s 期間,DS18B20采樣總線的狀態(tài)。讀時(shí)序 :DS18B20

39、 只能在主機(jī)發(fā)出讀時(shí)序時(shí)才能向主機(jī)傳送數(shù)據(jù)。所以主機(jī)在發(fā)出讀數(shù)據(jù) 命令后,必須馬上產(chǎn)生讀時(shí)序,以便 DS18B20 能夠傳送數(shù)據(jù)。所有讀時(shí)序至少 60s, 且在兩次獨(dú)立的讀時(shí)序之間至少需要 1s 的恢復(fù)時(shí)間。2.5 溫度控制執(zhí)行電路設(shè)計(jì)由輸出來控制電機(jī)工作,電機(jī)可以近似建立為具有滯后性的一階慣性環(huán)節(jié)數(shù)學(xué)模型。其傳遞函數(shù)形式為:G(s)=K/(Ts+1)e-ts電機(jī)可以認(rèn)為是線形環(huán)節(jié)實(shí)現(xiàn)對(duì)被測(cè)物體溫度的控制。為了實(shí)現(xiàn)強(qiáng)電和弱電的隔離,要選擇光電耦合器,使輸出信號(hào)要對(duì)繼電器進(jìn)行通斷控制,以便使電機(jī)工作電路導(dǎo)通,此外,當(dāng)實(shí)際溫度不在設(shè)定的范圍內(nèi),報(bào)警電路將實(shí)時(shí)報(bào)警并作出相相應(yīng)的處理如(報(bào)警信號(hào)傳到單

40、片機(jī)或人,單片機(jī)或人就會(huì)執(zhí)行相應(yīng)的操作),當(dāng)實(shí)際溫度低于設(shè)定的溫度時(shí)相應(yīng)黃色發(fā)光二極管點(diǎn)亮并且加熱器啟動(dòng)低溫的電機(jī)轉(zhuǎn)動(dòng);高于設(shè)定的溫度時(shí)對(duì)應(yīng)紅色二極管亮并且高溫的電機(jī)轉(zhuǎn)動(dòng)。如圖2.5所示:繼電器的通斷通過單片機(jī)的I/O的輸出控制,從而控制加熱器、制冷器的啟停,來控制被測(cè)物體的溫度。圖2.12 溫度控制電路圖如圖2.6所示:報(bào)警電路也是由單片機(jī)的I/O控制,當(dāng)實(shí)際溫度不在設(shè)定的范圍單片機(jī)就會(huì)執(zhí)行相應(yīng)的指令,進(jìn)行實(shí)時(shí)報(bào)警,提示溫度超過或低于設(shè)定的溫度,以便及時(shí)作出處理。圖2.13 報(bào)警電路圖2.6 串行通信接口電路目前,廣泛使用的串行數(shù)據(jù)接口標(biāo)準(zhǔn)有一,一與一三種。其中一是美國(guó)電子工業(yè)協(xié)會(huì)正式公布的

41、串口總線標(biāo)準(zhǔn),也是目前最為常用的串行接口標(biāo)準(zhǔn),用來實(shí)現(xiàn)計(jì)算機(jī)與計(jì)算機(jī)之間,計(jì)算機(jī)與外設(shè)之間的數(shù)據(jù)通訊。串行通信接口的基本任務(wù)是實(shí)現(xiàn)數(shù)據(jù)格式化。來自的是普通的并行數(shù)據(jù),接口電路應(yīng)具有實(shí)現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化的任務(wù)。具體任務(wù)是:進(jìn)行串-并轉(zhuǎn)換;控制數(shù)據(jù)傳輸速率;進(jìn)行錯(cuò)誤檢測(cè);進(jìn)行TTL與EIA電平轉(zhuǎn)換;提供一一接口標(biāo)準(zhǔn)所要求的信號(hào)線。由于電平和TTL電平不匹配,因此要實(shí)現(xiàn)單片機(jī)和機(jī)之間的通信,必須在它們之間加接電平轉(zhuǎn)換器。電平轉(zhuǎn)換器有232電平轉(zhuǎn)換和485電平轉(zhuǎn)換,本設(shè)計(jì)采用232電平轉(zhuǎn)換,系統(tǒng)設(shè)計(jì)采用公司的一接口芯,這是一種標(biāo)準(zhǔn)的一接口芯片。只需巧電源供電,其內(nèi)部的電源變化成士電源用于

42、通信。該芯片集成有兩路收發(fā)器,可將單片機(jī)輸入的電平轉(zhuǎn)換為電平發(fā)送給從機(jī),或?qū)臋C(jī)接收的電平轉(zhuǎn)換為電平發(fā)送給單片機(jī)。通過這樣的電平轉(zhuǎn)換實(shí)現(xiàn)主機(jī)和從機(jī)的通信,本設(shè)計(jì)的MAX232為雙列直插16腳封裝。系統(tǒng)串口通信電路如下圖所示。圖2.14 串行通信接口電路2.6 電源電路的設(shè)計(jì)系統(tǒng)所用直流電源由三端集成穩(wěn)壓器組成的串聯(lián)型直流穩(wěn)壓電源提供。設(shè)計(jì)中選用了雙12V的電源電壓變壓器和四個(gè)三端集成穩(wěn)壓器,分別提供+5V、+8V和一5V、-8V直流電壓,輸出電流均為1A。LM7805、LM7808和LM7905、LM7908的連接方法都一樣。變壓器將的市電降壓后再通過整流橋整流之后采用了大容量的電解電容進(jìn)行濾

43、波,以減小輸出電壓紋波。由于電解電容器在高頻下工作存在電感特性,對(duì)于來自電源側(cè)的高頻干擾不能抑制,導(dǎo)致電流紋波很大,因此在整流電路后加入高頻電容改善紋波效果。給各器件提供電源,使其更好的工作。同時(shí)還采用了保護(hù)電路,在正、負(fù)電源兩端分別串聯(lián)了保險(xiǎn)管起雙重保險(xiǎn),當(dāng)負(fù)載功率過大保險(xiǎn)絲就會(huì)熔斷,三端集成穩(wěn)壓管的輸入、輸出反接了二極管保護(hù),避免反向電流過大擊穿穩(wěn)壓管,起到了很好的保護(hù)作用,電源電路如圖2-17和2-18所示。2.7 溫度報(bào)警系統(tǒng)電路主機(jī)電路、數(shù)據(jù)采集電路、鍵盤顯示電路、電源電路、控制執(zhí)行電路以及掉電保護(hù)電路。各個(gè)模塊電路通過主機(jī)電路控制,協(xié)調(diào)一致的進(jìn)行工作。完成對(duì)被測(cè)物體的溫度控制。圖2

44、.16 溫度報(bào)警電路 系統(tǒng)的軟件設(shè)計(jì)在微機(jī)測(cè)控系統(tǒng)中,軟件與硬件同樣重要。硬件是系統(tǒng)的軀體,軟件則是靈魂,當(dāng)系統(tǒng)的硬件電路設(shè)計(jì)好之后,系統(tǒng)的主要功能還是要靠軟件來實(shí)現(xiàn),而且軟件的設(shè)計(jì)在很大程度上決定了測(cè)控系統(tǒng)的性能。為了滿足系統(tǒng)的要求,編制軟件時(shí)一般要符合以下基本要求:(1)易理解性、易維護(hù)性 在軟件的設(shè)計(jì)方法中,結(jié)構(gòu)化設(shè)計(jì)是最好的一種設(shè)計(jì)方法,這種設(shè)計(jì)方法是由整體到局部,然后再由局部到細(xì)節(jié),先考慮整個(gè)系統(tǒng)所要實(shí)現(xiàn)的功能,確定整體目標(biāo),然后把這個(gè)目標(biāo)分成一個(gè)個(gè)的任務(wù),任務(wù)中可以分成若干個(gè)子任務(wù),這樣逐層細(xì)分,逐個(gè)實(shí)現(xiàn);(2)實(shí)時(shí)性 實(shí)時(shí)性是電子測(cè)量系統(tǒng)的普遍要求即要求系統(tǒng)及時(shí)響應(yīng)外部事件的發(fā)生

45、,并及時(shí)給出處理結(jié)果。近年來,由于硬件的集成度與運(yùn)算速度的提高,配合相應(yīng)的軟件,實(shí)時(shí)性比較容易滿足設(shè)計(jì)要求;(3)準(zhǔn)確性 準(zhǔn)確性 準(zhǔn)確性對(duì)整個(gè)系統(tǒng)具有重要意義,尤其是測(cè)量系統(tǒng),系統(tǒng)要進(jìn)行一定量的運(yùn)算,算法的正確性和準(zhǔn)確性對(duì)結(jié)果有著直接的影響,因此在算法的選擇、計(jì)算的精度等方面都要符合設(shè)計(jì)的要求。(4)可靠性可靠性是系統(tǒng)軟件最重要的指標(biāo)之一,作為能夠穩(wěn)定運(yùn)行的系統(tǒng),抗干擾技術(shù)的應(yīng)用是必不可少的,最起碼的要求是在軟件受到干擾出現(xiàn)異常時(shí),系統(tǒng)還能恢復(fù)正常工作。 結(jié)合上述編制系統(tǒng)軟件的基本要求,首先討論軟件的設(shè)計(jì)思想。 系統(tǒng)的軟件由三大模塊組成:主程序模塊、功能實(shí)現(xiàn)模塊和運(yùn)算控制模3.1 軟件模塊由于

46、整個(gè)系統(tǒng)軟件相對(duì)比較龐大,為了便于編寫、調(diào)試、修改和增刪,系統(tǒng)軟件的編制采用了模塊化的設(shè)計(jì)。即整個(gè)控制軟件由許多獨(dú)立的小模塊組成,它們之間通過軟件接口連接,遵循模塊內(nèi)部數(shù)據(jù)關(guān)系緊湊,模塊之間數(shù)據(jù)關(guān)系松散的原則,按功能形成模塊化結(jié)構(gòu)。系統(tǒng)的軟件主要由主程序模塊、溫度數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、控制算法模塊等組成。主模塊的功能是為其余幾個(gè)模塊構(gòu)建整體框架及初始化工作數(shù)據(jù)采集模塊的作用是將轉(zhuǎn)換的數(shù)字量采集并儲(chǔ)存到存儲(chǔ)器中數(shù)據(jù)處理模塊是將采集到的數(shù)據(jù)進(jìn)行一系列的處理,其中最重要的是數(shù)字濾波程序控制算法模塊完成控制系統(tǒng)的運(yùn)輸出控制量。下面就介紹本系統(tǒng)幾個(gè)主要的程序模塊。主程序模塊要做的主要工作是上電后對(duì)

47、系統(tǒng)初始化和構(gòu)建系統(tǒng)整體軟件框架,其中初始化包括對(duì)單片機(jī)的初始化、芯片初始化和串口初始化等。然后顯示當(dāng)前溫度或者溫度設(shè)定,若溫度已經(jīng)設(shè)定好了,判斷系統(tǒng)運(yùn)行鍵是否按下,若系統(tǒng)運(yùn)行,則依次調(diào)用各個(gè)相關(guān)模塊,循環(huán)控制直到系統(tǒng)停止運(yùn)行。主程序要協(xié)調(diào)各個(gè)模塊的工作,要把溫度采集、溫度設(shè)置、溫度顯示、鍵盤掃描輸入、中斷處理等各個(gè)模塊的子程序統(tǒng)一協(xié)調(diào)起來,避免混亂打架的現(xiàn)象,要使得溫度控制各個(gè)模塊正常的工作。主程序在整個(gè)程序中起著至關(guān)重要的作用,是各個(gè)子程序聯(lián)系的樞紐。主程序模塊的程序流程圖如圖3.2所示。在附錄中給出了系統(tǒng)初始化源程序。 圖3.1 主程序流程圖3.3 數(shù)據(jù)采集軟件設(shè)計(jì)數(shù)據(jù)采集模塊的任務(wù)是負(fù)

48、責(zé)溫度信號(hào)的采集以及將采集到的溫度模擬量信號(hào)轉(zhuǎn)化為相應(yīng)的數(shù)字量信號(hào)提供給單片機(jī)。單片機(jī)再經(jīng)過相應(yīng)的數(shù)據(jù)處理,數(shù)據(jù)采集主要通過DS18b20溫度傳感器采集被測(cè)物體的溫度。因?yàn)閿?shù)字溫度傳感器DS18B20能將外界的溫度直接轉(zhuǎn)換成數(shù)字信號(hào),直接送入單片機(jī)處理就行了,就不用在經(jīng)過A/D轉(zhuǎn)化器將其轉(zhuǎn)化成數(shù)字信號(hào),這樣就方便了很多而且抗干擾能力強(qiáng)。軟件程序也簡(jiǎn)化了很多,數(shù)據(jù)采集模塊的程序流程:數(shù)據(jù)采集的程序初始化即DS18b20的程序初始化采集溫度等待溫度轉(zhuǎn)換讀取溫度送給單機(jī)處理,如圖3.4所示:圖3.2 溫度采集流程圖3.4 中斷處理軟件設(shè)計(jì)功能實(shí)現(xiàn)模塊主要由中斷處理子程序、鍵盤處理子程序、顯示子程序等

49、部分組成。中斷系統(tǒng)在單片機(jī)應(yīng)用系統(tǒng)中占有非常重要的角色,其中前后臺(tái)的應(yīng)用最為實(shí)用,中斷系統(tǒng)能幫助我們及時(shí)處理重要事務(wù),出現(xiàn)故障能進(jìn)行實(shí)時(shí)處理,中斷還能夠節(jié)約大量的CPU資源,就比如查詢方式來說中斷查詢方式要比軟件查詢方式要來得方便,可靠且節(jié)約內(nèi)存等,中斷系統(tǒng)對(duì)單片機(jī)來說是占有不可或缺的地位,限于篇幅,只介紹中斷處理子程序。外部中斷INT0是優(yōu)先級(jí)最高,優(yōu)先級(jí)高于其他的四個(gè)中斷,外部中斷0響應(yīng)用于退出溫度設(shè)置界面,恢復(fù)到當(dāng)前溫度采集界面,進(jìn)行溫度采集、顯示以及判斷是否越限并是否輸出報(bào)警等功能,其流程:開始程序初始化等待中斷跳出溫度設(shè)置界面執(zhí)行相應(yīng)的程序。流程圖如3.7所示:圖3.3 外部中斷IN

50、T0中斷程序流程圖 本系統(tǒng)中,在軟件方面的抗干擾措施主要從以下兩個(gè)個(gè)方面來考慮(1)按鍵的軟件消抖按鍵是一個(gè)機(jī)械開關(guān),當(dāng)鍵按下時(shí),開關(guān)閉合;當(dāng)鍵松開時(shí),開關(guān)斷開。其特點(diǎn)之一就是它的抖動(dòng)性,這是由按鍵的機(jī)械特性所決定的,抖動(dòng)的時(shí)間一般約為10ms一20ms。對(duì)于按鍵消抖的具體措施目前有兩種:一是用硬件電路來實(shí)現(xiàn),即用濾波電路濾除抖動(dòng)或用觸發(fā)器消除抖動(dòng)。另一種是用軟件延時(shí)的方法來解決,即利用軟件的延時(shí)避開按鍵的按下與抬起時(shí)都有的抖動(dòng)期,從而避免檢測(cè)到干擾信號(hào)。本文采用的就是軟件延時(shí)消抖的方法。附錄中給出了延時(shí)程序的源程序,同時(shí)延時(shí)程序還作為通用功能模塊被其他模塊調(diào)用。(2)濾波消抖數(shù)字濾波是將一組

51、輸入數(shù)字序列進(jìn)行一定的運(yùn)算而轉(zhuǎn)換成另一組輸出數(shù)字序列的方法,采用軟件濾波算法不需要增加硬件設(shè)備,可靠性高,功能多樣,使用靈活,但是要占用一定的處理器運(yùn)行時(shí)間。在本系統(tǒng)設(shè)計(jì)中,采用了數(shù)字濾波的軟件抗干擾措施,所采用的數(shù)字濾波算法是去極值平均濾波法。程序判斷濾波法首先要從經(jīng)驗(yàn)出發(fā),定出一個(gè)目標(biāo)參數(shù)最大可能的變化范圍。每次采樣后都和上次的有效采樣值進(jìn)行比較,如果變化幅度不超過經(jīng)驗(yàn)值,本次采樣有效,否則,本次采樣值應(yīng)視為干擾而放棄,以上次采樣值為準(zhǔn)。該算法適用于變化緩慢的物理參數(shù)的采樣過程。算術(shù)平均濾波法是對(duì)目標(biāo)參數(shù)進(jìn)行連續(xù)采樣,然后求其算術(shù)平均值作為有效采樣值。該算法適用于抑制隨機(jī)千擾。采樣次數(shù)越大

52、,平滑效果越好,但系統(tǒng)的靈敏度要下降。算術(shù)平均濾波不能將明顯的脈沖干擾消除,只是將其影響削弱,因此本設(shè)計(jì)不采用此方法。3.6 顯示軟件設(shè)計(jì)采用技術(shù)成熟,價(jià)格便宜的 1602 液晶顯示器做為輸出顯示。顯示設(shè)定的溫度范圍和被測(cè)物體的當(dāng)前溫度,本次設(shè)計(jì)使用的 1602 液晶顯示器為 5V 電壓驅(qū)動(dòng),帶背光可調(diào),可顯示兩行字符,每行16個(gè)字符,不能顯示漢字,內(nèi)置 128 個(gè)字符的 ASCII 字符集字庫,也可以自定義字符,只有并行接口,無串行接口。液晶顯示方便、靈活。其流程:開始液晶顯示初始化檢測(cè)忙碌信號(hào)寫入顯示RAM地址寫入顯示的數(shù)據(jù)顯示在液晶上結(jié)束,其流程圖如3.8所示:圖3.4 液晶顯示程序流程

53、圖3.7 報(bào)警的軟件設(shè)計(jì)本文中所設(shè)計(jì)的報(bào)警電路較為簡(jiǎn)單,由一個(gè)自我震蕩型的蜂鳴器(只要在蜂鳴器兩端加上超過3V的電壓,蜂鳴器就會(huì)叫個(gè)不停)和一個(gè)發(fā)光二極管組成。在這次設(shè)計(jì)中蜂鳴器是通過三極管電流放大IC來控制。在我們所要求的溫度達(dá)到一定的上界或者下界時(shí),報(bào)警電路開始工作。程序流程:開始判斷當(dāng)前溫度是否越限發(fā)出報(bào)警,流程圖如3.9所示,程序主要函數(shù)見附錄。圖3.5 報(bào)警程序流程圖3.8 溫度部分軟件設(shè)計(jì) DS18B20的一線工作協(xié)議流程是:初始化ROM操作指令存儲(chǔ)器操作指令數(shù)據(jù)傳輸。其工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序。故主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要

54、對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。每次訪問單總線器件必須嚴(yán)格遵守這個(gè)命令序列如果出現(xiàn)序列混亂則單總線器件不會(huì)響應(yīng)主機(jī)但是這個(gè)準(zhǔn)則對(duì)于搜索ROM命令和報(bào)警搜索命令例外在執(zhí)行兩者中任何一條命令之后主機(jī)不能執(zhí)行其后的功能命令必須返回至第一步,復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋DS18B20收到信號(hào)后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。程序主要函數(shù)見附錄。 獲取被測(cè)物體的溫度主要依靠DS18b20數(shù)字溫度傳感器,獲取的數(shù)字溫度信號(hào)直接送給單片機(jī)處理,就可以獲

55、得當(dāng)前溫度,因?yàn)镈S18b20是依靠單總線傳輸數(shù)字溫度信息,所以要遵守嚴(yán)格的單總線協(xié)議,其流程為:開始程序初始化等待應(yīng)答脈沖發(fā)送ROM操作指令延時(shí)、等待溫度轉(zhuǎn)化延時(shí)、讀取溫度結(jié)束。其流程圖如3.10所示:圖3.6 溫度獲取程序流程圖調(diào)試和仿真4.1 系統(tǒng)的調(diào)試硬件電路調(diào)試,先用proteus仿真之后,在去買好元器件清單,焊接電路。焊接要特別小心,要仔細(xì)的對(duì)照電路圖,既不能使電路短路也不能是電路開路,保持電路的暢通,并在相應(yīng)的位置裝上發(fā)光二級(jí)管提示電路通電,可以減輕硬件電路的調(diào)試?yán)щy,還有芯片的焊接要根據(jù)芯片資料了解管腳的功能去焊接,不然很容易燒壞芯片,如過芯片的工作不正常先觀察芯片管腳有無接觸

56、,或者芯片的使能是不是根據(jù)相應(yīng)的要求接的,在用萬用表去測(cè)試電源管腳是否通電,通電后在去測(cè)相應(yīng)的管腳是否輸出相應(yīng)的電平,如果沒有就是芯片有問題,如果相應(yīng)位置的二極管沒有點(diǎn)亮,先觀察二級(jí)管有沒接反,如果沒接反就用萬用表去測(cè)看是否有電壓,如果沒有電壓說明沒通電,如果有電壓說明二極管壞了,當(dāng)然也要根據(jù)軟件結(jié)合,測(cè)試數(shù)碼管給以程序,8段數(shù)碼管一段一段的觀察,看是否管腳接錯(cuò),如果斷碼接錯(cuò)了等顯示數(shù)據(jù)就會(huì)錯(cuò)亂。系統(tǒng)軟件程序調(diào)試,程序調(diào)試先在KEIL軟件里寫好各模塊程序,在一個(gè)個(gè)子程序調(diào)試,結(jié)合proteus仿真成功后,再將所有的程序拼在一起調(diào)試,軟件調(diào)試注意的主要是定時(shí)中的的初始化,算好中斷時(shí)間,還有按鍵程

57、序,看是否讀取得到相應(yīng)的電平,其他的就沒沒什么了吧。4.2 溫度報(bào)警系統(tǒng)的仿真在正常的溫度中工作,綠燈亮,電機(jī)不工作,如下圖所示:圖4.1 在正常溫度范圍內(nèi)工作的仿真圖在高于40的環(huán)境工作,紅燈亮,同時(shí)相應(yīng)的電機(jī)轉(zhuǎn)動(dòng)圖4.2 在高溫環(huán)境中工作的仿真圖在低于10的環(huán)境工作,黃燈亮,同時(shí)相應(yīng)的電機(jī)轉(zhuǎn)動(dòng) 圖4.3 在低溫環(huán)境中工作的仿真圖設(shè)置工作溫度的下限圖4.4 設(shè)置工作溫下限的仿真圖設(shè)置工作溫度的上限圖4.5 設(shè)置工作溫上限的仿真圖總結(jié)社會(huì)是不斷變化的、發(fā)展的,眼下社會(huì)發(fā)展迅速,對(duì)人才的要求越來越高,要用發(fā)展的眼光看社會(huì),要學(xué)會(huì)習(xí),學(xué)會(huì)創(chuàng)新,學(xué)會(huì)適應(yīng)社會(huì)的發(fā)展需要。在走出校園,邁向社會(huì)之即,把握

58、今天,才學(xué)能創(chuàng)造未來。課程設(shè)計(jì)工作中,在老師的熏陶和教誨下,使我懂得了更多的設(shè)計(jì)思想,有了一定的創(chuàng)新精神和專研精神。在完成畢業(yè)設(shè)計(jì)的這段時(shí)間里,我收獲頗多。本文設(shè)計(jì)的出租車計(jì)費(fèi)系統(tǒng)具有硬件簡(jiǎn)單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低,壽命長(zhǎng)等特點(diǎn)。主要做了下面幾點(diǎn)較突出的工作:一、通過查閱相關(guān)資料,詳細(xì)了解了AT89C51單片機(jī)的原理,明確了設(shè)計(jì)采用的元件,明確了研究目標(biāo)。二、本文給出了系統(tǒng)具體的硬件設(shè)計(jì)方案,硬件結(jié)構(gòu)電路圖,設(shè)計(jì)中采用的編程軟件的介紹,電路圖模塊分析等方面。三、在這次課程設(shè)計(jì)的過程中,進(jìn)一步學(xué)習(xí)了單片機(jī)的基本使用,感到了單片機(jī)對(duì)復(fù)雜電路設(shè)計(jì)的重要性。通過本次設(shè)計(jì)我對(duì)單片機(jī)有了一定的認(rèn)

59、識(shí),這是我對(duì)專業(yè)知識(shí)一次實(shí)際性檢驗(yàn)和鞏固。課程設(shè)計(jì)收獲很多,比如學(xué)會(huì)了查找相關(guān)資料,分析數(shù)據(jù),提高了自己的繪圖能力,讓自己的設(shè)計(jì)思想也不斷得到修正和提高。理論與實(shí)際相結(jié)合,不僅包括課堂上學(xué)習(xí)的有關(guān)知識(shí)要與技能訓(xùn)練相結(jié)合,還要包括了解可接觸社會(huì)實(shí)際的能容。進(jìn)行課程設(shè)計(jì),是在專業(yè)知識(shí)的指導(dǎo)下,通過各種方式,解決一些實(shí)際性的問題。在設(shè)計(jì)過程中,可以將所學(xué)習(xí)得理論知識(shí)運(yùn)用到實(shí)踐中,不僅能加深自己對(duì)專業(yè)知識(shí)的理解,而且能豐富和發(fā)展書本上的理論知識(shí),使之轉(zhuǎn)化成更高層次的經(jīng)驗(yàn)、技能和技巧。附錄一 程序源代碼#include/頭文件#include/包含NOP空操作指令的頭文件sbit rs= P26;/數(shù)據(jù)

60、命令選擇端sbit rw = P25;/讀寫選擇端(H/L?sbit ep = P27;/使能信號(hào)sbit DQ = P37;/溫度數(shù)據(jù)信號(hào)sbit HT_motor = P10;/電機(jī)驅(qū)動(dòng)變量sbit LT_motor = P11;/電機(jī)驅(qū)動(dòng)變量sbit H_alarm = P12;/高溫報(bào)警提示sbit normal = P13;/正常溫度提示sbit L_alarm = P14;/低溫報(bào)警提示sbit key_add1 = P20;/溫度設(shè)置加1sbit key_add10= P21;/溫度設(shè)置加10sbit key_dec1 = P22;/溫度設(shè)置減1sbit key_dec10= P

溫馨提示

  • 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. 人人文庫網(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)論