上限報警數(shù)字溫度計_第1頁
上限報警數(shù)字溫度計_第2頁
上限報警數(shù)字溫度計_第3頁
上限報警數(shù)字溫度計_第4頁
上限報警數(shù)字溫度計_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-PAGE . z摘 要本文從硬軟件兩個方面介紹了基于AT89S52單片機溫度自動檢測系統(tǒng)的設計。系統(tǒng)硬件由控制電路、溫度采集電路、鍵盤和LED顯示電路組成。軟件設計從設計思路、軟件系統(tǒng)框圖出發(fā),先介紹整體的思路后,再逐一分析各模塊程序算法的實現(xiàn),最終編寫出滿足任務需求的程序。最終通過DS18B20采集溫度并顯示出來,由此對周圍環(huán)境的溫度進展有效檢測與報警。根本上滿足了溫度檢測與報警的要求,具有超調(diào)量小,采樣值與設定值根本一致,操作簡單等優(yōu)點。本設計創(chuàng)新點在于采用數(shù)字式溫度傳感器DS18B20 作為感溫元件, 占用單片機引腳少, 因而可以利用空余引腳通過軟件模擬和溫度顯示。關鍵詞:溫度檢測 A

2、T89S52 LED顯示器 DS18B20溫度傳感器目 錄 TOC o 1-3 h z u HYPERLINK l _Toc321129141摘要 PAGEREF _Toc321129141 h 1HYPERLINK l _Toc321129142目錄 PAGEREF _Toc321129142 h2HYPERLINK l _Toc321129143第一章緒論 PAGEREF _Toc321129143 h 4HYPERLINK l _Toc3211291441.1 系統(tǒng)背景 PAGEREF _Toc321129144 h 4HYPERLINK l _Toc3211291451.2 溫度控制系

3、統(tǒng)設計的意義 PAGEREF _Toc321129145 h 5HYPERLINK l _Toc3211291461.3 溫度控制系統(tǒng)完成的功能 PAGEREF _Toc321129146 h 5HYPERLINK l _Toc321129147第二章系統(tǒng)方案設計 PAGEREF _Toc321129147 h 6HYPERLINK l _Toc3211291482.1 方案一 PAGEREF _Toc321129148 h 6HYPERLINK l _Toc3211291492.2 方案二 PAGEREF _Toc321129149 h 6HYPERLINK l _Toc3211291502

4、.3 方案論證 PAGEREF _Toc321129150 h 8HYPERLINK l _Toc321129151第三章硬件電路設計 PAGEREF _Toc321129151 h 8HYPERLINK l _Toc3211291523.1系統(tǒng)總體設計 PAGEREF _Toc321129152 h 8HYPERLINK l _Toc3211291533.2 各局部硬件電路設計 PAGEREF _Toc321129153 h 9HYPERLINK l _Toc321129154、時鐘電路設計 PAGEREF _Toc321129154 h 9HYPERLINK l _Toc321129155

5、系統(tǒng)復位電路 PAGEREF _Toc321129155 h 10HYPERLINK l _Toc321129156報警與控制電路設計 PAGEREF _Toc321129156 h 11HYPERLINK l _Toc3211291573.2.4 LED顯示電路設計 PAGEREF _Toc321129157 h 12HYPERLINK l _Toc321129158溫度檢測電路設計 PAGEREF _Toc321129158 h 14HYPERLINK l _Toc321129159按鍵電路設計 PAGEREF _Toc321129159 h 17HYPERLINK l _Toc32112

6、9160第四章軟件設計 PAGEREF _Toc321129160 h 18HYPERLINK l _Toc3211291614.1 主程序方案 PAGEREF _Toc321129161 h 18HYPERLINK l _Toc3211291624.2 各個模塊子程序設計 PAGEREF _Toc321129162 h 19HYPERLINK l _Toc321129163溫度采集程序 PAGEREF _Toc321129163 h 19HYPERLINK l _Toc321129164數(shù)碼管顯示模塊 PAGEREF _Toc321129164 h 24HYPERLINK l _Toc321

