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

下載本文檔

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

文檔簡介

1、摘要單片機技術(shù)已經(jīng)普及到我們生活,工作,科研,各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機控制的數(shù)字溫度器,本溫度計屬于多功能溫度計,可以設(shè)置上下報警溫度,當溫度不在設(shè)置范圍內(nèi)時,可以報警。隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展及人們對生活環(huán)境要求的提高,人們也迫切需要檢測與控制溫度。本文通過采用蜂鳴器作為電聲元件的溫度報警器的設(shè)計,闡明了該裝置進行設(shè)計與制作的具體過程及方法。這種溫度報警器結(jié)構(gòu)簡單,可操作性強,應(yīng)用廣泛。工作時,溫度測量范圍為538º。當前環(huán)境溫度若超過設(shè)定的高溫臨界溫度,由單片機發(fā)出報警信號,從而防止帶來的不必要的損失。造成高溫火災(zāi)有:電氣線路短路、過載、接觸

2、電阻過大等引發(fā)高溫或火災(zāi);靜電產(chǎn)生高溫或或火災(zāi);雷電等強電侵入導致高溫或火災(zāi);最主要是機房內(nèi)電腦、空調(diào)等用電設(shè)備長時間工作,導致設(shè)備老化,空調(diào)發(fā)生故障,而不能降溫;因此機房內(nèi)所屬的電子產(chǎn)品發(fā)熱快,在短時間內(nèi)機房溫度升高超出設(shè)備正常溫度,導致系統(tǒng)癱瘓或產(chǎn)生火災(zāi),這時溫度報警系統(tǒng)就會發(fā)揮應(yīng)有的功能。關(guān)鍵詞:STC89C51單片機,數(shù)字控制,溫度計,DS18B20,AT24C02ABSTRACTSingle chip technology has spread to we live, work, scientific research, each domain, has become a matur

3、e technology, this paper introduces a kind of based on single chip microcomputer control digital temperature device, the thermometer belongs to the multi-function thermometer, can set up and down the temperature alarm, when the temperature is not set range, you can call the police.With modern indust

4、rial and agricultural technology and the development of people to the improvement of the living environment requirements, and people urgently need to test and control the temperature. Through the use of components of the buzzer as acoustic temperature alarm design, it is expounded that the device fo

5、r the design and production of the specific processes and methods. The temperature alarm simple structure, the maneuverability is strong, wide application. Work, temperature measurement range for 5-38 º C. The current environment temperature if more than the high temperature of setting the crit

6、ical temperature, issued a warning signal by single-chip microcomputer, thus preventing bring unnecessary losses.High temperature caused by fire are: electric short circuit, overload, contact resistance by too high temperature or fire; Electrostatic generation high temperature or or fire; Lightning

7、and lead to high temperatures or high voltage into the fire; The main room is in air conditioning equipment such as computer, electricity work long hours, cause of old equipment, air conditioning fault, and can't cooling; So the telecom room belongs to electronic products fever fast, in a short

8、time, computer room temperature beyond normal temperature equipment, cause the system to produce paralysis or fire, when temperature alarm system will play its function.Keywords: STC89C51 microcontroller, digital control, thermometer, DS18B20, AT24C02目 錄摘要1ABSTRACT2目 錄3第一章設(shè)計要求與方案論證41.1設(shè)計要求41.2系統(tǒng)基本方案

9、選擇和論證41.2.1 單片機芯片的選擇方案和論證41.2.2 溫度傳感器設(shè)計方案論證51.2.3 掉電保持方案論證51.3 電路設(shè)計最終方案決定6第二章主要元件介紹62.1 STC89C51介紹62.1.1 STC89C51主要功能及PDIP封裝62.1.2 STC89C51引腳介紹62.1.3 單片機最小系統(tǒng):82.2 DS18B20傳感器介紹82.2.1 DS18B20概述82.2.2 DS18B20引腳介紹92.2.3 DS18B20的內(nèi)部結(jié)構(gòu)102.2.4 DS18B20的程序流程圖112.3 數(shù)碼管介紹112.3.1 數(shù)碼管概述122.4 AT24C02簡介122.4.1 I2C總

