九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

溫度檢測系統(tǒng)設(shè)計--單片機(jī)課程設(shè)計報告.docx

上傳人:good****022 文檔編號:116529814 上傳時間:2022-07-05 格式:DOCX 頁數(shù):54 大?。?.67MB
收藏 版權(quán)申訴 舉報 下載
溫度檢測系統(tǒng)設(shè)計--單片機(jī)課程設(shè)計報告.docx_第1頁
第1頁 / 共54頁
溫度檢測系統(tǒng)設(shè)計--單片機(jī)課程設(shè)計報告.docx_第2頁
第2頁 / 共54頁
溫度檢測系統(tǒng)設(shè)計--單片機(jī)課程設(shè)計報告.docx_第3頁
第3頁 / 共54頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《溫度檢測系統(tǒng)設(shè)計--單片機(jī)課程設(shè)計報告.docx》由會員分享,可在線閱讀,更多相關(guān)《溫度檢測系統(tǒng)設(shè)計--單片機(jī)課程設(shè)計報告.docx(54頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、電氣工程學(xué)院單片機(jī)課程設(shè)計報告班 級: 姓 名: 學(xué) 號: 設(shè)計題目: 溫度檢測系統(tǒng)設(shè)計 設(shè)計時間: 評定成績: 評定教師: 摘要 以51單片機(jī)為核心,設(shè)計一個溫度檢測系統(tǒng)。該系統(tǒng)基于8051核心的單片機(jī)AT89S51,通過串行AD轉(zhuǎn)換芯片PCF8591將基于NTC熱敏電阻的測溫電路輸出的模擬信號轉(zhuǎn)換成數(shù)字信號,并根據(jù)電路特性曲線計算出目標(biāo)溫度值,還具有通過lcd1602液晶顯示目標(biāo)溫度和超過設(shè)定閾值報警功能。該系統(tǒng)面向普通的要求不高的測溫場景,并盡可能提高測量精度、減小測量誤差。 Proteus仿真、keil與proteus聯(lián)調(diào)是此次設(shè)計該系統(tǒng)的主要手段,即過程中,通過軟件對系統(tǒng)各個模塊功能

2、的調(diào)試。該系統(tǒng)的核心有以下幾個部分:lcd控制、ic通信協(xié)議,以及NTC熱敏電阻特性曲線和補(bǔ)償算法。 由于該系統(tǒng)功能簡單,元器件數(shù)量較少,最終可以在單片機(jī)學(xué)習(xí)板上實現(xiàn)。由于仿真和實際學(xué)習(xí)板的條件不同,使用軟件仿真是時采用AT89S51單片機(jī),實際調(diào)試時使用STC89C52RC單片機(jī),其功能完全兼容AT89S52單片機(jī)。關(guān)鍵詞:溫度檢測、51單片機(jī)、ic通訊、NTC熱敏電阻、仿真目錄一、設(shè)計要求11.1 設(shè)計要求分析1二、方案設(shè)計和選定22.1文獻(xiàn)綜述22.1.1 單片機(jī)模塊22.1.2 AD轉(zhuǎn)換模塊22.1.3 顯示模塊32.1.4 報警模塊42.1.5 測溫模塊42.1.6 輸入模塊52.2

3、 最終方案選定52.3硬件成本計算6三、硬件設(shè)計(基于proteus)73.1 仿真原理圖設(shè)計73.2 仿真器件選擇及參數(shù)設(shè)定11四、程序設(shè)計124.1程序流程圖124.2 LCD顯示程序134.3 PCF 8591控制程序164.3測溫電路算法設(shè)計 164.5 報警模塊和按鍵模塊程序設(shè)計25五、調(diào)試過程275.1 軟硬件調(diào)試275.2 運行效果展示28六、設(shè)計總結(jié)31參考文獻(xiàn)32附錄:源程序34一、設(shè)計要求溫度檢測及報警實現(xiàn)具有溫度檢測、顯示、以及報警功能的溫度檢測應(yīng)用系統(tǒng),功能指標(biāo)如下:(1) 滿足通用要求;(2) 溫度采集及顯示精度為1位小數(shù);其中:*通用要求1、人機(jī)接口:可選擇開關(guān)、按

4、鍵、發(fā)光管、LED數(shù)碼管、點陣字符LCD、圖形字符LCD等;2、模擬器件:可選擇A/D、D/A、運放、模擬開關(guān)等,其中A/D、D/A要求是串行接口類;3、傳感器:要求是模擬量輸出。1.1 設(shè)計要求分析在現(xiàn)有的條件和一定的成本控制下,應(yīng)該盡可能提高溫度檢測的精度和響應(yīng)速度。在顯示方面應(yīng)該盡可能清晰直觀,設(shè)定操作也應(yīng)該簡單方便。滿足通用要求即系統(tǒng)可以提供人機(jī)交互,應(yīng)通過顯示模塊顯示被測參數(shù),且可以通過按鍵或開關(guān)對系統(tǒng)進(jìn)行設(shè)置。模擬器件要求是串行接口,可以節(jié)省io資源,但是編程相對較為復(fù)雜。傳感器要求模擬量輸出,則不能使用數(shù)字溫度傳感器,如18B20數(shù)字溫度傳感器。設(shè)計一個具有溫度檢測、顯示、以及報

5、警功能的溫度檢測應(yīng)用系統(tǒng),可以分為溫度檢測模塊檢測溫度,顯示模塊用于顯示溫度值和其他信息,報警模塊用來提供警報,系統(tǒng)的核心應(yīng)由單片機(jī)系統(tǒng)完成信息和用戶操作的處理。對于各個模塊的方案分析和選用,在下一章節(jié)進(jìn)行詳細(xì)的說明。二、方案設(shè)計和選定2.1文獻(xiàn)綜述查閱相關(guān)資料之后,在各個模塊的選用方案在考慮成本、性能、設(shè)計要求和使用環(huán)境的前提下,最終做出較為合適的選擇。系統(tǒng)方案的最終目標(biāo)是在考慮成本的前提下,盡量提高系統(tǒng)的易用度、提高溫度檢測的精度。各個模塊的方案比較和選用具體如下:2.1.1 單片機(jī)模塊由于系統(tǒng)目標(biāo)功能比較簡單,所以核心微控制器可以采用成本低廉、應(yīng)用非常廣泛的8位單片機(jī)。根據(jù)實際情況,有以

6、下幾種單片機(jī)可供選擇:51單片機(jī)、avr單片機(jī)、stm8、pic單片機(jī)等。相比于其他幾類單片機(jī),51單片機(jī)在功能、價格、穩(wěn)定性、處理速度上均不具特別優(yōu)勢,但是由于其使用比較簡單、價格足夠便宜、例程豐富和在現(xiàn)有軟硬件資源限制下,最終選擇8051核心的AT89S51增強(qiáng)版單片機(jī)。AT89S51單片機(jī)是Atmel公司的產(chǎn)品,其具有4組8位雙向IO口,內(nèi)部集成2個16位定時器/計數(shù)器、兩個外部中斷以及一個全雙工異步uart通信接口,此外片內(nèi)集成4KB flash ROM和128B高速RAM。該單片機(jī)可工作于0-33MHz速度下,其性能足以用來設(shè)計該溫度檢測系統(tǒng)。2.1.2 AD轉(zhuǎn)換模塊由于該款單片機(jī)內(nèi)

7、部未集成AD轉(zhuǎn)換功能,所以需采用一片外部AD轉(zhuǎn)換芯片。常用的AD芯片由轉(zhuǎn)換方法可分為積分型、逐次比較型、電容陣列逐次比較型等等。AD轉(zhuǎn)換芯片的分辨率越高、轉(zhuǎn)換速度越快,其價格越高。受限于成本要求和應(yīng)用場景,主要有以下幾款芯片待選:TLC5510、ADC0809、AD574、PCF8591。以上四種AD轉(zhuǎn)換芯片都具有8位或12位的轉(zhuǎn)換精度,但是其轉(zhuǎn)換類型各有不同,輸入通道數(shù)量也有所不同,成本都比較適中。由于設(shè)計要求使用串行接口的芯片并且要求檢測和顯示精度為小數(shù)點后一位,并且根據(jù)現(xiàn)有的單片機(jī)學(xué)習(xí)版的資源,最終選用具有串行接口的8位AD芯片PCF8591。該芯片使用逐次逼近方法進(jìn)行AD轉(zhuǎn)換,使用ic

8、通信協(xié)議。其有四個輸入通道,可作為獨立4通道輸入,或者3或2組差分輸入,另有一個模擬輸出接口(該系統(tǒng)中未使用)。ic通信協(xié)議是一種串行通訊協(xié)議,其只需一根雙向數(shù)據(jù)線、一根時鐘脈沖線即可完成通訊,占用IO口少,但編程相對較為復(fù)雜。相比而言,PCF8591芯片具有差分輸入功能,可以一定程度上抑制共模信號,所以可以設(shè)計電路使其具有一定的抗干擾能力。2.1.3 顯示模塊從實際系統(tǒng)要求和成本考慮,主要有兩類顯示模塊可供選擇:LED顯示和LCD顯示。LED模塊主要有八段數(shù)碼管、點陣LED,LCD模塊主要有l(wèi)cd1602、lcd12864、諾基亞5110液晶屏。下面分別將五個模塊在成本、功能、控制、優(yōu)缺點等

9、方面做出比較:點陣LED八段數(shù)碼管lcd1602lcd12864Nokia5110價格低低較低較高一般顯示內(nèi)容較少少多多多數(shù)量需求2-44-6111優(yōu)點亮度高、成本低亮度高、成本低可直接顯示ascll字符,可顯示16*2個字符,成本較低、控制簡單128*64點陣,顯示內(nèi)容多,可顯示各種字符和圖案串行通訊、需要io口較少,84*48點陣可顯示30個字符,工作速度快、價格低缺點驅(qū)動電流大,占用io口多,需動態(tài)掃描、編程復(fù)雜驅(qū)動電流大,占用io口多,需動態(tài)掃描、編程復(fù)雜占用io口較多、難以顯示復(fù)雜字符,不適合顯示圖案占用io口較多、需要的顯示數(shù)據(jù)多、成本高自身不帶有字庫,需要的顯示數(shù)據(jù)較多綜合成本8

10、元4元5元24元11元最終根據(jù)設(shè)計要求和考慮成本,選用lcd1602液晶作為系統(tǒng)的顯示模塊顯示被測溫度值和提供人機(jī)交互界面。Lcd1602液晶屏在成本和功能、易用度等各個方便均由不錯的表現(xiàn),幾乎是設(shè)計該系統(tǒng)顯示模塊的不二之選。2.1.4 報警模塊根據(jù)設(shè)計要求,系統(tǒng)可以根據(jù)用戶設(shè)定的溫度值進(jìn)行監(jiān)控,當(dāng)被測溫度高于設(shè)定溫度時應(yīng)該提供警報,提供警報。警報的方式有很多種,此次采用最常見的聲光警報。聲音警報可以選用有源蜂鳴器、無源蜂鳴器和專用的聲音ic芯片。有源蜂鳴器在通電之后就可以發(fā)出特定頻率和間隔的聲音;無源蜂鳴器需要給予一定500-20000Hz的脈沖才可發(fā)出人類可聽見的聲音;專用的聲音ic配合微

11、型揚聲器就可以發(fā)出不同的聲音。三種方案成本都比較低,但是無源蜂鳴器的成本最低,不足0.5元錢??梢岳脝纹瑱C(jī)控制其發(fā)出特定頻率的聲音作為聲音警報,所以選用無源蜂鳴器作為聲音警報模塊。另外使用一顆led發(fā)光管作為警報光源。2.1.5 測溫模塊根據(jù)要求使用NTC熱敏電阻組成的測溫電路進(jìn)行溫度測量。類似的還有PTC熱敏電阻構(gòu)成測溫電路,其輸出均為模擬量,滿足設(shè)計要求。NTC熱敏電阻又稱為負(fù)溫度系數(shù)熱敏電阻,是一類電阻值隨溫度增大而減小的一種傳感器電阻。廣泛用于各種電子原件中,如溫度傳感器、可復(fù)式保險絲及自動調(diào)節(jié)的加熱器等。其價格低廉,工作比較穩(wěn)定,適用于測量精度要求不高的場合。普通型的NTC熱敏電阻

12、可以用于測量 -20200,可選阻值?,F(xiàn)選用10k阻值的NTC熱敏電阻和10k阻值的不變電阻組成分壓電路。該測溫電路輸出0-5v DC模擬量,溫度和輸出量呈非線性關(guān)系,需要進(jìn)行大量的數(shù)據(jù)測量并據(jù)此使用數(shù)學(xué)工具軟件擬合出關(guān)系公式,最終得出盡量準(zhǔn)確的溫度曲線。此外為保證數(shù)據(jù)的準(zhǔn)確性,還應(yīng)該根據(jù)實際溫度曲線和建模擬合的曲線進(jìn)行比對,并適當(dāng)對數(shù)據(jù)進(jìn)行修正。2.1.6 輸入模塊根據(jù)設(shè)計要求,系統(tǒng)應(yīng)該具有報警功能。設(shè)定溫度值應(yīng)由用戶輸入設(shè)定,另外還需提供一個報警的開關(guān)功能選定。采用簡單的按鍵輸入方案。使用單片機(jī)學(xué)習(xí)版提供的四腳輕觸開關(guān),其成本低廉,但是由于其機(jī)械結(jié)構(gòu),在按下的過程中會產(chǎn)生機(jī)械抖動情況,應(yīng)該

13、盡量使用編程方法消除可能產(chǎn)生的誤差。根據(jù)系統(tǒng)功能要求,使用三個按鍵即可實現(xiàn)要求的功能。三個按鍵分別用于設(shè)定溫度的“+”、“-”功能,以及警報的開關(guān)功能。2.2 最終方案選定最終方案:選用AT89S51單片機(jī)作為控制核心,使用PCF8591 AD芯片和NTC熱敏電阻測溫電路構(gòu)成系統(tǒng)的測溫模塊,使用一片lcd1602液晶作為系統(tǒng)的顯示模塊,使用一個無源蜂鳴器和led發(fā)光管作為系統(tǒng)的報警模塊,使用3個按鍵作為系統(tǒng)的輸入模塊。系統(tǒng)結(jié)構(gòu)圖如下:報警模塊控制按鍵LCD1602液晶屏AT89S51 單片機(jī)NTC熱敏電阻測溫電路PCF 8591AD轉(zhuǎn)化各模塊功能說明:1、單片機(jī)配合對應(yīng)的電源、復(fù)位和晶振模塊,

14、使之成為可以工作的最小系統(tǒng)。該部分可以獨立工作并完成基本功能。2、報警模塊由一個串聯(lián)限流電阻的發(fā)光二極管和蜂鳴器構(gòu)成,二極管以單片機(jī)引腳直接低電平驅(qū)動,蜂鳴器采用一個NPN三極管驅(qū)動。3、LCD1602液晶屏的數(shù)據(jù)引腳由單片機(jī)的P0口連接,三個控制引腳分別由P2口低三位控制。4、三個按鍵功能分別為:設(shè)定溫度+0.5,設(shè)定溫度-0.5和警報開關(guān)、前兩個按鍵鎖定功能。5、AD轉(zhuǎn)化、測溫電路由PCF8591和NTC熱敏電阻以及一個10k電阻構(gòu)成。2.3硬件成本計算在選定最終方案后,應(yīng)該計算系統(tǒng)的硬件成本。硬件成本如下表:單價數(shù)量總價AT89S51單片機(jī)5.015.0pcf8591p11.0111.0

15、lcd1602液晶5.015.0無源蜂鳴器0.510.5NTC熱敏電阻0.110.1其他零散元件818PCB制版費15.0115.0其他10.0110.0總計39.6關(guān)于硬件成本計算的補(bǔ)充說明:1、所有元器件的封裝要根據(jù)實際情況進(jìn)行選定,但是成本近似相等。2、實際系統(tǒng)中多使用各種規(guī)格的電容、電阻、晶振、按鍵、芯片插槽、排針、導(dǎo)線等零散元件,由于其種類多、價格低廉,所以不逐個列出。還有制作做過程中產(chǎn)生的成本,如焊接設(shè)備、耗材等,只進(jìn)行統(tǒng)一折算。3、PCB制版要根據(jù)實際情況做改動,此處的10元成本是指批量定制(10片及以上)的平均成本。4、該系統(tǒng)使用5v電源即可滿足供電要求,因此默認(rèn)使用USB供電

16、而未單獨設(shè)計電源模塊。三、硬件設(shè)計(基于proteus)系統(tǒng)方案確立后,應(yīng)該根據(jù)設(shè)定的方案具體實現(xiàn)規(guī)定的功能。在硬件方面,可以使用proteus軟件進(jìn)行電路原理圖的設(shè)計并進(jìn)行初步仿真。Proteus提供了硬件的設(shè)計及仿真,能仿真許多常用電子器件的功能,可以為設(shè)計者提供方案的可行性檢測和初步仿真。在仿真過程中可以發(fā)現(xiàn)設(shè)計方案的不足并加以改正,此外還可以很大程度的驗證程序設(shè)計的可行性。3.1 仿真原理圖設(shè)計以下根據(jù)模塊來介紹仿真原理圖。1、單片機(jī)模塊該模塊包含AT89S51單片機(jī)、晶振電路和復(fù)位電路。系統(tǒng)采用12MHz的晶振,折算到機(jī)器周期為1us。復(fù)位電路主要由一個電容、電阻和按鍵組成,上電時電

17、容充電在單片機(jī)RST引腳產(chǎn)生一個高電平,其周期與RC時間常數(shù)有關(guān)。在正常工作時,電容飽和,RST引腳通過電阻接地為低電平,按鍵按下Vcc直接接入單片機(jī)RST引腳并且使電容放電,按鍵松開時,電容充電從而使RST引腳維持高電平一段時間。AT89S51的復(fù)位信號為大于2個機(jī)器周期的高電平有效。應(yīng)該注意的是,proteus默認(rèn)的元件庫中并沒有AT89S51單片機(jī),但是完全可以用AT89C51代替,兩者功能互相兼容,在此設(shè)計中仿真效果基本一致。2、按鍵模塊按鍵電路比較簡單,使用三個按鍵直接和單片機(jī)io引腳相連,另一端與地相連。單片機(jī)讀引腳時先向io引腳內(nèi)部的鎖存器寫“1”使場效應(yīng)管截止,因此按鍵若未按下

18、則讀入為“1”,按下則讀入為“0”。另外單片機(jī)io引腳默認(rèn)復(fù)位電平為高電平,應(yīng)考慮復(fù)位后io高電平可能產(chǎn)生的不良影響。3、報警電路報警電路采用一個無源蜂鳴器和一個發(fā)光二極管。由于單片機(jī)的io驅(qū)動能力不強(qiáng),僅為幾個毫安,而無源蜂鳴器一般需要幾十毫安的驅(qū)動電流,所以應(yīng)該給無源蜂鳴器配備驅(qū)動電路。該電路中采用了一個NPN型三極管,在單片機(jī)輸出高電平至其基極時三極管導(dǎo)通,輸出低電平時關(guān)斷。實際應(yīng)用中,可選用常見的8050或9013三極管,其最大集電極電流大概在500mA左右,工作頻率在100MHz以上,完全可用于驅(qū)動三極管。Led驅(qū)動電流極小,只需用單片機(jī)以低電平方式驅(qū)動即可??捎糜趯嶋H仿真的單片機(jī)學(xué)

19、習(xí)板提供一片uln2003驅(qū)動芯片,其驅(qū)動效果和NPN三極管相同。4、顯示電路使用通用的lcd1602,軟件的仿真元件和實際元件的控制方式完全相同,工作頻率相近,顯示效果相同。Lcd1602有一個8位數(shù)據(jù)接口,用于數(shù)據(jù)和命令的傳輸,使用單片機(jī)的P0口作為數(shù)據(jù)接口。由于單片機(jī)的P0口作為io口時漏極開路,所以應(yīng)該接入上拉電阻以實現(xiàn)標(biāo)準(zhǔn)雙向io口的功能。Lcd1602另需三個控制信號,分別由單片機(jī)的P2.0、P2.1、P2.2三個io口控制。5、ic調(diào)試工具該部分由proteus提供的ic調(diào)試工具組成,可以據(jù)此判斷ic總線的工作情況,對于程序調(diào)試非常有幫助。此外還能看見ic傳輸?shù)臅r序、應(yīng)答信號、傳

