基于單片機的溫度采集與液晶顯示_第1頁
基于單片機的溫度采集與液晶顯示_第2頁
基于單片機的溫度采集與液晶顯示_第3頁
基于單片機的溫度采集與液晶顯示_第4頁
基于單片機的溫度采集與液晶顯示_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 44 頁 共 44 頁 本科畢業(yè)設計說明書(論文) 1 緒論1.1 本課題研究的背景和意義 溫度,一個在日常生活和生產(chǎn)過程甚至科學實驗中普遍而且重要的物理參數(shù)。近年來,隨著社會的發(fā)展和科技的進步,溫度控制系統(tǒng)以及測溫儀器已經(jīng)廣泛應用于社會生活的各個領域,尤其是在工業(yè)自動化控制中占有非常重要的地位。人們通過溫度計來采集溫度,經(jīng)過人工操作進行加熱、通風和降溫。從而來控制溫度,但是對于這些控制對象慣性大,滯后性嚴重,而且還存在有許多不定的因素,從而根本難以建立精確的數(shù)學模型。這樣不僅控制精度低、實時性差,而且操作人員的勞動強度大,并且有許多工業(yè)生產(chǎn)環(huán)節(jié)是人們不能直接介入的。因此智能化已然成為現(xiàn)代

2、溫度控制系統(tǒng)發(fā)展的主流方向。針對這一種實際情況,設計個溫度控制系統(tǒng),具有非常廣泛的應用前景和實際意義1。隨著電子信息技術(shù)和微型計算機技術(shù)的飛速發(fā)展。單片機技術(shù)也得到了飛速的發(fā)展。尤其是在高集成度、高速度、低功耗還有高性能方面取得了巨大的進展。使得單片機在電子產(chǎn)品當中的應用越來越廣泛。使用單片機對溫度進行控制的技術(shù)也油然而生。它不僅可以克服溫度控制系統(tǒng)中存在的嚴重的滯后現(xiàn)象,同時還可以在提高采樣頻率的基礎上很大程度的提高控制的效果和控制的精度。并且隨著技術(shù)日益發(fā)展和完善,相信越來越能顯現(xiàn)出它的優(yōu)越性。1.2 目前國內(nèi)外研究現(xiàn)狀在國內(nèi)外溫度控制成了一門廣泛應用于很多領域的技術(shù)。像電力、化工、石油、

3、冶金、航空航天、機械制造、糧食存儲、酒類生產(chǎn)等。溫度控制系統(tǒng)雖然在國內(nèi)各行各業(yè)的應用已十分廣泛,但是從溫度控制器的生產(chǎn)角度來看,總體的發(fā)展水平仍不高。跟美德日等先進國家相比,仍有著較大的差距?!包c位”控制和常規(guī)的PID控制器占領了成熟產(chǎn)品的主體份額。但它只可以適用于一般的溫度系統(tǒng)控制,而難于控制復雜、滯后、時變的溫度控制系統(tǒng)。此外,適于較高控制場合的智能化、自適應控制儀表,目前在國內(nèi)還沒有取得較好的研究成果。并且,在形成商品化和儀表控制參數(shù)的自整定方面,一些先進國家雖已經(jīng)有一批成熟的產(chǎn)品。可是,由于國外對于先進技術(shù)的保密和國內(nèi)開發(fā)起步的滯后,導致至今國內(nèi)還沒有開發(fā)出一套擁有可靠性能的自整定軟件

4、。因此大多需要依靠人工經(jīng)驗和人為的現(xiàn)場調(diào)試來確定控制的參數(shù)。當下,國外溫度控制系統(tǒng)的發(fā)展依舊迅速,且在智能化和自適應還有參數(shù)自整定等方面均取得了顯著的成果。其中以美德日瑞典等國尤為突出,都已生產(chǎn)出了一批商品化且具有高性能的溫度控制器及儀器儀表,并在各行各業(yè)都有廣泛應用。當下,國外溫度控制系統(tǒng)及儀表正朝向高精度、智能化、小型化等方面快速發(fā)展25。1.3 研究的方法和內(nèi)容 在本次的設計研究當中,本次設計需要設計一個數(shù)字溫度計。它是由AT89C52單片機為核心,通過DS18B20數(shù)字式溫度傳感器進行溫度的采集,再由LCD1602液晶顯示器直觀的展現(xiàn)出來。它在正常工作的時候可以直接顯示當前溫度,當溫度

5、的變化超出或低于所設定的警戒值時,系統(tǒng)警報的小燈就會自動亮起并且蜂鳴器也會同時發(fā)出警報音,從而提醒注意溫度變化并采取相對應的措施。在此基礎上,經(jīng)過外加一個調(diào)溫鍵盤電路,從而能夠更為深一步的構(gòu)造出一個溫度控制系統(tǒng)6。通過人為的設置溫度警戒值的上下限,來適用于不同場合的需要。由于單片機的工作電壓是5V,而實際生活中并沒有直接提供5V的干電池,所以本次設計就通過外接了一個LM7805的穩(wěn)壓電路,將9V的干電池輸出電壓轉(zhuǎn)換成為可以供單片機工作的5V電壓。1.4 本章小結(jié) 本章簡單的描述了下溫度控制系統(tǒng)的發(fā)展和目前國內(nèi)外研究的現(xiàn)狀以及本課題的研究背景和意義,并且講述了本課題需要做的工作。2 總體方案的分