10、線說明13第三章程序流程圖16結(jié)論17參考文獻18致 謝19附錄 A 電路原理圖20附錄 B C語言程序21第一章 設(shè)計要求與方案論證1.1設(shè)計要求基本范圍0-99 ;精度誤差小于 0.1 ;數(shù)碼管直讀顯示;擴展功能:可以任意設(shè)定溫度的上下限報警功能,并可以掉電保持上下限溫度值。1.2系統(tǒng)基本方案選擇和論證1.2.1 單片機芯片的選擇方案和論證由于單片機具有以下的很多優(yōu)點,被我們選定為制作該作品的首選芯片單片機特點:(1)高集成度,體積小,高可靠性 單片機將各功能部件集成在一塊晶體芯片上,集成度很高,體積自然也是最小的。芯片本身是按工業(yè)測控環(huán)境要求設(shè)計的,內(nèi)部布線很短,其抗工業(yè)噪音性能優(yōu)于一般

11、通用的CPU。單片機程序指令,常數(shù)及表格等固化在ROM中不易破壞,許多信號通道均在一個芯片內(nèi),故可靠性高。 (2)控制功能強 為了滿足對對象的控制要求,單片機的指令系統(tǒng)均有極豐富的條件:分支轉(zhuǎn)移能力,I/O口的邏輯操作及位處理能力,非常適用于專門的控制功能。 (3)低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品 為了滿足廣泛使用于便攜式系統(tǒng),許多單片機內(nèi)的最低工作電壓僅為1.8V3.6V,而工作電流僅為數(shù)百微安。 (4)易擴展 片內(nèi)具有計算機正常運行所必需的部件。芯片外部有許多供擴展用的三總線及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計算機應(yīng)用系統(tǒng)。 (5)優(yōu)異的性價比 單片機的性能極高。為了提高速

12、度和運行效率,單片機已開始使用RISC流水線和DSP等技術(shù)。單片機的尋址能力也已突破64KB的限制,有的已可達到1MB和16MB,片內(nèi)的ROM容量可達62MB,RAM容量則可達2MB。由于單片機的廣泛使用,因而銷量極大,各大公司的商業(yè)競爭更使其價格十分低廉,其性能價格比極高。 方案一:采用STC89C51芯片作為硬件核心。STC89C51內(nèi)部具有8KB ROM 存儲空間,512字節(jié)數(shù)據(jù)存儲空間,帶有2K字節(jié)的EEPROM存儲空間,與MCS-51系列單片機完全兼容,STC89C51可以通過串口下載。方案二:采用AT89S51。AT89S51片內(nèi)具有8K字節(jié)程序存儲空間,256字節(jié)的數(shù)據(jù)存儲空間沒

13、有EEPROM存儲空間,也與MCS-51系列單片機完全兼容,具有在線編程可擦除技術(shù)。兩種單片機都完全能夠滿足設(shè)計需要,STC89C51相對ATS89C52價格便宜,且抗干擾能力強??紤]到成本因素,因此選用STC89C51。1.2.2 溫度傳感器設(shè)計方案論證利用物質(zhì)各種物理性質(zhì)隨溫度變化的規(guī)律把溫度轉(zhuǎn)換為電量的傳感器。這些呈現(xiàn)規(guī)律性變化的物理性質(zhì)主要有體。溫度傳感器是溫度測量儀表的核心部分,品種繁多。按測量方式可分為接觸式和非接觸式兩大類,按照傳感器材料及電子元件特性分為熱電阻和熱電偶兩類?,F(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計算機技術(shù))。溫度傳感器

