基于STM32的多路數(shù)字式溫度采集系統(tǒng)_第1頁(yè)
基于STM32的多路數(shù)字式溫度采集系統(tǒng)_第2頁(yè)
基于STM32的多路數(shù)字式溫度采集系統(tǒng)_第3頁(yè)
基于STM32的多路數(shù)字式溫度采集系統(tǒng)_第4頁(yè)
基于STM32的多路數(shù)字式溫度采集系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、湖北民族學(xué)院畢業(yè)論文(設(shè)計(jì))多路數(shù)字式溫度監(jiān)測(cè)系統(tǒng)學(xué)生姓名: 學(xué) 號(hào): 031041226 系 別: 電氣工程系 專 業(yè): 電子信息科學(xué)與技術(shù) 指導(dǎo)教師: 孫玲姣 評(píng)閱教師: 論文答辯日期 答辯委員會(huì)主席 摘 要本設(shè)計(jì)是一個(gè)以微控制器、溫度傳感器、按鍵及TFT顯示屏等為框架的數(shù)字式溫度測(cè)量系統(tǒng)。設(shè)計(jì)采用了STM32F103ZE芯片為主控制器,通過(guò)單總線制溫度傳感器DS18B20實(shí)現(xiàn)溫度采集,將溫度信息通過(guò)STM32F103ZE微控制器處理后在TFTLCD模塊中顯示,以實(shí)現(xiàn)多點(diǎn)的溫度監(jiān)測(cè)。本設(shè)計(jì)一共使用了四個(gè)DS18B20,也就是說(shuō)本系統(tǒng)可以同時(shí)采樣四個(gè)地點(diǎn)的溫度值。待溫度傳感器的溫度值采回來(lái)后

2、,將所有的溫度值顯示在液晶屏上面。在顯示功能上,使用折線圖顯示,使顯示更直觀、更強(qiáng)大。當(dāng)然系統(tǒng)其他的功能也有顯示,比如報(bào)警溫度將會(huì)實(shí)時(shí)顯示,其通過(guò)外圍按鍵來(lái)調(diào)整極限溫度。本設(shè)計(jì)也將部分顯示相關(guān)的功能性按鍵加到TFTLCD上,減少外圍電路,也增加了人機(jī)交互,使系統(tǒng)更加人性化、智能化。本設(shè)計(jì)功能齊全,在溫度檢測(cè)上面面聚到。關(guān)鍵詞:微控制器,TFTLCD,DS18B20,溫度監(jiān)測(cè)AbstractThis design is to a micro controller, temperature sensor, buttons and TFT screen for the framework of di

3、gital temperature measuring system.STM32F103ZE chips as the main controller is adopted, through the single bus temperature sensor DS18B20 temperature acquisition, temperature information through STM32F103ZE micro controller shown in TFTLCD module after processing, in order to realize the multi-point

4、 temperature monitoring. This design uses the altogether four DS18B20, that is to say, this system can sampling temperature of four locations at the same time.With temperature sensor temperature after you come back, all the temperature display on the LCD panel.On the display function, using the line

5、 chart shows that make the show more intuitive, more powerful.The function of the system, of course, other also have display, such as alarm temperature will real-time display, through the peripheral buttons to adjust the limit temperature.This design will also be part of a display related functional

6、 keys on TFTLCD, reduce the peripheral circuit, also increased the human-computer interaction, make the system more humane, intelligent.The design of the function is all ready, at the top surface temperature detection.Keywords: microcontroller,TFTLCD,DS18B20, the temperature measurement目 錄摘 要IAbstra

7、ctII1 緒言1.1 課題背景11.2 國(guó)內(nèi)外概況11.3 課題研究的目的和意義21.4 課題的主要研究工作32 系統(tǒng)設(shè)計(jì)方案的研究2.1 方案選擇42.2 系統(tǒng)總體方案設(shè)計(jì)72.3 系統(tǒng)功能介紹83 硬件電路設(shè)計(jì)3.1 硬件元件介紹93.1.1 STM32F103ZE 介紹93.1.2 DS18B20介紹123.1.3 TFTLCD介紹153.1.4 FSMC介紹173.2 硬件電路詳細(xì)設(shè)計(jì)183.2.1 溫度采集模塊設(shè)計(jì)183.2.2 顯示模塊設(shè)計(jì)193.2.3 按鍵模塊設(shè)計(jì)203.2.4 報(bào)警模塊設(shè)計(jì)203.2.5 系統(tǒng)總體電路圖224 軟件設(shè)計(jì)4.1 主程序流程圖234.2 溫度采集

8、處理子程序244.3 顯示子程序介紹244.4 按鍵子程序介紹255 系統(tǒng)調(diào)試及分析5.1 調(diào)試結(jié)果及分析276 總 結(jié)30致 謝31參考文獻(xiàn)32III1 緒言 本章闡述了溫度測(cè)量的研究背景、當(dāng)前現(xiàn)狀以及發(fā)展方向,明確指出了現(xiàn)今溫度測(cè)量所面臨的問題。1.1 課題背景 現(xiàn)在人們的生活水平不斷提高,物質(zhì)文化水平日益提高,先進(jìn)的高科技技術(shù)越來(lái)越凸顯出其優(yōu)勢(shì),博得人美的喜愛。高科技的應(yīng)用也是越來(lái)越多,滲透于各行各業(yè),滲透到人們的生活當(dāng)中。人們對(duì)蘋果手機(jī)的喜愛,可以說(shuō)到了瘋狂的地步。因?yàn)樘O果手機(jī)的高科技硬件與高效人性化的軟件設(shè)計(jì),使整個(gè)系統(tǒng)流暢、完美,大部分中青年都為之癡狂??萍几?,新產(chǎn)品大量更新?lián)Q代

9、,大量新產(chǎn)品涌現(xiàn)市場(chǎng),老化產(chǎn)品不停地被淘汰。單片機(jī)的應(yīng)用也越來(lái)越廣泛,它帶給我們的方便也越來(lái)越大1。隨處可見的電子產(chǎn)品,比如路由器、交換機(jī);電氣產(chǎn)品,比如洗衣機(jī)、空調(diào)、電冰箱;這些在生活中經(jīng)常出現(xiàn)的設(shè)備,其主要就是使用單片機(jī)的控制。單片機(jī)以其廉價(jià)、小體積、程序簡(jiǎn)單的特點(diǎn),出現(xiàn)在各大小的產(chǎn)品上面。近些年,市場(chǎng)上的電子產(chǎn)品越來(lái)越多,大到大型設(shè)備,小到電動(dòng)玩具,都使用了單片機(jī)控制。單片機(jī)的控制加入,既增加了產(chǎn)品的智能化,簡(jiǎn)化電路,又能降低生產(chǎn)成本,所以單片機(jī)的流行是必然。在溫度監(jiān)控方面,近年也開始使用單片機(jī)控制,使用小型化、智能化、人性化的移動(dòng)便攜設(shè)備?,F(xiàn)今的溫室大棚,恒溫箱,空調(diào)等很多設(shè)備都是靠控

