基于STC89C52單片機(jī)的溫度控制電路設(shè)計(jì)_第1頁(yè)
基于STC89C52單片機(jī)的溫度控制電路設(shè)計(jì)_第2頁(yè)
基于STC89C52單片機(jī)的溫度控制電路設(shè)計(jì)_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余30頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、. v本科生畢業(yè)論文設(shè)計(jì)題目: 基于溫度傳感器的單片機(jī)溫控電路設(shè)計(jì)基于溫度傳感器的單片機(jī)溫控電路設(shè)計(jì) 系 部 電子信息工程學(xué)院 學(xué)科門(mén)類(lèi) 工 學(xué) 專(zhuān) 業(yè) 電子信息工程 學(xué) 號(hào) 1008211048 姓 名 X 曉 龍 指導(dǎo)教師 萬(wàn) 麗 娟 2012 年 5 月 18 日. v基于溫度傳感器的單片機(jī)溫控電路設(shè)計(jì)摘 要隨著微處理器和大規(guī)模集成電路的開(kāi)展,及其在測(cè)試控制技術(shù)方面的廣泛應(yīng)用,儀器設(shè)備的智能化已成為自動(dòng)化技術(shù)開(kāi)展方向,數(shù)據(jù)采集與溫度檢測(cè)的自動(dòng)化將取代傳統(tǒng)的方法。本設(shè)計(jì)采用 STC89C52 型號(hào)的單片機(jī),數(shù)字溫度傳感器采用美國(guó) DALASS 公司的 1Wire 器件 DS18B20,即單

2、總線器件 DS18B20,與單片機(jī)組成一個(gè)測(cè)溫系統(tǒng),當(dāng)系統(tǒng)上電時(shí),溫度傳感器就會(huì)讀出當(dāng)前環(huán)境的溫度,并在 LED 數(shù)碼顯示管上顯示出當(dāng)前的溫度,該測(cè)溫系統(tǒng)的測(cè)溫 X 圍為-40110,按此要求設(shè)計(jì)硬件和軟件以實(shí)現(xiàn)這一功能。關(guān)鍵詞:?jiǎn)纹瑱C(jī)溫度傳感器 DS18B20 測(cè)量電子線路 溫度ABSTRACTABSTRACTAlong with the microprocessor and large scale integrated circuit, and in the test control technology is widely used, and the intelligent instru

3、ment and equipment has bee automation technology development direction, data acquisition and temperature automatic testing would replace the traditional method.This design uses the STC89C52 type of single chip microputer, digital temperature sensor using the American DALASS pany 1-Wire device DS18B2

4、0, namely single bus device DS18B20, and consists of a single chip microputer temperature measurement system, when the system is powered on, temperature sensors will read the current environment temperature, and in display tube LED digital showed on the current temperature, the temperature measureme

5、nt system of measuring temperature range for 40 110 -according to this design requirement for hardware and software to achieve this function.Keywords:Keywords:singlechipmicroputertemperaturesensorDS18B20measurementcircuittemperature. v目 錄一緒論 11.1 課題研究背景及意義 11.2 國(guó)內(nèi)外研究現(xiàn)狀 21.3 研究?jī)?nèi)容 2二系統(tǒng)硬件設(shè)計(jì) 32.1 總體設(shè)計(jì)方案

6、 32.1.1 設(shè)計(jì)思路 32.1.2 設(shè)計(jì)方框圖 32.2 單片機(jī)介紹 32.2.1 STC 單片機(jī)構(gòu)造介紹 42.2.2 STC 單片機(jī)引腳介紹 62.3 DS18B20 數(shù)字溫度傳感器介紹 92.3.1 功能介紹 92.3.2 內(nèi)部存儲(chǔ)器介紹 102.4 顯示模塊設(shè)計(jì) 132.4.1 LED 數(shù)碼管構(gòu)造 142.4.2 共陽(yáng)數(shù)碼管數(shù)字編碼 142.5 按鍵電路的設(shè)計(jì) 142.5.1 判鍵及其接口電路設(shè)計(jì) 152.5.2 鍵盤(pán)的工作方式 16. v2.6 報(bào)警裝置電路設(shè)計(jì) 162.7 系統(tǒng)整體硬件電路 16三系統(tǒng)軟件設(shè)計(jì) 183.1 溫度控制系統(tǒng)原理框圖 183.1.1 讀溫度子程序 18

7、3.1.2 溫度轉(zhuǎn)換子程序 193.1.3 計(jì)算溫度子程序 203.1.4 溫度顯示子程序 21四總結(jié)與展望 22參考文獻(xiàn) 23附錄 24. v一 緒論1.1 課題研究背景及意義目前溫度控制系統(tǒng)在很多場(chǎng)合都得到廣泛的應(yīng)用,因此在國(guó)內(nèi)外開(kāi)展非常迅速,并在智能化、環(huán)境自適應(yīng)、參數(shù)自動(dòng)調(diào)整等方面取得顯著成果。當(dāng)前在工業(yè)上溫度控制系統(tǒng)一般采用智能調(diào)節(jié),國(guó)產(chǎn)調(diào)節(jié)器溫度控制效果不是很理想,分辨率和精度都不高,但性?xún)r(jià)比高。國(guó)外調(diào)節(jié)器雖然價(jià)格較貴,但是分辨率和精度較高。 在各行業(yè)中廣泛應(yīng)用的溫度控制器及儀器儀表,都是由美國(guó)、德國(guó)等國(guó)家生產(chǎn)出來(lái)的,性能優(yōu)異。它們主要具有如下的特點(diǎn):一是在復(fù)雜的溫度控制系統(tǒng)中能夠

8、適應(yīng)于大慣性、大滯后的控制;二是在受控系統(tǒng)數(shù)學(xué)模型難以建立的情況下,得到控制;三是在受控系統(tǒng)中,能夠被控制過(guò)程很復(fù)雜且參數(shù)時(shí)變的溫度控制系統(tǒng)控制;五是溫度控制系統(tǒng)普遍具有參數(shù)自檢功能,借助計(jì)算機(jī)技術(shù),能控制對(duì)象和參數(shù),并且具有特性進(jìn)展自動(dòng)調(diào)整的功能等特點(diǎn)1。溫度測(cè)控包括兩個(gè)方面:溫度測(cè)量和溫度控制。近年來(lái),在理論上溫度的測(cè)量技術(shù)開(kāi)展比擬完善,但目前仍然有許多問(wèn)題需要去解決,比方在實(shí)際測(cè)控中,如何能實(shí)時(shí)地對(duì)溫度進(jìn)展快速采樣,同時(shí)確保采集來(lái)的數(shù)據(jù)進(jìn)展正確的傳輸,并能準(zhǔn)確控制所測(cè)的溫度場(chǎng)。在溫度的測(cè)量技術(shù)中,有一種簡(jiǎn)單、可靠、低廉、測(cè)量精度較高的測(cè)量方法叫做接觸式測(cè)溫,它在早期就開(kāi)展起來(lái),一般能將環(huán)