14、的發(fā)展大致經(jīng)歷了以下三個階段;(1)傳統(tǒng)的分立式溫度傳感器(含敏感元件);(2)模擬集成溫度傳感器/控制器;(3)智能溫度傳感器。國際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。在20世紀90年代中期最早推出的智能溫度傳感器,采用的是8位A/D轉(zhuǎn)換器,其測溫精度較低,分辨力只能達到1°C。國外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是912位A/D轉(zhuǎn)換器,分辨力一般可達0.50.0625°C。由美國DALLAS半導體公司新研制的DS1624型高分辨力智能溫度傳感器,能輸出13位二進制數(shù)據(jù),其分辨力高達0.03125°C,測

15、溫精度為±0.2°C。為了提高多通道智能溫度傳感器的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式A/D轉(zhuǎn)換器。目前,智能溫度傳感器的總線技術(shù)也實現(xiàn)了標準化、規(guī)范化,所采用的總線主要有單線(1-Wire)總線、I2C總線、SMBus總線和spI總線。溫度傳感器作為從機可通過專用總線接口與主機進行通信。方案一: 由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化 的電壓或電流采集過來,進行 A/D 轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到 A/D 轉(zhuǎn)換電路,感溫電路比較麻煩。方案二:進而考慮到用溫度

16、傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。從以上兩種方案,兩種都完全能夠滿足設(shè)計需要,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計也比較簡單,故采用了方案二。1.2.3 掉電保持方案論證為了方便使用,本設(shè)計采用串行E2PROMI2C-BUS的存儲器件AT24C02,由于其具有接口方便,體積小,數(shù)據(jù)掉電不丟失等特點,在儀器儀表及工業(yè)自動化控制中得到大量的應(yīng)用。本設(shè)計就是采用此功能。1.3 電路設(shè)計最終方案決定綜上各方案所述,對此次作品的方案選定:采用S

17、TC89C51單片機作為主控制系統(tǒng);采用DS18B20為傳感器;采用AT24C02作為數(shù)據(jù)記錄系統(tǒng);采用數(shù)碼管作為顯示器件。51單片機最小系統(tǒng)數(shù)碼管顯示模塊獨立按鍵模塊繼電器輸出控制模塊IIC存儲模塊DS18B20測溫模塊蜂鳴器報警模塊供電開關(guān)模塊第二章 主要元件介紹2.1 STC89C51介紹STC89C51是由深圳宏晶科技公司生產(chǎn)的與工業(yè)標準MCS-51指令集和輸出管腳相兼容的單片機。2.1.1 STC89C51主要功能及PDIP封裝STC89C51主要功能如表1所示,其PDIP封裝如圖1所示主要功能特性兼容MCS51指令系統(tǒng)8K可反復擦寫Flash ROM32個雙向I/O口256x8bi

18、t內(nèi)部RAM3個16位可編程定時/計數(shù)器中斷時鐘頻率0-24MHz2個串行中斷可編程UART串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能表1:STC89C51主要功能2.1.2 STC89C51引腳介紹 主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線外接晶振引腳(2根)XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin20):片內(nèi)振蕩電路的輸出端控制引腳(4根)RST/VPP(Pin9):復位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復位。ALE/PROG(Pin30):地址鎖

19、存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。可編程輸入/輸出引腳(32根)STC89C51單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。P0口(Pin39Pin32):8位雙向I/O口線,名稱為P0.0P0.7P1口(Pin1Pin8):8位準雙向I/O口線,名稱為P1.0P1.7 P2口(Pin21Pin28):8位準雙向I/O口線,名稱為P2.0P2.7 P3口(Pin10Pin17):8位準雙向I/O口

20、線,名稱為P3.0P3.7圖1:STC89C51封裝圖2.1.3 單片機最小系統(tǒng):當在STC89C51單片機的RST引腳引入高電平并保持2個機器周期時,單片機內(nèi)部就執(zhí)行復位操作,按鍵手動復位有電平方式和脈沖方式兩種。其中電平復位是通過RST端經(jīng)過電阻與電源VCC接通而實現(xiàn)的。最小系統(tǒng)如圖2所示。圖2 單片機最小系統(tǒng)電路電路以STC89C51單片機最小系統(tǒng)為控制核心,測溫電路由DS18B20提供,輸入部分采用三個獨立式按鍵S1、S2、S3。數(shù)碼管顯示部分。具體電路連接,詳見附錄1。2.2 DS18B20傳感器介紹2.2.1 DS18B20概述在現(xiàn)代檢測技術(shù)中,傳感器占據(jù)著不可動搖的重要位置。主機