20、輸?shù)牡刂泛蛢?nèi)容信息。6、AD轉(zhuǎn)換電路及測溫電路PCF8591芯片工作在差分輸入方式,其輸出結(jié)果為AIN0和AIN1通道的電壓差,差分輸入可以一致共模信號,是系統(tǒng)抗干擾的能力大大增加。NTC電阻仿真型號為NCP15XH103,其典型阻值為10k,隨溫度的增大其阻值變小。在其參數(shù)屬性中可以設(shè)置不同的工作溫度,配合pcf8591檢測電壓,可以得到溫度與電壓對應(yīng)的數(shù)據(jù)。3.2 仿真器件選擇及參數(shù)設(shè)定仿真器件的參數(shù)一般要在器件的屬性里進(jìn)行設(shè)置,如AT89C51單片機(jī)工作頻率是在屬性頁面里設(shè)置,而不是由外部電路的晶振頻率決定的。NTC熱敏電阻可以在屬性設(shè)置假定的環(huán)境溫度,使其阻值發(fā)生相應(yīng)的變化。有的器件可

21、以改變工作電壓和電流的條件,方便調(diào)試時使用。設(shè)置器件參數(shù)如下:12MHz晶振,配合兩個22pF的啟動電容,復(fù)位電路用一個10uF的電容以及1k歐的限流、下拉電阻,P0口采用10k歐的上拉電阻,報警電路的led采用220歐姆的限流電阻,測溫電路選用10k的定值電阻和NTC組成分壓電路,AD芯片的參考電壓采用5v的Vcc等。四、程序設(shè)計4.1程序流程圖程序主要分為以下幾個部分:PCF8591控制讀取程序,按鍵讀取程序,LCD1602控制程序,報警程序等。實際編程使用C語言,C51編程速度快,可讀性好,移植性好。采用模塊化編程,即將不同部分的程序分門別類寫入不同的.c文件中,在主程序中調(diào)用,好處是方