9、境的真實(shí)溫度測(cè)量出來(lái)。但是難以對(duì)運(yùn)動(dòng)的物體和熱容量小的物體進(jìn)展準(zhǔn)確測(cè)量,主要是因?yàn)闄z測(cè)元件熱慣性的影響,響應(yīng)的時(shí)間長(zhǎng)。在腐蝕性介質(zhì)中,超高溫度環(huán)境下也不適用。另外還有一種能夠?qū)\(yùn)動(dòng)的物體和熱容量小的物體進(jìn)展測(cè)量的方法叫非接觸式測(cè)溫,它通過(guò)溫度場(chǎng)輻射出來(lái)的能量,進(jìn)展測(cè)量。響應(yīng)速度快,對(duì)測(cè)量的溫度場(chǎng)不產(chǎn)生破壞。但是也存在一些缺點(diǎn),儀表所顯示的值一般只能代表物體外表的溫度,測(cè)溫儀器構(gòu)造復(fù)雜,價(jià)格昂貴等2。因此,在溫度測(cè)控中,要根據(jù)所需對(duì)象選擇恰到好處的測(cè)控方法。 . v傳感器技術(shù)是現(xiàn)代信息技術(shù)的三大根底,屬于現(xiàn)代信息技術(shù)前沿的尖端技術(shù),溫度傳感器使用的數(shù)量高居各類(lèi)傳感器之首,被應(yīng)用于各種領(lǐng)域中,如工

10、業(yè)生產(chǎn)、高科技研究和日常生活等。溫度傳感器技術(shù)的應(yīng)用與研究,其開(kāi)展歷程大致經(jīng)過(guò)了以下三個(gè)階段:(1)常見(jiàn)的分布式溫度傳感器;(2)模擬集成溫度傳感器;(3)智能溫度傳感器。從 20 世紀(jì)末以來(lái),國(guó)際上推出的智能溫度傳感器精度高、分辨力高,采用的都是912 位 A/D 轉(zhuǎn)換器,分辨力一般可高達(dá) 0.50.06253。目前新型的溫度傳感器正由模擬式走向數(shù)字式、分立式走向高集成、智能化、網(wǎng)絡(luò)化。當(dāng)前被廣泛應(yīng)用的 DS18B20 型智能溫度傳感器由美國(guó) DALLAS 半導(dǎo)體公司研制,它能輸出 12 位二進(jìn)制數(shù)據(jù),分辨力高,到達(dá) 0.0625,測(cè)量溫度的精度已經(jīng)到達(dá)0.2。1.2 國(guó)內(nèi)外研究現(xiàn)狀在上個(gè)世

11、紀(jì) 70 年代,國(guó)外的一些國(guó)家已經(jīng)開(kāi)場(chǎng)對(duì)溫度測(cè)控技術(shù)進(jìn)展研究了。最早采用的是模擬式組合儀表,將現(xiàn)場(chǎng)采集到的信息進(jìn)展顯示、加工和控制。直到 80 年代末才出現(xiàn)分立式控制系統(tǒng)。目前溫度測(cè)控技術(shù)在一些興旺國(guó)家開(kāi)展非常迅猛,由半自動(dòng)化向著完全自動(dòng)化、無(wú)人化的方向開(kāi)展。在上個(gè)世紀(jì) 80 年代,我國(guó)才開(kāi)場(chǎng)對(duì)溫度測(cè)控技術(shù)進(jìn)展研究,起步晚。跟那些興旺國(guó)家相比擬,技術(shù)上還有著很大差距。我國(guó)的科技人員吸收興旺國(guó)家的溫度測(cè)控技術(shù),僅限于控制溫度的單項(xiàng)環(huán)境因子,對(duì)一些復(fù)雜的環(huán)境因子控制,還難以實(shí)現(xiàn)。多參數(shù)綜合控制系統(tǒng)目前還不成熟,單參數(shù)單回路的系統(tǒng)只能使用單片機(jī)來(lái)控制。在實(shí)際生產(chǎn)中配套能力差,產(chǎn)業(yè)化程度不高,對(duì)環(huán)境水

12、平控制的嚴(yán)重滯后等問(wèn)題仍然在困擾著我們,溫度測(cè)控現(xiàn)狀要想到達(dá)工廠化的水平,還任重道遠(yuǎn)。1.3 研究?jī)?nèi)容本文設(shè)計(jì)是以單片機(jī)為核心,實(shí)現(xiàn)溫度實(shí)時(shí)測(cè)控和顯示。確定電路中的一些主要參. v數(shù),了解溫度控制電路的構(gòu)造,工作原理,對(duì)該控制電路性能進(jìn)展測(cè)試。主要內(nèi)容:(1)硬件局部設(shè)計(jì)以 STC89C52 單片機(jī)作為處理器來(lái)處理數(shù)據(jù),DS18B20 溫度傳感器進(jìn)展溫度采集,八段數(shù)碼管作為顯示模塊,利用鍵盤(pán)完成對(duì)溫度測(cè)控。(2)軟件局部設(shè)計(jì)軟件局部的設(shè)計(jì)采用模塊化思想,主要有五個(gè)大的模塊:主控制程序,溫度顯示子程序,讀溫度子程序,溫度轉(zhuǎn)換子程序,計(jì)算溫度子程序。二 系統(tǒng)硬件設(shè)計(jì)2.1 總體設(shè)計(jì)方案2.1.1

13、設(shè)計(jì)思路(1)本設(shè)計(jì)是用來(lái)測(cè)控溫度的,可以利用熱敏電阻的感溫效應(yīng),將被測(cè)溫度變化的模擬信號(hào),電壓或電流的采集過(guò)來(lái),首先進(jìn)展放大和濾波后,再通過(guò) A/D 轉(zhuǎn)換,將得到的數(shù)字量送往單片機(jī)中去處理,用數(shù)碼管將被測(cè)得的溫度值顯示出來(lái)。但是這種電路的設(shè)計(jì)需要用到放大濾波電路,A/D 轉(zhuǎn)換電路,感溫電路等一系列模擬電路,設(shè)計(jì)起來(lái)較麻煩。(2)本設(shè)計(jì)采用單片機(jī)做處理器,可以考慮使用溫度傳感器,采用由達(dá)拉斯公司研制的 DS18B20 型溫度傳感器,此傳感器可以將被測(cè)的溫度直接讀取出來(lái),并進(jìn)展轉(zhuǎn)換,這樣就很容易滿足設(shè)計(jì)要求。從上面的兩種方案,可以很容易看出來(lái),雖然方案(2)軟件局部設(shè)計(jì)復(fù)雜點(diǎn),但是電路比擬簡(jiǎn)單且

