基于ARM(STM32F107)的多路溫度檢測系統(tǒng)完版畢業(yè)論文_第1頁
基于ARM(STM32F107)的多路溫度檢測系統(tǒng)完版畢業(yè)論文_第2頁
基于ARM(STM32F107)的多路溫度檢測系統(tǒng)完版畢業(yè)論文_第3頁
基于ARM(STM32F107)的多路溫度檢測系統(tǒng)完版畢業(yè)論文_第4頁
基于ARM(STM32F107)的多路溫度檢測系統(tǒng)完版畢業(yè)論文_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . i / 65畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)(計(jì)( 論論 文文 )題目題目基于單片機(jī)的多點(diǎn)溫度基于單片機(jī)的多點(diǎn)溫度檢測系統(tǒng)檢測系統(tǒng). . . . i / 65畢業(yè)設(shè)計(jì)(論文)任務(wù)書畢業(yè)設(shè)計(jì)(論文)任務(wù)書 信息與電氣工程學(xué)院 院 電子信息工程 系(教研室)系(教研室)主任:(簽名) 年月日1 設(shè)計(jì)(論文)題目與專題:基于單片機(jī)的多點(diǎn)溫度檢測系統(tǒng)2 學(xué)生設(shè)計(jì)(論文)時間:自 2012 年 2 月 20 日開始至 2012 年 6 月 8 日止3 設(shè)計(jì)(論文)所用資源和參考資料:1)傳感器原理與應(yīng)用 2)計(jì)算機(jī)控制與接口技術(shù)3)單片機(jī)原理與應(yīng)用 4)STM32F107xx Reference m

2、anual5)STM32F10 xxx Cortex-M3 programming manual 6)金牛開發(fā)板用戶使用手冊 7)金牛開發(fā)板原理圖 4 設(shè)計(jì)(論文)應(yīng)完成的主要容:1)控制系統(tǒng)簡介 2)單片機(jī)控制原理 3)系統(tǒng)硬件設(shè)計(jì) 4)系統(tǒng)軟件設(shè)計(jì) 5)系統(tǒng)設(shè)計(jì)仿真結(jié)果 6)系統(tǒng)設(shè)計(jì)的優(yōu)缺點(diǎn),設(shè)計(jì)心得 5 提交設(shè)計(jì)(論文)形式(設(shè)計(jì)說明與圖紙或論文等)與要求:1)論文正文不少于 1.5 萬字,提供電子版和紙質(zhì)版,格式和要求按院有關(guān)規(guī)定2)提供系統(tǒng)原理圖、硬件原理圖、印刷板圖與軟件框圖 3)要有設(shè)計(jì)總結(jié)和設(shè)計(jì)心得 6 發(fā)題時間:2012 年 2 月 20 日指導(dǎo)教師: (簽名)學(xué) 生: (簽

3、名)湖湖 南南 科科 技技 大大 學(xué)學(xué)畢業(yè)設(shè)計(jì)(論文)指導(dǎo)人評語畢業(yè)設(shè)計(jì)(論文)指導(dǎo)人評語. . . . ii / 65主要對學(xué)生畢業(yè)設(shè)計(jì)(論文)的工作態(tài)度,研究容與方法,工作量,文獻(xiàn)應(yīng)用,創(chuàng)新性,實(shí)用性,科學(xué)性,文本(圖紙)規(guī)程度,存在的不足等進(jìn)行綜合評價指導(dǎo)人:指導(dǎo)人: (簽名)年 月 日指導(dǎo)人評定成績:指導(dǎo)人評定成績:湖湖 南南 科科 技技 大大 學(xué)學(xué)畢業(yè)設(shè)計(jì)(論文)評閱人評語畢業(yè)設(shè)計(jì)(論文)評閱人評語. . . . iii / 65主要對學(xué)生畢業(yè)設(shè)計(jì)(論文)的文本格式、圖紙規(guī)程度,工作量,研究容與方法,實(shí)用性與科學(xué)性,結(jié)論和存在的不足等進(jìn)行綜合評價評閱人:評閱人: (簽名)(簽名)年年

4、 月月 日日評閱人評定成績:評閱人評定成績:湖南科技大學(xué)湖南科技大學(xué)畢業(yè)設(shè)計(jì)(論文)答辯記錄畢業(yè)設(shè)計(jì)(論文)答辯記錄日期:日期:20122012 年年 6 6 月月 7 7 號號 . . . . iv / 65學(xué)生:學(xué)生: 克厚克厚 學(xué)號:學(xué)號:08040302220804030222 班級:班級: 電子電子 2 2 班班 題目:題目:基于單片機(jī)的多點(diǎn)溫度檢測系統(tǒng)基于單片機(jī)的多點(diǎn)溫度檢測系統(tǒng)提交畢業(yè)設(shè)計(jì)(論文)答辯委員會下列材料:提交畢業(yè)設(shè)計(jì)(論文)答辯委員會下列材料:1 1 設(shè)計(jì)(論文)說明書設(shè)計(jì)(論文)說明書 共共 2 2 7 7 頁頁2 2 設(shè)計(jì)(論文)圖設(shè)計(jì)(論文)圖 紙紙 共共 4

5、4 頁頁3 3 指導(dǎo)人、評閱人評語指導(dǎo)人、評閱人評語 共共 2 2 頁頁畢業(yè)設(shè)計(jì)(論文)答辯委員會評語:畢業(yè)設(shè)計(jì)(論文)答辯委員會評語:主要對學(xué)生畢業(yè)設(shè)計(jì)(論文)的研究思路,設(shè)計(jì)(論文)質(zhì)量,文本圖紙規(guī)程度和對設(shè)計(jì)(論文)的介紹,回答問題情況等進(jìn)行綜合評價答辯委員會主任:答辯委員會主任:(簽名)委員:委員:(簽名)(簽名)(簽名)(簽名)答辯成績:答辯成績:總評成績:總評成績:. . . . i / 65摘摘 要要隨著社會的進(jìn)步和工業(yè)技術(shù)的發(fā)展,人們越來越重視溫度因素,目前許多產(chǎn)品都對溫度圍要求嚴(yán)格,但是目前市場上普遍存在的溫度檢測儀器大都是單點(diǎn)測量,并且有溫度信息傳遞不與時、精度不夠的缺點(diǎn),

6、不利于工業(yè)控制者根據(jù)溫度變化與時做出決定。在這樣的形式下,開發(fā)設(shè)計(jì)出一種能夠同時測量多點(diǎn),并且實(shí)時性高、精度高,能夠綜合處理多點(diǎn)溫度信息的測量系統(tǒng)就很有必要。本課題以 STM32F107 單片機(jī)系統(tǒng)為核心,并能對多點(diǎn)溫度進(jìn)行實(shí)時巡檢。DS18B20 是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測量電路變得簡單、可靠。本論文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了 DS18B20 數(shù)字溫度傳感器在單片機(jī)下的硬件連接與軟件編程,并給出了軟件流程圖。關(guān)鍵關(guān)鍵詞詞:溫度測量;單總線;數(shù)字溫度傳感器;STM32F107 單片機(jī). . . . ii /

7、 65AbstractAbstractAlong with the progress of the society and the development of the technology industry, People pay more and more attention to temperature factors,nowmanyproducts strict to temperature range, But on the market atpresent the prevalence of temperature testing instrument is mostly sing

