智能溫度報(bào)警器的設(shè)計(jì)_第1頁
智能溫度報(bào)警器的設(shè)計(jì)_第2頁
智能溫度報(bào)警器的設(shè)計(jì)_第3頁
智能溫度報(bào)警器的設(shè)計(jì)_第4頁
智能溫度報(bào)警器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、吉林建筑大學(xué)電氣與電子信息工程學(xué)院傳感器與檢測技術(shù)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 智能溫度報(bào)警器的設(shè)計(jì) 專業(yè)班級: 信科121 學(xué)生姓名: 學(xué) 號 指導(dǎo)教師: 王超、高曉紅 設(shè)計(jì)時(shí)間: 2015.6.152015.6.26 教師評語:成績 評閱教師 日期 成績 評閱教師 日期 目錄第1章 緒論.11.1智能溫度報(bào)警器研究的背景和意義.11.2 智能溫度報(bào)警器的設(shè)計(jì)主要內(nèi)容和要求.1第2章 系統(tǒng)總體設(shè)計(jì)方案.32.1總體方案設(shè)計(jì)圖 .32.2系統(tǒng)工作模塊及過程.3第3章硬件電路設(shè)計(jì).53.1溫度采集模塊.53.2液晶顯示模塊.73.3電源模塊.83.4溫度報(bào)警器模塊.93.5按鍵模塊.103.6復(fù)位模塊

2、.103.7控制模塊.11第4章系統(tǒng)軟件設(shè)計(jì).144.1主程序流程圖.144.2溫度讀取轉(zhuǎn)換流程圖.154.3溫度計(jì)算流程圖.16總結(jié).17參考文獻(xiàn).17附錄1總電路圖 .18附錄2程序.19 第1章 緒論1.1智能溫度報(bào)警器研究的背景和意義 溫度是一個(gè)十分重要的物理量,對他的測量與控制有十分重要的意義,隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展及人們對生活環(huán)境要求的提高,人們也迫切需要檢測與控制溫度。本文通過采用壓電陶瓷蜂鳴片作為電聲元件的溫度報(bào)警器的設(shè)計(jì)與制作,闡明了該裝置進(jìn)行設(shè)計(jì)與制作的具體過程及方法。這種溫度報(bào)警器結(jié)構(gòu)簡單,可操作性強(qiáng),應(yīng)用廣泛。工作時(shí),溫度測量范圍為1030º。當(dāng)前環(huán)境溫度若

3、超過設(shè)定的高溫臨界溫度,由單片機(jī)發(fā)出報(bào)警信號并驅(qū)動(dòng)繼電器使風(fēng)扇電機(jī)轉(zhuǎn)動(dòng),從而防止因溫度升高而帶來的不必要的損失。 現(xiàn)代社會是信息社會,隨著安全化程度的日益提高,機(jī)房作為現(xiàn)代化的樞紐,其安全工作已成為重中之重,機(jī)房內(nèi)一旦發(fā)生故障,將導(dǎo)致整個(gè)系統(tǒng)癱瘓,造成巨大的損失很社會影響。 造成高溫火災(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ā)揮

4、應(yīng)有的功能。 由于現(xiàn)實(shí)生活中天然氣泄漏、溫度超限和失竊、加上以前通信網(wǎng)絡(luò)的不完善,對于人們的生命財(cái)產(chǎn)有著很大的危害?,F(xiàn)在隨著通信技術(shù)和電子技術(shù)的飛速發(fā)展,電子信息技術(shù)與社會經(jīng)濟(jì)生活,生產(chǎn)的關(guān)系越來越密切,對社會經(jīng)濟(jì)的發(fā)展起著越來越大的作用。如果主任離開家去上班,家里失竊也不會知道。如果能實(shí)現(xiàn)遠(yuǎn)程報(bào)警,使報(bào)警器智能化,這將會給人們的生活帶來極大的方便。 溫度控制系統(tǒng)在國內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國內(nèi)生產(chǎn)的溫度控制器來說,總體發(fā)展水平還不夠高。存在以下幾點(diǎn)問題。(1)行業(yè)內(nèi)企業(yè)規(guī)模小,較為分散,造成技術(shù)力量不夠集中.(2)商品化產(chǎn)品以PID控制器為主,智能化儀表少,這方面同國外差距較大