14、精度高,故采用方案(2)。單片機(jī)最小系統(tǒng)顯示模塊設(shè)置模塊. v圖 2-1 總體方框圖2.1.2 設(shè)計(jì)方框圖據(jù)設(shè)計(jì)的需求,分析單片機(jī)的工作原理,可以大體得出來(lái)溫度控制電路設(shè)計(jì)的總體方框圖如圖 2-1 所示,主處理器采用 STC89C52 單片機(jī),溫度采集局部采用 DS18B20 型溫度傳感器,用 4 位 LED 顯示數(shù)碼管作為顯示局部,用來(lái)將溫度顯示出來(lái)。系統(tǒng)硬件電路局部由四大模塊組成:溫度采集模塊、溫度顯示模塊、設(shè)置模塊和單片機(jī)最小系統(tǒng)模塊。2.2 單片機(jī)介紹單片機(jī)是計(jì)算機(jī)制造技術(shù)開(kāi)展的產(chǎn)物,其應(yīng)用于很多場(chǎng)合,開(kāi)展迅猛。1971 年 Intel公司研制出來(lái) 4004 的 4 位微處理器不久,在

15、 1974 年 12 月 Fairchild仙童公司立即研制出了 8 位的單片機(jī),即 F8,單片機(jī)的門(mén)戶就這樣被翻開(kāi)了。直到上世紀(jì) 70 年代末,單片機(jī)應(yīng)用技術(shù)才被引入中國(guó),開(kāi)場(chǎng)被我國(guó)的科學(xué)研究人員探索,到 80 年代,單片機(jī)終于廣泛應(yīng)用于各種行業(yè)。在 1978 年 Zilog 公司推出了 Z8 單片機(jī),不久我國(guó)工業(yè)界的主流就是這種單片機(jī)。直到 90 年代初,我國(guó)在某些領(lǐng)域使用的單片機(jī)開(kāi)場(chǎng)向 Intel 生產(chǎn)的 MCS-51 系列單片機(jī)靠攏,如工業(yè)領(lǐng)域。在短短至今二十幾年的時(shí)間里,單片機(jī)經(jīng)過(guò)了 4 位機(jī)、8 位機(jī)、16 位機(jī)、32 位機(jī)幾個(gè)大的開(kāi)展階段,雖然沒(méi)有像微處理器那樣不斷突破,但是目前

16、 8 位機(jī)仍然是工業(yè)控制領(lǐng)域的主流機(jī)型。近幾年單片機(jī)的內(nèi)部構(gòu)造變的是愈加完美了,在原有的集成構(gòu)造上不斷創(chuàng)新,越來(lái)越多的外圍電路和外設(shè)接口被集成于單片機(jī)內(nèi)部構(gòu)造中。硬件電路的設(shè)計(jì)變得更加簡(jiǎn)單了,微控制器(MicroController)體系構(gòu)造的設(shè)計(jì)已逐漸被建立起來(lái),其開(kāi)展過(guò)程大致分為下面的幾個(gè)階段:第一階段:?jiǎn)纹瑱C(jī)的探索階段第二階段:?jiǎn)纹瑱C(jī)的完善階段采集模塊. v第三階段:?jiǎn)纹瑱C(jī)的高性能階段第四階段:?jiǎn)纹瑱C(jī)的全面開(kāi)展階段單片機(jī)就是將微處理器、存儲(chǔ)器和各種輸入輸出接口,放在一塊芯片上集成得來(lái)。自問(wèn)世以來(lái),廣泛應(yīng)用于自動(dòng)檢測(cè)與控制、智能儀表、機(jī)電一體化、工業(yè)控制等各個(gè)方面。單片機(jī)本身就是一種計(jì)算機(jī)

17、系統(tǒng),如果在外圍加上一些接口電路,就可以構(gòu)成某些特定的應(yīng)用系統(tǒng)。單片機(jī)的幾種主要應(yīng)用系統(tǒng)分為:(1)最小系統(tǒng),外圍電路只配有晶振,復(fù)位電路,電源,只能運(yùn)用于簡(jiǎn)單的一些控制。(2)最小功耗系統(tǒng),在系統(tǒng)正常運(yùn)行的情況下,使得系統(tǒng)消耗的功耗到達(dá)最小。(3)典型應(yīng)用系統(tǒng),為了使各種系統(tǒng)能夠正常運(yùn)行,所設(shè)計(jì)的必要硬件構(gòu)造系統(tǒng)45。以單片機(jī)為核心處理器件構(gòu)成的應(yīng)用系統(tǒng)有著許多優(yōu)點(diǎn):(1)功能齊全,可靠性好,抗干擾的能力較強(qiáng)。(2)使用起來(lái)簡(jiǎn)單方便,可以被普及使用。(3)開(kāi)展迅猛,有著廣闊的前景。(4)比擬容易就能嵌入到各種應(yīng)用系統(tǒng)中。2.2.1 STC 單片機(jī)構(gòu)造介紹STC89C52 單片機(jī)是一種 8 位

18、微控制器,特點(diǎn)是低功耗、有高性能 CMOS,同時(shí)內(nèi)置8K 字節(jié)可編程 Flash 存儲(chǔ)器。芯片內(nèi)擁有十分靈巧的 8 位微處理器和在系統(tǒng)可編程Flash,使得 STC89C52 單片機(jī)提供為許多較靈活、十分有效的解決方案,主要在工農(nóng)業(yè)控制系統(tǒng)中。STC89C52 的標(biāo)準(zhǔn)功能如下:8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 接口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量的中斷構(gòu)造,全雙工串行口。另外,STC89C52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種工作軟件,用來(lái)選擇節(jié)電模式。當(dāng)工作在空閑模式下,微處理器就會(huì)停頓工作,允許隨機(jī)存儲(chǔ)器

19、、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。在掉電的時(shí)候,隨機(jī)存儲(chǔ)器中的內(nèi)容會(huì)被保存起來(lái),振蕩器被凍結(jié),單片機(jī)停頓一切內(nèi)外部工作,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35Mhz,6T/12T 可選。. v1引腳構(gòu)造,見(jiàn)圖 2-2。圖 2-2 單片機(jī)引腳構(gòu)造2內(nèi)部構(gòu)造,見(jiàn)圖 2-3。時(shí)鐘電路ROM EPROM Flash 4KBRAM 128BSFR 21 個(gè)定時(shí)器計(jì)數(shù)器CPU總線控制中斷系統(tǒng)5 個(gè)中斷源2 個(gè)優(yōu)先級(jí)串行口全雙工 1 個(gè)4 個(gè)并行口VssVcc P0 P1 P2 P3RSTEA ALE PSENXTAL1XTAL2圖 2-3 內(nèi)部構(gòu)造2.2.2STC 單片機(jī)引腳介紹RST:復(fù)位輸