21、對數(shù)據(jù)的處理能力已經(jīng)相當?shù)膹?,但是對現(xiàn)實世界中的模擬量卻無能為力。如果沒有各種精確可靠的傳感器對非電量和模擬信號進行檢測并提供可靠的數(shù)據(jù),那計算機也無法發(fā)揮他應(yīng)有的作用。傳感器把非電量轉(zhuǎn)換為電量,經(jīng)過放大處理后,轉(zhuǎn)換為數(shù)字量輸入計算機,由計算機對信號進行分析處理。從而傳感器技術(shù)與計算機技術(shù)結(jié)合起來,對自動化和信息化起重要作用。采用各種傳感器和微處理技術(shù)可以對各種工業(yè)參數(shù)及工業(yè)產(chǎn)品進行測控及檢驗,準確測量產(chǎn)品性能,及時發(fā)現(xiàn)隱患。為提高產(chǎn)品質(zhì)量、改進產(chǎn)品性能,防止事故發(fā)生提供必要的信息和更可靠的數(shù)據(jù)。由于系統(tǒng)的工作環(huán)境比較惡劣,且對測量要求比較高,所以選擇合適的傳感器很重要。目前,國際上新型溫度傳

22、感器正從模擬式向數(shù)字式、從集成化向智能化和網(wǎng)絡(luò)化的方向飛速發(fā)展。智能溫度傳感器DS18B20正是朝著高精度、多功能、總線標準化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。因此,智能溫度傳感器DS18B20作為溫度測量裝置已廣泛應(yīng)用于人民的日常生活和工農(nóng)業(yè)生產(chǎn)中。美國DALLAS公司生產(chǎn)的 DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片外加不銹鋼保護管封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。有獨特的單線接口方式,DS1820在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS1820的雙向通訊;其測溫

23、范圍 55125,固有測溫分辨率0.5;支持多點組網(wǎng)功能;多個DS1820可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫;工作電源為35V/DC;在使用中不需要任何外圍元件。DS18B20的性能特點如下:(1) 采用DALLAS公司獨特的單線接口方式:DS18B20與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊; (2)在使用中不需要任何外圍元件;(3)可用數(shù)據(jù)線供電,供電電壓范圍:+3.0V+5.5V;(4)測溫范圍:-55+125。固有測溫分辨率為0.5。當在-10+85范圍內(nèi),可確保測量誤差不超過0.5,在-55+125范圍內(nèi),測量誤差也不超過2;(5)通過編程可實現(xiàn)91

24、2位的數(shù)字讀數(shù)方式;(6)用戶可自設(shè)定非易失性的報警上下限值;(7)支持多點的組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫(8)負壓特性,即具有電源反接保護電路。當電源電壓的極性反接時,能保護DS18B20不會因發(fā)熱而燒毀,但此時芯片無法正常工作;(9)DS18B20的轉(zhuǎn)換速率比較高,進行9位的溫度值轉(zhuǎn)換只需93.75ms;(10)適配各種單片機或系統(tǒng);(11)內(nèi)含64位激光修正的只讀存儲ROM,扣除8位產(chǎn)品系列號和8位循環(huán)冗余校驗碼(CRC)之后,產(chǎn)品序號占48位。出廠前產(chǎn)品序號存入其ROM中。在構(gòu)成大型溫控系統(tǒng)時,允許在單線總線上掛接多片DS18B20。2.2.2 DS