5、。目前,國內(nèi)復(fù)雜的及精確度高的溫控系統(tǒng)大多采用進(jìn)口溫度控制儀表。(3)儀表控制用關(guān)鍵技術(shù)。相關(guān)算法及控制軟件方面的研發(fā)較國外落后。制參數(shù)多靠人工經(jīng)驗(yàn)及現(xiàn)場調(diào)試來確定。隨著我國經(jīng)濟(jì)不斷進(jìn)步,政府對此也非常重視。溫度儀表工業(yè)得到迅速發(fā)展。1.2 智能溫度報(bào)警器的設(shè)計(jì)主要內(nèi)容和要求(1)課程設(shè)計(jì)目的 通過傳感器與檢測技術(shù)課程設(shè)計(jì),使學(xué)生掌握傳感器及檢測系統(tǒng)設(shè)計(jì)的方法和設(shè)計(jì)原則及相應(yīng)的硬件調(diào)試的方法。進(jìn)一步理解傳感器及檢測系統(tǒng)的設(shè)計(jì)和應(yīng)用。(2)智能溫度報(bào)警器的設(shè)計(jì)內(nèi)容 設(shè)計(jì)一個(gè)基于單片機(jī)的溫度檢測、報(bào)警的系統(tǒng),該系統(tǒng)能實(shí)時(shí)采集周圍的溫度信息進(jìn)行顯示,當(dāng)溫度超限時(shí),可以報(bào)警。實(shí)現(xiàn)以下功能:實(shí)時(shí)溫度檢測

6、并顯示其對應(yīng)的值。當(dāng)溫度超過預(yù)設(shè)范圍時(shí),可報(bào)警。其他功能:可以設(shè)報(bào)警置溫度上下限,根據(jù)應(yīng)用環(huán)境不同可設(shè)定不同的報(bào)警上下限。(3)本次課程設(shè)計(jì)要求掌握傳感器的工作原理及相應(yīng)的輔助電路設(shè)計(jì)方法。獨(dú)立設(shè)計(jì)原理圖及相應(yīng)的硬件電路。設(shè)計(jì)說明書格式規(guī)范,層次合理,重點(diǎn)突出。并附上詳細(xì)的原理圖。第2章 系統(tǒng)總體設(shè)計(jì)方案2.1總體方案設(shè)計(jì)圖 在很多單片機(jī)測溫電路中,大都是使用溫度傳感器。測溫范圍廣,精度高,且電路設(shè)計(jì)簡單。其中溫度傳感器DS18B20體積小,精度高,經(jīng)濟(jì)實(shí)用,且容易直接讀取被測溫度,滿足設(shè)計(jì)要求。本次設(shè)計(jì)采用控制器采用單片機(jī)AT89C51,可任意設(shè)定上下限溫度報(bào)警功能;采用DS18B20作為溫

7、度傳感器,測溫范圍為-50-110,誤差小于0.5;用LCD液晶屏實(shí)現(xiàn)溫度及時(shí)間日期顯示。本設(shè)計(jì)的系統(tǒng)框圖如圖2.1所示。單片機(jī) AT89C51按鍵電路單片機(jī)復(fù)位電路液晶顯示 上下限報(bào)警 電源輔助電路溫度傳感器 圖2.1總體方案設(shè)計(jì)圖2.2系統(tǒng)工作模塊及過程(1)系統(tǒng)包含溫度采集模塊、顯示模塊、電源模塊、報(bào)警模塊、按鍵模塊等幾個(gè)部分組成。溫度采集模塊用來采集實(shí)時(shí)溫度。顯示模塊用來顯示溫度,日期和時(shí)間。按鍵用于設(shè)置溫度的上下限報(bào)警。電源模塊對整個(gè)系統(tǒng)進(jìn)行供電。報(bào)警模塊即當(dāng)溫度超過上下限時(shí)進(jìn)行報(bào)警提醒。復(fù)位電路進(jìn)行單片機(jī)復(fù)位。(2)工作過程 電源轉(zhuǎn)換模塊將電壓轉(zhuǎn)換供電,單片機(jī)控制中心進(jìn)行命令。利用