7、129165溫度處理程序 PAGEREF _Toc321129165 h 25HYPERLINK l _Toc321129166第五章系統(tǒng)調(diào)試 PAGEREF _Toc321129166 h 27HYPERLINK l _Toc3211291675.1測試環(huán)境及工具 PAGEREF _Toc321129167 h 27HYPERLINK l _Toc3211291685.2測試方法 PAGEREF _Toc321129168 h 27HYPERLINK l _Toc3211291695.3測試結(jié)果分析 PAGEREF _Toc321129169 h 27HYPERLINK l _Toc3211

8、29170結(jié)論 PAGEREF _Toc321129170 h 27HYPERLINK l _Toc321129171致 PAGEREF _Toc321129171 h 28HYPERLINK l _Toc321129172參考文獻 PAGEREF _Toc321129172 h 29HYPERLINK l _Toc321129173附錄 PAGEREF _Toc321129173 h 30HYPERLINK l _Toc321129174附錄一:系統(tǒng)原理圖 PAGEREF _Toc321129174 h 30HYPERLINK l _Toc321129175附錄二: 程序代碼 PAGEREF

9、 _Toc321129175 h 30-. z第一章 緒 論1.1 系統(tǒng)背景溫度采集控制系統(tǒng)是在嵌入式系統(tǒng)設計的根底上開展起來的。嵌入式系統(tǒng)雖然起源于微型計算機時代,但是微型計算機的體積、價位、可靠性,都無法滿足廣闊對象對嵌入式系統(tǒng)的要求,因此,嵌入式系統(tǒng)必須走獨立開展道路。這條道路就是芯片化道路。將計算機做在一個芯片上,從而開創(chuàng)了嵌入式系統(tǒng)獨立開展的單片機時代。單片機以其集成度高、運算速度快、體積小、運行可靠、價格低廉等優(yōu)勢,在過程控制、數(shù)據(jù)采集、機電一體化、智能化儀表、家用電器以及網(wǎng)絡技術等方面得到了廣泛的應用,特別是單片機嵌入式技術的開發(fā)與應用,標志著計算機開展史上又一個新的里程碑。作為

10、計算機兩大開展方向之一的單片機,以面向?qū)ο蟮膶崟r控制為己任,嵌入到如家用電器、汽車、機器人、儀器儀表等設備中,使其智能化。目前國外各大電氣公司,大的半導體廠商正在不斷的開發(fā)、使用單片機,使其無論在控制能力,減小體積,降低本錢,還是開發(fā)環(huán)境的改善等方面,都得到空前迅速的開展。溫度檢測控制系統(tǒng)在工業(yè)生產(chǎn)、科學研究和人們的生活領域中,得到了廣泛應用。在工業(yè)生產(chǎn)過程中,很多時候都需要對溫度進展嚴格的監(jiān)控,以使得生產(chǎn)能夠順利的進展,產(chǎn)品的質(zhì)量才能夠得到充分的保證。使用自動溫度控制系統(tǒng)可以對生產(chǎn)環(huán)境的溫度進展自動控制,保證生產(chǎn)的自動化、智能化能夠順利、平安進展,從而提高企業(yè)的生產(chǎn)效率。溫度檢測系統(tǒng)應用十分

11、廣闊。1.2 溫度控制系統(tǒng)設計的意義隨著社會的開展,科技的進步,以及測溫儀器在各個領域的應用,智能化已是現(xiàn)代溫度控制系統(tǒng)開展的主流方向。溫度測試控制系統(tǒng),控制對象是溫度。溫度控制在日常生活及工業(yè)領域應用相當廣泛,比方溫室、水池、發(fā)酵缸、電源等場所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對此問題,本系統(tǒng)設計的目的是實現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應用廣泛,功能強大,小巧美觀,便于攜帶,是一款既實用又廉價的控制系統(tǒng)。特別是近年來,溫度控制系統(tǒng)已應用到人們生活的各個方面,但溫度控制一直是一個未開發(fā)的領域,卻又是與人們息息相關的一個

