基于單片機的高精度溫控系統(tǒng)設(shè)計說明_第1頁
基于單片機的高精度溫控系統(tǒng)設(shè)計說明_第2頁
基于單片機的高精度溫控系統(tǒng)設(shè)計說明_第3頁
基于單片機的高精度溫控系統(tǒng)設(shè)計說明_第4頁
基于單片機的高精度溫控系統(tǒng)設(shè)計說明_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 PAGE28 / NUMPAGES32 工業(yè)學(xué)院畢 業(yè) 設(shè) 計設(shè)計題目:基于單片機的高精度溫控系統(tǒng)設(shè)計姓 名 喬 磊 學(xué) 號 081203205 院 (系) 電氣與電子工程學(xué)院 專 業(yè) 電子信息科學(xué)與技術(shù) 指導(dǎo)教師 西 曲 2011年6月11日目 錄 TOC o 1-3 h z u HYPERLINK l _Toc325056936摘要 PAGEREF _Toc325056936 h IHYPERLINK l _Toc325056937Abstract PAGEREF _Toc325056937 h IHYPERLINK l _Toc3250569381 前言 PAGEREF _Toc325

2、056938 h 1HYPERLINK l _Toc3250569391.1高精度溫控系統(tǒng)發(fā)展與應(yīng)用 PAGEREF _Toc325056939 h 1HYPERLINK l _Toc3250569401.2 溫控系統(tǒng)的方案 PAGEREF _Toc325056940 h 1HYPERLINK l _Toc3250569411.2.1 模擬溫度傳感器方案 PAGEREF _Toc325056941 h 1HYPERLINK l _Toc3250569421.2.2 數(shù)字溫度傳感器方案 PAGEREF _Toc325056942 h 2HYPERLINK l _Toc3250569431.3 本

3、溫度控制系統(tǒng)的初步思想 PAGEREF _Toc325056943 h 3HYPERLINK l _Toc3250569442高精度溫控系統(tǒng)的基本原理 PAGEREF _Toc325056944 h 4HYPERLINK l _Toc3250569452.1單片機基本原理概述 PAGEREF _Toc325056945 h 4HYPERLINK l _Toc3250569462.2STC89C52單片機引腳排列與功能介紹 PAGEREF _Toc325056946 h 4HYPERLINK l _Toc3250569472.2 DS18B20溫度傳感器檢測技術(shù)原理 PAGEREF _Toc32

4、5056947 h 6HYPERLINK l _Toc3250569482.2.1 DS18B20的性能特點: PAGEREF _Toc325056948 h 7HYPERLINK l _Toc3250569492.2.2 DS18B20的測溫原理 PAGEREF _Toc325056949 h 7HYPERLINK l _Toc3250569502.2.3 DS18B20與單片機的接口電路 PAGEREF _Toc325056950 h 9HYPERLINK l _Toc3250569513 系統(tǒng)的硬件組成電路設(shè)計 PAGEREF _Toc325056951 h 10HYPERLINK l

5、_Toc3250569523.1 時鐘電路 PAGEREF _Toc325056952 h 10HYPERLINK l _Toc3250569533.2 STC89C52的復(fù)位電路 PAGEREF _Toc325056953 h 11HYPERLINK l _Toc3250569543.3 LED顯示模塊 PAGEREF _Toc325056954 h 11HYPERLINK l _Toc3250569553.4 單總線數(shù)字溫度傳感器DS18B20檢測電路 PAGEREF _Toc325056955 h 12HYPERLINK l _Toc3250569563.5 驅(qū)動電路 PAGEREF _

6、Toc325056956 h 12HYPERLINK l _Toc3250569573.6 系統(tǒng)總硬件設(shè)計 PAGEREF _Toc325056957 h 13HYPERLINK l _Toc3250569584、軟件設(shè)計 PAGEREF _Toc325056958 h 14HYPERLINK l _Toc3250569594.1主程序流程圖 PAGEREF _Toc325056959 h 14HYPERLINK l _Toc3250569604.2主程序設(shè)計 PAGEREF _Toc325056960 h 15HYPERLINK l _Toc3250569614.3 DS18B20溫度傳感器

7、初始化 PAGEREF _Toc325056961 h 21HYPERLINK l _Toc3250569624.3.1讀出溫度子程序 PAGEREF _Toc325056962 h 21HYPERLINK l _Toc3250569634.3.2 DS18B20的寫讀時序 PAGEREF _Toc325056963 h 22HYPERLINK l _Toc3250569644.4 DS18B20數(shù)據(jù)采集程序的設(shè)計 PAGEREF _Toc325056964 h 23HYPERLINK l _Toc3250569654.5調(diào)試 PAGEREF _Toc325056965 h 25HYPERLI

8、NK l _Toc325056966結(jié)束語 PAGEREF _Toc325056966 h 26HYPERLINK l _Toc325056967致 PAGEREF _Toc325056967 h 27HYPERLINK l _Toc325056968參考文獻 PAGEREF _Toc325056968 h 28摘 要隨著嵌入式技術(shù)、計算機技術(shù)、通信技術(shù)的不斷發(fā)展與成熟??刂葡到y(tǒng)以其直觀、方便、準(zhǔn)確、適用廣泛而被越來越廣泛地應(yīng)用于工業(yè)過程、空調(diào)系統(tǒng)、智能樓宇等。恒溫控制系統(tǒng),控制對象是溫度。溫度控制在日常生活與工作領(lǐng)域應(yīng)用的相當(dāng)廣泛,比如溫室、水池、發(fā)酵缸、電源等場所的溫度控制,而以往溫度控制

