




已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
畢業(yè)設計 (論文 ) 題 目: 基于 51 單片機的 DS18B20 溫度 傳感器的應用 院 (系): 電子工程與自動化學院 專 業(yè): 機電一體化工程 學生姓名: 梁源光 學 號: 030111301171 指導教師: 宋長發(fā) 職 稱: 副教授 題目類型: 理論研究 實驗研究 工程設計 工程技術研究 軟件開發(fā) 2014 年 05 月 10 日 桂林電子科技大學畢業(yè)設計(論文)報告用紙 1 摘 要 溫度的測量和控制對人類日常生活、工業(yè)生產(chǎn)、氣象預報、物資倉儲等都起著極其重要的作用。在許多場合,及時準確獲得目標的溫度是十分重要的,近年來,溫度測控領域發(fā)展迅速,并且隨著數(shù)字技術的發(fā)展,溫度的測控芯片也相應的登上歷史的舞臺,能夠在工業(yè)、農(nóng)業(yè)等各領域中廣泛使用。溫控系統(tǒng)通過傳感器檢測溫度將溫度數(shù)據(jù)輸入到處理器處理,可以在數(shù)碼管或 LCD 等顯示出來。然后由控制器可以控制加熱或者制冷,從而達到控溫的目的。 本畢業(yè)設計就是利用 STC89C52 單片機和 DS18B20 溫度傳感器對目標溫度進行檢測, 使用了單位數(shù)碼管對檢測到溫度的顯示,通過串口和上位機進行通信,利用 VB 軟件顯示溫度數(shù)據(jù),從而對各空間溫度進行遠程實時監(jiān)控,使用 LED 燈閃爍進行模擬加熱和制冷。本文對各部分的硬件原理圖進行了分析,還對各功能程序進行概述。通過 51單片機控制 DS18B20 檢測溫度,具有硬件電路簡單,編程容易,測溫準確,穩(wěn)定等優(yōu)點。而且可以多點檢測(本畢設只是單點測溫),幾個傳感器連接也很簡單。 關鍵詞: 單片機; 溫控;傳感器 桂林電子科技大學畢業(yè)設計(論文)報告用紙 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 桂林電子科技大學畢業(yè)設計(論文)報告用紙 3 目 錄 引言 .1 1 緒論 . 2 1.1 單片微機的發(fā)展 .2 1.2 溫度檢測的意義及發(fā)展形勢 .2 1.3 溫控系統(tǒng)設計的核心 .2 2 單片機的簡述 .3 2.1 單片機的特點及引腳介紹 .3 2.2 單片機的電平特性 .5 2.3 C51 復位電路 .6 2.4 時鐘電路 .6 3 溫控系統(tǒng) 的硬件設計 .7 3.1 溫度檢測模塊 .7 3.1.1 溫度傳感器的概述 .7 3.1.2 DS18B20 的工作原理及工作時序圖 .9 3.2 顯示模塊 .12 3.3 溫超報警模塊 .14 3.4 串口通信模塊 .15 4 軟件設計 .17 4.1 系統(tǒng)整體設計 .17 4.2 溫度獲取并轉(zhuǎn)換 .19 4.3 溫度控制 .20 5 單片機與上位機通信 .21 總 結(jié) .23 謝 辭 .24 參考文獻 .25 附錄 1電路原理圖 .26 附錄 2 完整 C程序代碼 .28 附錄 3 模塊調(diào)試代碼 .34 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 1 頁 共 34 頁 引言 上世紀 90 年代以來,單片機就進入了一個高速發(fā)展的階段,大部分半導體廠商都注重新型單片機的研制、生 產(chǎn)和推廣。單片機已經(jīng)深入到我們生活的每一個細節(jié),由于單片機的微型電子產(chǎn)品到處都是,尤其是 ARM的廣泛應用,使我們的生活變得更豐富多彩。隨著電子技術的發(fā)展,現(xiàn)在溫度控制系統(tǒng)的功能越來越強大,也越來越穩(wěn)定可靠,而且精度也越來越高,各種環(huán)境對溫控系統(tǒng)的要求也越來越高。溫度控制系統(tǒng)廣泛應用于社會生活的各個領域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應用場合和所要求的性能指標有所不同 , 在工業(yè)企業(yè)中 ,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術人員努力解決的問題。這類控制對象慣性大 ,滯后現(xiàn)象嚴重 ,存在很多不確定的因素 ,難以建立精確的數(shù)學模型 ,從而導致控制系統(tǒng)性能不佳 ,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡單實用 ,但由于繼電器動作頻繁 ,可能會因觸點不良而影響正常工作??刂祁I域還大量采用傳統(tǒng)的 PID 控制方式 ,但 PID 控制對象的模型難以建立 ,并且當擾動因素不明確時 ,參數(shù)調(diào)整不便仍是普遍存在的問題。 而采用數(shù)字溫度傳感器 DS18B20,因其內(nèi)部集成了 A/D 轉(zhuǎn)換器,使得電路結(jié)構更加簡單,而且減少了溫度測量轉(zhuǎn)換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器 DS18B20 只用一 個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于 DS18B20 芯片的小型化,更加可以通過單條數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器 DS18B20 做成探頭,探入到狹小的地方,增加了實用性。還能串接多個數(shù)字溫度傳感器 DS18B20 進行多點的溫度檢測。溫度自動控制系統(tǒng)主要是由溫度采集、顯示、揚聲器報警、加熱制冷模塊和上位機顯示模塊組成。本畢設就是講述以上模塊的溫控系統(tǒng)的應用。 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 2 頁 共 36 頁 1 緒論 1.1 單片微機的發(fā)展 單片微型計算機簡稱單片機, 是典型的嵌入式微控制器( Microcontroller Unit)常用英文字母的縮寫 MCU 表示單片機,單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。單片機由 運算器、控制器、存儲器、輸入輸出設備構成 ,相當于一個微型的計算機(最小系統(tǒng)),和計算機相比,單片機缺少了外圍設備等。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。單片機它最早是被用在工業(yè)控制領域。 由于單片機在工業(yè)控制領域的廣泛應用,單片機由僅有 CPU 的 專用處理器芯片發(fā)展而來。最早的設計理念是通過將大量外圍設備和 CPU 集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。 Intel 的 8080 是最早按照這種思想設計出的處理器,當時的單片機都是 8 位或 4 位的。其中最成功的是 Intel 的 8051,此后在 8051 上發(fā)展出了 MCS-51 系列單片機系統(tǒng)。因為簡單可靠而性能不錯獲得了很大的好評。盡管 2000 年以后 ARM 已經(jīng)發(fā)展出了 32位的主頻超過 300M 的高端單片機,直到現(xiàn)在基于 8051 的單片機還在廣泛的使用。在很多方面單片機比專用處理 器更適合應用于嵌入式系統(tǒng),因此它得到了廣泛的應用。事實上單片機是世界上數(shù)量最多的處理器,隨著單片機家族的發(fā)展壯大,單片機和專用處理器的發(fā)展便分道揚鑣。 1.2 溫度檢測的意義及發(fā)展形勢 溫度是一個非常重要的物理量,因為它會影響很多物理及化學變化的過程,例如,燃燒,發(fā)酵,烘烤,煅燒,結(jié)晶,濃度,空氣流動,以及蒸餾等等。因此對溫度的檢測以及控制的意義越來越大。在工業(yè)生產(chǎn)的過程中,很多時候都需要對溫度進行嚴格的監(jiān)控,以使得生產(chǎn)得以順利的進行,產(chǎn)品的質(zhì)量才能夠充分的保證。使用自動溫控系統(tǒng)可以對生產(chǎn)的溫度進行自動控制 ,保證生產(chǎn)自動化、智能化且能夠順利,安全的進行,從而提高企業(yè)的生產(chǎn)效率。 溫控采集控制系統(tǒng)是在嵌入式系統(tǒng)設計的基礎上發(fā)展起來的。嵌入式系統(tǒng)雖然起源于微型計算機時代,但是微型計算機的體積、價格、可靠性,都無法滿足廣大用戶對嵌入式系統(tǒng)的要求,因此,嵌入式系統(tǒng)慢慢走上了芯片化道路。本畢設將敘述 STC89C52和傳感器芯片 DS18B20 設計的溫度控制系統(tǒng)。 1.3 溫控系統(tǒng)設計的核心 設計工業(yè)現(xiàn)場的溫度控制系統(tǒng)。采用 DS18B20 溫度傳感器,采集現(xiàn)場溫度,通過數(shù)碼管顯示,具有報警,開啟加熱 /制冷,和加大加熱 /制冷, 以及通過串口線和上位機通信的功能。性能穩(wěn)定,成本低廉,可連續(xù)工作,精度高,可靠性強等優(yōu)點。溫度控制系統(tǒng),具體的要求如下: 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 3 頁 共 36 頁 ( 1) 在當前三個數(shù)碼管上顯示當前采集到的目標溫度( 0099.9 ) ( 2) 當目標溫度低于 26時,蜂鳴器開始報警,并且 DBJ 發(fā)光二極管閃爍(模擬開啟制熱設備);當目標溫度繼續(xù)降低,并低于 24時,蜂鳴器的報警聲頻率加快,同時 DBJ和 DJD 一起閃爍(模擬加大制熱設備制熱功率)。 ( 3) 當目標溫度高于 28時,蜂鳴器開始報警,同時 GBJ 閃爍(模擬開始制冷設備),當目標溫度繼續(xù)升高,并高于 30時,蜂鳴器加快 報警聲頻率,同時 GBJ 和 GJD 一起閃爍(模擬制冷設備加大制冷功率)。 ( 4) 用串口將采集到的溫度數(shù)據(jù)實時的發(fā)送到上位機,在上位機軟件上實時的顯示當前的溫度值。 下面溫控系統(tǒng)的組成請看圖 1-1 數(shù)據(jù)顯示 DS18B20 輸入 高 /低溫度報警 電源 變頻器 變頻器 制冷 制熱 圖 1-1 溫控系統(tǒng)組成圖 2 單片機的簡述 2.1 單片機的特點及引腳簡介 單片機的特點: 1.采用 哈佛體系結(jié)構 2.采用面向控制的指令系統(tǒng) 3.引腳功能服用 4.片內(nèi) RAM 作寄存器 PC 機 MAX232 CPU STC89C52 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 4 頁 共 36 頁 5.類型齊全 6.功能通用 7.具有三高優(yōu)勢 (集成度高、可靠性高、性價比高 )。 1多功能 單片機利用當今先進的半導體器件制造技術,盡可能多地把各種計算機部件、存儲器和各種類型的輸入 /輸出端口都集成在一塊芯片內(nèi)。因此,一個單片機所能實現(xiàn)的功能是很多的。 2高性能 由于單片機的制造技術和系統(tǒng)結(jié)構的完善,單片機的運行速度和執(zhí)行效率大大提高。集成度的提高,不但使各種各樣的輸入和輸出接口可以集成在單片機內(nèi),而且使存儲器的尋址范圍也大大擴大,因此,單片機的性能比同類微型計算機的性能有明顯的優(yōu)勢。 3體積小 正因為單片機的集成度高,使所有硬件集中在一塊半導體芯片上,所以,單片機體積較之于同類微處理器小得多。因此,系統(tǒng)中控制部分的體積也隨之大大縮小,單片機將成為微電子嵌入式系 統(tǒng)中的理想部件。 4低功耗 目前,許多單片機都能在低電壓、低功耗下工作,有的單片機可在 2.2V,甚至能在 0.9V 下工作,并且,電流也低到微安級。 5產(chǎn)品設計周期短 用單片機進行產(chǎn)品設計,由于它的功能強,體積小,使硬件設計簡化;又因各種仿真器的問世,使用戶的編程和調(diào)試變的非常方便,大大減少了用戶系統(tǒng)的軟件設計和調(diào)試的時間。本畢設所用單片機位 STC89C52 其引腳,如圖 2-1 如左圖, STC89C52 有 40 個引腳,這種封裝形式叫做 DIP40 封裝。 VCC, GND-單片機電源腳。 VCC 是電源輸入引腳, GND 是接地信號引腳。 XTAL1, XTAL2 外接時鐘引腳。 XTAL1 為片內(nèi)震蕩電路輸入端, XTAL2 為片內(nèi)震蕩電路輸出端。 8051 的時鐘方式有兩種,一種是片內(nèi)時鐘震蕩方式,需要在這兩個引腳外接石英晶體和震蕩電容,震蕩電容的值一般取 10P30P;另外一種是外部時鐘方式,即將 XTAL1 接地,外部時鐘信 圖 2-1 STC89C52 引腳圖 號從 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桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 5 頁 共 36 頁 RST 復位引腳,需要輸入連續(xù)兩個機器周期以上的高電平才有效。用來完 成單片機的復位初始化操作,復位后程序計數(shù)器 PC=0000H,即復位后程序從頭開始執(zhí)行。 PSEN -全稱是程序存儲器允許輸出控制端。(由于如今單片機程序存儲器有足夠的內(nèi)部 ROM,此處略講) ALE/PROG -在單片機擴展外部 RAM 時, ALE 用于控制把 P0 口的輸出低 8 位送地址鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。 EA /Vpp-接高電平時,單片機讀取內(nèi)部程序存儲器。當擴展有外部 ROM 時,讀完內(nèi)部 ROM 后自動讀取外部 ROM。接低電平時,單片機直接讀取外部( ROM)。8031 沒有單片機沒有內(nèi)部 ROM 所以接低電平。本文使用 89C52 所以接高電平。 I/O 口引腳 P0, P1, P2, P3。 P0 雙向 8 位三態(tài) I/O 口,每個口可獨立控制。 P1 準雙向 8 位 I/O 口,每個口可獨立控制,內(nèi) 帶上拉電阻(若想了解全面可查相關資料),這種口輸出沒有高阻態(tài),輸入不能鎖存,故不是真正的雙向 I/O 口。 P2 口與 P1 口相似。 P3 準雙向 8 位 I/O 口,每個口可獨立控制,內(nèi)帶上拉電阻。此口第一功能當做普通 I/O 口。第二功能定義如下: P3.0: RXD 串行口輸入 P3.1: TXD 串行口輸出 P3.2: INT0 外部中斷 0 輸入 P3.3: INT1外部中斷 1 輸入 P3.4: T0 定時器 0外部輸入 P3.5: T1 定時器 1 外部輸入 P3.6: WR 外部寫控制 P3.7: RD 外部讀控制 2.2 單片機的電平特性 單片機是數(shù)字集成芯片,所以其工作是由數(shù)字電平控制方式。數(shù)字電路只有兩種電平,高( 1)和低( 0)。常用邏輯電平有 TTL,CMOS,LVTTL,ECL,PECL 等等很多,我們用的最多的是 TTL 和 CMOS。 5V TTL 和 5V CMOS 是通用的邏輯電平。 TTL 電平信號用的最多,這是因為,數(shù)據(jù)表示通常采用二進制, +5V 等價于邏輯 1, 0V 等價于邏輯0.這被稱為 TTL(晶體管 -晶體管邏輯電平)信號系統(tǒng),這是計算機處理器控制的設備內(nèi)部之間通信的標準技術。 TTL 型通信大多數(shù)情況下 是采用并行數(shù)據(jù)傳輸方式。 CMOS 電平 VCC 可達 12V, CMOS 電路輸出高電平約為 0.9VCC,而輸出低電平約為 0.1VCC 。 CMOS 電路中不使用的輸入端不能懸空,否則會造成邏輯混亂。另外 CMOS集成電路電源電壓可以在較大的范圍內(nèi)變化,因而對電源的要求不像 TTL 那么嚴格。TTL 和 CMOS 的邏輯電平關系如下: VOH-邏輯電平 1 的輸出電壓 VOL-邏輯電平 0 的輸出電壓 VIH-邏輯電平 1 的輸入電壓 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 6 頁 共 36 頁 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ū)動 TTL 電平,但 TTL 電平不能驅(qū)動 CMOS 電平,需加上拉電阻。 2.3 C51 復位電路 單片機復位電路由主要有兩種: ( 1) 上電復位 RC 上電復位電路,在單片機上電后,對復位電路的電容充電。如圖 2-2 所示。在上電 瞬間, RST 端的電位與 Vcc 相同,隨著充電電流的減少, RST 的電位逐漸下降。只要保證 RST 為高電平的時間大于 2 個機器周期,就能正常復位。電路中的電容和電阻取值可根據(jù)晶振的頻率而定,我們使用 11.0592MHZ,所以應該使用 10uF 電容和 8.2K電阻(本畢設使用 10K)。 RCV C CC 5 1R S TG N D R1CV C CC 5 1R S TG N DR2S1 圖 2-2 RC 上電復位電路 圖 2-3 按鍵復位電路 ( 2) 按鍵復位 按鍵復位又稱手動復位,按鍵電平復位相當于 RST 端通過電阻與電源接通實現(xiàn)的。該電路除具有上電復位功能外,如果要在程 序運行中復位,只需要按下如圖 2-3 的那個鍵,此時電源被 R1, R2 分壓,在 RST 端產(chǎn)生一個復位的高電平,從而達到復位作用。 2.4 時鐘電路 8051 的時鐘有兩種方式,一種是片內(nèi)時鐘震蕩方式,另外一種是外部時鐘方式。 ( 1) 內(nèi)部時鐘方式 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 7 頁 共 36 頁 MCS-51 單片機芯片內(nèi)部有一個 高增益反相放大器 ,其輸入端為 XTAL1,輸出端為 XTAL2。在 XTAL1 和 XTAL2 之間跨接晶振和微調(diào)電容,從而構成一個穩(wěn)定的自激振蕩器,這就是單片機的內(nèi)部時鐘電路。如圖 2-4 圖 2-4 內(nèi)部時鐘電路 圖 2-5 HMOS 型單片機外部時鐘電路 (2)外部時鐘方式 對于 HMOS 型單片機( 8051),可用來輸入外部脈沖信號 ,XTAL1 接地, XTAL2 接外部時鐘, 由于 XTAL2 的邏輯電平與 TTL 電平不兼容 ,所以應接一個上拉電阻。如圖2-5。對于 CHMOS 單片機( 80C51),外部時鐘要由 XTAL1 引入,而 XTAL2 引腳應懸空。 3 溫控系統(tǒng)的硬件 設計 3.1 溫度檢測模塊 3.1.1 溫度傳感器的概述 溫度傳感器是各種傳感器中最常用的一種,早期使用的是模擬溫度傳感器,比如熱敏電阻,隨著溫度的變化,它的阻值也發(fā)生了 類似線性的變化 ,通過處理器采集電阻兩端的阻值,再通過某個公式就可計算出當前的溫度。隨著科技的進步,現(xiàn)代的溫度傳感器已經(jīng)走向數(shù)字化。 DALLAS 半導體公司推出的數(shù)字化溫度傳感器 DS18B20 采用單總線協(xié)議,即與單片機接口僅需占用一個 I/O 口,無須任何的外部元件,直接將環(huán)境溫度轉(zhuǎn)化為數(shù)字信號,以 數(shù)字碼 的方式串行輸出。 DS18B20 是 DALLAS 公司推出的第一片支持“一總線”接口的的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優(yōu)點。 ( 1) DS18B20 的特性: 適應電壓范圍寬,電壓范圍在 3.05.5V,在 寄生電源方式 下可以由數(shù)據(jù)線供電。 獨特的單線接口方式,它與處理器連接時僅需要一個 I/O 口就可以和微處理器雙向通信。 支持多點組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在唯一 單總線上 ,實現(xiàn)組網(wǎng)多點測溫。 Y11 2 MC12 0 p FC22 0 p FX T A L 2X T A L 18 0 C 5 11 2AV C C外部輸入信號 X T A L 2X T A L 1T T L 門8 0 5 1桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 8 頁 共 36 頁 負壓特性。電源極性接反時不會因為發(fā)熱而燒壞,但是不能正常工作。 測量范圍在 -55 +125,在 -10 +85時精度 為 0.5。 在使用中不需要任何外圍的元件,全部傳感元件和轉(zhuǎn)換電路都集成在一個 三極管的集成電路內(nèi) 。 測量結(jié)果直接輸出數(shù)字信號,通過單總線串行傳送給微處理器,同時可傳送CRC 校驗碼,具有很強的抗干擾糾錯能力。 可編程分辨率為 9-12 位,對應的可分辨溫度分別為 0.5 ,0.25 ,0.125 和0.0625,可實現(xiàn)高精度測溫。 ( 2) 引腳簡介 DS18B20 有兩種封裝形式,一種是三腳直插型,是使用最普遍的一種封裝。和八腳 SOSI 貼片式封裝。如下圖 3-1所示 圖 3-1 DS18B20 的兩種封裝 GND-電源負極 DQ-信號輸入輸出 VDD -電源正極 NC-空引腳 ( 3) DS18B20 與單片機硬件連接圖 前文提到 DS18B20 具有單總線,單片機與外設之間進行串行傳輸?shù)拇锌偩€主要有 I2C, SPI 和 SCI 總線。其中 I2C 總線以同步串行二線方式進行通信(一條時鐘線一條數(shù)據(jù)線), SPI 總線則以同步串行三線方式進行通信(一條時鐘線,一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線),而 SCI 總線是以異步方式進行通信(一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線)。這些總線需 要兩條或者兩條以上的的信號線。但是 DS18B20 采用的單總線技術與桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 9 頁 共 36 頁 上述的總線不同,它采用了單條信號線,既可傳輸時鐘,又可傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技術具有線路簡單,硬件開銷少,成本低廉,便于總線擴展和維護等優(yōu)點。單總線使用與單主機系統(tǒng),可以控制一個或多個從機設備。 圖 3-2 DS18B20 與微處理器典型連接電路 主機可以是微控制器,從機可以是單總線器件,它們之間的數(shù)據(jù)交換至通過一條信號線。當只有一個從機設備時,系統(tǒng)可按單節(jié)點系 統(tǒng)操作;當有多個從機設備時,系統(tǒng)則按多節(jié)點系統(tǒng)操作。本畢設單片機只是與一個 DS18B20 通信,如果要控制多個DS18B20 進行溫度采集,只要將所有 DS18B20 的 I/O 口全部接到一起就可以了。具體操作時,通過讀取每個 DS18B20 內(nèi)部芯片的序列號來識別。 3.1.2 DS18B20 的工作原理和工作時序圖 單片機要讀出 DS18B20 的溫度數(shù)據(jù),首先要知道控制 DS18B20 的指令。 33H-讀 ROM,讀 DS18B20 溫度傳感器 ROM 中的編碼( 64 位地址) 55H-匹配 ROM。發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應的 DS18B20 并使之做出響應,為下一步對該 DS18B20 的讀 /寫作準備。 F0H-搜索 ROM。用于確定掛接在同一總線上 DS18B20 的個數(shù),識別 64 位ROM 地址,為操作各器件做好準備。 CCH-跳過 ROM。忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)溫度轉(zhuǎn)換命令,使用與一個從機工作。 ECH-告警搜索命令。執(zhí)行后只有溫度超過設定值上限或下限的,芯片才做出響應。 ROM 的作用是使每個 DS18B20 都各不相同,這樣就可以實現(xiàn)一條總線上掛接多個 DS18B20 的 目的。當主機需要對眾多在線 DS18B20 中的某一個進行操作時,主機應先逐個與 DS18B20 掛接,讀出其序列號;然后再將所有的 DS18B20 掛接到總線上,單片機發(fā)出匹配 ROM 命令,緊接著主機提供的 64 位序列號之后的操作就是針對該DS18B20。 如果主機只對一個 DS18B20 進行操作,就不需要讀取 ROM 編碼和匹配,直接跳過ROM 命令,就可以進行溫度轉(zhuǎn)換和讀取。其操作如下 44H-溫度轉(zhuǎn)換。啟動 DS18B20 進行溫度轉(zhuǎn)換,結(jié)果存入 9 字節(jié)的 RAM 中。 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 10 頁 共 36 頁 BEH-讀暫存器。讀內(nèi)部 RAM 中 9 字節(jié)的溫度數(shù)據(jù)。 4EH-寫暫存器。發(fā)出向內(nèi)部 RAM 的第 2,3 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)數(shù)據(jù)。其他指令在這里就不做詳細介紹。 DS18B20 在出廠時默認配置為 12 位 ,其中最高位為符號位,即溫度值共 11 位,單片機在讀數(shù)據(jù)時,一次會讀兩字節(jié)共 16 位, 讀完后將低 11 位的二進制數(shù)轉(zhuǎn)化為十進制數(shù)后再乘以 0.0625 便為所測的實際溫度值。 另外,還需要判斷溫度的正負。前 5 個字符為符號位,這 5 位同時變化,我們只需要判斷 11 位就可以了。 前 5 位為 1 時,讀取的溫度為負值,且測到的數(shù)值需要取反加 1 再乘以 0.0625 才得到實際溫度值。 前 5 位為 0時,讀取溫度位為正值,只需要將數(shù)值乘 0.0625 即可。 下面是 DS18B20 的工作時序簡介 (1)初始化時序圖 圖 3-3 初始化時序圖 先將數(shù)據(jù)線置高電平 1。 延時(時間要求不是很嚴格,但 最好盡可能短 )。 數(shù)據(jù)線拉倒低電平 0。 延時 800s(時間可以在 480s960s 中選 ) 數(shù)據(jù)線拉高到電平 1。 延時等待。如果初始化成功則在 1560s 內(nèi)產(chǎn)生一個由 DS18B20 返回的低電平0。這個可以確定它的 存在。 如果 CPU 讀到數(shù)據(jù)線上的低電平后,還要進行延時,時間從發(fā)出高電平算起不少于 480s。 將數(shù)據(jù)線再次拉到低電平后結(jié)束。 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 11 頁 共 36 頁 ( 2) DS18B20 的寫和讀數(shù)據(jù) 寫時序圖: 圖 3-4 DS18B20 讀時序圖 數(shù)據(jù)線先置低電平 0。 延時確定的時間為 15s。 按從低位到高位的順序發(fā)送數(shù)據(jù) 延時時間為 45s。 數(shù)據(jù)線拉倒高電平 1。 重復前面五步,直到發(fā)送完整一個字節(jié)。 最后將數(shù)據(jù)線拉高到 1。 讀時序圖: 圖 3-5 讀時序圖 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 12 頁 共 36 頁 圖 3-6 控制器讀 1 的詳細時序 圖 3-7 芯片資料推薦的控制器讀 1時序 結(jié)合上面 3-5,3-6, 3-7 圖,我們可以知道 將數(shù)據(jù)線拉高到 1。 延時 2s。 將數(shù)據(jù)線拉低到 0. 延時 5s。(時間大于 1s) 將數(shù)據(jù)線拉高到 1. 延時 4s。 讀數(shù)據(jù)線的狀態(tài)得到下一個狀態(tài)位,并進行數(shù)據(jù)處理。 延時 30s。 重復以上所有步驟,直到讀取完一個字節(jié)。 3.2 顯示模塊 3.2.1 數(shù)碼管簡介 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 13 頁 共 36 頁 為了顯示方便和節(jié)省成本,溫度的顯示我們采用共陰單位數(shù)碼管顯示。首 先簡單說明共陰數(shù)碼管的內(nèi)部結(jié)構。如圖 3-8 圖 3-8 共陰數(shù)碼管內(nèi)部結(jié)構 對于共陰數(shù)碼管來說,其 8 個發(fā)光二極管的陰極在數(shù)碼管內(nèi)部是連接在一起的,而它們的陽極是獨立的,通常在設計電路時一般把陰極接地。當我們要顯示某個數(shù)時,按照共陰數(shù)碼管編碼表,對單片機相應的 I/O 口賦值就可以顯示相應的數(shù)字。例如我們要顯示 8,那就是除了 dp,其他七個發(fā)光二極管都亮。假如數(shù)碼管和單片機的連接 P0口。則 P0=0x7f,數(shù)碼管的各引腳排列可以通過萬用表測得。 圖 3-9 單位共陰數(shù)碼管引腳 一般的單位數(shù)碼管有 10 個引腳,就共陰單位數(shù)碼管來說,中間兩個對稱的引腳是相通的,既它們的共陰極。 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 14 頁 共 36 頁 圖 3-10 單片機與數(shù)碼管連接圖 如圖 3-10 數(shù)碼管的輸入端連接單片機的 P0 口,同時在 P0 口加上拉電阻。數(shù)碼管的 WX1, WX2,WX3 是它們的位選端,每個數(shù)碼管對應一個位選端,它們分別與 U3鎖存器的數(shù)據(jù)輸出端的低三位相連, U3 的數(shù)據(jù)輸入端也連接到單片機的 P0口。兩個鎖存器的鎖存端分別與單片機的 P2.6 和 P2.7 相連。因為用單片機可以控制鎖存器的鎖存端,進而控制鎖存器的數(shù)據(jù)輸出,這種分時控制的方法可以很方便的控制任意的數(shù)碼管顯示任意數(shù)字。當我們要用第一個數(shù)碼管顯示一個數(shù)字時,第二,第三個的位選就要關閉。即將數(shù)據(jù)從單片機的 I/O 口直接送到 U3 鎖存器的鎖存端一個高電平,然后將數(shù)據(jù)從單片機的 P0 口直接送出到鎖存器 U3 的數(shù)據(jù)輸出端,然后關閉 U3 的鎖存端。因為數(shù)碼管為共陰極,所以位選通時為低電平,位選關閉時為高電平,即只有 WX1 端對應數(shù)據(jù)為 0,其他都為 1。 3.2.2 74HC573 鎖存器的結(jié)構及原理 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桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 15 頁 共 36 頁 OE LE D Q L H H H L H L L L L X Q0 H X X Z 圖 3-11 74HC573 引腳圖 由真值表可以看出,當 OE 為高電平時,無論 LE 與為何電平狀態(tài),其輸出都是高阻態(tài)( Z)。這種情況下芯片是處于不可控狀態(tài)的,因此,我們將 OE 接低電平( L),即接地。當 OE 為低電平時,再結(jié)合 LE 端的輸入狀態(tài),當 LE 端為高電平( H)時 , Q 端的狀態(tài)和 D 端的一樣。當 LE 為低電平時,無論 D 端的電平是什么, Q 端都保持上一次的數(shù)據(jù)狀態(tài)。 3.3 溫超報警模塊 溫度警報本畢設采用蜂鳴器進行報警,其電路如下圖 3-12 圖 3-12 蜂鳴器報警連接圖 圖中 PNP 三極管是采用了 S8550,它是一種普通的硅三極管,但是可以滿足蜂鳴器大電流的要求??梢圆捎?SS8550,聲音會更大些。 3.4 串口通信模塊 ( 1)通信有并行和串行兩種方式。在單片機系統(tǒng)以及現(xiàn)代單片機測控系統(tǒng)中,信息的交換多采用 串行通信方式。 相對于并行通信,串行通信的速度比較慢,這種方式所用的傳輸線少(例如二根),因而在通信時可降低成本,比較經(jīng)濟。另外,它還可以借助于現(xiàn)存的電話網(wǎng)進行數(shù)據(jù)傳送,因此串行通信適合于遠距離且傳送速度要求不很高的通信。 串行通信有三種傳輸制式,這就是單工( Simplex)方式、半雙工( Half-Duplex) 和全雙工( Full-Duplex)方式。 單工。單工是指數(shù)據(jù)傳輸僅能沿一個方向,不能反向傳輸。 Q1P N PFMV C CR51KFMC 5 1桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 16 頁 共 36 頁 半雙工。半雙工是指數(shù)據(jù)可以沿兩個方向, 但需要分時進行。 全雙工。全雙工是指數(shù)據(jù)可以同時進行雙向傳輸。 異步通信方式 :串行異步通信方式是以字符為單位進行傳輸?shù)?,異步通信所采用的?shù)據(jù)格式是以一組可變 位數(shù) 的數(shù)組成的。第一位稱起始位,它的寬度為 1bit,低電平;接著傳送一個數(shù)據(jù) 5 8bit,以高電平為 1,低電平 為 0;也可有一位奇偶校驗位;后是停止位,寬度可以是 1bit、 1.5bit 或 2bit,在兩個數(shù)據(jù)位之間可有空閑位。 圖 3-13 異步通信的數(shù)據(jù)格式 同步通信協(xié)議 :在同步通信時所使用的數(shù)據(jù)格式根據(jù)控制規(guī)程常分為:面向字符及面向比特兩種。同步通信方式在每個數(shù)據(jù)前后不加起 始位和停止位,而是將數(shù)據(jù)順序連接起來,以一個數(shù)據(jù)塊為傳輸單位, 每個數(shù)據(jù)塊附加一個或二個同步字符,最后以校驗字符結(jié)束。串行通信的傳送速率:在串行通信中常用波特率( Band Rate)來表示數(shù)據(jù)傳送的速率。所謂傳輸率就是指每秒傳輸多少位,即波特率。國際上規(guī)定了一個標準波特率系列,標準波特率也是最常用的波特率。標準波特率系列 為 :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ū)動器的 IC 芯片,它的內(nèi)部有一個電源電壓變換器,可以把輸入的 +5V 電源電壓變換成 RS232 輸出電平所需的 +10V 電壓。如圖 3-15 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 17 頁 共 36 頁 如左圖,按照芯片手冊我們可以知道 C3、 C5、 C6、 C7 應取 0.1F/16V的電解電容,經(jīng)過實驗和總結(jié)前人經(jīng)驗,我們可以選用 0.1F 的非極性的瓷片電容代替電解電容。在布線時,這四個電容要盡量靠近 MAX232 芯片,以提高抗干擾能力。 MAX232 的 11 和12 引 腳分別連接單片機的 P3.1 和P3.0,這兩個發(fā)送和接收端口,MAX232 也可以使用 9 和 10 引腳作為一對發(fā)送和接收端口, 但是要注意組引腳要對應 。 TTL 電平從單片機的TXD 發(fā)出,經(jīng)過 MAX232 轉(zhuǎn)換 RS232 圖 3-15 串口連接部分圖 平后從 MAX232 的 14 引腳 T1OUT 發(fā)出, 再連接到串口座的第 3 引腳,再經(jīng)過隨機配送的交叉串口線后,連接到 PC 機的串口座的第 2 腳 RXD,這時候計算機就可以接收到數(shù)據(jù)了。 PC 機發(fā)送數(shù)據(jù)時從計算機的串口座的第 3 引腳 TXD 端發(fā)出的數(shù)據(jù),再逆向流向單片機的 RXD 端即 P3.0 口接收數(shù)據(jù)。 4 軟件設計 4.1 系統(tǒng)整體設計 ( 1)如圖 4-1,主程序流程圖 主程序首先進行串口初始化,以及鎖存器鎖存端置低電平。然后 DS18B20 開始檢測溫度,見得到的溫度數(shù)據(jù)通過單總線傳輸?shù)?51 單片 機,進行溫度處理,通過 I/O 即P0 口輸出到數(shù)碼管進行顯示。如果溫度超過設定范圍蜂鳴器將報警,同時加大制冷制熱的設備將會工作。溫度數(shù)據(jù)通過串口發(fā)送到上位機,實現(xiàn)了實時監(jiān)控。 主程序 main() 初始化串口以及鎖存器控制端置低電平 溫度檢測 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桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 18 頁 共 36 頁 圖 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); /進行溫度處理 sprintf(buff,%f,f_temp);/將浮點型溫度格式化為字符型 獲取溫度并顯示 溫度顯示 串口發(fā)送數(shù)據(jù) 溫度顯示 溫度處理 溫超報警 開啟制冷 /制熱 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 19 頁 共 36 頁 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);/跳過讀 ROM 指令 tempwritebyte(0x44);/寫溫度裝換指 令 uint get_temp()/讀取寄存器中存儲的溫度數(shù)據(jù) uchar a,b; 圖 4-2 溫度獲取與轉(zhuǎn)換子程序流程圖 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 20 頁 共 36 頁 dsreset(); delay(1); tempwritebyte(0xcc); tempwritebyte(0xbe); a=tempread();/讀低 8 位 b=tempread();/讀高 8 位 temp=b; temp=8;/兩個字節(jié)組合為一個字 temp=temp|a; f_temp=temp*0.0625;/溫度在寄存器中為 12 位,分辨率為 0.0625 temp=f_temp*10+0.5;/乘以 10 表示小數(shù)點后面只取 1 位,加 0.5 是四舍五入 f_temp=f_temp+0.05; return temp; 4.3 溫度控制 我們將檢測到的溫度數(shù)據(jù)對其進行 A/D 轉(zhuǎn)換并顯示,這并不是我們主要的目的,我們的目的是控溫。當空間溫度在 26 -28 范圍時,并不需要對被檢測空間進行熱量的交換。當被檢測空間溫度在 24 T26 時,系統(tǒng)將模擬開啟制熱設備,即 DBJ 亮,當空間溫度持續(xù)降低到 24 以下時,系統(tǒng)模擬加大制熱設備功率。如果被檢測空間溫度在28 T30 范圍時,系統(tǒng)將模擬開啟制冷設備,即 GBJ 亮,空間溫度持續(xù)上升超過 30時,系統(tǒng)會自動加大制冷功率。其程 序流程圖,如下圖 4-3 T24 24 T26 28 T30 DBJ、 DJD 亮,蜂鳴器急鳴 DBJ 亮,蜂鳴器慢鳴 GBJ 亮,蜂鳴器慢響 GBJ、 GDJ 亮,蜂鳴器急響 低溫報警 溫度控制 高溫報警 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 21 頁 共 36 頁 圖 4-3 溫度控制流程圖 其 C 程序代碼如下: void deal(uint t)/溫度控制函數(shù) uchar i; if(twarn_l2)&(t=warn_l1)/大于 24度小于 26度 warn(40,0x01);/第一個亮,蜂鳴器發(fā)出“滴”聲 else if(t=warn_l2) warn(10,0x03); else if(t=warn_h1)/第一第二個燈亮。蜂鳴器發(fā)出“滴”聲 warn(40,0x04); else if(t=warn_h2) warn(10,0x0c); else /在 26度和 28 度之間時只是調(diào)用顯示函數(shù)延時 i=40; while(i-) dis_temp(get_temp(); 指示燈、蜂鳴器不工作 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 22 頁 共 36 頁 5 單片機與上位機通信 單片機與上位機通信的時候需要借助串口傳輸和接收信號,在我們做 PCB 板時候需要對串口進行調(diào)試,以確保其能正常通信。本畢設僅是采用 VB6.0 調(diào)用 MSComm 控件接收、處理和顯示溫度數(shù)據(jù)。在新建工程添加完 MSComm 控件和 TextBox 控件后,雙擊 【 TextBox】 控件在 Private Sub From_load()函數(shù)中增加如下代碼: MSComm1.Settings = 9600,N,8,1 波特率 9600bit/s,無校驗, 8 位數(shù)據(jù), 1 位停止位 MSComm1.CommPort = 3 設定串口, 3 為 com3(視具體情況而定,我的是使用 com3) MSComm1.InBufferSize = 8 設置返回接受緩沖區(qū)的大小,以字符為單位 MSComm1.OutBufferSize = 2 If MSComm1.PortOpen = True Then MSComm1.PortOpen = False 關串口 MSComm1.RThreshold = 4 設置并返回產(chǎn)生 oncomm 事件的字符數(shù),以字符為單位 Rthreshold 為 1,接收 緩沖區(qū)收到每一個字符都會產(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 鍵,運行程序。 在文本框中顯示如下圖 5-1 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 23 頁 共 36 頁 圖 5-1 VB 顯示溫度數(shù)據(jù)效果圖 結(jié)論 本次畢設是以 51 單片機為基礎,采用 DS18B20 溫度傳感 器檢測溫度,數(shù)碼管顯示溫度以及通過串口與上位機通信用 VB 顯示溫度數(shù)據(jù)。經(jīng)過努力,我終于完成了本次課題設計,在此期間,遇到了不少困難,但是通過動手查閱資料和努力思考最終還是將問題解決了,從而培養(yǎng)了我愛思考,愛動手的好習慣。本次課題的研究讓我對單片機有更深的認識,學到了很多細節(jié)上應該注意的問題。對系統(tǒng)程序流程有了更深入的了解。同時提高了我的編程能力。但是我經(jīng)驗尚淺,設計中難免會有不足的地方,謹盼老師給予指點。我會不斷的去實踐,在邁向社會之前,我們要謙虛踏實敢于實踐,從中探究真理,不斷學習。 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 24 頁 共 36 頁 謝 辭 本畢業(yè)設計得以順利完成我要謝謝很多人的幫助。感謝我的指導老師宋老師的悉心指導。是他那嚴謹求實的教學作風、誨人不倦的耐心精神才使我的畢業(yè)設計順利完成,不積跬步無以至千里,所以我要更虛心的向老師學習,充實自我。為今后順利的開展工作打下良好的基礎,特別是對認識問題、分析問題、解決問題的能力有了大大的提高,自己收獲卻是很大。我有幸得到老師和學長的每一個階段的幫助和耐心指導,在此謹向所有老師特別是我的指導老師宋老師致以誠摯的謝意和崇高的敬意。 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 25 頁 共 36 頁 參考文獻 1 劉剛 . Protel DXP 2004 SP2 原理圖與 PCB 設計 (第 2 版 )M. 北京: 電子工業(yè)出版社 , 2011, 1. 2 李秀霞 . Protel DXP2004 電路設計與仿真教程 (第 2 版 )M. 北京: 北京航空航天大學出版社 , 2010, 8. 3 王冬 . Protel DXP 2004應用 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 李學海 . PIC 單片機實用教程 -基礎篇 (第 2 版 ) M. 北京: 北京航空航天大學出版社 , 2007, 2. 6 李學海 . PIC 單片機實用教程:提高篇 (第 2 版 )M. 北京: 北京航空航天大學出版社 , 2007, 2. 7 丁躍軍 . PIC 單片機基礎教程 M. 北京: 北京航空航天大學出版社 , 2005, 7. 8 何橋 . 單 片機原理及應用 M. 北京: 中國鐵道出版社 , 2006, 7. 9 李榮正 . PIC 單片機初級教程 M. 北京: 北京航空航天大學出版社 , 2006, 3. 10 李中華 . 8 位單片機 C 語言編程:基于 PIC16M. 北京:人民郵電出版社 , 2006, 8. 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 26 頁 共 36 頁 附 錄 附錄 1 電路總原理圖 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 27 頁 共 36 頁 附錄 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桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 28 頁 共 36 頁 #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;/定義浮點型溫度數(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ù)點的共陰數(shù)碼管編碼 0-9 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;/不帶小數(shù)點的。 void delay(uint z) uint x,y; for (x=z;x0;x-) for(y=110;y0;y-); void dsreset(void)/DS1820 復位,初始化函數(shù) uint i; DQ=0; i=103; while(i0)i-; 桂林電子科技大學畢業(yè)設計(論文)報告用紙 第 29 頁 共 36 頁 DQ=1; i=4; while(i0)i-; bit tempreadbit(void)/讀一位數(shù)據(jù)函數(shù) uint i; bit dat; DQ=0; i+;/起延時作用 DQ=1; i+; i+; dat=DQ; i=8; while(i0)i-; return(dat); uchar tempread(void)/讀一個字節(jié)數(shù)據(jù) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=t
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 親子教育居間勞務協(xié)議
- 2025年度北京市社區(qū)醫(yī)療服務合作協(xié)議范本
- 化妝品生產(chǎn)質(zhì)量管理體系手冊
- 垃圾處理廠工程居間協(xié)議
- 季度銷售成績回顧與未來展望報告
- 煙葉項目可行性研究報告
- 循環(huán)經(jīng)濟產(chǎn)業(yè)園項目可行性報告
- 電子雜志制作與推廣手冊
- 智能家居行業(yè)運營指南
- 個人學習成長計劃表之階段性目標
- 《5G時代萬物皆智聯(lián)》演講課件
- 造型的表現(xiàn)力 課件 2024-2025學年人教版初中美術八年級上冊
- 生態(tài)學專業(yè)英語詞匯
- 胸腔閉式引流護理-中華護理學會團體標準
- 《公安機關人民警察內(nèi)務條令》知識題庫
- 中東及非洲戰(zhàn)術高頻無線電行業(yè)現(xiàn)狀及發(fā)展機遇分析2024-2030
- 2024風電場集電線路電纜敷設施工方案
- 中醫(yī)拔罐課件
- TD/T 1075-2023 光伏發(fā)電站工程項目用地控制指標(正式版)
- 漢字藝術研究報告
- 宣傳片基本報價單三篇
評論
0/150
提交評論