22、便修改、可讀性高。4.2 LCD顯示程序Lcd1602液晶主要有寫指令、寫數(shù)據(jù)、讀數(shù)據(jù)、讀狀態(tài)四種控制狀態(tài),在讀、寫時應(yīng)該嚴(yán)格遵守手冊的操作時序。 如圖,分別是lcd1602的讀寫時序和典型的時序時間表。對于51單片機(jī)來說,由于其工作指令周期一般在1us以上,因此一般無需考慮lcd1602時序?qū)r間的要求,但是在使用高速型微控制器時應(yīng)該考慮這個問題。Lcd1602的控制程序主要是由初始化程序、寫指令程序、讀狀態(tài)程序以及寫數(shù)據(jù)程序構(gòu)成。使用前應(yīng)該先進(jìn)行初始化,每次進(jìn)行讀寫操作時應(yīng)該檢測lcd1602的狀態(tài)信息,忙狀態(tài)不可對屏幕進(jìn)行控制。4.3 PCF 8591控制程序PCF 8591芯片的使用重

23、點在于ic協(xié)議的掌握,只要編寫調(diào)試出ic協(xié)議的程序,即可根據(jù)芯片手冊提供的控制字對芯片進(jìn)行各種操作。ic是一種串行通訊協(xié)議,需要兩根線用于通訊:一根時鐘線、一根雙向數(shù)據(jù)線。通訊過程主要有以下幾個部分構(gòu)成:起始信號、應(yīng)答信號、數(shù)據(jù)幀、地址幀構(gòu)成。每次通訊均由主機(jī)發(fā)起,時鐘信號由主機(jī)提供。主機(jī)發(fā)出開始信號后接著發(fā)出地址幀,地址幀包括芯片的識別碼、引腳地址和讀寫操作位,然后由芯片返回應(yīng)答信號,接著主機(jī)讀取或發(fā)送一字節(jié)數(shù)據(jù)。每字節(jié)數(shù)據(jù)發(fā)送完,接收方應(yīng)該返回一個應(yīng)答信號以繼續(xù)進(jìn)行通訊。關(guān)于ic的操作時序如下圖:根據(jù)pcf 8591的芯片手冊,芯片使用步驟大概如下:先發(fā)送地址幀和讀/寫選擇信號,如果是寫操