9、是由人工完成的而且不夠重視,其實在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。本項目設(shè)計是對溫度進行實時監(jiān)測與控制,設(shè)計的溫度控制系統(tǒng)實現(xiàn)了基本的溫度控制功能:被控溫度圍可以調(diào)整,初始圍5=T=38。如果被測溫度在5度到38度之間,則既不加熱,又不報警;如果被測溫度小于5度,則既加熱,又報警;如果被測溫度大于38度,則報警,降溫。 數(shù)碼管顯示溫度,溫度精確一位小數(shù)。關(guān)鍵詞:數(shù)字溫度計、單片機、溫度傳感器AbstractWith the embedded technology, computer technology, communication technology continues to evo

10、lve and mature. Control system with its intuitive, convenient, accurate, widely applicable and is more widely used in industrial processes, air-conditioning systems, intelligent buildings. Constant temperature control system,control temperature. Temperature control in daily life and work application

11、s in thefield of a wide range of temperature control such as the greenhouse, pond,fermentation tank, power supply and other places, the past, temperature control isdone by hand and not enough attention, in fact, in many places the temperature need to be monitored prevent accidents. The project desig

12、n is the temperature real-time monitoring and control,temperature control system designed to achieve basic temperature control functions: charged with the temperature range can be adjusted, the initial range 5 =T = 38. If the measured temperature of 5 degrees to 38 degrees, neither heatingnor alarm;

13、 if the measured temperature is less than 5 degrees, both the heatingand alarm; if the measured temperature is greater than 38 degrees, then the alarmcooling.Digital display of temperature, temperature accurate to one decimal.Key words: digital thermometer, microcontroller, temperature sensor 1前 言1.

14、1高精度溫控系統(tǒng)發(fā)展與應(yīng)用隨著現(xiàn)代計算機和自動化技術(shù)的發(fā)展,作為各種信息的感知、采集、轉(zhuǎn)換、傳輸相處理的功能器件,溫度傳感器的作用日益突出,成為自動檢測、自動控制系統(tǒng)和計量測試中不可缺少的重要技術(shù)工具,溫度控制系統(tǒng)廣泛應(yīng)用于社會生活的各個領(lǐng)域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應(yīng)用場合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。國外度計算機控制技術(shù)的發(fā)展善計算

15、機的發(fā)展最早可以追溯到上個世紀(jì)的40年代,但將計算機用于環(huán)境控制則開始于20世紀(jì)60年代。20世紀(jì)80年代初誕生了第一批溫室控制計算機,此后溫度計算機控制與管理技術(shù)便函先在發(fā)達國家得到廣泛應(yīng)用,后來各發(fā)展中國家也都紛紛引進,開發(fā)出適合自己的系統(tǒng)。數(shù)字式溫濕度傳感器:就是能把溫度物理量和濕度物理量,通過溫、濕度敏感元件和相應(yīng)電路轉(zhuǎn)換成方便計算機、PLC、智能儀表等數(shù)據(jù)采集設(shè)備直接讀取得數(shù)字量的傳感器。我國南方溫度嚴(yán)熱而漫長,只有大力推廣大棚蔬菜的種植來滿足人們?nèi)粘I顚κ卟说男枰?。隨著人們生活水平的日益增長,對蔬菜的要求也較高,對大棚蔬菜的溫度控制就是一個重要因素。溫度過高,蔬菜就會停止生長或者

16、糜爛。應(yīng)用自動控制和電子計算機實現(xiàn)農(nóng)業(yè)生產(chǎn)和管理的自動化,是農(nóng)業(yè)現(xiàn)代化的重要標(biāo)志之一。在信息化程度越來越高的今天,擔(dān)當(dāng)信息處理與交換重任的機房是整個信息網(wǎng)絡(luò)工程的數(shù)據(jù)傳輸中心、數(shù)據(jù)處理中心和數(shù)據(jù)交換中心。為保證機房設(shè)備正常運行與工作人員有一個良好的工作環(huán)境,對機房溫濕度的監(jiān)測是必不可少的,合理正常的溫濕度環(huán)境是機房設(shè)備正常運行的重要保障。溫濕度監(jiān)測除用于機房監(jiān)測外,還可以廣泛應(yīng)用于如生物制藥、無菌室、潔凈廠房、電信銀行、圖書館、檔案館、文物館、智能樓宇等各行各業(yè)需要溫濕監(jiān)測的場所和領(lǐng)域。隨著我國經(jīng)濟的高速發(fā)展,我國在科技和生產(chǎn)各領(lǐng)域都取得了飛速的發(fā)展和進步,發(fā)展以溫度傳感器為載體的溫度測量技術(shù)