20、入,在高電平狀態(tài)時(shí)有效。當(dāng)單片機(jī)有脈沖信號(hào)時(shí),在這個(gè)引腳加上持續(xù)時(shí)間超過(guò)2個(gè)機(jī)器周期的高電平狀態(tài)時(shí),就可以完成復(fù)位操作。一般在正常運(yùn)行狀態(tài)時(shí),此引腳應(yīng)該是低電平狀態(tài)。PSEN:片外程序存儲(chǔ)器的讀選通信號(hào)。當(dāng)單片機(jī)在讀片外程序存儲(chǔ)器時(shí),這個(gè)引腳的讀片外部程序存儲(chǔ)器選通信號(hào)應(yīng)該是負(fù)跳沿脈沖。此引腳接外部程序存儲(chǔ)的OE端時(shí),訪問(wèn)外部RAM,PSEN信號(hào)是處在無(wú)效狀態(tài)。EA/VPP:為訪問(wèn)外部程序存儲(chǔ)器允許控制端。當(dāng)EA的引腳接入低電平時(shí),對(duì)程序存儲(chǔ)器的操作,只能是讀取外部程序存儲(chǔ)器中的數(shù)據(jù),所尋地址的X圍是為0000H到FFFFH。如果需要執(zhí)行內(nèi)部程序指令,EA應(yīng)該接入高電平。. vP0口:8位,漏

21、極開(kāi)路的雙向I/O口。當(dāng)89C52擴(kuò)展外部存儲(chǔ)器及I/O接口芯片時(shí),P0口作為地址總線及數(shù)據(jù)總線的分時(shí)復(fù)用端口。P0口也可以作為通用的I/O口使用,但需加上拉電阻,這時(shí)為準(zhǔn)雙向口。當(dāng)P0口用來(lái)做普通的I/O接口輸入時(shí),應(yīng)該先向該端口的輸出鎖存器寫(xiě)1。P0口可以用來(lái)驅(qū)動(dòng)8個(gè)LS型的TTL負(fù)載。P1口:8位,準(zhǔn)雙向的輸入輸出接口,它的內(nèi)部中有上拉電阻。P1口是專(zhuān)門(mén)為用戶使用的準(zhǔn)雙向I/O口,當(dāng)用來(lái)做普通的I/O口輸入時(shí),應(yīng)該首先向端口的輸出鎖存器寫(xiě)入1。P1口可以用來(lái)驅(qū)動(dòng)4個(gè)LS型的TTL負(fù)載。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入

22、(P1.1/T2EX),具體如下表2-1所示。當(dāng)單片機(jī)進(jìn)展Flash固化編程時(shí),P1口同時(shí)接收低8位地址。P2口:8位,準(zhǔn)雙向的輸入輸出接口,它的內(nèi)部中有上拉電阻。當(dāng)89C52擴(kuò)展外部存儲(chǔ)器及I/O接口時(shí),P2口可輸出高8位地址。P2口也可作為普通的I/O口使用,當(dāng)用來(lái)做普通的I/O口輸入時(shí),應(yīng)該首先向端口的輸出鎖存器寫(xiě)入1。P2口也可以用來(lái)驅(qū)動(dòng)4個(gè)LS型的TTL負(fù)載。表2-1 P1口功能引腳號(hào)第二功能說(shuō)明P1.0T2定時(shí)器計(jì)速器 T2 的外部計(jì)數(shù)輸入,時(shí)鐘輸出P1.1T2EX定時(shí)器計(jì)速器 T2 的捕捉重載觸發(fā)信號(hào)和方向控制P1.5MOSI在系統(tǒng)編程用P1.6MISO在系統(tǒng)編程用P1.7SCK

23、在系統(tǒng)編程用P3口:8位,準(zhǔn)雙向的輸入輸出接口,它的內(nèi)部中也有上拉電阻。P3口可以用來(lái)做為常用的I/O口,當(dāng)作為通用的I/O口輸入時(shí),應(yīng)該首先向端口的輸出鎖存器寫(xiě)入1。P3口也可以用來(lái)驅(qū)動(dòng)4個(gè)LS型的TTL負(fù)載。P3口還能向用戶提供一些第二功能。P3口也可以用來(lái)作為STC89C52的一些特殊功能的接口,如下表2-2所示。當(dāng)單片機(jī)進(jìn)展Flash固化編程時(shí),P3. v口同時(shí)也接收一些外部控制信號(hào)4。表2-2 P3口功能引腳號(hào)第二功能說(shuō)明P3.0RXD串行數(shù)據(jù)輸入口P3.1TXD串行數(shù)據(jù)輸出口P3.2INT0外部中斷 0 輸入P3.3INT1外部中斷 1 輸入P3.4T0定時(shí)器 0 外部計(jì)數(shù)輸入P3

24、.5T1定時(shí)器 1 外部計(jì)數(shù)輸入P3.6WR外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通輸出P3.7RD外部數(shù)據(jù)存儲(chǔ)器讀選通輸出ALE/PROG:在芯片訪問(wèn)外部存儲(chǔ)器時(shí),有時(shí)候需要對(duì)地址或者數(shù)據(jù)進(jìn)展所存操作,該引腳的功能正是與鎖存相對(duì)應(yīng),在軟件編程方面也可以利用該功能進(jìn)展便捷的操作。當(dāng)單片機(jī)進(jìn)展Flash固化編程時(shí),此引腳對(duì)于輸入編程脈沖有作用。時(shí)鐘引腳XTAL1:反向振蕩放大器的輸入。XTAL2:來(lái)自反向振蕩器的輸出。如圖2-4所示,STC89C52單片機(jī)有一個(gè)反相放大器,用來(lái)構(gòu)成內(nèi)部振蕩器,一般會(huì)選石英晶體振蕩器作為外接振蕩源。此電路在加電過(guò)后會(huì)在XTAL2引腳上產(chǎn)生一個(gè)正弦波時(shí)鐘信號(hào),其振蕩頻率主要由外接的石英

25、晶振的頻率決定。電路中的兩個(gè)電容C1、C2的作用有兩個(gè):一是用來(lái)幫助振蕩器起振,二是用來(lái)微調(diào)晶體振蕩器的頻率。電容C1、C2的典型值為30pF。圖2-4自激振蕩器原理圖定時(shí)器0和定時(shí)器1在STC89C52單片機(jī)中,定時(shí)器0和定時(shí)器1的定時(shí)方式與89C51一樣。. v定時(shí)器2:是一個(gè)自動(dòng)恢復(fù)初始值的18位定時(shí)/計(jì)數(shù)器,既能做定時(shí)器,又可以做計(jì)數(shù)器。定時(shí)器2有2個(gè)8位存放器:TH2和TL2。TL2為常數(shù)緩沖器,當(dāng)TL2計(jì)數(shù)發(fā)生溢出時(shí),在溢出標(biāo)志位TF2置“1的同時(shí),自動(dòng)將TH2的初始值送到TL2中,使得TL2得以從初始值處重新計(jì)數(shù)。中斷STC89C52有5個(gè)中斷源:兩個(gè)外部中斷(INT0和INT1

26、),兩個(gè)定時(shí)中斷和一個(gè)串行口中斷。如果外部中斷請(qǐng)求0時(shí),請(qǐng)求信號(hào)由引腳INT0輸入,IE0為它的中斷請(qǐng)求標(biāo)志位。如果外部中斷請(qǐng)求1,請(qǐng)求信號(hào)引腳由INT1輸入,IE1為它的中斷請(qǐng)求標(biāo)志位。定時(shí)器計(jì)數(shù)器T0計(jì)數(shù)溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志位為T(mén)F0。定時(shí)器計(jì)數(shù)器T1計(jì)數(shù)溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志位為T(mén)F1。串行口中斷請(qǐng)求是用來(lái)發(fā)送中斷或承受中斷,標(biāo)志位為T(mén)I或RI。上述的中斷請(qǐng)求標(biāo)志位分別由特殊功能存放器TCON和SCON相應(yīng)的位鎖存,如下表2-3為中斷允許控制存放器功能5。VCC:接+5V電源。GND:接地。表2-3 中斷允許控制存放器符號(hào)位地址功能EAIE.7中斷總允許控制位。EA=0,中斷總