24、作則由主機(jī)發(fā)送控制字,讀操作則主機(jī)讀取寄存器中轉(zhuǎn)換的8位數(shù)值。pcf 8591的控制字如下:Pcf 8591芯片地址幀后寫入的第一個字節(jié)為控制字,第二個字節(jié)為DA轉(zhuǎn)換的數(shù)值(可缺省)。讀入為控制字設(shè)置的模式和通道對應(yīng)的寄存器。此程序中,設(shè)置芯片為AIN0、1和AIN2、3差分輸入,其結(jié)果分別會被存入channel 0、1中。應(yīng)注意每次讀取寄存器的值為上一次轉(zhuǎn)換結(jié)果。Pcf 8591程序如下:根據(jù)芯片手冊的操作要求,事實上無需由主機(jī)發(fā)送應(yīng)答信號。最終在主程序中只要調(diào)用ReadAdc()這個程序即可完成對通道0或1的讀取。讀取的數(shù)據(jù)為8位無符數(shù)據(jù),參考電壓設(shè)置為5.0v,則可以算出對應(yīng)的電壓值。4

25、.4 測溫電路建模及算法設(shè)計測量溫度的核心是NTC熱敏電阻隨著環(huán)境溫度的升高其阻值降低,通過分壓電路測量電壓變化則可以根據(jù)溫度電壓的關(guān)系曲線得到對應(yīng)的溫度值。電壓溫度的轉(zhuǎn)換可以有兩種方法,一是查表法,二是根據(jù)電壓溫度的關(guān)系曲線得到關(guān)系式,從而根據(jù)電壓值計算出溫度值。首先查表法由于數(shù)據(jù)量較大,因此執(zhí)行時需要較多時間,且有精度限制。其次測量數(shù)值為浮點型數(shù)據(jù),單個數(shù)據(jù)需占用4個字節(jié),由于AT89S51的存儲容量限制,數(shù)據(jù)不能過多。最后考慮到51單片機(jī)的計算能力和存儲容量,決定采用關(guān)系式計算的方法。關(guān)系式計算法具有連續(xù)性和更大的適用范圍,理論上能提供更高精度的計算結(jié)果。關(guān)系式由電壓溫度的關(guān)系曲線得來,