17、具有重大意義。發(fā)電廠鍋爐的溫度必須控制在一定的圍之;許多化學(xué)反應(yīng)的工藝過程必須在適當(dāng)?shù)臏囟认虏拍苷_M行。煉油過程中,原油必須在不同的溫度和壓力條件下進行分流才能得到汽油、柴油、煤油等產(chǎn)品;沒有合適的溫度環(huán)境,很多工業(yè)生產(chǎn)根本無從談起??梢娧芯繙囟鹊臏y量具有重要的理論意義和推廣價1.2溫控系統(tǒng)的方案1.2.1 模擬溫度傳感器方案該案由單片機、模擬溫度傳感器AD590、運算放大器、AD轉(zhuǎn)換器、LCD顯示電路、集成功率放大器、報警器組成。該方案采用模擬溫度傳感器AD590作為測用運算放大器交給信號進行適當(dāng)?shù)姆糯螅詈笸ㄟ^模數(shù)轉(zhuǎn)換器將模擬模擬信號轉(zhuǎn)換成數(shù)據(jù)信號,傳給單片機,單片機將溫度值進行處理之后

18、用LCD顯示,當(dāng)溫度值超過設(shè)定值時開始報警。如圖1-1所示:圖1-1 溫度測量系統(tǒng)方案框圖數(shù)字溫度傳感器方案論證:采用模擬溫度傳感器,轉(zhuǎn)換結(jié)果需要經(jīng)過運算放大器傳給處理器。它控制雖然簡單,但電路復(fù)雜,不容易實現(xiàn)對多點溫度測量和監(jiān)控。由于采用了多個分立元件和模數(shù)轉(zhuǎn)換器,不容易出現(xiàn)誤差,測量結(jié)果不是很準(zhǔn)確。1.2.2 數(shù)字溫度傳感器方案該方案使用了STC89C51單片機作為控制核心,以智能溫度傳感器DS18B20為溫度測量元件,通過鍵盤模塊對溫度上、下限設(shè)置。顯示電路采用LED模塊,如圖1-2所示:圖1-2 溫度測量系統(tǒng)方案框圖數(shù)字溫度傳感器方案的論證:采用智能溫度傳感器DS18B20,它直接輸入

19、數(shù)字量,精度高,電路簡單,只需要模擬DS18B20的讀寫時序,根據(jù)DS18B20的協(xié)議讀取轉(zhuǎn)換的溫度。DS18B20 可以直接讀出被測溫度值,支持多點測溫。而且采用3 線制與單片機相連,減少了外部硬件電路,具有低成本和易使用的特點。 DS18B20 是Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器,它是一種支持 “一線總線”接口的溫度傳感器。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。一線總線將獨特的電源和信號復(fù)合在一起,并僅使用一條線,每個芯片都有唯一的編碼,支持聯(lián)網(wǎng)尋址,簡單的網(wǎng)絡(luò)化的溫度感知,零功耗等待等特點。綜上所述數(shù)字溫度傳感器方案最適合本實驗

20、。1.3 本溫度控制系統(tǒng)的初步思想本系統(tǒng)控制核心芯片選用STC89C52單片機;測溫電路選用了美國DALLAS公司生產(chǎn)的單線總線數(shù)字式溫度傳感器DS18B20;數(shù)字顯示電路采用4位LED共陽極數(shù)碼管實現(xiàn)。電源部分采用5V電壓供系統(tǒng)使用。單片機由外接11.0592MHz標(biāo)準(zhǔn)晶振提供時鐘電路。選用89S52單片機為中央處理器,通過溫度傳感器DS18B20對室的溫度進行實時精確測量,將采集到的溫度信號傳輸給單片機,再由單片機控制LED顯示器,并比較采集溫度與設(shè)定溫度是否一致,然后驅(qū)動繼電器加熱或降溫對溫度進行處理,從而實現(xiàn)對溫度溫度在某一圍進行控制。溫度的設(shè)定部分,采用3個鍵盤設(shè)計,鍵盤包括狀態(tài)選擇

21、鍵、溫度加、溫度減,。三個獨立按鍵,分別設(shè)置,加溫和降溫三個功能,以實現(xiàn)對各種環(huán)境溫度的調(diào)整。加熱模塊工作以后通過電暖器,熱得快,空調(diào)等方式實現(xiàn)溫度的升高,降溫模塊工作以后通過電扇,空調(diào),制冷設(shè)備等方式實現(xiàn)溫度降低,以達到對溫度進行控制的目的。對于溫度控制,采用單片機STC89C52組成的自動控制系統(tǒng),其系統(tǒng)硬件總體方框圖如1-3圖所示:圖1-3 硬件總體方框圖2高精度溫控系統(tǒng)的基本原理2.1單片機基本原理概述STC89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,STC89C52 提供以下功能標(biāo)準(zhǔn):8K字節(jié)Flash閃速存儲器,256字節(jié)部RAM,32個I/O 線個16位

22、定時器/計數(shù)器,一個6向量兩極中斷結(jié)構(gòu),一個全雙工串行通信口,片振蕩器與時鐘電路2。同時,STC89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口與中段系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的容,但振蕩器停止工作并禁止其它部件工作直到下一個硬件復(fù)位。2.2STC89C52單片機引腳排列與功能介紹 STC89C52單片機有3種不同的封裝,即PDIP、PLCC和TQFP,其有效引腳為40條,現(xiàn)以PDIP(雙列直插式,見圖2-1)封裝為例簡述各引腳功能。 圖2-1 單片機引腳排列圖1 主電源引腳Vcc(40腳):直流電