6、析與論證2.1 設計任務及要求本次設計的硬件部分是以AT89C52單片機為核心,通過DS18B20溫度傳感器進行溫度的測量,然后顯示在1602LCD液晶顯示屏上。軟件部分則以C語言進行程序的編寫。先將當前溫度由DS18B20溫度傳感器進行采集,然后傳輸?shù)紸T89C52單片機中,再由1602LCD液晶顯示器顯示出,并設置四個按鍵分別可以進行測量范圍最高溫和最低溫的加減調(diào)節(jié)。當測溫超出本次設計預設的警告值時,綠色指示燈亮起并由蜂鳴器發(fā)出報警;當測溫低于預設的警告值時,紅色指示燈亮起并由蜂鳴器發(fā)出報警。從而組成一個具有高低溫報警的溫度檢測系統(tǒng),具體系統(tǒng)總方案圖如圖2.1所示79。測溫AT89C52單

7、片機DS18b20溫度測量電路按鍵LCD1602顯示蜂鳴器報警電路圖2.1 系統(tǒng)總方案圖2.2 設計方案的比較 本次設計有兩種方案可供選擇。(1) 方案一由于是測溫電路的設計,所以可以用熱敏電阻之類的器件。利用它的感溫效應,在將隨被測溫度的變化而產(chǎn)生變化的電壓或電流采集過來。并用具有A/D 通道的單片機,再進行A/D 轉(zhuǎn)換之后,就能用單片機來實行數(shù)據(jù)處理,之后,在顯示的電路上,就能將被測的溫度顯示出來。但是,這種設計需要使用到A/D轉(zhuǎn)換電路,并且其中還牽涉到了電阻和溫度之間對應值的計算。感溫電路不僅比較麻煩。而且更在對所采集到的信號進行放大的時候容易受到溫度的影響從而出現(xiàn)較大的偏差。 (2)

8、方案二 利用數(shù)字式溫度傳感器DS18B20來進行測量溫度。由于它的輸出信號全數(shù)字化,所以便于單片機的處理和控制,并且還能省去傳統(tǒng)測溫方法中很多外圍的電路。而且它的物理和化學性都很穩(wěn)定,更加適用于做工業(yè)測溫。此外它的精確度也很高,在-10 85 范圍內(nèi)可以精確到±0.5 。完全滿足設計要求。關鍵DS18B20 的最大的特點之一就是它采用了單總線形式的數(shù)據(jù)傳輸。由數(shù)字溫度傳感器DS18B20和單片機AT89C52構(gòu)成的數(shù)字溫度計,它可以直接輸出溫度的數(shù)字信號,并可直接與計算機連接。如此,測溫系統(tǒng)的結(jié)構(gòu)就簡化了很多。使用51 單片機進行控制,軟件編程的自由度很大,能通過編程的方式來實現(xiàn)多種

9、的算術(shù)算法和邏輯控制。而且它體積小、硬件實現(xiàn)方便、組合安裝簡單。既能單獨的對多個DS18B20控制工作,還能夠與PC 機聯(lián)接通信上傳數(shù)據(jù)。另外AT89C52在工業(yè)生產(chǎn)控制上也有著深廣的應用,在編程技術(shù)上和外圍功能電路的配合使用上都很成熟。此系統(tǒng)采用AT89C52單片機來控制數(shù)字溫度傳感器DS18B20從而進行實時溫度的檢測與顯示,不僅可以實現(xiàn)快速測量環(huán)境溫度,還能夠根據(jù)需要進行設定上下限報警溫度的范圍。此外這個系統(tǒng)的擴展性也十分強,如它能夠在設計的時候加入時鐘芯片從而來獲取時間數(shù)據(jù),達到在溫度處理的同時顯示時間。從而滿足多方面的設計要求。這樣的設計就能夠不使用A/D轉(zhuǎn)換器,從而不僅能令系統(tǒng)提高

10、精確度,還可以大大節(jié)約單片機的系統(tǒng)資源1013。2.3 設計方案的選擇 所以經(jīng)過上述兩種方案的對比,本次設計挑選方案二來作為設計方案。因為方案二與方案一對比,它不僅硬件系統(tǒng)更為簡單,并且實現(xiàn)功能卻更加強大,而且方案二本身模塊化的設計又讓它的系統(tǒng)通用性遠遠高于方案一。所以在最終的對比下選擇了這個方案。2.4 本章小結(jié) 這一章節(jié)簡單描述了數(shù)字溫度控制系統(tǒng)的設計思路,以及設計方案的選擇,還有系統(tǒng)的組成、設計的原理,詳細的介紹了主板電路與顯示電路的結(jié)構(gòu)。此外還簡述了數(shù)字溫度傳感器DS18B20的特點。利用框圖的形式更加直觀、更加形象地描述了系統(tǒng)的整體組成。3 系統(tǒng)硬件的設計3.1 單片機模塊單片機幾乎