26、此處用軟件仿真的方法,測量0100之間共101個溫度整數(shù)值對應(yīng)電壓的數(shù)據(jù),反復(fù)測量得出準(zhǔn)確的的數(shù)據(jù)。根據(jù)pcf 8591的轉(zhuǎn)換精度,采集的電壓值精確到小數(shù)點后三位。將獲得的溫度電壓一一對應(yīng)的數(shù)據(jù)輸入表格工具并加以整理,然后用數(shù)學(xué)工具M(jìn)ATLAB軟件中的CFTOOL工具箱描繪出二者的關(guān)系曲線:接下來對不連續(xù)曲線進(jìn)行分析和擬合,由于曲線非線性,所以不能采用線性數(shù)學(xué)公式。經(jīng)過試驗并根據(jù)單片機(jī)的實際處理能力,決定嘗試以下幾種常用的擬合公式:四次多項式、五次多項式、傅里葉公式和高斯曲線公式。其擬合公式和曲線分別如下: 以下為四次多項式的擬合結(jié)果:以上為4次多項式的擬合結(jié)果,可見擬合曲線和原曲線基本重合,

27、不過相對于5次多項式擬合結(jié)果方差較大。由于數(shù)據(jù)是由軟件仿真得來,因此不能保證其精確性。一下為5次多項式的擬合結(jié)果:可見相對于4次多項式的擬合結(jié)果,5次多項式具有更小的方差,曲線更加重合,但是沒有顯現(xiàn)出很大的差距。以下為傅里葉擬合結(jié)果:由于數(shù)據(jù)的數(shù)量和準(zhǔn)確性限制,傅里葉函數(shù)擬合結(jié)果并沒有顯現(xiàn)出很好的效果,且在010區(qū)域內(nèi)不能很好的重合,計算公式也比較復(fù)雜。以下為高斯曲線擬合結(jié)果:結(jié)果和傅里葉曲線擬合結(jié)果和傅里葉一樣,并不具有優(yōu)勢,且計算較為復(fù)雜。通過以上圖標(biāo)和公式對比可知:其中傅里葉和高斯擬合公式的結(jié)果相比多項式而言,一是方差較大且在個別區(qū)域內(nèi)擬合曲線較實際曲線偏差較大,二是其計算公式復(fù)雜會導(dǎo)致