10、制溫度來(lái)達(dá)到我們想要的效果的。所以基于單片機(jī)的溫度測(cè)量系統(tǒng)就更加具有它的研究意義。單片機(jī)在如今的地位堪稱舉足輕重,沒有了單片機(jī),那我們現(xiàn)代的社會(huì)將會(huì)成為原始社會(huì)。1.2 國(guó)內(nèi)外概況社會(huì)在進(jìn)步,科技在更新,技術(shù)也越來(lái)越發(fā)達(dá)。部分發(fā)達(dá)國(guó)家的科技也是領(lǐng)先于國(guó)內(nèi)的。在美、日兩個(gè)科技強(qiáng)國(guó)更是有了突出的展現(xiàn)。在倉(cāng)庫(kù)管理上,國(guó)外早就使用了多路、多點(diǎn)數(shù)字式溫度采集,當(dāng)然在性能上也是精度與穩(wěn)定相結(jié)合的2。國(guó)外很早就已經(jīng)實(shí)現(xiàn)多點(diǎn)多路溫度監(jiān)控系統(tǒng),其采用計(jì)算機(jī)的高速、多功能的優(yōu)點(diǎn),將環(huán)境監(jiān)控系統(tǒng)搭建起來(lái)2,3。基于計(jì)算機(jī)的多點(diǎn)監(jiān)控系統(tǒng),其具有電腦的多元化、多功能、計(jì)算速度快、實(shí)時(shí)顯示、信息全、功能齊的特點(diǎn)。但是因?yàn)?/p>

11、有計(jì)算機(jī)的加入,大大增加了已有的投入成本,使系統(tǒng)的普及得到限制。可是隨著MCU(Micro Controller Unit,即微控制器)技術(shù)的流行,MCU控制系統(tǒng)開始占據(jù)市場(chǎng),大量的淘汰掉以前的環(huán)境監(jiān)控系統(tǒng)。MCU控制以其低成本、小體積、高速的特點(diǎn),迅速滲透各行業(yè),將原有的計(jì)算機(jī)控制系統(tǒng)替換掉。環(huán)境監(jiān)控方面,MCU也因?yàn)槠湫◇w積、低成本的優(yōu)點(diǎn),可以完全滿足其系統(tǒng)的需求,而將原來(lái)的計(jì)算機(jī)系統(tǒng)替換下來(lái)4,5。在國(guó)內(nèi),環(huán)境溫度監(jiān)控系統(tǒng)的設(shè)計(jì)研發(fā)上,已經(jīng)有了較為成熟的技術(shù)。在MCU控制系統(tǒng)推進(jìn)潮流下,國(guó)內(nèi)也趕著這更新?lián)Q代的時(shí)機(jī),設(shè)計(jì)研發(fā)了一些環(huán)境溫度的監(jiān)控系統(tǒng)4。但是與其他科技強(qiáng)國(guó)的對(duì)比之下,國(guó)內(nèi)自主

12、研發(fā)的的系統(tǒng),在功能、智能、性能方面都還是稍遜顏色。但是國(guó)內(nèi)近幾年在高速的MCU控制上,有了進(jìn)一步的突破,在高速的控制系統(tǒng)的研發(fā)的突破下,似乎也有趕超國(guó)外的勢(shì)頭。1.3 課題研究的目的和意義研究目的:溫度測(cè)量在我們的生活當(dāng)中隨處可見,在各個(gè)種類的企業(yè)中應(yīng)用非常廣泛。在日益更新的現(xiàn)代化技術(shù)當(dāng)中,溫度的測(cè)量普遍應(yīng)用于各行各業(yè)當(dāng)中,最為典型的是現(xiàn)代化工業(yè)生產(chǎn)上,在民用上也是相當(dāng)?shù)钠毡榈?,生活中是隨處可見?,F(xiàn)代流行的溫度測(cè)量中最為常見的兩種方式分別是:模擬測(cè)量與數(shù)字式測(cè)量。模擬測(cè)量的穩(wěn)定性,受到系統(tǒng)的所處環(huán)境干擾或者系統(tǒng)本身的穩(wěn)定度的影響。數(shù)字式的溫度測(cè)量是較穩(wěn)定的,相對(duì)而言,比模擬溫度測(cè)量的穩(wěn)定性要

13、好。所以現(xiàn)代溫度測(cè)量中,采用的數(shù)字式溫度測(cè)量較為普遍。對(duì)數(shù)字式的測(cè)量系統(tǒng)進(jìn)行研究,有利于溫度測(cè)量的普及與實(shí)用6。而本系統(tǒng)加入了新型的STM32單片機(jī),將系統(tǒng)小型化、快速化、人性化、智能化。人們?yōu)榱烁纳粕瞽h(huán)境或者對(duì)其他環(huán)境進(jìn)行監(jiān)視,無(wú)線環(huán)境監(jiān)控系統(tǒng)開始流行。對(duì)環(huán)境的無(wú)線監(jiān)控,可以方便管理者對(duì)環(huán)境的了解,也方便管理者對(duì)其的管理。對(duì)環(huán)境溫度的監(jiān)測(cè)研究,可以給環(huán)境監(jiān)控系統(tǒng)提供支持。研究意義:溫度的意義當(dāng)然是不言而喻的,對(duì)溫度的引用也是越來(lái)越廣泛,合理使用溫度測(cè)量,可以提高系統(tǒng)的有機(jī)協(xié)調(diào)性。基于現(xiàn)在發(fā)展的各種問題,多點(diǎn)溫度監(jiān)控系統(tǒng)正朝著以下幾個(gè)方向發(fā)展:(1)系統(tǒng)不僅要實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè),而且在軟件技術(shù)上應(yīng)

14、研究開發(fā)根據(jù)被監(jiān)測(cè)環(huán)境地點(diǎn)的參數(shù)進(jìn)行有效的判別、分析和提出專家決策方案,同時(shí)系統(tǒng)應(yīng)用軟件應(yīng)向網(wǎng)絡(luò)化發(fā)展,按統(tǒng)一的格式向外提供監(jiān)測(cè)數(shù)據(jù)7。(2)針對(duì)測(cè)量的溫度超限的問題,根據(jù)報(bào)警裝置能夠盡快發(fā)現(xiàn)地方并尋找一種解決報(bào)警的途徑,這對(duì)促進(jìn)溫度監(jiān)控技術(shù)發(fā)展和系統(tǒng)的推廣應(yīng)用均具有十分重要的意義8。(3)研制高性能的溫度傳感器。(4)進(jìn)一步加強(qiáng)現(xiàn)場(chǎng)管理和維護(hù)水平。對(duì)溫度監(jiān)控系統(tǒng)的建立,可以幫助環(huán)境監(jiān)控大系統(tǒng)的完成。近幾年,環(huán)境監(jiān)控系統(tǒng)成為研究的熱點(diǎn),但其多是基于理論的研究,在實(shí)際應(yīng)用上,還是與國(guó)外存在明顯的差距。溫度監(jiān)控是環(huán)境監(jiān)控系統(tǒng)的一部分,實(shí)現(xiàn)溫度監(jiān)控可以發(fā)現(xiàn)整個(gè)環(huán)境監(jiān)控上出現(xiàn)的問題,設(shè)計(jì)環(huán)境監(jiān)控時(shí),也