11、集成了一個完善了的中央處理單元。它是由CPU、隨即存取數(shù)據(jù)存儲器、只讀程序存儲器、輸入輸出電路(I/O口),還有可能包括定時/計數(shù)器、串行通信口、顯示驅(qū)動電路(LCD和LED驅(qū)動電路)、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器及A/D轉(zhuǎn)換器等多種電路均集成在了同一個單塊芯片之上,從而,構(gòu)成了一個最小但完善的計算機任務。因此,它的處理功能強。在中央處理單元之中集成了既方便又靈活的專用寄存器,這讓人們使用單片機得到了很大的便利。它把微型計算機的主要部件都集成在一塊芯片之上,從而讓數(shù)據(jù)的傳送距離大大的縮短了,運行的速度加快了,可靠性提高了,抗干擾能力加強了。因為它是屬于芯片化的微型計算機,所以每個功能部件在芯片

12、上的布局與結(jié)構(gòu)都得到最優(yōu)化,使得工作也相對穩(wěn)定。51單片機的優(yōu)勢在于它價錢便宜并I/O口多且程序空間大。所以,在測控系統(tǒng)中,使用51單片機是最為理想的選擇。由于單片機是屬于最為典型的一種嵌入式系統(tǒng),因此它是低端控制系統(tǒng)中最佳的器件14。本次設計中所選用的AT89C52單片機是由ATMEL公司生產(chǎn)的51系列單片機中的一個型號。它是一個低電壓卻有高性能CMOS 8位的單片機。它是由8k bytes的可以多次擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM)兩部分組合而成。通過ATMEL公司的高密度且非易失性存儲技術(shù)進行生產(chǎn)。在指令系統(tǒng)上更是兼容了標準MCS-51的指令

13、系統(tǒng)。由于它內(nèi)置了通用的8位中央處理器和Flash存儲單元,因此它的功能十分強大,從而在多種復雜的控制場合都看到它的身影。此單片機擁有40個引腳與32個外部雙向輸入/輸出(I/O)端口,此外,它還內(nèi)含2個外中斷口和3個16位可編程定時計數(shù)器與2個全雙工串行通信口外加2個讀寫口線。不過區(qū)別于AT89S52的是,它只可以用常規(guī)的方法來進行程序的編寫而不能夠在線編程。為了可以更有效地降低開發(fā)的成本,它與通用的微處理器與Flash存儲器結(jié)合在了一起,尤其是能夠反復擦寫的Flash存儲器。 如圖3.1所示為AT89C52引腳圖15。圖3.1 AT89C52引腳圖AT89C52是40個腳雙列直插封裝的8

14、位通用微處理器。它使用的是工業(yè)標準的C51內(nèi)核。其主要的管腳有:XTAL1(19 腳)與XTAL2(18 腳)是振蕩器的輸入/輸出端口,外接12MHz的晶振;RST/Vpd(9 腳)是復位/輸入端口,外接電阻電容組成的復位電路;VCC(40 腳)與VSS(20 腳)是供電端口,分別接在+5V電源的正負端;P0P3 是可編程通用I/O 腳,它的功能用途根據(jù)軟件來定義。 VCC:電源。 GND:地。P0口:為一個8位漏極開路型雙向I/O口,它能夠驅(qū)動8個TTL邏輯門電路負載。P0口能夠作為和外部數(shù)據(jù)傳輸?shù)?位數(shù)據(jù)總線,也能夠作為擴展外部存儲器時的低8位地址總線。當它作為普通I/O口使用時外部必須外

15、接上拉電阻。 P1口:為一個8位漏極開路型雙向I/O口,P1口緩沖器可以接收輸出4個TTL邏輯門電路,P1口內(nèi)部有上拉電阻。與AT89C51不同的是,P1.0 和P1.1 還能夠分別作為定時/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),見表3.1。表 3.1 P1.0 P1.1外部輸入引腳號功能特性P1.0P1.1T2,時鐘輸出T2EX(定時/計數(shù)器2) P2口:作為一個內(nèi)部就含上拉電阻的8位雙向I/O口,它能夠接收/輸出4個TTL邏輯門電路。作為擴展外部存儲器時的高8位地址總線, P2口在FLASH的編程與校驗的時候接收的是高八位地址信號與控制信號。 P3口:作為一

16、個帶8位內(nèi)部上拉電阻的雙向I/O口,它能夠接收/輸出4個TTL邏輯門電路。除了作為一般的I/O 口線外,P3口更為重要的用途是它的第二功能。P3口還能夠接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。 RST:復位輸入。此管腳上出現(xiàn)兩個機器周期的高電平,而振蕩器運行將使器件復位。 ALE/PROG:當訪問外部程序存儲器或者數(shù)據(jù)存儲器的時候,ALE(地址鎖存允許)輸出的脈沖用來鎖存地址的低8位字節(jié)。通常情況下,ALE繼續(xù)以時鐘振蕩頻率的1/6來輸出不變的脈沖信號,所以它能夠?qū)ν廨敵鰰r鐘來達到定時的目的。不過得留意的是:只要訪問外部數(shù)據(jù)存儲器的時候就得相對應的跳過一個ALE脈沖。在Fl