28、單片機(jī)計算負(fù)擔(dān)過大,從而可能影響整個系統(tǒng)的工作效率,故考慮采用多項式進(jìn)行擬合。由于選用的AD芯片精度和單片機(jī)數(shù)學(xué)公式計算程序的誤差限制,在四次和五次多項式兩項中,比較根據(jù)公式計算的結(jié)果與真實值之間的實際誤差來看,兩者效果相近,所以優(yōu)先采用計算較為簡單的四次多項式。但是計算結(jié)果和實際溫度值仍有偏差,所以在現(xiàn)有的關(guān)系公式基礎(chǔ)上,增加了分段補(bǔ)償。部分?jǐn)?shù)據(jù)如下:即將電壓值分成若干個區(qū)間進(jìn)行分段修正??梢钥匆娎硐肭闆r下的修正效果比較明顯,整體的誤差明顯降低。程序?qū)崿F(xiàn)如下:經(jīng)過程序仿真,最終可以實現(xiàn)在0100的范圍內(nèi),測量誤差在1以內(nèi)。以上數(shù)據(jù)均來源于仿真,在實際應(yīng)用中,由于條件限制,無法得到所需數(shù)量的電

29、壓溫度關(guān)系數(shù)據(jù),因此準(zhǔn)確性大大降低。在于普通的溫度計進(jìn)行不嚴(yán)格的比對后,發(fā)現(xiàn)實際的測量誤差通常在2以內(nèi),誤差較大。4.5 報警模塊和按鍵模塊程序設(shè)計報警模塊程序比較簡單,利用單片機(jī)的一個16位定時器使無源蜂鳴器發(fā)出1KHz的警報聲。報警模塊主要配合按鍵,根據(jù)用戶設(shè)定值完成報警。報警和按鍵模塊的程序如下:利用單片機(jī)的定時器1產(chǎn)生1kHz的方波,是蜂鳴器發(fā)出1kHz的報警聲音。51單片機(jī)的定時器工作的必要條件是TR=1,因此只要控制TR就能完成對定時器1中斷的控制。配合按鍵程序使用,程序如下:兩功能模塊的程序在主程序中的使用如下:定時器1中斷程序如下,每次進(jìn)入中斷io口輸出電平取反,即可產(chǎn)生占空比