23、源供電電壓45。Vss(20腳):電源接地端。2 振蕩器電路外接晶振引腳XTAL1(19腳)、XTAL2(18腳):當(dāng)使用片振蕩器的時鐘電路方式時,電路接法如圖2-2所示,C1、C2為微調(diào)電容,通常取2030pF,以保證振蕩器電路的穩(wěn)定性與快速性,同時要求在設(shè)計電路板時,晶振和電容應(yīng)盡量靠近單片機芯片,以減小分布電容所引起對振蕩電路的影響。圖2-3為使用外部振蕩器的時鐘電路方式,使用該時鐘電路方式時,高低脈沖電平持續(xù)時間應(yīng)不短于20ns,否則工作不穩(wěn)定。 圖2-2 振蕩器的時鐘電路 圖2-3 外振蕩器的時鐘電路3 多功能I/O接口引腳P0口(3239腳):P0口是一個8位漏極開路并行雙向I/O

24、端口。當(dāng)它作為通用I/O接口時每個引腳須外接上拉電阻。當(dāng)作輸出口時,每個引腳能以吸收電流的方式驅(qū)動8個LSTTL負載;當(dāng)作為輸入口時,須首先將引腳的輸出鎖存器置1。P0口在系統(tǒng)需要功能外擴展時,可用作訪問外部程序存儲器和數(shù)據(jù)存儲器時的低8位地址線/數(shù)據(jù)總線的分時復(fù)用線,在該模式工作下,引腳不用外接上拉電阻。P1口(18腳):P1口是一個接上拉電阻的8位并行雙向I/O端口。它可作為通用I/O口,當(dāng)作輸出口時,每個引腳可驅(qū)動4個LSTTL負載;當(dāng)作輸入口時,須首先將引腳的輸出鎖存器置1。在FLASH并行編程和校驗時,P1口可輸入低字節(jié)地址信息。在串行編程和校驗時:P1.5(6腳):MOSI(串行指

25、令輸入);P1.6(7腳):MISO(串行數(shù)據(jù)輸出);P1.7(8腳):SCK(串行移位脈沖控制端)。P2口(2128腳):P2口是一個接上拉電阻的8位并行I/O端口,它可作為通用I/O口,作輸出口時,每個引腳可驅(qū)動4個LSTTL負載,用作輸入口時,須首先將引腳的輸出鎖存器置。P2口在系統(tǒng)外擴展時,可以用作訪問外部程序存儲器和數(shù)據(jù)存儲器的高8位地址總線。在FLASH存儲器并行編程和校驗時,P2口可輸入高字節(jié)地址信息,P2.6、P2.7作控制位。P3口(1017腳):P3口具有部上拉電阻的8位雙向并行端口,它可以作為通用I/O口,作輸出口時,每個引腳可驅(qū)動4個LSTTL負載,用作輸入口時,須首先

26、將引腳的輸出鎖存器置1。在FLASH存儲器編程和校驗時,P3.3、P3.6、P3.7可作控制位。P3口還具有第二種功能,如下所示。P3.0:RXD(串行口輸入端);P3.1:TXD(串行口輸出端);P3.2:INT0(外部中斷0信號輸入端);P3.3:INT1(外部中斷1信號輸入端);P3.4:T0(定時器/計數(shù)器0外部計數(shù)脈沖輸入端);P3.5:T1(定時器/計數(shù)器1外部計數(shù)脈沖輸入端);P3.6:WR(外部數(shù)據(jù)存儲器的寫選通);P3.7:RD(外部數(shù)據(jù)存儲器的讀選通);4 復(fù)位、控制和選通引腳RST(9腳):單片機復(fù)位輸入端,高電平有效。在單片機上電后,振蕩器穩(wěn)定有效運行的情況下,若RST

27、端腳能維持兩個機器周期(24個振蕩周期)以上的高電平,則可使單片機系統(tǒng)復(fù)位有效(復(fù)位有效時,片各特殊功能寄存器狀態(tài)參見表4.1)。當(dāng)看門狗定時器WDT溢出輸出時,RST端腳將輸出長達98個振蕩周期的高電平。EA/VPP(31腳):雙功能引腳,EA為訪問部或外部程序存儲器的選擇信號端,當(dāng)EA接地(低電平)時,CPU只執(zhí)行片外程序存儲器中的程序;當(dāng)EA接VCC(高電平)時,CPU首先執(zhí)行片程序存儲器中的程序(地址單元從00000FFF),然后自動轉(zhuǎn)向執(zhí)行片外程序存儲器中的程序(地址單元從1000FFFF)。VPP為片F(xiàn)LASH存儲器并行編程時的編程電壓,一般用DC12加入該引腳。ALE/PROG(

28、30腳):地址鎖存允許/編程脈沖信號端,雙功能引腳。當(dāng)CPU訪問外部程序存儲器或外部數(shù)據(jù)存儲器時,該引腳提供一個ALE地址允許信號(由正向負跳變),將低8位地址信息鎖存在片外的地址鎖存器中。在單片機的FLADH存儲器并行編程時,該引腳作為編程負脈沖PROG的輸入端。除上述兩種情況外,在正常操作狀態(tài)下,該引腳端輸出恒定頻率的脈沖,其頻率為晶振頻率的1/6,可用做外部定時或其他觸發(fā)信號。應(yīng)當(dāng)注意的是,CPU每次訪問外部RAM時,即執(zhí)行MOVX類指令,都要丟失一個ALE脈沖。如果需要,可對特殊功能寄存器區(qū)的地址為8EH單元的第0位置1,則可以禁止ALE操作輸出,但在使用MOVC或MOVX指令時,AL