27、制止:EA=1,各中斷有各自的控制位設(shè)定-IE.6預(yù)留ET2IE.5定時(shí)器 2 中斷允許控制位ESIE.4串行口中斷允許控制位ET1IE.3定時(shí)器 1 中斷允許控制位EX1IE.2外部中斷 1 允許控制位ET0IE.1定時(shí)器 0 中斷允許控制位EX0IE.0外部中斷 0 允許控制位. v2.3 DS18B20 數(shù)字溫度傳感器介紹2.3.1 功能介紹DS18B20 這款型號(hào)的溫度傳感器是由 DALLAS 半導(dǎo)體公司研制出來(lái)的,它是一種在舊的構(gòu)造根底上改良而來(lái)的智能溫度傳感器,傳統(tǒng)的溫度傳感器是由熱敏電阻作為主要元件的器件,改良后的傳感器能夠直接讀出被測(cè)物體的溫度,并且在實(shí)際的的操作中可通過(guò)軟件編

28、程來(lái)實(shí)現(xiàn)其他相對(duì)復(fù)雜的功能。DS18B20 提供 9 位溫度讀數(shù),用來(lái)顯示器件的溫度數(shù)值6。特性:與單片機(jī)相互通訊時(shí)只要一根接口線就行了,實(shí)現(xiàn)雙工通訊功能用來(lái)測(cè)量溫度的X圍是-55+125,分辨率為0.5幾個(gè)DS18B20可以掛在一條的總線上,但是數(shù)量不能超過(guò)8個(gè)工作電源35V/DC 在測(cè)量溫度時(shí),不要任何多余的元件,直接測(cè)出溫度可以一次讀出9位溫度數(shù)字值 把溫度轉(zhuǎn)化成為數(shù)字量,只需要1秒左右的時(shí)間用戶可以自己設(shè)置溫度上下限的告警值2.3.2 內(nèi)部存儲(chǔ)器介紹圖2-5的方框圖表示DS18B20的內(nèi)部構(gòu)造:1)64位激光lasered ROM;2)溫度靈敏元件;3)非易失性溫度告警觸發(fā)器TH和TL

29、。. v64位 ROM和單線接口存儲(chǔ)器與控制邏輯高速緩存高溫觸發(fā)器 TH配置存放器低溫觸發(fā)器 TL溫度傳感器8 位 CRC 發(fā)生器CVdd圖 2-5DS18B20 內(nèi)部構(gòu)造如果一根總線上有多個(gè)DS18B20器件,那么可以只選出一個(gè)DS18B20指定,還可以給連接在總線上的處理器指出存在多少個(gè)器件及其類(lèi)型。在接單個(gè)總線的時(shí)候,ROM操作在未開(kāi)場(chǎng)之前,還不可以使用器件內(nèi)部的操作系統(tǒng),處理器首先必須提供五種ROM操作命令之一:1)Read ROM(讀ROM),2)Match ROM(符合ROM),3)Search ROM(搜索ROM),4)Skip ROM(跳過(guò)ROM),或5)Alarm Searc

30、h告警搜索。上述的命令都是對(duì)每一個(gè)溫度傳感器器件進(jìn)展操作,操作的局部是64位激光ROM局部。DS18B20中的溫度傳感局部是用來(lái)測(cè)量被測(cè)物體的溫度,下面用一個(gè)測(cè)得的12位溫度值轉(zhuǎn)化為例:用2個(gè)字節(jié)16位有符號(hào)的二進(jìn)制補(bǔ)碼形式來(lái)提供數(shù)值,以0.0625/LSB的形式表達(dá)出來(lái),S是用來(lái)表示符號(hào)位,如下表2-4。表2-4DS18B2021位溫度數(shù)據(jù)bit7bit6bit5bit4bit3bit2bit1bit0LSByte232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MSByteSSSSS262524表2-4是將12位溫度值經(jīng)過(guò)轉(zhuǎn)

31、換后得到的數(shù)據(jù),是12位,將轉(zhuǎn)換后得到的數(shù)據(jù)存儲(chǔ)在DS18B20的兩個(gè)數(shù)據(jù)存儲(chǔ)器中。字節(jié)的前面5位是符號(hào)位,用來(lái)判斷測(cè)到的溫度的正負(fù)。. v如果測(cè)到被測(cè)物體的溫度值大于0,那么高字節(jié)前面的5位都是0,只要將測(cè)來(lái)的數(shù)值用來(lái)與0.0625相乘,就能得到實(shí)際的溫度;如果測(cè)到被測(cè)物體的溫度值小于0,那么高字節(jié)前面的5位都是1,將測(cè)到的數(shù)值來(lái)取反加1,再與0.0625相乘,就可以能夠得到實(shí)際的溫度。如下表2-5為DS18B20的溫度/數(shù)據(jù)轉(zhuǎn)換關(guān)系。表 2-5DS18B20 的溫度/數(shù)據(jù)關(guān)系TEMPERATUREDIGITAL OUTPUT(BINARY)DIGITAL OUTPUT(HEX)+12500

32、00 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008h+00000 0000 0000 00000000 h-0.51111 1111 1111 1000FFF8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90h溫度傳感局部采集轉(zhuǎn)化后得來(lái)的數(shù)

33、據(jù),一般是放到 DS18B20 的暫存存儲(chǔ)器中。DS18B20 的暫存存儲(chǔ)器有 8 個(gè)字節(jié),字節(jié)的區(qū)域是連續(xù)的。前面兩個(gè)字節(jié)是用來(lái)保存測(cè)來(lái)的溫度信息,第一個(gè)字節(jié)放入的是 DS18B20 測(cè)來(lái)的溫度值的低八位內(nèi)容,第二個(gè)字節(jié)放入的是 DS18B20 測(cè)得的溫度值的高八位局部。第三個(gè)和第四個(gè)字節(jié)是設(shè)置溫度告警的上限與下限的易失性保存,第五個(gè)字節(jié)是構(gòu)造存放器的易失性保存,當(dāng)這三個(gè)字節(jié)在上電復(fù)位狀態(tài)時(shí),字節(jié)中的內(nèi)容都會(huì)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部溫度數(shù)值的計(jì)算,第九字節(jié)是用來(lái)檢查冗余字節(jié),如下表 2-6 為暫存存放器的分布。表 2-6 DS18B20 暫存存放器分布存放器內(nèi)容字節(jié)地址. v溫度最