17、ash存儲器進行編寫時,此引腳還起輸入編程脈沖(PROG)的作用。必要的時候,能通過對特殊功能寄存器(SFR)區(qū)里面的8EH單元的D0位置位,能禁止ALE的操作。當置位后,只有一條MOVX與MOVC指令才可以將ALE喚醒。并且,這個引腳會被微弱拉高。單片機執(zhí)行外部程序時,要設置ALE 禁止位無效。 PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號。在AT89C52由外部程序存儲器取指令或數(shù)據(jù)的時候,每個機器周期僅有兩次PSEN 有效,即輸出兩個脈沖。在這期間,當訪問外部數(shù)據(jù)存儲器,要跳過兩次PSEN信號。 EA/VPP:外部訪問允許。想要使CPU只訪問外部程序存儲器(地址為0

18、000HFFFFH),EA端必須保持低電平。要注意的是:如果加密位LB1 被編程,復位的時候內(nèi)部會鎖存EA端的狀態(tài)。若EA端為高電平(接Vcc端),CPU就執(zhí)行內(nèi)部程序存儲器里的指令。Flash存儲器編程的時候,這個引腳應加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V 編程電壓Vpp。 XTAL1:反相振蕩放大器和內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:反相振蕩放大器的輸出端16。 單片機的最小系統(tǒng):指的是用最少的原器件組成的能夠工作的單片機系統(tǒng)。就用51系列單片機來說,最小系統(tǒng)應該包括單片機和晶振電路還有復位電路。如圖3.2所示。圖3.2 單片機最小系統(tǒng)時鐘電路:如圖3.3所示

19、。它是用來產(chǎn)生MCS-51單片機工作時所必須的時鐘控制信號的,其內(nèi)部的電路在時鐘信號的操控下,嚴格地照著時序指令進行工作。MCS-51單片機內(nèi)部含有一個用來構(gòu)成振蕩器的高增益反向放大器,XTAL1就是內(nèi)部振蕩器的反相放大器輸入端,而XTAL2則是輸出端。XTAL1和XTAL2兩個引腳跨接石英晶體振蕩器和微調(diào)電容,從而就組成了一個穩(wěn)定的自激振蕩器。使用外部振蕩器時,外部振蕩信號應該直接加到XTAL1,但XTAL2懸空。內(nèi)部方式的時候,時鐘發(fā)生器應對振蕩脈沖進行二分頻,例晶振為12MHz時,時鐘頻率就應該是6MHz。晶振的頻率能夠在1MHz24MHz內(nèi)挑選。時鐘電路里的微調(diào)電容一般選擇成30pF左

20、右,不過這個電容的數(shù)值會影響到振蕩器頻率的高低與振蕩器的穩(wěn)定性和起振的快速性。設計單片機最小系統(tǒng)的時鐘電路是采用的內(nèi)部方式,也就是采用芯片內(nèi)部的振蕩電路。有一個用構(gòu)成振蕩器的高增益反相放大器存在于單片機內(nèi)部。XTAL1和XTAL2兩個引腳分別是這個放大器的輸入端和輸出端。自激振蕩器就是由這個放大器和作為反饋元件的片外晶體諧振器一起組成的。接在放大器的反饋回路中的并聯(lián)諧振電路由外接的晶體諧振器加上電容C1和C2組建成。雖然對于外接電容的值并沒有嚴格規(guī)范的要求,不過電容數(shù)值的大小會影響到震蕩器頻率的高低與震蕩器的穩(wěn)定性還有起振的快速性和溫度的穩(wěn)定性。所以,這個系統(tǒng)電路的晶體振蕩器的值為12MHz,

21、電容最好應該的選擇陶瓷電容,電容值約為22F。并且在焊接刷電路板的時候,晶體振蕩器與電容應該盡量安裝得與單片機芯片靠近,從而減少寄生電容,達到更好地保證震蕩器穩(wěn)定和可靠地工作的目的。圖3.3 時鐘電路復位電路:如圖3.4所示。在單片機上電的時候,當振蕩器正在運行之時,只要連續(xù)的給出RST引腳連個機器周期的高電平,即有二個機器周期(24個振蕩周期)以上的高電平出現(xiàn)在這個引腳的時候時,便能夠完成單片機系統(tǒng)的復位。只要此腳持續(xù)高電平,51芯片就可以循環(huán)復位。復位以后P0P3口都置“1”,引腳呈現(xiàn)出高電平,程序計數(shù)器與特殊功能寄存器SFR全部都清“0”。當復位腳從高電平轉(zhuǎn)換為低電平的時候,芯片為ROM

22、的00H處開始運行程序。復位是讓外部的復位電路來實現(xiàn)的。外部復位電路用來幫內(nèi)部復位電路提供二個機器周期以上的電平才設計的。上電的片刻電容器上的電壓不可以突變,RST上的電壓就是Vcc上的電壓和電容器上的電壓之差,所以RST上的電壓與Vcc上的電壓一樣。隨著充電的持續(xù),電容器上的電壓不斷增加,RST上的電壓就相對的隨之減少,RST腳上只要持續(xù)10ms以上高電平,系統(tǒng)就可以有效復位。復位電路通常采用上電自動復位與按鈕復位兩種方式,本設計的溫度控制電路系統(tǒng)使用的是上電與按鈕復位電路。復位操作不會對內(nèi)部RAM產(chǎn)生影響17。圖3.4 復位電路3.2 溫度采集模塊3.2.1 溫度傳感器的介紹溫度傳感器的種