29、E仍然有效,禁止位不影響對外部存儲器的訪問。PSEN(29腳):該引腳為外部程序存儲器讀選通信號,低電平有效。當(dāng)單片機訪問外部程序存儲器讀取與執(zhí)行指令代碼時,在每個機器周期均產(chǎn)生兩次有效的PSEN信號,但在執(zhí)行片程序存儲器讀取指令碼時不產(chǎn)生PSEN信號。在讀寫部RAM單元的數(shù)據(jù)時,亦不產(chǎn)生PSEN信號18,19。2.2 DS18B20溫度傳感器檢測技術(shù)原理DS18B20是美國DALLAS公司生產(chǎn)的數(shù)字溫度傳感器芯片,具有結(jié)構(gòu)簡單、體積小、功耗小、抗干擾能力強、使用方便等優(yōu)點。可以在三根線上同時并聯(lián)多個溫度傳感器,每臺分機上可以連接多根電纜,每根電纜上可以并聯(lián)幾十個點,構(gòu)成串行總線工作方式。由于

30、18B20芯片送出的溫度信號是數(shù)字信號,因此簡化了A/D轉(zhuǎn)換的設(shè)計,提高了測量效率和精度;并且芯片的ROM中存有其唯一標(biāo)識碼,即不存在一樣標(biāo)識碼的DS18B20,特別適合與微處理芯片構(gòu)成多點溫度測控系統(tǒng)。2.2.1 DS18B20的性能特點: 適用電壓圍:3.05.5V; (1) 測溫圍:-55+125,精度為0.5;(2) 無須外部器件,獨特的單線接口僅需要一個端口引腳進行通信; (3) 多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)多點組網(wǎng)功能;(4) 零待機功耗;(5) 用戶可定義的EEPROM,設(shè)定的報警溫度存在非易失存儲器中;(6) 報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條

31、件)的器件;(7) 可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625;(8) 負壓特性:電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。 圖2-4 DS18B20引腳分布圖引腳定義:1DQ為數(shù)字信號輸入/輸出端; 2GND為電源地; 3VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。2.2.2 DS18B20的測溫原理DS18B20的測溫原理如圖2-5所示。用一個高溫度系數(shù)的振蕩器確定一個門周期,部計數(shù)器在這個門周期對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。計數(shù)器被預(yù)置到對應(yīng)于55的一個值。如果計數(shù)器在門周期結(jié)束前到達0,則溫

32、度寄存器的值增加,表明溫度大于55。同時,計數(shù)器被復(fù)位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補償感溫振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到0,如果門周期未結(jié)束,將重復(fù)這一過程。斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器達到被測溫度值。圖2-5 DS18B20測溫原理圖應(yīng)該注意的是:由于DS18B20單線通信功能是時分完成的,它嚴(yán)格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令

33、處理數(shù)據(jù)。根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500us,然后釋放,DS18B20收到信號后等待1660us左右,后發(fā)出60240us的低脈沖,主CPU收到此信號表示復(fù)位成功。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式以0.0625/LSB形式表示。對應(yīng)的溫度計算:當(dāng)符號

34、位S=0時,表示測得的溫度值為正值,可直接將二進制位轉(zhuǎn)換為十進制;當(dāng)S=1時,表示測得的溫度值為負值,要先將補碼變?yōu)樵a,再計算十進制值。 例如+125的數(shù)字輸出為07D0H,+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H。DS18B20溫度值格式表溫度/二進制表示十六進制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 000

35、0 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H2.2.3DS18B20與單片機的接口電路DS18B20可以采用電源供電方式(如圖2-6),此時DS18B20的1腳接地,2腳作為信號線,3腳接+5V電源。圖2-6 DS18B20采用電源供電方式當(dāng)DS18B20處于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟

36、時間最大為10us。采用寄生電源供電方式時VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。3 系統(tǒng)的硬件組成電路設(shè)計系統(tǒng)的硬件組成部分包括:主控制器STC89C52單片機、溫度傳感器DS18B20、四位LED顯示電路、加熱、降溫、報警裝置等構(gòu)成。STC89C52連接各模塊的主控制端口,初步選定將要運用到的電子元器件,再用Protues繪制原理圖,再根據(jù)原理圖焊接電路板。3.1 時鐘電路STC89C52芯片部有一個高增益反向放大器,用于構(gòu)成震蕩器。反向放大器的輸入端為XTAL1,輸出端為XTAL2。在TXAL1和XTAL2兩端跨接由石英晶體與兩個電容構(gòu)成的自激震蕩器,如圖3-1所示

