基于51單片機(jī)的溫度報(bào)警器設(shè)計(jì)畢業(yè)論文.doc
《基于51單片機(jī)的溫度報(bào)警器設(shè)計(jì)畢業(yè)論文.doc》由會員分享,可在線閱讀,更多相關(guān)《基于51單片機(jī)的溫度報(bào)警器設(shè)計(jì)畢業(yè)論文.doc(32頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、畢業(yè)論文2014屆題 目 基于51單片機(jī)的溫度報(bào)警器設(shè)計(jì) 姓 名 我 學(xué) 號 專業(yè)班級 通信電子技術(shù) 指導(dǎo)教師 于先生 2014年12月3日畢業(yè)論文任務(wù)書主要實(shí)現(xiàn):實(shí)時(shí)溫度測量及顯示,超出溫度范圍聲光報(bào)警,上下限溫度可通過按鍵設(shè)定等功能。本數(shù)字溫度報(bào)警器是基于51單片機(jī)及溫度傳感器DS18B20來設(shè)計(jì)的,溫度測量范圍0到99.9攝氏度,精度為0.1攝氏度,可見測量溫度的范圍廣,精度高的特點(diǎn)??稍O(shè)置上下限報(bào)警溫度,默認(rèn)上限報(bào)警溫度為38、默認(rèn)下限報(bào)警溫度為5(通過程序可以更改上下限值)。報(bào)警值可設(shè)置范圍:最低上限報(bào)警值等于當(dāng)前下限報(bào)警值,最高下限報(bào)警值等于當(dāng)前上限報(bào)警值。將下限報(bào)警值調(diào)為0時(shí)為關(guān)
2、閉下限報(bào)警功能。目 錄前言11 設(shè)計(jì)要求與方案論證21.1 設(shè)計(jì)要求21.2 系統(tǒng)基本方案選擇和論證21.2.1 單片機(jī)芯片的選擇方案和論證21.2.2 溫度傳感器設(shè)計(jì)方案論證31.2.3 掉電保持方案論證31.3 電路設(shè)計(jì)最終方案決定42 主要元件介紹42.1 STC89C51介紹42.1.1 STC89C51主要功能及PDIP封裝42.1.2 STC89C51引腳介紹42.1.3 單片機(jī)最小系統(tǒng):52.2 DS18B20傳感器介紹62.2.1 DS18B20概述62.2.2 DS18B20引腳介紹72.2.3 DS18B20的內(nèi)部結(jié)構(gòu)72.2.4 DS18B20的程序流程圖82.3 數(shù)碼管
3、介紹92.3.1 數(shù)碼管概述102.4 AT24C02簡介102.4.1 I2C總線說明113 程序流程圖12圖6:程序流程圖13結(jié)論14參考文獻(xiàn)15致 謝16附錄1 系統(tǒng)原理圖17附錄2 C語言程序182基于51單片機(jī)的溫度報(bào)警器設(shè)計(jì)摘 要:單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的數(shù)字溫度器,本溫度計(jì)屬于多功能溫度計(jì),可以設(shè)置上下報(bào)警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展及人們對生活環(huán)境要求的提高,人們也迫切需要檢測與控制溫度。本文通過采用蜂鳴器作為電聲元件的溫度報(bào)警器的設(shè)計(jì),闡明了該裝置進(jìn)行設(shè)計(jì)
4、與制作的具體過程及方法。這種溫度報(bào)警器結(jié)構(gòu)簡單,可操作性強(qiáng),應(yīng)用廣泛。工作時(shí),溫度測量范圍為538。當(dāng)前環(huán)境溫度若超過設(shè)定的高溫臨界溫度,由單片機(jī)發(fā)出報(bào)警信號,從而防止帶來的不必要的損失。造成高溫火災(zāi)有:電氣線路短路、過載、接觸電阻過大等引發(fā)高溫或火災(zāi);靜電產(chǎn)生高溫或或火災(zāi);雷電等強(qiáng)電侵入導(dǎo)致高溫或火災(zāi);最主要是機(jī)房內(nèi)電腦、空調(diào)等用電設(shè)備長時(shí)間工作,導(dǎo)致設(shè)備老化,空調(diào)發(fā)生故障,而不能降溫;因此機(jī)房內(nèi)所屬的電子產(chǎn)品發(fā)熱快,在短時(shí)間內(nèi)機(jī)房溫度升高超出設(shè)備正常溫度,導(dǎo)致系統(tǒng)癱瘓或產(chǎn)生火災(zāi),這時(shí)溫度報(bào)警系統(tǒng)就會發(fā)揮應(yīng)有的功能。關(guān)鍵詞:STC89C51單片機(jī),數(shù)字控制,溫度計(jì),DS18B20,24c02
5、前言隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,掉電保持上下限溫度值,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實(shí)驗(yàn)室使用,該設(shè)計(jì)控制器使用單片機(jī) STC89C51,測溫傳感器使用 DS18B20,掉電保持使用24c02,用四位一體共陽極 LED 數(shù)碼管以串口傳送數(shù)據(jù),實(shí)
6、現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到要求。泉州理工職業(yè)學(xué)院畢業(yè)論文1 設(shè)計(jì)要求與方案論證首先明確設(shè)計(jì)要求,再討論方案,一一攻破設(shè)計(jì)的難點(diǎn)。1.1 設(shè)計(jì)要求基本范圍0-99 ;精度誤差小于 0.1 ;數(shù)碼管直讀顯示;擴(kuò)展功能:可以任意設(shè)定溫度的上下限報(bào)警功能,并可以掉電保持上下限溫度值。1.2 系統(tǒng)基本方案選擇和論證 1.2.1 單片機(jī)芯片的選擇方案和論證由于單片機(jī)具有以下的很多優(yōu)點(diǎn),被我們選定為制作該作品的首選芯片單片機(jī)特點(diǎn):(1)高集成度,體積小,高可靠性 單片機(jī)將各功能部件集成在一塊晶體芯片上,集成度很高,體積自然也是最小的。芯片本身是按工業(yè)測控環(huán)境要求設(shè)計(jì)的,內(nèi)部布線很短,其抗工業(yè)噪音性能優(yōu)于一般通用
7、的CPU。單片機(jī)程序指令,常數(shù)及表格等固化在ROM中不易破壞,許多信號通道均在一個芯片內(nèi),故可靠性高。 (2)控制功能強(qiáng) 為了滿足對對象的控制要求,單片機(jī)的指令系統(tǒng)均有極豐富的條件:分支轉(zhuǎn)移能力,I/O口的邏輯操作及位處理能力,非常適用于專門的控制功能。 (3)低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品 為了滿足廣泛使用于便攜式系統(tǒng),許多單片機(jī)內(nèi)的最低工作電壓僅為1.8V3.6V,而工作電流僅為數(shù)百微安。 (4)易擴(kuò)展 片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件。芯片外部有許多供擴(kuò)展用的三總線及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)。 (5)優(yōu)異的性價(jià)比 單片機(jī)的性能極高。為了提高速度和
8、運(yùn)行效率,單片機(jī)已開始使用RISC流水線和DSP等技術(shù)。單片機(jī)的尋址能力也已突破64KB的限制,有的已可達(dá)到1MB和16MB,片內(nèi)的ROM容量可達(dá)62MB,RAM容量則可達(dá)2MB。由于單片機(jī)的廣泛使用,因而銷量極大,各大公司的商業(yè)競爭更使其價(jià)格十分低廉,其性能價(jià)格比極高。 方案一:采用STC89C51芯片作為硬件核心。STC89C51內(nèi)部具有8KB ROM 存儲空間,512字節(jié)數(shù)據(jù)存儲空間,帶有2K字節(jié)的EEPROM存儲空間,與MCS-51系列單片機(jī)完全兼容,STC89C51可以通過串口下載。方案二:采用AT89S51。AT89S51片內(nèi)具有8K字節(jié)程序存儲空間,256字節(jié)的數(shù)據(jù)存儲空間沒有E
9、EPROM存儲空間,也與MCS-51系列單片機(jī)完全兼容,具有在線編程可擦除技術(shù)。兩種單片機(jī)都完全能夠滿足設(shè)計(jì)需要,STC89C51相對ATS89C52價(jià)格便宜,且抗干擾能力強(qiáng)??紤]到成本因素,因此選用STC89C51。1.2.2 溫度傳感器設(shè)計(jì)方案論證利用物質(zhì)各種物理性質(zhì)隨溫度變化的規(guī)律把溫度轉(zhuǎn)換為電量的傳感器。這些呈現(xiàn)規(guī)律性變化的物理性質(zhì)主要有體。溫度傳感器是溫度測量儀表的核心部分,品種繁多。按測量方式可分為接觸式和非接觸式兩大類,按照傳感器材料及電子元件特性分為熱電阻和熱電偶兩類?,F(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。溫度傳感器的發(fā)
10、展大致經(jīng)歷了以下三個階段;(1)傳統(tǒng)的分立式溫度傳感器(含敏感元件);(2)模擬集成溫度傳感器/控制器;(3)智能溫度傳感器。國際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。在20世紀(jì)90年代中期最早推出的智能溫度傳感器,采用的是8位A/D轉(zhuǎn)換器,其測溫精度較低,分辨力只能達(dá)到1C。國外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是912位A/D轉(zhuǎn)換器,分辨力一般可達(dá)0.50.0625C。由美國DALLAS半導(dǎo)體公司新研制的DS1624型高分辨力智能溫度傳感器,能輸出13位二進(jìn)制數(shù)據(jù),其分辨力高達(dá)0.03125C,測溫精度為0.2C。為了提高多通道智能溫度
11、傳感器的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式A/D轉(zhuǎn)換器。目前,智能溫度傳感器的總線技術(shù)也實(shí)現(xiàn)了標(biāo)準(zhǔn)化、規(guī)范化,所采用的總線主要有單線(1-Wire)總線、I2C總線、SMBus總線和spI總線。溫度傳感器作為從機(jī)可通過專用總線接口與主機(jī)進(jìn)行通信。方案一: 由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化 的電壓或電流采集過來,進(jìn)行 A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到 A/D 轉(zhuǎn)換電路,感溫電路比較麻煩。方案二:進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易
12、想到的,所以可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。從以上兩種方案,兩種都完全能夠滿足設(shè)計(jì)需要,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計(jì)也比較簡單,故采用了方案二。 1.2.3 掉電保持方案論證為了方便使用,本設(shè)計(jì)采用串行E2PROMI2C-BUS的存儲器件AT24C02,由于其具有接口方便,體積小,數(shù)據(jù)掉電不丟失等特點(diǎn),在儀器儀表及工業(yè)自動化控制中得到大量的應(yīng)用。本設(shè)計(jì)就是采用此功能。1.3 電路設(shè)計(jì)最終方案決定綜上各方案所述,對此次作品的方案選定:采用STC89C51單片機(jī)作為主控制系統(tǒng);采用DS18B20為傳感器
13、;采用AT24C02作為數(shù)據(jù)記錄系統(tǒng);采用數(shù)碼管作為顯示器件。2 主要元件介紹2.1 STC89C51介紹STC89C51是由深圳宏晶科技公司生產(chǎn)的與工業(yè)標(biāo)準(zhǔn)MCS-51指令集和輸出管腳相兼容的單片機(jī)。2.1.1 STC89C51主要功能及PDIP封裝STC89C51主要功能如表1所示,其PDIP封裝如圖1所示主要功能特性兼容MCS51指令系統(tǒng)8K可反復(fù)擦寫Flash ROM32個雙向I/O口256x8bit內(nèi)部RAM3個16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個串行中斷可編程UART串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒
14、功能表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):復(fù)位引腳,引腳上出現(xiàn)2個機(jī)器周期的高電平將使單片機(jī)復(fù)位。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令??删幊梯斎?輸
15、出引腳(32根)STC89C51單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。P0口(Pin39Pin32):8位雙向I/O口線,名稱為P0.0P0.7P1口(Pin1Pin8):8位準(zhǔn)雙向I/O口線,名稱為P1.0P1.7 P2口(Pin21Pin28):8位準(zhǔn)雙向I/O口線,名稱為P2.0P2.7 P3口(Pin10Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0P3.7圖1:STC89C51封裝圖2.1.3 單片機(jī)最小系統(tǒng):當(dāng)在STC89C51單片機(jī)的RST引腳引入高電平并保持2個機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作,按鍵手動復(fù)位
16、有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)過電阻與電源VCC接通而實(shí)現(xiàn)的。最小系統(tǒng)如圖2所示。圖2 單片機(jī)最小系統(tǒng)電路電路以STC89C51單片機(jī)最小系統(tǒng)為控制核心,測溫電路由DS18B20提供,輸入部分采用三個獨(dú)立式按鍵S1、S2、S3。數(shù)碼管顯示部分。具體電路連接,詳見附錄1。2.2 DS18B20傳感器介紹2.2.1 DS18B20概述在現(xiàn)代檢測技術(shù)中,傳感器占據(jù)著不可動搖的重要位置。主機(jī)對數(shù)據(jù)的處理能力已經(jīng)相當(dāng)?shù)膹?qiáng),但是對現(xiàn)實(shí)世界中的模擬量卻無能為力。如果沒有各種精確可靠的傳感器對非電量和模擬信號進(jìn)行檢測并提供可靠的數(shù)據(jù),那計(jì)算機(jī)也無法發(fā)揮他應(yīng)有的作用。傳感器把非電量轉(zhuǎn)換為
17、電量,經(jīng)過放大處理后,轉(zhuǎn)換為數(shù)字量輸入計(jì)算機(jī),由計(jì)算機(jī)對信號進(jìn)行分析處理。從而傳感器技術(shù)與計(jì)算機(jī)技術(shù)結(jié)合起來,對自動化和信息化起重要作用。采用各種傳感器和微處理技術(shù)可以對各種工業(yè)參數(shù)及工業(yè)產(chǎn)品進(jìn)行測控及檢驗(yàn),準(zhǔn)確測量產(chǎn)品性能,及時(shí)發(fā)現(xiàn)隱患。為提高產(chǎn)品質(zhì)量、改進(jìn)產(chǎn)品性能,防止事故發(fā)生提供必要的信息和更可靠的數(shù)據(jù)。由于系統(tǒng)的工作環(huán)境比較惡劣,且對測量要求比較高,所以選擇合適的傳感器很重要。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、從集成化向智能化和網(wǎng)絡(luò)化的方向飛速發(fā)展。智能溫度傳感器DS18B20正是朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)
18、等高科技的方向迅速發(fā)展。因此,智能溫度傳感器DS18B20作為溫度測量裝置已廣泛應(yīng)用于人民的日常生活和工農(nóng)業(yè)生產(chǎn)中。美國DALLAS公司生產(chǎn)的 DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片外加不銹鋼保護(hù)管封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。有獨(dú)特的單線接口方式,DS1820在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS1820的雙向通訊;其測溫范圍 55125,固有測溫分辨率0.5;支持多點(diǎn)組網(wǎng)功能;多個DS1820可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測溫;工作電源為35V/DC;在使用中不需要任何外圍元件。DS18B20的性能特點(diǎn)如
19、下:(1) 采用DALLAS公司獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊; (2)在使用中不需要任何外圍元件;(3)可用數(shù)據(jù)線供電,供電電壓范圍:+3.0V+5.5V;(4)測溫范圍:-55+125。固有測溫分辨率為0.5。當(dāng)在-10+85范圍內(nèi),可確保測量誤差不超過0.5,在-55+125范圍內(nèi),測量誤差也不超過2;(5)通過編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式;(6)用戶可自設(shè)定非易失性的報(bào)警上下限值;(7)支持多點(diǎn)的組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測溫(8)負(fù)壓特性,即具有電源反接保護(hù)電路。當(dāng)電源電
20、壓的極性反接時(shí),能保護(hù)DS18B20不會因發(fā)熱而燒毀,但此時(shí)芯片無法正常工作;(9)DS18B20的轉(zhuǎn)換速率比較高,進(jìn)行9位的溫度值轉(zhuǎn)換只需93.75ms;(10)適配各種單片機(jī)或系統(tǒng);(11)內(nèi)含64位激光修正的只讀存儲ROM,扣除8位產(chǎn)品系列號和8位循環(huán)冗余校驗(yàn)碼(CRC)之后,產(chǎn)品序號占48位。出廠前產(chǎn)品序號存入其ROM中。在構(gòu)成大型溫控系統(tǒng)時(shí),允許在單線總線上掛接多片DS18B20。2.2.2 DS18B20引腳介紹圖3:DS18B20引腳各引腳功能為:I/O為數(shù)據(jù)輸入/輸出端(即單線總線),它屬于漏極開路輸出,外接上拉電阻后,常態(tài)下呈高電平。UDD是可供選用的外部電源端,不用時(shí)接地,
21、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)冗余校驗(yàn)碼(CRC)發(fā)生器。圖4:DS18B20內(nèi)部結(jié)構(gòu)2.2.4 DS18B20的程序流程圖否是發(fā)出溫度轉(zhuǎn)換命令寫入18B20讀溫度前復(fù)位顯示測溫點(diǎn)位置18B20復(fù)位開始18B20存在?延時(shí)發(fā)出讀溫度命令寫入18B20讀入溫度值數(shù)據(jù)返回延時(shí)圖5程序流程圖2.3 數(shù)碼管介紹數(shù)碼管是一種半導(dǎo)體發(fā)光器件
22、,其基本單元是發(fā)光二極管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點(diǎn)顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管; 按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段
23、發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。2.3.1 數(shù)碼管概述圖5:數(shù)碼管數(shù)碼顯示器是一種由LED發(fā)光二極管組合顯示字符的顯示器件,它使用了8個Led發(fā)光二極管,其中七個用于顯示字符,一個顯示小數(shù)點(diǎn),所以通稱為七段發(fā)光二極管數(shù)碼顯示器。4位一體數(shù)碼管,其內(nèi)部段已連接好,引腳如圖所示(數(shù)碼管的正面朝自己,小數(shù)點(diǎn)在下方)。a、b、c、d、e、f、g、dp為段引腳,S1、S2、S3、S4分別表示四個數(shù)碼管的位。2.4 AT24C02簡介如圖1為AT24C02的芯片引腳圖。圖3-1 AT24C02的芯片引腳圖AT24C02提供電可擦除的串行1024位存儲
24、或可編程只讀存儲器(EEPROM)128字(8位/字)。芯片在低壓的工業(yè)與商業(yè)應(yīng)用中進(jìn)行了最優(yōu)化。AT24C01的封裝為8腳PDIP、8腳JEDECSOIC、8腳TSSOP,通過2線制串行接口進(jìn)行數(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低期間改變。數(shù)據(jù)在SCL高期間改變定義為一個開始或停止信號。開始狀態(tài):在任何操作之前必須有一個開始信號-在SCL為高時(shí)SDA上產(chǎn)生一個下降沿。停止?fàn)顟B(tài): SCL為高時(shí)SDA產(chǎn)生一個上升沿是停止
25、信號,停止信號后將停止所有通信。在一個讀的序列之后,停止信號將讓EEPROM進(jìn)入備用電源模式。2.4.1 I2C總線說明I2C(InterIntegrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個組件狀態(tài)的通信。例如管理員可對各個組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇。可隨時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個參數(shù),增加了系統(tǒng)的安全性,方便了管理。1 I2C總線的硬件結(jié)構(gòu)I2C串行總線一般有兩根信號線,一根是雙
26、向的數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。所有接到I2C總線設(shè)備上的串行數(shù)據(jù)SDA都接到總線的SDA上,各設(shè)備的時(shí)鐘線SCL接到總線的SCL上。為了避免總線信號的混亂,要求各設(shè)備連接到總線的輸出端時(shí)必須是開漏輸出或集電極開路輸出。設(shè)備上的串行數(shù)據(jù)線SDA接口電路應(yīng)該是雙向的,輸出電路用于向總線上發(fā)送數(shù)據(jù),輸入電路用于接收總線上的數(shù)據(jù)。而串行時(shí)鐘線也應(yīng)是雙向的,作為控制總線數(shù)據(jù)傳送的主機(jī),一方面要通過SCL輸出電路發(fā)送時(shí)鐘信號,另一方面還要檢測總線上的SCL電平,以決定什么時(shí)候發(fā)送下一個時(shí)鐘脈沖電平;作為接受主機(jī)命令的從機(jī),要按總線上的SCL信號發(fā)出或接收SDA上的信號,也可以向SCL線發(fā)出低電平
27、信號以延長總線時(shí)鐘信號周期??偩€空閑時(shí),因各設(shè)備都是開漏輸出,上拉電阻RP使SDA和SCL線都保持高電平。任一設(shè)備輸出的低電平都將使相應(yīng)的總線信號線變低,也就是說:各設(shè)備的SDA是“與”關(guān)系,SCL也是“與”關(guān)系。 總線對設(shè)備接口電路的制造工藝和電平都沒有特殊的要求(NMOS、CMOS都可以兼容)。在I2C總線上的數(shù)據(jù)傳送率可高達(dá)每秒十萬位,高速方式時(shí)在每秒四十萬位以上。另外,總線上允許連接的設(shè)備數(shù)以其電容量不超過400pF為限。 總線的運(yùn)行(數(shù)據(jù)傳輸)由主機(jī)控制。所謂主機(jī)是指啟動數(shù)據(jù)的傳送(發(fā)出啟動信號)、發(fā)出時(shí)鐘信號以及傳送結(jié)束時(shí)發(fā)出停止信號的設(shè)備,通常主機(jī)都是微處理器。被主機(jī)尋訪的設(shè)備稱
28、為從機(jī)。為了進(jìn)行通訊,每個接到I2C總線的設(shè)備都有一個唯一的地址,以便于主機(jī)尋訪。主機(jī)和從機(jī)的數(shù)據(jù)傳送,可以由主機(jī)發(fā)送數(shù)據(jù)到從機(jī),也可以由從機(jī)發(fā)到主機(jī)。凡是發(fā)送數(shù)據(jù)到總線的設(shè)備稱為發(fā)送器,從總線上接收數(shù)據(jù)的設(shè)備被稱為接受器。I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號, 它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。開始信號:SCL為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號:SCL為高電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。 應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元
29、發(fā)出一個應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。如圖3-2所示:SDASCL開始結(jié)束圖3-2 開始、結(jié)束信號圖目前有很多半導(dǎo)體集成電路上都集成了I2C接口。帶有I2C接口的單片機(jī)有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監(jiān)控芯片等也提供I2C接口??偩€基本操作:I2C規(guī)程運(yùn)用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總線必須由主
30、器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來表示起始和停止條件??刂谱止?jié):在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫位,當(dāng)為1時(shí)為讀操作,為0時(shí)為寫操作。寫操作:寫操作分為字節(jié)寫和頁面寫兩種操作,對于頁面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同。讀操作:讀操作有三種基本操作:當(dāng)前地址讀、隨機(jī)讀和順序讀。圖4給出的是順序讀的時(shí)序圖。應(yīng)當(dāng)
31、注意的是:最后一個讀操作的第9個時(shí)鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機(jī)必須在第9個周期時(shí)發(fā)出停止條件或者在第9個時(shí)鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。3 程序流程圖開始初始化讀取當(dāng)前溫度讀取AT24C02內(nèi)上下限溫度值顯示當(dāng)前溫度判斷SET是否按下正常范圍否是否加減鍵是否按下當(dāng)前溫度與上下限位關(guān)系小于下限大于上限是下限指示燈點(diǎn)亮,蜂鳴器閃響上限指示燈點(diǎn)亮,蜂鳴器閃響相應(yīng)處理上下限位,并寫入AT24C02While循環(huán)返回圖6:程序流程圖結(jié)論通過對自己在大學(xué)兩年時(shí)間里所學(xué)的知識的回顧,并充分發(fā)揮對所學(xué)知識的理解和對畢業(yè)設(shè)計(jì)的思考及書面表達(dá)能力,最終完成了本設(shè)計(jì)。這為自己今后進(jìn)一步
32、深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。撰寫論文的過程也是專業(yè)知識的學(xué)習(xí)過程,它使我運(yùn)用已有的專業(yè)基礎(chǔ)知識,對其進(jìn)行設(shè)計(jì),分析和解決一個理論問題或?qū)嶋H問題,把知識轉(zhuǎn)化為能力的實(shí)際訓(xùn)練。培養(yǎng)了我運(yùn)用所學(xué)知識解決實(shí)際問題的能力。本次論文設(shè)計(jì),使我加深了對單片機(jī)的認(rèn)識,并且熟悉了單片機(jī)系統(tǒng)的設(shè)計(jì)流程,收獲豐碩。技術(shù)在不斷進(jìn)步,機(jī)械式時(shí)鐘已經(jīng)被淘汰,電子時(shí)代已經(jīng)到來。做為新時(shí)代的我們,更應(yīng)該提高自身能力,適應(yīng)新時(shí)代的發(fā)展。知識來自實(shí)踐,多從生活中探尋所需要的。從這次的論文設(shè)計(jì)中,我真正的體會到,知識的重要性,特別是要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識運(yùn)用到實(shí)際生活當(dāng)中,要用知識改變一切。參考文獻(xiàn)1 陳權(quán)昌,李
33、興富.單片機(jī)原理及應(yīng)用M.廣州:華南理工大學(xué)出版社,2007.841022 李慶亮.C語言程序設(shè)計(jì)實(shí)用教程M.北京:機(jī)械工業(yè)出版社,2005.32583 楊志忠.數(shù)字電子技術(shù)M.北京:高等教育出版社,2003.1251324 及力.Protel 99 SE原理圖與PCB設(shè)計(jì)教程M.北京:電子工業(yè)出版社,2007.891505 徐江海.單片機(jī)實(shí)用教程M.北京:機(jī)械工業(yè)出版社,2006.1281566 胡宴如.模擬電子技術(shù)M.北京:高等教育出版社,2008.601047 汪文,陳林.單片機(jī)原理及應(yīng)用M.湖北:華中科技大學(xué)出版社,2007.36688 康華光.電子技術(shù)基礎(chǔ)數(shù)字部分M.北京:高等教育出
34、版社,2008.2032099 楊欣電子設(shè)計(jì)從零開始M.北京:清華大學(xué)出版社,2005.28102致 謝首先,感謝學(xué)校三年來對我的培養(yǎng)。為我們營造了一個良好的學(xué)習(xí)氛圍,建設(shè)一流的教學(xué)設(shè)施,使我們身心愉快的投入到學(xué)習(xí)中。其次,感謝尊敬的指導(dǎo)老師,有了他的諄諄教誨,處處提點(diǎn),才使本論文的前期準(zhǔn)備以及整個研究過程順利完成。指導(dǎo)老師的嚴(yán)謹(jǐn)治學(xué)態(tài)度、扎實(shí)的理論基礎(chǔ)、全身心投入工作的精神以及對學(xué)生盡心盡力的態(tài)度給了我極大的幫助與鼓勵,使我受益匪淺。從指導(dǎo)老師的教學(xué)態(tài)度上,我學(xué)到的不僅僅只有書本上的知識,還有做人的道理。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。在此謹(jǐn)向指導(dǎo)
35、老師致以誠摯的謝意和崇高的敬意。最后,感謝我的父母多年來給予我的支持和關(guān)懷,同時(shí)感謝我的舍友和朋友對我的幫助。附錄1 系統(tǒng)原理圖附錄2 C語言程序#include #define ui unsigned int#define uc unsigned char /宏定義sbit SET=P31; /定義調(diào)整鍵sbit DEC=P32; /定義減少鍵sbit ADD=P33; /定義增加鍵sbit BEEP=P36; /定義蜂鳴器sbit ALAM=P12;/定義燈光報(bào)警sbit ALAM1=P14;sbit DQ =P37; /定義DS18B20總線I/Osbit SCL=P16;sbit SD
36、A=P17;sbit DIAN=P05; /小數(shù)點(diǎn)bit bdata shanshuo_st; /閃爍間隔標(biāo)志bit bdata beep_st; /蜂鳴器間隔標(biāo)志uc x=0; /計(jì)數(shù)器ui bai,shi,ge;uc set_st=0; /狀態(tài)標(biāo)志char shangxian,xiaxian;code LEDData=0 x5F,0 x44,0 x9D,0 xD5,0 xC6,0 xD3,0 xDB,0 x47,0 xDF,0 xD7,0 xCF,0 xDA,0 x9B,0 xDC,0 x9B,0 x8B;/=DS18B20=/*延時(shí)子程序*/void Delay_DS18B20(int
37、num) while(num-) ;void delay()/5微秒延時(shí)函數(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)&(i250)i+;/如果SDA為低應(yīng)答有效,或者超過一定時(shí)間默認(rèn)應(yīng)答有效SCL=0;delay();void init24c04()/I2C總線初始化SDA=1;delay();S
38、CL=1;delay();void write_byte(uc date)/寫操作uc i,temp;temp=date;for(i=0;i8;i+)temp=temp1;SCL=0; delay();SDA=CY;delay();SCL=1;delay();SCL=0;delay();SDA=1;delay();uc read_byte()/讀操作uc i,k;SCL=0;delay();SDA=1;delay();for(i=0;i8;i+)SCL=1;delay();k=(k0;i-) DQ = 0; / 給脈沖信號 dat=1; DQ = 1; / 給脈沖信號 if(DQ) dat|=
39、0 x80; Delay_DS18B20(4); return(dat);/*寫一個字節(jié)*/void WriteOneChar(uc dat) uc i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0 x01; Delay_DS18B20(5); DQ = 1; dat=1; /*讀取溫度*/ui ReadTemperature(void) ui b=0; ui t=0; ui a=0; Init_DS18B20(); WriteOneChar(0 xCC); /跳過讀序號列號的操作 WriteOneChar(0 x44); /啟動溫度轉(zhuǎn)換 Init_DS18B
40、20(); WriteOneChar(0 xCC); /跳過讀序號列號的操作 WriteOneChar(0 xBE); /讀取溫度寄存器 a=ReadOneChar(); /讀低8位 b=ReadOneChar(); /讀高8位 t=b; t=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; /放大10倍輸出并四舍五入 return(t);/*延時(shí)子程序*/void Delay(ui num) while( -num );/*初始化定時(shí)器0*/void InitTimer(void)TMOD=0 x01;TH0=0 x3c;TL0=0 xb0; /50ms(晶振12M)
41、/*讀取溫度*/void check_wendu(void)ui f;f=ReadTemperature()-5; /獲取溫度值并減去DS18B20的溫漂誤差if(f999)f=999;bai=f/100; /計(jì)算得到十位數(shù)字shi=(f%100)/10; /計(jì)算得到個位數(shù)字ge=(f%100)%10; /計(jì)算得到整數(shù)位/*顯示開機(jī)初始化等待畫面*/void Disp_init(void) P0 = 0 x80; /顯示-P2 = 0 x7F;Delay(200);P2 = 0 xDF;Delay(200); P2 = 0 xF7;Delay(200);P2 = 0 xFD;Delay(200
42、);P2 = 0 xFF; /關(guān)閉顯示/*顯示溫度子程序*/void Disp_Temperature(void) /顯示溫度P0 = 0 x98; /顯示CP2 = 0 x7F;Delay(400);P0=LEDDatage; /顯示個位P2 = 0 xDF;Delay(400);P0 =LEDDatashi; /顯示十位DIAN = 0; /顯示小數(shù)點(diǎn)P2 = 0 xF7;Delay(400);P0 =LEDDatabai; /顯示百位P2 = 0 xFD;Delay(400);P2 = 0 xff; /關(guān)閉顯示/*顯示報(bào)警溫度子程序*/void Disp_alarm(uc baojing
43、)P0 =0 x98; /顯示CDelay(200);P0 =LEDDatabaojing%10; /顯示十位P2 = 0 xDF;Delay(200);P0 =LEDDatabaojing/10; /顯示百位P2 = 0 xF7;Delay(200);if(set_st=1)P0 =0 xCE;else if(set_st=2)P0 =0 x1A; /上限H、下限L標(biāo)示P2 = 0 xFD;Delay(200);P2 = 0 xff; /關(guān)閉顯示/*報(bào)警子程序*/void Alarm()if(x=10)beep_st=beep_st;x=0;if(bai*10+shi)=shangxian&
44、beep_st=1)BEEP=0;ALAM1=0;else if(bai*10+shi)=shangxian&beep_st=0)BEEP=1;ALAM1=0;if(bai*10+shi)xiaxian&beep_st=1)BEEP=0;ALAM=0;else if(bai*10+shi)xiaxian&beep_st=0)BEEP=1;ALAM=0;if(bai*10+shi)=xiaxian)BEEP=1;ALAM1=1;ALAM=1;/*主函數(shù)*/void main(void)ui z;InitTimer(); /初始化定時(shí)器EA=1; /全局中斷開關(guān)ET0=1; /開啟定時(shí)器0chec
45、k_wendu();check_wendu();shangxian=read_add(10);xiaxian=read_add(20);for(z=0;z2)set_st=0;if(set_st=0)check_wendu();Disp_Temperature();Alarm(); /報(bào)警檢測else if(set_st=1)BEEP=1; /關(guān)閉蜂鳴器ALAM=1;ALAM1=1;if(x=10)shanshuo_st=shanshuo_st;x=0;if(shanshuo_st) Disp_alarm(shangxian);if(ADD=0)doDisp_alarm(shangxian);
46、while(ADD=0);shangxian+;if(shangxian99)shangxian=99;write_add(10,shangxian);else if(DEC=0)doDisp_alarm(shangxian);while(DEC=0);shangxian-;if(shangxian=10)shanshuo_st=shanshuo_st;x=0;if(shanshuo_st) Disp_alarm(xiaxian);if(ADD=0)doDisp_alarm(xiaxian);while(ADD=0);xiaxian+;if(xiaxianshangxian) xiaxian=shangxian;write_add(20,xiaxian);else if(DEC=0)doDisp_alarm(xiaxian);while(DEC=0);xiaxian-;if(xiaxian0) xiaxian=0;write_add(20,xiaxian);/*定時(shí)器0中斷服務(wù)程序*/void timer0(void) interrupt 1TH0=0 x3c;TL0=0 xb0;x+;29
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版小學(xué)數(shù)學(xué)五年級下冊圖形的運(yùn)動(三)-1課件
- 供應(yīng)鏈管理方法
- 2019最新青島版數(shù)學(xué)一年級上冊第三單元《走進(jìn)花果山-10以內(nèi)的加減法》(信息窗6)課件
- 第四章勞動中的心理、生理狀態(tài)對安全的影響
- 201x九年級物理上冊-雙休作業(yè)八(新版)教科版課件
- 課件:項(xiàng)目一-電子商務(wù)物流系統(tǒng)規(guī)劃
- 【人教版】2012-2013學(xué)年九年級(全一冊)數(shù)學(xué)小復(fù)習(xí):第27章相似復(fù)習(xí)課件
- 消化腺(全英文)課件
- 小學(xué)語文資源五年級上冊課件《落花生》課件第一課時(shí)
- 納米材料的基本效應(yīng)課件
- 分析化學(xué)概論-課件
- 沉浸式光影解決方案課件
- 第六講加固Windows操作系統(tǒng)安全ppt課件
- 民主選舉投出理性一票ppt課件
- 高二數(shù)學(xué)選修正態(tài)分布推薦實(shí)用全套PPT