12、實際問題。1.3 溫度控制系統(tǒng)完成的功能本器件以AT89S52單片機系統(tǒng)進展溫度采集與控制 溫度信號由模擬溫度傳感器DS18B20采集輸入AT89S52,主控器能對各溫度檢測器通過LED進展顯示。本機實現(xiàn)的功能:1. 當溫度上升到上限溫度以上時,高溫發(fā)光二極管閃爍,蜂鳴器報警;2. 數(shù)碼管即時顯示溫度。第二章 系統(tǒng)方案設計2.1方案一采用普通電阻式溫度傳感器,放大器,A/D轉(zhuǎn)換器作為測量溫度的電路。采用兩種不同材質(zhì)的導體,如在*點互相連接在一起,對這個連接點加熱,在它們不加熱的部位就會出現(xiàn)電位差。這個電位差的數(shù)值與不加熱部位測量點的溫度有關,和這兩種導體的材質(zhì)有關。這種現(xiàn)象可以在很寬的溫度圍出

13、現(xiàn),如果準確測量這個電位差,再測出不加熱部位的環(huán)境溫度,就可以準確知道加熱點的溫度。由于它必須有兩種不同材質(zhì)的導體,所以稱之為熱電偶。不同材質(zhì)做出的熱電偶使用于不同的溫度圍,它們的靈敏度也各不一樣。熱電偶的靈敏度是指加熱點溫度變化1時,輸出電位差的變化量。對于大多數(shù)金屬材料支撐的熱電偶而言,這個數(shù)值大約在540微伏之間。熱電偶傳感器有自己的優(yōu)點和缺陷,它靈敏度比擬低,容易受到環(huán)境干擾信號的影響,也容易受到前置放大器溫度漂移的影響,因此不適合測量微小的溫度變化。由于熱電偶溫度傳感器的靈敏度與材料的粗細無關,用非常細的材料也能夠做成溫度傳感器。也由于制作熱電偶的金屬材料具有很好的延展性,這種細微的

14、測溫元件有極高的響應速度,可以測量快速變化的過程。2.2 方案二采用數(shù)字可編程溫度傳感器作為溫度檢測元件。數(shù)字可編程溫度傳感器可以直接讀出被測溫度值。不需要將溫度傳感器的輸出信號接到A/D轉(zhuǎn)換器上,減少了系統(tǒng)的硬件電路的本錢和整個系統(tǒng)的體積。美國Dallas半導體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 一線總線接口的溫度傳感器,在其部使用了在板ON-B0ARD專利技術。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡,為測量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的DS18B20體積更小、更經(jīng)濟、更靈活。使你可以充分發(fā)揮一

15、線總線的優(yōu)點。 同DS1820一樣,DS18B20也支持一線總線接口,測量溫度圍為-55C+125C,在-10+85C圍,精度為0.5C?,F(xiàn)場溫度直接以一線總線的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V5.5V的電壓圍,使系統(tǒng)設計更靈活、方便。而且新一代產(chǎn)品更廉價,體積更小它還有很多特性:適應電壓圍更寬,電壓圍:3.05.5V,寄生電源方式下可由數(shù)據(jù)線供;獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊;DS18B20支

16、持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫;DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路;溫圍55125,在-10+85時精度為0.5;可編程的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫;在9位分辨率時最多在93.75ms把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms把溫度值轉(zhuǎn)換為數(shù)字,速度更快;測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力;負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不

17、能正常工作。2.3 方案論證方案一硬件電路復雜,需要設計A/D轉(zhuǎn)換電路,以及與其相關的編程,總體設計起來較困難,軟件、硬件調(diào)試復雜,硬件本錢較高。而且器傳感器有以下缺點:它靈敏度比擬低,容易受到環(huán)境干擾信號的影響,也容易受到前置放大器溫度漂移的影響。所以總體來說,方案一在硬件、軟件上的本錢都比擬高,而且易受外部環(huán)境的影響,系統(tǒng)工作不穩(wěn)定。方案二由于采用的是具有一總線特點的溫度傳感器,所以電路連接簡單;而且該傳感器擁有強大的通信協(xié)議,同過幾個簡單的操作就可以實現(xiàn)傳感器與單片機的交互,包括復位傳感器、對傳感器讀寫數(shù)據(jù)、對傳感器寫命令。軟件、硬件易于調(diào)試,制作本錢較低。也使得系統(tǒng)所測結(jié)果精度大大提高