8、溫度傳感器DS18B20檢測環(huán)境溫度,通過按鍵在不同的應(yīng)用環(huán)境設(shè)置不同的上下限溫度,載由液晶顯示器LCD1602顯示實(shí)時(shí)溫度和時(shí)間,當(dāng)環(huán)境溫度值不在所設(shè)的范圍時(shí),報(bào)警器發(fā)出報(bào)警提醒。同時(shí)設(shè)置復(fù)位電路,令單片機(jī)復(fù)位。第3章 硬件電路設(shè)計(jì)3.1溫度采集模塊圖3.1溫度采集電路  DS18B20主要特點(diǎn)溫度采集模塊采用溫度傳感器DS18B20測取溫度信息,然后使用單片機(jī)與溫度傳感器進(jìn)行通訊,讀取溫度信息。(1)DS18B20的主要特點(diǎn)如下: 獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。 測溫范圍 -55+125,固有測溫誤差

9、(注意,不是分辨率,這里之前是錯(cuò)誤的)1。支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個(gè),實(shí)現(xiàn)多點(diǎn)測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。工作電源: 3.05.5V/DC (可以數(shù)據(jù)線寄生電源)。 在使用中不需要任何外圍元件。 測量結(jié)果以912位數(shù)字量方式串行傳送。 不銹鋼保護(hù)管直徑 6。 適用于DN1525, DN40DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫。 標(biāo)準(zhǔn)安裝螺紋 M10X1, M12X1.5, G1/2"任選。 PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。(2)DS18B20引腳功能DQ為

10、數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。(3)工作原理 DS18B20的測溫原理如圖3.2所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置-55

11、 所對應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即所測溫度。圖3.2DS18B20的測溫原理3.2 液晶顯示模塊圖3.3液晶顯示電路 在溫度報(bào)警器的工作過程中,系統(tǒng)需要對實(shí)時(shí)的溫度和時(shí)間進(jìn)行顯示。使用液晶LCD1602顯示器顯示。(1)LCD1602液晶顯示器主要特點(diǎn) 分表率高,顯示質(zhì)量好 數(shù)字式接口,設(shè)計(jì)簡單,操作方便。

12、 體積小,重量輕。 壽命長,功耗低。(2)引腳功能引腳分布圖如圖3.4所示VSSVCCV0RSRWEDB0-DB7BLABLK 1 2 3 4 5 6 7-14 15 圖3.4LCD1602引腳圖 LCD1602采用標(biāo)準(zhǔn)的16腳接口各個(gè)接口引腳為:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高(對比度過高時(shí)會 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫信號線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)

13、進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。3.3電源模塊圖3.5電源電路(1)模塊組成電源變壓器:是降壓變壓器,它將電網(wǎng)220V交流電壓變換成12V的交流電壓,并送給整流電路,變壓器的變比由變壓器的副變電壓確定。整流電路:利用單向掉電元件,把59HZ的正弦交流電變換成脈動(dòng)的直流電。濾波電路:可以將整流電路輸出電壓中的交流成分大部分加以濾除,從而得到比較平滑的直流電壓。穩(wěn)壓電路:芯片7805穩(wěn)壓電路的功能是使輸出的直流電壓穩(wěn)定,不隨交流電網(wǎng)和負(fù)載的變化而變化。(2)工作原理 系統(tǒng)

14、僅需要單個(gè)5V穩(wěn)壓電源,所以需要將電壓轉(zhuǎn)化。采用三端穩(wěn)壓集成7805得到+5V的穩(wěn)定電壓。整流電路采用二極管橋式整流電路,在U正半周,二極管D8、D9導(dǎo)電,D6、D7截止;U的負(fù)半周時(shí),D6、D7導(dǎo)電,D8、D9截止。正負(fù)半周均有電流流過負(fù)載,而且無論在正半周還是負(fù)半周,流過負(fù)載的電流方向是一致的,因而使輸出電壓的直流成分得到提高,脈沖成分被降低。橋式整流電路無需采用具有中心抽頭的變壓器,仍能達(dá)到全波整流的目的。3.4溫度報(bào)警器模塊圖3.6溫度報(bào)警器電路 報(bào)警電路采用的是LED燈和喇叭進(jìn)行報(bào)警,其作用是當(dāng)溫度不在設(shè)定的范圍內(nèi),LED燈亮,同時(shí)喇叭報(bào)警(當(dāng)溫度超過上下限時(shí)進(jìn)行報(bào)警提醒)。以此來提