34、低數(shù)字位溫度最低數(shù)字位高溫限值低溫限值保存保存計(jì)數(shù)剩余值每度計(jì)數(shù)值CRC 校驗(yàn)012345678ROM操作命令如果處理器檢測(cè)到總線掛有溫度傳感器,便發(fā)出傳感器ROM中的的五種操作命令之一,所有的操作命令都是一個(gè)字節(jié)。Read ROM(讀ROM)33h此命令是允許連接總線上的處理器讀取DS18B20的8位產(chǎn)品系列編號(hào),唯一的48位產(chǎn)品序列號(hào)以及8位的冗余校驗(yàn)碼。Match ROM(符合ROM)55h在與ROM中的命令匹配后,繼續(xù)以64位的ROM數(shù)據(jù)序列,允許連接在總線上的處理器對(duì)多個(gè)DS18B20中某個(gè)特定的傳感器,進(jìn)展讀寫(xiě)。Skip ROM(跳過(guò)ROM)CCh此命令是用來(lái)尋找與64位ROM中的

35、序列號(hào)相匹配的DS18B20地址,這樣才能響應(yīng)后面的操作命令。所有的與64位ROM序列號(hào)不匹配的外掛傳感器,都將等待復(fù)位脈沖的到來(lái)。earch ROM(搜索ROM) F0h此命令允許總線上的處理器使用一種消去elimination處理命令,來(lái)識(shí)別總線上所有外掛器件的64位序列號(hào)7。. v2.4 顯示模塊設(shè)計(jì)LED 顯示數(shù)碼管一般正向壓降的都是 1.52V,額定電流為 10mA,通過(guò)最大的電流為 40mA8。根據(jù)各種不同管接線的方式,可將數(shù)碼管分成共陰極型和共陽(yáng)極型。根據(jù)要求,本設(shè)計(jì)采用 4 位共陽(yáng) LED 數(shù)碼管,從 P0 口輸出段碼,列掃描用 P0 口來(lái)實(shí)現(xiàn)。下列圖 2-6 中數(shù)碼管采用的是

36、 8 位七段共陽(yáng)數(shù)碼管,其中 ADP 段分別接到單片機(jī)的 P0 口,由單片機(jī)輸出的 P0 口數(shù)據(jù)來(lái)決定段碼值,位選碼 1、2、3、4 分別接到單片機(jī)的P2.4、P2.5、P2.6、P2.7,由單片機(jī)來(lái)決定當(dāng)前該顯示的是哪一位。在圖中還有 8 個(gè)電阻,連接在 P0 口上,用作 P0 口的上拉電阻,保證 P0 口沒(méi)有數(shù)據(jù)輸出時(shí)候處于高電平狀態(tài)。2.4.1 LED 數(shù)碼管構(gòu)造圖 2-6LED 共陽(yáng)數(shù)碼管構(gòu)造2.4.2 共陽(yáng)數(shù)碼管數(shù)字編碼共陽(yáng)數(shù)碼管數(shù)字編碼見(jiàn)下表 2-7。表 2-7 共陽(yáng)數(shù)碼管數(shù)字編碼顯示數(shù)字共陽(yáng)極字段碼0C0H1F9H2A4H3B0H499H592H682H7F8H880H990H2

37、.5 按鍵電路的設(shè)計(jì)鍵盤(pán)實(shí)際是就是很多案件的一種組合,按鍵的按下與否形成一個(gè)上下電平,主控芯. v片 CPU 通過(guò)上下電平來(lái)識(shí)別所需信號(hào),進(jìn)而使程序進(jìn)展下一步的操作。鍵盤(pán)操作的軟硬件的設(shè)計(jì)有以下幾個(gè)方面的問(wèn)題: 對(duì)于此設(shè)計(jì)來(lái)說(shuō)我們要準(zhǔn)確的顯示我們所要對(duì)應(yīng)的信息,每按一次按鍵要顯示所要顯示的信息。這按鍵是主要用來(lái)控制溫度而設(shè)計(jì)的。這樣比鍵盤(pán)操作方便,也比擬實(shí)惠。按鍵電路采用中斷模式。當(dāng)有按鍵按下時(shí),系統(tǒng)產(chǎn)生中斷,CPU 響應(yīng)中斷后,開(kāi)場(chǎng)計(jì)數(shù),即查詢(xún)鍵號(hào),通過(guò)軟件來(lái)實(shí)現(xiàn)該鍵號(hào)所對(duì)應(yīng)鍵的功能鍵盤(pán)的大體設(shè)置為:K1 為溫度控制的上下限,K2,K3 用來(lái)控制溫度的加減。如果 K1 沒(méi)按下,那么溫度在上限

38、控制狀態(tài),如果 K1 按下,那么溫度在下限控制狀態(tài)。其電路圖如下列圖 2-7 所示。圖 2-7 按鍵電路2.5.1 判鍵及其接口電路設(shè)計(jì)鍵盤(pán)之所以能夠?qū)ο到y(tǒng)進(jìn)展操作是因?yàn)殒I盤(pán)的按下會(huì)產(chǎn)生一個(gè)電平上的變化,電平的變化進(jìn)而影響整個(gè)系統(tǒng)的操作。如果系統(tǒng)規(guī)定高電平表示斷開(kāi),反之低電平那么表示閉合,通過(guò)芯片對(duì)電平的上下?tīng)顟B(tài)監(jiān)測(cè)以及軟件編寫(xiě)的配合可確認(rèn)鍵按下與否。 由于按鍵是認(rèn)為操作,對(duì)按鍵的按下與否把我并不是非常準(zhǔn)確,有時(shí)按鍵信號(hào)的傳遞也會(huì)受到其他操作的影響使得信號(hào)之間產(chǎn)生串?dāng)_,所以為了確保按鍵是按下與否的識(shí)別情況,我要考慮進(jìn)展按鍵防抖的操作,對(duì)于防抖操作有兩種方式,一種是硬件的防抖,一種是軟件的防抖,

39、硬件消除抖動(dòng)可采取雙穩(wěn)態(tài)電路或?yàn)V波消抖電路;軟件消抖是是指當(dāng)程序在運(yùn)行中檢測(cè)到按鍵是低電平的時(shí)候并不急于向下繼續(xù)運(yùn)行,而是在軟件延時(shí)一定程序后對(duì)該引腳的電平再次進(jìn)展檢測(cè),看是否還處在低電平狀態(tài),假設(shè)還是,那么判斷為有按鍵按下。軟件消抖的方法效果可以承受,同時(shí)也節(jié)省了硬件消抖的開(kāi)銷(xiāo)。此設(shè)計(jì)中由于按鍵較少,我選擇的是軟件消抖。當(dāng)按鍵較多時(shí),按鍵之間容易產(chǎn)生串?dāng)_,采用硬件消抖法會(huì)更好一點(diǎn)。 按鍵是要連接到硬件電路上的,其接口設(shè)計(jì)也有兩種方法,獨(dú)立式按鍵和矩陣式鍵. v盤(pán)。獨(dú)立式按鍵顧名思義就是每個(gè)按鍵式相互獨(dú)立,每個(gè)按鍵都通過(guò)一根線與主控芯片或者硬件電路中的相對(duì)應(yīng)引腳進(jìn)展連接。這種方法在操作上更加簡(jiǎn)