15、可以借鑒溫度監(jiān)控的方案。1.4 課題的主要研究工作單片機(jī)是一種類似于電腦CPU的器件,相對(duì)于電腦來(lái)說(shuō),它更加小巧方便,不需要更多的外圍電路就可以應(yīng)用在很多地方。在21世紀(jì),單片機(jī)的應(yīng)用十分廣泛,不論是在工業(yè)控制或者產(chǎn)品系統(tǒng)監(jiān)視控制方面,單片機(jī)都以它簡(jiǎn)約獨(dú)特的優(yōu)點(diǎn)展示出他的實(shí)用性。本次設(shè)計(jì)就是用單片機(jī)來(lái)控制溫度采集的,在這個(gè)設(shè)計(jì)中,我主要的研究工作是以下幾點(diǎn):(1)怎樣提高溫度測(cè)量的精度;(2)怎樣擴(kuò)寬溫度測(cè)量的范圍;(3) 怎樣提高溫度采集的穩(wěn)定性;(4) 怎樣提高整個(gè)系統(tǒng)的穩(wěn)定性。就以上四個(gè)問題的解決方法,主要是正確選擇溫度傳感器,因此我采用了DS18B20溫度傳感器來(lái)完成此次設(shè)計(jì)。多路溫度

16、采集系統(tǒng)是利用溫度傳感器DS18B20來(lái)達(dá)到檢測(cè)溫度的目的,并由單片機(jī)處理顯示。本設(shè)計(jì)利用STM32單片機(jī)為微處理器,再加上基本的外圍電路來(lái)完成,再通過(guò)實(shí)物連接與驅(qū)動(dòng)程序一起調(diào)試,系統(tǒng)能穩(wěn)定的工作。正確外圍電路的設(shè)計(jì),可以增加整個(gè)系統(tǒng)的穩(wěn)定性,也就是說(shuō),系統(tǒng)在不同的環(huán)境下,不容易受到外界的干擾。其實(shí)在軟件設(shè)計(jì)上,更是尤為重要,一個(gè)系統(tǒng)是否能夠有機(jī)的結(jié)合,發(fā)揮電路各自的優(yōu)勢(shì),主要在于程序上的優(yōu)化。一個(gè)優(yōu)化的程序可以使整個(gè)系統(tǒng),如行云流水般的在硬件上運(yùn)行;而一個(gè)不靈活的程序,也可以讓一個(gè)設(shè)計(jì)完美的電路如死水一樣,沒有生機(jī)。硬件與軟件的結(jié)合,能讓整個(gè)系統(tǒng)的性能提升,甚至超過(guò)我們的預(yù)期目標(biāo),超標(biāo)實(shí)現(xiàn)設(shè)

17、計(jì)。2 系統(tǒng)設(shè)計(jì)方案的研究2.1 方案選擇、 本設(shè)計(jì)硬件主要包括五個(gè)模塊:1) 主控模塊方案一:采用51單片機(jī)。51單片機(jī)是Atmel公司生產(chǎn)的8位8031指令系統(tǒng)微控制器,IO口無(wú)需寄存器設(shè)置即可雙向通信,芯片內(nèi)部外設(shè)較少,網(wǎng)絡(luò)上資料齊全,程序簡(jiǎn)單易懂,外圍電路簡(jiǎn)單,成本低,最高時(shí)鐘頻率為24MHz,程序運(yùn)行速度慢,并且穩(wěn)定性不高,容易受到各種干擾。方案一:AVR單片機(jī)AVR單片機(jī)也是Atmel公司生產(chǎn)的8/16位精簡(jiǎn)指令微控制器,網(wǎng)絡(luò)上資料比較齊全,程序比較復(fù)雜,但是其最高時(shí)鐘頻率為32MHz,程序運(yùn)行速度比51單片機(jī)快,穩(wěn)定性高,不容易受到各種干擾。 方案三:采用STM32F103ZET

18、6的MCU(微控制器)。STM32F103ZET6單片機(jī)是ST(意法半導(dǎo)體)生產(chǎn)的,基于ARM內(nèi)核的32位 RISC指令微控制器。網(wǎng)絡(luò)上資料較齊全,程序簡(jiǎn)單易懂,但是其最高時(shí)鐘頻率為72MHz,程序運(yùn)行速度快,功耗低,并且穩(wěn)定性高,不容易受到各種干擾,不過(guò)增強(qiáng)型的STM32單片機(jī)的成本較高,略低于高性能的AVR單片機(jī)。STM32F103ZET6屬于STM32單片機(jī)系列增強(qiáng)型,其內(nèi)部外設(shè)多,應(yīng)用起來(lái)方便9。STM32單片機(jī)的每一I/O口都可以設(shè)置為中斷輸入口,按鍵輸入就不在需要外加電路,不管接在哪個(gè)口上,其都可以設(shè)置為中斷輸入,不再需要電路上接與邏輯門或者作出其他改變,可以簡(jiǎn)化硬件電路的設(shè)計(jì)???/p>

19、慮系統(tǒng)溫度采集口的數(shù)量上的可增加性,即在增加數(shù)個(gè)或者數(shù)十個(gè)傳感器的情況下,系統(tǒng)還能夠正常的運(yùn)行,系統(tǒng)就必須使用超高速的控制器。在高速高性能的控制器上加入,能使整個(gè)系統(tǒng)的性能受到影響,低速的控制器可能是系統(tǒng)出現(xiàn)死機(jī)、采集周期過(guò)長(zhǎng)等不良現(xiàn)象。所以綜合考慮個(gè)方面的原因,本設(shè)計(jì)最終選擇STM32F103ZET6微控制器來(lái)作為主控制器。2)溫度采集模塊方案一:采用PT100鉑電阻溫度傳感器此傳感器屬于電阻式傳感器,它的電阻隨著溫度的變化而變化。這種溫度傳感器有零度電阻值和電阻變化率,它性能比較穩(wěn)定,測(cè)量范圍達(dá)到-20085010,但是使用它要復(fù)雜的轉(zhuǎn)換關(guān)系,要清楚的知道電阻和溫度之間的關(guān)系。其采集電路主

20、要采用的是電阻分壓網(wǎng)絡(luò),在電阻分壓網(wǎng)絡(luò)的設(shè)計(jì)上,由于定值電阻隨著測(cè)量環(huán)境溫度變化時(shí),其阻值會(huì)有所變化,這就會(huì)給系統(tǒng)帶來(lái)誤差,使系統(tǒng)采集的溫度值產(chǎn)生偏差,并且其電壓值要進(jìn)行AD轉(zhuǎn)換,增加了系統(tǒng)的復(fù)雜程度。PT100自身體積較大,溫度變化時(shí),反應(yīng)速度會(huì)優(yōu)先減慢,如果環(huán)境變化溫度較快時(shí),將會(huì)有部分的中間溫度會(huì)被直接過(guò)濾掉,使實(shí)時(shí)溫度信息不準(zhǔn),實(shí)時(shí)性較差。方案二:采用AD590AD590是現(xiàn)在溫度測(cè)量較為常見的溫度傳感器,測(cè)量精度高、溫度范圍寬,但是成本很高,一般的廉價(jià)應(yīng)用上不會(huì)使用。AD590是電流型溫度傳感器,在檢測(cè)溫度變化時(shí),其兩端的輸出電流會(huì)有相應(yīng)的改變。應(yīng)用方法,一般是采用在輸出端接一個(gè)定值