8、le-point measurement, And have a temperature information transfer not timely, precision insufficient shortcomings, According to temperature change against industrial controller make timely decision. In this form, development and design a kind of can simultaneously measuring more, and high real-time,

9、 high precision, and can handle more comprehensive information system of measurement temperature is very necessary. This topic to STM32F107single-chip microcomputer system as the core, and able to more real-time temperature inspection. DS18B20 is a network of high precision digital temperature senso

10、r, since it has the unique advantages single bus, users can easily set up sensor network, and can make more temperature measurement circuit become simple and reliable. In this paper the actual use of experience, this paper introduces digital temperature sensor DS18B20 in under the single chip of the

11、 hardware connection and software program- ming, and gives the software flow chart.KeyKey wordswords:temperature measurement;single bus;Digital temperature sensor;STM32F107 single chip;. . . . iii / 65目目 錄錄第一章第一章 緒緒 論論11.1 課題背景 11.2 本課題的任務(wù)與目標(biāo) 21.3 本課題的方案設(shè)計(jì) 2第二章硬件設(shè)計(jì)第二章硬件設(shè)計(jì)42.1 溫度傳感器設(shè)計(jì) 42.2 單片機(jī)系統(tǒng)設(shè)計(jì) 62

12、.3 顯示電路設(shè)計(jì) 82.4 鍵盤電路設(shè)計(jì) 102.5 報(bào)警電路設(shè)計(jì) 112.6 存儲模塊設(shè)計(jì) 112.7 通信模塊設(shè)計(jì) 12第三章軟件設(shè)計(jì)第三章軟件設(shè)計(jì)143.1 軟件設(shè)計(jì)的一般原則 143.2 系統(tǒng)主程序流程圖 153.3 溫度傳感器程序設(shè)計(jì) 163.4 顯示程序設(shè)計(jì) 183.5 鍵盤程序設(shè)計(jì) 193.6 報(bào)警程序設(shè)計(jì) 193.7 存儲模塊程序設(shè)計(jì) 203.8 通信模塊程序設(shè)計(jì) 21第四章第四章 結(jié)結(jié) 論論22參考文獻(xiàn)參考文獻(xiàn)23致致24附錄附錄25. . . . 1 / 65第一章第一章 緒緒 論論1.11.1 課題背景課題背景在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪

13、里,從事什么工作,無時無刻不在與溫度打著交道。自 18 世紀(jì)工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著很大的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等行業(yè),可以說幾乎 80%的工業(yè)部門都不得不考慮著溫度的因素。 溫度傳感器主要經(jīng)過了三個發(fā)展階段:(1)模擬集成溫度傳感器:該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器,此種傳感器具有功能單一、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡單。它是目前應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135 等;(2)模

14、擬集成溫度控制器:該傳感器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有 LM56、AD22105 和 MAX6509。某些增強(qiáng)型集成溫度控制器中還包含了 A/D 轉(zhuǎn)換器以與固化好的程序,這與智能溫度傳感器有某些相似之處,但它自成系統(tǒng),工作時并不受微處理器的控制,這是二者的主要區(qū)別;(3)智能溫度傳感器:該傳感器(亦稱數(shù)字溫度傳感器)是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器部都包含溫度傳感器、A/D 轉(zhuǎn)換器、信號處理器、存儲器和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲器(RAM)和只讀存儲器(ROM),智能溫度傳感器的特點(diǎn)是能輸出溫度數(shù)

15、據(jù)與相關(guān)的溫度控制量,適配各種微控制器(MCU),并且它是在硬件的基礎(chǔ)上通過軟件來實(shí)現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。進(jìn)入 21 世紀(jì)后,溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性與安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。目前市場上主要存在單點(diǎn)和多點(diǎn)兩種溫度測量儀表。對于單點(diǎn)溫測儀表,主要采用傳統(tǒng)的模擬集成溫度傳感器,其中又以熱電阻、熱電偶等傳感器的測量精度高,測量圍大,而得到了普遍的應(yīng)用。此種產(chǎn)品測溫圍大都在-200800之間,分辨率 12 位,最小分辨溫度在 0.0010.01 之間自,帶 LED 顯示模塊,顯示 4 位到 16

16、 位不等,有的儀表還具有存儲功能,可存儲幾百到幾千組數(shù)據(jù),該類儀表可很好的滿足單個用戶單點(diǎn)測量的需要。多點(diǎn)溫度測量儀表,相對與單點(diǎn)的測量精度有一定的差距,雖然實(shí)現(xiàn)了多路溫度的測控,但價格昂貴。. . . . 2 / 65針對目前市場的現(xiàn)狀,本課題提出了一種可滿足要求、可擴(kuò)展的并且性價比較高的單片機(jī)多路測溫系統(tǒng)。1.21.2 本課題的任務(wù)本課題的任務(wù)與目標(biāo)與目標(biāo)本課題設(shè)計(jì)主要是實(shí)現(xiàn)對溫度進(jìn)行多點(diǎn)同時測量并準(zhǔn)確顯示。整個系統(tǒng)由單片機(jī)控制,要能夠接收溫度傳感器的數(shù)據(jù)并顯示出來,并且可以從鍵盤輸入命令,系統(tǒng)根據(jù)不同的命令,實(shí)現(xiàn)不同的功能,并且能夠?qū)Ξ惓G闆r進(jìn)行報(bào)警,還可以將測量數(shù)據(jù)保存起來以供以后查詢

17、使用或者通過串口傳給 PC 機(jī)。并設(shè)計(jì)一種合理、可行的單片機(jī)監(jiān)控軟件,完成多點(diǎn)測量和顯示的任務(wù),并編寫硬件底層驅(qū)動程序。1.31.3 本課題的方案設(shè)計(jì)本課題的方案設(shè)計(jì)溫度測量的方案有很多種,可以采用傳統(tǒng)的分立式傳感器、模擬集成傳感器以與新興的智能型傳感器,而對于控制系統(tǒng)則可以采用計(jì)算機(jī)、單片機(jī)等。.1設(shè)計(jì)方案一設(shè)計(jì)方案一本方案采用模擬分立元件,如電容、電感或晶體管等非線形元件,實(shí)現(xiàn)多點(diǎn)溫度的測量與顯示,該方案設(shè)計(jì)電路簡單易懂,操作簡單,且價格便宜,但采用分立元件分散性大,不便于集成數(shù)字化,而且測量誤差較大。.2設(shè)計(jì)方案二設(shè)計(jì)方案二本方案采用 AT89C52 單片

18、機(jī)為核心,通過溫度傳感器 AD590 采集溫度信號,經(jīng)信號放大器放大后,送到 A/D 轉(zhuǎn)換芯片,最終經(jīng)單片機(jī)檢測處理溫度信號,但 A/D 轉(zhuǎn)換電路設(shè)計(jì)較煩瑣,而且使用 AD590 進(jìn)行溫度檢測必須對輸出端進(jìn)行補(bǔ)償,以減小誤差。.3設(shè)計(jì)方案三設(shè)計(jì)方案三本方案運(yùn)用主從分布式思想,由一臺上位機(jī)(PC 微型計(jì)算機(jī)) ,下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級分布式多點(diǎn)溫度測量的巡回檢測系統(tǒng)。該系統(tǒng)采用 RS-232 串行通訊標(biāo)準(zhǔn),通過上位機(jī)(PC)控制下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場溫度采集。溫度值既可以送回主控 PC 機(jī)進(jìn)行數(shù)據(jù)處理,由顯示器顯示。也可以由下位機(jī)單獨(dú)工作,實(shí)時顯示當(dāng)前各點(diǎn)的