25、18B20引腳介紹圖3:DS18B20引腳各引腳功能為:I/O為數(shù)據(jù)輸入/輸出端(即單線總線),它屬于漏極開路輸出,外接上拉電阻后,常態(tài)下呈高電平。UDD是可供選用的外部電源端,不用時接地,GND為地,NC空腳。2.2.3 DS18B20的內(nèi)部結(jié)構(gòu)DS18B20的內(nèi)部結(jié)構(gòu)主要包括7部分:寄生電源、溫度傳感器、64位激光(loser)ROM與單線接口、高速暫存器(即便筏式RAM,用于存放中間數(shù)據(jù))、TH觸發(fā)寄存器和TL觸發(fā)寄存器,分別用來存儲用戶設(shè)定的溫度上下限值、存儲和控制邏輯、位循環(huán)冗余校驗碼(CRC)發(fā)生器。圖4:DS18B20內(nèi)部結(jié)構(gòu)2.2.4 DS18B20的程序流程圖否是發(fā)出溫度轉(zhuǎn)換

26、命令寫入18B20讀溫度前復位顯示測溫點位置18B20復位開始18B20存在?延時發(fā)出讀溫度命令寫入18B20讀入溫度值數(shù)據(jù)返回延時圖5程序流程圖2.3 數(shù)碼管介紹數(shù)碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管; 按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段

27、就點亮,當某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮,當某一字段的陽極為低電平時,相應(yīng)字段就不亮。2.3.1 數(shù)碼管概述圖5:數(shù)碼管數(shù)碼顯示器是一種由LED發(fā)光二極管組合顯示字符的顯示器件,它使用了8個Led發(fā)光二極管,其中七個用于顯示字符,一個顯示小數(shù)點,所以通稱為七段發(fā)光二極管數(shù)碼顯示器。4位一體數(shù)碼管,其內(nèi)部段已連接好,引腳如圖所示(數(shù)碼管的正面朝自己,小數(shù)點在下方)。a、b、c、d、e、f、g、dp為段引腳,

28、S1、S2、S3、S4分別表示四個數(shù)碼管的位。2.4 AT24C02簡介如圖1為AT24C02的芯片引腳圖。圖3-1 AT24C02的芯片引腳圖AT24C02提供電可擦除的串行1024位存儲或可編程只讀存儲器(EEPROM)128字(8位/字)。芯片在低壓的工業(yè)與商業(yè)應(yīng)用中進行了最優(yōu)化。AT24C01的封裝為8腳PDIP、8腳JEDECSOIC、8腳TSSOP,通過2線制串行接口進行數(shù)據(jù)傳輸。另外,整個系列有2.7V(2.7V至5.5V)和1.8V (1.8V至5.5V)兩個版本。設(shè)備操作:C L O C K 和 D A T A 變化:SDA管腳通常外都要拉高。SDA管腳上的數(shù)據(jù)只能在SCL低