21、電阻(當(dāng)然這也要溫漂較低的電阻),在測(cè)量電阻兩端的電壓(電壓值=AD590輸出電流定值電阻阻值),這與PT100的測(cè)量方式相同,使用AD轉(zhuǎn)換器,將模擬電壓值轉(zhuǎn)換為數(shù)字量。當(dāng)然AD590的體積也稍大,也會(huì)有高速溫度變化時(shí)產(chǎn)生出濾波效果,實(shí)時(shí)性降低。方案三:采用DS18B20DS18B20是數(shù)字式的溫度傳感器,測(cè)量的溫度范圍較廣,精度高,成本低,穩(wěn)定性較好11。DS18B20采用單總線通信,減少了I/O的占用數(shù)量,減少了外圍電路,通信簡(jiǎn)單11,12。DS18B20的集成度高,體積較小12。因?yàn)槠潴w積小,可以測(cè)量到的溫度值變化快,實(shí)時(shí)性就好??紤]到電路的復(fù)雜程度與系統(tǒng)轉(zhuǎn)換的速度與性能,我選擇方案三:

22、DS18B20溫度傳感器。在溫度采集系統(tǒng)中我們經(jīng)常用到集成型溫度傳感器,集成型傳感器可以達(dá)到較高的精度,DS18B20就屬于這一類傳感器。本設(shè)計(jì)用四只DS18B20同時(shí)采集4路溫度,直接與單片機(jī)I/O連接,不需要任何外圍電路。3)顯示模塊方案一:采用LED數(shù)碼管LED數(shù)碼管是在一定形狀的絕緣材料上,利用單只led組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來(lái)顯示出0-9的數(shù)字13。LED數(shù)碼顯示有動(dòng)態(tài)掃描法和靜態(tài)顯示法,在單片機(jī)中,多采用動(dòng)態(tài)掃描法,這樣可以節(jié)約單片機(jī)的資源。數(shù)碼管是簡(jiǎn)單的顯示設(shè)備,只能顯示阿拉伯?dāng)?shù)字與幾個(gè)字母,在簡(jiǎn)單的裝置或者不需要顯示大量信息的設(shè)備上面適

23、用,顯示的信息量極少,但是成本很低,驅(qū)動(dòng)簡(jiǎn)單,功耗低。方案二:采用12864液晶屏12864液晶屏分辨率較低,內(nèi)置8192個(gè)1616點(diǎn)陣,冷光顯示,效果不佳,可視廣角小,顯示指令較少,能顯示小量的信息,驅(qū)動(dòng)比數(shù)碼管難,成本較低。在較低廉的系統(tǒng)應(yīng)用上較多,因?yàn)槠浜?jiǎn)單廉價(jià),是不可替代的。方案二:采用TFT-LCD顯示屏采用TFT-LCD顯示屏,TFT的顯示采用“背透視”的照射方式,使其顯示效果非常出色。3.35V寬電壓范圍供電,可以顯示16位真彩色,并且可以分屏顯示。液晶顯示具有低電壓、微功耗、易彩色化等特點(diǎn).顯示器采用每次掃描一條線的驅(qū)動(dòng)方式,所以其驅(qū)動(dòng)方法簡(jiǎn)單可用14,15。TFT-LCD液晶

24、屏的分辨率較高,可顯示彩色圖片,顯示的信息量大,可視角廣,成本較高,驅(qū)動(dòng)較難,但所有的TFT公司都會(huì)講大部分的驅(qū)動(dòng)程序給用戶,只要了解基本的控制器程序,對(duì)TFT的操作也是相當(dāng)?shù)暮?jiǎn)單??紤]到本設(shè)計(jì)顯示的信息量較大,系統(tǒng)實(shí)時(shí)性顯示功能,放棄掉方LED顯示。12864液晶顯示,驅(qū)動(dòng)方式較為復(fù)雜,顯示效果較差,如果要實(shí)時(shí)顯示折線圖,那就增加了系統(tǒng)的復(fù)雜程度。所以最終選擇方案三。4)鍵盤控制模塊方案一:采用獨(dú)立式按鍵獨(dú)立式按鍵中每只按鍵需接單片機(jī)的一條I/O線,較浪費(fèi)單片機(jī)的I/O口,通過(guò)對(duì)線的查詢,即可識(shí)別各按鍵的狀態(tài)。一般多用于按鍵數(shù)目少的時(shí)候。方案二:采用矩陣式鍵盤矩陣式按鍵主要利用橫向通信號(hào)列向

25、查詢(或者列向同信號(hào)橫向查詢)的方式,得到對(duì)應(yīng)的按鍵值。但是矩陣鍵盤需要不停地發(fā)送信號(hào),這樣才能不遺漏每一次按鍵。本設(shè)計(jì)需要對(duì)溫度信息進(jìn)行實(shí)時(shí)的采集,所以單片機(jī)要不停地和溫度傳感器通信,保證信息的實(shí)時(shí)性。如果使用了矩陣式鍵盤,那單片機(jī)就需要同時(shí)兼顧溫度傳感器和矩陣按鍵,給單片機(jī)帶來(lái)了巨大的壓力,使系統(tǒng)的整體性能嚴(yán)重降低,出現(xiàn)嚴(yán)重的遲滯性。本系統(tǒng)需要的按鍵不是很多,使用矩陣鍵盤也較為浪費(fèi)。所以綜合考慮,選擇使用獨(dú)立鍵盤作為輸入。5)報(bào)警模塊報(bào)警模塊主要功能是提示系統(tǒng)使用者,本系統(tǒng)檢測(cè)到的溫度值達(dá)到了設(shè)定的極限值。報(bào)警效果為蜂鳴器鳴叫,警示LED點(diǎn)亮,采用聲光報(bào)警可以有效地提醒使用者。2、在軟件上

26、單片機(jī)是一個(gè)系統(tǒng)的大腦,一個(gè)總指揮所,支配其它的所有電路或者模塊協(xié)調(diào)工作。程序是一個(gè)系統(tǒng)的思想,沒有程序,電路就是死體,不能正常運(yùn)作。有了程序,就想肉體有了靈魂,一個(gè)有效地程序,能讓一堆電路工作,一個(gè)合理高效的程序,能優(yōu)化整個(gè)系統(tǒng)使整個(gè)系統(tǒng)處于最佳的工作狀態(tài)。本系統(tǒng)的軟件程序主要包括主程序、溫度檢測(cè)程序、顯示程序、報(bào)警系統(tǒng)程序、鍵盤掃描控制程序這幾個(gè)大模塊。主程序首先是各個(gè)子程序的初始化程序,然后是溫度檢測(cè)程序,不斷的檢測(cè)采集到的溫度是否超出設(shè)置的范圍,將檢測(cè)到的溫度顯示在TFT彩屏上,在這過(guò)程中還可以設(shè)置顯示哪路溫度和溫度測(cè)量的范圍,如此不斷的執(zhí)行程序來(lái)達(dá)到實(shí)時(shí)溫度檢測(cè)的目的。2.2 系統(tǒng)總