19、溫度值,并且對各點(diǎn)進(jìn)行控制。 . . . . 3 / 65下位機(jī)采用的是 STM32F107 單片機(jī)基于數(shù)字溫度傳感器 DS18B20 的系統(tǒng)?;跀?shù)字式溫度計(jì) DS18B20 的溫度測量系統(tǒng)的硬軟件開發(fā)過程,DS18B20將溫度信號直接轉(zhuǎn)換為數(shù)字信號,實(shí)現(xiàn)了與單片機(jī)的直接接口,從而省去了信號調(diào)理電路。該儀器電路簡單、功能可靠、測量效率高,很好地彌補(bǔ)了傳統(tǒng)溫度測量方法的不足。方案 3 相對與方案 1,在功能、性能、可操作性等方面都有較大的提升。相對與方案 2,硬件電路簡單,易于操作,具有更高的性價比,更大的市場。所以本課題設(shè)計(jì)采用方案 3 完成本設(shè)計(jì)。DS18B20DS18B20有如下的性能特

20、點(diǎn):有如下的性能特點(diǎn):(1)獨(dú)特的單線接口,既可通過串行口線,也可通過其它I/O口線與微機(jī)連接,無需變換其它電路,直接輸出被測溫度值;(2)多點(diǎn)能力使分布式溫度檢測應(yīng)用得以簡化;(3)不需要外部元件;(4)既可用數(shù)據(jù)線供電,也可采用外部電源供電;(5)不需備份電源;(6)測量圍為-55+125,固有測溫分辨率為05;(7)通過編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式;(8)用戶可定義非易失性的溫度告警設(shè)置;(9)應(yīng)用圍包括恒溫控制、工業(yè)系統(tǒng)、消費(fèi)類產(chǎn)品、溫度計(jì)或任何熱敏系統(tǒng)。以上特性使得DS18B20非常適用于構(gòu)建高精度、多點(diǎn)溫度測量系統(tǒng)。. . . . 4 / 65第二章第二章 硬件設(shè)計(jì)硬件設(shè)計(jì)本課

21、題研究的多點(diǎn)測溫系統(tǒng)是以 STM32F107 單片機(jī)和單總線數(shù)字溫度傳感器 DS18B20 為核心,充分利用單片機(jī)優(yōu)越的部和外部資源與數(shù)字溫度傳感器DS18B20 的優(yōu)越性能構(gòu)成一個完備的測溫系統(tǒng),實(shí)現(xiàn)對溫度的多點(diǎn)測量。整個系統(tǒng)由單片機(jī)控制,能夠接收傳感器的溫度數(shù)據(jù)并顯示出來,還可以從按鍵輸入命令,系統(tǒng)根據(jù)不同的命令,實(shí)現(xiàn)不同的功能,并且能夠?qū)Ξ惓G闆r進(jìn)行報(bào)警,還可以將測量數(shù)據(jù)保存起來以供以后查詢使用或者通過串口傳給 PC 機(jī)。由于單片機(jī)具有強(qiáng)大的運(yùn)算和控制功能,使得整個系統(tǒng)具有模塊化、硬件電路簡單以與操作方便等優(yōu)點(diǎn)。本課題的整個系統(tǒng)是由單片機(jī)系統(tǒng)電路、溫度傳感器電路、顯示電路、鍵盤電路、報(bào)警

22、電路,存儲電路,串口通信電路等構(gòu)成。其系統(tǒng)框圖如圖 2.1 所示:圖圖 2.12.1 系統(tǒng)整體框圖系統(tǒng)整體框圖2.12.1 溫度傳感器溫度傳感器設(shè)計(jì)設(shè)計(jì)DS18B20單總線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感DS18B20鍵盤電路發(fā)光 LED存儲電路LCD 顯示STM32F107單片機(jī)報(bào)警電路電源電路時鐘電路復(fù)位電路RS-232PC計(jì)算機(jī). . . . 5 / 65器。全部傳感元件與轉(zhuǎn)換電路集成在形如一只三極管的集成電路,與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式,其可以分別9375ms和750ms完成9位和12位

23、的數(shù)字量,最大分辨率為00625,而且從DS18B20讀出或?qū)懭隓S18B20的信息僅需要一根口線(單總線接口)。DS18B20與單片機(jī)的硬件連接有兩種方法,一是外部電源供電方式:VCC接外部電源,GND接地,I/0與單片機(jī)的I/0線相連;二是寄生電源供電方式:VCC和GND接地,I/0接單片機(jī)I/0線。無論是哪種供電方式,I/0口線都要接47k Q左右的上拉電阻。DS18B20DS18B20有如下的性能特點(diǎn):有如下的性能特點(diǎn):(1 1)可將被測溫度直接轉(zhuǎn)換成計(jì)算機(jī)能識別的數(shù)字信號輸出,溫度值不需要經(jīng)放大和AD轉(zhuǎn)換成數(shù)字信號,解決了傳統(tǒng)溫度傳感器存在的因參數(shù)不一致性的問題,使用方便。(2 2)

24、提供912位溫度讀數(shù),精度高,且其信息傳輸只需一根信號線,與計(jì)算機(jī)接口十分簡便,讀寫與溫度變換的功率來自于數(shù)據(jù)線而不需額外的電源。(3 3)每一個DS18B20都有一個惟一的序列號,這就允許多個DS18B20連接到同一總線上,尤其適合于多點(diǎn)溫度檢測系統(tǒng)。(4 4)負(fù)壓特性:當(dāng)電源極性接反時,DS18B20雖然不能正常工作,但不會因發(fā)熱而燒毀。正是由于以上特點(diǎn),DS18B20廣泛應(yīng)用于過程控制、環(huán)境控制、建筑物、機(jī)器設(shè)備中的溫度檢測。其外形和管腳如圖2.2所示:圖圖2.2DS18B202.2DS18B20外部形狀與管腳圖外部形狀與管腳圖本課題設(shè)計(jì)采用外部電源供電方式,四個數(shù)字式溫度傳感器DS18

25、B20與單片機(jī)連接如圖2.3所示:. . . . 6 / 65圖圖2.32.3DS18B20DS18B20與單片機(jī)連接圖與單片機(jī)連接圖2.22.2 單片機(jī)系統(tǒng)設(shè)計(jì)單片機(jī)系統(tǒng)設(shè)計(jì)STM32F107 是意法半導(dǎo)體推出全新 STM32 互連型系列微控制器中的一款性能較強(qiáng)產(chǎn)品,它以 32 位 ARM Cortex-M3 為核、72MHZ 運(yùn)行頻率、含有高達(dá) 64KB SRAM、256KB FLASH、80 個可編程的 I/O 線、支持 256 個可嵌套中斷源。還集成了各種高性能工業(yè)標(biāo)準(zhǔn)接口,包括 ADC、DAC、I2C、USART、SPI、I2S,擁有全速 USB(OTG) ,CAN2.0B 接口,以