37、。電容器C1和C2取30pF,選用不同的電容量對震蕩頻率有微調(diào)作用。但石英晶體本身的標(biāo)定頻率才是單片機震蕩頻率的決定因素。圖 3-1 時鐘電路 時鐘電路中,兩個電容都選擇30pF的電容,電容各一端接與晶振相連,各一端接地。選擇的晶振是頻率為12MHZ。此模塊就是產(chǎn)生像時鐘一樣準(zhǔn)確的振蕩電路。3.2 STC89C52的復(fù)位電路STC89C52單片機通常采用上電自動復(fù)位和開關(guān)手動復(fù)位兩種方式。本系統(tǒng)采用上電復(fù)位電路,如圖3-2所示,所謂上電復(fù)位,是指單片機只要一上電,便自動地進入復(fù)位狀態(tài)。在通電瞬間,電容C通過電阻R充電,RST端出現(xiàn)正脈沖,用以復(fù)位。圖 3-2 復(fù)位電路復(fù)位電路的基本功能是:系統(tǒng)

38、上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。RC復(fù)位電路可以實現(xiàn)上述基本功能,但解決不了電源毛刺和電源緩慢下降等問題,而其調(diào)整 RC 常數(shù)改變延時會令驅(qū)動能力變差。3.3 LED顯示模塊用STC89C52的P0口作為數(shù)據(jù)線,用P2.1、P2.2、P2.3分別作為LCD的RS 、R/W、E。其中E是下降沿觸發(fā)的片選信號,連接P2.3,R/W是讀寫信號,連接P2.2,RS是寄存器選擇信號,連接P2.1。如圖3-3。圖3-3 LED顯示模塊VEE用連接一阻值為10K的電阻,主要用于

39、調(diào)節(jié)對比度的調(diào)整。接高電源時對比度最低,接低電源時,對比度最高。對比度過高時,會產(chǎn)生“鬼影”。因此連接一10K的電阻用以調(diào)整。當(dāng)P0口作為I/O用時需要上拉電阻,如圖3.5接一排阻,用于上拉。3.4 單總線數(shù)字溫度傳感器DS18B20檢測電路DQ 為數(shù)據(jù)輸入/輸出引腳,連接P3.6。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源,GND為地信號;VCC為電源信號。圖3-4為DS18B20檢測電路。圖3-4 檢測電路3.5 驅(qū)動電路系統(tǒng)使用的是直流馬達,包含周圍磁場、電刷、整流子等元件,電刷和整流子將外部所供應(yīng)的直流電源,持續(xù)地供應(yīng)給轉(zhuǎn)子的線圈,並適時地改變電流的方向,使轉(zhuǎn)子能以

40、同一方向持續(xù)旋轉(zhuǎn)。直流馬達的優(yōu)點有速度調(diào)整容易,啟動轉(zhuǎn)矩較大等,但是電刷與整流子保養(yǎng)維修不易。直流馬達廣泛的用在消費電子產(chǎn)品與玩具,如電動刮胡刀、錄音機、CD唱機等,而大輸出功率的直流電動機則是用在電車,快速電梯,工作母機等。圖3-5 驅(qū)動電路3.6系統(tǒng)總硬件設(shè)計 首先對硬件系統(tǒng)18B20定義端口為P3.6和P1口控制液晶LED的顯示,定義端口P1.5為馬達控制端口,P1.7為喇叭控制端口。首先對溫度采集,將采集到的溫度轉(zhuǎn)換數(shù)字,采集到的溫度由LCM液晶顯示屏顯示。再將采集到的溫度所屬軟件設(shè)置的哪個圍,而控制P1.5的電平輸出。電路原理圖用Protues7.7電路仿真軟件繪制而成。用Protu

41、es7.7電路仿真軟件軟件繪制電路原理圖方便,快捷。Protues7.7電路仿真軟件有豐富的元件庫,智能的器件搜索,智能化的連線,可輸出高質(zhì)量的圖紙。電路原理圖3-6清晰明了。圖3-6 總電路原理圖4、軟件設(shè)計4.1主程序流程圖 DS18B20是可編程器件,在是使用時必須經(jīng)過以下三個步驟:初始化、寫操作、讀操作。每一次讀寫操作之前都要先將DS18B20初始化復(fù)位,復(fù)位成功后才能對DS18B20進行預(yù)定的操作,三個步驟缺一不可。在編寫相應(yīng)的應(yīng)用程序時,必須先掌握DS18B20的通信協(xié)議和時序控制要求。 由于DS18B20是利用一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS1

42、8B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議由幾種單線上信號類別型組成:復(fù)位脈沖,存在脈沖,寫0,寫1,讀0和讀1。主程序流程圖如圖4-1所示:圖4-1 主程序流程圖4.2主程序設(shè)計#include #includeDS18B20.h #define uint unsigned int #define uchar unsigned char #define SET P3_1 #define DEC P3_2 #define ADD P3_3 #define BEEP P3_7 bit shanshuo_st; bit beep_st; sbit DIAN=P17; uch

43、ar x=0; signed char m; uchar n; uchar set_st=0; signed char shangxian=38; signed char xiaxian=5; uchar LEDData=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90,0 xff;void Delay(uint num) while(-num); void InitTimer(void) TMOD=0 x1; TH0=0 x3c; TL0=0 xb0; void timer0(void) interrupt 1 TH0=0