27、體方案設(shè)計(jì)多路數(shù)字式溫度監(jiān)控系統(tǒng),一共有三點(diǎn)主要的要求:1.多路;2.數(shù)字式;3.溫度監(jiān)測(cè)。本設(shè)計(jì)是以STM32F103ZET6為核心,支配著溫度傳感器電路、顯示模塊、報(bào)警電路、鍵盤電路。其溫度檢測(cè)電路一共有四路,都采用DS18B20溫度傳感器,對(duì)各個(gè)點(diǎn)的溫度值進(jìn)行采集。顯示模塊是由TFT及相關(guān)電路組成,用來(lái)顯示所有的相關(guān)信息。報(bào)警電路由LED與蜂鳴器組成,提示使用者該系統(tǒng)檢測(cè)到溫度值已達(dá)到極限值,使用者在聽到報(bào)警聲后采取相應(yīng)的措施以解除報(bào)警,再重新設(shè)置溫度極限值。鍵盤電路則是作為輸入,調(diào)節(jié)極限溫度值或者其它功能。系統(tǒng)框圖如下圖:報(bào)警STM32F103ZE顯示模塊解除報(bào)警重新設(shè)置溫度極值限值鍵

28、盤電路溫度采集電路圖2.1 系統(tǒng)總流程圖 如圖2.1,根據(jù)系統(tǒng)的設(shè)計(jì)要求,當(dāng)溫度傳感器DS18B20把所測(cè)得的溫度發(fā)送到控制器STM32F103ZE上,經(jīng)它處理后,將溫度在顯示器TFTLCD上顯示。2.3 系統(tǒng)功能介紹利用STM32F103ZE芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度采集并在TFT顯示屏上顯示采集處理后的溫度,使它能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度。當(dāng)TFTLCD液晶顯示器接收到來(lái)自STM32F103ZE控制器傳送來(lái)的溫度信息后,分別顯示了當(dāng)前的溫度。設(shè)計(jì)的主要功能和指標(biāo)如下:(1)多點(diǎn)監(jiān)測(cè);(2)監(jiān)測(cè)溫度范圍寬,精度高;(3)用TFT液晶進(jìn)行實(shí)際溫度值顯示;(4)能夠自主設(shè)置上、下

29、限報(bào)警溫度;(5)當(dāng)超過(guò)報(bào)警溫度后,能夠自動(dòng)發(fā)出報(bào)警信號(hào)。本系統(tǒng)使用較高的智能化設(shè)計(jì),無(wú)需手動(dòng)對(duì)系統(tǒng)進(jìn)行各種參數(shù)的設(shè)定,一旦進(jìn)入系統(tǒng)開啟界面,系統(tǒng)將會(huì)自動(dòng)對(duì)電路的各個(gè)功能模塊進(jìn)行自檢,如果各個(gè)模塊正常,將自動(dòng)進(jìn)入監(jiān)測(cè)界面,如果檢測(cè)到系統(tǒng)的部分問題不正常,將會(huì)在顯示界面上顯示出來(lái),便于處理。進(jìn)入監(jiān)測(cè)畫面以后,系統(tǒng)會(huì)以默認(rèn)的初始值進(jìn)行監(jiān)測(cè),如果被監(jiān)測(cè)對(duì)象有特殊的需要,可以在監(jiān)測(cè)界面下使用按鍵輸入系統(tǒng),對(duì)監(jiān)測(cè)的參數(shù)進(jìn)行修改,達(dá)到監(jiān)測(cè)所需合適的要求。3 硬件電路設(shè)計(jì)3.1 硬件元件介紹3.1.1 STM32F103ZE 介紹根據(jù)本設(shè)計(jì)的具體要求,最終選用Cortex-M3內(nèi)核單片機(jī)。為了有足夠的引腳與

30、高速的主頻,因而選擇STM32F103ZET6。Cortex-M3采用了ARM7的架構(gòu),運(yùn)行速度快、性能高、穩(wěn)定性好、功耗低16。32位的CPU與普通的8位的單片機(jī)相比,在速度與性能上都是有飛躍性的差距。Cortex-M3內(nèi)核單片機(jī)以其強(qiáng)大的功能,在現(xiàn)代的市場(chǎng)上在有舉足輕重的地位,在許多的高性能、高速度的產(chǎn)品上,主控制器采用了STM32單片機(jī),使整個(gè)系統(tǒng)完美的配合。在高速的控制產(chǎn)品上,STM32單片機(jī)的應(yīng)用相當(dāng)廣泛,例如:GPS定位系統(tǒng),GSM通訊設(shè)備,無(wú)線路由器。STM32單片機(jī)高速的不可替代性,使其在新型高速高穩(wěn)定新的新產(chǎn)品應(yīng)用上占據(jù)重要的位置。具體功能介紹:內(nèi)核:ARM 32位的Cort

31、ex-M3 CPU 最高72MHz工作頻率,在存儲(chǔ)器的0等待周期訪問時(shí)可達(dá) 1.25DMips/MHz(Dhrystone 2.1) 單周期乘法和硬件除法 存儲(chǔ)器 從256K至512K字節(jié)的閃存程序存儲(chǔ)器 高達(dá)64K字節(jié)的SRAM 帶4個(gè)片選的靜態(tài)存儲(chǔ)器控制器。支持CF卡、SRAM、PSRAM、NOR和NAND存儲(chǔ)器 并行LCD接口,兼容8080/6800模式 時(shí)鐘、復(fù)位和電源管理 2.03.6伏供電和I/O引腳 上電/斷電復(fù)位(POR/PDR)、可編程電壓監(jiān)測(cè)器(PVD) 416MHz晶體振蕩器 內(nèi)嵌經(jīng)出廠調(diào)校的8MHz的RC振蕩器 內(nèi)嵌帶校準(zhǔn)的40kHz的RC振蕩器 帶校準(zhǔn)功能的32kHz

32、 RTC振蕩器 低功耗 睡眠、停機(jī)和待機(jī)模式 VBAT為RTC和后備寄存器供電 3個(gè)12位模數(shù)轉(zhuǎn)換器,1s轉(zhuǎn)換時(shí)間(多達(dá)21個(gè)輸入通道) 轉(zhuǎn)換范圍:0至3.6V 三倍采樣和保持功能 溫度傳感器 2通道12位D/A轉(zhuǎn)換器 DMA:12通道DMA控制器 支持的外設(shè):定時(shí)器、ADC、DAC、SDIO、I2S、SPI、I2C和USART 調(diào)試模式 串行單線調(diào)試(SWD)和JTAG接口 Cortex-M3內(nèi)嵌跟蹤模塊(ETM) 多達(dá)112個(gè)快速I/O端口 51/80/112個(gè)多功能雙向的I/O口,所有I/O口可以映像到16個(gè)外部中斷;幾乎所有端口均可容忍5V信號(hào)多達(dá)11個(gè)定時(shí)器 多達(dá)4個(gè)16位定時(shí)器,每