15、醒用戶該注意實(shí)時(shí)的溫度,避免因?yàn)闇囟鹊脑蚨鴰淼膿p害。3.5按鍵模塊圖3.7按鍵電路按鍵用于設(shè)置溫度的上下限報(bào)警。通過按鍵調(diào)整液晶屏顯示出的溫度上限和下限,為接下來的報(bào)警工作做準(zhǔn)備。本次設(shè)計(jì)按鍵數(shù)較少,采用獨(dú)立式鍵盤。3個(gè)按鍵功能為S1為溫度上限溫度加1,S2為溫度減1,S3為溫度下限溫度加1。3.6復(fù)位模塊圖3.8復(fù)位電路要使主控芯片在上電時(shí)能正常復(fù)位,按照要求執(zhí)行程序,必須在上電位時(shí)給主控單片機(jī)提供至少兩個(gè)機(jī)器周期以上的高電位復(fù)位脈沖。采用的上電復(fù)位電路,該電路在上電瞬間電源通過拉地的10K電阻充電,開始時(shí)的電流最大,電阻兩端的電壓最高,而后慢慢減小,直到電容充電完畢,電阻兩端便保持低電

16、平。此變化經(jīng)單片機(jī)內(nèi)部施密特觸發(fā)器整形后便成了上電瞬間的一個(gè)高電平脈沖,只要這個(gè)脈沖保持兩個(gè)機(jī)器周期以上便可以正常復(fù)位。3.7控制模塊圖3.9AT89C51連接圖控制器主要用于對各模塊控制顯示、報(bào)警、計(jì)時(shí)等。采用AT89C51作為系統(tǒng)控制器的CPU。該單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程較靈活、自由度大,可以用軟件編程實(shí)現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使其在各個(gè)領(lǐng)域應(yīng)廣泛。(1)AT89C51功能4k 字節(jié)Flash 閃速存儲器,128字節(jié)內(nèi)部RAM,32 個(gè)I/O 口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電

17、路。AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。(2)引腳功能VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。P1口:P

18、1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上

19、拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計(jì)時(shí)器0外部輸入)P3.5 T1(計(jì)時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.

20、7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。OG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如

21、果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。第4章 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)程序主要

22、包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)子程序等。4.1主程序流程圖初始化讀取溫度讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令調(diào)用顯示子程序序 調(diào)用顯示子程序 調(diào)用顯示子程序  N Y圖4.1主程序流程 主程序的主要功能是負(fù)責(zé)實(shí)時(shí)顯示溫度,設(shè)置報(bào)警溫度線,每一秒進(jìn)行讀出處理DS18B20測量的溫度值。4.2溫度讀取轉(zhuǎn)換流程圖溫度讀取流程圖如圖4.2所示,溫度轉(zhuǎn)換流程圖如圖4.3所示。 發(fā)DS18B20復(fù)位命令發(fā)DS18B20復(fù)位命令 跳過ROM命令發(fā)跳過ROM命令發(fā)讀取溫度命令發(fā)溫度轉(zhuǎn)換開始命令讀取操作9字節(jié)完?

23、Y 結(jié) 束 N 圖4.3溫度轉(zhuǎn)換流程CRC校驗(yàn)正 Y N移入溫度暫存器 結(jié) 束 圖4.2溫度讀取流程 溫度讀取程序主要是讀出RAM中的9字節(jié),再進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)直接結(jié)束程序,不進(jìn)行溫度數(shù)據(jù)的改寫。溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令。4.3溫度計(jì)算流程圖開 始溫度零下置“0”標(biāo)志溫度值取補(bǔ)碼置“1”標(biāo)志 計(jì)算小數(shù)位溫度 計(jì)算整數(shù)位溫度 結(jié) 束 圖4.4溫度計(jì)算流程總結(jié) 智能溫度控制報(bào)警器是傳感器的第一次設(shè)計(jì)。在本次設(shè)計(jì)中,作為一個(gè)初學(xué)者,由于自身的知識水平有限,在設(shè)計(jì)過程中碰到了許多問題。 通過查閱資料和同學(xué)和老師的幫助,解決了很多問題。一開始并沒有想到電源要轉(zhuǎn)化的問題,后來通