44、 x3c; TL0=0 xb0; x+; void int0(void) interrupt 0 EX0=0; if(DEC=0&set_st=1) shangxian-; if(shangxianxiaxian) shangxian=xiaxian; else if(DEC=0&set_st=2) xiaxian-; if(xiaxian99) shangxian=99; else if(ADD=0&set_st=2) xiaxian+; if(xiaxianshangxian) xiaxian=shangxian; void check_wendu(void) uint a,b,c; c=

45、ReadTemperature()-5; a=c/100; b=c/10-a*10; m=c/10; n=c-a*100-b*10; if(m99)m=99;n=9; Disp_init() P1=0 xbf; P2=0 xf7; Delay(200); P2=0 xfb; Delay(200); P2=0 xfd; Delay(200); P2=0 xfe; Delay(200); P2=0 xff; Disp_Temperature() P1=0 xc6; P2=0 xf7; Delay(300); P1=LEDDatan; P2=0 xfb; Delay(300); P1=LEDData

46、m%10; DIAN=0; P2=0 xfd; Delay(300); P1=LEDDatam/10; P2=0 xfe; Delay(300); P2=0 xff; Disp_alarm(uchar baojing) P1=0 xc6; P2=0 xf7; Delay(200); P1=LEDDatabaojing%10; P2=0 xfb; Delay(200); P1=LEDDatabaojing/10; P2=0 xfd; Delay(200); if(set_st=1) P1=0 x89; else if(set_st=2) P1=0 xc7; P2=0 xfe; Delay(200

47、); P2=0 xff; void Alarm() if(x=10)beep_st=beep_st;x=0; if(m=shangxian&beep_st=1)|(mxiaxian&beep_st=1) BEEP=0; else BEEP=1; void main(void) uint z; InitTimer(); EA=1; TR0=1; ET0=1; IT0=1; IT1=1; check_wendu(); check_wendu(); for(z=0;z2) set_st=0; if(set_st=0) EX0=0; EX1=0; check_wendu(); Disp_Tempera

48、ture(); Alarm(); else if(set_st=1) BEEP=1; EX0=1; EX1=1; if(x=10)shanshuo_st=shanshuo_st;x=0; if(shanshuo_st)Disp_alarm(shangxian); else if(set_st=2) BEEP=1; EX0=1; EX1=1; if(x=10)shanshuo_st=shanshuo_st;x=0; if(shanshuo_st)Disp_alarm(xiaxian); 4.3 DS18B20溫度傳感器初始化主機總線 to 時刻應(yīng)先向DS18B20送出(TX)發(fā)送一復(fù)位脈沖(最短

49、為 480us 的低電平信號即由主機將數(shù)據(jù)線拉低并保持480us960us) ,接著在 tl 時刻釋放總線并進入接收狀態(tài)(RX),DSl820 在檢測到總線的上升沿之后等待 1560us,接著 DS1820 在 t2 時刻發(fā)出存在脈沖(低電平,持續(xù) 60240 us) 如圖4-2中虛線所示。圖4-2 DS18B20初始化DQ狀態(tài)時序圖4.3.1讀出溫度子程序讀出溫度子程序的主要功能讀出RAM中的9個字節(jié)移入溫度暫存器,啟動溫度轉(zhuǎn)換。由于溫度測量只有一只DS18B20,因此我們在讀出溫度時并不進行CRC校驗。其程序流程圖如圖4-3所示。圖4-3 讀溫流程圖4.3.2 DS18B20的寫讀時序圖4

50、-4讀寫時隙時序圖寫時序:對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。當(dāng)主機總線 t0 時刻從高拉至低電平時,就產(chǎn)生寫時間隙,從 t0時刻開始 15us 之應(yīng)將所需寫的位送到總線上 。DSl820 在 t0后1560us間對總線采樣。若低電平 寫入的位是 0;若高電平 寫入的位是 1。連續(xù)寫 2 位間的間隙應(yīng)大于 1us。DS18B20寫出子程序流程圖4-5a)所示。讀時序:主機總線t0時刻從高拉至低電平時,總線只需保持低電平1us,之后在t1時刻將總線拉高,產(chǎn)生讀時間隙,讀時間隙在t1時刻后t2時刻前有效。t2距t0為15us,也就是說,t2時刻前主機必須完成讀位,并在 D

51、S18B20讀出子程序流程圖4-5 b)所示。圖4-5 a)DS18B20寫入子程序流程圖 b) DS18B20讀出子程序流程圖4.4 DS18B20數(shù)據(jù)采集程序的設(shè)計#include #define DQ P3_6 void Delay_DS18B20(int num) while(num-); void Init_DS18B20(void) unsigned char x=0; DQ=1; Delay_DS18B20(8); DQ=0; Delay_DS18B20(80); DQ=1; Delay_DS18B20(14); x=DQ; Delay_DS18B20(20); unsigned

52、 char ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for(i=8;i0;i-) DQ=0; dat=1; DQ=1; if(DQ) dat|=0 x80; Delay_DS18B20(4); return(dat); void WriteOneChar(unsigned char dat) unsigned char i=0; for(i=8;i0;i-) DQ=0; DQ=dat&0 x01; Delay_DS18B20(5); DQ=1; dat=1; unsigned int ReadTemperature(v

53、oid) unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Init_DS18B20(); WriteOneChar(0 xCC); WriteOneChar(0 x44); Init_DS18B20(); WriteOneChar(0 xCC); WriteOneChar(0 xBE); a=ReadOneChar(); b=ReadOneChar(); t=b; t=8; t=t|a; tt=t*0.0625; t=tt*10+0.5; return(t); 4.5調(diào)試主程序的功能是:啟動DS18B20測