29、期間改變。數(shù)據(jù)在SCL高期間改變定義為一個開始或停止信號。開始狀態(tài):在任何操作之前必須有一個開始信號-在SCL為高時SDA上產(chǎn)生一個下降沿。停止狀態(tài): SCL為高時SDA產(chǎn)生一個上升沿是停止信號,停止信號后將停止所有通信。在一個讀的序列之后,停止信號將讓EEPROM進入備用電源模式。2.4.1 I2C總線說明I2C(InterIntegrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個組件狀態(tài)的通信。例如管理員可對各個組件進行查詢,以管理系統(tǒng)

30、的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風扇??呻S時監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個參數(shù),增加了系統(tǒng)的安全性,方便了管理。1 I2C總線的硬件結(jié)構(gòu)I2C串行總線一般有兩根信號線,一根是雙向的數(shù)據(jù)線SDA,另一根是時鐘線SCL。所有接到I2C總線設(shè)備上的串行數(shù)據(jù)SDA都接到總線的SDA上,各設(shè)備的時鐘線SCL接到總線的SCL上。為了避免總線信號的混亂,要求各設(shè)備連接到總線的輸出端時必須是開漏輸出或集電極開路輸出。設(shè)備上的串行數(shù)據(jù)線SDA接口電路應(yīng)該是雙向的,輸出電路用于向總線上發(fā)送數(shù)據(jù),輸入電路用于接收總線上的數(shù)據(jù)。而串行時鐘線也應(yīng)是雙向的,作為控制總線數(shù)據(jù)傳送的主機,一方面要通過SCL輸出

31、電路發(fā)送時鐘信號,另一方面還要檢測總線上的SCL電平,以決定什么時候發(fā)送下一個時鐘脈沖電平;作為接受主機命令的從機,要按總線上的SCL信號發(fā)出或接收SDA上的信號,也可以向SCL線發(fā)出低電平信號以延長總線時鐘信號周期??偩€空閑時,因各設(shè)備都是開漏輸出,上拉電阻RP使SDA和SCL線都保持高電平。任一設(shè)備輸出的低電平都將使相應(yīng)的總線信號線變低,也就是說:各設(shè)備的SDA是“與”關(guān)系,SCL也是“與”關(guān)系。 總線對設(shè)備接口電路的制造工藝和電平都沒有特殊的要求(NMOS、CMOS都可以兼容)。在I2C總線上的數(shù)據(jù)傳送率可高達每秒十萬位,高速方式時在每秒四十萬位以上。另外,總線上允許連接的設(shè)備數(shù)以其電容

32、量不超過400pF為限。 總線的運行(數(shù)據(jù)傳輸)由主機控制。所謂主機是指啟動數(shù)據(jù)的傳送(發(fā)出啟動信號)、發(fā)出時鐘信號以及傳送結(jié)束時發(fā)出停止信號的設(shè)備,通常主機都是微處理器。被主機尋訪的設(shè)備稱為從機。為了進行通訊,每個接到I2C總線的設(shè)備都有一個唯一的地址,以便于主機尋訪。主機和從機的數(shù)據(jù)傳送,可以由主機發(fā)送數(shù)據(jù)到從機,也可以由從機發(fā)到主機。凡是發(fā)送數(shù)據(jù)到總線的設(shè)備稱為發(fā)送器,從總線上接收數(shù)據(jù)的設(shè)備被稱為接受器。I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號, 它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號:SCL為高電平時,

33、SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。 應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。如圖3-2所示:SDASCL開始結(jié)束圖3-2 開始、結(jié)束信號圖目前有很多半導體集成電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監(jiān)控

34、芯片等也提供I2C接口??偩€基本操作:I2C規(guī)程運用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來表示起始和停止條件??刂谱止?jié):在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫位,當為1時為讀操作,為0時

35、為寫操作。寫操作:寫操作分為字節(jié)寫和頁面寫兩種操作,對于頁面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同。讀操作:讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。圖4給出的是順序讀的時序圖。應(yīng)當注意的是:最后一個讀操作的第9個時鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機必須在第9個周期時發(fā)出停止條件或者在第9個時鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。第三章 程序流程圖開始初始化讀取當前溫度讀取AT24C02內(nèi)上下限溫度值當前溫度與上下限位關(guān)系判斷SET是否按下加減鍵是否按下相應(yīng)處理上下限位,并寫入AT24C02上限指示燈點亮,蜂鳴器閃響下限指示燈點亮,蜂鳴器閃響While循環(huán)返回否是否是大

36、于上限小于下限顯示當前溫度正常范圍結(jié)論通過對自己在大學兩年時間里所學的知識的回顧,并充分發(fā)揮對所學知識的理解和對畢業(yè)設(shè)計的思考及書面表達能力,最終完成了本設(shè)計。這為自己今后進一步深化學習,積累了一定寶貴的經(jīng)驗。撰寫論文的過程也是專業(yè)知識的學習過程,它使我運用已有的專業(yè)基礎(chǔ)知識,對其進行設(shè)計,分析和解決一個理論問題或?qū)嶋H問題,把知識轉(zhuǎn)化為能力的實際訓練。培養(yǎng)了我運用所學知識解決實際問題的能力。本次論文設(shè)計,使我加深了對單片機的認識,并且熟悉了單片機系統(tǒng)的設(shè)計流程,收獲豐碩。技術(shù)在不斷進步,機械式時鐘已經(jīng)被淘汰,電子時代已經(jīng)到來。做為新時代的我們,更應(yīng)該提高自身能力,適應(yīng)新時代的發(fā)展。知識來自實踐

