溫度檢測系統(tǒng)設計--單片機課程設計報告.docx_第1頁
溫度檢測系統(tǒng)設計--單片機課程設計報告.docx_第2頁
溫度檢測系統(tǒng)設計--單片機課程設計報告.docx_第3頁
溫度檢測系統(tǒng)設計--單片機課程設計報告.docx_第4頁
溫度檢測系統(tǒng)設計--單片機課程設計報告.docx_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

電氣工程學院單片機課程設計報告班 級: 姓 名: 學 號: 設計題目: 溫度檢測系統(tǒng)設計 設計時間: 評定成績: 評定教師: 摘要 以51單片機為核心,設計一個溫度檢測系統(tǒng)。該系統(tǒng)基于8051核心的單片機AT89S51,通過串行AD轉換芯片PCF8591將基于NTC熱敏電阻的測溫電路輸出的模擬信號轉換成數(shù)字信號,并根據(jù)電路特性曲線計算出目標溫度值,還具有通過lcd1602液晶顯示目標溫度和超過設定閾值報警功能。該系統(tǒng)面向普通的要求不高的測溫場景,并盡可能提高測量精度、減小測量誤差。 Proteus仿真、keil與proteus聯(lián)調是此次設計該系統(tǒng)的主要手段,即過程中,通過軟件對系統(tǒng)各個模塊功能的調試。該系統(tǒng)的核心有以下幾個部分:lcd控制、ic通信協(xié)議,以及NTC熱敏電阻特性曲線和補償算法。 由于該系統(tǒng)功能簡單,元器件數(shù)量較少,最終可以在單片機學習板上實現(xiàn)。由于仿真和實際學習板的條件不同,使用軟件仿真是時采用AT89S51單片機,實際調試時使用STC89C52RC單片機,其功能完全兼容AT89S52單片機。關鍵詞:溫度檢測、51單片機、ic通訊、NTC熱敏電阻、仿真目錄一、設計要求11.1 設計要求分析1二、方案設計和選定22.1文獻綜述22.1.1 單片機模塊22.1.2 AD轉換模塊22.1.3 顯示模塊32.1.4 報警模塊42.1.5 測溫模塊42.1.6 輸入模塊52.2 最終方案選定52.3硬件成本計算6三、硬件設計(基于proteus)73.1 仿真原理圖設計73.2 仿真器件選擇及參數(shù)設定11四、程序設計124.1程序流程圖124.2 LCD顯示程序134.3 PCF 8591控制程序164.3測溫電路算法設計 164.5 報警模塊和按鍵模塊程序設計25五、調試過程275.1 軟硬件調試275.2 運行效果展示28六、設計總結31參考文獻32附錄:源程序34一、設計要求溫度檢測及報警實現(xiàn)具有溫度檢測、顯示、以及報警功能的溫度檢測應用系統(tǒng),功能指標如下:(1) 滿足通用要求;(2) 溫度采集及顯示精度為1位小數(shù);其中:*通用要求1、人機接口:可選擇開關、按鍵、發(fā)光管、LED數(shù)碼管、點陣字符LCD、圖形字符LCD等;2、模擬器件:可選擇A/D、D/A、運放、模擬開關等,其中A/D、D/A要求是串行接口類;3、傳感器:要求是模擬量輸出。1.1 設計要求分析在現(xiàn)有的條件和一定的成本控制下,應該盡可能提高溫度檢測的精度和響應速度。在顯示方面應該盡可能清晰直觀,設定操作也應該簡單方便。滿足通用要求即系統(tǒng)可以提供人機交互,應通過顯示模塊顯示被測參數(shù),且可以通過按鍵或開關對系統(tǒng)進行設置。模擬器件要求是串行接口,可以節(jié)省io資源,但是編程相對較為復雜。傳感器要求模擬量輸出,則不能使用數(shù)字溫度傳感器,如18B20數(shù)字溫度傳感器。設計一個具有溫度檢測、顯示、以及報警功能的溫度檢測應用系統(tǒng),可以分為溫度檢測模塊檢測溫度,顯示模塊用于顯示溫度值和其他信息,報警模塊用來提供警報,系統(tǒng)的核心應由單片機系統(tǒng)完成信息和用戶操作的處理。對于各個模塊的方案分析和選用,在下一章節(jié)進行詳細的說明。二、方案設計和選定2.1文獻綜述查閱相關資料之后,在各個模塊的選用方案在考慮成本、性能、設計要求和使用環(huán)境的前提下,最終做出較為合適的選擇。系統(tǒng)方案的最終目標是在考慮成本的前提下,盡量提高系統(tǒng)的易用度、提高溫度檢測的精度。各個模塊的方案比較和選用具體如下:2.1.1 單片機模塊由于系統(tǒng)目標功能比較簡單,所以核心微控制器可以采用成本低廉、應用非常廣泛的8位單片機。根據(jù)實際情況,有以下幾種單片機可供選擇:51單片機、avr單片機、stm8、pic單片機等。相比于其他幾類單片機,51單片機在功能、價格、穩(wěn)定性、處理速度上均不具特別優(yōu)勢,但是由于其使用比較簡單、價格足夠便宜、例程豐富和在現(xiàn)有軟硬件資源限制下,最終選擇8051核心的AT89S51增強版單片機。AT89S51單片機是Atmel公司的產品,其具有4組8位雙向IO口,內部集成2個16位定時器/計數(shù)器、兩個外部中斷以及一個全雙工異步uart通信接口,此外片內集成4KB flash ROM和128B高速RAM。該單片機可工作于0-33MHz速度下,其性能足以用來設計該溫度檢測系統(tǒng)。2.1.2 AD轉換模塊由于該款單片機內部未集成AD轉換功能,所以需采用一片外部AD轉換芯片。常用的AD芯片由轉換方法可分為積分型、逐次比較型、電容陣列逐次比較型等等。AD轉換芯片的分辨率越高、轉換速度越快,其價格越高。受限于成本要求和應用場景,主要有以下幾款芯片待選:TLC5510、ADC0809、AD574、PCF8591。以上四種AD轉換芯片都具有8位或12位的轉換精度,但是其轉換類型各有不同,輸入通道數(shù)量也有所不同,成本都比較適中。由于設計要求使用串行接口的芯片并且要求檢測和顯示精度為小數(shù)點后一位,并且根據(jù)現(xiàn)有的單片機學習版的資源,最終選用具有串行接口的8位AD芯片PCF8591。該芯片使用逐次逼近方法進行AD轉換,使用ic通信協(xié)議。其有四個輸入通道,可作為獨立4通道輸入,或者3或2組差分輸入,另有一個模擬輸出接口(該系統(tǒng)中未使用)。ic通信協(xié)議是一種串行通訊協(xié)議,其只需一根雙向數(shù)據(jù)線、一根時鐘脈沖線即可完成通訊,占用IO口少,但編程相對較為復雜。相比而言,PCF8591芯片具有差分輸入功能,可以一定程度上抑制共模信號,所以可以設計電路使其具有一定的抗干擾能力。2.1.3 顯示模塊從實際系統(tǒng)要求和成本考慮,主要有兩類顯示模塊可供選擇:LED顯示和LCD顯示。LED模塊主要有八段數(shù)碼管、點陣LED,LCD模塊主要有l(wèi)cd1602、lcd12864、諾基亞5110液晶屏。下面分別將五個模塊在成本、功能、控制、優(yōu)缺點等方面做出比較:點陣LED八段數(shù)碼管lcd1602lcd12864Nokia5110價格低低較低較高一般顯示內容較少少多多多數(shù)量需求2-44-6111優(yōu)點亮度高、成本低亮度高、成本低可直接顯示ascll字符,可顯示16*2個字符,成本較低、控制簡單128*64點陣,顯示內容多,可顯示各種字符和圖案串行通訊、需要io口較少,84*48點陣可顯示30個字符,工作速度快、價格低缺點驅動電流大,占用io口多,需動態(tài)掃描、編程復雜驅動電流大,占用io口多,需動態(tài)掃描、編程復雜占用io口較多、難以顯示復雜字符,不適合顯示圖案占用io口較多、需要的顯示數(shù)據(jù)多、成本高自身不帶有字庫,需要的顯示數(shù)據(jù)較多綜合成本8元4元5元24元11元最終根據(jù)設計要求和考慮成本,選用lcd1602液晶作為系統(tǒng)的顯示模塊顯示被測溫度值和提供人機交互界面。Lcd1602液晶屏在成本和功能、易用度等各個方便均由不錯的表現(xiàn),幾乎是設計該系統(tǒng)顯示模塊的不二之選。2.1.4 報警模塊根據(jù)設計要求,系統(tǒng)可以根據(jù)用戶設定的溫度值進行監(jiān)控,當被測溫度高于設定溫度時應該提供警報,提供警報。警報的方式有很多種,此次采用最常見的聲光警報。聲音警報可以選用有源蜂鳴器、無源蜂鳴器和專用的聲音ic芯片。有源蜂鳴器在通電之后就可以發(fā)出特定頻率和間隔的聲音;無源蜂鳴器需要給予一定500-20000Hz的脈沖才可發(fā)出人類可聽見的聲音;專用的聲音ic配合微型揚聲器就可以發(fā)出不同的聲音。三種方案成本都比較低,但是無源蜂鳴器的成本最低,不足0.5元錢??梢岳脝纹瑱C控制其發(fā)出特定頻率的聲音作為聲音警報,所以選用無源蜂鳴器作為聲音警報模塊。另外使用一顆led發(fā)光管作為警報光源。2.1.5 測溫模塊根據(jù)要求使用NTC熱敏電阻組成的測溫電路進行溫度測量。類似的還有PTC熱敏電阻構成測溫電路,其輸出均為模擬量,滿足設計要求。NTC熱敏電阻又稱為負溫度系數(shù)熱敏電阻,是一類電阻值隨溫度增大而減小的一種傳感器電阻。廣泛用于各種電子原件中,如溫度傳感器、可復式保險絲及自動調節(jié)的加熱器等。其價格低廉,工作比較穩(wěn)定,適用于測量精度要求不高的場合。普通型的NTC熱敏電阻可以用于測量 -20200,可選阻值?,F(xiàn)選用10k阻值的NTC熱敏電阻和10k阻值的不變電阻組成分壓電路。該測溫電路輸出0-5v DC模擬量,溫度和輸出量呈非線性關系,需要進行大量的數(shù)據(jù)測量并據(jù)此使用數(shù)學工具軟件擬合出關系公式,最終得出盡量準確的溫度曲線。此外為保證數(shù)據(jù)的準確性,還應該根據(jù)實際溫度曲線和建模擬合的曲線進行比對,并適當對數(shù)據(jù)進行修正。2.1.6 輸入模塊根據(jù)設計要求,系統(tǒng)應該具有報警功能。設定溫度值應由用戶輸入設定,另外還需提供一個報警的開關功能選定。采用簡單的按鍵輸入方案。使用單片機學習版提供的四腳輕觸開關,其成本低廉,但是由于其機械結構,在按下的過程中會產生機械抖動情況,應該盡量使用編程方法消除可能產生的誤差。根據(jù)系統(tǒng)功能要求,使用三個按鍵即可實現(xiàn)要求的功能。三個按鍵分別用于設定溫度的“+”、“-”功能,以及警報的開關功能。2.2 最終方案選定最終方案:選用AT89S51單片機作為控制核心,使用PCF8591 AD芯片和NTC熱敏電阻測溫電路構成系統(tǒng)的測溫模塊,使用一片lcd1602液晶作為系統(tǒng)的顯示模塊,使用一個無源蜂鳴器和led發(fā)光管作為系統(tǒng)的報警模塊,使用3個按鍵作為系統(tǒng)的輸入模塊。系統(tǒng)結構圖如下:報警模塊控制按鍵LCD1602液晶屏AT89S51 單片機NTC熱敏電阻測溫電路PCF 8591AD轉化各模塊功能說明:1、單片機配合對應的電源、復位和晶振模塊,使之成為可以工作的最小系統(tǒng)。該部分可以獨立工作并完成基本功能。2、報警模塊由一個串聯(lián)限流電阻的發(fā)光二極管和蜂鳴器構成,二極管以單片機引腳直接低電平驅動,蜂鳴器采用一個NPN三極管驅動。3、LCD1602液晶屏的數(shù)據(jù)引腳由單片機的P0口連接,三個控制引腳分別由P2口低三位控制。4、三個按鍵功能分別為:設定溫度+0.5,設定溫度-0.5和警報開關、前兩個按鍵鎖定功能。5、AD轉化、測溫電路由PCF8591和NTC熱敏電阻以及一個10k電阻構成。2.3硬件成本計算在選定最終方案后,應該計算系統(tǒng)的硬件成本。硬件成本如下表:單價數(shù)量總價AT89S51單片機5.015.0pcf8591p11.0111.0lcd1602液晶5.015.0無源蜂鳴器0.510.5NTC熱敏電阻0.110.1其他零散元件818PCB制版費15.0115.0其他10.0110.0總計39.6關于硬件成本計算的補充說明:1、所有元器件的封裝要根據(jù)實際情況進行選定,但是成本近似相等。2、實際系統(tǒng)中多使用各種規(guī)格的電容、電阻、晶振、按鍵、芯片插槽、排針、導線等零散元件,由于其種類多、價格低廉,所以不逐個列出。還有制作做過程中產生的成本,如焊接設備、耗材等,只進行統(tǒng)一折算。3、PCB制版要根據(jù)實際情況做改動,此處的10元成本是指批量定制(10片及以上)的平均成本。4、該系統(tǒng)使用5v電源即可滿足供電要求,因此默認使用USB供電而未單獨設計電源模塊。三、硬件設計(基于proteus)系統(tǒng)方案確立后,應該根據(jù)設定的方案具體實現(xiàn)規(guī)定的功能。在硬件方面,可以使用proteus軟件進行電路原理圖的設計并進行初步仿真。Proteus提供了硬件的設計及仿真,能仿真許多常用電子器件的功能,可以為設計者提供方案的可行性檢測和初步仿真。在仿真過程中可以發(fā)現(xiàn)設計方案的不足并加以改正,此外還可以很大程度的驗證程序設計的可行性。3.1 仿真原理圖設計以下根據(jù)模塊來介紹仿真原理圖。1、單片機模塊該模塊包含AT89S51單片機、晶振電路和復位電路。系統(tǒng)采用12MHz的晶振,折算到機器周期為1us。復位電路主要由一個電容、電阻和按鍵組成,上電時電容充電在單片機RST引腳產生一個高電平,其周期與RC時間常數(shù)有關。在正常工作時,電容飽和,RST引腳通過電阻接地為低電平,按鍵按下Vcc直接接入單片機RST引腳并且使電容放電,按鍵松開時,電容充電從而使RST引腳維持高電平一段時間。AT89S51的復位信號為大于2個機器周期的高電平有效。應該注意的是,proteus默認的元件庫中并沒有AT89S51單片機,但是完全可以用AT89C51代替,兩者功能互相兼容,在此設計中仿真效果基本一致。2、按鍵模塊按鍵電路比較簡單,使用三個按鍵直接和單片機io引腳相連,另一端與地相連。單片機讀引腳時先向io引腳內部的鎖存器寫“1”使場效應管截止,因此按鍵若未按下則讀入為“1”,按下則讀入為“0”。另外單片機io引腳默認復位電平為高電平,應考慮復位后io高電平可能產生的不良影響。3、報警電路報警電路采用一個無源蜂鳴器和一個發(fā)光二極管。由于單片機的io驅動能力不強,僅為幾個毫安,而無源蜂鳴器一般需要幾十毫安的驅動電流,所以應該給無源蜂鳴器配備驅動電路。該電路中采用了一個NPN型三極管,在單片機輸出高電平至其基極時三極管導通,輸出低電平時關斷。實際應用中,可選用常見的8050或9013三極管,其最大集電極電流大概在500mA左右,工作頻率在100MHz以上,完全可用于驅動三極管。Led驅動電流極小,只需用單片機以低電平方式驅動即可??捎糜趯嶋H仿真的單片機學習板提供一片uln2003驅動芯片,其驅動效果和NPN三極管相同。4、顯示電路使用通用的lcd1602,軟件的仿真元件和實際元件的控制方式完全相同,工作頻率相近,顯示效果相同。Lcd1602有一個8位數(shù)據(jù)接口,用于數(shù)據(jù)和命令的傳輸,使用單片機的P0口作為數(shù)據(jù)接口。由于單片機的P0口作為io口時漏極開路,所以應該接入上拉電阻以實現(xiàn)標準雙向io口的功能。Lcd1602另需三個控制信號,分別由單片機的P2.0、P2.1、P2.2三個io口控制。5、ic調試工具該部分由proteus提供的ic調試工具組成,可以據(jù)此判斷ic總線的工作情況,對于程序調試非常有幫助。此外還能看見ic傳輸?shù)臅r序、應答信號、傳輸?shù)牡刂泛蛢热菪畔ⅰ?、AD轉換電路及測溫電路PCF8591芯片工作在差分輸入方式,其輸出結果為AIN0和AIN1通道的電壓差,差分輸入可以一致共模信號,是系統(tǒng)抗干擾的能力大大增加。NTC電阻仿真型號為NCP15XH103,其典型阻值為10k,隨溫度的增大其阻值變小。在其參數(shù)屬性中可以設置不同的工作溫度,配合pcf8591檢測電壓,可以得到溫度與電壓對應的數(shù)據(jù)。3.2 仿真器件選擇及參數(shù)設定仿真器件的參數(shù)一般要在器件的屬性里進行設置,如AT89C51單片機工作頻率是在屬性頁面里設置,而不是由外部電路的晶振頻率決定的。NTC熱敏電阻可以在屬性設置假定的環(huán)境溫度,使其阻值發(fā)生相應的變化。有的器件可以改變工作電壓和電流的條件,方便調試時使用。設置器件參數(shù)如下:12MHz晶振,配合兩個22pF的啟動電容,復位電路用一個10uF的電容以及1k歐的限流、下拉電阻,P0口采用10k歐的上拉電阻,報警電路的led采用220歐姆的限流電阻,測溫電路選用10k的定值電阻和NTC組成分壓電路,AD芯片的參考電壓采用5v的Vcc等。四、程序設計4.1程序流程圖程序主要分為以下幾個部分:PCF8591控制讀取程序,按鍵讀取程序,LCD1602控制程序,報警程序等。實際編程使用C語言,C51編程速度快,可讀性好,移植性好。采用模塊化編程,即將不同部分的程序分門別類寫入不同的.c文件中,在主程序中調用,好處是方便修改、可讀性高。4.2 LCD顯示程序Lcd1602液晶主要有寫指令、寫數(shù)據(jù)、讀數(shù)據(jù)、讀狀態(tài)四種控制狀態(tài),在讀、寫時應該嚴格遵守手冊的操作時序。 如圖,分別是lcd1602的讀寫時序和典型的時序時間表。對于51單片機來說,由于其工作指令周期一般在1us以上,因此一般無需考慮lcd1602時序對時間的要求,但是在使用高速型微控制器時應該考慮這個問題。Lcd1602的控制程序主要是由初始化程序、寫指令程序、讀狀態(tài)程序以及寫數(shù)據(jù)程序構成。使用前應該先進行初始化,每次進行讀寫操作時應該檢測lcd1602的狀態(tài)信息,忙狀態(tài)不可對屏幕進行控制。4.3 PCF 8591控制程序PCF 8591芯片的使用重點在于ic協(xié)議的掌握,只要編寫調試出ic協(xié)議的程序,即可根據(jù)芯片手冊提供的控制字對芯片進行各種操作。ic是一種串行通訊協(xié)議,需要兩根線用于通訊:一根時鐘線、一根雙向數(shù)據(jù)線。通訊過程主要有以下幾個部分構成:起始信號、應答信號、數(shù)據(jù)幀、地址幀構成。每次通訊均由主機發(fā)起,時鐘信號由主機提供。主機發(fā)出開始信號后接著發(fā)出地址幀,地址幀包括芯片的識別碼、引腳地址和讀寫操作位,然后由芯片返回應答信號,接著主機讀取或發(fā)送一字節(jié)數(shù)據(jù)。每字節(jié)數(shù)據(jù)發(fā)送完,接收方應該返回一個應答信號以繼續(xù)進行通訊。關于ic的操作時序如下圖:根據(jù)pcf 8591的芯片手冊,芯片使用步驟大概如下:先發(fā)送地址幀和讀/寫選擇信號,如果是寫操作則由主機發(fā)送控制字,讀操作則主機讀取寄存器中轉換的8位數(shù)值。pcf 8591的控制字如下:Pcf 8591芯片地址幀后寫入的第一個字節(jié)為控制字,第二個字節(jié)為DA轉換的數(shù)值(可缺?。Wx入為控制字設置的模式和通道對應的寄存器。此程序中,設置芯片為AIN0、1和AIN2、3差分輸入,其結果分別會被存入channel 0、1中。應注意每次讀取寄存器的值為上一次轉換結果。Pcf 8591程序如下:根據(jù)芯片手冊的操作要求,事實上無需由主機發(fā)送應答信號。最終在主程序中只要調用ReadAdc()這個程序即可完成對通道0或1的讀取。讀取的數(shù)據(jù)為8位無符數(shù)據(jù),參考電壓設置為5.0v,則可以算出對應的電壓值。4.4 測溫電路建模及算法設計測量溫度的核心是NTC熱敏電阻隨著環(huán)境溫度的升高其阻值降低,通過分壓電路測量電壓變化則可以根據(jù)溫度電壓的關系曲線得到對應的溫度值。電壓溫度的轉換可以有兩種方法,一是查表法,二是根據(jù)電壓溫度的關系曲線得到關系式,從而根據(jù)電壓值計算出溫度值。首先查表法由于數(shù)據(jù)量較大,因此執(zhí)行時需要較多時間,且有精度限制。其次測量數(shù)值為浮點型數(shù)據(jù),單個數(shù)據(jù)需占用4個字節(jié),由于AT89S51的存儲容量限制,數(shù)據(jù)不能過多。最后考慮到51單片機的計算能力和存儲容量,決定采用關系式計算的方法。關系式計算法具有連續(xù)性和更大的適用范圍,理論上能提供更高精度的計算結果。關系式由電壓溫度的關系曲線得來,此處用軟件仿真的方法,測量0100之間共101個溫度整數(shù)值對應電壓的數(shù)據(jù),反復測量得出準確的的數(shù)據(jù)。根據(jù)pcf 8591的轉換精度,采集的電壓值精確到小數(shù)點后三位。將獲得的溫度電壓一一對應的數(shù)據(jù)輸入表格工具并加以整理,然后用數(shù)學工具MATLAB軟件中的CFTOOL工具箱描繪出二者的關系曲線:接下來對不連續(xù)曲線進行分析和擬合,由于曲線非線性,所以不能采用線性數(shù)學公式。經過試驗并根據(jù)單片機的實際處理能力,決定嘗試以下幾種常用的擬合公式:四次多項式、五次多項式、傅里葉公式和高斯曲線公式。其擬合公式和曲線分別如下: 以下為四次多項式的擬合結果:以上為4次多項式的擬合結果,可見擬合曲線和原曲線基本重合,不過相對于5次多項式擬合結果方差較大。由于數(shù)據(jù)是由軟件仿真得來,因此不能保證其精確性。一下為5次多項式的擬合結果:可見相對于4次多項式的擬合結果,5次多項式具有更小的方差,曲線更加重合,但是沒有顯現(xiàn)出很大的差距。以下為傅里葉擬合結果:由于數(shù)據(jù)的數(shù)量和準確性限制,傅里葉函數(shù)擬合結果并沒有顯現(xiàn)出很好的效果,且在010區(qū)域內不能很好的重合,計算公式也比較復雜。以下為高斯曲線擬合結果:結果和傅里葉曲線擬合結果和傅里葉一樣,并不具有優(yōu)勢,且計算較為復雜。通過以上圖標和公式對比可知:其中傅里葉和高斯擬合公式的結果相比多項式而言,一是方差較大且在個別區(qū)域內擬合曲線較實際曲線偏差較大,二是其計算公式復雜會導致單片機計算負擔過大,從而可能影響整個系統(tǒng)的工作效率,故考慮采用多項式進行擬合。由于選用的AD芯片精度和單片機數(shù)學公式計算程序的誤差限制,在四次和五次多項式兩項中,比較根據(jù)公式計算的結果與真實值之間的實際誤差來看,兩者效果相近,所以優(yōu)先采用計算較為簡單的四次多項式。但是計算結果和實際溫度值仍有偏差,所以在現(xiàn)有的關系公式基礎上,增加了分段補償。部分數(shù)據(jù)如下:即將電壓值分成若干個區(qū)間進行分段修正。可以看見理想情況下的修正效果比較明顯,整體的誤差明顯降低。程序實現(xiàn)如下:經過程序仿真,最終可以實現(xiàn)在0100的范圍內,測量誤差在1以內。以上數(shù)據(jù)均來源于仿真,在實際應用中,由于條件限制,無法得到所需數(shù)量的電壓溫度關系數(shù)據(jù),因此準確性大大降低。在于普通的溫度計進行不嚴格的比對后,發(fā)現(xiàn)實際的測量誤差通常在2以內,誤差較大。4.5 報警模塊和按鍵模塊程序設計報警模塊程序比較簡單,利用單片機的一個16位定時器使無源蜂鳴器發(fā)出1KHz的警報聲。報警模塊主要配合按鍵,根據(jù)用戶設定值完成報警。報警和按鍵模塊的程序如下:利用單片機的定時器1產生1kHz的方波,是蜂鳴器發(fā)出1kHz的報警聲音。51單片機的定時器工作的必要條件是TR=1,因此只要控制TR就能完成對定時器1中斷的控制。配合按鍵程序使用,程序如下:兩功能模塊的程序在主程序中的使用如下:定時器1中斷程序如下,每次進入中斷io口輸出電平取反,即可產生占空比為50的方波:五、調試過程5.1 軟硬件調試調試過程采用Keil與Proteus聯(lián)調的調試方式。首先應該對軟件進行功能配置,在debug選項中選擇Proteus VSM Monitor-51 Driver,并勾選“Run to main”。然后在Proteus 的菜單欄“degug”,選擇允許遠程調試,然后點擊keil的調試按鈕,即可在兩軟件間進行聯(lián)調。使用聯(lián)調有助于快速發(fā)現(xiàn)程序和原理圖存在的問題,在keil上選擇單步調試可以跟隨程序一步步執(zhí)行并觀察執(zhí)行結果。對于復雜程序,單步調試效率較低,此時可以在任意地方設置任意數(shù)量的斷點,然后可以全速運行到斷點處停下,然后根據(jù)需要選擇單步調試和斷點調試,最終通過分析可以推斷問題所在。例如在調試ic的過程中,程序發(fā)生問題,通訊失敗,經過軟件聯(lián)調并使用proteus中的ic調試工具,最終發(fā)現(xiàn)問題出在ic通訊中的應答信號上。在ic調試工具中,可以清楚看到通訊過程中的起始信號、應答信號和傳輸數(shù)據(jù)的情況??梢該?jù)此推斷程序運行狀況,并鎖定問題大致所在區(qū)域。在整個調試過程中,出現(xiàn)過很多小問題,均可通過聯(lián)調的方式發(fā)現(xiàn)問題端倪,最終一一調試解決。另外,在整個程序調試過程中,應該分模塊逐漸編程并調試。先解決了顯示屏的程序,然后在一一解決其他模塊的程序時可以利用顯示屏顯示調試結果。最終一步步完成整個程序的編寫調試工作。5.2 運行效果展示1、系統(tǒng)運行初始界面:此時顯示屏第一行的Temp: 36.29為當前檢測的溫度,第二行SetT:40.0為用戶設定的溫度值,開機默認值為四十,N表示當前不允許溫度超過設定值警報并禁用溫度+、- 鍵。當前的NTC熱敏電阻仿真屬性為36條件下。2、按下選擇鍵:N變Y,即允許溫度報警并可以使用+、- 按鍵。3、按下+鍵:溫度設定值+0.5.4、按下-鍵:溫度設定值-0.55、設定值低于檢測溫度值:顯示!,報警電路工作。6、再次按下選擇鍵:Y變成N,且!不顯示,報警電路停止工作。7、檢測溫度值大于設定值時系統(tǒng)工作情況與5、6步驟相同。Proteus使用總結:Proteus自帶了很多元器件和各種調試工具,可以方便的調整電路和器件的參數(shù)。仿真中,可以通過聯(lián)調等手段獲

溫馨提示

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

評論

0/150

提交評論