40、便,不需要考慮太多的電路設(shè)計(jì)因素,對(duì)于簡(jiǎn)單的電路設(shè)計(jì)適用,任何事物有利有弊,弊端就是該方案對(duì) I/O資源比擬浪費(fèi)。對(duì)于大的系統(tǒng)來(lái)說(shuō),往往會(huì)導(dǎo)致引腳的不夠用。矩陣鍵盤(pán)就是通過(guò)行線與列線的穿插點(diǎn)來(lái)安排按鍵的位置,這種方法適用于按鍵數(shù)量較多的電路。通過(guò)對(duì)行線與列線的分布掃描來(lái)判斷是哪一個(gè)按鍵按下,根據(jù)掃描的結(jié)果以及之前準(zhǔn)備的組合表來(lái)判斷具體按下的按鍵8。2.5.2 鍵盤(pán)的工作方式鍵盤(pán)的工作方式主要有三種:編程掃描、定時(shí)掃描和中斷掃描。當(dāng) CPU 在忙于各種各樣工作時(shí),如何怎樣去處理鍵盤(pán)的輸入,這主要取決于鍵盤(pán)的工作方式。鍵盤(pán)掃描只是 CPU 的各種工作任務(wù)的一種而已。編程掃描時(shí),CPU 會(huì)去反復(fù)掃描

41、鍵盤(pán),當(dāng)用戶有命令或者數(shù)據(jù)輸入時(shí),響應(yīng)鍵盤(pán)的輸入請(qǐng)求。這種掃描方式一般當(dāng)單片機(jī)不工作時(shí),才調(diào)用子程序,直到 CPU 返回重新掃描鍵盤(pán)為止。定時(shí)掃描工作方式通常是利用單片機(jī)內(nèi)的定時(shí)器產(chǎn)生 10ms 定時(shí)中斷,單片機(jī)響應(yīng)定時(shí)器溢出中斷后,對(duì)鍵盤(pán)反復(fù)進(jìn)展掃描,如果發(fā)現(xiàn)有按鍵按下時(shí),并且能夠識(shí)別出這個(gè)按下的鍵,就會(huì)執(zhí)行與之相對(duì)應(yīng)處理程序9。中斷掃描在沒(méi)有按鍵按下時(shí),如果有鍵按下時(shí)就會(huì)產(chǎn)生中斷,由中斷程序識(shí)別并執(zhí)行。2.6 報(bào)警裝置電路設(shè)計(jì)本設(shè)計(jì)中的報(bào)警裝置電路用到了發(fā)光二級(jí)管、三極管、100 歐姆的電阻。將發(fā)光二級(jí)管的一端接地,另一端接三極管的發(fā)射極,三極管的基極通過(guò) 100 歐姆的電阻接在三極管的

42、P3.7 引腳,三極管的集電極接+5V 的電源。其電路圖如圖 2-8 所示。圖 2-8 報(bào)警裝置電路圖. v發(fā) DS18B20 復(fù)位命令發(fā)跳過(guò)讀序列號(hào)命令發(fā)溫度轉(zhuǎn)換開(kāi)場(chǎng)命令完畢2.7 系統(tǒng)整體硬件電路系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,單片機(jī)主控電路等,通過(guò) Protel99se 可畫(huà)出如圖 2-9 所示的電路圖91011三 系統(tǒng)軟件設(shè)計(jì)3.1 溫度控制系統(tǒng)原理框圖主控制程序的主要是用來(lái)實(shí)時(shí)控制當(dāng)前所要測(cè)控的環(huán)境溫度,并讀出由 DS18B20 測(cè)量的經(jīng)過(guò)處理的當(dāng)前環(huán)境的溫度值,同時(shí)檢查溫度是否在限度之內(nèi),否那么報(bào)警,同時(shí)調(diào)整溫度值。其主控制程序流程圖如 3-1 所示。圖3-

43、1 主程序流程圖圖3-2讀溫度流程圖3.1.1 讀溫度子程序讀溫度子程序的功能主要是用來(lái)將隨機(jī)存儲(chǔ)器中的 9 個(gè)字節(jié)讀出,在讀出字節(jié)時(shí)侯,需要進(jìn)展冗余碼校驗(yàn)。在校驗(yàn)到有錯(cuò)誤的時(shí)侯,所測(cè)得的溫度數(shù)據(jù)就會(huì)不進(jìn)展改寫(xiě)。其讀溫度子程序流程圖如 3-2 所示。3.1.2 溫度轉(zhuǎn)換子程序溫度轉(zhuǎn)換命令子程序的功能主要是用來(lái)發(fā)送溫度開(kāi)場(chǎng)轉(zhuǎn)換命令,讓溫度轉(zhuǎn)換自動(dòng)進(jìn)展,其溫度轉(zhuǎn)換命令子程序流程圖如 3-3 所示。圖 3-3 溫度轉(zhuǎn)換流程圖3.1.3 計(jì)算溫度子程序計(jì)算溫度子程序的功能主要將隨機(jī)存儲(chǔ)器中的溫度數(shù)值讀取出來(lái),將取得的溫度數(shù)值的每一位經(jīng)過(guò)計(jì)算分別取出來(lái),放Y發(fā)溫度轉(zhuǎn)換命令發(fā) DS18B20 復(fù)位命令發(fā)跳

44、過(guò)讀序列號(hào)命令讀取操作,CRC 校驗(yàn)9 字節(jié)完.CRC 校驗(yàn)正.確.移入溫度暫存器完畢NNY圖 2-9 溫度控制電路原理開(kāi)場(chǎng)STC89C52 初始化DS18B20 初始化溫度是否到達(dá)設(shè)定限度溫度顯示完畢紅燈亮溫度在顯示 X 圍內(nèi)YNYN. v入指定的字節(jié)中,并進(jìn)展溫度值數(shù)正負(fù)的判定。計(jì)算溫度子程序流程圖如 3-4 所示。3.1.4 溫度顯示子程序溫度顯示子程序的功能主要是對(duì)顯示數(shù)據(jù)存放器中的數(shù)據(jù)反復(fù)進(jìn)展刷新操作。如果最高位顯示是 0 時(shí)的時(shí)候,就將符號(hào)顯示位立即移入下一位字節(jié)中。溫度顯示子程序流程圖如 3-5 所示。四 總結(jié)與展望(1)本次基于單片機(jī)溫控電路的溫度傳感器的設(shè)計(jì)經(jīng)過(guò)了整體分析、模