37、,多從生活中探尋所需要的。從這次的論文設(shè)計中,我真正的體會到,知識的重要性,特別是要理論聯(lián)系實際,把我們所學的理論知識運用到實際生活當中,要用知識改變一切。參考文獻1 陳權(quán)昌,李興富.單片機原理及應(yīng)用M.廣州:華南理工大學出版社,2007.841022 李慶亮.C語言程序設(shè)計實用教程M.北京:機械工業(yè)出版社,2005.32583 楊志忠.數(shù)字電子技術(shù)M.北京:高等教育出版社,2003.1251324 及力.Protel 99 SE原理圖與PCB設(shè)計教程M.北京:電子工業(yè)出版社,2007.891505 徐江海.單片機實用教程M.北京:機械工業(yè)出版社,2006.1281566 胡宴如.模擬電子技術(shù)

38、M.北京:高等教育出版社,2008.601047 汪文,陳林.單片機原理及應(yīng)用M.湖北:華中科技大學出版社,2007.36688 康華光.電子技術(shù)基礎(chǔ)數(shù)字部分M.北京:高等教育出版社,2008.2032099 楊欣電子設(shè)計從零開始M.北京:清華大學出版社,2005.28102致 謝首先,感謝學校三年來對我的培養(yǎng)。為我們營造了一個良好的學習氛圍,建設(shè)一流的教學設(shè)施,使我們身心愉快的投入到學習中。其次,感謝尊敬的指導老師,有了他的諄諄教誨,處處提點,才使本論文的前期準備以及整個研究過程順利完成。指導老師的嚴謹治學態(tài)度、扎實的理論基礎(chǔ)、全身心投入工作的精神以及對學生盡心盡力的態(tài)度給了我極大的幫助與鼓

39、勵,使我受益匪淺。從指導老師的教學態(tài)度上,我學到的不僅僅只有書本上的知識,還有做人的道理。他嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和激勵著我。在此謹向指導老師致以誠摯的謝意和崇高的敬意。最后,感謝我的父母多年來給予我的支持和關(guān)懷,同時感謝我的舍友和朋友對我的幫助。附錄 A 電路原理圖附錄 B C語言程序#include<reg52.h> #define ui unsigned int#define uc unsigned char /宏定義sbit SET=P31; /定義調(diào)整鍵sbit DEC=P32; /定義減少鍵sbit ADD=P33; /定義增加鍵

40、sbit BEEP=P36; /定義蜂鳴器sbit ALAM=P12;/定義燈光報警sbit ALAM1=P14;sbit DQ =P37; /定義DS18B20總線I/Osbit SCL=P16;sbit SDA=P17;sbit DIAN=P05; /小數(shù)點bit bdata shanshuo_st; /閃爍間隔標志bit bdata beep_st; /蜂鳴器間隔標志uc x=0; /計數(shù)器ui bai,shi,ge;uc set_st=0; /狀態(tài)標志char shangxian,xiaxian;code LEDData=0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0x

41、DB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B;/=DS18B20=/*延時子程序*/void Delay_DS18B20(int num) while(num-) ;void delay()/5微秒延時函數(shù) ; void start() /開始信號SDA=1;delay();SCL=1;delay();SDA=0;delay();void stop() /終止信號SDA=0;delay();SCL=1;delay();SDA=1;delay();void respons() /應(yīng)答uc i;SCL=1;delay();while(SDA=1)&

42、amp;&(i<250)i+;/如果SDA為低應(yīng)答有效,或者超過一定時間默認應(yīng)答有效SCL=0;delay();void init24c04()/I2C總線初始化SDA=1;delay();SCL=1;delay();void write_byte(uc date)/寫操作uc i,temp;temp=date;for(i=0;i<8;i+)temp=temp<<1;SCL=0; delay();SDA=CY;delay();SCL=1;delay();SCL=0;delay();SDA=1;delay();uc read_byte()/讀操作uc i,k;SC

