




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院2013級(jí)本科生課程報(bào)告課程名稱信科專業(yè)綜合實(shí)踐報(bào)告時(shí)間2016.09.20學(xué)生誼坤學(xué)號(hào)08133367專業(yè)電子信息科學(xué)與技術(shù)任課教師王凱任課教師評(píng)語(yǔ)任課教師評(píng)語(yǔ)〔①對(duì)課程基礎(chǔ)理論的掌握;②對(duì)課程知識(shí)應(yīng)用能力的評(píng)價(jià);③對(duì)課程報(bào)告相關(guān)實(shí)驗(yàn)、作品、軟件等成果的評(píng)價(jià);④課程學(xué)習(xí)態(tài)度和上課紀(jì)律;⑤課程成果和報(bào)告工作量;⑥總體評(píng)價(jià)和成績(jī);⑦存在問(wèn)題等:成績(jī):任課教師簽字:年月日摘要針對(duì)目前溫度控制在生產(chǎn)生活中被廣泛應(yīng)用,而傳統(tǒng)的溫度控制系統(tǒng)是由功能繁雜的大量分離器件構(gòu)成,為了節(jié)約成本、提高系統(tǒng)的可靠性,本文設(shè)計(jì)了一種基于STM32F103T6的溫度控制系統(tǒng)。本設(shè)計(jì)是基于DS18B20的溫度控制系統(tǒng),以STM32F103ZET6為控制系統(tǒng)核心,通過(guò)嵌入式系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)對(duì)溫度的顯示和控制功能。在該系統(tǒng)中,為了減小干擾的影響,用均值濾波算法對(duì)采樣數(shù)據(jù)進(jìn)行處理之后再進(jìn)行溫度判定等一系列操作的依據(jù)。設(shè)計(jì)中,基本上實(shí)現(xiàn)了該系統(tǒng)的功能,通過(guò)DS18B20采集溫度數(shù)據(jù),使用LCD屏幕來(lái)顯示相關(guān)的信息,能夠通過(guò)加熱和降溫將溫度控制在恒定的圍,并可以手動(dòng)設(shè)置恒溫圍,溫度超出限制后會(huì)有聲光報(bào)警。關(guān)鍵詞:STM32F103,均值濾波,恒溫控制,DS18B20目錄1緒論11.1選題的背景及意義11.2設(shè)計(jì)思想11.3實(shí)現(xiàn)的功能22硬件設(shè)計(jì)22.1硬件平臺(tái)22.2硬件設(shè)計(jì)模塊圖32.3溫度傳感器DS18B2032.4LCD屏幕62.5DC5V散熱風(fēng)扇82.6加熱片83軟件設(shè)計(jì)93.1軟件平臺(tái)93.2軟件設(shè)計(jì)模塊圖93.3主程序流程圖103.4子程序流程圖113.4.1恒溫控制子程序流程圖113.4.2flag標(biāo)志設(shè)置子程序流程圖12溫度設(shè)置子程序流程圖13溫度讀取函數(shù)流程圖14均值濾波程序流程圖15顯示函數(shù)程序流程圖164調(diào)試分析164.1硬件調(diào)試164.2軟件測(cè)試174.3功能實(shí)現(xiàn)分析175實(shí)驗(yàn)總結(jié)17參考文獻(xiàn)19.1緒論1.1選題的背景及意義21世紀(jì)是科學(xué)技術(shù)高速發(fā)展的信息時(shí)代,電子技術(shù)、嵌入式技術(shù)的應(yīng)用已經(jīng)是非常廣泛,伴隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,在生產(chǎn)生活中需要對(duì)各種參數(shù)進(jìn)行溫度測(cè)量。因此溫度一詞在生產(chǎn)生活之中出現(xiàn)的頻率日益增多,與之相對(duì)應(yīng)的,溫度控制和測(cè)量也成為了生活生產(chǎn)中頻繁使用技術(shù),同時(shí)它們?cè)诟餍懈鳂I(yè)中也發(fā)揮著非常重要的作用。如在日趨發(fā)達(dá)的工業(yè)領(lǐng)域之中,利用測(cè)量與控制溫度來(lái)保證生產(chǎn)的正常運(yùn)行;在農(nóng)業(yè)生產(chǎn)中,用于保證蔬菜大棚的恒溫保產(chǎn)等;在科學(xué)研究中,往往也需要一個(gè)恒溫的環(huán)境作為實(shí)驗(yàn)的保障。溫度值是表征物體冷熱程度的一個(gè)物理量,溫度的測(cè)量則是工農(nóng)和業(yè)生產(chǎn)過(guò)程中一個(gè)很重要也普遍的參數(shù)。溫度的測(cè)量及控制對(duì)保證產(chǎn)品的質(zhì)量、提高生產(chǎn)的效率、節(jié)約能源、安全生產(chǎn)、促進(jìn)經(jīng)濟(jì)的發(fā)展起到非常重要的作用。因?yàn)闇囟葴y(cè)量的普遍性,使得溫度傳感器的數(shù)量在各種傳感器中居首。并且隨著科學(xué)技術(shù)與生產(chǎn)的不斷發(fā)展,溫度傳感器的種類(lèi)仍然在不斷增加和豐富以來(lái)滿足生產(chǎn)生活中的各種需要。在嵌入式溫度控制系統(tǒng)中的關(guān)鍵是溫度的測(cè)量、溫度的控制和溫度的保持,溫度是工業(yè)控制對(duì)象中主要的被控參數(shù)之一。因此,嵌入式要對(duì)溫度的測(cè)量則是對(duì)溫度進(jìn)行有效及準(zhǔn)確的測(cè)量,并且能夠在工業(yè)生產(chǎn)中得廣泛的應(yīng)用,尤其在機(jī)械制造、電力工程化工生產(chǎn)、冶金工業(yè)等重要工業(yè)領(lǐng)域中,擔(dān)負(fù)著重要的測(cè)量任務(wù)。在日常工作和生活中,也被廣泛應(yīng)用于空調(diào)器、電加熱器等各種室溫測(cè)量及工業(yè)設(shè)備的溫度測(cè)量。但溫度是一個(gè)模擬量,需要采用適當(dāng)?shù)募夹g(shù)和元件,將模擬的溫度量轉(zhuǎn)化為數(shù)字量,才生使用計(jì)算機(jī)進(jìn)行相應(yīng)的處理。1.2設(shè)計(jì)思想恒溫系統(tǒng)應(yīng)用于各種工業(yè)或者民用領(lǐng)域,如何精確地控制溫度成為一個(gè)非常重要的研究問(wèn)題。本系統(tǒng)需要利用STM32來(lái)控制各器件的工作情況,使傳感器維持在一個(gè)固定的溫度上。本文所研究的課題是基于嵌入式的恒溫控制系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)了溫度的實(shí)時(shí)監(jiān)測(cè)與控制。溫度控制部分,提出了用DS18B20、STM32F103ZET6和LCD的硬件電路完成對(duì)室溫的實(shí)時(shí)檢測(cè)及顯示,利用DS18B20與嵌入式系統(tǒng)連接由軟件與硬件電路配合來(lái)實(shí)現(xiàn)對(duì)加熱片和散熱風(fēng)扇的實(shí)時(shí)控制。從DS18B20讀出或?qū)懭隓S18S20信息僅需要一根口線,其讀寫(xiě)及其溫度變換功率來(lái)源于數(shù)據(jù)線,該總線本身也可以向所掛接的DS18B20提供電源,不需要額外電源。同時(shí)DS18S20能提供九位溫度精度,它無(wú)需任何外圍硬件便可方便地構(gòu)成溫度檢測(cè)系統(tǒng)。加熱片通過(guò)帶有繼電器的電路驅(qū)動(dòng),由嵌入式開(kāi)發(fā)板的一根口線控制并供電,繼電器需要嵌入式開(kāi)發(fā)板提供額外的電源。DC5V散熱風(fēng)扇的實(shí)時(shí)控制也僅僅需要一根口線,由開(kāi)發(fā)板供電,不需要外加電源。而且本次的設(shè)計(jì)主要實(shí)現(xiàn)溫度監(jiān)測(cè),超溫報(bào)警,溫度控制,超過(guò)設(shè)定的門(mén)限值時(shí)自動(dòng)啟動(dòng)加熱和散熱裝置等功能。而且還要以STM32開(kāi)發(fā)板為主機(jī),使溫度傳感器通過(guò)一根口線與嵌入式開(kāi)發(fā)板相連接,再加上溫度控制部分和人機(jī)交互部分來(lái)共同實(shí)現(xiàn)溫度的監(jiān)測(cè)與控制。1.3實(shí)現(xiàn)的功能〔1能夠連續(xù)測(cè)量環(huán)境的溫度值,用LCD屏幕來(lái)顯示環(huán)境的實(shí)際溫度?!?能夠設(shè)定恒溫的溫度圍,初始圍是30℃~33℃?!?能夠?qū)崿F(xiàn)溫度自動(dòng)控制,如果設(shè)定溫度在30℃~33℃,則能使溫度保持恒定在30℃~33℃?!?使用嵌入式STM32F103ZET6控制,通過(guò)輸入按鍵來(lái)控制恒溫圍的設(shè)定值,數(shù)值采用LCD屏幕顯示?!?溫度超出圍時(shí)能夠?qū)崿F(xiàn)聲光報(bào)警:LED燈和數(shù)碼管閃爍,蜂鳴器報(bào)警。2硬件設(shè)計(jì)2.1硬件平臺(tái)本次設(shè)計(jì)的硬件平臺(tái)選用的是STM32系列的F103ZET6嵌入式開(kāi)發(fā)板。STM芯片根據(jù)容量分為三大類(lèi):LD<小于64K>,MD〔小于256K,HD〔大于256K,STM32F103ZET6類(lèi)屬第三類(lèi)。具有如下特點(diǎn):1.基于ARMCortex-M3核心的32位微控制器,LQFP-144封裝. 2.512K片F(xiàn)LASH〔相當(dāng)于硬盤(pán),64K片RAM〔相當(dāng)于存,片F(xiàn)LASH支持在線編程<IAP>.3.高達(dá)72M的頻率,數(shù)據(jù),指令分別走不同的流水線,以確保CPU運(yùn)行速度達(dá)到最大化.4.通過(guò)片BOOT區(qū),可實(shí)現(xiàn)串口下載程序<ISP>.5.片雙RC晶振,提供8M和32K的頻率.6.支持片外高速晶振<8M>,和片外低速晶振<32K>.其中片外低速晶振可用于CPU的實(shí)時(shí)時(shí)鐘,帶后備電源引腳,用于掉電后的時(shí)鐘行走.7.42個(gè)16位的后備寄存器<可以理解為電池保存的RAM>,利用外置的紐扣電池,和實(shí)現(xiàn)掉電數(shù)據(jù)保存功能.8.支持JTAG,SWD調(diào)試.配合廉價(jià)的J-LINK,實(shí)現(xiàn)高速低成本的開(kāi)發(fā)調(diào)試方案.9.多達(dá)80個(gè)IO<大部分兼容5V邏輯>,4個(gè)通用定時(shí)器,2個(gè)高級(jí)定時(shí)器,2個(gè)基本定時(shí)器,3路SPI接口,2路I2S接口,2路I2C接口,5路USART,一個(gè)USB從設(shè)備接口,一個(gè)CAN接口,SDIO接口,可兼容SRAM,NOR和NANDFlash接口的16位總線-FSMC.10.3路共16通道的12位AD輸入,2路共2通道的12位DA輸出.支持片外獨(dú)立電壓基準(zhǔn).11.CPU操作電壓圍:2.0-3.6V.2.2硬件設(shè)計(jì)模塊圖設(shè)計(jì)整體模塊如圖2-1所示:STMSTM32CPUDS18B20溫度傳感器模塊鍵盤(pán)模塊LCD模塊溫度控制模塊警報(bào)模塊風(fēng)扇加熱片LED燈蜂鳴器圖2-1設(shè)計(jì)模塊圖如圖所示,本次設(shè)計(jì)共有五大模塊:DS18B20溫度傳感器模塊、鍵盤(pán)模塊、LCD顯示模塊、溫度控制模塊以及警報(bào)模塊構(gòu)成;其中溫度控制模塊又有小風(fēng)扇和加熱片兩個(gè)小模塊,警報(bào)模塊有LED燈和蜂鳴器兩個(gè)小模塊。各個(gè)模塊的功能如下:DS18B20溫度傳感器模塊:DS18B20為溫度傳感器,主要作用是溫度采集。鍵盤(pán)模塊:鍵盤(pán)模塊共包含三個(gè)按鍵:K_LEFT、K_UP和K_DOWN,其中,K_LEFT主要是實(shí)現(xiàn)Flag標(biāo)志的更新,實(shí)現(xiàn)程序中不同模塊的轉(zhuǎn)換,詳見(jiàn)下面的程序流圖,K_UP和K_DOWN兩按鍵主要是實(shí)現(xiàn)最低溫度和最高溫度的設(shè)置。 LCD顯示模塊:實(shí)現(xiàn)溫度的顯示。溫度控制模塊:實(shí)現(xiàn)恒溫控制,允許溫度在設(shè)定的一定圍變化,溫度過(guò)低時(shí)加熱片啟動(dòng)升溫,溫度過(guò)高時(shí)小風(fēng)扇啟動(dòng)降溫。警報(bào)模塊:警報(bào)模塊主要是在溫度超出正常圍時(shí)發(fā)出警報(bào)信息,實(shí)現(xiàn)聲光報(bào)警,主要為L(zhǎng)ED和數(shù)碼管閃爍和蜂鳴器發(fā)聲。2.3溫度傳感器DS18B20DS18B20是常用的溫度傳感器,具有體積小,硬件開(kāi)銷(xiāo)低,抗干擾能力強(qiáng),精度高的特點(diǎn)。工作原理:DS18B20的讀寫(xiě)時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。DS18B20測(cè)溫原理如圖2-2所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(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重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。低溫系數(shù)低溫系數(shù)晶振斜率累加器溫度寄存器比較預(yù)置=0計(jì)數(shù)器1=0計(jì)數(shù)器2預(yù)置高溫系數(shù)晶振加1停止LSB置位/清除圖2-2DS18B20測(cè)溫原理圖DS18B20的主要特性:〔1適應(yīng)電壓圍更寬,電壓圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電〔2獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊〔3DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫〔4DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路〔5溫圍-55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃〔6可編程的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫〔7在9位分辨率時(shí)最多在93.75ms把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms把溫度值轉(zhuǎn)換為數(shù)字,速度更快〔8測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一線總線"串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力〔9負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。接線方法:面對(duì)著扁平的那一面,左負(fù)右正,一旦接反就會(huì)立刻發(fā)熱,有可能燒毀!同時(shí),接反也是導(dǎo)致該傳感器總是顯示85℃的原因。實(shí)際操作中將正負(fù)反接,傳感器立即發(fā)熱,液晶屏不能顯示讀數(shù),正負(fù)接好后顯示85℃。特點(diǎn)獨(dú)特的一線接口,只需要一條口線通信多點(diǎn)能力,簡(jiǎn)化了分布式溫度傳感應(yīng)用無(wú)需外部元件可用數(shù)據(jù)總線供電,電壓圍為3.0V至5.5V無(wú)需備用電源測(cè)量溫度圍為-55℃至+125℃。華氏相當(dāng)于是-67華氏度到257華氏度-10℃至+85℃圍精度為±0.5℃溫度傳感器可編程的分辨率為9~12位,溫度轉(zhuǎn)換為12位數(shù)字格式最大值為750毫秒,用戶可定義的非易失性溫度報(bào)警設(shè)置,應(yīng)用圍包括恒溫控制、工業(yè)系統(tǒng)、消費(fèi)電子產(chǎn)品溫度計(jì)、或任何熱敏感系統(tǒng)描述該DS18B20的數(shù)字溫度計(jì)提供9至12位〔可編程設(shè)備溫度讀數(shù)>。由于DS18B20是一條口線通信,所以中央微處理器與DS18B20只有一個(gè)一條口線連接。為讀寫(xiě)以及溫度轉(zhuǎn)換可以從數(shù)據(jù)線本身獲得能量,不需要外接電源。因?yàn)槊恳粋€(gè)DS18B20的包含一個(gè)獨(dú)特的序號(hào),多個(gè)ds18b20s可以同時(shí)存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多,包括空調(diào)環(huán)境控制,感測(cè)建筑物溫設(shè)備或機(jī)器,并進(jìn)行過(guò)程監(jiān)測(cè)和控制。DS18B20采用一線通信接口。因?yàn)橐痪€通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無(wú)法使用。主要首先提供以下功能命令之一:1讀ROM,2ROM匹配,3搜索ROM,4跳過(guò)ROM,5報(bào)警檢查。這些指令操作作用在沒(méi)有一個(gè)器件的64位光刻ROM序列號(hào),可以在掛在一線上多個(gè)器件選定某一個(gè)器件,同時(shí),總線也可以知道總線上掛有有多少,什么樣的設(shè)備。若指令成功地使DS18B20完成溫度測(cè)量,數(shù)據(jù)存儲(chǔ)在DS18B20的存儲(chǔ)器。一個(gè)控制功能指揮指示DS18B20的演出測(cè)溫。測(cè)量結(jié)果將被放置在DS18B20存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀容的片上存儲(chǔ)器。溫度報(bào)警觸發(fā)器TH和TL都有一字節(jié)EEPROM的數(shù)據(jù)。如果DS18B20不使用報(bào)警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫(xiě)TH,TL指令以及配置字節(jié)利用一個(gè)記憶功能的指令完成。通過(guò)緩存器讀寄存器。所有數(shù)據(jù)的讀,寫(xiě)都是從最低位開(kāi)始。2.4LCD屏幕圖2-3LCD管腳圖TFT-LCD又叫做薄膜晶體管液晶顯示器,其管腳圖如上,其管腳在STM32F103中有相應(yīng)的管腳對(duì)應(yīng)。常用的液晶屏接口很多種,8位、9位、16位、18位都有。而常用的通信模式呢,主要有6800模式和8080模式兩種,今天呢,我們來(lái)講的是8080模式。如果大家接觸過(guò)LCD1602或者LCD12864等,那么就會(huì)發(fā)現(xiàn)8080模式的時(shí)序呢,其實(shí)跟LCD1602或者LCD12864的讀寫(xiě)時(shí)序是差不多的。8080接口有5條基本的控制線和多條數(shù)據(jù)線,數(shù)據(jù)線的數(shù)量主要看液晶屏使用的是幾位模式,有8根、9根、16根、18根四種類(lèi)型。具體如下表:表2-1TFT-LCD各位功能可以知道,LCD液晶屏的信號(hào)線主要有:1>CS:用于片選的選擇。2>RS:用于選擇命令或者數(shù)據(jù)。3>WR:寫(xiě)使能。4>RD:讀使能。5>RESET:復(fù)位端。其時(shí)序如下圖:圖2-4LCD時(shí)序圖〔1在WR跳變?yōu)榈碗娖街?液晶屏開(kāi)始讀取總線上面的數(shù)據(jù)。如果使用IO口模擬寫(xiě)入的時(shí)候,可以先在總線上面寫(xiě)入數(shù)據(jù),然后在跳變WR,以保證當(dāng)讀取的時(shí)候,總線上面的數(shù)據(jù)是穩(wěn)定的?!?在RD跳變?yōu)榈碗娖街?液晶屏放置數(shù)據(jù)到總線上面。液晶屏的讀寫(xiě)時(shí)序了,大家操作的時(shí)候,可以使用單片機(jī)IO口模擬它的時(shí)序進(jìn)行操作。2.5DC5V散熱風(fēng)扇散熱風(fēng)扇的驅(qū)動(dòng)電路如圖2-5所示:I/OI/O口圖2-5散熱風(fēng)扇驅(qū)動(dòng)電路風(fēng)扇僅需要的一根口線驅(qū)動(dòng),當(dāng)I/O輸出為低電平時(shí),三極管導(dǎo)通,風(fēng)扇啟動(dòng);當(dāng)I/O輸出為高電平時(shí),風(fēng)扇停止。2.6加熱片 加熱片驅(qū)動(dòng)電路如圖2-6所示:I/OI/O口圖2-6加熱片驅(qū)動(dòng)電路 加熱片也僅僅需要一根口線控制,I/O口為高電平時(shí),繼電器L與N_O端連通,加熱片工作;I/O口為低電平時(shí),繼電器L與N_O端斷開(kāi),加熱片工作。3軟件設(shè)計(jì)3.1軟件平臺(tái)本設(shè)計(jì)的軟件平臺(tái)為keiluvision4,目前使用KeiluVision4的產(chǎn)品有KeilMDK-ARM,KeilC51,KeilC166和KeilC251。 KeiluVision4具有以下特點(diǎn):發(fā)展:20XX2月發(fā)布KeiluVision4,KeiluVision4引入靈活的窗口管理系統(tǒng),使開(kāi)發(fā)人員能夠使用多臺(tái)監(jiān)視器,并提供了視覺(jué)上的表面對(duì)窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來(lái)開(kāi)發(fā)應(yīng)用程序。新版本支持更多最新的ARM芯片,還添加了一些其他新功能。20XX3月ARM公司發(fā)布最新集成開(kāi)發(fā)環(huán)境RealViewMDK開(kāi)發(fā)工具中集成了最新版本的KeiluVision4,其編譯器、調(diào)試工具實(shí)現(xiàn)與ARM器件的最完美匹配。新特征:1.最新的KeiluVision4IDE,旨在提高開(kāi)發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更快,更有效的程序開(kāi)發(fā)。 2.uVision4引入了靈活的窗口管理系統(tǒng),能夠拖放到視圖的任何地方,包括支持多顯示器窗口。 3.uVision4在μVision3IDE的基礎(chǔ)上,增加了更多大眾化的功能。4.多顯示器和靈活的窗口管理系統(tǒng)5.系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息6.調(diào)試還原視圖創(chuàng)建并保存多個(gè)調(diào)試窗口布局7.多項(xiàng)目工作區(qū)簡(jiǎn)化與眾多的項(xiàng)目3.2軟件設(shè)計(jì)模塊圖恒溫系統(tǒng)恒溫系統(tǒng)溫度檢測(cè)模塊報(bào)警模塊恒溫控制模塊控制算法鍵盤(pán)模塊顯示模塊 圖3-1軟件設(shè)計(jì)模塊軟件設(shè)計(jì)中共分為六大部分,溫度檢測(cè)模塊、顯示模塊、報(bào)警模塊、鍵盤(pán)模塊、恒溫控制模塊和控制算法。 溫度檢測(cè)模塊主要是溫度傳感器DS18B20相關(guān)的程序,實(shí)現(xiàn)溫度的采集和轉(zhuǎn)換,最終為我們常用的攝氏溫度值的形式;顯示模塊以LCD屏幕相關(guān)程序?yàn)橹?實(shí)現(xiàn)必要信息的顯示;警報(bào)模塊實(shí)現(xiàn)溫度超限報(bào)警,恒溫控制實(shí)現(xiàn)對(duì)溫度的恒定控制,在程序里,這兩部分在一個(gè)函數(shù)里;鍵盤(pán)模塊主要是實(shí)現(xiàn)溫度值得設(shè)定;控制算法是對(duì)采集溫度所做的一個(gè)均值濾波,以排除采集的錯(cuò)誤數(shù)據(jù)。3.3主程序流程圖主程序流程圖3-2如下所示:開(kāi)始開(kāi)始Flag=1?最低溫設(shè)置與恒溫控制圖3-2主程序流程框圖YFlag=2?最高溫設(shè)置與恒溫控制
Flag=0?實(shí)時(shí)溫度顯示與恒溫控制
結(jié)束YYNNN根據(jù)按鍵狀態(tài)更新flag值進(jìn)行初始化之后,進(jìn)入一個(gè)while〔1的死循環(huán)里,不斷的根據(jù)flag的值來(lái)更新工作的狀態(tài)。當(dāng)Flag=0時(shí),進(jìn)入溫度實(shí)時(shí)顯示部分,在顯示的同時(shí)還會(huì)進(jìn)行恒溫狀態(tài)的控制;當(dāng)Flag=1時(shí),進(jìn)入恒溫圍下限的設(shè)置的界面,利用按鍵設(shè)置目標(biāo)值,并同時(shí)實(shí)現(xiàn)恒溫控制;當(dāng)Flag=2時(shí),進(jìn)入恒溫圍上限的設(shè)置的界面,利用按鍵設(shè)置目標(biāo)值,并同時(shí)實(shí)現(xiàn)恒溫控制。Flag標(biāo)志通過(guò)按鍵更新,0—2循環(huán),到3自動(dòng)變?yōu)?。3.4子程序流程圖3.4.1恒溫控制子程序流程圖開(kāi)始開(kāi)始溫度是否過(guò)高?執(zhí)行溫度過(guò)高時(shí)相關(guān)動(dòng)作圖3-3恒溫控制子程序流程框圖Y溫度是否過(guò)低?執(zhí)行溫度過(guò)低時(shí)相關(guān)動(dòng)作
溫度是否正常?執(zhí)行溫度正常時(shí)相關(guān)動(dòng)作
結(jié)束YYNNN在恒溫控制子程序中,通過(guò)對(duì)當(dāng)前溫度值的判斷來(lái)決定要執(zhí)行的動(dòng)作:溫度過(guò)高時(shí),執(zhí)行高溫時(shí)所對(duì)應(yīng)的相關(guān)動(dòng)作,即最左邊4位數(shù)碼管顯示"H"字樣,紅色報(bào)警指示燈亮,同時(shí)風(fēng)扇啟動(dòng)散熱,加熱片不工作;溫度過(guò)低時(shí),執(zhí)行低溫時(shí)所對(duì)應(yīng)的相關(guān)動(dòng)作,即最左邊4位數(shù)碼管顯示"L"字樣,藍(lán)色報(bào)警指示燈亮,同時(shí)加熱片啟動(dòng)加熱,散熱風(fēng)扇不工作;在溫度正常顯示時(shí),數(shù)碼管左4位沒(méi)有顯示,綠色警報(bào)指示燈亮,加熱片和風(fēng)扇都不工作。3.4.2flag標(biāo)志設(shè)置子程序流程圖開(kāi)始開(kāi)始K_LEFT仍按下?圖3-4flag標(biāo)志設(shè)置子程序流程框圖K_LEFT按下?消抖延時(shí)10msNFlag++Flag=3?Flag=0YYY結(jié)束NNflag標(biāo)志作為溫度顯示和溫度設(shè)置之間的轉(zhuǎn)換標(biāo)志,其設(shè)置的過(guò)程必須清晰且正確:flag初始值為0,即初始狀態(tài)為溫度顯示與恒溫控制狀態(tài);當(dāng)K_LEFT按鍵按下時(shí),延時(shí)10ms以消除抖動(dòng),防止誤觸,然后flag標(biāo)志自加1;當(dāng)flag=1時(shí),進(jìn)入恒溫圍下限的設(shè)置的界面,并同時(shí)實(shí)現(xiàn)恒溫控制;當(dāng)flag=2時(shí),進(jìn)入恒溫圍上限的設(shè)置的界面,并同時(shí)實(shí)現(xiàn)恒溫控制;flag自加到3時(shí),會(huì)自動(dòng)重置為0。溫度設(shè)置子程序流程圖溫度設(shè)置子程序流程圖如下所示:開(kāi)始開(kāi)始K_UP仍按下?下?圖3-5溫度設(shè)置子程序流程框圖K_UP按下?延時(shí)消抖動(dòng)溫度+0.1℃K_DOWN按下?Y延時(shí)消抖動(dòng)K_DOWN仍按下?下?溫度-0.1℃結(jié)束YYYNNNN恒溫圍的設(shè)置主要由K_UP、K_DOWN兩個(gè)按鍵完成:K_UP按下,延時(shí)10ms消除抖動(dòng),防止誤觸,然后相應(yīng)的溫度圍+0.1℃;K_DOWN按下,延時(shí)10ms消除抖動(dòng),防止誤觸,然后相應(yīng)的溫度圍-0.1℃;3.4.4溫度讀取函數(shù)流程圖 溫度讀取函數(shù)流程圖如下所示:開(kāi)始開(kāi)始初始化發(fā)送0xCC,設(shè)置單片工作方式發(fā)送0x44,啟動(dòng)溫度轉(zhuǎn)換延時(shí),等待溫度轉(zhuǎn)換完畢發(fā)送0xBE,讀取轉(zhuǎn)換的溫度低字節(jié)存入a高字節(jié)存入b溫度原碼temp=〔〔b<<8+a溫度為負(fù)?溫度值value=temp*<-0.0625>溫度值value=temp*<-0.0625>返回value結(jié)束YN圖3-6溫度讀取函數(shù)流程圖本次設(shè)計(jì)中僅使用了一個(gè)DS18B20溫度傳感器,根據(jù)其指令表需要先發(fā)送一個(gè)0xCC設(shè)定工作的方式;然后發(fā)送0x44啟動(dòng)溫度裝換,轉(zhuǎn)換的數(shù)據(jù)存入9位的RAM中;延時(shí)一段時(shí)間,等待溫度轉(zhuǎn)換完畢;發(fā)送0xBE,讀取RAM中儲(chǔ)存的數(shù)據(jù),高字節(jié)為b,低字節(jié)為a,溫度轉(zhuǎn)換的原碼temp=高字節(jié)左移8位+低字節(jié),注意此時(shí)的temp并不是我們常用的攝氏溫度值,后面還需要轉(zhuǎn)換;根據(jù)溫度值的符號(hào)不同返回不同的值,溫度為正value=temp*<0.0625>,溫度為負(fù)value=temp*<-0.0625>,此時(shí)的value才為我們生活中常用的攝氏溫度值。3.4.5均值濾波程序流程圖開(kāi)始開(kāi)始初始化ch=readtemp<>max=min=final=chi<=9?ch<min?ch=readtemp<>final+=chch>max?min=chmax=chi++final=<final-max-min>/8返回finalNNNYYY圖3-7均值濾波流程圖這里只是對(duì)連續(xù)采集的10次數(shù)據(jù)進(jìn)行了一次均值濾波,將10次采集的溫度總值減去10次中的最大值和最小值后取平均數(shù)便得到了濾波后的相對(duì)穩(wěn)定的溫度值。均值濾波的數(shù)據(jù)可以在程序中改變參數(shù)的值來(lái)調(diào)整,完成不同次數(shù)的濾波。3.4.6顯示函數(shù)程序流程圖開(kāi)始開(kāi)始溫度值*100將顯示的信息"xx.xx℃"存入數(shù)組dat[]調(diào)用GUI_Show12ASCII<>函數(shù)顯示結(jié)束圖3-8顯示函數(shù)流程圖本設(shè)計(jì)的顯示功能比較簡(jiǎn)單,對(duì)要顯示的溫度做了一個(gè)簡(jiǎn)單處理,調(diào)用GUI_Show12ASCII<>函數(shù)顯示,其他的一些信息的顯示也是通過(guò)此函數(shù)實(shí)現(xiàn)的。這也是本次設(shè)計(jì)中的不足之處,顯示功能過(guò)于簡(jiǎn)單。4調(diào)試分析該設(shè)計(jì)硬件電路連接組裝好以后,便可進(jìn)入系統(tǒng)調(diào)試,其主要任務(wù)是排除存在硬件故障,并完善其硬件的結(jié)構(gòu),運(yùn)行所設(shè)計(jì)的程序,排除程序存在錯(cuò)誤,并優(yōu)化程序結(jié)構(gòu),使系統(tǒng)達(dá)到期望的性能。4.1硬件調(diào)試嵌入式系統(tǒng)的硬件和軟件調(diào)試應(yīng)是相互進(jìn)行的,但通常是先排除明顯的硬件故障:開(kāi)路、短路:由于焊接技術(shù)導(dǎo)致的開(kāi)路、短路等故障。解決方法:對(duì)照原理圖用萬(wàn)用表檢測(cè),補(bǔ)焊即可。2.元器的件損壞:由于對(duì)所使用的元器件不熟悉及制焊接過(guò)程中操作不當(dāng)致使器件損壞。解決方法:仔細(xì)閱讀元器件的應(yīng)用環(huán)境,仔細(xì)焊接。3.電源故障:上電后造成元器件損壞、無(wú)常的供電,電路不能正的常工作。電源故障包括:電壓值不符合設(shè)計(jì)要求,電源引出線與插座不對(duì)應(yīng),各檔電源之間短路等。解決方法:電源必須單獨(dú)的調(diào)試好以后才能加到系統(tǒng)各個(gè)部件中。4.2軟件測(cè)試設(shè)計(jì)軟件部分出問(wèn)題的現(xiàn)象:1.以斷點(diǎn)或連續(xù)方式運(yùn)行時(shí),目標(biāo)沒(méi)有按規(guī)定的功能進(jìn)行操作或什么結(jié)果也沒(méi)有,是由于程序轉(zhuǎn)移到
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合同范本個(gè)人汽車(chē)買(mǎi)賣(mài)合同模板
- 2025關(guān)于流動(dòng)資產(chǎn)的借款合同書(shū)
- 2025標(biāo)準(zhǔn)的合同轉(zhuǎn)讓協(xié)議范本
- 2025中藥飲片采購(gòu)合同協(xié)議書(shū)
- 2025企業(yè)管理資料范本員工保密合同(帶封面)
- 2025物業(yè)管理服務(wù)合同書(shū)范本
- 2025合作伙伴銷(xiāo)售合同
- 2025授權(quán)版多人合作協(xié)議模板
- 2025太陽(yáng)能光伏安裝工程承包合同太陽(yáng)能光伏承包合同范本
- 2017藥品試題及答案
- GB/T 6516-2025電解鎳
- 職業(yè)技術(shù)學(xué)院2024級(jí)工業(yè)互聯(lián)網(wǎng)技術(shù)專業(yè)人才培養(yǎng)方案
- 2025年全國(guó)低壓電工證(復(fù)審)考試筆試試題(300題)含答案
- 羅森加盟合同協(xié)議
- 定制拆單合同協(xié)議
- 榆林市煤炭資源整合實(shí)施方案
- 跨學(xué)科實(shí)踐活動(dòng)05 基于碳中和理念設(shè)計(jì)低碳行動(dòng)方案(活動(dòng)設(shè)計(jì))-2024-2025學(xué)年九年級(jí)化學(xué)跨學(xué)科實(shí)踐活動(dòng)教學(xué)教學(xué)設(shè)計(jì)+設(shè)計(jì)(人教版2024)
- 2025年中考英語(yǔ)押題預(yù)測(cè)卷(徐州專用)(原卷版)
- 前程無(wú)憂測(cè)評(píng)題庫(kù)
- 2025-2030中國(guó)馬丁靴行業(yè)發(fā)展分析及發(fā)展前景與投資研究報(bào)告
- 證券投資學(xué) 課件 第一章 導(dǎo)論
評(píng)論
0/150
提交評(píng)論