45、塊化分析、整體與模塊的仿真分析這樣三個(gè)步驟,實(shí)現(xiàn)了溫度的顯示以及報(bào)警顯示功能。(2)在寫(xiě)溫度傳感器的驅(qū)動(dòng)時(shí)一定要處理好時(shí)序問(wèn)題。(3)本次設(shè)計(jì)可以說(shuō)到達(dá)了預(yù)期的要求,但尚有需要改良的地方。隨著溫度采集現(xiàn)場(chǎng)的復(fù)雜程度加大,如果依然用一個(gè)傳感器來(lái)采集溫度,必然反映不了真實(shí)的現(xiàn)場(chǎng)情況,這時(shí)一個(gè)很好的解決方法就是在總線上掛多個(gè)傳感器,實(shí)行多路采集并且還可以加上時(shí)鐘控制電路,實(shí)現(xiàn)實(shí)時(shí)溫度控制。(4)通過(guò)本次論文設(shè)計(jì),讓我進(jìn)一步了解了使用單片機(jī)控制溫度的工作原理和作用,也更深一層地懂得了程序模塊化設(shè)計(jì)的重要性,同時(shí)對(duì)單片機(jī)學(xué)習(xí)板的操作有了進(jìn)一步的了解,熟悉掌握了 Keil 的文本編程設(shè)計(jì)方法和 Protu

46、es 的仿真。目前,國(guó)內(nèi)外溫度控制系統(tǒng)及儀表正朝著高精度、智能化、小型化等方面快速開(kāi)展?,F(xiàn)如今計(jì)算機(jī)的高速數(shù)據(jù)處理能力,和它豐富的利用資源,以及強(qiáng)大的邏輯功能,能夠根據(jù)自己設(shè)計(jì)的實(shí)際需求進(jìn)展靈活的資源采集分配,適當(dāng)?shù)脑黾踊蛘邷p少其控制信號(hào),輸出的路數(shù),這樣就能夠合理的設(shè)置溫度控制的 X 圍與路數(shù),給以后的實(shí)際應(yīng)用提供了可靠的、有力的控制系統(tǒng)解決方案。參考文獻(xiàn)1 X 娟,梁衛(wèi)文,程莉等單片機(jī) C 語(yǔ)言與 Protues 仿真技能實(shí)訓(xùn):中國(guó)電力,2021,119-1762 李平,杜濤,羅和平等單片機(jī)應(yīng)用開(kāi)發(fā)與實(shí)踐:機(jī)械工程,2021,178-188圖 3-4 計(jì)算溫度流程圖 圖 3-4 計(jì)算溫度流

47、程圖圖 3-5 溫度顯示數(shù)據(jù)刷新流程圖開(kāi)場(chǎng)溫度零下溫度值取補(bǔ)碼置“標(biāo)志取出小數(shù)位的溫度值取出整數(shù)位的溫度值完畢置“+標(biāo)志NY溫度數(shù)據(jù)移入顯示存放器十位數(shù) 0.百位數(shù) 0.十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)不顯示符號(hào) 完畢NNYY. v3 X 阿奇,王綺紅,X 春良等Protel 實(shí)用教程:電子工業(yè),2021,72-1214 常敏,王涵,X 紅波等51 單片機(jī)應(yīng)用程序開(kāi)發(fā)與實(shí)踐. :電子工業(yè),2021,235-2525 X 培仁,孫占輝,X 欣等基于 C 語(yǔ)言編程 MCS-51 單片機(jī)原理與應(yīng)用:清華大學(xué),2002,268-277,296-2996 X 春恰數(shù)字溫度傳感器 DS18B20

48、測(cè)溫的應(yīng)用電器時(shí)代,2021,10:116-1177 Morrison D.Single ponent Isolates Data And PowerJ.Power Electronics Technology,2006,32(3):54-54.8Takahashi K,etc. Full color LEDdisplay panel fabricated on 8 silicon microreflectorJ.IEEE (Cat. No. 97CH36021).1997:7-8.9 趙福按電子電路設(shè)計(jì)與實(shí)踐M:XX 科學(xué),2001,110-11810 陳金平電子系統(tǒng)設(shè)計(jì)M:國(guó)防工業(yè),200

49、7,18-3011 康華光電子技術(shù)根底數(shù)字局部 :高等教育,1998,140-160附 錄仿真結(jié)果設(shè)置溫度上限為 38 度,溫度下限為 6 度。1如下仿真圖 1 所示,此時(shí)溫度為 4 度,低于下限溫度,報(bào)警燈亮,實(shí)現(xiàn)報(bào)警。仿真圖 1 下限報(bào)警2如下仿真圖 2 所示。此時(shí)溫度為 40 度,超過(guò)上限溫度,報(bào)警燈亮,實(shí)現(xiàn)報(bào)警。仿真圖 2 上下報(bào)警3如下仿真圖 3 所示。此時(shí)溫度為 29 度,在所設(shè) X 圍內(nèi),報(bào)警燈沒(méi)亮,說(shuō)明溫度正常。仿真圖 3 正常工作溫度控制系統(tǒng)C語(yǔ)言程序*include *define uint unsigned int*define uchar unsigned char s

50、bit p34=P24;sbit p35=P25;. vsbit p36=P26;sbit dp=P07;sbit p37=P27;sbit DQ=P22; /定義 DS18B20 總線 I/Osbit SET=P31; /定義選擇報(bào)調(diào)整警溫度上限和下限1 為上限,0 為下限sbit LING=P20; /定義閃爍signed char m; /溫度值全局變量bit sign=0; /外部中斷狀態(tài)標(biāo)志signed char shangxian=38; /上限報(bào)警溫度,默認(rèn)值為 38signed char xiaxian=5; /下限報(bào)警溫度,默認(rèn)值為 5ucharcode LEDData=0

51、xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff,0 xbf;/*延時(shí)子程序*/void Delay(uint i) while( i- );/*初始化 DS18B20*/void Init_DS18B20(void) unsigned char x=0; DQ=1; Delay(8); /稍做延時(shí). v DQ=0; /單片機(jī)將 DQ 拉低 Delay(80); /準(zhǔn)確延時(shí),大于 480us DQ=1; /拉高總線 Delay(14); x=DQ; /稍做延時(shí)后,如果 x=0 那么初始化成功,x=1 那么初始化失敗

52、Delay(20);/*讀一個(gè)字節(jié)*/unsigned char ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for (i=8;i0;i-) DQ=0; / 給脈沖信號(hào) dat=1; DQ=1; / 給脈沖信號(hào) if(DQ) dat|=0 x80; Delay(4); return(dat);. v/*寫(xiě)一個(gè)字節(jié)*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ=0; DQ=dat&0 x01; Delay(5); DQ=1; dat=1; void Tmpchange(void) /發(fā)送溫度轉(zhuǎn)換命令 Init_DS18B20(); WriteOneChar(0 xCC); /跳過(guò)讀序號(hào)列號(hào)的

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論