溫度傳感器ds18b20畢業(yè)論文_第1頁(yè)
溫度傳感器ds18b20畢業(yè)論文_第2頁(yè)
溫度傳感器ds18b20畢業(yè)論文_第3頁(yè)
溫度傳感器ds18b20畢業(yè)論文_第4頁(yè)
溫度傳感器ds18b20畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì) (論文 ) 題 目: 基于 51 單片機(jī)的 DS18B20 溫度 傳感器的應(yīng)用 院 (系): 電子工程與自動(dòng)化學(xué)院 專 業(yè): 機(jī)電一體化工程 學(xué)生姓名: 梁源光 學(xué) 號(hào): 030111301171 指導(dǎo)教師: 宋長(zhǎng)發(fā) 職 稱: 副教授 題目類型: 理論研究 實(shí)驗(yàn)研究 工程設(shè)計(jì) 工程技術(shù)研究 軟件開發(fā) 2014 年 05 月 10 日 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 1 摘 要 溫度的測(cè)量和控制對(duì)人類日常生活、工業(yè)生產(chǎn)、氣象預(yù)報(bào)、物資倉(cāng)儲(chǔ)等都起著極其重要的作用。在許多場(chǎng)合,及時(shí)準(zhǔn)確獲得目標(biāo)的溫度是十分重要的,近年來(lái),溫度測(cè)控領(lǐng)域發(fā)展迅速,并且隨著數(shù)字技術(shù)的發(fā)展,溫度的測(cè)控芯片也相應(yīng)的登上歷史的舞臺(tái),能夠在工業(yè)、農(nóng)業(yè)等各領(lǐng)域中廣泛使用。溫控系統(tǒng)通過(guò)傳感器檢測(cè)溫度將溫度數(shù)據(jù)輸入到處理器處理,可以在數(shù)碼管或 LCD 等顯示出來(lái)。然后由控制器可以控制加熱或者制冷,從而達(dá)到控溫的目的。 本畢業(yè)設(shè)計(jì)就是利用 STC89C52 單片機(jī)和 DS18B20 溫度傳感器對(duì)目標(biāo)溫度進(jìn)行檢測(cè), 使用了單位數(shù)碼管對(duì)檢測(cè)到溫度的顯示,通過(guò)串口和上位機(jī)進(jìn)行通信,利用 VB 軟件顯示溫度數(shù)據(jù),從而對(duì)各空間溫度進(jìn)行遠(yuǎn)程實(shí)時(shí)監(jiān)控,使用 LED 燈閃爍進(jìn)行模擬加熱和制冷。本文對(duì)各部分的硬件原理圖進(jìn)行了分析,還對(duì)各功能程序進(jìn)行概述。通過(guò) 51單片機(jī)控制 DS18B20 檢測(cè)溫度,具有硬件電路簡(jiǎn)單,編程容易,測(cè)溫準(zhǔn)確,穩(wěn)定等優(yōu)點(diǎn)。而且可以多點(diǎn)檢測(cè)(本畢設(shè)只是單點(diǎn)測(cè)溫),幾個(gè)傳感器連接也很簡(jiǎn)單。 關(guān)鍵詞: 單片機(jī); 溫控;傳感器 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 2 Abstract Temperature measurement and control of human daily life, industrial production, weather forecast, material storage and so on all play a very important role. On many occasions, timely and accurate to obtain the temperature of the target is very important, in recent years, the temperature measurement and control field is developing rapidly, and with the development of digital technology, the corresponding temperature measurement and control chip mounted on the stage of history, can be widely used in industry, agriculture and so on various areas. Temperature control system through the temperature sensor to detect temperature data input to processing, can be in the digital tube or LED display, etc. And then by the controller to control the heating or cooling, so as to achieve the purpose of temperature control. This graduation design is the use of STC89C52 MCU and DS18B20 temperature sensor to test the room temperature, for testing temperature using digital tube display, through a serial port and PC communication, using VB software display temperature data, thus to remote real-time monitoring of the room temperature, use LED lights to simulate the heating and cooling. By 51 single chip microcomputer control temperature DS18B20 detection, it has a simple hardware circuit, programming easily, temperature measurement accuracy, stability, etc. And can be more testing (this project is only a single point temperature measurement), several sensor connection is also very simple. Keywords: MCU; temperature control; sensor 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 3 目 錄 引言 .1 1 緒論 . 2 1.1 單片微機(jī)的發(fā)展 .2 1.2 溫度檢測(cè)的意義及發(fā)展形勢(shì) .2 1.3 溫控系統(tǒng)設(shè)計(jì)的核心 .2 2 單片機(jī)的簡(jiǎn)述 .3 2.1 單片機(jī)的特點(diǎn)及引腳介紹 .3 2.2 單片機(jī)的電平特性 .5 2.3 C51 復(fù)位電路 .6 2.4 時(shí)鐘電路 .6 3 溫控系統(tǒng) 的硬件設(shè)計(jì) .7 3.1 溫度檢測(cè)模塊 .7 3.1.1 溫度傳感器的概述 .7 3.1.2 DS18B20 的工作原理及工作時(shí)序圖 .9 3.2 顯示模塊 .12 3.3 溫超報(bào)警模塊 .14 3.4 串口通信模塊 .15 4 軟件設(shè)計(jì) .17 4.1 系統(tǒng)整體設(shè)計(jì) .17 4.2 溫度獲取并轉(zhuǎn)換 .19 4.3 溫度控制 .20 5 單片機(jī)與上位機(jī)通信 .21 總 結(jié) .23 謝 辭 .24 參考文獻(xiàn) .25 附錄 1電路原理圖 .26 附錄 2 完整 C程序代碼 .28 附錄 3 模塊調(diào)試代碼 .34 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 1 頁(yè) 共 34 頁(yè) 引言 上世紀(jì) 90 年代以來(lái),單片機(jī)就進(jìn)入了一個(gè)高速發(fā)展的階段,大部分半導(dǎo)體廠商都注重新型單片機(jī)的研制、生 產(chǎn)和推廣。單片機(jī)已經(jīng)深入到我們生活的每一個(gè)細(xì)節(jié),由于單片機(jī)的微型電子產(chǎn)品到處都是,尤其是 ARM的廣泛應(yīng)用,使我們的生活變得更豐富多彩。隨著電子技術(shù)的發(fā)展,現(xiàn)在溫度控制系統(tǒng)的功能越來(lái)越強(qiáng)大,也越來(lái)越穩(wěn)定可靠,而且精度也越來(lái)越高,各種環(huán)境對(duì)溫控系統(tǒng)的要求也越來(lái)越高。溫度控制系統(tǒng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應(yīng)用場(chǎng)合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中 ,如何提高溫度控制對(duì)象的運(yùn)行性能一直以來(lái)都是控制人員和現(xiàn)場(chǎng)技術(shù)人員努力解決的問(wèn)題。這類控制對(duì)象慣性大 ,滯后現(xiàn)象嚴(yán)重 ,存在很多不確定的因素 ,難以建立精確的數(shù)學(xué)模型 ,從而導(dǎo)致控制系統(tǒng)性能不佳 ,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡(jiǎn)單實(shí)用 ,但由于繼電器動(dòng)作頻繁 ,可能會(huì)因觸點(diǎn)不良而影響正常工作??刂祁I(lǐng)域還大量采用傳統(tǒng)的 PID 控制方式 ,但 PID 控制對(duì)象的模型難以建立 ,并且當(dāng)擾動(dòng)因素不明確時(shí) ,參數(shù)調(diào)整不便仍是普遍存在的問(wèn)題。 而采用數(shù)字溫度傳感器 DS18B20,因其內(nèi)部集成了 A/D 轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡(jiǎn)單,而且減少了溫度測(cè)量轉(zhuǎn)換時(shí)的精度損失,使得測(cè)量溫度更加精確。數(shù)字溫度傳感器 DS18B20 只用一 個(gè)引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩,使得單片機(jī)更加具有擴(kuò)展性。由于 DS18B20 芯片的小型化,更加可以通過(guò)單條數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器 DS18B20 做成探頭,探入到狹小的地方,增加了實(shí)用性。還能串接多個(gè)數(shù)字溫度傳感器 DS18B20 進(jìn)行多點(diǎn)的溫度檢測(cè)。溫度自動(dòng)控制系統(tǒng)主要是由溫度采集、顯示、揚(yáng)聲器報(bào)警、加熱制冷模塊和上位機(jī)顯示模塊組成。本畢設(shè)就是講述以上模塊的溫控系統(tǒng)的應(yīng)用。 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 2 頁(yè) 共 36 頁(yè) 1 緒論 1.1 單片微機(jī)的發(fā)展 單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī), 是典型的嵌入式微控制器( Microcontroller Unit)常用英文字母的縮寫 MCU 表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。單片機(jī)由 運(yùn)算器、控制器、存儲(chǔ)器、輸入輸出設(shè)備構(gòu)成 ,相當(dāng)于一個(gè)微型的計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。單片機(jī)它最早是被用在工業(yè)控制領(lǐng)域。 由于單片機(jī)在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機(jī)由僅有 CPU 的 專用處理器芯片發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和 CPU 集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。 Intel 的 8080 是最早按照這種思想設(shè)計(jì)出的處理器,當(dāng)時(shí)的單片機(jī)都是 8 位或 4 位的。其中最成功的是 Intel 的 8051,此后在 8051 上發(fā)展出了 MCS-51 系列單片機(jī)系統(tǒng)。因?yàn)楹?jiǎn)單可靠而性能不錯(cuò)獲得了很大的好評(píng)。盡管 2000 年以后 ARM 已經(jīng)發(fā)展出了 32位的主頻超過(guò) 300M 的高端單片機(jī),直到現(xiàn)在基于 8051 的單片機(jī)還在廣泛的使用。在很多方面單片機(jī)比專用處理 器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了廣泛的應(yīng)用。事實(shí)上單片機(jī)是世界上數(shù)量最多的處理器,隨著單片機(jī)家族的發(fā)展壯大,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。 1.2 溫度檢測(cè)的意義及發(fā)展形勢(shì) 溫度是一個(gè)非常重要的物理量,因?yàn)樗鼤?huì)影響很多物理及化學(xué)變化的過(guò)程,例如,燃燒,發(fā)酵,烘烤,煅燒,結(jié)晶,濃度,空氣流動(dòng),以及蒸餾等等。因此對(duì)溫度的檢測(cè)以及控制的意義越來(lái)越大。在工業(yè)生產(chǎn)的過(guò)程中,很多時(shí)候都需要對(duì)溫度進(jìn)行嚴(yán)格的監(jiān)控,以使得生產(chǎn)得以順利的進(jìn)行,產(chǎn)品的質(zhì)量才能夠充分的保證。使用自動(dòng)溫控系統(tǒng)可以對(duì)生產(chǎn)的溫度進(jìn)行自動(dòng)控制 ,保證生產(chǎn)自動(dòng)化、智能化且能夠順利,安全的進(jìn)行,從而提高企業(yè)的生產(chǎn)效率。 溫控采集控制系統(tǒng)是在嵌入式系統(tǒng)設(shè)計(jì)的基礎(chǔ)上發(fā)展起來(lái)的。嵌入式系統(tǒng)雖然起源于微型計(jì)算機(jī)時(shí)代,但是微型計(jì)算機(jī)的體積、價(jià)格、可靠性,都無(wú)法滿足廣大用戶對(duì)嵌入式系統(tǒng)的要求,因此,嵌入式系統(tǒng)慢慢走上了芯片化道路。本畢設(shè)將敘述 STC89C52和傳感器芯片 DS18B20 設(shè)計(jì)的溫度控制系統(tǒng)。 1.3 溫控系統(tǒng)設(shè)計(jì)的核心 設(shè)計(jì)工業(yè)現(xiàn)場(chǎng)的溫度控制系統(tǒng)。采用 DS18B20 溫度傳感器,采集現(xiàn)場(chǎng)溫度,通過(guò)數(shù)碼管顯示,具有報(bào)警,開啟加熱 /制冷,和加大加熱 /制冷, 以及通過(guò)串口線和上位機(jī)通信的功能。性能穩(wěn)定,成本低廉,可連續(xù)工作,精度高,可靠性強(qiáng)等優(yōu)點(diǎn)。溫度控制系統(tǒng),具體的要求如下: 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 3 頁(yè) 共 36 頁(yè) ( 1) 在當(dāng)前三個(gè)數(shù)碼管上顯示當(dāng)前采集到的目標(biāo)溫度( 0099.9 ) ( 2) 當(dāng)目標(biāo)溫度低于 26時(shí),蜂鳴器開始報(bào)警,并且 DBJ 發(fā)光二極管閃爍(模擬開啟制熱設(shè)備);當(dāng)目標(biāo)溫度繼續(xù)降低,并低于 24時(shí),蜂鳴器的報(bào)警聲頻率加快,同時(shí) DBJ和 DJD 一起閃爍(模擬加大制熱設(shè)備制熱功率)。 ( 3) 當(dāng)目標(biāo)溫度高于 28時(shí),蜂鳴器開始報(bào)警,同時(shí) GBJ 閃爍(模擬開始制冷設(shè)備),當(dāng)目標(biāo)溫度繼續(xù)升高,并高于 30時(shí),蜂鳴器加快 報(bào)警聲頻率,同時(shí) GBJ 和 GJD 一起閃爍(模擬制冷設(shè)備加大制冷功率)。 ( 4) 用串口將采集到的溫度數(shù)據(jù)實(shí)時(shí)的發(fā)送到上位機(jī),在上位機(jī)軟件上實(shí)時(shí)的顯示當(dāng)前的溫度值。 下面溫控系統(tǒng)的組成請(qǐng)看圖 1-1 數(shù)據(jù)顯示 DS18B20 輸入 高 /低溫度報(bào)警 電源 變頻器 變頻器 制冷 制熱 圖 1-1 溫控系統(tǒng)組成圖 2 單片機(jī)的簡(jiǎn)述 2.1 單片機(jī)的特點(diǎn)及引腳簡(jiǎn)介 單片機(jī)的特點(diǎn): 1.采用 哈佛體系結(jié)構(gòu) 2.采用面向控制的指令系統(tǒng) 3.引腳功能服用 4.片內(nèi) RAM 作寄存器 PC 機(jī) MAX232 CPU STC89C52 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 4 頁(yè) 共 36 頁(yè) 5.類型齊全 6.功能通用 7.具有三高優(yōu)勢(shì) (集成度高、可靠性高、性價(jià)比高 )。 1多功能 單片機(jī)利用當(dāng)今先進(jìn)的半導(dǎo)體器件制造技術(shù),盡可能多地把各種計(jì)算機(jī)部件、存儲(chǔ)器和各種類型的輸入 /輸出端口都集成在一塊芯片內(nèi)。因此,一個(gè)單片機(jī)所能實(shí)現(xiàn)的功能是很多的。 2高性能 由于單片機(jī)的制造技術(shù)和系統(tǒng)結(jié)構(gòu)的完善,單片機(jī)的運(yùn)行速度和執(zhí)行效率大大提高。集成度的提高,不但使各種各樣的輸入和輸出接口可以集成在單片機(jī)內(nèi),而且使存儲(chǔ)器的尋址范圍也大大擴(kuò)大,因此,單片機(jī)的性能比同類微型計(jì)算機(jī)的性能有明顯的優(yōu)勢(shì)。 3體積小 正因?yàn)閱纹瑱C(jī)的集成度高,使所有硬件集中在一塊半導(dǎo)體芯片上,所以,單片機(jī)體積較之于同類微處理器小得多。因此,系統(tǒng)中控制部分的體積也隨之大大縮小,單片機(jī)將成為微電子嵌入式系 統(tǒng)中的理想部件。 4低功耗 目前,許多單片機(jī)都能在低電壓、低功耗下工作,有的單片機(jī)可在 2.2V,甚至能在 0.9V 下工作,并且,電流也低到微安級(jí)。 5產(chǎn)品設(shè)計(jì)周期短 用單片機(jī)進(jìn)行產(chǎn)品設(shè)計(jì),由于它的功能強(qiáng),體積小,使硬件設(shè)計(jì)簡(jiǎn)化;又因各種仿真器的問(wèn)世,使用戶的編程和調(diào)試變的非常方便,大大減少了用戶系統(tǒng)的軟件設(shè)計(jì)和調(diào)試的時(shí)間。本畢設(shè)所用單片機(jī)位 STC89C52 其引腳,如圖 2-1 如左圖, STC89C52 有 40 個(gè)引腳,這種封裝形式叫做 DIP40 封裝。 VCC, GND-單片機(jī)電源腳。 VCC 是電源輸入引腳, GND 是接地信號(hào)引腳。 XTAL1, XTAL2 外接時(shí)鐘引腳。 XTAL1 為片內(nèi)震蕩電路輸入端, XTAL2 為片內(nèi)震蕩電路輸出端。 8051 的時(shí)鐘方式有兩種,一種是片內(nèi)時(shí)鐘震蕩方式,需要在這兩個(gè)引腳外接石英晶體和震蕩電容,震蕩電容的值一般取 10P30P;另外一種是外部時(shí)鐘方式,即將 XTAL1 接地,外部時(shí)鐘信 圖 2-1 STC89C52 引腳圖 號(hào)從 XTAL2 腳接入。 P 1. 01P 1. 12P 1. 23P 1. 34P 1. 45P 1. 56P 1. 67P 1. 78R S T9P 3. 0/ R X D10P 3. 1/ T X D11P 3. 2/ I N T 012P 3. 3/ I N T 113P 3. 4/ T 014P 3. 5/ T 115P 3. 6/ W R16P 3. 7/ R D17X T A L 218X T A L 119G N D20P 2. 021P 2. 122P 2. 223P 2. 324P 2. 425P 2. 526P 2. 627P 2. 728P S E N29A L E / P R O G30E A /V pp31P 0. 7/ A D 732P 0. 6A D 633P 0. 5/ A D 534P 0. 4/ A D 435P 0. 3/ A D 336P 0. 2/ A D 237P 0. 1/ A D 138P 0. 0/ A D 039V c c40U1S T C 89C 52桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 5 頁(yè) 共 36 頁(yè) RST 復(fù)位引腳,需要輸入連續(xù)兩個(gè)機(jī)器周期以上的高電平才有效。用來(lái)完 成單片機(jī)的復(fù)位初始化操作,復(fù)位后程序計(jì)數(shù)器 PC=0000H,即復(fù)位后程序從頭開始執(zhí)行。 PSEN -全稱是程序存儲(chǔ)器允許輸出控制端。(由于如今單片機(jī)程序存儲(chǔ)器有足夠的內(nèi)部 ROM,此處略講) ALE/PROG -在單片機(jī)擴(kuò)展外部 RAM 時(shí), ALE 用于控制把 P0 口的輸出低 8 位送地址鎖存器鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。 EA /Vpp-接高電平時(shí),單片機(jī)讀取內(nèi)部程序存儲(chǔ)器。當(dāng)擴(kuò)展有外部 ROM 時(shí),讀完內(nèi)部 ROM 后自動(dòng)讀取外部 ROM。接低電平時(shí),單片機(jī)直接讀取外部( ROM)。8031 沒(méi)有單片機(jī)沒(méi)有內(nèi)部 ROM 所以接低電平。本文使用 89C52 所以接高電平。 I/O 口引腳 P0, P1, P2, P3。 P0 雙向 8 位三態(tài) I/O 口,每個(gè)口可獨(dú)立控制。 P1 準(zhǔn)雙向 8 位 I/O 口,每個(gè)口可獨(dú)立控制,內(nèi) 帶上拉電阻(若想了解全面可查相關(guān)資料),這種口輸出沒(méi)有高阻態(tài),輸入不能鎖存,故不是真正的雙向 I/O 口。 P2 口與 P1 口相似。 P3 準(zhǔn)雙向 8 位 I/O 口,每個(gè)口可獨(dú)立控制,內(nèi)帶上拉電阻。此口第一功能當(dāng)做普通 I/O 口。第二功能定義如下: P3.0: RXD 串行口輸入 P3.1: TXD 串行口輸出 P3.2: INT0 外部中斷 0 輸入 P3.3: INT1外部中斷 1 輸入 P3.4: T0 定時(shí)器 0外部輸入 P3.5: T1 定時(shí)器 1 外部輸入 P3.6: WR 外部寫控制 P3.7: RD 外部讀控制 2.2 單片機(jī)的電平特性 單片機(jī)是數(shù)字集成芯片,所以其工作是由數(shù)字電平控制方式。數(shù)字電路只有兩種電平,高( 1)和低( 0)。常用邏輯電平有 TTL,CMOS,LVTTL,ECL,PECL 等等很多,我們用的最多的是 TTL 和 CMOS。 5V TTL 和 5V CMOS 是通用的邏輯電平。 TTL 電平信號(hào)用的最多,這是因?yàn)?,?shù)據(jù)表示通常采用二進(jìn)制, +5V 等價(jià)于邏輯 1, 0V 等價(jià)于邏輯0.這被稱為 TTL(晶體管 -晶體管邏輯電平)信號(hào)系統(tǒng),這是計(jì)算機(jī)處理器控制的設(shè)備內(nèi)部之間通信的標(biāo)準(zhǔn)技術(shù)。 TTL 型通信大多數(shù)情況下 是采用并行數(shù)據(jù)傳輸方式。 CMOS 電平 VCC 可達(dá) 12V, CMOS 電路輸出高電平約為 0.9VCC,而輸出低電平約為 0.1VCC 。 CMOS 電路中不使用的輸入端不能懸空,否則會(huì)造成邏輯混亂。另外 CMOS集成電路電源電壓可以在較大的范圍內(nèi)變化,因而對(duì)電源的要求不像 TTL 那么嚴(yán)格。TTL 和 CMOS 的邏輯電平關(guān)系如下: VOH-邏輯電平 1 的輸出電壓 VOL-邏輯電平 0 的輸出電壓 VIH-邏輯電平 1 的輸入電壓 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 6 頁(yè) 共 36 頁(yè) VIL-邏輯電平 0 的輸入電壓 TTL 臨界值: VOHmin=2.4V, VOLmax=0.4V。 VIHmin=2.0V, VILmax=0.8V TTL 電平范圍 05V。 CMOS 電平臨界值: ( 1) VOHmin=4.99V, VOLmax=0.01V。 ( 2) VIHmin=3.5V, VILmax=1.5V TTL 和 CMOS 邏輯電平的轉(zhuǎn)換: CMOS 電平能驅(qū)動(dòng) TTL 電平,但 TTL 電平不能驅(qū)動(dòng) CMOS 電平,需加上拉電阻。 2.3 C51 復(fù)位電路 單片機(jī)復(fù)位電路由主要有兩種: ( 1) 上電復(fù)位 RC 上電復(fù)位電路,在單片機(jī)上電后,對(duì)復(fù)位電路的電容充電。如圖 2-2 所示。在上電 瞬間, RST 端的電位與 Vcc 相同,隨著充電電流的減少, RST 的電位逐漸下降。只要保證 RST 為高電平的時(shí)間大于 2 個(gè)機(jī)器周期,就能正常復(fù)位。電路中的電容和電阻取值可根據(jù)晶振的頻率而定,我們使用 11.0592MHZ,所以應(yīng)該使用 10uF 電容和 8.2K電阻(本畢設(shè)使用 10K)。 RCV C CC 5 1R S TG N D R1CV C CC 5 1R S TG N DR2S1 圖 2-2 RC 上電復(fù)位電路 圖 2-3 按鍵復(fù)位電路 ( 2) 按鍵復(fù)位 按鍵復(fù)位又稱手動(dòng)復(fù)位,按鍵電平復(fù)位相當(dāng)于 RST 端通過(guò)電阻與電源接通實(shí)現(xiàn)的。該電路除具有上電復(fù)位功能外,如果要在程 序運(yùn)行中復(fù)位,只需要按下如圖 2-3 的那個(gè)鍵,此時(shí)電源被 R1, R2 分壓,在 RST 端產(chǎn)生一個(gè)復(fù)位的高電平,從而達(dá)到復(fù)位作用。 2.4 時(shí)鐘電路 8051 的時(shí)鐘有兩種方式,一種是片內(nèi)時(shí)鐘震蕩方式,另外一種是外部時(shí)鐘方式。 ( 1) 內(nèi)部時(shí)鐘方式 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 7 頁(yè) 共 36 頁(yè) MCS-51 單片機(jī)芯片內(nèi)部有一個(gè) 高增益反相放大器 ,其輸入端為 XTAL1,輸出端為 XTAL2。在 XTAL1 和 XTAL2 之間跨接晶振和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的內(nèi)部時(shí)鐘電路。如圖 2-4 圖 2-4 內(nèi)部時(shí)鐘電路 圖 2-5 HMOS 型單片機(jī)外部時(shí)鐘電路 (2)外部時(shí)鐘方式 對(duì)于 HMOS 型單片機(jī)( 8051),可用來(lái)輸入外部脈沖信號(hào) ,XTAL1 接地, XTAL2 接外部時(shí)鐘, 由于 XTAL2 的邏輯電平與 TTL 電平不兼容 ,所以應(yīng)接一個(gè)上拉電阻。如圖2-5。對(duì)于 CHMOS 單片機(jī)( 80C51),外部時(shí)鐘要由 XTAL1 引入,而 XTAL2 引腳應(yīng)懸空。 3 溫控系統(tǒng)的硬件 設(shè)計(jì) 3.1 溫度檢測(cè)模塊 3.1.1 溫度傳感器的概述 溫度傳感器是各種傳感器中最常用的一種,早期使用的是模擬溫度傳感器,比如熱敏電阻,隨著溫度的變化,它的阻值也發(fā)生了 類似線性的變化 ,通過(guò)處理器采集電阻兩端的阻值,再通過(guò)某個(gè)公式就可計(jì)算出當(dāng)前的溫度。隨著科技的進(jìn)步,現(xiàn)代的溫度傳感器已經(jīng)走向數(shù)字化。 DALLAS 半導(dǎo)體公司推出的數(shù)字化溫度傳感器 DS18B20 采用單總線協(xié)議,即與單片機(jī)接口僅需占用一個(gè) I/O 口,無(wú)須任何的外部元件,直接將環(huán)境溫度轉(zhuǎn)化為數(shù)字信號(hào),以 數(shù)字碼 的方式串行輸出。 DS18B20 是 DALLAS 公司推出的第一片支持“一總線”接口的的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn)。 ( 1) DS18B20 的特性: 適應(yīng)電壓范圍寬,電壓范圍在 3.05.5V,在 寄生電源方式 下可以由數(shù)據(jù)線供電。 獨(dú)特的單線接口方式,它與處理器連接時(shí)僅需要一個(gè) I/O 口就可以和微處理器雙向通信。 支持多點(diǎn)組網(wǎng)功能,多個(gè) DS18B20 可以并聯(lián)在唯一 單總線上 ,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。 Y11 2 MC12 0 p FC22 0 p FX T A L 2X T A L 18 0 C 5 11 2AV C C外部輸入信號(hào) X T A L 2X T A L 1T T L 門8 0 5 1桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 8 頁(yè) 共 36 頁(yè) 負(fù)壓特性。電源極性接反時(shí)不會(huì)因?yàn)榘l(fā)熱而燒壞,但是不能正常工作。 測(cè)量范圍在 -55 +125,在 -10 +85時(shí)精度 為 0.5。 在使用中不需要任何外圍的元件,全部傳感元件和轉(zhuǎn)換電路都集成在一個(gè) 三極管的集成電路內(nèi) 。 測(cè)量結(jié)果直接輸出數(shù)字信號(hào),通過(guò)單總線串行傳送給微處理器,同時(shí)可傳送CRC 校驗(yàn)碼,具有很強(qiáng)的抗干擾糾錯(cuò)能力。 可編程分辨率為 9-12 位,對(duì)應(yīng)的可分辨溫度分別為 0.5 ,0.25 ,0.125 和0.0625,可實(shí)現(xiàn)高精度測(cè)溫。 ( 2) 引腳簡(jiǎn)介 DS18B20 有兩種封裝形式,一種是三腳直插型,是使用最普遍的一種封裝。和八腳 SOSI 貼片式封裝。如下圖 3-1所示 圖 3-1 DS18B20 的兩種封裝 GND-電源負(fù)極 DQ-信號(hào)輸入輸出 VDD -電源正極 NC-空引腳 ( 3) DS18B20 與單片機(jī)硬件連接圖 前文提到 DS18B20 具有單總線,單片機(jī)與外設(shè)之間進(jìn)行串行傳輸?shù)拇锌偩€主要有 I2C, SPI 和 SCI 總線。其中 I2C 總線以同步串行二線方式進(jìn)行通信(一條時(shí)鐘線一條數(shù)據(jù)線), SPI 總線則以同步串行三線方式進(jìn)行通信(一條時(shí)鐘線,一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線),而 SCI 總線是以異步方式進(jìn)行通信(一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線)。這些總線需 要兩條或者兩條以上的的信號(hào)線。但是 DS18B20 采用的單總線技術(shù)與桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 9 頁(yè) 共 36 頁(yè) 上述的總線不同,它采用了單條信號(hào)線,既可傳輸時(shí)鐘,又可傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技術(shù)具有線路簡(jiǎn)單,硬件開銷少,成本低廉,便于總線擴(kuò)展和維護(hù)等優(yōu)點(diǎn)。單總線使用與單主機(jī)系統(tǒng),可以控制一個(gè)或多個(gè)從機(jī)設(shè)備。 圖 3-2 DS18B20 與微處理器典型連接電路 主機(jī)可以是微控制器,從機(jī)可以是單總線器件,它們之間的數(shù)據(jù)交換至通過(guò)一條信號(hào)線。當(dāng)只有一個(gè)從機(jī)設(shè)備時(shí),系統(tǒng)可按單節(jié)點(diǎn)系 統(tǒng)操作;當(dāng)有多個(gè)從機(jī)設(shè)備時(shí),系統(tǒng)則按多節(jié)點(diǎn)系統(tǒng)操作。本畢設(shè)單片機(jī)只是與一個(gè) DS18B20 通信,如果要控制多個(gè)DS18B20 進(jìn)行溫度采集,只要將所有 DS18B20 的 I/O 口全部接到一起就可以了。具體操作時(shí),通過(guò)讀取每個(gè) DS18B20 內(nèi)部芯片的序列號(hào)來(lái)識(shí)別。 3.1.2 DS18B20 的工作原理和工作時(shí)序圖 單片機(jī)要讀出 DS18B20 的溫度數(shù)據(jù),首先要知道控制 DS18B20 的指令。 33H-讀 ROM,讀 DS18B20 溫度傳感器 ROM 中的編碼( 64 位地址) 55H-匹配 ROM。發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問(wèn)單總線上與該編碼相對(duì)應(yīng)的 DS18B20 并使之做出響應(yīng),為下一步對(duì)該 DS18B20 的讀 /寫作準(zhǔn)備。 F0H-搜索 ROM。用于確定掛接在同一總線上 DS18B20 的個(gè)數(shù),識(shí)別 64 位ROM 地址,為操作各器件做好準(zhǔn)備。 CCH-跳過(guò) ROM。忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)溫度轉(zhuǎn)換命令,使用與一個(gè)從機(jī)工作。 ECH-告警搜索命令。執(zhí)行后只有溫度超過(guò)設(shè)定值上限或下限的,芯片才做出響應(yīng)。 ROM 的作用是使每個(gè) DS18B20 都各不相同,這樣就可以實(shí)現(xiàn)一條總線上掛接多個(gè) DS18B20 的 目的。當(dāng)主機(jī)需要對(duì)眾多在線 DS18B20 中的某一個(gè)進(jìn)行操作時(shí),主機(jī)應(yīng)先逐個(gè)與 DS18B20 掛接,讀出其序列號(hào);然后再將所有的 DS18B20 掛接到總線上,單片機(jī)發(fā)出匹配 ROM 命令,緊接著主機(jī)提供的 64 位序列號(hào)之后的操作就是針對(duì)該DS18B20。 如果主機(jī)只對(duì)一個(gè) DS18B20 進(jìn)行操作,就不需要讀取 ROM 編碼和匹配,直接跳過(guò)ROM 命令,就可以進(jìn)行溫度轉(zhuǎn)換和讀取。其操作如下 44H-溫度轉(zhuǎn)換。啟動(dòng) DS18B20 進(jìn)行溫度轉(zhuǎn)換,結(jié)果存入 9 字節(jié)的 RAM 中。 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 10 頁(yè) 共 36 頁(yè) BEH-讀暫存器。讀內(nèi)部 RAM 中 9 字節(jié)的溫度數(shù)據(jù)。 4EH-寫暫存器。發(fā)出向內(nèi)部 RAM 的第 2,3 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)數(shù)據(jù)。其他指令在這里就不做詳細(xì)介紹。 DS18B20 在出廠時(shí)默認(rèn)配置為 12 位 ,其中最高位為符號(hào)位,即溫度值共 11 位,單片機(jī)在讀數(shù)據(jù)時(shí),一次會(huì)讀兩字節(jié)共 16 位, 讀完后將低 11 位的二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)后再乘以 0.0625 便為所測(cè)的實(shí)際溫度值。 另外,還需要判斷溫度的正負(fù)。前 5 個(gè)字符為符號(hào)位,這 5 位同時(shí)變化,我們只需要判斷 11 位就可以了。 前 5 位為 1 時(shí),讀取的溫度為負(fù)值,且測(cè)到的數(shù)值需要取反加 1 再乘以 0.0625 才得到實(shí)際溫度值。 前 5 位為 0時(shí),讀取溫度位為正值,只需要將數(shù)值乘 0.0625 即可。 下面是 DS18B20 的工作時(shí)序簡(jiǎn)介 (1)初始化時(shí)序圖 圖 3-3 初始化時(shí)序圖 先將數(shù)據(jù)線置高電平 1。 延時(shí)(時(shí)間要求不是很嚴(yán)格,但 最好盡可能短 )。 數(shù)據(jù)線拉倒低電平 0。 延時(shí) 800s(時(shí)間可以在 480s960s 中選 ) 數(shù)據(jù)線拉高到電平 1。 延時(shí)等待。如果初始化成功則在 1560s 內(nèi)產(chǎn)生一個(gè)由 DS18B20 返回的低電平0。這個(gè)可以確定它的 存在。 如果 CPU 讀到數(shù)據(jù)線上的低電平后,還要進(jìn)行延時(shí),時(shí)間從發(fā)出高電平算起不少于 480s。 將數(shù)據(jù)線再次拉到低電平后結(jié)束。 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 11 頁(yè) 共 36 頁(yè) ( 2) DS18B20 的寫和讀數(shù)據(jù) 寫時(shí)序圖: 圖 3-4 DS18B20 讀時(shí)序圖 數(shù)據(jù)線先置低電平 0。 延時(shí)確定的時(shí)間為 15s。 按從低位到高位的順序發(fā)送數(shù)據(jù) 延時(shí)時(shí)間為 45s。 數(shù)據(jù)線拉倒高電平 1。 重復(fù)前面五步,直到發(fā)送完整一個(gè)字節(jié)。 最后將數(shù)據(jù)線拉高到 1。 讀時(shí)序圖: 圖 3-5 讀時(shí)序圖 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 12 頁(yè) 共 36 頁(yè) 圖 3-6 控制器讀 1 的詳細(xì)時(shí)序 圖 3-7 芯片資料推薦的控制器讀 1時(shí)序 結(jié)合上面 3-5,3-6, 3-7 圖,我們可以知道 將數(shù)據(jù)線拉高到 1。 延時(shí) 2s。 將數(shù)據(jù)線拉低到 0. 延時(shí) 5s。(時(shí)間大于 1s) 將數(shù)據(jù)線拉高到 1. 延時(shí) 4s。 讀數(shù)據(jù)線的狀態(tài)得到下一個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 延時(shí) 30s。 重復(fù)以上所有步驟,直到讀取完一個(gè)字節(jié)。 3.2 顯示模塊 3.2.1 數(shù)碼管簡(jiǎn)介 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 13 頁(yè) 共 36 頁(yè) 為了顯示方便和節(jié)省成本,溫度的顯示我們采用共陰單位數(shù)碼管顯示。首 先簡(jiǎn)單說(shuō)明共陰數(shù)碼管的內(nèi)部結(jié)構(gòu)。如圖 3-8 圖 3-8 共陰數(shù)碼管內(nèi)部結(jié)構(gòu) 對(duì)于共陰數(shù)碼管來(lái)說(shuō),其 8 個(gè)發(fā)光二極管的陰極在數(shù)碼管內(nèi)部是連接在一起的,而它們的陽(yáng)極是獨(dú)立的,通常在設(shè)計(jì)電路時(shí)一般把陰極接地。當(dāng)我們要顯示某個(gè)數(shù)時(shí),按照共陰數(shù)碼管編碼表,對(duì)單片機(jī)相應(yīng)的 I/O 口賦值就可以顯示相應(yīng)的數(shù)字。例如我們要顯示 8,那就是除了 dp,其他七個(gè)發(fā)光二極管都亮。假如數(shù)碼管和單片機(jī)的連接 P0口。則 P0=0x7f,數(shù)碼管的各引腳排列可以通過(guò)萬(wàn)用表測(cè)得。 圖 3-9 單位共陰數(shù)碼管引腳 一般的單位數(shù)碼管有 10 個(gè)引腳,就共陰單位數(shù)碼管來(lái)說(shuō),中間兩個(gè)對(duì)稱的引腳是相通的,既它們的共陰極。 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 14 頁(yè) 共 36 頁(yè) 圖 3-10 單片機(jī)與數(shù)碼管連接圖 如圖 3-10 數(shù)碼管的輸入端連接單片機(jī)的 P0 口,同時(shí)在 P0 口加上拉電阻。數(shù)碼管的 WX1, WX2,WX3 是它們的位選端,每個(gè)數(shù)碼管對(duì)應(yīng)一個(gè)位選端,它們分別與 U3鎖存器的數(shù)據(jù)輸出端的低三位相連, U3 的數(shù)據(jù)輸入端也連接到單片機(jī)的 P0口。兩個(gè)鎖存器的鎖存端分別與單片機(jī)的 P2.6 和 P2.7 相連。因?yàn)橛脝纹瑱C(jī)可以控制鎖存器的鎖存端,進(jìn)而控制鎖存器的數(shù)據(jù)輸出,這種分時(shí)控制的方法可以很方便的控制任意的數(shù)碼管顯示任意數(shù)字。當(dāng)我們要用第一個(gè)數(shù)碼管顯示一個(gè)數(shù)字時(shí),第二,第三個(gè)的位選就要關(guān)閉。即將數(shù)據(jù)從單片機(jī)的 I/O 口直接送到 U3 鎖存器的鎖存端一個(gè)高電平,然后將數(shù)據(jù)從單片機(jī)的 P0 口直接送出到鎖存器 U3 的數(shù)據(jù)輸出端,然后關(guān)閉 U3 的鎖存端。因?yàn)閿?shù)碼管為共陰極,所以位選通時(shí)為低電平,位選關(guān)閉時(shí)為高電平,即只有 WX1 端對(duì)應(yīng)數(shù)據(jù)為 0,其他都為 1。 3.2.2 74HC573 鎖存器的結(jié)構(gòu)及原理 74HC573 鎖存器 是一種數(shù)字芯片。其引腳圖如下: OE 是三態(tài)允許輸出端,通常叫做輸出使能端。D0-D8 為數(shù)據(jù)輸入端, Q0-Q8 為數(shù)據(jù)輸出端; LE 為鎖存允許端。 表 3-1 74HC573 的真值表 INPUTS OUTPUT P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78R S T9P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I N T 012P 3 .3 /I N T 113P 3 .4 /T 014P 3 .5 /T 115P 3 .6 /W R16P 3 .7 /R D17X T A L 218X T A L 119G N D20P 2 .021P 2 .122P 2 .223P 2 .324P 2 .425P 2 .526P 2 .627P 2 .728P S E N29A L E / P R O G30E A / V p p31P 0 .7 /A D 732P 0 .6 A D 633P 0 .5 /A D 534P 0 .4 /A D 435P 0 .3 /A D 336P 0 .2 /A D 237P 0 .1 /A D 138P 0 .0 /A D 039V c c40U1S T C 8 9 C 5 2X2X1V C C V C CD0D1D2D3D4D5D6D7E1D02D13D24D35D46D57D68D797Q126Q135Q144Q153Q162Q171Q180Q19L11G N D10V c c20U27 4 H C 5 7 3E1D02D13D24D35D46D57D68D797Q126Q135Q144Q153Q162Q171Q180Q19L11G N D10V c c20U37 4 H C 5 7 3V C CV C CD0D1D2D3D4D5D6D7W E L AW E 1W E 2W E 3D0D1D2D3D4D5D6D7D U L AabcdefghW E L AD U L AFMR X DT X D123456789P11 0 Kg1f2r3a4b5dp6c7v8d9e10abcdefg1g1f2r3a4b5dp6c7v8d9e10abcdefg2g1f2r3a4b5dp6c7v8d9e10abcdefg3e e ed d dc c ch h hb b ba a aW E 1 W E 2 W E 3f ffg g gV C CR S TC A S DC A S D桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 15 頁(yè) 共 36 頁(yè) OE LE D Q L H H H L H L L L L X Q0 H X X Z 圖 3-11 74HC573 引腳圖 由真值表可以看出,當(dāng) OE 為高電平時(shí),無(wú)論 LE 與為何電平狀態(tài),其輸出都是高阻態(tài)( Z)。這種情況下芯片是處于不可控狀態(tài)的,因此,我們將 OE 接低電平( L),即接地。當(dāng) OE 為低電平時(shí),再結(jié)合 LE 端的輸入狀態(tài),當(dāng) LE 端為高電平( H)時(shí) , Q 端的狀態(tài)和 D 端的一樣。當(dāng) LE 為低電平時(shí),無(wú)論 D 端的電平是什么, Q 端都保持上一次的數(shù)據(jù)狀態(tài)。 3.3 溫超報(bào)警模塊 溫度警報(bào)本畢設(shè)采用蜂鳴器進(jìn)行報(bào)警,其電路如下圖 3-12 圖 3-12 蜂鳴器報(bào)警連接圖 圖中 PNP 三極管是采用了 S8550,它是一種普通的硅三極管,但是可以滿足蜂鳴器大電流的要求??梢圆捎?SS8550,聲音會(huì)更大些。 3.4 串口通信模塊 ( 1)通信有并行和串行兩種方式。在單片機(jī)系統(tǒng)以及現(xiàn)代單片機(jī)測(cè)控系統(tǒng)中,信息的交換多采用 串行通信方式。 相對(duì)于并行通信,串行通信的速度比較慢,這種方式所用的傳輸線少(例如二根),因而在通信時(shí)可降低成本,比較經(jīng)濟(jì)。另外,它還可以借助于現(xiàn)存的電話網(wǎng)進(jìn)行數(shù)據(jù)傳送,因此串行通信適合于遠(yuǎn)距離且傳送速度要求不很高的通信。 串行通信有三種傳輸制式,這就是單工( Simplex)方式、半雙工( Half-Duplex) 和全雙工( Full-Duplex)方式。 單工。單工是指數(shù)據(jù)傳輸僅能沿一個(gè)方向,不能反向傳輸。 Q1P N PFMV C CR51KFMC 5 1桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 16 頁(yè) 共 36 頁(yè) 半雙工。半雙工是指數(shù)據(jù)可以沿兩個(gè)方向, 但需要分時(shí)進(jìn)行。 全雙工。全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。 異步通信方式 :串行異步通信方式是以字符為單位進(jìn)行傳輸?shù)模惒酵ㄐ潘捎玫臄?shù)據(jù)格式是以一組可變 位數(shù) 的數(shù)組成的。第一位稱起始位,它的寬度為 1bit,低電平;接著傳送一個(gè)數(shù)據(jù) 5 8bit,以高電平為 1,低電平 為 0;也可有一位奇偶校驗(yàn)位;后是停止位,寬度可以是 1bit、 1.5bit 或 2bit,在兩個(gè)數(shù)據(jù)位之間可有空閑位。 圖 3-13 異步通信的數(shù)據(jù)格式 同步通信協(xié)議 :在同步通信時(shí)所使用的數(shù)據(jù)格式根據(jù)控制規(guī)程常分為:面向字符及面向比特兩種。同步通信方式在每個(gè)數(shù)據(jù)前后不加起 始位和停止位,而是將數(shù)據(jù)順序連接起來(lái),以一個(gè)數(shù)據(jù)塊為傳輸單位, 每個(gè)數(shù)據(jù)塊附加一個(gè)或二個(gè)同步字符,最后以校驗(yàn)字符結(jié)束。串行通信的傳送速率:在串行通信中常用波特率( Band Rate)來(lái)表示數(shù)據(jù)傳送的速率。所謂傳輸率就是指每秒傳輸多少位,即波特率。國(guó)際上規(guī)定了一個(gè)標(biāo)準(zhǔn)波特率系列,標(biāo)準(zhǔn)波特率也是最常用的波特率。標(biāo)準(zhǔn)波特率系列 為 :110、 300、 600、 1200、 1800、2400、 4800、 9600 和 19200。 圖 3-14 同步通信傳輸格式 ( 2) 串口連接原理圖以及發(fā)送接 收原理 我們使用 MAX232 把 TTL 電平從 0V 和 5V 轉(zhuǎn)換到 3V 到 5V 或 -3V 到 -15V 之間。MAX232 包含兩路接收器和驅(qū)動(dòng)器的 IC 芯片,它的內(nèi)部有一個(gè)電源電壓變換器,可以把輸入的 +5V 電源電壓變換成 RS232 輸出電平所需的 +10V 電壓。如圖 3-15 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 17 頁(yè) 共 36 頁(yè) 如左圖,按照芯片手冊(cè)我們可以知道 C3、 C5、 C6、 C7 應(yīng)取 0.1F/16V的電解電容,經(jīng)過(guò)實(shí)驗(yàn)和總結(jié)前人經(jīng)驗(yàn),我們可以選用 0.1F 的非極性的瓷片電容代替電解電容。在布線時(shí),這四個(gè)電容要盡量靠近 MAX232 芯片,以提高抗干擾能力。 MAX232 的 11 和12 引 腳分別連接單片機(jī)的 P3.1 和P3.0,這兩個(gè)發(fā)送和接收端口,MAX232 也可以使用 9 和 10 引腳作為一對(duì)發(fā)送和接收端口, 但是要注意組引腳要對(duì)應(yīng) 。 TTL 電平從單片機(jī)的TXD 發(fā)出,經(jīng)過(guò) MAX232 轉(zhuǎn)換 RS232 圖 3-15 串口連接部分圖 平后從 MAX232 的 14 引腳 T1OUT 發(fā)出, 再連接到串口座的第 3 引腳,再經(jīng)過(guò)隨機(jī)配送的交叉串口線后,連接到 PC 機(jī)的串口座的第 2 腳 RXD,這時(shí)候計(jì)算機(jī)就可以接收到數(shù)據(jù)了。 PC 機(jī)發(fā)送數(shù)據(jù)時(shí)從計(jì)算機(jī)的串口座的第 3 引腳 TXD 端發(fā)出的數(shù)據(jù),再逆向流向單片機(jī)的 RXD 端即 P3.0 口接收數(shù)據(jù)。 4 軟件設(shè)計(jì) 4.1 系統(tǒng)整體設(shè)計(jì) ( 1)如圖 4-1,主程序流程圖 主程序首先進(jìn)行串口初始化,以及鎖存器鎖存端置低電平。然后 DS18B20 開始檢測(cè)溫度,見(jiàn)得到的溫度數(shù)據(jù)通過(guò)單總線傳輸?shù)?51 單片 機(jī),進(jìn)行溫度處理,通過(guò) I/O 即P0 口輸出到數(shù)碼管進(jìn)行顯示。如果溫度超過(guò)設(shè)定范圍蜂鳴器將報(bào)警,同時(shí)加大制冷制熱的設(shè)備將會(huì)工作。溫度數(shù)據(jù)通過(guò)串口發(fā)送到上位機(jī),實(shí)現(xiàn)了實(shí)時(shí)監(jiān)控。 主程序 main() 初始化串口以及鎖存器控制端置低電平 溫度檢測(cè) 162738495J1 D B 9C 1 +1V+2C 1 -3C 2 -5C 2 +4V-6T 2 O U T7R 2 I N8R 2 O U T9T 2 IN10T 1 IN11R 1 O U T12R 1 I N13T 1 O U T14G N D15V c c16U4M A X 2 3 2T X DR X DC3 1 0 4V C CC41 0 4C51 0 4 / 0 . 1 u FC61 0 4C71 0 4桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 18 頁(yè) 共 36 頁(yè) 圖 4-1 主程序流程圖 ( 2)主程序的 C 代碼如下 : void main()/主函數(shù) uchar buff4,i; kz1=0; kz2=0; init_com(); while(1) tempchange();/溫度轉(zhuǎn)換函數(shù) for(i=10;i0;i-) dis_temp(get_temp();/獲取溫度并顯示 deal(temp); /進(jìn)行溫度處理 sprintf(buff,%f,f_temp);/將浮點(diǎn)型溫度格式化為字符型 獲取溫度并顯示 溫度顯示 串口發(fā)送數(shù)據(jù) 溫度顯示 溫度處理 溫超報(bào)警 開啟制冷 /制熱 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 19 頁(yè) 共 36 頁(yè) for(i=10;i0;i-) dis_temp(get_temp();/溫度顯示 comm(buff); /串口發(fā)送數(shù)據(jù) for(i=10;i0;i-) dis_temp(get_temp(); 4.2 溫度獲取并轉(zhuǎn)換 ( 1) 溫度獲取與轉(zhuǎn)換子程序流程圖,如圖 4-2 溫度獲取與轉(zhuǎn)換子程序 , C 源程序如下: void tempchange(void)/DS18B20 開始獲取溫度并轉(zhuǎn)換 dsreset(); delay(1); tempwritebyte(0xcc);/跳過(guò)讀 ROM 指令 tempwritebyte(0x44);/寫溫度裝換指 令 uint get_temp()/讀取寄存器中存儲(chǔ)的溫度數(shù)據(jù) uchar a,b; 圖 4-2 溫度獲取與轉(zhuǎn)換子程序流程圖 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 20 頁(yè) 共 36 頁(yè) dsreset(); delay(1); tempwritebyte(0xcc); tempwritebyte(0xbe); a=tempread();/讀低 8 位 b=tempread();/讀高 8 位 temp=b; temp=8;/兩個(gè)字節(jié)組合為一個(gè)字 temp=temp|a; f_temp=temp*0.0625;/溫度在寄存器中為 12 位,分辨率為 0.0625 temp=f_temp*10+0.5;/乘以 10 表示小數(shù)點(diǎn)后面只取 1 位,加 0.5 是四舍五入 f_temp=f_temp+0.05; return temp; 4.3 溫度控制 我們將檢測(cè)到的溫度數(shù)據(jù)對(duì)其進(jìn)行 A/D 轉(zhuǎn)換并顯示,這并不是我們主要的目的,我們的目的是控溫。當(dāng)空間溫度在 26 -28 范圍時(shí),并不需要對(duì)被檢測(cè)空間進(jìn)行熱量的交換。當(dāng)被檢測(cè)空間溫度在 24 T26 時(shí),系統(tǒng)將模擬開啟制熱設(shè)備,即 DBJ 亮,當(dāng)空間溫度持續(xù)降低到 24 以下時(shí),系統(tǒng)模擬加大制熱設(shè)備功率。如果被檢測(cè)空間溫度在28 T30 范圍時(shí),系統(tǒng)將模擬開啟制冷設(shè)備,即 GBJ 亮,空間溫度持續(xù)上升超過(guò) 30時(shí),系統(tǒng)會(huì)自動(dòng)加大制冷功率。其程 序流程圖,如下圖 4-3 T24 24 T26 28 T30 DBJ、 DJD 亮,蜂鳴器急鳴 DBJ 亮,蜂鳴器慢鳴 GBJ 亮,蜂鳴器慢響 GBJ、 GDJ 亮,蜂鳴器急響 低溫報(bào)警 溫度控制 高溫報(bào)警 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 21 頁(yè) 共 36 頁(yè) 圖 4-3 溫度控制流程圖 其 C 程序代碼如下: void deal(uint t)/溫度控制函數(shù) uchar i; if(twarn_l2)&(t=warn_l1)/大于 24度小于 26度 warn(40,0x01);/第一個(gè)亮,蜂鳴器發(fā)出“滴”聲 else if(t=warn_l2) warn(10,0x03); else if(t=warn_h1)/第一第二個(gè)燈亮。蜂鳴器發(fā)出“滴”聲 warn(40,0x04); else if(t=warn_h2) warn(10,0x0c); else /在 26度和 28 度之間時(shí)只是調(diào)用顯示函數(shù)延時(shí) i=40; while(i-) dis_temp(get_temp(); 指示燈、蜂鳴器不工作 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 22 頁(yè) 共 36 頁(yè) 5 單片機(jī)與上位機(jī)通信 單片機(jī)與上位機(jī)通信的時(shí)候需要借助串口傳輸和接收信號(hào),在我們做 PCB 板時(shí)候需要對(duì)串口進(jìn)行調(diào)試,以確保其能正常通信。本畢設(shè)僅是采用 VB6.0 調(diào)用 MSComm 控件接收、處理和顯示溫度數(shù)據(jù)。在新建工程添加完 MSComm 控件和 TextBox 控件后,雙擊 【 TextBox】 控件在 Private Sub From_load()函數(shù)中增加如下代碼: MSComm1.Settings = 9600,N,8,1 波特率 9600bit/s,無(wú)校驗(yàn), 8 位數(shù)據(jù), 1 位停止位 MSComm1.CommPort = 3 設(shè)定串口, 3 為 com3(視具體情況而定,我的是使用 com3) MSComm1.InBufferSize = 8 設(shè)置返回接受緩沖區(qū)的大小,以字符為單位 MSComm1.OutBufferSize = 2 If MSComm1.PortOpen = True Then MSComm1.PortOpen = False 關(guān)串口 MSComm1.RThreshold = 4 設(shè)置并返回產(chǎn)生 oncomm 事件的字符數(shù),以字符為單位 Rthreshold 為 1,接收 緩沖區(qū)收到每一個(gè)字符都會(huì)產(chǎn)生 MSComm 控件產(chǎn)生 OnComm 事件 MSComm1.SThreshold = 1 MSComm1.InputMode = comInputModeText 以文本方式接收 If MSComm1.PortOpen = False Then MSComm1.PortOpen = True MSComm1.InBufferCount = 0 清空接收緩存區(qū) Me.Caption = 溫度 編輯完以上代碼雙擊窗體內(nèi) MSComm 控件,在 Private Sub MSComm1_OnComm()函數(shù)中添加如下接收數(shù)據(jù)的代碼: Dim rec As String Select Case MSComm1.CommEvent Case comEvReceive rec = MSComm1.Input Text1.Text = rec MSComm1.InBufferCount = 0 清空緩存區(qū) End Select 編輯完代碼后,按 F5 鍵,運(yùn)行程序。 在文本框中顯示如下圖 5-1 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 23 頁(yè) 共 36 頁(yè) 圖 5-1 VB 顯示溫度數(shù)據(jù)效果圖 結(jié)論 本次畢設(shè)是以 51 單片機(jī)為基礎(chǔ),采用 DS18B20 溫度傳感 器檢測(cè)溫度,數(shù)碼管顯示溫度以及通過(guò)串口與上位機(jī)通信用 VB 顯示溫度數(shù)據(jù)。經(jīng)過(guò)努力,我終于完成了本次課題設(shè)計(jì),在此期間,遇到了不少困難,但是通過(guò)動(dòng)手查閱資料和努力思考最終還是將問(wèn)題解決了,從而培養(yǎng)了我愛(ài)思考,愛(ài)動(dòng)手的好習(xí)慣。本次課題的研究讓我對(duì)單片機(jī)有更深的認(rèn)識(shí),學(xué)到了很多細(xì)節(jié)上應(yīng)該注意的問(wèn)題。對(duì)系統(tǒng)程序流程有了更深入的了解。同時(shí)提高了我的編程能力。但是我經(jīng)驗(yàn)尚淺,設(shè)計(jì)中難免會(huì)有不足的地方,謹(jǐn)盼老師給予指點(diǎn)。我會(huì)不斷的去實(shí)踐,在邁向社會(huì)之前,我們要謙虛踏實(shí)敢于實(shí)踐,從中探究真理,不斷學(xué)習(xí)。 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 24 頁(yè) 共 36 頁(yè) 謝 辭 本畢業(yè)設(shè)計(jì)得以順利完成我要謝謝很多人的幫助。感謝我的指導(dǎo)老師宋老師的悉心指導(dǎo)。是他那嚴(yán)謹(jǐn)求實(shí)的教學(xué)作風(fēng)、誨人不倦的耐心精神才使我的畢業(yè)設(shè)計(jì)順利完成,不積跬步無(wú)以至千里,所以我要更虛心的向老師學(xué)習(xí),充實(shí)自我。為今后順利的開展工作打下良好的基礎(chǔ),特別是對(duì)認(rèn)識(shí)問(wèn)題、分析問(wèn)題、解決問(wèn)題的能力有了大大的提高,自己收獲卻是很大。我有幸得到老師和學(xué)長(zhǎng)的每一個(gè)階段的幫助和耐心指導(dǎo),在此謹(jǐn)向所有老師特別是我的指導(dǎo)老師宋老師致以誠(chéng)摯的謝意和崇高的敬意。 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 25 頁(yè) 共 36 頁(yè) 參考文獻(xiàn) 1 劉剛 . Protel DXP 2004 SP2 原理圖與 PCB 設(shè)計(jì) (第 2 版 )M. 北京: 電子工業(yè)出版社 , 2011, 1. 2 李秀霞 . Protel DXP2004 電路設(shè)計(jì)與仿真教程 (第 2 版 )M. 北京: 北京航空航天大學(xué)出版社 , 2010, 8. 3 王冬 . Protel DXP 2004應(yīng)用 100例 M. 北京 : 電子 工業(yè)出版社 , 2011, 1. 4 Liu Dan, Wang Yufeng. Digital Speed Measurement System in the Rubber Production Domain J. Sensor World. 2003, (4): 2831. 5 李學(xué)海 . PIC 單片機(jī)實(shí)用教程 -基礎(chǔ)篇 (第 2 版 ) M. 北京: 北京航空航天大學(xué)出版社 , 2007, 2. 6 李學(xué)海 . PIC 單片機(jī)實(shí)用教程:提高篇 (第 2 版 )M. 北京: 北京航空航天大學(xué)出版社 , 2007, 2. 7 丁躍軍 . PIC 單片機(jī)基礎(chǔ)教程 M. 北京: 北京航空航天大學(xué)出版社 , 2005, 7. 8 何橋 . 單 片機(jī)原理及應(yīng)用 M. 北京: 中國(guó)鐵道出版社 , 2006, 7. 9 李榮正 . PIC 單片機(jī)初級(jí)教程 M. 北京: 北京航空航天大學(xué)出版社 , 2006, 3. 10 李中華 . 8 位單片機(jī) C 語(yǔ)言編程:基于 PIC16M. 北京:人民郵電出版社 , 2006, 8. 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 26 頁(yè) 共 36 頁(yè) 附 錄 附錄 1 電路總原理圖 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 27 頁(yè) 共 36 頁(yè) 附錄 2 完整 C 程序代碼: P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78R S T9P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I N T 012P 3 .3 /I N T 113P 3 .4 /T 014P 3 .5 /T 115P 3 .6 /W R16P 3 .7 /R D17X T A L 218X T A L 119G N D20P 2 .021P 2 .122P 2 .223P 2 .324P 2 .425P 2 .526P 2 .627P 2 .728P S E N29A L E / P R O G30E A / V p p31P 0 .7 /A D 732P 0 .6 A D 633P 0 .5 /A D 534P 0 .4 /A D 435P 0 .3 /A D 336P 0 .2 /A D 237P 0 .1 /A D 138P 0 .0 /A D 039V c c40U1S T C 8 9 C 5 2X2X1Y11 1 .0 5 9 2 MC12 0 p FC22 0 p FS1R C 11KR C 21 0 K+C J 11 0 u FV C CR S TV C C V C CD0D1D2D3D4D5D6D7G N D1I /O2V c c3T1D S 1 8 B 2 0E1D02D13D24D35D46D57D68D797Q126Q135Q144Q153Q162Q171Q180Q19L11G N D10V c c20U27 4 H C 5 7 3E1D02D13D24D35D46D57D68D797Q126Q135Q144Q153Q162Q171Q180Q19L11G N D10V c c20U37 4 H C 5 7 3V C CV C CD0D1D2D3D4D5D6D7W E L AW E 1W E 2W E 3D0D1D2D3D4D5D6D7D U L AabcdefghW E L AD U L AQ1P N PFMV C CR51KFMFMX1X2162738495J1 D B 9C 1 +1V+2C 1 -3C 2 -5C 2 +4V-6T 2 O U T7R 2 I N8R 2 O U T9T 2 IN10T 1 IN11R 1 O U T12R 1 I N13T 1 O U T14G N D15V c c16U4M A X 2 3 2R X DT X DT X DR X DC31 0 4V C CC41 0 4C51 0 4 / 0 . 1 u FC61 0 4C71 0 4123456789P11 0 K12345P21 0 Kg1f2r3a4b5dp6c7v8d9e10abcdefg1g1f2r3a4b5dp6c7v8d9e10abcdefg2g1f2r3a4b5dp6c7v8d9e10abcdefg3e e ed d dc c ch h hb b ba a aW E 1 W E 2 W E 3f ffg g gD B 1D B 2D B 3D B 4V C CR C 31 0 K+C T 14 7 u FD B 7V C C-4D13D22+1U S B 1U S BR11K253146S W 1V C CR S TC A S DC A S DV C C桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 28 頁(yè) 共 36 頁(yè) #include #include #define uchar unsigned char #define uint unsigned int sbit DQ=P22; sbit kz1=P26; sbit kz2=P27; sbit beep=P23; uint temp;/定義整型的溫度數(shù)據(jù) float f_temp;/定義浮點(diǎn)型溫度數(shù)據(jù) uint warn_l1=260;/定義溫度下限值 是溫度乘 10 以后的結(jié)果 uint warn_l2=240;/定義溫度下限值 uint warn_h1=280; uint warn_h2=300; sbit DBJ=P10; sbit DJD=P11; sbit GBJ=P12; sbit GJD=P13; unsigned char code table= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,/帶小數(shù)點(diǎn)的共陰數(shù)碼管編碼 0-9 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;/不帶小數(shù)點(diǎn)的。 void delay(uint z) uint x,y; for (x=z;x0;x-) for(y=110;y0;y-); void dsreset(void)/DS1820 復(fù)位,初始化函數(shù) uint i; DQ=0; i=103; while(i0)i-; 桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 29 頁(yè) 共 36 頁(yè) DQ=1; i=4; while(i0)i-; bit tempreadbit(void)/讀一位數(shù)據(jù)函數(shù) uint i; bit dat; DQ=0; i+;/起延時(shí)作用 DQ=1; i+; i+; dat=DQ; i=8; while(i0)i-; return(dat); uchar tempread(void)/讀一個(gè)字節(jié)數(shù)據(jù) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=t

溫馨提示

  • 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)論