24、過老師的知道,說明電源轉(zhuǎn)換是有必要的。設(shè)計(jì)報(bào)警電路的時(shí)候,二極管等原件的確定總是有些疑問,通過參考前輩的資料來確定了自己要使用的元器件。 經(jīng)過兩周的學(xué)習(xí)查閱資料,我終于順利完成了初步的設(shè)計(jì),后期有修改了一下,但是中間得到的知識是非常讓人欣慰又激動(dòng)的。這種課程設(shè)計(jì)是非常和有趣生動(dòng)的活動(dòng),在理論學(xué)習(xí)的同時(shí)又有實(shí)踐結(jié)合,軟件的操作。之前我并不擅長使用軟件進(jìn)行畫圖設(shè)計(jì),但是本次設(shè)計(jì)中,甚至在網(wǎng)上看視頻教程來學(xué)習(xí)了軟件制作電路圖仿真。當(dāng)做完以后心里是無法言以表達(dá)的激動(dòng)。對我以后的設(shè)計(jì)思想、設(shè)計(jì)方法、設(shè)計(jì)過程都將會產(chǎn)生深遠(yuǎn)的影響。學(xué)會查閱資料是我在這次設(shè)計(jì)中的最大收獲,畢竟一個(gè)人的知識水平有限,資料在設(shè)計(jì)

25、中的作用可以說是舉足輕重。不斷地收集和查閱資料使我知識面不斷拓寬,為以后也打下了良好的基礎(chǔ)。通過設(shè)計(jì),使我對一個(gè)傳感器的設(shè)計(jì)過程有了全面的了解,設(shè)計(jì)過程中出現(xiàn)的許多困難也使我自己不斷完善。不斷的堅(jiān)持使我信心百倍,我會以后繼續(xù)努力。在設(shè)計(jì)過程中感謝老師的悉心指導(dǎo)以及同學(xué)們的幫助。參考文獻(xiàn)1李光飛,樓然苗,胡佳文等.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)M.北京:北京航空航天大學(xué)出版社,20042劉文濤.單片機(jī)語言C51典型應(yīng)用設(shè)計(jì)M.北京:人民郵電出版社,20013魏立峰,王寶興單片機(jī)原理與應(yīng)用技術(shù)M.北京:北京大學(xué)出版社,20074楊素行模擬電子技術(shù)基礎(chǔ)簡明教程M.高等教育出版社,20045張克農(nóng).數(shù)字電子技

26、術(shù)基礎(chǔ)M.高等教育出版社,2008.6王俊峰.電子產(chǎn)品開發(fā)設(shè)計(jì)與制作M.北京:北京人民郵電出版社附錄1總電路圖附錄2 程序#include < reg51.h >#include < intrins.h >#include < yinyue.h >#define uchar unsigned char#define uint unsigned intsbit DQ = P36 /定義DS18B20端口DQsbit BEEP=P32; sbit UP=P33;sbit DOWN=P34;sbit BJ=P31;sbit JR=P30;sbit MUSIC=P3

27、5;bit presence ;sbit LCD_RS = P24sbit LCD_RW = P25sbit LCD_EN = P26uchar code cdis1 = " DS18B20 OK "uchar code cdis2 = " TEMP: C "uchar code cdis3 = " DS18B20 ERR0R "uchar code cdis4 = " PLEASE CHECK "unsigned char code dis1 = "play the song"unsigned

28、 char code dis2 = "Hope you healthy-Sun Yue"unsigned char data temp_data2 = 0x00,0x00unsigned char data display5 =0x00,0x00,0x00,0x00,0x00 unsigned char code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09unsigned char codemytab8=0x0C,0x12,0x12,0x0C

29、,0x00,0x00,0x00,0x00uchar LIM,tt,LIM2,XX;#define delayNOP() _nop_() _nop_() _nop_() _nop_() /*/ void delay1(int ms) unsigned char y while(ms-) for(y = 0 y<250 y+) _nop_() _nop_() _nop_() _nop_() /*/ /*檢查LCD忙狀態(tài) */ /*lcd_busy為1時(shí),忙,等待。lcd-busy為0時(shí),閑,可寫指令與數(shù)據(jù)。 */ /*/ bit lcd_busy() bit resultLCD_RS = 0