54、量溫度,將測量值與給定值進行比較,若測得溫度小于設(shè)定值,則進入加熱階段,置P0.1為高電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設(shè)定圍,置P0.1為低電平斷開可控硅,關(guān)閉加熱器,等待下一次的啟動命令。當(dāng)測得溫度大于設(shè)定值,則進入降溫階段,則置P0.2為高電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設(shè)定圍,置P0.2為低電平斷開,關(guān)閉風(fēng)扇,等待下一次的啟動命令。第一次接電調(diào)試,設(shè)置溫度上限為38攝氏度,溫度下限為5攝氏度。加熱后,溫度有時超過38攝氏度卻不報警,后經(jīng)檢查,發(fā)現(xiàn)是進位C沒有清0,于是在如下寫入程序中加入進位C清零,便排除了這個異常。MOV R3,#6DJNZ R3,$RRC AMOV

55、 P1.0,CMOV R3,#23DJNZ R3,$SETB P1.0NOPDJNZ R2,WR1RET; 讀DS18B2再經(jīng)實際接電調(diào)試,一切運行正常。加熱到38攝氏度時,紅燈亮起,自動斷電,而低于5攝氏度時,綠燈亮起,開始加熱。結(jié)束語本次論文是基于單片機的溫控系統(tǒng),溫控系統(tǒng)就目前而言在生產(chǎn)生活領(lǐng)域應(yīng)用廣泛,在將來的很長一段時間將有很大的發(fā)展?jié)摿?,相關(guān)應(yīng)用也將層出不窮。本文先從溫控系統(tǒng),并指出其優(yōu)缺點。接下來介紹溫控系統(tǒng)的原理與紅外通信溫控系統(tǒng)設(shè)計的方案。全文按照提出問題,分析問題,解決問題,驗證設(shè)計的思路分別列為四章容進行詳細述:第1章簡要介紹了溫控系統(tǒng)的背景、應(yīng)用與發(fā)展。第2章主要講述數(shù)

56、字溫度傳感器物理特性和溫控系統(tǒng)的設(shè)計原理,包括單片機原理、DS18B20原理等。在此基礎(chǔ)上,第3章,介紹了單片機各管腳的功能與硬件設(shè)計方法。第4章具體闡述了基于單片機的溫控系統(tǒng)的軟件設(shè)計方法,最后給出了測試的效果圖測試了該系統(tǒng)的性能。寫該論文前在keil軟件上進行了進行C程序的設(shè)計、編譯,并將輸出的的hex文件通過STC_ISP_V479下載到單片機中,最后在單片機開發(fā)板上進行調(diào)試,經(jīng)硬件調(diào)試證明本設(shè)計是正確的。測試中,我們用一個DS18B20作為溫度采集器輸出到單片機進行處理并顯示溫度,溫度過高過低,采取相應(yīng)動作,上電后調(diào)試達到預(yù)期目的,設(shè)計完全成功。本文給出的設(shè)計思想也適用于其他基于單片機

57、的系統(tǒng)設(shè)計。我做這次畢業(yè)設(shè)計的過程中碰到了一些困難。首先,本次設(shè)計是采用keil與STC_ISP_V479軟件來完成的。因此須對這兩種軟件的使用要熟悉。其次,由于在顯示過程中參數(shù)設(shè)置不夠恰當(dāng),導(dǎo)致單片機無法穩(wěn)定顯示溫度值。通過此次畢業(yè)設(shè)計我的動手能力得到了極大的加強。同時我深刻的認(rèn)識到思維嚴(yán)謹(jǐn)與實踐的重要性,在以后的學(xué)習(xí)中我將要加強理論與實際的結(jié)合。致 經(jīng)過三個月的學(xué)習(xí)和試驗,終于完成了我的畢業(yè)設(shè)計??粗约盒燎诘某晒?,心里非常高興。在這期間遇到了很多從來都沒有遇到過的問題,但是通過自己的努力和老師、同學(xué)的幫助最后把它們一一解決了。其中在西曲老師的精心安排和指導(dǎo)下,對題目有了較深入的理解,也嘗到了電路系統(tǒng)設(shè)計的艱辛。在本次設(shè)計中我在各個環(huán)節(jié)中都做到了深入實際,動手實踐,不僅對我們學(xué)過的理論知識進行了一次全面的復(fù)習(xí)和鞏固,而且還在電子電路、單片機等方面拓展了我們的知識面,為將來的實際工作打下良好的基礎(chǔ),特別是在分析問題,解決問題的方面得到了良好的鍛煉機會,受益匪淺。由于本人水平和經(jīng)驗有限,在設(shè)計的過程中難免存在一些不足甚至一些錯誤,敬請各位老師和同學(xué)批評指正。最后,向我的指導(dǎo)教師西曲老師表示

溫馨提示

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

最新文檔

評論

0/150

提交評論