18、。經(jīng)過對這兩種方案的比擬,本設計決定采用方案二。第三章 硬件電路設計3.1系統(tǒng)總體設計本次設計采用采樣值和鍵盤設定值進展比擬運算的方法來簡單準確地控制溫度。它的整體思想是先通過鍵盤輸入設定溫度的圍,保存在AT89S52的指定單元中,再利用溫度傳感器DS18B20進展信號的采集,送入單片機中,保存在采樣值單元。然后把采樣值與設定值進展比擬運算,得出控制量,來進展報警,實現(xiàn)提醒溫度超出預定圍。單片機控制系統(tǒng)是一個完整的智能化的集數(shù)據(jù)采集、顯示、處理、控制于一體的系統(tǒng)。由傳感器、LED顯示單片機及執(zhí)行機構(gòu)控制局部等組成。系統(tǒng)構(gòu)造框圖如圖3.1所示。DS18B20LED顯示報警單 片 機按鍵圖3.1

19、系統(tǒng)硬件構(gòu)造框圖3.2 各局部硬件電路設計3.2.1、時鐘電路設計時鐘電路是用來產(chǎn)生AT89S52單片機工作時所必須的時鐘信號,AT89C52本身就是一個復雜的同步時序電路,為保證工作方式的實現(xiàn),AT89C52在唯一的時鐘信號的控制下嚴格的按時序執(zhí)行指令進展工作 ,時鐘的頻率影響單片機的速度和穩(wěn)定性。通常時鐘由于兩種形式:部時鐘和外部時鐘。我們系統(tǒng)采用部時鐘方式來為系統(tǒng)提供時鐘信號。AT89C52部有一個用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為*TAL1和*TAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個自鼓勵振蕩器。電路中的C1、C2的選擇在30PF左右,但電容

20、太小會影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ12MHZ之間,頻率越高單片機的速度就越快,但對存儲器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容,采用的晶振頻率為12MHZ。本次系統(tǒng)的時鐘電路設計如圖3.2所示。圖3.2 時鐘電路圖3.2.2系統(tǒng)復位電路在圖3.3中復位開關K 被按下并松開,使端獲得低電平,RST 端輸出復位信號,單片機復位?;蛴捎? VCC參加并超過復位門限電壓) 引起系統(tǒng)正常復位。圖3.3 復位電路圖3.2.3報警與控制電路設計在微型計算機控制系統(tǒng)中,為了平安生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設有緊急狀態(tài)報警系統(tǒng),以便提醒操作人員注意,或

21、采取緊急措施。其方法就是把計算機采集的數(shù)據(jù)或記過計算機進展數(shù)據(jù)處理、數(shù)字濾波,標度變換之后,與該參數(shù)上下限給定值進展比擬,如果高于上限值或低于下限值則進展報警,否則就作為采樣的正常值,進展顯示和控制。同樣室的溫度低高設定的溫度圍時當P1.4輸出高電平1時,晶體管導通,壓電蜂鳴器兩端獲得約+5V電壓而鳴叫,出報警聲音;單片機的P1.1輸出低電平,此時紅色指示燈亮起并接通風降溫設備,直到低于設定的最低溫度時,P1.4輸出低電平時,三極管截止,蜂鳴器停頓發(fā)聲,P1.1出高電平片機的P1.0為1,此時綠色指示燈滅并停頓加溫設備;外的警電路與控制電路如圖3.4所示圖3.4 報警與控制電路與單片機的連接3