30、LCD_RW = 1LCD_EN = 1delayNOP()result = (bit)(P0&0x80)LCD_EN = 0return(result) /*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 */ /*/ void lcd_wcmd(uchar cmd) while(lcd_busy()LCD_RS = 0LCD_RW = 0LCD_EN = 0_nop_()_nop_()P0 = cmddelayNOP() LCD_EN = 1 delayNOP() LCD_EN = 0 /*/ /*寫顯示數(shù)據(jù)到LCD */ /*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)

31、 */ /*/ void lcd_wdat(uchar dat) while(lcd_busy()LCD_RS = 1LCD_RW = 0LCD_EN = 0P0 = datdelayNOP()LCD_EN = 1delayNOP()LCD_EN = 0 /* LCD初始化設(shè)定 */ /*/ void lcd_init() delay1(15)lcd_wcmd(0x01) /清除LCD的顯示內(nèi)容 lcd_wcmd(0x38) /16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)delay1(5)lcd_wcmd(0x38)delay1(5)lcd_wcmd(0x38)delay1(5)lcd_wcmd(0x0

32、c) /顯示開,關(guān)光標(biāo)delay1(5)lcd_wcmd(0x06) /移動(dòng)光標(biāo)delay1(5)lcd_wcmd(0x01) /清除LCD的顯示內(nèi)容delay1(5) /* 設(shè)定顯示位置 */ /*/ void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80) /數(shù)據(jù)指針=80+地址變量 /*自定義字符寫入CGRAM */ /*/ void writetab() unsigned char i lcd_wcmd(0x40) /寫CGRAM for (i = 0 i< 8 i+) lcd_wdat(mytab i ) /*us級延時(shí)函數(shù) */ /*/ voi

33、d Delay(unsigned int num) while( -num ) /*初始化ds1820 */ /*/ Init_DS18B20(void) DQ = 1 /DQ復(fù)位 Delay(8) /稍做延時(shí)DQ = 0 /單片機(jī)將DQ拉低Delay(90) /精確延時(shí) 大于 480usDQ = 1 /拉高總線Delay(8)presence = DQ /如果=0則初始化成功 =1則初始化失敗 Delay(100)DQ = 1return(presence) /返回信號0=presence,1= no presence /* 讀一個(gè)字節(jié) */ /*/ ReadOneChar(void) un

34、signed char i = 0 unsigned char dat = 0 for (i = 8 i > 0 i-) DQ = 0 / 給脈沖信號 dat >>= 1 DQ = 1 / 給脈沖信號 if(DQ) dat |= 0x80 Delay(4) return (dat) /* 寫一個(gè)字節(jié) */ /*/ WriteOneChar(unsigned char dat) unsigned char i = 0 for (i = 8 i > 0 i-)DQ = 0DQ = dat&0x01Delay(5)DQ = 1dat>>=1 /* 讀取溫度

35、 */ /*/ Read_Temperature(void) Init_DS18B20()WriteOneChar(0xCC) / 跳過讀序號列號的操作 WriteOneChar(0x44) / 啟動(dòng)溫度轉(zhuǎn)換Init_DS18B20()WriteOneChar(0xCC) /跳過讀序號列號的操作 WriteOneChar(0xBE) /讀取溫度寄存器temp_data0 = ReadOneChar() /溫度低8位 temp_data1 = ReadOneChar() /溫度高8位 /* 數(shù)據(jù)轉(zhuǎn)換與溫度顯示 */ /*/ Disp_Temperature()display4=temp_data

36、0&0x0f display0=ditabdisplay4+0x30 /查表得小數(shù)位的值 display4=(temp_data0&0xf0)>>4)|(temp_data1&0x0f)<<4) display3=display4/100+0x30display1=display4%100display2=display1/10+0x30display1=display1%10+0x30 if(display3=0x30) /高位為0,不顯示 display3=0x20if(display2=0x30) /次高位為0,不顯示 display2=0

37、x20lcd_pos(0x48)lcd_wdat(display3) /百位數(shù)顯示lcd_pos(0x49)lcd_wdat(display2) /十位數(shù)顯示lcd_pos(0x4a)lcd_wdat(display1) /個(gè)位數(shù)顯示lcd_pos(0x4c)lcd_wdat(display0) /小數(shù)位數(shù)顯示 /*/ /* 報(bào)警器響一聲 */ /*/ void beep() Delay(10) BEEP=!BEEP /BEEP取反 /* DS18B20 OK 顯示菜單 */ /*/ void Ok_Menu ()uchar mlcd_init() /初始化LCD lcd_pos(0) /設(shè)置顯示位置為第一行的第1個(gè)字符 m = 0while(cdis1m != '0') lcd_wdat(cdis1m) lcd_pos(0x40) /設(shè)置顯示位置為第二行第1個(gè)字符 while(cdis2m != '0')lcd_wdat(cdis2m) writetab() /自定義字符寫入CGRAMdelay1(5)lcd_pos(0x4d)lcd_wdat(0x00) /顯示自定義字符 /* DS18B20 ERROR 顯示菜單 */ /*/ void keyscan() if(MUSIC=0) Delay(5);if(MUSIC=0

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論