33、個(gè)定時(shí)器有多達(dá)4個(gè)用于輸入捕獲/輸出比較/PWM或脈沖計(jì)數(shù)的通道和增量編碼器輸入 2個(gè)16位帶死區(qū)控制和緊急剎車,用于電機(jī)控制的PWM高級(jí)控制定時(shí)器 2個(gè)看門狗定時(shí)器(獨(dú)立的和窗口型的) 系統(tǒng)時(shí)間定時(shí)器:24位自減型計(jì)數(shù)器 2個(gè)16位基本定時(shí)器用于驅(qū)動(dòng)DAC 多達(dá)13個(gè)通信接口 多達(dá)2個(gè)I2C接口(支持SMBus/PMBus) 多達(dá)5個(gè)USART接口(支持ISO7816,LIN,IrDA接口和調(diào)制解調(diào)控制) 多達(dá)3個(gè)SPI接口(18M位/秒),2個(gè)可復(fù)用為I2S接口 CAN接口(2.0B 主動(dòng)) USB 2.0全速接口 SDIO接口 CRC計(jì)算單元,96位的芯片唯一代碼主控制器原理圖如下:圖3

34、.1 STM32F103xx增強(qiáng)型模塊框圖圖3.2 STM32F103ZE 引腳圖圖3.3 STM32F103ZET6 實(shí)物圖3.1.2 DS18B20介紹 溫度傳感器性能和結(jié)構(gòu):DS18B20是數(shù)字式的溫度傳感器,其將溫度值直接轉(zhuǎn)換為數(shù)字量輸出。數(shù)字式的溫度傳感器可以簡(jiǎn)化電路的設(shè)計(jì),增加系統(tǒng)的穩(wěn)定性,也就是說(shuō)在不同的溫度環(huán)境下使用,抗干擾能力較高。直接數(shù)字量輸出,省去AD轉(zhuǎn)換電路,降低系統(tǒng)的復(fù)雜程度。 對(duì)于DS18B20的應(yīng)用十分廣泛,現(xiàn)在的高?;蚵殬I(yè)技術(shù)教學(xué),都是以其為教學(xué)的材料DS18B20的性能特點(diǎn)如下: (1)單總線接口,節(jié)省I/O口8; (2)可通過(guò)數(shù)據(jù)線供電,電壓范圍為3.35.

35、0; (3)溫度測(cè)量范圍為55125; (4)測(cè)溫分辨率可達(dá)0.0625; (5)溫度以9位或12位A/D轉(zhuǎn)換; DS18B20的外形和內(nèi)部結(jié)構(gòu):DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器17,18。DS18B20的外形及管腳排列如下圖: 圖3.4 DS18B20外形及引腳排列圖DS18B20引腳定義: (1)DQ為數(shù)字信號(hào)輸入/輸出端; (2)GND為電源地; (3)VDD為外接供電電源輸入端。圖3.5 DS18B20內(nèi)部結(jié)構(gòu)圖DS18B20的工作原理:在測(cè)溫系統(tǒng)中經(jīng)常使用的DS18B20的產(chǎn)生的數(shù)據(jù)位數(shù),主要是由分辨率

36、的不同而產(chǎn)生的,分辨率越高,相應(yīng)的轉(zhuǎn)換時(shí)間越長(zhǎng),相反分辨率越低,轉(zhuǎn)換的時(shí)間越久,其時(shí)間差距從750mS到2S,這與DS1820的性能相似18。 DS18B20測(cè)溫原理如圖3.6所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器121。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入,計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值25。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直

37、到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度21。圖3.6中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值26,27,28,30,31。 斜率累加器預(yù)置低溫度系數(shù)晶振計(jì)數(shù)器1比較預(yù)置溫度寄存器=0高溫度系數(shù)晶振計(jì)數(shù)器2=0LSB置位/清除加1停止圖3.6 DS18B20測(cè)溫原理框圖DS18B20有4個(gè)主要的數(shù)據(jù)部件: (1) DS18B20地址每一個(gè)DS18B20在出廠的時(shí)候就已經(jīng)把地址序列固定了,并且每一個(gè)DS18B20的質(zhì)地序列都不一樣,所以在使用單總線掛起多個(gè)DS18B20的時(shí)候,必須先讀出它的地址序列,否則無(wú)法識(shí)別;然而

38、每個(gè)DS18B20都占用一個(gè)數(shù)據(jù)線時(shí),就不用讀取地址序列20。64位光刻ROM的排列是:開始的8位是產(chǎn)品類型標(biāo)號(hào),然后48位則是DS18B20自身的序列號(hào),最后8位是之前56位的循環(huán)冗余校驗(yàn)碼22,23。(2)DS18B20寄存器格式如下表所示: 表3.1 DS18B20溫度值格式bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0232221202-12-22-32-4bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8SSSSS262524DS18B20溫度轉(zhuǎn)換后的數(shù)據(jù)保存在兩個(gè)8比特的RAM中,分辨率為0.0625/LSB,

39、在轉(zhuǎn)換后的12位數(shù)據(jù)中,前五位表示溫度的正負(fù)值,如果前五位大于0,則溫度為正,此時(shí)的溫度值為測(cè)得的數(shù)據(jù)值乘上0.0625;如果前五位小于0,則溫度為負(fù),此時(shí)的溫度值為測(cè)得的數(shù)據(jù)值取反加1再乘上0.062511,12,17,18,33。表3.2 DS18B20溫度數(shù)據(jù)TEMPERATUREDIGTAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+1250000 0111 1101 000007D0H+850000 0101 0101 0000 0550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 0010 0

40、0A2H+0.50000 0000 0000 10000008H00000 0000 0000 0000 0000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FF6EH-551111 1100 1001 0000FC90H(3)DS18B20的存儲(chǔ)器 DS18B20的內(nèi)部存儲(chǔ)器由一個(gè)RAM(高速隨機(jī)存取存儲(chǔ)器)和一個(gè)掉電保護(hù)的電可擦除E2PRAM組成;E2PRAM用來(lái)放置低溫度和高溫度觸發(fā)器TL、TH和結(jié)構(gòu)寄存器33。(4)配置寄存器 該字節(jié)各位的意義如下:表3.3

41、 配置寄存器結(jié)構(gòu)TMR1R011111低五位一直都是1,TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng),R1和R0用來(lái)設(shè)置分辨率26,27,如下表所示:(DS18B20出廠時(shí)被設(shè)置為12位)表3.4 溫度分辨率設(shè)置表R1R0分辨率溫度最大轉(zhuǎn)換時(shí)間009位93.75ms0110位187.5ms1011位375ms1112位750ms3.1.3 TFTLCD介紹本設(shè)計(jì)采用TFT-LCD模塊。TFT-LCD是現(xiàn)在現(xiàn)代信息時(shí)代的最佳選擇。現(xiàn)代的液晶顯示功能已經(jīng)滲透到各行各業(yè)當(dāng)中,生活中最為常見的就是我們的手機(jī),其它比如電腦、平板、