26、與以太網(wǎng) 10/100 MAC 模塊??梢詽M足大部分工業(yè)、醫(yī)療、樓宇自動化、家庭音響和家電市場等多種產(chǎn)品的需求。本課題是運(yùn)用 ST 公司的 STM32F107 來實(shí)現(xiàn)整個系統(tǒng)的控制,主要運(yùn)用到了啟動選項(xiàng)配置,復(fù)位電路,時鐘電路等部分。.1啟動選項(xiàng)啟動選項(xiàng)STM32F107 單片機(jī)有三種啟動方式,其啟動方式如下表 2.1 所示:表表 2.12.1 啟動方式配置選擇表啟動方式配置選擇表BOOT1(JP13)BOOT2(JP15)啟動模式描述1-2,2-3or open2-3金牛開發(fā)板設(shè)定為 User Flash 啟動方式2-31-2金牛開發(fā)板設(shè)定為 System Memory 啟動

27、方式1-21-2金牛開發(fā)板設(shè)定為 Embedded SARM 啟動方式1-2 表示接高電平 1,2-3 表示接低電平 0. . . . 7 / 65本課題設(shè)計(jì)采用默認(rèn)的啟動方式,即 1-2 接高電平,2-3 接低電平,表示從 UserFlash 開始啟動程序。.2復(fù)位電路復(fù)位電路無論哪種單片機(jī),都會涉與復(fù)位電路。如果復(fù)位電路不可靠,在工作中就有可能出現(xiàn)“死機(jī)” , “程序走飛”等現(xiàn)象,復(fù)位操作使單片機(jī)進(jìn)入初始化過程,程序從00000000H地址單元開始執(zhí)行, 當(dāng)STM32F107單片機(jī)的復(fù)位引腳NRST出現(xiàn)一段時間的低電平時,單片機(jī)就完成了復(fù)位操作,如果NRST持續(xù)為低電平,單

28、片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序,因此要求復(fù)位后能脫離復(fù)位狀態(tài)。復(fù)位操作通常有上電和開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實(shí)現(xiàn)復(fù)位操作。開關(guān)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。常用的復(fù)位電路如圖2.4所示:圖圖2.42.4 復(fù)位電路復(fù)位電路.3時鐘電路時鐘電路STM32F107 單片機(jī)的時鐘信號通常有部振蕩方式和外部振蕩方式。單片機(jī)部有一個高增益反相放大器,在引腳 XTAL1 和 XTAX2 外接晶體振蕩器,晶振為8MHZ,就夠成了部振蕩方式,外部振蕩方式是把已有的時鐘信號引入單片機(jī),這種方式適于用于用來使單片機(jī)的時鐘與

29、外部信號保持一致,但部振蕩方式所得的時鐘信號比較穩(wěn)定。本課題設(shè)計(jì)采用部振蕩器方式,電容值一般為 20PF,起穩(wěn)定振蕩頻率、快速起振的作用,其電路連接如圖 2.5 a)所示:另外本課題用到 RTC 功能,還需為 STM32F107 提供 RTC 時鐘,RTC 晶振為 32.768KHZ, 電容值一般為 10PF。其電路連接如圖 2.5b)所示:. . . . 8 / 65圖圖 2.52.5 a a) 系統(tǒng)時鐘電路系統(tǒng)時鐘電路 圖圖 2.52.5 b b) RTCRTC 時鐘電路時鐘電路2.32.3 顯示電路設(shè)計(jì)顯示電路設(shè)計(jì)顯示設(shè)備是電子系統(tǒng)常見的輸出設(shè)備,在電子系統(tǒng)中占有極其重要的作用,顯示電路

30、主要有兩種顯示方式:數(shù)碼管顯示方式和LCD液晶顯示方式。數(shù)碼管是由7段或8段發(fā)光二極管組成,在平面上排成8字型,主要有共陰極和共陽極兩種,只要使某些段點(diǎn)亮而另一些段不亮就可以顯示0-9,A-F等字型。要使某段點(diǎn)亮必須具備2個條件:一是共陰極管的公共端接地和共陽極管的公共端接電源;二是共陰極管的控制端接電源和共陽極管的控制端接地。此顯示方式具有接口簡單,占用資源少、控制靈活方便等特點(diǎn),目前市場上主要有2位一. . . . 9 / 65體,4位一體,8位一體等數(shù)碼管,價格也比較便宜。LCD液晶顯示器是Liquid Crystal Display的簡稱,LCD的構(gòu)造是在兩片平行的玻璃當(dāng)中放置液態(tài)的晶

31、體,兩片玻璃中間有許多垂直和水平的細(xì)小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產(chǎn)生畫面,不僅可以顯示字符,數(shù)字,還可以顯示漢字,圖片等,由于LCD顯示器通過控制是否透光來控制亮和暗,當(dāng)色彩不變時,液晶也保持不變,這樣就無須考慮刷新率的問題,對于畫面穩(wěn)定、無閃爍感的液晶顯示器,刷新率不高但圖像也很穩(wěn)定,LCD顯示器還可以通過液晶控制透光度的技術(shù)原理讓底板整體發(fā)光,做到了真正的完全平面。但是相對于數(shù)碼管顯示器,其價錢比較其昂貴。由于LCD液晶顯示方式相對于數(shù)碼管顯示方式來說不用考慮不斷刷新等優(yōu)點(diǎn),所以本課題設(shè)計(jì)利用TFT-LCD作為輸出顯示設(shè)備。利用單片機(jī)傳輸控制信號,在LCD

32、上將傳感器的溫度信號和按鍵輸入的控制信號都顯示出來。其電路連接如圖2.6a)所示:. . . . 10 / 65圖圖2.62.6 a a)TFT-LCDTFT-LCD電路連接圖電路連接圖另外再利用4個發(fā)光LED顯示4個溫度傳感器的工作正常情況,其電路連接如圖2.6b)所示:圖圖 2.62.6 b) 發(fā)光發(fā)光 LEDLED 電路連接圖電路連接圖2.42.4 鍵盤電路設(shè)計(jì)鍵盤電路設(shè)計(jì)按鍵是電子設(shè)備常見的輸入設(shè)備,作為人們與電子設(shè)備交流的重要途徑,一旦出錯,將影響到電子設(shè)備的整體使用,按鍵電路雖然簡單,但按鍵的穩(wěn)定性、可靠性,應(yīng)引起足夠的重視。單片機(jī)的按鍵電路主要有矩陣形式和線性形式兩種。當(dāng)按鍵較少

33、時可接成線性形式;當(dāng)按鍵較多時,可以將按鍵接成矩陣形式,這種形式節(jié)省口線,其中以使用 +條l/0線實(shí)現(xiàn)的矩陣掃描式按鍵電路最為常用。通常按鍵在按下或釋放的時侯,通常伴隨著幾ms到十幾ms的觸點(diǎn)抖動,然后才能穩(wěn)定下來,在觸點(diǎn)抖動期間檢測按鍵的通斷狀態(tài),會導(dǎo)致一次按鍵或釋放被錯誤地認(rèn)為是多次操作。所以,當(dāng)檢測到有鍵按下或釋放時,應(yīng)通過軟件延時20 ms左右,避開觸點(diǎn)抖動的影響。去抖的時間既不能太短也不能太長,如果時間太短,無法起到去抖作用;如果時間太長,超過了鍵按下的持續(xù)時間,則會檢測不到按鍵。由于本課題設(shè)計(jì)需要的按鍵較少,故采用線性按鍵方式,其電路連接如圖2.7所示:. . . . 11 / 6