43、L=0;delay();SDA=1;delay();for(i=0;i<8;i+)SCL=1;delay();k=(k<<1)|SDA;SCL=0;delay();return k;void write_add(uc address,uc date)/往任意地址存數(shù)據(jù)start();write_byte(0xa0);/0xa0代表寫入respons();write_byte(address);respons();write_byte(date);respons();stop();uc read_add(uc address)/讀隨意地址內(nèi)容uc date;start();wr

44、ite_byte(0xa0);/0xa0代表寫入respons();write_byte(address);respons();start();write_byte(0xa1);/0xa1代表讀出respons();date=read_byte();stop();return date;/返回值/*初始化DS18B20*/void Init_DS18B20(void) uc w=0; DQ = 1; /DQ復位 Delay_DS18B20(8); /稍做延時 DQ = 0; /單片機將DQ拉低 Delay_DS18B20(80); /精確延時,大于480us DQ = 1; /拉高總線 Del

45、ay_DS18B20(14); w = DQ; /稍做延時后,如果x=0則初始化成功,x=1則初始化失敗 Delay_DS18B20(20);/*讀一個字節(jié)*/unsigned char ReadOneChar(void) uc i=0; uc dat = 0; for (i=8;i>0;i-) DQ = 0; / 給脈沖信號 dat>>=1; DQ = 1; / 給脈沖信號 if(DQ) dat|=0x80; Delay_DS18B20(4); return(dat);/*寫一個字節(jié)*/void WriteOneChar(uc dat) uc i=0; for (i=8;

46、i>0; i-) DQ = 0; DQ = dat&0x01; Delay_DS18B20(5); DQ = 1; dat>>=1; /*讀取溫度*/ui ReadTemperature(void) ui b=0; float tt=0; Init_DS18B20(); WriteOneChar(0xCC); /跳過讀序號列號的操作 WriteOneChar(0x44); /啟動溫度轉(zhuǎn)換 Init_DS18B20(); WriteOneChar(0xCC); /跳過讀序號列號的操作 WriteOneChar(0xBE); /讀取溫度寄存器 a=ReadOneChar(

47、); /讀低8位 b=ReadOneChar(); /讀高8位 t=b; t<<=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; /放大10倍輸出并四舍五入 return(t);/*延時子程序*/void Delay(ui num) while( -num );/*初始化定時器0*/void InitTimer(void)TMOD=0x01;TH0=0x3c;TL0=0xb0; /50ms(晶振12M)/*讀取溫度*/void check_wendu(void)ui f;f=ReadTemperature()-5; /獲取溫度值并減去DS18B20的溫漂誤

48、差if(f<0)f=0;if(f>999)f=999;bai=f/100; /計算得到十位數(shù)字shi=(f%100)/10; /計算得到個位數(shù)字ge=(f%100)%10; /計算得到整數(shù)位/*顯示開機初始化等待畫面*/void Disp_init(void) P0 = 0x80; /顯示-P2 = 0x7F;Delay(200);P2 = 0xDF;Delay(200); P2 = 0xF7;Delay(200);P2 = 0xFD;Delay(200);P2 = 0xFF; /關(guān)閉顯示/*顯示溫度子程序*/void Disp_Temperature(void) /顯示溫度P0

49、= 0x98; /顯示CP2 = 0x7F;Delay(400);P0=LEDDatage; /顯示個位P2 = 0xDF;Delay(400);P0 =LEDDatashi; /顯示十位DIAN = 0; /顯示小數(shù)點P2 = 0xF7;Delay(400);P0 =LEDDatabai; /顯示百位P2 = 0xFD;Delay(400);P2 = 0xff; /關(guān)閉顯示/*顯示報警溫度子程序*/void Disp_alarm(uc baojing)P0 =0x98; /顯示CP2 = 0x7F;Delay(200);P0 =LEDDatabaojing%10; /顯示十位P0 =LEDDat

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論