22、.2.4 LED顯示電路設計LED數(shù)碼管是一種半導體發(fā)光器件,其根本單元是發(fā)光二極管,通過對其不同的管腳輸入相對的電流,會使其發(fā)亮,從而顯示出數(shù)字。可以顯示:時間、日期、溫度等可以用數(shù)字代替的參數(shù)。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元多一個小數(shù)點顯示;按能顯示多少個8可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極()的數(shù)碼管。共陽極數(shù)碼管在應用時應將公共極接到+5V,當*一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當*一字段的陰極為高電平時,

23、相應字段就不亮。動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極增加位選通控制電路,通過由各自獨立的I/O線控制,當單片機的P0口輸出字形碼時,所有數(shù)碼管都接收到一樣的字形碼,但終究是那個數(shù)碼管會顯示出字形,取決于單片機對位選通端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制翻開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在本設計中采用了四位位七段數(shù)碼管,用動態(tài)驅(qū)動來顯示溫度的值,如圖3.5所示。圖3.5 顯示電路圖3.2.5溫度檢測電路設計本次設計

24、所采用的溫度傳感器為Dallas半導體公司的數(shù)字化溫度傳感器DS18B20,它是世界上第一片支持一線總線接口的溫度傳感器。一線器件體積更小、適用電壓更寬、更經(jīng)濟。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路。DS18B20可以程序設定912位的分辨率,精度為0.5??蛇x更小的封裝方式,更寬的電壓適用圍。分辨率設定,及用戶設定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20與AT89S52單片機接口電路的設計DSl8B20數(shù)字溫度計提供9位(二進制)溫度讀數(shù),指示器件的溫度信息經(jīng)過單線接口送入DSl8B20或從DSl8B20送出,因此從主機CPU到DSl8B20僅需一條線,

25、當DS18B20接收到溫度轉(zhuǎn)換命令后,開場啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625LSB形式表示。當符號位S0時,表示測得的溫度值為正值,可以直接將二進制位轉(zhuǎn)換為十進制;當符號位S1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù)值。表2是一局部溫度值對應的二進制溫度數(shù)據(jù)6。圖3.6 DS18B20與AT89S52單片機的連接DS18B20支持一線總線接口,測量溫度圍為 -55C-+125C,在-10-+85C圍,精度為0.5C?,F(xiàn)場溫度

26、直接以一線總線的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產(chǎn)品等。1.DS18B20產(chǎn)品的特點 1只要求一個端口即可實現(xiàn)通信。 2在DS18B20中的每個器件上都有獨一無二的序列號。 3實際應用中不需要外部任何元器件即可實現(xiàn)測溫。 4測量溫度圍在-55C-+125C之間。 5數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。 6部有溫度上、下限設置。 2.DS18B20的引腳介紹 TO92封裝的DS18B20引腳功能描述見表1。 表1DS18B20詳細引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)輸入/輸出引腳。開漏

27、單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。因為一線通信接口,必須在先完成ROM設定,否則記憶和控制功能將無法使用。主要首先DS18B20提供以下功能命令之一:讀ROM, ROM匹配,搜索ROM,跳過ROM,報警檢查。假設指令成功地使DS18B20完成溫度測量,數(shù)據(jù)存儲在DS18B20的存儲器。一個控制功能指揮指示DS18B20的演出測溫。測量結(jié)果將被放置在DS18B20存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀容的片上存儲器。溫度報警觸發(fā)器TH和TL都有一字節(jié)EEPROM 的數(shù)據(jù)。如果DS18B20不使用報警檢查

28、指令,這些存放器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個記憶功能的指令完成。所有的數(shù)據(jù)的讀、寫都是從最低位開場。3.2.6按鍵電路設計鍵盤共有三個鍵,判斷K3K5鍵是否按下,可采用軟件查詢和中斷的方法,當*個鍵按下時,低電平有效。3個鍵K3K5的功能定義如表所示。K3K5鍵的定義按鍵鍵名功能K3功能轉(zhuǎn)換鍵此鍵按下,顯示溫度設定值,按鍵松開,顯示當前溫度K4加1鍵設定溫度值加1K5減1鍵設置溫度值減1圖3.7 按鍵電路第四章 軟件設計4.1 主程序方案首先要根據(jù)系統(tǒng)的總體功能和鍵盤設置選擇一種最適宜的監(jiān)控程序構(gòu)造,然后根據(jù)實時性