34、5圖圖2.72.7 按鍵電路連接圖按鍵電路連接圖2.52.5 報(bào)警電路設(shè)計(jì)報(bào)警電路設(shè)計(jì)為了實(shí)現(xiàn)多點(diǎn)溫度檢測系統(tǒng)報(bào)警的功能,在單片機(jī)獲取多點(diǎn)DS18B20溫度傳感器轉(zhuǎn)換的溫度值后,與預(yù)設(shè)的溫度值相比較,如果溫度不在預(yù)設(shè)定的圍,高于或者低于預(yù)設(shè)的溫度值,則給出報(bào)警信號,并且相應(yīng)的發(fā)光二極管不斷閃爍,表示相應(yīng)的溫度傳感器出現(xiàn)異常。其電路連接如圖2.8所示: 圖圖2.82.8 報(bào)警電路連接圖報(bào)警電路連接圖2.62.6 存儲模塊設(shè)計(jì)存儲模塊設(shè)計(jì)DS18B20完成溫度轉(zhuǎn)換后,溫度值可以顯示出來,但是一些重要的數(shù)據(jù)需要保存下來,供給以后查詢使用,這就需要設(shè)計(jì)一個存儲電路,由于需要存儲溫度數(shù)據(jù)不是很多,所以本

35、課題設(shè)計(jì)選用E2PROM-AT24LC02芯片來設(shè)計(jì)一個存儲電路,AT24LC02芯片可以存儲128個字節(jié),足以滿足本設(shè)計(jì)系統(tǒng)存儲的需要,其電. . . . 12 / 65路連接如圖2.9所示:圖圖 2.92.9 存儲電路連接圖存儲電路連接圖2.72.7 通信模塊設(shè)計(jì)通信模塊設(shè)計(jì) RS-232是目前異步串行通信中應(yīng)用最廣泛的標(biāo)準(zhǔn)總線,適用于數(shù)據(jù)中斷設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DEC),ELA-RS-232是目前最常用的串行接口標(biāo)準(zhǔn),用于計(jì)算機(jī)與計(jì)算機(jī)之間,計(jì)算機(jī)與單片機(jī)的數(shù)據(jù)通信。此標(biāo)準(zhǔn)的目的是定義數(shù)據(jù)終端設(shè)備(DTE)之間的電氣特性。RS-232提供了單片機(jī)與單片機(jī)、單片機(jī)與PC機(jī)之間串行

36、數(shù)據(jù)通信的標(biāo)準(zhǔn)接口,但RS-232規(guī)定的邏輯電平與單片機(jī)的邏輯電平是不一致的,因此在應(yīng)用中,必須把微處理器的信號電平(TTL電平)轉(zhuǎn)換為RS-232電平,通常選用電平轉(zhuǎn)換芯片MAX-232來實(shí)現(xiàn)。RS-232C總線標(biāo)準(zhǔn)接口引腳信號定義如表2.2所示:表表2.22.2 RS-232CRS-232C通信接口標(biāo)準(zhǔn)定義表通信接口標(biāo)準(zhǔn)定義表引 腳信 號方 向功 能1DCDIN數(shù)據(jù)載波檢測2RXDIN接收數(shù)據(jù)3TXDOUT發(fā)送數(shù)據(jù)4DTROUT數(shù)據(jù)終端設(shè)備(DTE)就緒5GND _信號公共參考地6DSRIN數(shù)據(jù)通信設(shè)備(DEC)就緒7RTSOUT請求發(fā)送8CTSIN清除發(fā)送. . . . 13 / 659

37、RIIN振鈴指示STM32F107單片機(jī)部帶有有5個串口電路接口,其功能與51系列單片機(jī)的串口相似,在設(shè)計(jì)硬件接口電路時,應(yīng)充分考慮到電路的電氣特性、邏輯電平以與驅(qū)動能力的匹配問題,若匹配得不好,將會導(dǎo)致通信失敗。本課題設(shè)計(jì)使用的是STM32F107部的串口1接口,采用MAX-232作為PC機(jī)與單片機(jī)的串行通信接口間的電平轉(zhuǎn)換芯片。硬件連接時,可從MAX-232中的2路發(fā)送器和接收器中任選一路,只要注意發(fā)送與接收的引腳對應(yīng)關(guān)系即可。其接口電路連接如圖2.10所示:圖圖2.102.10 PCPC機(jī)與單片機(jī)通信電路連接圖機(jī)與單片機(jī)通信電路連接圖. . . . 14 / 65第三章第三章 軟件設(shè)計(jì)軟

38、件設(shè)計(jì)系統(tǒng)進(jìn)行軟件設(shè)計(jì)時,先要對本課題硬件結(jié)構(gòu)有一個熟練的掌握,知道系統(tǒng)的組成,數(shù)據(jù)的傳輸,信號是如何被控制的,以與信號的顯示,然后進(jìn)行軟件設(shè)計(jì)時,先搞清楚各個部分的子程序與他們的流程圖,再進(jìn)行編程,最后將它們進(jìn)行系統(tǒng)的編程和整合。本系統(tǒng)軟件設(shè)計(jì)主要包括系統(tǒng)程序和流程圖,根據(jù)整個系統(tǒng)的要求,完成溫度的測量與控制必須經(jīng)過以下幾個步驟:單片機(jī)接受傳感器的溫度信號,并通過 LCD 顯示出來,同時單片機(jī)掃描按鍵,接受控制信號,系統(tǒng)根據(jù)不同的命令,實(shí)現(xiàn)不同的功能,例如,可以將測量數(shù)據(jù)保存起來以供以后查詢使用或者通過串口傳給 PC 機(jī),若溫度不在預(yù)設(shè)溫度的圍則發(fā)出報(bào)警信號。3.13.1軟件設(shè)計(jì)的一般原則軟

39、件設(shè)計(jì)的一般原則在單片機(jī)應(yīng)用開發(fā)中,程序代碼使用效率、單片機(jī)的抗干擾性以與軟件可靠性是實(shí)際工程設(shè)計(jì)的重點(diǎn),本課題采用C語言進(jìn)行編程,必須注意以下幾個問題:.1提高程序代碼效率提高程序代碼效率必須熟悉當(dāng)前使用的 C 語言編譯器,試驗(yàn)每條 C 語言編譯以后對應(yīng)的匯編語言的語句行數(shù),這樣就可以很明確的知道代碼效率。.2減少程序錯誤減少程序錯誤我們在編寫程序時,要注重考慮如下方面:(1 1)物理參數(shù);(2 2)資源參數(shù);(3 3)應(yīng)用參數(shù);(4 4)過程參數(shù)。.3單片機(jī)的抗干擾性單片機(jī)的抗干擾性防止干擾最有效的方法是去除干擾源、隔離干擾路徑。單片機(jī)干擾最