23、類繁多,但是在應用在高精度和高可靠性的場合時,DS18B20溫度傳感器當仁不讓。DS18B20數(shù)字溫度傳感器是美國DALLAS公司生產(chǎn)的1Wire,即單總線器件,它是世界上最早的支持 "一線總線"接口的溫度傳感器。它具有體積更小、適用電壓更寬、功耗更低、抗干擾能力更高性能、配處理器更容易等優(yōu)點,它能夠直接將溫度轉(zhuǎn)化成串行數(shù)字信號(按9位二進制數(shù)字)給單片機進行處理,還能在同一總線上可以掛接多個傳感器芯片,它具有三引腳TO-92小體積封裝形式。它的溫度測量范圍在55125,測溫分辨率可達0.0625 ,特別是在-10+85 范圍之間,精度更能達到±0.5 。同樣的,

24、DS18B20還能夠程序設定912位的分辨率,精度為+0.5 。它的電壓范圍為3.0V5.5V。DS18B20可編程溫度傳感器它包含3個管腳。DS18B20的外形和引腳排列圖如圖3.5所示。 圖3.5 DS18B20的外形及管腳圖正如圖中所示:GND引腳為接地線;DQ引腳為數(shù)據(jù)輸入/輸出的接口,它經(jīng)過一個較弱的上拉電阻和單片機相連;VDD引腳為電源接口,它既能夠由數(shù)據(jù)線提供電源,又能夠由外部提供電源,范圍3.0V5.5V。 DS18B20具體特性如下:(1) DS18B20因為采用了單總線技術(shù),可通過串行口線,也可通過其他I/O口線與微機直接接 傳感器直接輸出被測溫度值(二進制數(shù))。

25、(2) 在DS18B20中的每個器件上都有獨一無二的序列號。(3) 實際應用中不需要外部任何元器件即可實現(xiàn)測溫。(4) 測溫范圍-55+125,以0.5遞增(華氏器件-67+257,以0.9遞增)。(5) “0”功耗待機。(6) 數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。(7) 內(nèi)部有溫度上、下限告警設置。(8) 用戶可自設定非易失性的報警上下限值。(9) 支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點測溫。(10) 負壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。DS18B20內(nèi)部結(jié)構(gòu)大體是由:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器T

26、H與TL、配置寄存器這4個部分組合而成。它的內(nèi)部結(jié)構(gòu)如圖3.6所示。 圖3.6 DS18B20內(nèi)部結(jié)構(gòu)圖 (1) 64位ROM64位ROM存儲器件獨一無二的序列號。它是出廠之前就已經(jīng)被光刻好的,它能夠看作是這個DS18B20的地址序列碼,每個DS18B20的64位序列號都不一樣。64位光刻ROM的排列是:最初8位(28H)為產(chǎn)品的類型標號,中間的48位為本DS18B20自身的序列號,末尾8位為前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是讓每一個DS18B20都各不一樣,這樣就能夠達到在一根總線上掛接多個DS18B20的要求。 DS18B20中的溫度傳感器能夠完

27、成對溫度的測量,就拿12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/LSB形式表達,其中S為符號位。詳情見表3.2。 表3.2 DS18B20溫度值格式表 LS Bytebit7bit6bit5bit4bit3bit2bit1bit022222222MS Bytebit15bit14bit13bit12bit11bit10bit9bit8SSSSS222 這個為12位轉(zhuǎn)化后所得到的12位數(shù)據(jù),存儲于DS18B20的二個8比特的RAM里,二進制里的前面5位為符號位,若測得的溫度“0 ”,則該5位是“0”,只須用測得的數(shù)值乘于0.0625就能夠得到實際的溫度;若溫度“0”

28、,則該5位是“1”,要將測得的數(shù)值取反再加“1”,再乘于0.0625。才能夠得到實際的溫度。比如說:+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH。詳情見表3.3。表3.3 DS18B20轉(zhuǎn)化溫度形式實際溫度值數(shù)字輸出(二進制)數(shù)字輸出(十六進制)+125+85+25.0625+10.125+0.50-0.5-10.125-25.0625-550000 0111 1101 00000000 0101 0101 00000000 0001 1001 00010000 0000 1010 00100000 0000 0000 10000000 0000 0000 0

29、0001111 1111 1111 10001111 1111 0101 11101111 1110 0110 11111111 1100 1001 000007D0H0550H0191H00A2H0008H0000HFFF8HFF5EHFE6EHFC90H (2) 高低溫報警觸發(fā)器TH和TL DS18B20溫度傳感器內(nèi)部存儲器包含一個高速暫存RAM與一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 (3) 配置寄存器 本字節(jié)每一位的意義見下表3.4。表3.4 配置寄存器結(jié)構(gòu)TMR1R011111 低五位始終均為“1”,TM為測試模式位,用來設置DS1

30、8B20是為工作模式還是為測試模式。在DS18B20出廠的時候這位被設置成“0”,用戶不需要去改動。R1與R0用于設置分辨率,詳情見下表3.5(DS18B20出廠時被設置為12位)。 表3.5 溫度分辨率設置表R1R0分辨率溫度最大轉(zhuǎn)換時間001101019位10位11位12位93.75ms 187.5ms 375ms 750ms (4) 高速暫存器該暫存器為一個9個字節(jié)的存儲器。1、2字節(jié)含有被測溫度的數(shù)字量信息;第3、4、5字節(jié)分別為TH、TL、配置寄存器的臨時拷貝,每當上電復位的時候被刷新;第6、7、8字節(jié)補用,表現(xiàn)成全邏輯“1”;第9字節(jié)讀出的為之前所有8個字節(jié)的CRC碼,能夠用來保證