29、的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關系。本局部詳細介紹了基于AT89S52單片機的多路溫度采集控制系統(tǒng)的軟件設計。根據(jù)系統(tǒng)功能,可以將系統(tǒng)設計分為假設干個子程序進展設計,如溫度采集子程序,數(shù)據(jù)處理子程序、顯示子程序、執(zhí)行子程序。采用Kiel uVision3集成編譯環(huán)境和匯編語言來進展系統(tǒng)軟件的設計。本章從設計思路、軟件系統(tǒng)框圖出發(fā),先介紹整體的思路后,再逐一分析各模塊程序算法的實現(xiàn),最終編寫出滿足任務需求的程序。并對溫度進展實時顯示。采用C語言編寫代碼, 鑒于篇幅限制及DS18B20 的應用已經(jīng)規(guī)和成熟, 本文僅就主程序流程圖和顯示子程序流程圖及其代碼進展說明。通過定時器T0

30、P3.4口的定時來實現(xiàn), 在此不再贅述。主程序流程圖主程序通過調(diào)用溫度采集子程序完成溫度數(shù)據(jù)采集, 然后調(diào)用溫度轉(zhuǎn)換子程序轉(zhuǎn)換讀取溫度數(shù)據(jù),調(diào)用顯示子程序進展溫度顯示和判斷溫度數(shù)據(jù)。主程序見附錄2調(diào)用四個子程序,分別是溫度采集程序、數(shù)碼管顯示程序、溫度處理程序和數(shù)據(jù)存儲程序。溫度采集程序:對溫度芯片送過來的數(shù)據(jù)進展處理,進展判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示局部。溫度處理程序:對采集到的溫度和設置的上、下限進展比擬,做出判斷,向繼電器輸出。數(shù)據(jù)存儲程序:對鍵盤的設置的數(shù)據(jù)進展存儲。 圖 4.1 系統(tǒng)流程圖4.2 各個模塊子程序設計4.2.1溫度采集程序溫度采集子程序流