40、常見的現(xiàn)象就是復(fù)位,導(dǎo)致程序運(yùn)行異常,設(shè)計(jì)系統(tǒng)一般是需要添加一個“看門狗”監(jiān)控模塊,在系統(tǒng)出現(xiàn)不可逆轉(zhuǎn)的干擾時,監(jiān)控模塊將重啟系統(tǒng),并從斷點(diǎn)處繼續(xù)執(zhí)行。.4系統(tǒng)的可靠性系統(tǒng)的可靠性. . . . 15 / 65(1 1)要測試單片機(jī)軟件功能的完善性; (2 2)上電、掉電測試;(3 3)系統(tǒng)耗損測試。3.23.2 系統(tǒng)主程序流程圖系統(tǒng)主程序流程圖根據(jù)系統(tǒng)設(shè)計(jì)的功能要求,我們將整個軟件系統(tǒng)分割成若干個獨(dú)立的程序模塊,這些程序模塊可以是幾條語句的集合、功能函數(shù)或程序文件,隨后,根據(jù)各個程序模塊的實(shí)現(xiàn)功能寫出流程,一般還需要寫出具體的實(shí)現(xiàn)功能描述,本課題系統(tǒng)主程序流程如圖 3.1 所

41、示: 是 否 是否是 否 是判斷 是 否系統(tǒng)初始化顯示系統(tǒng)主界面顯示 4 路溫度傳感器的溫度值保存 4 路溫度傳感器的溫度值與 RTC 時間將 4 路溫度傳感器的溫度值發(fā)送到 PC 機(jī)給出報(bào)警信號與相應(yīng)發(fā)光 LED 閃爍相應(yīng)發(fā)光 LED 閃爍開始KEY1 按下KEY2 按下KEY3 按下KEY4 按下高于/低于預(yù)設(shè)溫度值. . . . 16 / 65圖圖3.13.1 系統(tǒng)主程序流程圖系統(tǒng)主程序流程圖3 3. .3 3 溫度傳感器程序設(shè)計(jì)溫度傳感器程序設(shè)計(jì)對單總線的DS18b20芯片來說,訪問每個器件都要遵守下列命令序列:首先是初始化;其次執(zhí)行ROM命令;最后就是執(zhí)行功能命令。初始化過程由主機(jī)發(fā)

42、出的復(fù)位脈沖和從機(jī)響應(yīng)的應(yīng)答脈沖組成,應(yīng)答脈沖使主機(jī)知道,總線上有從機(jī)設(shè)備,且準(zhǔn)備就緒。每次訪問線器件,必須嚴(yán)格遵守這個命令序列,如果出現(xiàn)序列混亂,則器件不會響應(yīng)主機(jī)。在主機(jī)檢測到應(yīng)答脈沖后,就可以發(fā)出ROM命令,這些命令與各個從機(jī)設(shè)備的唯一64位ROM代碼相關(guān),允許主機(jī)在單總線上連接多個從機(jī)設(shè)備時,指定操作某個從機(jī)設(shè)備,這些命令還允許主機(jī)能夠檢測到總線上有多少個從機(jī)設(shè)備,以與其設(shè)備類型或者有沒有設(shè)備處于報(bào)警狀態(tài),從機(jī)設(shè)備支持5種ROM命令,每種命令長度為8位,5種ROM命令分別如下:(1 1)搜索)搜索ROMF0hROMF0h當(dāng)系統(tǒng)初始上電時,主機(jī)必須找出總線上所有從機(jī)設(shè)備的ROM代碼,這樣

43、主機(jī)就能夠判斷出從機(jī)的數(shù)目和類型。主機(jī)通過重復(fù)執(zhí)行搜索ROM循環(huán)以找出總線上所有的從機(jī)設(shè)備,如果總線只有一個從機(jī)設(shè)備,則可以采用讀ROM命令來替代搜索ROM命令,在每次執(zhí)行完搜索ROM循環(huán)后,主機(jī)必須返回初始化。(2 2)讀)讀ROM33hROM33h讀ROM命令僅適用于總線上只有一個從機(jī)設(shè)備。它允許主機(jī)直接讀出從機(jī)的64位ROM代碼,而無須執(zhí)行搜索ROM過程,如果該命令用于多節(jié)點(diǎn),系統(tǒng)則必然發(fā)生數(shù)據(jù)沖突,因?yàn)槊總€從機(jī)設(shè)備都會響應(yīng)該命令。(3 3)匹配)匹配ROM55hROM55h匹配ROM命令跟隨64位ROM代碼,從而允許主機(jī)訪問多節(jié)點(diǎn)系統(tǒng)中某個指定的從機(jī)設(shè)備,僅當(dāng)從機(jī)完全匹配64位ROM代

44、碼時,才會響應(yīng)主機(jī)隨后發(fā)出的功能命令,而其它設(shè)備將處于等待復(fù)位脈沖狀態(tài)。(4 4)跳越)跳越ROMCChROMCCh主機(jī)能夠采用該命令同時訪問總線上的所有從機(jī)設(shè)備,而無須發(fā)出任何ROM代碼信息。例如,主機(jī)通過在發(fā)出跳越ROM命令后跟隨轉(zhuǎn)換溫度命令44h,就可以同時命令總線上所有的DS18B20開始轉(zhuǎn)換溫度,這樣大大節(jié)省了主機(jī)的時間。值得注意的是,如果跳越ROM命令跟隨的是讀暫存器BEh的命令,則該命令只能應(yīng)用于單節(jié)點(diǎn)系統(tǒng),否則將由于多個節(jié)點(diǎn)都響應(yīng)該命令而引起數(shù)據(jù)沖突。(5 5)報(bào)警搜索)報(bào)警搜索EChECh除那些設(shè)置了報(bào)警標(biāo)志的從機(jī)響應(yīng)外,該命令的工作方式完全等同于搜索ROM命令,報(bào)警搜索命令

45、允許主機(jī)設(shè)備判斷那些從機(jī)設(shè)備發(fā)生了報(bào)警,同搜索. . . . 17 / 65ROM命令一樣,在完成報(bào)警搜索循環(huán)后,主機(jī)必須返回初始化。完成DS18B20初始化和發(fā)送合適的ROM命令之后,主機(jī)就可以發(fā)出相應(yīng)的功能命令,就可以通過編程控制讀到其部RAM所采集到的溫度值。由于本課題采用的是單節(jié)點(diǎn)測溫系統(tǒng),可以發(fā)出跳越ROM命令,并且其后跟隨轉(zhuǎn)換溫度命令44h,就可以直接啟動總線上的DS18B20開始溫度轉(zhuǎn)換,這樣可以大大節(jié)省主機(jī)的時間,提高效率。其程序流程如圖3.2所示:返回圖圖3.23.2 溫度傳感器程序流程圖溫度傳感器程序流程圖DSl8B20DSl8B20編程注意事項(xiàng):編程注意事項(xiàng):(1)(1)