42、MP3、MP4、各種家用設(shè)備。液晶屏的出現(xiàn),拉近了人與機(jī)器的距離,讓人與機(jī)器之間可以溝通交流。TFT-LCD即薄膜晶體管液晶顯示器19。其英文全稱為:Thin Film Transistor-Liquid Crystal Display。該模塊有如下特點(diǎn): 1,2.4/2.8/3.53種大小的屏幕可選。 2,320240的分辨率(3.5分辨率為:320*480)。3,16位真彩顯示。 4,自帶觸摸屏,可以用來(lái)作為控制輸入。 本設(shè)計(jì)使用2.8英寸TFT-LCD模塊,分辨率240*320,16位并口,帶觸摸功能,可以將系統(tǒng)所需要的所有按鍵集成到TFT上。該模塊的外觀圖如圖3-7所示: 圖3.7 2

43、.8寸TFTLCD外觀圖圖3.8 TFTFLCD模塊原理圖此模塊使用TFT的16位并口數(shù)據(jù)總線,而沒有使用8位的,是可以增加數(shù)據(jù)傳輸?shù)乃俣?。因?yàn)椴噬掌男畔⒘枯^大,所以在使用TFT時(shí)都要求使用大數(shù)據(jù)量傳輸接口。該模塊的80并口有如下一些信號(hào)線: CS:TFTLCD片選信號(hào)。 WR:向TFTLCD寫入數(shù)據(jù)。 RD:從TFTLCD讀取數(shù)據(jù)。 D15:0:16位雙向數(shù)據(jù)線。RST:硬復(fù)位TFTLCD。 RS:命令/數(shù)據(jù)標(biāo)志(0,讀寫命令;1,讀寫數(shù)據(jù))。TFTLCD顯示需要的相關(guān)設(shè)置步驟如下: 1) 與TFT鏈接的I/O口初始化(包括時(shí)鐘、方向與模式),本設(shè)計(jì)使用FSMC功能。2) 初始化TFTL

44、CD模塊。3) 通過(guò)函數(shù)將字符和數(shù)字顯示到TFTLCD模塊上。3.1.4 FSMC介紹 STM32的內(nèi)部外設(shè)豐富,可選擇性強(qiáng),讓用戶在各種不同的應(yīng)用中都能滿足設(shè)計(jì)的要求。現(xiàn)代的液晶顯示功能已經(jīng)滲透到各行各業(yè)當(dāng)中,生活中最為常見的就是我們的手機(jī),其它比如電腦、平板、MP3、MP4、各種家用設(shè)備。液晶屏的出現(xiàn),拉近了人與機(jī)器的距離,讓人與機(jī)器之間可以溝通交流。因?yàn)橐壕Ъ夹g(shù)的興起,F(xiàn)SMC技術(shù)也將隨之興起,F(xiàn)SMC即存儲(chǔ)器擴(kuò)展技術(shù),其滿足不同的大容量靜態(tài)存儲(chǔ)器的拓展。 FSMC(Flexihie Static Memory Controller,可變靜態(tài)存儲(chǔ)控制器)是增強(qiáng)型的STM32單片機(jī)特有的存

45、儲(chǔ)機(jī)制。FSMC機(jī)制不是針對(duì)某一款存儲(chǔ)器定制的,對(duì)寄存器設(shè)置可以改變FSMC的功能,在其它的存儲(chǔ)器上使用。 FSMC的框圖如圖3.9所示:圖3.9 FSMC框圖 FSMC技術(shù)優(yōu)勢(shì) 支持多種靜態(tài)存儲(chǔ)器類型。STM32通過(guò)FSMC可以與SRAM、ROM、PSRAM、NOR Flash和NANDFlash存儲(chǔ)器的引腳直接相連9;支持豐富的存儲(chǔ)操作方法。FSMC不僅支持多種數(shù)據(jù)寬度的異步讀寫操作,而且支持對(duì)NORPSRAMNAND存儲(chǔ)器的同步突發(fā)訪問方式9;支持同時(shí)擴(kuò)展多種存儲(chǔ)器。FSMC的映射地址空間中,不同的BANK是獨(dú)立的,可用于擴(kuò)展不同類型的存儲(chǔ)器9。當(dāng)系統(tǒng)中擴(kuò)展和使用多個(gè)外部存儲(chǔ)器時(shí),F(xiàn)SM

46、C會(huì)通過(guò)總線懸空延遲時(shí)間參數(shù)的設(shè)置,防止各存儲(chǔ)器對(duì)總線的訪問沖突9;支持更為廣泛的存儲(chǔ)器型號(hào)。通過(guò)對(duì)FSMC的時(shí)間參數(shù)設(shè)置,擴(kuò)大了系統(tǒng)中可用存儲(chǔ)器的速度范圍,為用戶提供了靈活的存儲(chǔ)芯片選擇空間9;支持代碼從FSMC擴(kuò)展的外部存儲(chǔ)器中直接運(yùn)行,而不需要首先調(diào)入內(nèi)部SRAM9。3.2 硬件電路詳細(xì)設(shè)計(jì)3.2.1 溫度采集模塊設(shè)計(jì)在本系統(tǒng)中,我一共設(shè)計(jì)了四路溫度的采集,這四路溫度的采集來(lái)自不同的四個(gè)溫度傳感器,在實(shí)際應(yīng)用中這四個(gè)溫度傳感器可以放在四個(gè)不同的地方來(lái)檢測(cè)不同環(huán)境下的溫度。在這里我用了控制器的四個(gè)IO口,因?yàn)榭紤]到系統(tǒng)用的控制器IO口數(shù)目多且采用這樣的方式不需要頻繁的讀取地址碼,節(jié)省了系統(tǒng)

47、軟件運(yùn)行的時(shí)間,提高了效率。而且但總線控制時(shí),總線上面掛的多個(gè)DS18B20的地址不同,使用時(shí)不但要發(fā)送地址,如果某個(gè)傳感器壞掉以后,要對(duì)其更換,就必須將程序的地址序列修改,不然無(wú)法識(shí)別新的DS18B20。但總線的設(shè)計(jì),大大降低了系統(tǒng)的通用性,一旦設(shè)計(jì)完成,如果要更換傳感器,必須要到專門的地點(diǎn),專業(yè)的人員對(duì)程序進(jìn)行修改。每一路溫度都和其他路的溫度沒有關(guān)系并且互不沖突,能夠很好的實(shí)現(xiàn)四路溫度同時(shí)監(jiān)測(cè)。下圖為溫度采集系統(tǒng)的電路圖,圖中PG11,PC1,PC2,PC3表示接到控制器相應(yīng)的IO口圖3.10 溫度采集電路圖3.2.2 顯示模塊設(shè)計(jì)本設(shè)計(jì)中我采用開發(fā)板附帶的TFTLCD顯示屏,它內(nèi)部有IL