31、程圖如下:圖4.2 溫度采集子程序流程圖 程序代碼如下:void dsreset(void) /DS18b20復位, 初始化函數(shù) uint i; ds=0; i=103; /延時最短480us while(i0) i-; ds=1;/等待16-60us,收到低電平一個約60-240us則復位成功 i=4; while(i0) i-;bit tempreadbit(void) /讀1位數(shù)據(jù)函數(shù) uint i; bit dat; ds=0;i+; ds=1;i+;i+;/i+起到延時作用 dat=ds; i=8; while(i0)i-; return(dat);uchar tempread(vo

32、id)/讀1字節(jié)的數(shù)據(jù)函數(shù) uint i,j,dat; dat=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個字節(jié)在dat里 return(dat);void tempwritebyte(uchar dat) /向DS18B20寫一個字節(jié)的數(shù)據(jù)函數(shù) uint i; uchar j; bit testb; for(j=1;j1; if(testb) /寫1 ds=0;i+;i+;ds=1;i=8;while(i0)i-; else /寫0 ds=0;i=8;while(i0) i-;ds=1;i+;i+; vo

33、id tempchange(void) /DS18B20開場獲取溫度并轉(zhuǎn)換 dsreset(); delay(1); tempwritebyte(0*cc);/寫跳過讀ROM指令 tempwritebyte(0*44); /寫溫度轉(zhuǎn)換指令uint get_temp()/讀取存放器中存儲的溫度數(shù)據(jù) uchar a,b; dsreset(); delay(1); tempwritebyte(0*cc); /寫跳過讀ROM指令 tempwritebyte(0*be); /寫溫度轉(zhuǎn)換指令 a=tempread(); /讀低8位 b=tempread(); /讀高8位 temp=256*b+a; f_t

34、emp=temp*0.0625;/溫度在存放器中為12位,分辨率為0.0625 temp=f_temp*10+0.5; /乘以10表示小數(shù)點后面只取一位 return temp; /temp是整型4.2.2數(shù)碼管顯示模塊本系統(tǒng)采用共陽極數(shù)碼管,用模擬串口的動態(tài)顯示數(shù)據(jù)。其流程圖如圖4.3所示:圖4.3 數(shù)碼管顯示流程圖4.2.3溫度處理程序系統(tǒng)通過DS18B20采集到溫度和設置的上、下限進展比擬得出結(jié)果,進展報警。void hdidi() beep=0; led1=0; delay(500); beep=1; led1=1; delay(500);void ldidi() beep=0; le

35、d2=0; delay(50); beep=1; led2=1; delay(50);第五章 系統(tǒng)調(diào)試5.1測試環(huán)境及工具測試溫度:0-100攝氏度。模擬不同溫度值環(huán)境測試儀器及軟件:數(shù)字萬用表,溫度計0-100攝氏度。5.2測試方法使系統(tǒng)運行,觀察系統(tǒng)硬件檢測是否正常包括單片機控制系統(tǒng),鍵盤電路,顯示電路,溫度測試電路等。系統(tǒng)自帶測試表格數(shù)據(jù),觀察顯示數(shù)據(jù)是否相符合即可。采用溫度傳感器和溫度計同時測量水溫變化情況,目測顯示電路是否正常。并記錄溫度值,與實際溫度值比擬,得出系統(tǒng)的溫度指標。5.3測試結(jié)果分析自檢正常,溫度顯示正常。因為芯片是塑料封裝,所以對溫度的感應靈敏度不是相當高,需要一個很

36、短的時間才能到達穩(wěn)定。結(jié) 論經(jīng)過設計和實踐,本設計已經(jīng)完成了一個比擬完整的溫度檢測預與報警系統(tǒng)。它可以通過鍵盤輸入溫度上限、下限值,然后計算其上限和下限的中間值作為最適溫度值。不斷的采集溫度值,顯示溫度值,如果發(fā)現(xiàn)采集的溫度值高于上限值就通過相應的提示燈亮。如果采集的溫度值低于下限值,則也有相應的燈提示操作人員。如果并沒有超過上下限則不會報警。致此本人設計根本完成了預期的目標,系統(tǒng)在溫度采集、溫度處理和鍵盤處理方面做的比擬好,而在數(shù)據(jù)的存儲和數(shù)碼管的顯示方面不夠理想。主要存在以下幾個方面:程序的代碼不夠精練,浪費AT89S52的FLASH ROM;未對以前的溫度數(shù)值進展存儲,使以后不能利用這些

37、數(shù)據(jù);對數(shù)碼管的控制考慮不周,以致出現(xiàn)閃爍現(xiàn)象;致 畢業(yè)設計就要完畢了,在這一段時間里,我感到自己的收獲是非常大的,使我在專業(yè)技能、動手能力多方面都有了很大的提高。在整個設計過程中,受到了我們教師和同學的熱切關注和耐心輔導,特別是對我進展了系統(tǒng)的講解和指導,對設計提出了很多建立性的意見及建議,對我的設計起到了指導性和決定性的作用,還教給了我們遇到問題,如何去分析問題、解決問題的方法。使我受益匪淺。從承受課題到現(xiàn)在完成畢業(yè)設計論文,尤其是在課題設計的前期準備工作和設計的過程中,導師提出了許許多多珍貴的設計意見,在最后的論證修改正程中教師還在百忙之中,抽出時間對我的論文提供了必要的指導和幫助。這使

38、得我能夠順利的完成畢業(yè)設計工作。在這里我向他表示真誠的感!同時得到了同組同學的支持與幫助,使我深刻的體會到了良師益友給我?guī)淼膸椭?,在此表示深深的感!感母校的辛勤培育之恩!感它給我提供的良好學習及實踐環(huán)境,使我學到了許多新的知識,掌握了一定的操作技能。感和我在一起進展課題研究的同學們,和他們在一起討論、研究使我受益非淺。最后,我非常慶幸在三年的學習、生活中認識了很多可敬的教師和可親的同學,并感謝師友的教導和幫助!參考文獻1.琳娜,武發(fā),傳感檢測技術及應用,中國計量,19992.德金,粵初,MCS-51系列單片機接口電路與應用程序?qū)嵗?,航空航天大學,19903.周立功等, 增強型80C51單片機

