




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說(shuō)明書(shū)( 2013)鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說(shuō)明書(shū)( 2013)畢業(yè)設(shè)計(jì)(b y sh j)說(shuō)明書(shū)基于單片機(jī)的果園環(huán)境溫度檢測(cè)(jin c)報(bào)警系統(tǒng)設(shè)計(jì)專(zhuān)業(yè)自動(dòng)化學(xué)生姓名班級(jí)學(xué)號(hào)指導(dǎo)教師完成日期2013年6月5日基于單片機(jī)的果園環(huán)境溫度檢測(cè)報(bào)警系統(tǒng)設(shè)計(jì)鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(2013)畢業(yè)設(shè)計(jì)(b y sh j)說(shuō)明書(shū)(畢業(yè)論文)獨(dú)創(chuàng)性聲明(shngmng)本人聲明所呈交的畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文)是本人在導(dǎo)師(dosh)指導(dǎo)下進(jìn)行的研究、設(shè)計(jì)工作后獨(dú)立完成的。除了文中特別加以標(biāo)注和致謝的地方外,說(shuō)明書(shū)中不包含其他人己經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。對(duì)本文的研究所做貢
2、獻(xiàn)集體和個(gè)人,均己在說(shuō)明書(shū)中作了明確的說(shuō)明并表示謝意。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文)作者簽名(手寫(xiě)): 日期: 年 月 日指導(dǎo)教師簽名(手寫(xiě)):日期: 年 月 日基于單片機(jī)的果園(guyun)環(huán)境溫度檢測(cè)報(bào)警系統(tǒng)設(shè)計(jì)摘 要:溫度是人們?cè)谵r(nóng)業(yè)生產(chǎn)中經(jīng)常需要測(cè)量和控制的一個(gè)量,而基于單片機(jī)的果園環(huán)境溫度測(cè)量和報(bào)警系統(tǒng)使得溫度測(cè)量與報(bào)警更加的直觀、準(zhǔn)確,它具有使用方便、性能可靠的優(yōu)點(diǎn)。主要討論了在果園的環(huán)境下的溫度測(cè)量及報(bào)警的處理方法和系統(tǒng)構(gòu)成?;跀?shù)字傳感器DS18B20的性能特點(diǎn),利用單片機(jī)和簡(jiǎn)單的接口電路組成一個(gè)溫度測(cè)量及報(bào)警系統(tǒng),通過(guò)鍵盤(pán)和LED顯示數(shù)碼
3、管對(duì)溫度進(jìn)行顯示和對(duì)溫度報(bào)警上下限(xixin)進(jìn)行設(shè)置。給出了相關(guān)的應(yīng)用電路和軟件程序。該系統(tǒng)的溫度的測(cè)量范圍在55- +100之間,它的測(cè)量(cling)的精度為0.1。這個(gè)系統(tǒng)完全滿足了果園的溫度測(cè)量及報(bào)警需求。隨著單片機(jī)技術(shù)和半導(dǎo)體技術(shù)的發(fā)展,這種智能化的溫度測(cè)量及報(bào)警技術(shù)將會(huì)慢慢取代傳統(tǒng)的溫度測(cè)量技術(shù),使得溫度測(cè)量技術(shù)朝著更加智能化和自動(dòng)化的方向發(fā)展。關(guān)鍵字:果園環(huán)境;單片機(jī);溫度傳感器DS18B20;溫度測(cè)量及報(bào)警 The Design of Based on Single-chip Orchard Ambient Temperature Detection and Alarm S
4、ystemAbstract: Temperature is that people in agricultural production often need to measure and control an amount, and microcontroller-based orchard ambient temperature measurement and temperature measurement alarm and alarm system makes more intuitive, accurate, and it is easy to use, reliable perfo
5、rmance advantages. mainly discusses the orchard environment temperature measurement and alarm processing method and system configuration. Based on the performance characteristics of digital sensor DS18B20, using SCM and simple interface circuit a temperature measurement and alarm system, through the
6、 keyboard and LED display digital temperature display and temperature alarm limit settings. There gives the relevant application circuit and software programs. The system temperature measuring range -55 - +100 between, its measurement accuracy of 0.1 . The system fully meets the orchard temperature
7、measurement and alarm requirements.With chip technology and development of semiconductor technology, this intelligent temperature measurement and alarm technology will gradually replace the traditional temperature measurement technology, making the temperature measurement and automation technology t
8、owards more intelligent direction.Key Words: Orchard environment;Microcontroller;Temperature sensor DS18B20;Temperature measurement and alarm目 錄 TOC o 1-2 h z u HYPERLINK l _Toc359005345 1 課題(kt)概述 基于單片機(jī)的果園環(huán)境溫度檢測(cè)報(bào)警(bo jng)系統(tǒng)設(shè)計(jì)1 課題(kt)概述1.1 課題(kt)背景和意義 談到溫度,大家并不陌生。盡管溫度充滿在我們生活當(dāng)中,但是很多人認(rèn)識(shí)到的溫度只是一個(gè)抽象的名次,只
9、是看天氣預(yù)報(bào)時(shí)才會(huì)去在意。在人類(lèi)的生活環(huán)境中,溫度扮演著極其重要的角色。我們?cè)谄綍r(shí)一般用幾個(gè)簡(jiǎn)單的詞語(yǔ)來(lái)表達(dá)對(duì)溫度的感知,比如:冷、涼、溫、熱、燙等,但是這樣的表述是很有限的。冰塊和涼水都是很冷的,但是它們冷的程度又是不一樣的。因此,為了能夠更加精確地表述出物體的把物體具體的冷或熱,就使用了一個(gè)概念溫度。而要準(zhǔn)確地測(cè)量物體的溫度需要使用的便是溫度計(jì)。人們?cè)谵r(nóng)業(yè)生產(chǎn)活動(dòng)中需要根據(jù)氣溫的變化,及時(shí)地采用相應(yīng)的農(nóng)業(yè)生產(chǎn)方式,這對(duì)農(nóng)業(yè)生產(chǎn)是十分重要的。而一個(gè)簡(jiǎn)單,方便,可靠的溫度測(cè)量系統(tǒng)就大大方便了農(nóng)業(yè)生產(chǎn)活動(dòng)。在果園種植過(guò)程中,果農(nóng)需要對(duì)果園的環(huán)境溫度有著準(zhǔn)確而又實(shí)時(shí)的掌握,這樣才能進(jìn)行相應(yīng)的農(nóng)業(yè)活
10、動(dòng),來(lái)降低溫度對(duì)果樹(shù)成長(zhǎng)的約束,增加果實(shí)的產(chǎn)量,給果農(nóng)帶來(lái)可觀的經(jīng)濟(jì)效益。隨著人們對(duì)水果的需求增加,大規(guī)模的果園越來(lái)越多。果園的溫度檢測(cè)及控制已經(jīng)成為一個(gè)重要的課題。傳統(tǒng)的溫度測(cè)量是在果園中放置一個(gè)酒精或者水銀溫度計(jì),通過(guò)讀取溫度計(jì)的度數(shù)來(lái)知道果園的實(shí)際溫度,這種的溫度測(cè)量方法還是比較落后和浪費(fèi)勞動(dòng)力的,而且不是很方便。隨著果園的規(guī)模越來(lái)越大,這種傳統(tǒng)的溫度測(cè)量措施就出現(xiàn)了很大的局限性,于是果園種植對(duì)溫度檢測(cè)技術(shù)的要求越來(lái)越高。由于電子技術(shù)的發(fā)展到超大規(guī)模的集成電路階段段,功能強(qiáng)大但體積更小的單片微型計(jì)算機(jī)就誕生了,因?yàn)樗膬r(jià)格低廉,所以單片機(jī)被全面應(yīng)用在家用電器、軍事武器、電子儀器、工業(yè)生產(chǎn)
11、、節(jié)能環(huán)保、智能機(jī)器等廣闊的領(lǐng)域,使得設(shè)計(jì)簡(jiǎn)化,成本降低,還提高了產(chǎn)品的質(zhì)量和功能,使產(chǎn)品更加智能化、小型化。采用單片機(jī)來(lái)對(duì)溫度進(jìn)行檢測(cè),不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn)而且還可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價(jià)低和開(kāi)發(fā)周期短等優(yōu)點(diǎn),成為自動(dòng)化和各個(gè)測(cè)控領(lǐng)域中必不可少且廣泛應(yīng)用的器件,尤其在日常生活中也發(fā)揮越來(lái)越大的作用。因此,單片機(jī)對(duì)溫度的測(cè)量控制問(wèn)題是一個(gè)工農(nóng)業(yè)生產(chǎn)中經(jīng)常會(huì)遇到的問(wèn)題。基于此,本課題圍繞應(yīng)用于果園的基于單片機(jī)的溫度測(cè)量及報(bào)警系統(tǒng)展開(kāi)應(yīng)用研究工作。1.2 課題研究的內(nèi)容及要求本文所要研究的課題是
12、基于單片機(jī)控制的果園環(huán)境測(cè)量報(bào)警系統(tǒng)。主要是介紹了對(duì)氣溫的顯示及報(bào)警,實(shí)現(xiàn)了溫度的實(shí)時(shí)顯示及控制。氣溫測(cè)量部分提出了用DS18B20、STC89C52單片機(jī)及LED的硬件電路完成對(duì)氣溫的實(shí)時(shí)檢測(cè)、顯示及超出設(shè)定的上下限溫度的報(bào)警。本系統(tǒng)具體控制(kngzh)功能如下:(1)能夠?qū)鉁剡M(jìn)行連續(xù)(linx)測(cè)量,通過(guò)十進(jìn)制數(shù)碼管來(lái)顯示氣溫。(2)能夠滿足日常(rchng)的溫度測(cè)量要求。(3)超出報(bào)警上下限能夠發(fā)出報(bào)警,并且能通過(guò)按鍵來(lái)設(shè)定報(bào)警溫度的上下限。2 整體方案的論證與設(shè)計(jì)2.1 系統(tǒng)(xtng)的基本設(shè)計(jì)思想該系統(tǒng)是以STC89C52單片機(jī)為核心,通過(guò)單片機(jī)控制測(cè)溫電路(dinl)(DS
13、18B20)獲取溫度值,然后通過(guò)數(shù)碼管顯示電路顯示出來(lái),并且對(duì)測(cè)的溫度值跟設(shè)定的值進(jìn)行比較,如果不在設(shè)定范圍就通過(guò)報(bào)警電路發(fā)出報(bào)警,報(bào)警溫度的值通過(guò)按鍵電路進(jìn)行設(shè)定。系統(tǒng)結(jié)構(gòu)框圖(kungt)如圖2-1:圖2-1 系統(tǒng)結(jié)構(gòu)框圖2.2 系統(tǒng)模塊結(jié)構(gòu)論證2.2.1 測(cè)溫模塊論證與選擇方案一:采用AD590溫度傳感器,AD590是美國(guó)模擬器件公司的電流輸出型溫度傳感器,其電源電壓范圍為430V,輸出電流223A(50)423A(150),靈敏度為1A/。適用于多點(diǎn)溫度測(cè)量和遠(yuǎn)距離溫度測(cè)量。方案二:采用溫度傳感器DS18B20,溫度傳感器DS18B20可以分為三腳T0-92直插式和八腳S0IC貼片式。
14、貼片式不常用,所以我選擇的是直插式封裝。溫度傳感器DS18B20它的體積更加小、性能更突出、工作更加穩(wěn)定、功耗更低、兼容大多數(shù)單片機(jī),它可以直接輸出數(shù)字量的溫度信號(hào)供處理器處理。從性?xún)r(jià)比方面綜合考慮選擇方案二。2.2.2 單片機(jī)模塊論證與選擇方案一:采用STC89系列單片機(jī),其架構(gòu)簡(jiǎn)單,相對(duì)熟悉,價(jià)格便宜,完全滿足設(shè)計(jì)的要求,焊接起來(lái)也是比較方便。方案二:選用飛思卡爾單片機(jī),飛思卡爾單片機(jī)功能強(qiáng)大,但是價(jià)格相對(duì)較高,而且對(duì)此不熟悉。因此,選擇方案一。2.2.3顯示模塊論證(lnzhng)與選擇方案一:采用LCD液晶顯示器作為(zuwi)顯示模塊核心。LCD顯示器節(jié)能環(huán)保,顯示直觀。方案二:采用
15、8段LED數(shù)碼(shm)管作為顯示模塊核心。數(shù)碼管顯示器件相對(duì)便宜,體積更小巧。因此,選擇方案二。2.2.4報(bào)警模塊論證與選擇方案一:采用語(yǔ)音播報(bào)系統(tǒng)作為報(bào)警模塊的核心。該方案更具人性化、智能化,但是相對(duì)成本過(guò)高工作量偏大。方案二:采用蜂鳴器作為報(bào)警模塊的核心。該方案使用的硬件很少,電路設(shè)計(jì)和實(shí)物焊接都很方便,軟件設(shè)計(jì)也容易,性?xún)r(jià)比較高。因此,選擇方案二。2.2.5電源模塊論證與選擇方案一:采用USB為設(shè)備供電,該方案容易實(shí)現(xiàn),能夠直接使用計(jì)算機(jī)的USB接口供電。電腦的USB接口屬于接口電源,要并聯(lián)耦合電容進(jìn)行緩沖。方案二:采用將220伏、50赫茲的交流電轉(zhuǎn)換為5V的直流電作為供電電源。該方案
16、實(shí)施簡(jiǎn)單,電路搭建方便,可作為單片機(jī)開(kāi)發(fā)常備電源使用。方案三:采用干電池串并聯(lián)到5V作為電源模塊。該方案也很容易實(shí)現(xiàn),不需要設(shè)計(jì)額外的電路,但是由于電池消耗,使得電源不是很穩(wěn)定,長(zhǎng)時(shí)間帶負(fù)載后電壓會(huì)降低,可能使電路無(wú)法長(zhǎng)時(shí)間的平穩(wěn)工作。因此,選擇方案一。3 系統(tǒng)硬件設(shè)計(jì)3.1 單片機(jī)STC89C52單片機(jī)的分類(lèi)有很多,按應(yīng)用的范圍(fnwi)可以劃分為專(zhuān)業(yè)型和通用型。專(zhuān)用型是根據(jù)某些特定的產(chǎn)品而設(shè)計(jì)的,例如用于汽車(chē)發(fā)動(dòng)機(jī)的單片機(jī)。通用型的單片機(jī)又分為非總線型和總線型或者8位和16位,總線型的具有并行(bngxng)三條總線,可以很方便的擴(kuò)展外圍設(shè)備。非總線型沒(méi)有總線引腳,芯片體積小,要擴(kuò)展可通
17、過(guò)I/O口,因此(ync)非線型更適合中小系統(tǒng)。STC89C52單片機(jī)標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片的引腳圖如圖3-1:圖3-1 STC89C52引腳圖采用STC89系列單片機(jī),主要考慮到STC系列的單片機(jī)的諸多優(yōu)點(diǎn):(1)不容易受干擾:對(duì)抗靜電能力高;很容易實(shí)現(xiàn)2千伏/4千伏快速脈沖的干擾實(shí)驗(yàn);電壓(diny)范圍大,對(duì)電源要求低;寬溫度范圍,4085;I/O口通過(guò)過(guò)防干擾強(qiáng)化;單片機(jī)內(nèi)部供電的電源系統(tǒng)經(jīng)過(guò)防干擾強(qiáng)化;單片機(jī)內(nèi)部的時(shí)鐘電路經(jīng)過(guò)特殊(tsh)處理;單片機(jī)內(nèi)部的復(fù)位電路經(jīng)過(guò)特殊處理;單片機(jī)內(nèi)部的看門(mén)狗電路經(jīng)過(guò)特殊處理。(2)三種(sn zhn)方法減少單片機(jī)的時(shí)鐘對(duì)外部的電
18、磁干擾:禁止ALE輸出;如果使用每個(gè)機(jī)器周期為六個(gè)時(shí)鐘周期,外面的時(shí)鐘周期就可以減少一半;單片機(jī)時(shí)鐘振蕩器增益可設(shè)為1/2Gain。(3)超低功耗:掉電模式:典型功耗0.1A;空閑模式:典型功耗2mA;正常工作模式:典型功耗4mA-7mA;在掉電模式下接收到外部中斷就會(huì)被喚醒,一般使用電池作為電源,例如電表、警報(bào)器、水壓表、便攜設(shè)備等。(4)在系統(tǒng)可編程,無(wú)需編程器,可遠(yuǎn)程升級(jí)。(5)可送STC-ISP下載編程器,1萬(wàn)片/人/天。(6)可供應(yīng)內(nèi)部集成MAX810專(zhuān)用復(fù)位電路單片機(jī)。STC89C52單片機(jī)的內(nèi)部結(jié)構(gòu)如圖3-2:圖3-2單片機(jī)內(nèi)部結(jié)構(gòu)圖3.2 溫度傳感器3.2.1 傳感器的定義從廣
19、泛意義上來(lái)說(shuō),傳感器就是可以感受到外部一些信號(hào)并能按照某些規(guī)律將這些信號(hào)轉(zhuǎn)換成可直接使用的信號(hào)的儀器,簡(jiǎn)單地說(shuō)傳感器就是把外部的信號(hào)轉(zhuǎn)換為電信號(hào)的裝置。所以傳感器一般有兩部分組成,一部分是感知信號(hào)部分,另一部分是信號(hào)轉(zhuǎn)換部分。它可以感知到特定的信號(hào)然后把這種信號(hào)傳送給信號(hào)轉(zhuǎn)換部分,經(jīng)過(guò)處理這些模擬信號(hào)就被轉(zhuǎn)換成電信號(hào)了?,F(xiàn)在的一些使用半導(dǎo)體作為敏感元件的傳感器本身可以直接輸出電信號(hào)。3.2.2 溫度傳感器的發(fā)展(fzhn)隨著(su zhe)科學(xué)技術(shù)的發(fā)展,傳感器技術(shù)(jsh)已經(jīng)滲透到生活的方方面面。在這當(dāng)中,溫度類(lèi)傳感器已經(jīng)被應(yīng)用到了各種領(lǐng)域,它是傳感器中種類(lèi)最多的傳感器。最先發(fā)明的傳感器
20、是溫度傳感器,也是被廣泛應(yīng)用的一種傳感器。最先把溫度的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的熱電偶傳感器。熱電偶傳感器是德國(guó)的物理學(xué)家賽貝在1821年發(fā)明的。1870年以后,又一個(gè)德國(guó)人西門(mén)子研究了使用鉑電阻作為傳感器的溫度計(jì)。在進(jìn)入2000年以后,隨著半導(dǎo)體的廣泛應(yīng)用,又相繼出現(xiàn)了PN結(jié)溫度傳感器、集成溫度傳感器和半導(dǎo)體熱電偶傳感器。而且,依據(jù)物質(zhì)與波的相互作用的規(guī)律,又出現(xiàn)了紅外傳感器微、波傳感器和聲學(xué)溫度傳感器。在1990年以后出現(xiàn)了智能溫度傳感器或者叫做數(shù)字溫度傳感器。它采用了計(jì)算機(jī)技術(shù)、自動(dòng)測(cè)量技術(shù)(ATE_)和微電子技術(shù)三大技術(shù)。現(xiàn)在智能傳感器的種類(lèi)已經(jīng)非常豐富了。數(shù)字溫度傳感器內(nèi)部集成了溫度傳
21、感器電路、信號(hào)處理器、A/D轉(zhuǎn)換、存儲(chǔ)器(或寄存器)和接口電路。一些數(shù)字溫度傳感器還有多路選擇器、只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)和中央控制器(CPU)。數(shù)字溫度傳感器能輸出數(shù)字量及相關(guān)的控制量,適用于各種微型控制器(MCU),并且測(cè)試功能的實(shí)現(xiàn)可通過(guò)軟件來(lái)進(jìn)行,軟件的開(kāi)發(fā)水平越高它的智能化越高。3.2.3 溫度傳感器的分類(lèi)溫度傳感器分為好多種,輸出模擬量被稱(chēng)為模擬式溫度傳感器。輸出數(shù)字量的被成為數(shù)字式溫度傳感器。因?yàn)閿?shù)字式傳感器使用高度集成的設(shè)計(jì)和數(shù)字量的處理與模擬式傳感器相比,在可靠性、抗干擾能力以及器件微小化方面都有明顯的優(yōu)點(diǎn),但受半導(dǎo)體本身限制,數(shù)字式傳感器還存在以下不夠
22、理想的地方:(1) 數(shù)字式傳感器是測(cè)量傳感器敏感元件的溫度,而且是敏感元件與引線連接處的溫度值。因此每一個(gè)傳感器的敏感元件都要放在一個(gè)很好環(huán)境中進(jìn)行測(cè)量。在平時(shí)我們用傳感器來(lái)測(cè)量溫度時(shí)都是比真實(shí)值略小的,還需要我們進(jìn)行修正;(2) 數(shù)字式傳感器對(duì)溫度轉(zhuǎn)換為數(shù)字量的時(shí)間都較長(zhǎng);(3) 測(cè)溫范圍不寬(均在-55 125攝氏度);(4) 數(shù)字式傳感器的傳遞函數(shù)存在有一定的非線性,可有軟件校正,不過(guò),數(shù)字式傳感器最好在常溫下使用,超過(guò)常溫范圍它的誤差較大。所以數(shù)字式傳感器目前還不適合于對(duì)溫度變化敏感、環(huán)境惡劣的行業(yè);(5) 由于數(shù)字式溫度傳感器采用材料價(jià)格比較高,所以對(duì)于大范圍推廣使用有一定的困難。
23、綜上所述,由于各有各的優(yōu)缺點(diǎn)、應(yīng)用范圍、和市場(chǎng),數(shù)字式傳感器和模擬式傳感器會(huì)并存很長(zhǎng)一段時(shí)間,但隨著材料科學(xué)和半導(dǎo)體技術(shù)的深入發(fā)展與合作,數(shù)字式傳感器測(cè)溫精度進(jìn)一步提高,測(cè)溫范文拓寬,生產(chǎn)成本和銷(xiāo)售價(jià)格不斷降低,其發(fā)展趨勢(shì)必將取代(qdi)模擬傳感器。3.3系統(tǒng)(xtng)概述本設(shè)計(jì)(shj)電路系統(tǒng)原理圖如圖3-3所示:圖3-3電路原理圖3.3.1最小系統(tǒng)的概述 最小應(yīng)用系統(tǒng)設(shè)計(jì)是單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)基礎(chǔ)。一般包含了復(fù)位電路、時(shí)鐘電路和與I/O口線通信電路。3.3.2系統(tǒng)的顯示電路概述在單片機(jī)系統(tǒng)實(shí)際使用過(guò)程中,為了使人們時(shí)刻了解單片機(jī)和電路的運(yùn)行狀態(tài),所以我們就要使用一些能夠顯示運(yùn)行狀態(tài)和
24、結(jié)果的顯示器件。常用的顯示方式有LED燈,數(shù)碼管,液晶屏等??紤]到數(shù)字溫度計(jì)要顯示的內(nèi)容不是很多和成本,我們采用了普通的共陽(yáng)極四位一體七段LED數(shù)碼管顯示測(cè)得的溫度。3.3.3 系統(tǒng)的按鍵概述在單片機(jī)系統(tǒng)實(shí)際運(yùn)行過(guò)程,我們需要對(duì)系統(tǒng)的一些方面進(jìn)行準(zhǔn)確的控制,我們就需要使用按鈕來(lái)進(jìn)行操作。一般經(jīng)常使用獨(dú)立的按鍵和矩陣式的按鍵,獨(dú)立式按鍵可以直接使用導(dǎo)線于I/O口相連,這樣的按鍵電路設(shè)計(jì)簡(jiǎn)單方便,不需要編程。矩陣式按鍵適用于使用按鍵多,I/O接口少的場(chǎng)合,編程復(fù)雜。本數(shù)字溫度計(jì)需要的使用四個(gè)端口,STC89C52有充足(chngz)的端口供使用,因此采用編程簡(jiǎn)單的獨(dú)立式按鍵。3.4模塊化系統(tǒng)(xt
25、ng)設(shè)計(jì)3.4.1單片機(jī)最小系統(tǒng)(xtng)模塊電源模塊:電源電路采用的是USB母頭如圖3-4所示,提供5V的電壓。其有四個(gè)引腳,1引腳接的是電源,4引腳接地。由于USB接口使用的是開(kāi)關(guān)電源,不是很穩(wěn)定的。接C1、C2、C3做為穩(wěn)壓電容,這樣就可以的得到穩(wěn)定的5V電壓了。在電源兩端并聯(lián)一個(gè)發(fā)光二極管來(lái)指示電源是否接通。圖3-4電源模塊(2)時(shí)鐘電路模塊:晶振為單片機(jī)提供時(shí)鐘信號(hào)如圖3-5所示,其中Y1為12M。電容的大小在30pF左右,兩個(gè)電容的一端相連并且接地,而另一端分別與晶振兩端相連,然后分別接在單片機(jī)的XTAL1和XTAL2口。圖3-5時(shí)鐘(shzhng)電路模塊(3)復(fù)位電路(di
26、nl)模塊使用復(fù)位電路可以是單片機(jī)重新啟動(dòng),之前的數(shù)據(jù)都會(huì)被清除,單片機(jī)內(nèi)部的CPU及其他的部分都會(huì)返回初始狀態(tài)。一般單片機(jī)的RST引腳作為復(fù)位引腳,它與單片機(jī)內(nèi)部的施密特觸發(fā)器相連。在單片機(jī)正常工作的時(shí)候,如果(rgu)在RST引腳上加上一個(gè)超過(guò)24個(gè)振蕩周期(2個(gè)機(jī)器周期)的高電平時(shí),單片機(jī)的CPU就會(huì)發(fā)出響應(yīng)并且把單片機(jī)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有兩種:手動(dòng)按鈕復(fù)位和上電復(fù)位。本次設(shè)計(jì)采用手動(dòng)按鈕復(fù)位,如圖3-6:圖3-6復(fù)位電路模塊3.4.2 鍵盤(pán)模塊在電路中使用的是獨(dú)立式按鍵設(shè)計(jì),獨(dú)立式的按鍵的一端用導(dǎo)線直接與單片機(jī)的I/O口相連,另一端直接接地。所以每一個(gè)獨(dú)立式的按鍵都要單獨(dú)使用一
27、個(gè)I/O端口,但是每個(gè)按鍵的工作時(shí)是不會(huì)影響其他的I/O端口的。獨(dú)立式按鍵的典型應(yīng)用如圖3-7所示。獨(dú)立式按鍵的電路簡(jiǎn)單方便,程序編寫(xiě)也很簡(jiǎn)單。缺點(diǎn)是每一個(gè)按鍵要使用一個(gè)I/O端口,因此,在需要使用較多的按鍵時(shí),I/O端口就會(huì)不夠使用,不是十分的適合。圖3-7鍵盤(pán)(jinpn)模塊3.4.3溫度傳感器(DS18B20)模塊(m kui)DS18B20它是第一片使用(shyng)“一線總線”接口的溫度傳感器,溫度傳感器DS18B20可以分為三腳T0-92直插式和八腳S0IC貼片式。貼片式不常用,所以我選擇的是直插式封裝。溫度傳感器DS18B20它的體積更加小、性能更突出、工作更加穩(wěn)定、功耗更低、
28、兼容大多數(shù)單片機(jī),它可以直接輸出數(shù)字量的溫度信號(hào)供處理器處理。在DS18B20進(jìn)行溫度轉(zhuǎn)換的時(shí)候,I/O端口為DS18B20提供穩(wěn)定的電壓使得傳感器能很好的進(jìn)行溫度轉(zhuǎn)換,因?yàn)镈S18B20正常工作時(shí)的電流需要1mA,所以在同一個(gè)I/O端口上使用幾個(gè)溫度傳感器同時(shí)進(jìn)行測(cè)溫時(shí),單單使用一個(gè)上拉電阻時(shí)是無(wú)法使DS18B20正常進(jìn)行工作的,可能會(huì)使測(cè)量的溫度值不準(zhǔn)確甚至是無(wú)法進(jìn)行測(cè)量。因此,在如圖3-8所示的電路只能保證單個(gè)DS18B20正常工作,如果使用多個(gè)傳感器后者電源供電不穩(wěn)定,就會(huì)使DS18B20內(nèi)部的寄生電源接受到的電流太小,無(wú)法驅(qū)動(dòng)傳感器正常工作,使得傳感器測(cè)量不準(zhǔn)確。所以在實(shí)際使用中,必
29、須保證電源的電壓穩(wěn)定在5V,是DS18B20能夠正常工作。圖3-8溫度傳感器模塊3.4.4 報(bào)警(bo jng)電路模塊報(bào)警電路如圖3-9所示,采用蜂鳴器發(fā)聲報(bào)警。蜂鳴器的負(fù)極接地,正極接到三級(jí)管集電極,三極管發(fā)射極接到電源VCC上,三極管的基集接到單片機(jī)上,三極管起到一個(gè)開(kāi)關(guān)(kigun)的作用,當(dāng)P0.1輸出低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器就有電流經(jīng)過(guò),形成回路,然后蜂鳴器發(fā)出聲音。當(dāng)P0.1輸出高電平時(shí),三極管就截止,蜂鳴器不發(fā)出聲音。圖3-9報(bào)警(bo jng)電路模塊3.4.5顯示電路模塊具體(jt)電路如圖3-10所示:圖3-10數(shù)碼管顯示(xinsh)模塊本設(shè)計(jì)采用的是4位LED
30、供陽(yáng)極數(shù)碼管顯示,如圖3-10所示。數(shù)碼管采用的靜態(tài)掃描方式,因?yàn)閿?shù)碼管位數(shù)少,采用靜態(tài)掃描的方式使得顯示非常(fichng)的穩(wěn)定,使用CPU的時(shí)間短,大大簡(jiǎn)化了顯示部分的程序設(shè)計(jì)。4 軟件設(shè)計(jì)4.1 程序設(shè)計(jì)(chn x sh j)流程(1)主程序設(shè)計(jì)(chn x sh j)主函數(shù)完成對(duì)DS18B20的初始化,讀取溫度的轉(zhuǎn)換值,調(diào)用數(shù)據(jù)處理的子程序然后再生成顯示(xinsh)代碼,再將溫度顯示出來(lái),然后根據(jù)溫度顯示的代碼判斷溫度值是否超出了預(yù)設(shè)的范圍。如果超出,則調(diào)用報(bào)警電路,蜂鳴器會(huì)響起來(lái)。然后返回到主函數(shù)開(kāi)始的位置,無(wú)論溫度值是否超出預(yù)設(shè)值,程序都會(huì)返回開(kāi)始的位置重復(fù)循環(huán)。主程序流程圖
31、如下:圖5-1主程序流程圖(2)DS18B20復(fù)位(f wi)子程序:圖5-2 DS18B20復(fù)位(f wi)子程序流程圖(3)讀溫度(wnd)值子程序:圖5-3 DS18B20讀溫度(wnd)值子程序流程圖4.2 程序(chngx)編寫(xiě)本程序的設(shè)計(jì)采用Keil uVision4編譯軟件,具體內(nèi)容見(jiàn)附錄一。5 硬件調(diào)試5.1 靜態(tài)(jngti)檢查首先對(duì)購(gòu)買(mǎi)的硬件(yn jin)器材的型號(hào)進(jìn)行核對(duì),確認(rèn)無(wú)誤后按照電路原理圖進(jìn)行焊接,焊接時(shí)注意器件的極性,焊接完成后再對(duì)電路進(jìn)行檢查,確認(rèn)電路連接是否正確。最后使用萬(wàn)用表檢查每一個(gè)元器件是否正常工作。5.2 通電(tng din)檢查首先調(diào)試電源部
32、分。整個(gè)電路只需要+5V的電壓,接上電源,將電源通入,測(cè)試USB母頭輸出端,輸出電壓和理論計(jì)算值一致,再用示波器檢測(cè)單片機(jī)的復(fù)位和晶振電路是否有復(fù)位信號(hào)和振蕩信號(hào)。5.3軟件調(diào)試及軟硬件聯(lián)調(diào)對(duì)軟件先用仿真器進(jìn)行了調(diào)試。確認(rèn)軟件能正常運(yùn)行以后,再使用燒錄軟件將程序燒錄到STC89C52單片機(jī)中,然后再將電路接通,檢查電路是否有問(wèn)題。5.4硬件實(shí)物圖實(shí)物圖和實(shí)物運(yùn)行時(shí)的效果圖見(jiàn)附錄5。6 結(jié)束語(yǔ)在經(jīng)過(guò)幾個(gè)(j )月努力以后,我終于在指導(dǎo)老師的幫助下完成了課題設(shè)計(jì),并且自己親自焊接出了實(shí)物,正常運(yùn)行。雖然還不能完全達(dá)到預(yù)期效果,但是這無(wú)疑是一次巨大的成功。在這次的設(shè)計(jì)過(guò)程并不是一帆風(fēng)順的,從一開(kāi)始(
33、kish)選課題時(shí)的迷茫,到電路設(shè)計(jì)時(shí)的糾結(jié),然后到軟件設(shè)計(jì)時(shí)的苦惱,最后到做出實(shí)物的喜悅,我在這個(gè)過(guò)程中遇到了各種各樣的問(wèn)題,雖然這個(gè)課題表面上看起來(lái)很簡(jiǎn)單。比如在蜂鳴器焊接了以后,它會(huì)亂響,于是我就請(qǐng)教了同學(xué)和老師,再經(jīng)過(guò)幾次的測(cè)量與實(shí)驗(yàn)找到了癥結(jié)所在,然后順利地解決了。這次課題設(shè)計(jì)不僅僅是一次理論上的設(shè)計(jì),還需要自己動(dòng)手進(jìn)行焊接,大大鍛煉我的動(dòng)手能力。 從這次設(shè)計(jì)過(guò)程中,我終于能夠把我所學(xué)的知識(shí)運(yùn)用到實(shí)踐中去了,在設(shè)計(jì)過(guò)程中我深刻體會(huì)到了理論聯(lián)系實(shí)際必要。我們(w men)只是學(xué)習(xí)書(shū)本上的知識(shí)還是很有限的,只有在實(shí)踐中才能對(duì)所學(xué)的知識(shí)有更加深刻的體會(huì)。參考文獻(xiàn)李朝青. 單片機(jī)原理(yun
34、l)及接口技術(shù)M. 北京: 北京航空航天大學(xué)出版社, 1998.李廣弟. 單片機(jī)基礎(chǔ)(jch)M. 北京: 北京航空航天大學(xué)出版社, 1994.閻石. 數(shù)字電子技術(shù)(jsh)基礎(chǔ)(第三版)M. 北京: 高等教育出版社, 1989.劉高潮. 一種實(shí)用的多功能數(shù)字溫度計(jì)設(shè)計(jì)J. 電子測(cè)量技術(shù), 2007, 2, 8-10.白澤生. 用MCS-51單片機(jī)實(shí)現(xiàn)溫度的檢測(cè)J. 現(xiàn)代電子技術(shù), 2005, 6, 12-15.何立民. 單片機(jī)應(yīng)用技術(shù)選編M. 北京: 北京航空航天大學(xué)出版社, 2004.楊剛, 周群. 電子系統(tǒng)設(shè)計(jì)與實(shí)踐M. 北京: 電子工業(yè)出版社, 2004.張洪潤(rùn). 電子線路與電子技術(shù)M
35、. 北京: 清華大學(xué)出版社, 2005. 王松武. 電子創(chuàng)新設(shè)計(jì)與實(shí)踐M. 北京: 國(guó)防工業(yè)出版社, 2005.李建忠. 單片機(jī)原理及應(yīng)用M. 西安: 西安電子科技大學(xué)出版社, 2002.鐘富昭. 8051單片機(jī)典型模塊設(shè)計(jì)與應(yīng)用M. 北京: 人民郵電出版社, 2007.王俊峰, 孟令啟. 現(xiàn)代傳感器應(yīng)用技術(shù)M. 北京: 機(jī)械工業(yè)出版社, 2007.宋文緒, 楊 帆. 自動(dòng)檢測(cè)技術(shù)M. 北京: 高等教育出版社, 2000.江孝國(guó), 王婉麗, 祁雙喜. 高精度PID溫度控制器J. 電子與自動(dòng)化, 2000, 5, 22-24. 金發(fā)慶. 傳感器技術(shù)與應(yīng)用M. 北京: 機(jī)械工業(yè)出版社, 2006.
36、范晶彥. 傳感器與檢測(cè)技術(shù)應(yīng)用M. 北京: 機(jī)械工業(yè)出版社, 2005.沈聿農(nóng). 傳感器及應(yīng)用技術(shù)M. 北京: 化學(xué)工業(yè)出版社, 2001.于洋. 高低溫試驗(yàn)箱微機(jī)自動(dòng)控制系統(tǒng)的設(shè)計(jì)J. 工業(yè)儀表與自動(dòng)化裝置, 2003, 2, 12-14 .周航慈. 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)M. 北京: 北京航空航大大學(xué)出版社, 2005.趙曉安. MCS-51單片機(jī)原理及應(yīng)用M. 天津: 天津大學(xué)出版社, 2001.楊清梅, 孫建民. 傳感器與測(cè)試技術(shù)M. 哈爾濱: 哈爾濱工程大學(xué)出版社, 2005.彭立, 張建洲, 王少華. 自適應(yīng)溫度控制系統(tǒng)的研制J. 東北師大學(xué)報(bào)(自然科學(xué)版), 1994, 1, 3
37、7-40 . 王青云. 基于單片機(jī)的溫度測(cè)量系統(tǒng)J. 2010, 5, 3-7. 馬云峰. 單片機(jī)與數(shù)字溫度傳感器DS18B20的接口設(shè)計(jì)J. 計(jì)算機(jī)自動(dòng)測(cè)量與控制, 2002, 4, 14-19. 李鋼, 趙彥峰. 1-Wire總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用J. 現(xiàn)代電子技術(shù), 5, 33-40. 呂宏麗. Proteus和Keil在單片機(jī)控制系統(tǒng)仿真中的應(yīng)用J. 福建電腦, 2008, 3, 12-22.李升, 陳亮. 單片機(jī)原理及應(yīng)用課程數(shù)字仿真教學(xué)探討J. 中國(guó)現(xiàn)代教育裝備, 2007, 11, 11-14.楊海. HYPERLINK /kcms/detail/detail
38、.aspx?filename=KJXX201007050&dbcode=CJFQ&dbname=CJFD2010 基于AT89C52單片機(jī)的藥品庫(kù)房溫濕度控制系統(tǒng)設(shè)計(jì)J. 科技信息, 2010, 7, 30-35.王占玖, 邢春華. HYPERLINK /kcms/detail/detail.aspx?filename=KJXX200909607&dbcode=CJFQ&dbname=CJFD2009 設(shè)備自控的新動(dòng)向J. 科技信息, 2009, 9, 6-15.謝延興. HYPERLINK /kcms/detail/detail.aspx?filename=JDJS200904022&dbc
39、ode=CJFQ&dbname=CJFD2009 基于AT89C51單片機(jī)最小系統(tǒng)的數(shù)字體溫計(jì)設(shè)計(jì)J. 機(jī)電技術(shù), 2009, 4, 23-29.馬向陽(yáng), 王明艷. 單片機(jī)與數(shù)字傳感器在溫度測(cè)控系統(tǒng)中的應(yīng)用J. 中國(guó)科技信息, 2010, 1, 2-5.致 謝首先要衷心感謝指導(dǎo)老師林萍老師的在畢業(yè)設(shè)計(jì)過(guò)程中的指導(dǎo)和幫助!在這次設(shè)計(jì)過(guò)程我遇到了很多自己解決不了的問(wèn)題,在林萍老師的詳細(xì)講解及悉心指導(dǎo)下得以完成。老師學(xué)識(shí)淵博,為人和藹,無(wú)時(shí)無(wú)刻關(guān)心著學(xué)生的學(xué)習(xí)和生活。為我營(yíng)造了一種愉快(ykui)、良好的學(xué)術(shù)氛圍。在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中,無(wú)時(shí)無(wú)刻關(guān)心著我的進(jìn)度及詢(xún)問(wèn)我設(shè)計(jì)上遇到的問(wèn)題,并且針對(duì)我提出的
40、問(wèn)題做出詳細(xì)的講解且不斷對(duì)我得到的結(jié)論進(jìn)行修改和總結(jié)。同時(shí)也很感謝其他同學(xué)給予我的幫助。在設(shè)計(jì)過(guò)程中,我遇到了好多問(wèn)題都是其他同學(xué)幫助解決的。俗話說(shuō)三人行,必有我?guī)?,每個(gè)同學(xué)都可以是我的老師,我們(w men)在實(shí)驗(yàn)室中一起學(xué)習(xí),一起探討問(wèn)題,最后我們一起進(jìn)步,一起提高。最后衷心感謝電氣學(xué)院(xuyun)老師們的熱情幫助和支持!附 錄附錄(fl)1:程序清單程序內(nèi)容(nirng)具體如下:/*作品(zupn):數(shù)字溫度計(jì)設(shè)計(jì) 單片機(jī):STC89C52RC 晶振:12M 編譯環(huán)境:Keil uVision4下載:12T/單倍速*/ #include#include /加入溫度傳感器頭文件#inc
41、lude/加入掉電保存頭文件#define Par P2 /數(shù)碼管段sbit Set = P14; /設(shè)置按鈕sbit Up = P36; /上調(diào)按鈕sbit Down= P32; /下調(diào)按鈕sbit Beep= P01; /蜂鳴器定義sbit Pos1=P04; /數(shù)碼管位1sbit Pos2=P03; /數(shù)碼管位2sbit Pos3=P02; /數(shù)碼管位3sbit Pos4=P05; /數(shù)碼管位4uint Up_Temp; /報(bào)警溫度上限的十倍(方便小數(shù)位判斷)uint Low_Temp; /報(bào)警溫度下限的十倍(方便小數(shù)位判斷)uchar code Tab=0 x28,0 xEE,0 x3
42、2,0 xA2,0 xE4,0 xA1,0 x21,0 xEA,0 x20, /0 1 2 3 4 5 6 7 8 段碼/7 6 5 4 3 2 1 00 xA0,0 x60,0 x25,0 x39,0 x26,0 x31,0 x71,0 xff,0 xf7,0 x64,0 x3d,0 x35; /9 A B C D E F $ - H L (L-) 段碼/E D H C G A F Buint temp;/讀取溫度變量(為了保持精度,溫度是放大了10倍的)/*T:要顯示的溫度Flag:符號(hào)位num:顯示次數(shù) */void displayset(uint T,uchar Flag,uint n
43、um)/顯示設(shè)置報(bào)警范圍:0-99.9while(num-)if(T999) /如果設(shè)置上限溫度大于99.9,就重新循環(huán)回0.0Up_Temp=0;time+=10; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)if(time50) /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)time=49; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)num=50-time; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)if(num30) /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)num=30; /這里來(lái)調(diào)整按鍵方式
44、,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)displayset(Up_Temp,18,num);/顯示高溫報(bào)警閥值time=0;while(Down=0)if(Up_Temp=0) /如果設(shè)置上限溫度為0,就重新循環(huán)回99.9Up_Temp=1000;Up_Temp-=1; /報(bào)警下限(xixin)溫度減小0.1time+=10; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手(sng shu)后恢復(fù)if(time50) /這里來(lái)調(diào)整(tiozhng)按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)time=49; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)nu
45、m=50-time; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)if(num30) /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)num=30; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)displayset(Up_Temp,18,num);/顯示高溫報(bào)警閥值time=0;if(Set=0) /再次按下設(shè)置鍵,則跳出報(bào)警上限溫度的設(shè)置break;while(Set=0) /等待按鍵釋放displayset(Low_Temp,19,5); /顯示報(bào)警下限溫度閥值while(1)displayset(Low_Temp,19,2); /顯示報(bào)警
46、下限溫度閥值while(Up=0)Low_Temp+=1; /報(bào)警上限溫度增加0.1if(Low_Temp999) /如果設(shè)置上限溫度大于99.9,就重新循環(huán)回0.0Low_Temp=0;time+=10; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)if(time50) /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)time=49; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)num=50-time; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手(sng shu)后恢復(fù)if(num30) /這里來(lái)調(diào)整按鍵(n jin)方式,按著
47、不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)num=30; /這里(zhl)來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)displayset(Low_Temp,19,num); /顯示低溫報(bào)警閥值time=0;while(Down=0)if(Low_Temp=0) /如果設(shè)置上限溫度為0,就重新循環(huán)回99.9Low_Temp=1000;Low_Temp-=1; /報(bào)警下限溫度減小0.1time+=10; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)if(time50) /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)time=49; /這里來(lái)調(diào)整按鍵方式,按
48、著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)num=50-time; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)if(num30) /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)num=30; /這里來(lái)調(diào)整按鍵方式,按著不放的話調(diào)整速度越來(lái)越快,松手后恢復(fù)displayset(Low_Temp,19,num);/顯示低溫報(bào)警閥值time=0;if(Set=0) /再次按下設(shè)置鍵,則跳出報(bào)警下限溫度的設(shè)置break;while(Set=0) /等待按鍵釋放displayset(Low_Temp,19,5); /顯示低溫報(bào)警閥值eeprom(Up_Temp,Low_T
49、emp); /寫(xiě)入報(bào)警閥值到EEPROM/*T:要顯示的溫度Flag:符號(hào)(fho)位num:顯示(xinsh)次數(shù) */void display(uint T,uchar Flag,uint num) /主顯示(xinsh)函數(shù)while(num-) if(T999) /如果溫度大于99.9,則四位數(shù)碼管均用來(lái)顯示Pos1=0;Pos2=Pos3=Pos4=1; /打開(kāi)第一位數(shù)碼管Par=TabT/1000; delay_main(60);Par=255; /顯示溫度的百位數(shù)Pos2=0;Pos1=Pos3=Pos4=1; /打開(kāi)第二位數(shù)碼管Par=TabT%1000/100; delay_
50、main(60);Par=255; /顯示溫度的十位數(shù)Pos3=0;Pos2=Pos1=Pos4=1; /打開(kāi)第三位數(shù)碼管Par=TabT%1000%100/10&0 xDF; delay(60);Par=255; /顯示溫度的個(gè)位數(shù)并加小數(shù)點(diǎn)Pos4=0;Pos2=Pos3=Pos1=1; /打開(kāi)第四位數(shù)碼管Par=TabT%1000%100%10; delay_main(60);Par=255;/顯示溫度的小數(shù)位else /如果溫度小于100if(T100)/如果溫度小于10Pos2=0;Pos1=Pos3=Pos4=1;/打開(kāi)第二位數(shù)碼管Par=TabFlag; delay_main(6
51、0);Par=255;/顯示溫度的符號(hào)位Pos3=0;Pos2=Pos1=Pos4=1;/打開(kāi)第三位數(shù)碼管Par=TabT%100/10&0 xDF; delay_main(60);Par=255; /顯示溫度的個(gè)位數(shù)并加小數(shù)點(diǎn)Pos4=0;Pos2=Pos3=Pos1=1;/打開(kāi)(d ki)第四位數(shù)碼管Par=TabT%100%10; delay_main(60);Par=255;/顯示(xinsh)溫度的小數(shù)位else /如果(rgu)溫度小于100,大于10Pos1=0;Pos2=Pos3=Pos4=1;/打開(kāi)第一位數(shù)碼管Par=TabFlag; delay_main(60);Par=2
52、55;/顯示溫度的符號(hào)位Pos2=0;Pos1=Pos3=Pos4=1;/打開(kāi)第二位數(shù)碼管Par=TabT/100; delay_main(60);Par=255;/顯示溫度的十位數(shù)Pos3=0;Pos2=Pos1=Pos4=1;/打開(kāi)第三位數(shù)碼管Par=TabT%100/10&0 xDF; delay_main(60);Par=255; /顯示溫度的個(gè)位數(shù)并加小數(shù)點(diǎn)Pos4=0;Pos2=Pos3=Pos1=1;/打開(kāi)第四位數(shù)碼管Par=TabT%100%10; delay_main(60);Par=255;/顯示溫度的小數(shù)位void arm()/報(bào)警函數(shù)Beep=0;/打開(kāi)蜂鳴器displ
53、ay(temp,T_flag,90);/延時(shí)Beep=1;/關(guān)閉蜂鳴器display(temp,T_flag,2); /延時(shí)void main()/主函數(shù)uchar i;Up_Temp=IapReaduchar(0 x2002)*256+IapReaduchar(0 x2003); /讀取掉電前溫度(wnd)上限Low_Temp=IapReaduchar(0 x2004)*256+IapReaduchar(0 x2005);/讀取掉電前溫度(wnd)下限for(i=0;i=Up_Temp|temp0;i-) /串行接收數(shù)據(jù) DQ = 0; / 給脈沖信號(hào) dat=1; DQ = 1; / 給脈
54、沖信號(hào) if(DQ) dat|=0 x80; Delay_DS18B20(8); return(dat);/*寫(xiě)一個(gè)字節(jié)*/void WriteOneChar(uchar dat)uchar i=0;for (i=8; i0; i-)DQ = 0;DQ = dat&0 x01; /寫(xiě)入最低位Delay_DS18B20(10);DQ = 1;dat=1; /右移一位 /*讀取溫度*/uint ReadTemperature(void) uchar a=0; uchar b=0; uint t=0; float tt=0; Init_DS18B20(); /初始化DS18B20 WriteOneC
55、har(0 xCC); /跳過(guò)讀序號(hào)列號(hào)的操作(cozu) WriteOneChar(0 x44); /啟動(dòng)溫度(wnd)轉(zhuǎn)換 Delay_DS18B20(20); Init_DS18B20(); /初始化DS18B20 WriteOneChar(0 xCC); /跳過(guò)讀序號(hào)列號(hào)的操作(cozu) WriteOneChar(0 xBE); /讀取溫度寄存器 a=ReadOneChar(); /讀低8位 b=ReadOneChar(); /讀高8位 if(b7) a=256-a;b=256-b;T_flag=17; /溫度標(biāo)志位,負(fù)溫度 else T_flag=16; /正溫度標(biāo)志 t=b; t
56、=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; /放大10倍輸出并四舍五入 return(t);#endifEEPROM頭文件#include intrins.h#define uchar unsigned char /*宏定義 字符型數(shù)據(jù) 整型數(shù)據(jù) */#define uint unsigned int/*聲明SFR與IAP */sfr IAP_DATA = 0 xE2; /Flash數(shù)據(jù)寄存器sfr IAP_ADDRH = 0 xE3; /Flash地址高字節(jié)sfr IAP_ADDRL = 0 xE4; /Flash地址低字節(jié)sfr IAP_CMD = 0 xE5; /Flash命令寄存器sfr IAP_TRIG = 0 xE6; /Flash命令觸發(fā)sfr IAP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高頓權(quán)益試題及答案
- 2025年軟考網(wǎng)絡(luò)管理員復(fù)習(xí)試題及答案庫(kù)
- 紅薯種植技術(shù)試題及答案
- 古詩(shī)相關(guān)試題及答案
- 公園模擬面試題及答案
- 經(jīng)濟(jì)行為與社會(huì)心理因素的互動(dòng)試題及答案
- 了解考試動(dòng)態(tài)2025年軟件設(shè)計(jì)師考試試題及答案
- 軟考軟件設(shè)計(jì)師知識(shí)點(diǎn)清單試題及答案
- 軟件設(shè)計(jì)師考試實(shí)戰(zhàn)技巧2025年試題及答案
- 2025中小學(xué)教師心理健康網(wǎng)絡(luò)知識(shí)競(jìng)賽題庫(kù)(含答案)
- 【年產(chǎn)2000噸色氨酸發(fā)酵工廠的計(jì)算與設(shè)計(jì)(附布置圖流程圖)15000字(論文)】
- 2024年倉(cāng)儲(chǔ)、物流等貨物管理員資格知識(shí)考試題庫(kù)(附含答案)
- 2024-2030年中國(guó)動(dòng)畫(huà)產(chǎn)業(yè)發(fā)展趨勢(shì)及未來(lái)前景預(yù)測(cè)分析報(bào)告
- 2024年中級(jí)硫磺回收裝置操作工職業(yè)鑒定理論考試題庫(kù)(濃縮500題)
- DL∕T 1917-2018 電力用戶業(yè)擴(kuò)報(bào)裝技術(shù)規(guī)范
- (正式版)SH∕T 3507-2024 石油化工鋼結(jié)構(gòu)工程施工及驗(yàn)收規(guī)范
- GB/T 43986-2024籃球課程學(xué)生運(yùn)動(dòng)能力測(cè)評(píng)規(guī)范
- 網(wǎng)孔電流法 (1)講解
- 江西省宜春市袁州區(qū)2023-2024學(xué)年六年級(jí)下學(xué)期期末考試語(yǔ)文試卷
- 《安史之亂與唐朝衰亡》名師教案
- 1《促織》公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)(表格式)統(tǒng)編版高中語(yǔ)文必修下冊(cè)
評(píng)論
0/150
提交評(píng)論