48、I9325控制器來(lái)驅(qū)動(dòng)TFT,TFT采用四線制電阻屏,刷屏速度快,帶有觸摸屏功能,可以省去部分按鍵電路的制作。TFTLCD可以直接接在控制器的IO口上,實(shí)際上控制器內(nèi)部對(duì)其進(jìn)行了相應(yīng)的控制,利用控制器內(nèi)部自帶的FSMC技術(shù)把它當(dāng)做了SRAM存儲(chǔ)器來(lái)使用,因此使用起來(lái)方便快捷,無(wú)需更多的驅(qū)動(dòng)的電路。下圖為顯示圖塊電路圖(圖中紅色標(biāo)注表示與控制器相應(yīng)引腳的連接)圖3.11 顯示模塊電路圖由上圖可知,它的數(shù)據(jù)線是采用位并口線來(lái)連接的,并且它有如下一些信號(hào)線: CS:TFTLCD片選信號(hào)。 WR:向TFTLCD寫入數(shù)據(jù)。 RD:從TFTLCD讀取數(shù)據(jù)。 D15:0:16位雙向數(shù)據(jù)線。RST:硬復(fù)位TF

49、TLCD。 RS:命令/數(shù)據(jù)標(biāo)志(0,讀寫命令;1,讀寫數(shù)據(jù))。這里還需要注意,我們標(biāo)注的DB1DB8,DB10DB17,是相對(duì)于LCD控制IC標(biāo)注的,實(shí)際上大家可以把他們就等同于D0D15,這樣理解起來(lái)就比較簡(jiǎn)單一點(diǎn)。3.2.3 按鍵模塊設(shè)計(jì) 按鍵采用獨(dú)立式按鍵,共用四個(gè)按鍵。按鍵部分電路如下圖圖3.12 按鍵模塊電路圖 由上圖可以知道,KEY0,KEY1,KEY2是低電平有效的,KEY_UP是高電平有效的,而且在這里都沒有上下拉電阻,因?yàn)樵赟TM32的內(nèi)部已經(jīng)設(shè)置好了上下拉電阻。具體按鍵功能: KEY1:溫度值設(shè)定按鍵“+”,設(shè)置報(bào)警溫度限值值。 KEY0:溫度值設(shè)定按鍵“-”,設(shè)置報(bào)警溫

50、度限值值。 KEY_UP:選擇查看哪路溫度顯示。 KEY2:溫度值設(shè)置。按下此鍵開始設(shè)置報(bào)警溫度值。3.2.4報(bào)警模塊設(shè)計(jì)本設(shè)計(jì)采用蜂鳴器和led燈光報(bào)警,當(dāng)檢測(cè)到的溫度值超過(guò)我們預(yù)先設(shè)置的報(bào)警溫度時(shí),蜂鳴器會(huì)發(fā)出聲音并且led燈會(huì)亮起來(lái),以此來(lái)提醒我們溫度超限了。電路如圖:圖3.13 報(bào)警電路圖從圖中可以看到我采用了一個(gè)三極管,這是因?yàn)镾TM32的單個(gè) IO 最大可以提供 25mA 電流(來(lái)自數(shù)據(jù)手冊(cè)),而蜂鳴器的驅(qū)動(dòng)電流是 30mA 左右,兩者十分相近,但是如果直接驅(qū)動(dòng)蜂鳴器的話,STM32的其他部分用電可能就不夠用了,所以,我采用了一個(gè)三極管擴(kuò)大電流后再來(lái)驅(qū)動(dòng)蜂鳴器,這樣就不需要STM3

51、2提供很大的驅(qū)動(dòng)電流了。3.2.5 系統(tǒng)總體電路圖圖3.14系統(tǒng)總電路圖4 軟件設(shè)計(jì)程序是一個(gè)系統(tǒng)的思想,沒有程序,電路就是死體,不能正常運(yùn)作。有了程序,就想肉體有了靈魂,一個(gè)有效地程序,能讓一堆電路工作,一個(gè)合理高效的程序,能優(yōu)化整個(gè)系統(tǒng)是整個(gè)系統(tǒng)處于最佳的工作狀態(tài)。4.1 主程序流程圖本系統(tǒng)的軟件程序主要包括主程序、溫度檢測(cè)程序、顯示程序、報(bào)警系統(tǒng)程序,鍵盤控制程序幾個(gè)大模塊。主程序的優(yōu)化結(jié)構(gòu),決定了一個(gè)系統(tǒng)的優(yōu)化程度。主程序采用循環(huán)式掃描,對(duì)系統(tǒng)進(jìn)行循環(huán)的檢測(cè)。首先是各個(gè)子程序的初始化程序,包括對(duì)各個(gè)功能模塊的檢測(cè),然后是溫度檢測(cè)程序,不斷的檢測(cè)采集到的溫度是否超出設(shè)置的范圍,將檢測(cè)到的

52、溫度顯示在TFT彩屏上,在這過(guò)程中還可以設(shè)置顯示哪路溫度和溫度測(cè)量的范圍,如此不斷的執(zhí)行程序,主程序流程圖如圖4.1:開始子程序初始化按鍵溫度設(shè)置讀采集到的溫度值解除報(bào)警是否超過(guò)設(shè)置的溫度報(bào)警YN顯示溫度圖4.1 主程序流程圖4.2溫度采集處理流程圖溫度采集程序主要是對(duì)DS18B20的控制程序。由微控制器STM32F103ZET6嚴(yán)格按照DS18B20的時(shí)序控制它,進(jìn)行溫度的采集和轉(zhuǎn)換并輸出到TFTLCD,使我們能夠清楚地看到當(dāng)前溫度值。對(duì)DS18B20的設(shè)定在主程序已經(jīng)完成,在這幾只是其轉(zhuǎn)化的程序,不在需要不停地對(duì)其設(shè)置,減輕了系統(tǒng)的壓力,使系統(tǒng)的運(yùn)行速度提高。溫度采集程序流程圖如下:開始提

53、示錯(cuò)誤檢測(cè)DS18B20是否存在復(fù)位DS18B20初始化DS18B20 IO端口 開始溫度轉(zhuǎn)換得到溫度值TFTLCD顯示溫度值圖4.2 溫度采集模塊程序流程圖部分程序代碼如下: DS18B20_Start (a); / ds1820 start convert DS18B20_Rst(a); DS18B20_Check(a); DS18B20_Write_Byte(a,0xcc);/ skip rom DS18B20_Write_Byte(a,0xbe);/ convert TL=DS18B20_Read_Byte(a); / LSB TH=DS18B20_Read_Byte(a); / MSB4.3 顯示子程序介紹顯示字程序需較為復(fù)雜,主要因?yàn)門FT的驅(qū)動(dòng)難,但驅(qū)動(dòng)程序就可以達(dá)百行。本系統(tǒng)顯示程序突出優(yōu)點(diǎn)是折線圖,通過(guò)折線圖將實(shí)時(shí)的溫度顯示出來(lái),看起來(lái)更加的直觀,更容易看出溫度的變化趨勢(shì)走向。開始TFTLCD 初始化確定顯示位置顯示數(shù)據(jù)圖4.3 顯示程序流程圖部分程序代碼如下: LCD_Fill(2,32,239,320,WHITE); /特點(diǎn)區(qū)域填充為白色POINT_COLOR=BLUE;/設(shè)置字體為藍(lán)色 LCD_ShowString(60,90,240,16,16,DS18B20_0 OK);LCD_Sh

溫馨提示

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