30、為50的方波:五、調(diào)試過程5.1 軟硬件調(diào)試調(diào)試過程采用Keil與Proteus聯(lián)調(diào)的調(diào)試方式。首先應(yīng)該對軟件進(jìn)行功能配置,在debug選項中選擇Proteus VSM Monitor-51 Driver,并勾選“Run to main”。然后在Proteus 的菜單欄“degug”,選擇允許遠(yuǎn)程調(diào)試,然后點擊keil的調(diào)試按鈕,即可在兩軟件間進(jìn)行聯(lián)調(diào)。使用聯(lián)調(diào)有助于快速發(fā)現(xiàn)程序和原理圖存在的問題,在keil上選擇單步調(diào)試可以跟隨程序一步步執(zhí)行并觀察執(zhí)行結(jié)果。對于復(fù)雜程序,單步調(diào)試效率較低,此時可以在任意地方設(shè)置任意數(shù)量的斷點,然后可以全速運行到斷點處停下,然后根據(jù)需要選擇單步調(diào)試和斷點調(diào)試,

31、最終通過分析可以推斷問題所在。例如在調(diào)試ic的過程中,程序發(fā)生問題,通訊失敗,經(jīng)過軟件聯(lián)調(diào)并使用proteus中的ic調(diào)試工具,最終發(fā)現(xiàn)問題出在ic通訊中的應(yīng)答信號上。在ic調(diào)試工具中,可以清楚看到通訊過程中的起始信號、應(yīng)答信號和傳輸數(shù)據(jù)的情況??梢該?jù)此推斷程序運行狀況,并鎖定問題大致所在區(qū)域。在整個調(diào)試過程中,出現(xiàn)過很多小問題,均可通過聯(lián)調(diào)的方式發(fā)現(xiàn)問題端倪,最終一一調(diào)試解決。另外,在整個程序調(diào)試過程中,應(yīng)該分模塊逐漸編程并調(diào)試。先解決了顯示屏的程序,然后在一一解決其他模塊的程序時可以利用顯示屏顯示調(diào)試結(jié)果。最終一步步完成整個程序的編寫調(diào)試工作。5.2 運行效果展示1、系統(tǒng)運行初始界面:此時