46、:溫度換時間設(shè)置為750ms時,靈敏度會大大提高,在需要較高精度要求下建議使用,而且回復(fù)性很好。(2)(2):DS18B20的讀寫時序須經(jīng)過仔細(xì)調(diào)整,在反復(fù)的調(diào)試中找出合適的延時時間。發(fā)送溫度轉(zhuǎn)換命令44h發(fā)送跳越 ROM 命令CChDS18B20 初始化DS18B20 初始化發(fā)送跳越 ROM 命令CCh發(fā)送存儲器命令BEh連續(xù)讀出兩個字節(jié)的數(shù)據(jù)(即溫度)讀取溫度值延時 750ms開始. . . . 18 / 65(3)(3):在程序等待DS18B20發(fā)出的存在信號時,最好設(shè)置一個有限的等待時間,否則一旦有溫度傳感器損壞時,程序?qū)⑦M(jìn)人無限等待的死循環(huán)中。3 3. .4 4 顯示程序設(shè)計(jì)顯示程序

47、設(shè)計(jì)根據(jù)系統(tǒng)設(shè)計(jì)的功能要求,單片機(jī)系統(tǒng)不僅要能接收到溫度信號,還要將溫度信號顯示出來,使系統(tǒng)一目了然。對于輸入的溫度信號,其顯示是通過3.2 寸 320*240 的彩色 TFT-LCD 顯示出來的,主要顯示系統(tǒng)主界面和 4 路溫度傳感器的溫度值,該顯示模塊的 LCD 驅(qū)動芯片型號為 ILI9320,其程序流程如圖 3.3a)所示:另外再利用 4 個發(fā)光 LED 顯示 4 個溫度傳感器的工作正常情況,其程序流程如圖 3.3 b)所示:圖圖3.3a3.3a) LCDLCD顯示程序流程圖顯示程序流程圖判斷是判斷 是判斷是判斷是LED1:亮/閃爍LED2:亮/閃爍LED3:亮/閃爍發(fā)送數(shù)據(jù)初始化液晶

48、ILI9320置顯示位置功能設(shè)置返回LED4:亮/閃爍準(zhǔn)備LED初始化傳感器 1 正常/異常傳感器 2 正常/異常傳感器 4 正常/異常傳感器 3 正常/異常. . . . 19 / 65圖圖3.33.3 b b) 發(fā)光發(fā)光LEDLED程序流程圖程序流程圖3 3. .5 5 鍵鍵盤盤程序設(shè)計(jì)程序設(shè)計(jì)單片機(jī)系統(tǒng)將傳感器的溫度信號顯示以后,需要掃描按鍵,系統(tǒng)根據(jù)輸入的不同鍵碼執(zhí)行相應(yīng)的功能,按鍵電路雖然簡單,但按鍵的穩(wěn)定性、可靠性,應(yīng)引起足夠的重視,例如,當(dāng)檢測到有鍵按下或釋放時,應(yīng)通過軟件延時以避開觸點(diǎn)抖動的影響,去抖時間既不能太短也不能太長,時間太短,無法起到去抖作用;時間太長,超過了鍵按下的

49、持續(xù)時間,則會判不到按鍵。根據(jù)本課題設(shè)計(jì)的系統(tǒng)要求,采用了4個線性按鍵KEY1,KEY2,KEY3,KEY4,其程序流程如圖3.4所示:系統(tǒng)主界面主要顯示RTC實(shí)時時鐘的時間和STM32F107芯片本身的溫度值,STM32F107芯片部自帶有一個溫度傳感器,其連接著ADC接口的第16通道,通過啟動ADC轉(zhuǎn)換即可得到實(shí)時芯片的工作溫度值,另外再定義一個按鍵掃描的函數(shù),接受按鍵的鍵碼值,根據(jù)掃描的鍵碼值單片機(jī)轉(zhuǎn)入執(zhí)行相應(yīng)的功能,掃描函數(shù)既可以采用循環(huán)掃描方式,也可采用中斷方式,本課題采用中斷方式來實(shí)現(xiàn)按鍵掃描函數(shù)。判斷是判斷是判斷是 判斷 是圖圖3.43.4按鍵程序流程圖按鍵程序流程圖3.63.6

50、 報(bào)警報(bào)警程序程序設(shè)計(jì)設(shè)計(jì)本課題設(shè)計(jì)采用高溫和低溫報(bào)警,事先預(yù)設(shè)一個最高溫度值和一個最低溫返回顯示系統(tǒng)主界面顯示 4 路溫度傳感器的溫度值保存 4 路溫度傳感器的溫度值與 RTC 時間將 4 路溫度傳感器的溫度值發(fā)送到 PC 機(jī)KEY初始化KEY1 按下KEY3 按下KEY2 按下KEY4 按下. . . . 20 / 65度值,最高/低溫度值可根據(jù)實(shí)際情況來設(shè)置,單片機(jī)采集到溫度值后,與其比較,如果某個傳感器的溫度超過或者低于了預(yù)設(shè)定的溫度值,將發(fā)出報(bào)警信號。其程序流程如圖3.5所示: 否 是圖圖3.53.5 報(bào)警程序流程圖報(bào)警程序流程圖3.73.7存儲模塊程序設(shè)計(jì)存儲模塊程序設(shè)計(jì)本課題設(shè)計(jì)

51、采用E2PROM-AT24LC02芯片來存儲經(jīng)DS18B20轉(zhuǎn)換后的溫度值與RTC的時間,AT24LC02芯片與STM32F107單片機(jī)通過I2C總線相連,因?yàn)镮2C只有時鐘線SCL和數(shù)據(jù)線SDA兩根線,因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求,只有嚴(yán)格遵守通訊協(xié)議才能保證數(shù)據(jù)傳輸?shù)恼_性和完整性,否則將無法讀取數(shù)據(jù),其程序流程如圖3.6所示:圖圖3.63.6 存儲程序流程圖存儲程序流程圖高于/低于預(yù)設(shè)溫度值給出報(bào)警信號AT24LC02 初始化讀/寫數(shù)據(jù)寫地址返回顯示當(dāng)前溫度值準(zhǔn)備. . . . 21 / 653.83.8 通信模塊程序設(shè)計(jì)通信模塊程序設(shè)計(jì) 本系統(tǒng)通過串口與上位機(jī)進(jìn)行通信,可以實(shí)

52、時向上位機(jī)傳送經(jīng)DS18B20轉(zhuǎn)換后的溫度值,本課題設(shè)計(jì)采用單片機(jī)系統(tǒng)通過RS-232總線與計(jì)算機(jī)相連接。在進(jìn)行實(shí)物仿真時,可以看到上位機(jī)(PC機(jī))接收到的4個通道的溫度值以與記錄該溫度值的RTC時間,當(dāng)然也可以在本身系統(tǒng)的LCD上顯示4個通道轉(zhuǎn)換后的溫度值,其程序流程如圖3.7所示: 否 是圖圖3.73.7 通信程序流程圖通信程序流程圖發(fā)送數(shù)據(jù)初始化串口串口中斷入口發(fā)聯(lián)絡(luò)信號 AAH返回是聯(lián)絡(luò)信號 55H?準(zhǔn)備. . . . 22 / 65第四章第四章 結(jié)結(jié) 論論本課題設(shè)計(jì)是利用KeiluVision3軟件對系統(tǒng)進(jìn)行程序代碼的設(shè)計(jì)和編寫,并在金牛開發(fā)板上進(jìn)行了程序仿真,從本課題設(shè)計(jì)的結(jié)果可以