39、速成與實戰(zhàn),航空航天大學,2003.74.馬忠梅 籍順心 凱 馬 巖, 單片機的C語言應用程序設計-修訂版,航空航天大學,1998.106. 胡漢才,單片機原理及接口技術,清華大學,19967. 志全等,智能儀表設計原理及應用,國防工業(yè),1998.68.何立民,MCS-51系列單片機應用系統(tǒng)設計,航空航天大學,19901附錄附錄一:系統(tǒng)原理圖附錄二: 程序代碼*include /52系列頭文件*include *define uchar unsigned char*define uint unsigned intsbit ds=P34;sbit dula=P26;sbit beep=P14;

40、/定義蜂鳴器uint temp,t,w; /定義整型的溫度數(shù)據(jù)uchar flag;float f_temp; /定義浮點型的溫度數(shù)據(jù)uint low; /定義溫度下限值 是溫度乘以10后的結(jié)果uint high; /定義溫度的上限值sbit led1=P10; /控制發(fā)光二極管sbit led2=P11; /控制發(fā)光二極管sbit s1=P35;sbit s2=P36;sbit s3=P37;uchar flag1,flag2,flag3,flag4,s1num,qian,bai,shi,ge;uchar code table= 0*c0,0*f9,0*a4,0*b0,0*99, 0*92,

41、0*82,0*f8,0*80,0*90,0*c6 ;/共陽數(shù)碼管段碼表uchar code table1=0*40,0*79,0*24,0*30,0*19,0*12,0*02,0*78,0*00,0*10;/帶小數(shù)點的編碼 void delay(uchar z) /延時函數(shù) uchar a,b; for(a=z;a0;a-) for(b=100;b0;b-);void init() EA=1; ET1=1; TR1=1; TMOD=0*10; TH1=(65536-4000)/256; TL1=(65536-4000)%256; flag=0; low=200; high=300;void h

42、didi() beep=0; led1=0; delay(500); beep=1; led1=1; delay(500);void ldidi() beep=0; led2=0; delay(50); beep=1; led2=1; delay(50);void dsreset(void) /DS18b20復位, 初始化函數(shù) uint i; ds=0; i=103; /延時最短480us while(i0) i-; ds=1; /等待16-60us,收到低電平一個約60-240us則復位成功 i=4; while(i0) i-;bit tempreadbit(void) /讀1位數(shù)據(jù)函數(shù) u

43、int i; bit dat; ds=0;i+; ds=1;i+;i+;/i+起到延時作用 dat=ds; i=8; while(i0)i-; return(dat);uchar tempread(void)/讀1字節(jié)的數(shù)據(jù)函數(shù) uint i,j,dat; dat=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個字節(jié)在dat里 return(dat);void tempwritebyte(uchar dat) /向DS18B20寫一個字節(jié)的數(shù)據(jù)函數(shù) uint i; uchar j; bit testb; for(j=1;j1; if(testb) /寫1 ds=0;i+;i+;ds=1;i=8;while(i0)i-; else /寫0 ds=0;i=8;while(i0) i-;ds=1;i+;i+; void tempchange(void) /DS18B20開場獲取溫度并轉(zhuǎn)換 dsreset(); delay(1); tempwritebyte(0*cc);/寫跳過讀ROM指令 tempwritebyte(0*44); /寫溫度轉(zhuǎn)換指令uint get

溫馨提示

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

評論

0/150

提交評論