版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本科論文目錄.TOC\o"1-3"\h\u2571摘要 I26387Abstract II3320引言 18941整體系統(tǒng)設(shè)計(jì) 3188761.1系統(tǒng)方案設(shè)計(jì) 346781.2系統(tǒng)工作原理 4237532硬件設(shè)計(jì) 5284262.1STM32單片機(jī) 521362.1.1STM32單片機(jī)介紹 571482.1.2STM32內(nèi)部電路圖 550262.2LCD1602液晶顯示器 7251802.2.1LCD1602介紹 7243412.2.21602各管腳功能 8119402.3DS18B20溫度傳感器 10315192.3.1DS18B20簡介 10244862.3.2DS18B20控制字和讀寫時(shí)序說明 1086662.4溫度采集電路與單片機(jī)的連接 12252993軟件設(shè)計(jì) 14174963.1總程序流程圖 14166153.2液晶顯示流程 15318913.3按鍵處理流程 16142004系統(tǒng)調(diào)試 17305264.1系統(tǒng)硬件調(diào)試 17307144.2系統(tǒng)軟件調(diào)試 1816714結(jié)論 198132參考文獻(xiàn) 2015948附錄1原理圖 2214655附錄2源程序清單 2330575致謝 30摘要本論文主要是為了利用編程軟件和硬件來設(shè)計(jì)并實(shí)現(xiàn)STM32單片機(jī)對(duì)環(huán)境溫度的信號(hào)采集。本文中利用STM32單片機(jī)來完成畢業(yè)設(shè)計(jì),并且主要目的就是完成溫度的采集,有一點(diǎn)需要注意的是,溫度采集是自動(dòng)化必須掌握的檢測(cè)技術(shù),也是一項(xiàng)十分有實(shí)用的技術(shù)。本文利用STM32的一種微型處理器來當(dāng)主控的CPU,通過使用一個(gè)獨(dú)立的數(shù)據(jù)采集模塊采集數(shù)據(jù),在這個(gè)基礎(chǔ)上實(shí)現(xiàn)了智能化的溫度數(shù)據(jù)采取、然后還有傳輸、處理和顯示等功能。并商討了該怎么提高系統(tǒng)的速度、性能和拓展性。數(shù)據(jù)采集是獲取信號(hào)對(duì)象信息的過程。然而本文的設(shè)計(jì)是一個(gè)在ARMCortex-M3處理器的基礎(chǔ)上的一項(xiàng)數(shù)據(jù)采集系統(tǒng),并且在此基礎(chǔ)上實(shí)現(xiàn)了對(duì)當(dāng)前場(chǎng)景的溫度信號(hào)的一種實(shí)時(shí)跟蹤性質(zhì)的采集。這次畢業(yè)設(shè)計(jì)的主要目的是提供可行性方法來進(jìn)行可以實(shí)施的后續(xù)研究。關(guān)鍵詞:嵌入式系統(tǒng);ARM;DS18B20溫度傳感器;STM32;溫度采集;數(shù)據(jù)的處理。
AbstractThispaperismainlytouseprogrammingsoftwareandhardwaretodesignandrealizethesignalacquisitionoftheenvironmenttemperaturebySTM32singlechipmicrocomputer.Inthispaper,STM32single-chipmicrocomputerisusedtocompletethegraduationproject,andthemainpurposeistocompletethetemperatureacquisition.Onethingneedstobenotedisthattemperatureacquisitionisadetectiontechnologythatmustbemasteredautomatically,anditisalsoaverypracticaltechnology.Inthispaper,STM32microprocessorisusedasthemainCPU,andanindependentdataacquisitionmoduleisusedtocollectdata.Onthisbasis,intelligenttemperaturedataacquisition,transmission,processinganddisplayfunctionsarerealized.Howtoimprovethespeed,performanceandexpansibilityofthesystemisdiscussed.Dataacquisitionistheprocessofacquiringsignalobjectinformation.However,thedesignofthispaperisadataacquisitionsystembasedonarmCortex-M3processor,andonthisbasis,itrealizesareal-timetrackingpropertyofthecurrentscenetemperaturesignalacquisition.Themainpurposeofthisgraduationprojectistoprovidefeasiblemethodstocarryoutthefollow-upresearch.Keywords:Embeddedsystem,arm;DS18B20temperaturesensor;STM32;temperatureacquisition;dataprocessing.引言當(dāng)今社會(huì),隨著社會(huì)的不斷發(fā)展,科學(xué)技術(shù)的不斷進(jìn)步,測(cè)溫儀器在各個(gè)領(lǐng)域的廣泛應(yīng)用,智能化服務(wù)已成為這個(gè)時(shí)代溫控系統(tǒng)發(fā)展的重要趨勢(shì)。溫度控制在生活中還有在工業(yè)領(lǐng)域中涉及的非常多,像室內(nèi)、供暖機(jī)構(gòu)、天氣預(yù)告等這些場(chǎng)所的溫度控制。像之前傳統(tǒng)的溫度控制都是手動(dòng)的,操作起來很麻煩。本文系統(tǒng)設(shè)計(jì)目的,首先它得是實(shí)現(xiàn)一種精準(zhǔn)度高的系統(tǒng)來采集的溫度控制系統(tǒng),其應(yīng)用必須得以普及,功能強(qiáng)大。它的實(shí)用性要強(qiáng),方便使用者攜帶,這是一款實(shí)用同時(shí)又物美價(jià)廉的溫度控制系統(tǒng)。尤其是最近這幾年的情況,溫度控制系統(tǒng)現(xiàn)在都被用到人們的生活很多層面,但溫度控制一直是一個(gè)還沒有被完全開發(fā)的領(lǐng)域,但同時(shí)它又與人類生活有著密不可分的關(guān)系。嵌入式系統(tǒng)把應(yīng)用作為中心,用計(jì)算機(jī)科學(xué)技術(shù)作為基本,并且軟硬件這方面它是可以裁剪的,為了適應(yīng)這一應(yīng)用,對(duì)于功能性、可靠性、成本、數(shù)量、消耗量等方面都有非常嚴(yán)格的要求。嵌入式控制系統(tǒng)已應(yīng)用在多個(gè)領(lǐng)域,在工業(yè)制造、軍事、醫(yī)療等方面,嵌入式控制系統(tǒng)是不可缺少的一部分,影響著社會(huì)生活。嵌入式控制系統(tǒng)是多個(gè)行業(yè)應(yīng)用結(jié)合的產(chǎn)物,正是因?yàn)檫@樣,促使它成為一個(gè)資金密集,高度分散的綜合體系。如果在技術(shù)上停滯不前,不懂得創(chuàng)新,那么也是會(huì)被淘汰的。嵌入式控制系統(tǒng)秉承用戶至上的宗旨,必須根據(jù)用戶在軟件程序、系統(tǒng)功能、成本等多方面的需求,確定軟硬件的制定。它在未來的發(fā)展趨勢(shì)將會(huì)是可以建立一個(gè)通用的軟硬件系統(tǒng),然后開發(fā)一個(gè)適合他的系統(tǒng),就可以更方便用戶使用了。以往那種刻板的溫度采集系統(tǒng)因?yàn)樗嬖谥憫?yīng)不快、精準(zhǔn)度不高、靠譜性不強(qiáng)、效率也不高、操作還麻煩等一系列問題,早就不適合現(xiàn)代化工業(yè)的快速的發(fā)展。由于嵌入式技術(shù)的高速發(fā)展,設(shè)計(jì)速度快、效率高、成本低、可靠性高、操作非常便利的溫度采集系統(tǒng)成為目前很重要的發(fā)展趨勢(shì)。因此STM32的溫度采集系統(tǒng)就成為了解決以往刻板溫度采集系統(tǒng)中的種種問題的優(yōu)先選擇方案。本畢業(yè)論文是基于STM32單片機(jī)溫度采集的設(shè)計(jì)?;赟TM32單片機(jī)的智能溫度檢測(cè)設(shè)計(jì),通過外部溫度傳感器實(shí)現(xiàn)溫度的實(shí)時(shí)采集。它能滿足不同情況下溫度采集的需要。它主要需要實(shí)現(xiàn)以下功能:首先,溫度傳感器測(cè)量當(dāng)前溫度,將測(cè)量值傳送到單片機(jī)上,并在液晶顯示器上顯示當(dāng)前溫度。第二點(diǎn)通過設(shè)置溫度上限和下限來比較當(dāng)前溫度。如果當(dāng)前溫度不在溫度上限和下限內(nèi),警報(bào)將發(fā)出警報(bào)。讓用戶及時(shí)發(fā)現(xiàn)溫度的變化。根據(jù)實(shí)際應(yīng)用情況,選擇合適的溫度傳感器,設(shè)計(jì)相應(yīng)的傳感器驅(qū)動(dòng)電路和傳感器信號(hào)調(diào)理電路。控制核心采用STM32F103C8T6主控芯片,設(shè)計(jì)了硬件的功能模塊和外圍電路,主要包括:溫度傳感器、液晶顯示、按鍵、報(bào)警功能和聲光報(bào)警單元模塊等。1整體系統(tǒng)設(shè)計(jì)1.1系統(tǒng)方案設(shè)計(jì)第一個(gè)方案:需要使用模擬分立的元件,例如電容、電感、晶體管等非線性元件,觀察采集的溫度和顯示的具體效果,這個(gè)方案的設(shè)計(jì)十分的好理解,特別簡單,并且它的操作也不是特別的難,還有個(gè)好處,就是它的價(jià)格是非常合適的。缺點(diǎn)就是如果用分立的元件,會(huì)造成它的分散性特別的大,對(duì)集成數(shù)字化是十分不好,而且最后測(cè)量之后,會(huì)存在很大的誤差的,所以這個(gè)方案的可行性不太好,盡量不用。第二個(gè)方案:選用PC機(jī)作為本次設(shè)計(jì)的主控機(jī)。利用溫度傳感器來選用溫度的信號(hào),通過信號(hào)放大器之后,再送到A/D轉(zhuǎn)換芯片中,然后再一次的經(jīng)過擁有單片機(jī)的檢測(cè)系統(tǒng)來進(jìn)行下一步的解析和處理,然后再利用通信線路到PC機(jī)的上面,在PC的上面也可以通過對(duì)溫度信號(hào)來進(jìn)行很多的解析和處理的方式,所以這個(gè)方案簡單來說還是不錯(cuò)的。圖1.1方案二的框圖如上圖所述,如果用這個(gè)方案的話,那么這個(gè)技術(shù)相對(duì)來講是比較成熟的,發(fā)展的時(shí)間也是最長的,而且將溫度信息上傳到PC機(jī),然后再利用PC機(jī)的數(shù)據(jù)處理能力和良好的輔助軟件,就可以從多角度、多需求的方向來分析處理這個(gè)溫度數(shù)據(jù),但是這個(gè)在工業(yè)上基本上是不會(huì)運(yùn)用的。因?yàn)镻C機(jī)的價(jià)格的因素,所以這個(gè)方案還是不合適的。第三個(gè)方案:現(xiàn)在有很多客觀需求來促進(jìn)STM32單片機(jī)的設(shè)計(jì)的整體改進(jìn)。因?yàn)樵靸r(jià)高的問題,還有就是物理的尺寸方面是受到很多的限制的,所以這個(gè)嵌入式系統(tǒng)的存儲(chǔ)器的內(nèi)存和儲(chǔ)存量是有限的。另外,嵌入式的系統(tǒng)它的價(jià)格一般來講是挺敏感的,所以使用速度通常情況下不是很高,成本相對(duì)來說也不是很高的。從現(xiàn)在的情況看系統(tǒng)的關(guān)鍵問題并不是在于簡單的處理器的速度,而是有效率的系統(tǒng)性能和功能。根據(jù)上面寫的這三種方案的一些簡單的介紹,本次畢業(yè)論文系統(tǒng)設(shè)計(jì)選擇第三個(gè)方案,這次的畢業(yè)設(shè)計(jì)是用STM32的嵌入式數(shù)據(jù)解析和顯示裝置。這一次的系統(tǒng)設(shè)計(jì)選用的是“STM32核心控制模塊+溫度采集模塊”來完成所需要的功能的。1.2系統(tǒng)工作原理2硬件設(shè)計(jì)2.1STM32單片機(jī)2.1.1STM32單片機(jī)介紹STM32這種微型的控制器,它是這個(gè)整體溫度控制系統(tǒng)的一個(gè)核心的部分。因?yàn)閷?duì)溫度控制器具有較高的要求,如果執(zhí)行的速度越快的話,控制的準(zhǔn)確度就會(huì)越高,穩(wěn)定性也很高它的靈敏度也會(huì)很高,因此必須得選出一種既便宜又實(shí)惠而且性能也高的一個(gè)單片機(jī)。ARMCortex-M3的架構(gòu)是可以體現(xiàn)出STM32增強(qiáng)型的單片機(jī)高性能、低功耗和經(jīng)濟(jì)實(shí)用的要求。并且它們選擇的是THUMB-2指令集,這個(gè)指令帶來的優(yōu)勢(shì)和效果可以變得更強(qiáng)。STM32單片機(jī)選擇2.0~3.6V的供電電壓來使用。這個(gè)可以在-40℃~85℃的溫度環(huán)境下工作。最高的工作頻率是72MHz。它的引腳如下圖2.1。圖2.1STM32F103引腳分布圖2.1.2STM32內(nèi)部電路圖本次設(shè)計(jì)中最主要的是STM32單片機(jī)的應(yīng)用,它本身自帶很多功能,工作速度也快。其中它本身自帶了一個(gè)穩(wěn)壓電路輸入5V電源,然后輸出為3.3V。原理圖如下圖2.2。圖2.2穩(wěn)壓電路(1)時(shí)鐘電路本設(shè)計(jì)選擇的STM32單片機(jī)外接時(shí)鐘電路,這樣系統(tǒng)運(yùn)作的話會(huì)有穩(wěn)定的秩序。需要配置外部高速時(shí)鐘和外部低速時(shí)鐘。如下圖2.3。圖2.3外部高速時(shí)鐘與外部低速時(shí)鐘(2)復(fù)位電路復(fù)位電路是每一個(gè)電路都會(huì)帶的功能,本設(shè)計(jì)選用的STM32內(nèi)部帶有復(fù)位電路,但是焊接的實(shí)物卻沒有用到復(fù)位電路,作為一款溫度測(cè)量儀器,測(cè)量范圍大不適合用復(fù)位電路進(jìn)行復(fù)位,所以沒有在硬件上加復(fù)位開關(guān),復(fù)位電路如下圖2.4。圖2.4復(fù)位電路2.2LCD1602液晶顯示器2.2.1LCD1602介紹顯示器其中的一個(gè)部分就是用于顯示溫度還有溫度的上下限。在我們?nèi)粘I钪?,一般來講生活中運(yùn)用LCD顯示器是比較多的。液晶顯示模塊經(jīng)常被用作很多的子產(chǎn)品的通用器件,比如,像手機(jī)屏幕,液晶電視,電子鐘還有很多家用的電子產(chǎn)品,主要顯示數(shù)字、特殊的字符和圖形。在這樣的一個(gè)設(shè)計(jì)中,液晶顯示器是用作輸出設(shè)備的。在單個(gè)的芯片系統(tǒng)中如果用液晶顯示器來用做輸出的話它是得具有以下幾個(gè)優(yōu)勢(shì):第一個(gè)是高顯示質(zhì)量。LCD顯示器在各點(diǎn)接收信號(hào)后,為了維持一種顏色和亮度,會(huì)連續(xù)發(fā)光。這種情況下,和顯像管的顯示器不同。陰極射線管的顯示器總是更新新的亮點(diǎn)。因此,液晶顯示器的畫質(zhì)高也不會(huì)閃爍。第二個(gè)就是數(shù)字型接口液晶顯示器全部都是數(shù)字信號(hào),還有一點(diǎn)就是它在和單片機(jī)的系統(tǒng)的接口是非常的簡便和靠譜的,同時(shí)操作也是十分的便利的。第三個(gè)優(yōu)勢(shì)就是它的體積非常小、重量也是非常輕的,液晶顯示器的目的是通過顯示器上的電極來控制并顯示液晶分子的狀態(tài),重量比相同顯示面積的傳統(tǒng)顯示器輕得多。第四個(gè)優(yōu)勢(shì)就是低功耗:一般情況下,液晶顯示器的主要功能消耗在其內(nèi)部的電極和驅(qū)動(dòng)器的IC上,所以耗電比其他顯示器少。LCD1602主要技術(shù)參數(shù):顯示容量:16×2個(gè)字符;芯片工作電壓:4.5—5.5V;工作電流:2.0mA(5.0V);模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm。它的原理圖如圖2.5所示圖2.5LCD1602原理圖2.2.21602各管腳功能一般來說,1602字符液晶顯示器是一種14引腳或16引腳的液晶顯示器。本文選用16針引腳液晶顯示器。另外兩條線是背光電源線VCC和地線GND,控制原理與14引腳LCD相同,其中:表2.11602各管腳功能引腳符號(hào)功能說明1VSS一般接地2VDD接電源(+5V)3V0液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。4RSRS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。5R/WR/W為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。6EE(或EN)端為使能(enable)端,下降沿使能。7DB0底4位三態(tài)、雙向數(shù)據(jù)總線0位(最低位)8DB1底4位三態(tài)、雙向數(shù)據(jù)總線1位9DB2底4位三態(tài)、雙向數(shù)據(jù)總線2位10DB3底4位三態(tài)、雙向數(shù)據(jù)總線3位11DB4高4位三態(tài)、雙向數(shù)據(jù)總線4位12DB5高4位三態(tài)、雙向數(shù)據(jù)總線5位13DB6高4位三態(tài)、雙向數(shù)據(jù)總線6位14DB7高4位三態(tài)、雙向數(shù)據(jù)總線7位(最高位)(也是busyflag)15BLA背光電源是正極16BLK背光電源是負(fù)極表2.2寄存器選擇控制表RSR/W操作說明00寫入指令寄存器(清除屏等)01讀busyflag(DB7),以及讀取位址計(jì)數(shù)器(DB0~DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)2.3DS18B20溫度傳感器2.3.1DS18B20簡介DS18B20是達(dá)拉斯公司生產(chǎn)研發(fā)的,擁有單線數(shù)字溫度的一個(gè)傳感器,是擁有三個(gè)腳TO-92小的空間的一個(gè)封閉東西;溫度的測(cè)量范圍在零下五十五攝氏度到零上一百二十五攝氏度,可以編成八到十二位的A/D互換準(zhǔn)確度,DS18B20的測(cè)量精度是正負(fù)0.5攝氏度,被測(cè)的溫度可以用符號(hào)十六位數(shù)字來表示輸出。原理圖及引腳說明如圖2.6,功能如表2.3。(a原理圖)(b引腳說明)圖2.6DS18B20原理圖及引腳說明表2.3DS18B20引腳說明序號(hào)名稱引腳功能1GND接地2DQ數(shù)據(jù)輸入/輸出引腳:開漏單總線接口引腳;當(dāng)被用到寄生電源下,也可向器件提供電源3VDD可選擇的VDD引腳,當(dāng)工作于寄生電源時(shí),此引腳必須接地2.3.2DS18B20控制字和讀寫時(shí)序說明(1)初始化總線上單線的所有操作都從原始時(shí)間開始,初始化如下。當(dāng)通過檢測(cè)到單線上升沿時(shí),通常會(huì)延遲15-60us,并通過拉下一段總線達(dá)到其響應(yīng)脈沖。主機(jī)接收到響應(yīng)脈沖后,表示有一個(gè)單線設(shè)備在線。(2)ROM操作命令如果總線主機(jī)要是發(fā)現(xiàn)有對(duì)應(yīng)的脈沖,就能發(fā)起某種操作的口令。一般會(huì)有五個(gè)ROM的操作口令。說明看下表2.4。表2.4ROM操作命令與說明命令類型命令字節(jié)功能說明Readrom33H此命令讀取激光ROM的64位,只能用于總線上單個(gè)DS18B20的情況下,多掛則會(huì)發(fā)生沖突Matchrom(匹配rom)55H此命令后跟64位ROM序列號(hào),尋址多掛總線上的DS18B20。只有序列號(hào)完全匹配的DS18B20才能響應(yīng)后面的內(nèi)存操作命令,其他不匹配的將等待復(fù)位脈沖。此命令可用于單掛或多掛接總線。Skiprom(跳過rom)CCH此命令用于單掛接總線系統(tǒng)時(shí),可以無需提供64位ROM序列號(hào)皆可運(yùn)行內(nèi)存操作命令。如果總線上掛多掛DS18B20,并且在此命令后執(zhí)行讀命令,將會(huì)發(fā)生數(shù)據(jù)沖突。Scarchrom(搜索rom)F0H主機(jī)調(diào)用此命令,通過一個(gè)排除法過程,可以識(shí)別出總線上所有器件的ROM序列號(hào)。Alarmrom(警報(bào)rom)ECH此命令流程圖和scarchrom命令相同,但是DS18B20只有在最近的一次溫度測(cè)量時(shí)滿足了告警觸發(fā)條件,才會(huì)響應(yīng)此命令。(3)內(nèi)存操作命令ROM操作的口令在被成功操作之后,它就可以通過內(nèi)存的操作口令。主機(jī)是可以提供六個(gè)內(nèi)存的操作口令的,比如表2.5。(4)數(shù)據(jù)處理DS18B20是有嚴(yán)格要求的,在時(shí)間和順序方面必須得保證數(shù)字的完整度。在這個(gè)單線上,會(huì)存在一些復(fù)位沖、應(yīng)答脈沖、寫“1”、寫“0”、讀“1”、讀“0”只有這幾種樣式的信號(hào)類型。所有的一切全部都是從這個(gè)主機(jī)里操作的。所有寫時(shí)隙必須大于60μs(即高下拉后大于60μs),所有寫時(shí)隙之間的恢復(fù)時(shí)間必須短至1us。DS18B20在DQ線慢慢變低后,對(duì)多個(gè)數(shù)據(jù)端口采用了DQ,假如說它是一個(gè)高電平的話,那就得寫“1”了,那要是低電平的話,那就得寫“0”了。針對(duì)這個(gè)主機(jī)所產(chǎn)生的寫“1”的這個(gè)情況,這個(gè)數(shù)據(jù)線就必須得先被拉低之后,這樣才能釋放出來的,然后寫時(shí)間縫隙之后的幾個(gè)數(shù)字后,可以同意DQ線拉到這個(gè)高的電平。然而一般情況下,主機(jī)如果寫了“0”時(shí)隙的情況下,DQ線就得被拉到低電平而且最少保持低電平60us。表2.5內(nèi)存操作命令與說明命令類型命令字節(jié)功能說明WriteScratchpad(寫暫存器)4EH此命令寫暫存器中地址2~4的3個(gè)字節(jié)(TH、TL和配置寄存器)在發(fā)起復(fù)位脈沖之前,3個(gè)字節(jié)都必須要寫。RradScratchpad(讀暫存器)BEH此命令讀取暫存器內(nèi)容,從字節(jié)0~一直讀取到字節(jié)8。主機(jī)可以隨時(shí)發(fā)起復(fù)位脈沖以停止此操作。CopyScratchpad(復(fù)制暫存器)48H此命令將暫存器中的內(nèi)容復(fù)制進(jìn)E2RAM,以便將溫度告警觸發(fā)字節(jié)存入非易失內(nèi)存。如果在此命令后產(chǎn)生讀時(shí)隙,那么只要器件在進(jìn)行復(fù)制就會(huì)輸出0,復(fù)制完成后,再輸出1。ConvenrtT(溫度轉(zhuǎn)換)44H此命令開始溫度轉(zhuǎn)換操作。如果在此命令后主機(jī)產(chǎn)生讀時(shí)隙,那么只要器件在進(jìn)行溫度轉(zhuǎn)換就會(huì)輸出0,轉(zhuǎn)換完成后在輸出1。RecallE2(重調(diào)E2存儲(chǔ)器)B8H將存儲(chǔ)在E2RAM中的溫度告警觸發(fā)值和配置寄存器值重新拷貝到暫存器中,此重調(diào)操作在DS18B20加電時(shí)自動(dòng)產(chǎn)生。ReadPowerSupply(讀供電方式)B4H主機(jī)發(fā)起此命令后每個(gè)讀數(shù)據(jù)時(shí)隙內(nèi),DS1820發(fā)信號(hào)通知它的供電方式:0為寄生電源方式,1為外部供電方式。所有讀寫時(shí)隙至少需要60μs,每個(gè)獨(dú)立時(shí)隙至少需要1μs的修復(fù)時(shí)間。寫入定時(shí),主機(jī)會(huì)將總線15μs內(nèi)的值拉低至完全輸出,并將“1”寫入DS18B20。如果主機(jī)在拔下總線后能保持60μs的低電平,那么就會(huì)往單總線寫“0”。DS18B20在主機(jī)上會(huì)發(fā)出讀數(shù)據(jù)的命令,但是之后就得立刻產(chǎn)生讀寫時(shí)隙,這樣的話可以方便DS18B20能夠傳的出好的數(shù)據(jù)。這里需要注意是,與DS18B20配套使用的是一個(gè)頻率為11.0592MHz的一個(gè)單片機(jī)晶振,這種情況下它是在一定意義上決定了這個(gè)指令工作的時(shí)間,在軟件設(shè)計(jì)這方面它會(huì)根據(jù)發(fā)出的口令來制作時(shí)間編寫還有很多其他的延時(shí)程序。2.4溫度采集電路與單片機(jī)的連接這次畢業(yè)成果用的是DS18B20溫度傳感器來完成環(huán)境的溫度采集和變換,它與單片機(jī)的連接圖如圖2.9所示。圖2.7單片機(jī)與DS18B20連接圖STM32F103C8T6的PB15管腳與DS18B20的I/O管腳相連,作為這種數(shù)據(jù)讀入和寫出。電阻的R11是一個(gè)在DS18B20的I/O口的上拉的一個(gè)電阻,在讀時(shí)隙結(jié)束時(shí),I/O腳依靠R4上拉電阻拉回高電平。如果想用DS18B20來操作溫度之間的相互轉(zhuǎn)換,那么I/O線就必須證明自己在溫度的相互轉(zhuǎn)換之間供給一個(gè)夠用的能量,因?yàn)镈S18B20在溫度互換之間所工作的電流是必須得達(dá)到1毫安的,電路則是用的5V的電源,根據(jù)公式I=U/R=5/4700=1.06mA,根據(jù)這個(gè)原理,選用小一點(diǎn)的電阻,只要保證DS18B20的工作電流就可以了,但是為了讓信號(hào)穩(wěn)定下來,通常在電路設(shè)計(jì)方面就加一個(gè)拉電阻。我選用4.7K。3軟件設(shè)計(jì)系統(tǒng)的單片機(jī)代碼使用的C語言編寫,以KeiluVision5軟件為開發(fā)環(huán)境。這樣的話這個(gè)系統(tǒng)的軟件就會(huì)實(shí)現(xiàn)應(yīng)該有的功能:(1)通過LCD來顯示出這個(gè)溫度的數(shù)值;(2)利用對(duì)溫度的數(shù)值和報(bào)警的設(shè)置數(shù)值的了解,把兩者對(duì)比了一下,如果超過溫度上下限,這個(gè)警報(bào)器就會(huì)響。3.1總程序流程圖圖3.1主程序流程圖由上面程序圖就可以看出,接通電源后LCD1602的液晶顯示器初始化和系統(tǒng)的最原始化,從而使STM32進(jìn)入一個(gè)相對(duì)應(yīng)的狀態(tài)和模式。采集當(dāng)前環(huán)境的溫度,顯示出溫度數(shù)值,通過按鍵設(shè)置溫度的上下限,如果當(dāng)前溫度沒超出設(shè)置的溫度上下限時(shí)程序運(yùn)行結(jié)束,如果溫度超出溫度的上下限,蜂鳴器就會(huì)報(bào)警。3.2液晶顯示流程液晶顯示采用了LCD1602液晶,這是種常用的液晶,驅(qū)動(dòng)起來方便,使用簡單,顯示數(shù)據(jù)的整體流程無非是,首先液晶初始化,然后送入要在哪一個(gè)地址顯示的地址數(shù)據(jù),再送入要顯示的數(shù)據(jù)即可,但是要注意的是,1602液晶是字符屏,送入的顯示的數(shù)據(jù)必須是字符。顯示流程圖3.2如下:圖3.2液晶顯示流程圖3.3按鍵處理流程圖3.3按鍵處理流程圖4系統(tǒng)調(diào)試4.1系統(tǒng)硬件調(diào)試本設(shè)計(jì)基于電路圖理論,根據(jù)電路圖制作硬件電路。硬件電路的調(diào)試主要包括以下幾個(gè)方面:檢查是否有漏焊、誤焊、短路、斷路等,啟動(dòng)后檢查電路是否能正常工作??从袥]有漏焊,同時(shí)要看需要連接的線路有沒有都連上,特別要注意電源線和地線的連接。程序下載成功后,給板子通電之后發(fā)現(xiàn)溫度在自己設(shè)置的閾值之外,但是蜂鳴器沒有報(bào)警,檢查后發(fā)現(xiàn)蜂鳴器焊點(diǎn)沒有焊接好,經(jīng)過處理后蜂鳴器正常工作。當(dāng)溫度超過最大值時(shí)如圖4.1所示:圖4.1溫度超過最大值當(dāng)溫度低于最小值的時(shí)如圖4.2所示:圖4.2溫度低于最小值4.2系統(tǒng)軟件調(diào)試本設(shè)計(jì)是基于單片機(jī)控制,利用單片機(jī)的主程序完成對(duì)溫度的采集,使用的是STM32系列,這個(gè)系列的單片機(jī)應(yīng)用非常廣泛,編譯語言以C語言為主。本次設(shè)計(jì)以KeilμVision5軟件進(jìn)行編寫。KeilμVision5使用的基本方法,首先本軟件上沒有STM32單片機(jī)的數(shù)據(jù),所以我在Keil官網(wǎng)上下載了我所需要的STM32F1xx_DFP.2.3.0直接加載到我的軟件上。其次需要建立一個(gè)新的項(xiàng)目,選擇使我所選擇的單片機(jī)類型,可以編寫一個(gè)新的文件,編寫完程序后進(jìn)行編譯,編譯就是檢測(cè)程序是否有錯(cuò)誤和警告,警告不會(huì)影響程序的運(yùn)行。在編譯程序之后,生成.HEX文件。程序?qū)懭肟刂菩酒琒TM32F103C8T6后,接通電源,電源指示燈亮,系統(tǒng)啟動(dòng)。當(dāng)顯示器出現(xiàn)溫度時(shí),說明系統(tǒng)開始工作。
結(jié)論通過以上分析本篇論文是針對(duì)提高溫度采集的效率,節(jié)省時(shí)間并更精確的反應(yīng)出當(dāng)前溫度和超出閾值范圍報(bào)警的采集系統(tǒng)。本論文設(shè)計(jì)的重點(diǎn)在于STM32單片機(jī)和DS18B20溫度傳感器的系統(tǒng)應(yīng)用。其主要對(duì)單片機(jī)的最小系統(tǒng)進(jìn)行相應(yīng)的設(shè)計(jì)和選擇適合的溫度傳感器從而使得溫度采集系統(tǒng)更為完備,一般來說,溫度傳感器收集到當(dāng)前溫度數(shù)據(jù),通過數(shù)據(jù)線傳遞給單片機(jī),以單片機(jī)的外部中斷形式獲取輸出信號(hào),并用顯示器顯示出當(dāng)前溫度。一方面能夠展現(xiàn)出當(dāng)前的溫度另一方面當(dāng)溫度超過閾值系統(tǒng)就會(huì)報(bào)警。在硬件調(diào)試方面,由于采用的STM32單片機(jī)內(nèi)部自帶很多工作元件。外圍元件不是很多,所以調(diào)試不太難。對(duì)各電子元件也無特別要求。只需要多次反復(fù)嘗試,避免出錯(cuò)就可以。在軟件調(diào)試時(shí),發(fā)現(xiàn)一些程序只有滿足條件才被執(zhí)行,所以令單步調(diào)試難度加大,這時(shí)選用程序調(diào)試匯總的斷點(diǎn)設(shè)置,使調(diào)試能完整進(jìn)行。再者碰到編寫時(shí)忘記切換輸入法,有中文標(biāo)點(diǎn)符號(hào)程序編譯出現(xiàn)錯(cuò)誤,一一改進(jìn)后完成調(diào)試。本次設(shè)計(jì)經(jīng)過了硬件和軟件的測(cè)試,各部分均達(dá)到了預(yù)期功能:實(shí)現(xiàn)了溫度采集,以及警示作用。該系統(tǒng)操作簡單,可靠性高,靈敏度高等優(yōu)點(diǎn)。應(yīng)用本設(shè)計(jì)產(chǎn)品,可提高溫度采集的效率,使我們的生活變得更加的方便。參考文獻(xiàn)[1]康華光,電子技術(shù)基礎(chǔ)模擬部分第四版[M].北京:高等教育出版社,1999.6[2]閻石,數(shù)字電子技術(shù)基礎(chǔ)第四版[M].北京:高等教育出版社,1999.6[3]王福瑞等,單片微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全[M].北京航空航天大學(xué)出版社,1998:331-337[4]寧改娣,楊拴科.DSP控制器原理及應(yīng)用[M].科學(xué)出版社,2002[5]周立功等,ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2005.1[7]唐清善,ProtelDXP高級(jí)實(shí)例教程[M].中國水利水電出版社,2004.4.[8]羅浩等,一種新的基于ARM的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].信陽師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2006.4[9]秦偉等,基于ARM處理器的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2006年第10期[10]杜春雷,ARM體系結(jié)構(gòu)與編程.清華大學(xué)出版社,2003[12]李寧,基于MDK的STM32處理器開發(fā)應(yīng)用[M].北京航空航天大學(xué)出版社,2008[13]劉黎明等,單片機(jī)與嵌入式系統(tǒng)應(yīng)用[J].英文刊名MICROCONTROLLER&EMBEDDEDSYSTEM,2002:7[14]王田苗,嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)[M].北京:清華大學(xué)出版社,2003
[15]杜春雷,ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003
[16]王中訓(xùn),李樹起.基于水溫控制的數(shù)據(jù)采集系統(tǒng)[M].煤礦機(jī)械出版社,2013[17]陳至坤,李蓓.溫度檢測(cè)技術(shù)及相關(guān)儀器的發(fā)展現(xiàn)狀[J].河北理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2011
[18]樂嘉華溫度檢測(cè)技術(shù)的現(xiàn)狀和未來[J].煉油化工自動(dòng)化,1995
[19]陳俊梅,盧莉蓉,周晉陽.一種多用智能溫度測(cè)量儀的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010[20]劉智勇,傳感器產(chǎn)業(yè)發(fā)展現(xiàn)狀及前景分析[J].黑龍江科技信息,2013
[21]中國行業(yè)研究網(wǎng),我國溫度傳感器市場(chǎng)發(fā)展現(xiàn)狀解析[R].深圳,2010[22]王中訓(xùn)李樹起等,基于水溫控制的數(shù)據(jù)采集系統(tǒng)[M].煤礦機(jī)械出版社,2013[23]章誦蘭物聯(lián)網(wǎng)高速發(fā)展國內(nèi)傳感器迎來黃金發(fā)展期[J].自動(dòng)化與儀表,2012
[24]陸廣振,溫度傳感器市場(chǎng)前景可觀[J].儀器制造,1983
[25]中國電子元件行業(yè)協(xié)會(huì)敏感元器件與傳感器分會(huì)物聯(lián)網(wǎng)與傳感器產(chǎn)業(yè)高峰論壇暨2012年年會(huì)會(huì)議邀請(qǐng)函[J].傳感器與微系統(tǒng),2012:6
[26]劉忠玉,國外溫度傳感器發(fā)展現(xiàn)狀和市場(chǎng)預(yù)測(cè)[J].傳感器技術(shù),1989附錄1原理圖附錄2源程序清單#include"delay.h"#include"key.h"#include"sys.h"#include"usart.h" #include"LCD1602.h"#include"time.h"#include"beep.h"#include"led.h"#include"delay.h"#include"stmflash.h"#include"ds18b20.h"#defineFLASH_SAVE_ADDR0X0800FF00 //設(shè)置FLASH保存地址(必須為偶數(shù),且其值要大于本代碼所占用FLASH的大小+0X08000000)u16fls[2];u8k;u8HL[20]={"TH:TL:"};intTH,TL;u8kz=0;u8s0;u8beep;u8t=0; inttemperature;u8k=0;voidkey(){ k=KEY_Scan(1); if(k==KEY0_PRES) kz++;//**************濕度上限********************** if(k==KEY1_PRES&&kz==1) { TH++; if(TH>125) TH--; } if(k==KEY2_PRES&&kz==1) { TH--; if(TH<=TL) TH++; }//**************濕度下限********************** if(k==KEY1_PRES&&kz==2) { TL++; if(TL>=TH) TL--; } if(k==KEY2_PRES&&kz==2) { TL--; if(TL<-55) TL++; } if(kz>2) { kz=0; fls[0]=TH; fls[1]=TL; STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)fls,2); }}voidshow(){ u8str[16]={"Temper:"}; if(temperature>=0) { if((temperature/1000%10)>0) str[7]=temperature/1000%10+0x30; else str[7]=''; if((temperature/100%10)>=0&&(temperature/1000%10)>0) str[8]=temperature/100%10+0x30; elseif((temperature/100%10)>0&&(temperature/1000%10)<=0) str[8]=temperature/100%10+0x30; else str[8]=''; if((temperature/10%10)>=0) str[9]=temperature/10%10+0x30; str[10]='.'; str[11]=temperature%10+0x30; str[12]=0xdf; str[13]='C'; str[14]=''; str[15]=''; } elseif((temperature*-1)>=100) { str[7]='-'; if((temperature*-1)/100%10>0) str[8]=temperature*-1/100%10+0x30; else str[8]=''; if(((temperature*-1)/10%10)>=0&&((temperature*-1)/100%10>0)) str[9]=temperature*-1/10%10+0x30; elseif(((temperature*-1)/10%10)>0&&(temperature*-1)/100%10<0) str[9]=temperature*-1/10%10+0x30; else str[9]=''; str[9]=temperature/10%10+0x30; str[10]='.'; str[11]=temperature%10+0x30; str[12]=0xdf; str[13]='C'; str[14]=''; str[15]=''; } else { str[7]=''; str[8]='-'; str[9]=temperature*-1/10%10+0x30; str[10]='.'; str[11]=temperature%10+0x30; str[12]=0xdf; str[13]='C'; str[14]=''; str[15]=''; } LCD1602_Show_Str(0,0,str); delay_ms(10); if(kz==1&&s0) { HL[3]=''; HL[4]=''; HL[5]=''; } else { if(TH>=0) { if((TH/100%10)>0) HL[3]=TH/100%10+0x30; else HL[3]=''; if((TH/10%10)>=0&&(TH/100%10)>0) HL[4]=TH/10%10+0x30; elseif((TH/10%10)>0) HL[4]=TH/10%10+0x30; else HL[4]=''; if((TH%10)>=0) HL[5]=TH%10+0x30; } if(TH<0) { HL[3]='-'; if(((TH*-1)/10%10)>0) HL[4]=0x30+(TH*-1)/10%10; else HL[4]=''; if(((TH*-1)/10%10)>=0&&((TH*-1)/10%10)>0) HL[5]=0x30+(TH*-1)%10; else HL[5]=0x30+(TH*-1)%10; } } if(kz==2&&s0) { HL[11]=''; HL[12]=''; HL[13]=''; } else { if(TL>=0) { if((TL/100%10)>0) HL[11]=TL/100%10+0x30; else HL[11]=''; if((TL/10%10)>=0&&(TL/100%10)>0) HL[12]=TL/10%10+0x30; elseif((TL/10%10)>0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物料搬運(yùn)設(shè)備的能效提升與節(jié)能減排-洞察分析
- 營養(yǎng)素對(duì)頸部燒傷后傷口愈合的促進(jìn)-洞察分析
- 文化金融產(chǎn)品體系構(gòu)建-洞察分析
- 網(wǎng)紅經(jīng)濟(jì)效應(yīng)評(píng)估-洞察分析
- 《SIYB中國項(xiàng)目介紹》課件
- 勤儉節(jié)約的精彩講話稿(12篇)
- 辦公空間設(shè)計(jì)的多元素文化融合與創(chuàng)新
- 健康飲食文化在家庭教育中的傳播與影響研究
- 2025簡單采購合同范本
- 關(guān)于孩子在競(jìng)爭(zhēng)環(huán)境下自信心建立的研究
- 2024-2030年中國水產(chǎn)養(yǎng)殖行業(yè)發(fā)展形勢(shì)及投資風(fēng)險(xiǎn)分析報(bào)告
- 建筑工程施工現(xiàn)場(chǎng)消防安全培訓(xùn)
- GB/T 42125.1-2024測(cè)量、控制和實(shí)驗(yàn)室用電氣設(shè)備的安全要求第1部分:通用要求
- 采購部門年終總結(jié)報(bào)告
- 藍(lán)精靈課件教學(xué)課件
- 2024年河北省高考?xì)v史試卷(含答案解析)
- 譯林三起小學(xué)英語六年級(jí)上冊(cè)期末復(fù)習(xí)補(bǔ)全對(duì)話短文專題練習(xí)一附答案解析
- 泵站工程設(shè)計(jì)(共138張課件)
- 汽車保險(xiǎn)與理賠課件 7.1認(rèn)識(shí)新能源汽車
- 2024秋期河南開放大學(xué)本科《法律社會(huì)學(xué)》一平臺(tái)無紙化考試(作業(yè)練習(xí)1至3+我要考試)試題及答案
- 中醫(yī)基礎(chǔ)理論-精氣學(xué)說
評(píng)論
0/150
提交評(píng)論