53、看出,利用硬件實(shí)物(金牛開發(fā)板)進(jìn)行單片機(jī)系統(tǒng)的程序設(shè)計(jì)仿真可以極提高單片機(jī)程序在目標(biāo)硬件上的可靠性,穩(wěn)定性,對于提高產(chǎn)品的開發(fā)效率、降低開發(fā)成本等有重要的作用。 硬件電路的簡單是以軟件的復(fù)雜為代價的,所以在程序編寫和調(diào)試的過程中稍一粗心就會出現(xiàn)錯誤,包括時間延時不夠,設(shè)置參數(shù)的類型有誤,按鍵子程序放置位置不妥等錯誤。本程序經(jīng)過了反復(fù)的調(diào)試修改,雖然能達(dá)到預(yù)期的基本目標(biāo),但是還有很多地方需要完善,如開始仿真時機(jī)器會掃描錯誤代碼而使電路報(bào)警等。本課題通過分析和對比各種不同的溫度傳感器,最終選定DS18B20,這種單總線數(shù)字溫度傳感器的通信方式比較獨(dú)特,軟件編寫要求的比較新穎,特點(diǎn)突出。用其構(gòu)建的

54、系統(tǒng)有很多優(yōu)點(diǎn):硬件連線簡單,省去了使用模擬傳感器要進(jìn)行放大、A/D轉(zhuǎn)換等工作,由于它的級聯(lián)功能,一條總線可掛接多個傳感器測量不同位置的溫度,根據(jù)DS18B20唯一的序號識別不同傳感器在各自位置的溫度。需要注意的是, 由于DS1820單線通信功能是分時完成的,遵循嚴(yán)格的時隙概念,因此, 系統(tǒng)對DS1820和各種操作必須按協(xié)議進(jìn)行,即:初始化DS1820發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。通過調(diào)試系統(tǒng)發(fā)現(xiàn)了DS18B20有上述優(yōu)點(diǎn),但是也有一些缺點(diǎn),例如,DS18B20在測量溫度的時候,靈敏度不夠高,溫度快速變化時無法迅速顯示出其變化。我們可以發(fā)現(xiàn):由DS18B20構(gòu)建的測溫系統(tǒng)適用于環(huán)境

55、溫度監(jiān)控,對溫度小變化較敏感的測溫場所;而不適合應(yīng)用于要時性強(qiáng)、溫度跨度大的測溫場所。. . . . 23 / 65參參 考考 文文 獻(xiàn)獻(xiàn)1 萬文略.單片機(jī)原理與應(yīng)用M.:大學(xué),2004:31-56.2 周航慈.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)M.:航空航天大學(xué),2001:46-87.3 郁有文,常健,程繼紅.傳感器原理與工程應(yīng)用第二版M.:電子科技大學(xué),2003:107-152.4 周云波.由 DS18B20 單線數(shù)字溫度計(jì)構(gòu)成的單線多點(diǎn)溫度測量系統(tǒng)N.電子技術(shù)應(yīng)用,1996:77-92.5 程安宇,士民,徐洋.基于 DS18B20 的單片機(jī)溫度測量控制系統(tǒng)J.兵工自動化.2007:24-63.6 萬

56、超.51 單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)J.科技信息.2009:57-88.7 Joseph Yiu.STM32F10 xxx Cortex-M3 programming manualS.arm.2008:120-180.8 Joseph Yiu.STM32F107xx Reference manualS.st.2010:271-367.9 鄧榮.基于 AT89S52 單片機(jī)的溫度控制系統(tǒng)R.工業(yè)職業(yè)技術(shù)學(xué)院自動化系.2010:30-50.10 廣林.Protel99SE 電路設(shè)計(jì)與制版C.:電子工業(yè),2005:19-69.11 余載泉,玉和.PROTEL 實(shí)戰(zhàn)演練J.2000:36-77.12 金奎

57、煥,允俊,任正權(quán).如何使用 KEIL8051 C 編譯器J.2002:47-92.13 馬中梅.單片機(jī) C 語言設(shè)計(jì)C.:航空航天大學(xué),1999:33-47.14 愛鈞,秀華.Keil Cx51 V7.0 單片機(jī)高級語言編程與 Vision2 應(yīng)用實(shí)踐S.:電子工業(yè)出版 2007:43-91. . . . 24 / 65致致 從論文選題到搜集資料,從提綱的完成到正文的反復(fù)修改,我經(jīng)歷了喜悅、聒噪、痛苦和彷徨,在寫作論文的過程中,心情是如此復(fù)雜。如今,伴隨著這篇畢業(yè)論文的最終成稿,復(fù)雜的心情煙消云散,我甚至還有一點(diǎn)成就感。本次畢業(yè)設(shè)計(jì)是在平陽老師的悉心指導(dǎo)下完成的,不論在選題、資料搜集還是在論文

58、寫作方面,老師都給予了我很大的幫助。老師治學(xué)嚴(yán)謹(jǐn)、一絲不茍,對學(xué)生既嚴(yán)格要求,又耐心指導(dǎo)、循循善誘,在繁忙的工作之余經(jīng)常關(guān)心我的論文進(jìn)行情況,并且對我在畢業(yè)設(shè)計(jì)中遇到的問題耐心指導(dǎo),巧妙地激發(fā)我的求知欲來促使我對問題進(jìn)行更深入的研究,使我的獨(dú)立探索解決問題的能力有了很大的提高,老師的用心良苦,讓我深深體會到為人師表的偉大與無私。在本次畢業(yè)設(shè)計(jì)中,我還得到了其他很多同學(xué)和老師的幫助,對我成功完成本次畢業(yè)設(shè)計(jì)帶來了很大的幫助。在此次論文完成之即,請接受我真誠的感!衷心地感在百忙之中評閱論文和參加答辯的各位專家、教授!最后感四年里陪伴我的老師、同學(xué)、朋友們,有了他們,我的人生才豐富,有了他們,我在奮

59、斗的路上才不孤獨(dú),他們!. . . . 25 / 65附錄附錄 A A 材料清單材料清單已用 部件類型 元件標(biāo)號 封裝 描述= = = =3 1K R1 R20 R24 C/R/LED1 1MR2 C/R/LED1 3.2TFT CN7 LCD Connector2 4K7 R27 R28 C/R/LED1 8MHZ X2 JZ11 10K R3 R4 R5 R6 R7 R8 C/R/LEDR21 R22R23 R25R262 10PF C5 C6 C/R/LED5 10R R15 R16 R17 R18 R19 C/R/LED2 10UF C1 C2 C/R/LED2 20PF C7 C8

60、C/R/LED1 24LC02 U4 E2PROM1 32.768KHZ X1 JZ8 100NF C3 C4 C9 C10 C/R/LEDC11C12 C13C144 470R R11 R12 R13 R14 C/R/LED 2 8085 Q1 Q2 Q1 JATG CN2 JTAG5 LED_R D1 D2 D3 D4 D5C/R/LED1 LT11117-3.3 U2 LTI1 MAX232 U3 MAX2321 POWER CN1 CN2 R R9 R10 C/R/LED5 RESET RESET S1 S2 S3 S4KEY1 STM32F107 U1 STM32F1074 TEMP

溫馨提示

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

評論

0/150

提交評論