31、通信正確。高速暫存器RAM結(jié)構(gòu)圖見下表3.618。表3.6 DS18B20暫存寄存器分布寄存器內(nèi)容 字節(jié)地址溫度值低位 (LS Byte)溫度值高位 (MS Byte)高溫限值(TH)低溫限值(TL)配置寄存器保留保留保留CRC校驗值0123456783.2.2 DS18B20的工作原理 按照DS18B20的通訊協(xié)議,主機控制DS18B20要完成溫度的轉(zhuǎn)換必須得經(jīng)過三個步驟才可: (1) 每一次讀寫之前都必須對DS18B20進行復位。 (2) 復位成功之后發(fā)送一條ROM指令。 (3) 最后發(fā)送RAM指令,這樣才能夠?qū)S18B20進行預定的操作。 復位時,先得要求主CPU對數(shù)據(jù)線下拉500s再

32、釋放,待DS18B20收到信號,等待1560s左右后,再發(fā)出60240s的存在低脈沖,最后主CPU收到此信號表示復位成功。它的工作時序有初始化時序和寫時序還有讀時序。具體工作方法如圖3.7、3.8、3.9所示。(1) 初始化時序圖3.7 初始化時序 總線上的一切傳輸過程均是以初始化開始的。主機響應應答脈沖。應答脈沖讓主機知道,總線上有從機設備,并準備就緒。主機輸出低電平,且保持低電平的時間至少480微秒,從而產(chǎn)生復位脈沖。然后主機釋放總線,4.7K上拉電阻將總線拉高,延時1560微秒后進入接受模式,用來產(chǎn)生低電平應答脈沖。如果為低電平,就再延時480微秒。 (2) 寫時序圖3.8 寫時序 寫時

33、序包含寫“0”時序與寫“1”時序。一切寫時序最少要60微秒,并且在兩次獨立的寫時序當中最少要1微秒的恢復時間。兩者都是從總線拉低開始。寫“1”時序:主機先輸出低電平,延時2微秒后釋放總線再延時60微秒。寫“0”時序:主機先輸出低電平,延時60微秒后釋放總線再延時2微秒。(3) 讀時序圖3.9 讀時序總線器件只在主機發(fā)出讀時序的時候,才向主機傳輸數(shù)據(jù)。因此,在主機發(fā)出讀數(shù)據(jù)命令后,定要馬上產(chǎn)生讀時序,從而使從機可以夠傳輸數(shù)據(jù)。一切讀時序至少要60微秒,而在兩次獨立的讀時序當中至少需要1微秒的恢復時間。每個讀時序均靠主機發(fā)起,且至少拉低總線1微秒。主機在讀時序的時候一定要釋放總線,且在時序開始后的

34、15微秒中采樣總線狀態(tài)。主機輸出低電平延時2微秒后主機轉(zhuǎn)入輸入模式,再延時12微秒后讀取總線當前電平,然后延時50微秒。19。3.3 顯示器模塊3.3.1 顯示器的介紹 LCD液晶顯示器由于它功耗很低,同時體積輕巧,屏幕內(nèi)容顯示非常豐富,且厚度纖薄,等諸多的優(yōu)點。所以廣泛的被使用在了微型儀表和家用電器等功耗不高的應用系統(tǒng)當中。根據(jù)顯示內(nèi)容和方式的不同可以分為數(shù)顯LCD、點陣字符LCD、點陣圖形LCD。它是由些許個5×7或5×11等點陣符位組成的。每一個點陣字符位都可以顯示一個字符。且每一個點陣字符位之間都有一定點距的間隔,從而就能起到了字符間距和行距的作用。本次設計這次所使

35、用的是1602LCD液晶顯示器,它也叫做1602字符型液晶,意思就是顯示屏能顯示的內(nèi)容為16×2,也就是能夠在屏幕上看到兩行字符且每行顯示的都是16個字符的。它是一種專門用來顯示字母、數(shù)字、符號等而不能顯示漢字的點陣型液晶模塊。3.3.2 顯示電路的設計 1602LCD液晶顯示器引腳如圖3.11所示。圖3.11 LCD1602液晶顯示器1602LCD液晶顯示器功能引腳功能見表3.7。表3.7 1602液晶引腳說明引腳引腳名引腳功能第1腳第2腳第3腳第4腳第5腳第6腳第714腳第15腳第16腳VSSVDDVEE液晶顯示器對比度調(diào)整端RS為寄存器選擇R/W為讀寫信號線E端為使能端D0D7

36、為8位雙向數(shù)據(jù)線BLABLK地電源+5V電源接正電源時對比度最弱,接地電源時對比度最高,應調(diào)節(jié)適當?shù)膶Ρ榷龋褂脮r可以通過一個10K的電位器調(diào)整對比度。高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù),當RS為高電平RW為高電平時可以讀出數(shù)據(jù)。當E端由高電平跳變成低電平時,液晶模塊執(zhí)行寫操作,當E端為高電平時,可以執(zhí)行讀數(shù)據(jù)或讀忙標志和AC值。D0為最低位,D7為最高位。接背光電源正極接背光電壓負極。1602液晶模塊內(nèi)部的