32、顯示屏第一行的Temp: 36.29為當(dāng)前檢測的溫度,第二行SetT:40.0為用戶設(shè)定的溫度值,開機(jī)默認(rèn)值為四十,N表示當(dāng)前不允許溫度超過設(shè)定值警報并禁用溫度+、- 鍵。當(dāng)前的NTC熱敏電阻仿真屬性為36條件下。2、按下選擇鍵:N變Y,即允許溫度報警并可以使用+、- 按鍵。3、按下+鍵:溫度設(shè)定值+0.5.4、按下-鍵:溫度設(shè)定值-0.55、設(shè)定值低于檢測溫度值:顯示!,報警電路工作。6、再次按下選擇鍵:Y變成N,且!不顯示,報警電路停止工作。7、檢測溫度值大于設(shè)定值時系統(tǒng)工作情況與5、6步驟相同。Proteus使用總結(jié):Proteus自帶了很多元器件和各種調(diào)試工具,可以方便的調(diào)整電路和器件

33、的參數(shù)。仿真中,可以通過聯(lián)調(diào)等手段獲得仿真過程中系統(tǒng)的運行狀態(tài)。Proteus仿真相比實際硬件對電路的要求不太嚴(yán)格,部分元器件及電路可以設(shè)定其屬性是仿真更為便捷,但是實際應(yīng)用中應(yīng)該嚴(yán)格按照各個元器件的電氣屬性進(jìn)行應(yīng)用。一般情況下proteus可能放寬了器件的工作條件,使硬件過于理想化。例如lcd1602的顯示程序在proteus仿真中可以得到期望結(jié)果,但有可能在實際器件上不能正確運行。再如AT89S51的實際ROM容量為4KB,但是在proteus仿真中卻沒有容量上的限制,所以可以存儲超過4KB的程序和數(shù)據(jù)。而且Proteus中單片機(jī)的引腳驅(qū)動能力沒有太大限制,甚至可以直接驅(qū)動蜂鳴器等較大工作

34、電流的器件,但是實際應(yīng)用中應(yīng)該用三極管或者uln2003芯片構(gòu)成專用的驅(qū)動電路。另外,盡管proteus中可以方便的設(shè)置各種變量,但是對于溫度等環(huán)境變量通常仿真結(jié)果不能保證準(zhǔn)確性,應(yīng)該盡量用實際電路進(jìn)行試驗。因此,proteus仿真有利有弊,應(yīng)該充分利用其強(qiáng)大的仿真功能進(jìn)行學(xué)習(xí),但是也應(yīng)該注意仿真和實際硬件電路的差別。六、設(shè)計總結(jié)(1)此次課題設(shè)計使我對proteus和keil的操作熟練程度大大增加,尤其是熟練掌握了proteus和keil的聯(lián)調(diào)方法,使得調(diào)試程序的效率大大增加。(2)總結(jié)此次設(shè)計的經(jīng)驗,對于較為復(fù)雜的系統(tǒng),應(yīng)該將其按功能分成多個小的模塊,再按照一定順序逐一解決各個模塊,最終解

35、決整個問題。(3)此次課程設(shè)計讓我初步體驗到了做一整個工程需要經(jīng)歷的過程,雖然簡單,但是卻和以往的效果不同。此次設(shè)計中,我需要在各個方面列出多種方案,并根據(jù)從成本、功能、穩(wěn)定性等各個方面分析各方案的可行性,并最終挑選出最合適的方案。較以往的設(shè)計更加嚴(yán)謹(jǐn)和全面,使個人能力得到了一定的鍛煉。(4)最后,此次設(shè)計仍然存在一些缺陷,例如實際應(yīng)用中溫度精度不高的問題。同時在編程和設(shè)計算法的方面,仍有很多的可以優(yōu)化、改進(jìn)的方面,這需要花額外的時間和努力進(jìn)行完善。參考文獻(xiàn)1 徐愛鈞,彭秀華. Keil Cx51 V7.0單片機(jī)高級語言編程與uVision2應(yīng)用實踐,20042 余永權(quán). ATMEL89系列單片機(jī)應(yīng)用技術(shù). 北京航空航天大學(xué)出版社,20023 張毅剛. 單片機(jī)原理及應(yīng)用. 高等教育出版社,20104 馬忠梅,王美剛等. 單片機(jī)的C語言應(yīng)用程序設(shè)計. 北京航空航天大學(xué)出版社,20135 張毅剛. 基于Proteus的單片機(jī)課程的基礎(chǔ)實驗與課程設(shè)計. 人民郵電出版社,20126 彭偉. 單片機(jī)C語言程序設(shè)計實訓(xùn)100例. 電子工業(yè)出版社,2010附錄:源程序51

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!