37、控制器共有11條控制指令,見表3.8。表3.8 1602液晶模塊內(nèi)部控制指令序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標返回000000001*3置輸入模式00000001I/DS4顯示開/關控制0000001DCB5光標或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存儲器地址0001字符發(fā)生存儲器地址8置數(shù)據(jù)存儲器地址001顯示數(shù)據(jù)存儲器地址9讀忙標志或地址01BF計數(shù)器地址10寫數(shù)到CGRAM或DDRAM10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容LCD液晶顯示器和單片機1602的連接電路非常簡單

38、,RS、RW、EN分別接主控單片機的P25、P26、P27腳,DB0DB7接到主控單片機的P0數(shù)據(jù)接口。VSS端接地,VDD供電,如圖3.12所示。圖3.12 LCD液晶顯示電路3.4 鍵盤模塊 在單片機應用系統(tǒng)里面僅有復位按鍵有與之對應的復位電路和專一的復位功能,其余的按鍵或鍵盤均以開關的狀態(tài)來設置控制功能或輸入數(shù)據(jù)。 在本次設計中加入了五個按鍵,分別為一個復位鍵,還有四個是調(diào)節(jié)溫度上下限的加減按鍵。如圖3.13所示,左邊第一列的單獨按鍵為復位按鍵;中間一列為控制調(diào)節(jié)報警最低溫按鍵,上面一個為加,下面一個為減;右邊一列為控制調(diào)節(jié)報警最高溫按鍵,上面一個為加,下面一個為減。圖3.13 實物按鍵

39、圖3.5 供電模塊由于單片機的工作電壓為+5V,而現(xiàn)實生活中沒有+5V的電池,所以本次設計就選用了LM7805穩(wěn)壓電路,將9V的電壓轉(zhuǎn)換成了單片機工作電壓5V。穩(wěn)壓電路如圖3.14所示。圖3.14 穩(wěn)壓電路3.6 本章小結(jié)本章主要介紹了本次設計的硬件電路設計。并且詳細的將本次設計分成了每一小模塊進行了講解。介紹了所用到的單片機,溫度傳感器,LCD顯示器。4 系統(tǒng)軟件的設計 本次設計列出了溫度檢測的液晶顯示與按鍵設置溫度上下限的程序流程圖,主程序的流程圖如圖4.1,主程序主要功能為進行溫度的實時顯示,讀出并處理DS18B20測量的當前溫度值,溫度測量是定時測量一次。LCD子程序的流程圖如圖4.2

40、所示,DS18B20工作的流程圖如圖4. 3所示,按鍵子程序的流程圖如圖4.4所示。4.1 系統(tǒng)主程序流程圖開始系統(tǒng)初始化判斷溫度是否超出極限LCD顯示溫度采集設置溫度極限燈亮 蜂鳴器報警相應修正溫度正常工作結(jié)束 N Y 圖4.1 系統(tǒng)主程序流程圖4.2 系統(tǒng)子程序流程圖 開始結(jié)束DS18B20初始化檢測當前溫度 圖4.2 DS18B20子程序流程圖 開始結(jié)束LCD初始化顯示當前溫度圖4.3 LCD子程序流程圖開始結(jié)束上限值加1上限值減1是否復位是否有上限值按鍵按下是否有下限值按鍵按下是否減鍵是否加鍵YYN是否加鍵下下限值加1下限值減1YYYYNNY返回溫度顯示NN圖4.4 按鍵子程序流程圖N

41、是否減鍵下4.3 本章小結(jié)本章給出了本次設計的所有程序流程圖。更加生動形象的闡述了本次設計的流程和步驟。5 調(diào)試與分析5.1 Proteus仿真效果在經(jīng)過對電路的硬件設計與程序設計后,便可以使用PROTEUS對所設計的電路進行仿真設計。首先,先把硬件電路在PROTEUS中連接好,照著設計總電路圖連接每一個硬件。其次便是轉(zhuǎn)換C程序了,用單片機C語言來進行編程,程序如附錄所示。再用KEIL軟件把本次設計的源程序轉(zhuǎn)換成目標程序來進行仿真,從而生成*.hex文件。最后在PROTEUS中,把本次設計的程序?qū)雴纹瑱C中,便可以進行實時仿真。仿真效果圖如圖5.1所示。圖5.1 仿真效果圖5.2 實物模塊分解

42、及操作(1) 正常工作 本次設計調(diào)試的報警溫度為1040,而室溫是28.4。系統(tǒng)正常工作,報警燈不亮。如圖5.2所示。圖5.2 正常工作(2) 低于下限溫度這次本次設計設置的報警溫度為3040時,而室溫只有28.7,低于設置的報警溫度。所以系統(tǒng)開始報警,并且紅色警報燈亮起。如圖5.3所示。圖5.3 低于下限(3) 高于上限溫度 這次本次設計設置的報警溫度為1025時,而室溫卻打到了28.8,高于設置的報警溫度。所以系統(tǒng)開始報警,并且綠色警報燈亮起。如圖5.4所示。圖5.4 高于上限5.3 本章小結(jié) 通過本章的介紹,了解了proteus的仿真方法和步驟。更直觀的把軟件設計呈現(xiàn)出來作出了設計的仿真

43、,設置上限溫度,并作3種情況分析。結(jié) 束 語 本課題是以單片機為核心,通過DS18B20溫度傳感器進行溫度的采樣,然后再由LCD1602液晶顯示器顯示出的一款簡易的數(shù)字溫度計。從拿到課題到現(xiàn)在完成課題,我也從最初的茫然無知,變的對單片機產(chǎn)生了濃厚興趣。隨著進度一點點的完成,從最初的開題報告,再到后來的實物設計焊接,最后到整篇論文的完成,那股成就感也就隨之而來。這次設計不僅讓我重新梳理了一遍大學里所學習到的內(nèi)容,更讓我了解到和培養(yǎng)了自學的能力。該設計主要解決了下面一些問題:(1) 系統(tǒng)的硬件是以單片機為核心的硬件電路,所以需要的元器件也很少,從而體積小,重量輕,抗干擾能力強,對環(huán)境要求不高,且價

44、格低廉。(2) 由于此系統(tǒng)為智能自動化,所以它適用的范圍也很廣泛,解決了傳統(tǒng)工業(yè)生產(chǎn)中人工所完成不了的問題。致 謝伴隨著畢業(yè)論文的完成,也就預示著我大學生活也即將畫上一個句號。在此之際,我的激動的心情卻無法平靜?;叵肫鹪谶@最后短短的幾個月的時間里,卻給我留下了難以忘懷的回憶。在此我要特別地向指導幫助我的XXX老師表示最誠摯的謝意。感謝她耐心的指導,從我剛拿到課題時的無從下手和一籌莫展開始,她便一直耐心的指導我,并給我提出來許多寶貴的建議和意見。為此,我再次說聲謝謝!并且感謝所有任課老師在我大學期間給我的指導和幫助,是他們孜孜不倦的教導教會了我專業(yè)知識,教會了我如何學習,更是他們科學嚴謹,求真務

45、實的科學態(tài)度教會了我如何做人。正是因為他們,我才能在各方面取得進步,在此向他們表達我由衷的謝意,并希望所有的老師身體健康,事業(yè)蒸蒸日上,培養(yǎng)出各種人才,桃李滿天下!最后,我衷心感謝在百忙之中抽出寶貴時間對此論文進行評閱與審議的老師們。感謝學院給我提供了一個展現(xiàn)自己的舞臺,給我一次難得煅煉的機會,使得我的動手能力和專業(yè)技能都有了很大的提高。在此謹向老師們致以誠摯的謝意和崇高的敬意。參考文獻1 劉秀峰,游雨云. 單片機原理與應用M. 北京:北京理工大學出版社,2011.2 鄧紅,曾屹. 單片機應用技術(shù)實例M. 北京:冶金工業(yè)出版社,2011.3 華浩然. 淺析單片機溫度控制的系統(tǒng)方案設計J. 才智

46、. 2012(02):17-23.4 Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriersJ. TQM Journal.2008(03):24-35.5 何樂生. PIC單片機原理、開發(fā)方法及實踐M. 北京:高等教育出版社,2010.6 張文祥. 單片機系統(tǒng)設計與開發(fā)教程M. 北京:電子工業(yè)出版社,2011.7 耿永剛.單片機C51應用技術(shù)M. 北京:電子工業(yè)出版社,2011.8 王建,宋永昌. 單片機實用技術(shù)M. 北京:北京大學出版社,2011.9 李升.單片機原理與接口技術(shù)M. 北京:機械工業(yè)出版社,

47、2011.10 張憲,宋立軍.傳感器與測控電路M. 北京:化學工業(yè)出版社,2011.11 吳健,侯文,鄭賓. 基于STC89C52單片機的溫度控制系統(tǒng)J. 電腦知識與技術(shù). 2011(04):22-39.12 李全利,仲偉峰,徐軍單片機原理及應用M.北京:清華大學出版社,2008.13 岳慧平,劉廣,劉建平. 單片機溫度控制系統(tǒng)方案的研究J. 信息系統(tǒng)工程. 2012(02):37-51.14 劉暢生,于建國,張昌民,宣宗強.傳感器簡明手冊及應用電路溫度傳感器分冊上冊M. 西安:西安電子科技大學出版社,2005. 15 王永華. 現(xiàn)代電氣及可編程控制技術(shù)M. 北京:北京航空航天大學,2002.

48、16 楊寧,胡學軍單片機與控制技術(shù)M. 北京:北京航空航天大學出版社2004.17 趙娜,趙剛,于珍珠等.基于51 單片機的溫度測量系統(tǒng)J. 微計算機信息,2012,1-2:146-148.18 戢衛(wèi)平、胡耀輝. 單片機系統(tǒng)開發(fā)實例經(jīng)典M. 北京:冶金工業(yè)出版,2006.19 樊楊鎏,李琨,李靜.無線分布式溫度測控系統(tǒng)的設計及應用J. 昆明理工大學學報,2006,31(5):48-51.附錄A 系統(tǒng)整體原理圖附錄B 程序#include<reg52.h> /包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義#include<math.h>#include<INTRINS.H>#define uchar unsigned char#define uint unsigned int /*/* 定義端口 */*/sbit led1=P10;/ 溫度超出范圍指示燈sbit led2=P11;sbit buzzer=P13;/蜂鳴器引腳sbit DQ=P14;/ds18b20 端口sbit RS = P24;/1602數(shù)據(jù)/命令選擇端(H:數(shù)據(jù)寄存器L:指令寄

溫馨提示

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

評論

0/150

提交評論