畢業(yè)設(shè)計(jì)基于at89s5單片機(jī)的暖風(fēng)機(jī)設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)基于at89s5單片機(jī)的暖風(fēng)機(jī)設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)基于at89s5單片機(jī)的暖風(fēng)機(jī)設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)基于at89s5單片機(jī)的暖風(fēng)機(jī)設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)基于at89s5單片機(jī)的暖風(fēng)機(jī)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、湖州職業(yè)技術(shù)學(xué)院 畢畢 業(yè)業(yè) 論論 文文 題題 目目: 基于基于 at89s5 單片機(jī)的暖風(fēng)機(jī)設(shè)計(jì)單片機(jī)的暖風(fēng)機(jī)設(shè)計(jì) 學(xué)學(xué) 生生 黃方亮 專(zhuān)專(zhuān) 業(yè)業(yè) 應(yīng) 用 電 子 技 術(shù) 指導(dǎo)教師指導(dǎo)教師 趙高峰 講師 完成日期完成日期 2010 年 1 月 摘摘 要要 本文設(shè)計(jì)了一種以 at89s52 單片機(jī)為核心的低成本、高精度、微型化 led 顯示溫濕度監(jiān)測(cè)系統(tǒng),并使用一些常用芯片如:ds18b20、ghs-20e 等。系統(tǒng)由 單片機(jī)、溫度檢測(cè)電路、電機(jī)驅(qū)動(dòng)電路、報(bào)警電路以及顯示電路構(gòu)成。由芯片 at89s52 控制溫濕度傳感器檢測(cè)到的溫濕度值進(jìn)行存儲(chǔ)轉(zhuǎn)換,從而在顯示電路中 數(shù)碼管中顯示出來(lái)。本系統(tǒng)具

2、有易安裝檢測(cè)、軟件功能完善,工作可靠、準(zhǔn)確度 高等優(yōu)點(diǎn)。 本文論述了單片機(jī)技術(shù)研制成功的暖風(fēng)機(jī)的監(jiān)測(cè)系統(tǒng)的基本原理,溫濕度傳 感器信號(hào)采集通過(guò)單片機(jī)來(lái)實(shí)現(xiàn)方案。采用軟件校正,提高了測(cè)量精度和整機(jī)的 可靠性。實(shí)際使用表明,極大的提高了安全性、可靠性和準(zhǔn)確度。 關(guān)鍵詞:暖風(fēng)機(jī),溫濕度傳感器,單片機(jī) at89s52 目 錄 摘要 .i 目 錄 .ii 第 1 章 概述 .20 1.1 選題背景 .20 1.2 設(shè)計(jì)過(guò)程及工藝要求 .20 1.3 設(shè)計(jì)的重點(diǎn)與難點(diǎn) .20 第 2 章 方案論證與比較 .21 2.1 溫度傳感器的選擇 .21 2.2 濕度傳感器的選擇 .21 第 3 章 系統(tǒng)總體設(shè)計(jì)

3、.23 3.1 系統(tǒng)設(shè)計(jì) .23 3.2 芯片 at89s52 介紹 .23 3.3 傳感器的介紹 .26 3.3.1 傳感器的定義及作用.26 3.3.2 傳感器的特性.26 3.3.3 溫度傳感器 ds18b20 .26 3.3.4 濕度傳感器 ghs-20e .31 3.3.5 a/d 轉(zhuǎn)換 tlc549 .31 3.4 溫濕度采集電路設(shè)計(jì) .33 3.5 顯示電路的設(shè)計(jì) .34 3.6 報(bào)警電路的設(shè)計(jì) .35 3.7 按鍵電路的設(shè)計(jì) .36 第 4 章 系統(tǒng)調(diào)試 .37 4.1 軟硬件的調(diào)試 .37 4.2 系統(tǒng)軟件設(shè)計(jì) .37 總 結(jié) .40 致 謝 .41 參 考 文 獻(xiàn) .42

4、附 錄 .43 第 1 章 概述 1.1 選題背景 帶液晶顯示屏的暖風(fēng)機(jī),越來(lái)越受到用戶(hù)的歡迎,配合液晶屏顯示,可顯 示環(huán)境溫度及設(shè)定狀態(tài),大大方便了產(chǎn)品的使用。目前,各大廠商為了在市場(chǎng) 上占有一席之地,紛紛在遙控型暖風(fēng)機(jī)的性能參數(shù)標(biāo)準(zhǔn),重量,體積,厚度, 色彩,價(jià)格大大下功夫。如:海寶馳的 奔馳暖風(fēng)取暖器nsb-200遙控型暖風(fēng)機(jī), sanyo的三洋暖風(fēng)機(jī)r-p201mr等,樣式新穎,都占有很高的性?xún)r(jià)比。消費(fèi)者可以 量身挑選適合自己的。 1.2 設(shè)計(jì)過(guò)程及工藝要求 一、基本功能 吹出恒定的暖風(fēng) 檢測(cè)溫度 顯示溫度 過(guò)限報(bào)警 二、主要技術(shù)參數(shù) 溫度檢測(cè)范圍 : 0-+50 測(cè) 量 精 度 :

5、0.5 檢 測(cè) 精 度 : 1%rh 顯 示 方 式 : 溫度:二位顯示 濕度:四位顯示 報(bào) 警 方 式 : 三極管驅(qū)動(dòng)的蜂鳴音報(bào)警 1.3 設(shè)計(jì)的重點(diǎn)與難點(diǎn) 本設(shè)計(jì)的任務(wù)是設(shè)計(jì)一個(gè)暖風(fēng)機(jī)系統(tǒng),可以應(yīng)用于溫濕度有一定要求的區(qū) 域。測(cè)量時(shí)能夠清晰穩(wěn)定地顯示出監(jiān)測(cè)結(jié)果。 系統(tǒng)組成的設(shè)計(jì):各部分硬件的選取很有講究,要十分合理。 設(shè)計(jì)的難點(diǎn)是: 1、溫度濕度模塊設(shè)計(jì) 2、電機(jī)驅(qū)動(dòng)模塊 3、顯示電路設(shè)計(jì) 4、流程圖及程序的設(shè)計(jì) 第 2 章 方案論證與比較 當(dāng)將單片機(jī)用作測(cè)控系統(tǒng)時(shí),系統(tǒng)總要有被測(cè)信號(hào)懂得輸入通道,由計(jì)算 機(jī)拾取必要的輸入信息。對(duì)于測(cè)量系統(tǒng)而言,如何準(zhǔn)確獲得被測(cè)信號(hào)是其核心 任務(wù);而對(duì)測(cè)控

6、系統(tǒng)來(lái)講,對(duì)被控對(duì)象狀態(tài)的測(cè)試和對(duì)控制條件的監(jiān)察也是不 可缺少的環(huán)節(jié)。 傳感器是實(shí)現(xiàn)測(cè)量與控制的首要環(huán)節(jié),是測(cè)控系統(tǒng)的關(guān)鍵部件,如果沒(méi)有 傳感器對(duì)原始被測(cè)信號(hào)進(jìn)行準(zhǔn)確可靠的捕捉和轉(zhuǎn)換,一切準(zhǔn)確的測(cè)量和控制都 將無(wú)法實(shí)現(xiàn)。工業(yè)生產(chǎn)過(guò)程的自動(dòng)化測(cè)量和控制,幾乎主要依靠各種傳感器來(lái) 檢測(cè)和控制生產(chǎn)過(guò)程中的各種參量,使設(shè)備和系統(tǒng)正常運(yùn)行在最佳狀態(tài),從而 保證生產(chǎn)的高效率和高質(zhì)量。 2.1 溫度傳感器的選擇 方案一:采用熱電阻溫度傳感器。熱電阻是利用導(dǎo)體的電阻隨溫度變化的 特性制成的測(cè)溫元件。現(xiàn)應(yīng)用較多的有鉑、銅、鎳等熱電阻。其主要的特點(diǎn)為 精度高、測(cè)量范圍大、便于遠(yuǎn)距離測(cè)量。 鉑的物理、化學(xué)性能極穩(wěn)定

7、,耐氧化能力強(qiáng),易提純,復(fù)制性好,工業(yè)性 好,電阻率較高,因此,鉑電阻用于工業(yè)檢測(cè)中高精密測(cè)溫和溫度標(biāo)準(zhǔn)。缺點(diǎn) 是價(jià)格貴,溫度系數(shù)小,受到磁場(chǎng)影響大,在還原介質(zhì)中易被玷污變脆。按 iec 標(biāo)準(zhǔn)測(cè)溫范圍-200650,百度電阻比 w(100)=1.3850 時(shí),r0 為 100 和 10,其允許的測(cè)量誤差 a 級(jí)為(0.15+0.002 |t|) ,b 級(jí)為 (0.3+0.005 |t|) 。銅電阻的溫度系數(shù)比鉑電阻大,價(jià)格低,也易于提純和加 工;但其電阻率小,在腐蝕性介質(zhì)中使用穩(wěn)定性差。在工業(yè)中用于-50180 測(cè)溫。 方案二:采用 ds18s20,獨(dú)特的單線接口,多點(diǎn)能力使分布式溫度檢測(cè)應(yīng)

8、用簡(jiǎn)單,不需要外部元件和備份電源,可用數(shù)據(jù)線供電,測(cè)量范圍從- 55+125,增量值為 0.5,并且以 9 位數(shù)值方式讀出溫度且可在 1 秒內(nèi)把 溫度變成數(shù)字。綜合比較方案一與方案二,方案二更為適合于本設(shè)計(jì)系統(tǒng)對(duì)于 溫度傳感器的選擇。 2.2 電機(jī)選擇與論證 方案一:采用步進(jìn)電機(jī),步進(jìn)電機(jī)的一個(gè)顯著特點(diǎn)就是具有快速啟停能力, 如果負(fù)荷不超過(guò)步進(jìn)電機(jī)所能提供的動(dòng)態(tài)轉(zhuǎn)矩值,就能夠立即使步進(jìn)電機(jī)啟動(dòng) 或反轉(zhuǎn)。另一個(gè)顯著特點(diǎn)是轉(zhuǎn)換精度高,正轉(zhuǎn)反轉(zhuǎn)控制靈活。但是步進(jìn)電機(jī)價(jià) 格昂貴。 方案二: 采用直流伺服電機(jī),直流伺服電機(jī)具有優(yōu)良的速度控制性能,它 輸出較大的轉(zhuǎn)矩,直接拖動(dòng)負(fù)載運(yùn)行,同時(shí)它又受控制信號(hào)的

9、直接控制進(jìn)行轉(zhuǎn) 速調(diào)節(jié),在很多方面具有優(yōu)越性,但是直流伺服電機(jī)價(jià)格昂貴,且不易購(gòu)買(mǎi)。 方案三: 采用普通的直流電機(jī),直流電動(dòng)機(jī)具有優(yōu)良的調(diào)速特性,調(diào)速平滑、 方便,調(diào)整范圍廣;過(guò)載能力強(qiáng),能承受頻繁的沖擊負(fù)載,可實(shí)現(xiàn)頻繁的無(wú)級(jí) 快速啟動(dòng)、制動(dòng)和反轉(zhuǎn);能滿(mǎn)足各種不同的特殊運(yùn)行要求,且價(jià)格實(shí)惠,容易 購(gòu)買(mǎi)。 由于普通的直流電機(jī)價(jià)廉物美,且能完成所需的功能,故我們采用方案三 作為小車(chē)的動(dòng)力源。 2.2 測(cè)速模塊測(cè)速模塊: 方案 1: 采用采用霍爾開(kāi)關(guān)元器件 a44e 檢測(cè)輪子上的小磁鐵從而給單片機(jī)中斷脈沖, 達(dá)到測(cè)量速度的作用?;魻栐哂畜w積小,頻率響應(yīng)寬度大,動(dòng)態(tài)特性好, 對(duì)外圍電路要求簡(jiǎn)單,使

10、用壽命長(zhǎng),價(jià)格低廉等特點(diǎn),電源要求不高,安裝也 較為方便?;魻栭_(kāi)關(guān)只對(duì)一定強(qiáng)度的磁場(chǎng)起作用,抗干擾能力強(qiáng),因此可以在 車(chē)輪上安裝小磁鐵,而將霍爾器件安裝在固定軸上,通過(guò)對(duì)脈沖的計(jì)數(shù)進(jìn)行車(chē) 速測(cè)量。 2.3.2 方案 2: 采用紅外傳感器進(jìn)行測(cè)速。但無(wú)論是反射式紅外傳感器還是對(duì)射式紅外傳 感器,他們對(duì)都對(duì)外圍環(huán)境要求較高,易受外部環(huán)境的影響,穩(wěn)定性不高,且 價(jià)格較為昂貴。 通過(guò)對(duì)方案 1、方案 2 的比較其優(yōu)缺點(diǎn),綜合多方面因素決定選用方案 1, 其原理圖接線如(圖 5)所示: (圖 5) 第 3 章 系統(tǒng)總體設(shè)計(jì) 3.1 系統(tǒng)設(shè)計(jì) 本設(shè)計(jì)是基于單片機(jī)對(duì)數(shù)字信號(hào)的高敏感和可控性、溫濕度傳感器可以

11、產(chǎn) 生模擬信號(hào),和 a/d 模擬數(shù)字轉(zhuǎn)換芯片的性能,我設(shè)計(jì)了以 at89s52 基本系統(tǒng) 為核心的一套檢測(cè)系統(tǒng),其中包括 a/d 轉(zhuǎn)換、單片機(jī)、復(fù)位電路、溫度檢測(cè)、 按鍵及顯示、報(bào)警電路、系統(tǒng)軟件等部分的設(shè)計(jì)。見(jiàn)圖 3.1 所示: 紅外傳感器 tlc549 單片機(jī) at89s52 串行口 led 顯示 ds18b20 溫度傳感器 報(bào)警電路 圖 3.1 系統(tǒng)總體框圖 本設(shè)計(jì)由信號(hào)采集、信號(hào)分析和信號(hào)處理三個(gè)部分組成的。 (一) 信號(hào)采集 由紅外傳感器、ds18b20 及 tlc549 組成; (二) 信號(hào)分析 由 a/d 轉(zhuǎn)換器 tlc549、單片機(jī) 89s52 基本系統(tǒng)組成; (三) 信號(hào)處理

12、 由串行口 led 顯示器和報(bào)警系統(tǒng)等組成。 3.2 芯片 at89s52 介紹 at89s52 是一種低功耗、高性能 cmos 8 位微控制器,具有 8k 在系統(tǒng)可 編程 flash 存儲(chǔ)器。使用 atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工 業(yè) 80c51 產(chǎn)品指令和引腳完全兼容。片上 flash 允許程序存儲(chǔ)器在系統(tǒng)可編程, 亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 cpu 和在系統(tǒng)可編程 flash,使得 at89s52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方 案。 由于此單片機(jī)應(yīng)用在倉(cāng)庫(kù)溫濕度檢測(cè)上,所以本設(shè)計(jì)選用了低功耗、高性 能、低價(jià)格、小管腳(40 腳

13、)的 at89s52 單片機(jī)。如圖 3.2 所示: : 圖 3.2 at89s52 芯片引腳圖 at89s52 具有以下標(biāo)準(zhǔn)功能:8k 字節(jié) flash,256 字節(jié) ram,32 位 i/o 口 線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,at89s52 可降至 0hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工 作,允許 ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下, ram 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬 件復(fù)位為止。

14、引腳功能介紹 1.vcc:電源電壓。 2.gnd:地。 3. p0 口:p0 口是一個(gè) 8 位漏極開(kāi)路的雙向 i/o 口。作為輸出口,每位能驅(qū) 動(dòng) 8 個(gè) ttl 邏輯電平。對(duì) p0 端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部 程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0 口也被作為低 8 位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0 具有內(nèi)部上拉電阻。 在 flash 編程時(shí),p0 口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字 節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 4. p1 口:p1 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p1 輸出緩 沖器能驅(qū)動(dòng) 4 個(gè) ttl 邏輯電平。對(duì) p1 端口寫(xiě)“1”時(shí),

15、內(nèi)部上拉電阻把端口拉 高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部 電阻的原因,將輸出電流(iil) 。 此外,p1.0 和 p1.2 分別作定時(shí)器/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入(p1.0/t2)和時(shí)器/計(jì)數(shù)器 2 的觸發(fā)輸入(p1.1/t2ex) ,具體 如表 3.1 所示: 在 flash 編程和校驗(yàn)時(shí),p1 口接收低 8 位地址字節(jié)。 表 3.1 p1 口的第二功能 引腳號(hào)第二功能 p1.0t2(定時(shí)器/計(jì)數(shù)器 t2 的外部計(jì)數(shù)輸入),時(shí)鐘輸出 p1.1t2ex(定時(shí)器/計(jì)數(shù)器 t2 的捕捉/重載觸發(fā)信號(hào)和方向控制) p1.5mosi(在系統(tǒng)編程用) p1.6mis

16、o(在系統(tǒng)編程用) p1.7sck(在系統(tǒng)編程用) 5.p2 口:p2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩 沖器能驅(qū)動(dòng) 4 個(gè) ttl 邏輯電平。對(duì) p2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉 高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部 電阻的原因,將輸出電流(iil) 。在訪問(wèn)外部程序存儲(chǔ)器或用 16 位地址讀取外 部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行 movx dptr)時(shí),p2 口送出高八位地址。在這種 應(yīng)用中,p2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用 8 位地址(如 movx ri)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),p2 口輸出 p2 鎖存器的內(nèi)容。在

17、flash 編程和校 驗(yàn)時(shí),p2 口也接收高 8 位地址字節(jié)和一些控制信號(hào)。 6. p3 口:p3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p3 輸出緩 沖器能驅(qū)動(dòng) 4 個(gè) ttl 邏輯電平。對(duì) p3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉 高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部 電阻的原因,將輸出電流(iil) 。 p3 口亦作為 at89s52 特殊功能(第二功能) 使用,如表 3.2 所示。 在 flash 編程和校驗(yàn)時(shí),p3 口也接收一些控制信號(hào)。 表 3.2 p3 口的第二功能 端口引腳第二功能 p3.0rxd(串行輸入口 ) p3.1 txd

18、(串行輸出口 ) p3.2into(外中斷 0) p3.3int1(外中斷 1) p3.4to(定時(shí)/計(jì)數(shù)器 0) p3.5t1(定時(shí)/計(jì)數(shù)器 1) p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通 ) p3.7rd(外部數(shù)據(jù)存儲(chǔ)器讀選通 ) 此外,p3 口還接收一些用于 flash 閃存編程和程序校驗(yàn)的控制信號(hào)。 rst復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平 將是單片機(jī)復(fù)位。 ale/prog當(dāng)訪問(wèn)外部程存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允 許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下,ale 仍以時(shí)鐘振蕩頻 率的 1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用

19、于定時(shí)目的。要注 意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè) ale 脈沖。 對(duì) flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(prog) 。如有 必要,可通過(guò)對(duì)特殊功能寄存器(sfr)區(qū)中的 8eh 單元的 d0 位置位,可禁 止 ale 操作。該位置位后,只有一條 movx 和 movc 指令才能將 ale 激活。 此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置 ale 禁止位無(wú)效。 psen程序儲(chǔ)存允許(psen)輸出是外部程序存儲(chǔ)器的讀選通信號(hào), 當(dāng) at89c52 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 psen 有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外

20、部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次 psen 信號(hào)。 ea/vpp外部訪問(wèn)允許,欲使 cpu 僅訪問(wèn)外部程序存儲(chǔ)器(地址為 0000h-ffffh) ,ea 端必須保持低電平(接地) 。需注意的是:如果加密位 lb1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存 ea 端狀態(tài)。如 ea 端為高電平(接 vcc 端) ,cpu 則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。 flash 存儲(chǔ)器編程時(shí),該引腳加上+12v 的編程允許電源 vpp,當(dāng)然這必 須是該器件是使用 12v 編程電壓 vpp。 3.3 傳感器的介紹 3.3.1 傳感器的定義及作用 一、廣義地來(lái)說(shuō),傳感器是一種能把物理量或化學(xué)量轉(zhuǎn)變成便于利用的電 信號(hào)的器件。國(guó)際電工委員會(huì)

21、(iec:international electrotechnical committee)的定 義為:“傳感器是測(cè)量系統(tǒng)中的一種前置部件,它將輸入變量轉(zhuǎn)換成可供測(cè)量的 信號(hào)”。按照 gopel 等的說(shuō)法是:“傳感器是包括承載體和電路連接的敏感元件”, 而“傳感器系統(tǒng)則是組合有某種信息處理(模擬或數(shù)字)能力的傳感器”。傳感器是 傳感器系統(tǒng)的一個(gè)組成部分,它是被測(cè)信號(hào)輸入的第一道關(guān)口。 二、傳感器的作用 1.信息的收集; 2.信息數(shù)據(jù)的交換; 3.控制信息的采集。 3.3.2 傳感器的特性 1、靈敏度高、可靠性強(qiáng)、穩(wěn)定性好; 2、防塵耐濕、耐高低溫、耐沖擊、耐振動(dòng)等嚴(yán)酷環(huán)境條件; 3、收發(fā)兼用,

22、使用方便。 3.3.3 溫度傳感器 ds18b20 數(shù)字溫度傳感器 ds-18b20 是美國(guó) dallas 公司生產(chǎn)的 ds18b20 可組網(wǎng) 數(shù)字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式 多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。 一、主要特性 ds18b20 溫度傳感器是美國(guó) dallas 半導(dǎo)體公司最新推出的一種改進(jìn)型智 能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫。這 一部分主要完成對(duì)溫度信號(hào)的采集和轉(zhuǎn)換工作,由 ds18b20 數(shù)字溫度傳感器及 其與單片機(jī)的接口部分組成。數(shù)字溫度傳感器 ds18b20 把采集到的溫度通過(guò)數(shù) 據(jù)引腳傳到

23、單片機(jī)。 (1) ds18b20 的性能特點(diǎn)如下9: 1) 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信; 2) 多個(gè) ds18b20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能; 3) 無(wú)須外部器件; 4) 可通過(guò)數(shù)據(jù)線供電,電壓范圍為 3.05.5v; 5) 零待機(jī)功耗; 6) 溫度以 3 位數(shù)字顯示; 7) 用戶(hù)可定義報(bào)警設(shè)置; 8) 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件; 9) 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常 工作。 (2) ds18b20 的內(nèi)部結(jié)構(gòu) ds18b20 采用 3 腳 pr35 封裝,ds18b20 的內(nèi)部結(jié)構(gòu),如圖 3.

24、3 所示 引腳說(shuō)明: 地 數(shù)據(jù)線 可選 圖 3.3 ds18b20 封裝 64 位 rom 和單線端口 存儲(chǔ)器和控制邏輯 暫 存 器 溫度傳感器 上限觸發(fā) th 下限觸發(fā) tl8 位 crc 產(chǎn)生 器 電源 控制 dq vdd 圖 3.4 ds18b20 內(nèi)部結(jié)構(gòu) 二 ds18b20 的工作原理 1 ds18b20 的工作時(shí)序 根據(jù) ds18b20 的通訊協(xié)議,主機(jī)控制 ds18b20 完成溫度轉(zhuǎn)換須經(jīng)過(guò)三個(gè) 步驟: 1). 每一次讀寫(xiě)之前都必須要對(duì) ds18b20 進(jìn)行復(fù)位; 2). 復(fù)位成功后發(fā)送一條 rom 指令; 3). 最后發(fā)送 ram 指令,這樣才能對(duì) ds18b20 進(jìn)行預(yù)定的操

25、作。 復(fù)位要求主 cpu 將數(shù)據(jù)線下拉 500 微秒,然后釋放,ds18b20 收到信號(hào)后 等待 1560 微秒左右后發(fā)出 60240 微秒的存在低脈沖,主 cpu 收到此信號(hào) 表示復(fù)位成功。其工作時(shí)序包括初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序,具體工作方法 見(jiàn)圖 3.5,3.6,3.7 所示。 (1) 初始化時(shí)序 響應(yīng)脈 沖60240 等待15-60 主機(jī)最小480 主機(jī)復(fù)位脈沖 最小480us 圖 3.5 初始化時(shí)序 總線上的所有傳輸過(guò)程都是以初始化開(kāi)始的,主機(jī)響應(yīng)應(yīng)答脈沖。應(yīng)答脈 沖使主機(jī)知道,總線上有從機(jī)設(shè)備,且準(zhǔn)備就緒。主機(jī)輸出低電平,保持低電 平時(shí)間至少 480us,以產(chǎn)生復(fù)位脈沖。接著主機(jī)釋

26、放總線,4.7k 上拉電阻將 總線拉高,延時(shí) 1560us,并進(jìn)入接受模式,以產(chǎn)生低電平應(yīng)答脈沖,若為低 電平,再延時(shí) 480us12。 (2) 寫(xiě)時(shí)序 采 樣1545 采 樣1545 11 主機(jī)寫(xiě)1時(shí)序 主機(jī)寫(xiě)0時(shí)序 圖 3.6 寫(xiě)時(shí)序 寫(xiě)時(shí)序包括寫(xiě) 0 時(shí)序和寫(xiě) 1 時(shí)序。所有寫(xiě)時(shí)序至少需要 60us,且在 2 次獨(dú) 立的寫(xiě)時(shí)序之間至少需要 1us 的恢復(fù)時(shí)間,都是以總線拉低開(kāi)始。寫(xiě) 1 時(shí)序, 主機(jī)輸出低電平,延時(shí) 2us,然后釋放總線,延時(shí) 60us。寫(xiě) 0 時(shí)序,主機(jī)輸出 低電平,延時(shí) 60us,然后釋放總線,延時(shí) 2us8。 (3) 讀時(shí)序 主機(jī)采樣 主機(jī)采樣 4545 11 主機(jī)

27、寫(xiě)1時(shí)序 主機(jī)寫(xiě)0時(shí)序 圖 3.7 讀時(shí)序 總線器件僅在主機(jī)發(fā)出讀時(shí)序是,才向主機(jī)傳輸數(shù)據(jù),所以,在主機(jī)發(fā)出 讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時(shí)序至 少需要 60us,且在 2 次獨(dú)立的讀時(shí)序之間至少需要 1us 的恢復(fù)時(shí)間。每個(gè)讀時(shí) 序都由主機(jī)發(fā)起,至少拉低總線 1us。主機(jī)在讀時(shí)序期間必須釋放總線,并且在 時(shí)序起始后的 15us 之內(nèi)采樣總線狀態(tài)。主機(jī)輸出低電平延時(shí) 2us,然后主機(jī)轉(zhuǎn) 入輸入模式延時(shí) 12us,然后讀取總線當(dāng)前電平,然后延時(shí) 50us4。 2 rom 操作命令 當(dāng)主機(jī)收到 dsl8b20 的響應(yīng)信號(hào)后,便可以發(fā)出 rom 操作命令之一,這 些

28、命令如表 3.1.3:rom 操作命令。 三 ds18b20 的測(cè)溫原理 每一片 dsl8b20 在其 rom 中都存有其唯一的 48 位序列號(hào),在出廠前已寫(xiě) 入片內(nèi) rom 中。主機(jī)在進(jìn)入操作程序前必須用讀 rom(33h)命令將該 dsl8b20 的序列號(hào)讀出。程序可以先跳過(guò) rom,啟動(dòng)所有 dsl8b20 進(jìn)行溫度 變換,之后通過(guò)匹配 rom,再逐一地讀回每個(gè) dsl8b20 的溫度數(shù)據(jù)。 ds18b20 的測(cè)溫原理如圖 3.9 所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫 度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器 1,高溫度系數(shù) 晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)

29、作為減法計(jì)數(shù)器 2 的脈沖 輸入,圖中還隱含著計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),ds18b20 就對(duì)低溫度系數(shù)振蕩 器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫 度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55 所對(duì)應(yīng)的基數(shù)分別置入減法計(jì) 數(shù)器 1 和溫度寄存器中,減法計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在-55 所對(duì)應(yīng)的一 個(gè)基數(shù)值。減法計(jì)數(shù)器 1 對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng) 減法計(jì)數(shù)器 1 的預(yù)置值減到 0 時(shí)溫度寄存器的值將加 1,減法計(jì)數(shù)器 1 的預(yù)置 將重新被裝入,減法計(jì)數(shù)器 1 重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行 計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器 2 計(jì)

30、數(shù)到 0 時(shí),停止溫度寄存器值的累加,此 時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖 3.5 中的斜率累加器用于補(bǔ)償和修正 測(cè)溫過(guò)程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未 關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值,這就是 ds18b20 的 測(cè)溫原理。 另外,由于 ds18b20 單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念, 因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì) ds18b20 的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議 為:初始化 ds18b20(發(fā)復(fù)位脈沖)發(fā) rom 功能命令發(fā)存儲(chǔ)器操作命令 處理數(shù)據(jù)。見(jiàn)圖 3.8 所示: 初始化 ds18b20 跳過(guò) rom 匹配 溫度變換延

31、時(shí) 1s 跳過(guò) rom 匹配 讀暫存器轉(zhuǎn)換成顯示碼數(shù)碼管顯示 圖 3.8 ds18b20 測(cè)溫流程 減法計(jì)數(shù)器 斜坡累加器 減到 0 減法計(jì)數(shù)器 預(yù) 置 低溫度系數(shù) 振 蕩 器 高溫度系數(shù) 振 蕩 器 計(jì)數(shù)比較器 預(yù) 置 溫度寄存器 減到 0 圖 3.9 測(cè)溫原理內(nèi)部裝置 3.3.4 tlc549 特性特性 一a/d 轉(zhuǎn)換器的特點(diǎn) tlc549 是美國(guó)德州儀器公司生產(chǎn)的 8 位串行 a/d 轉(zhuǎn)換器芯片.可與通用微 處理器控制器通過(guò) i/o clock cs data out 三條口線進(jìn)行串行接口.具有 4mhz 片內(nèi)系統(tǒng)時(shí)鐘和軟.硬件控制電路.轉(zhuǎn)換時(shí)間最長(zhǎng) 45500 次/s,tlc549 允

32、許 的最高轉(zhuǎn)換速率為. 40000 次/s.tlc549 為 40000 次/s. 總失調(diào)誤差最大為? +- 0.5lsb.典型功耗值為 6mw 采用差分參考電壓高阻輸入.抗干擾.可按比例量程校 準(zhǔn)轉(zhuǎn)換范圍。為了把濕度檢測(cè)電路測(cè)出的模擬信號(hào)轉(zhuǎn)換成數(shù)字量送 cpu 處理, 本系設(shè)計(jì)選用了 a/d 轉(zhuǎn)換器 tlc549,它片型小.采樣速度快.功耗低.價(jià)格便宜. 控制簡(jiǎn)單。 二tlc549 轉(zhuǎn)換器件簡(jiǎn)介 tlc549 的內(nèi)部框圖和引腳名稱(chēng)如圖 3.10 所示: 8 位 模 數(shù) 轉(zhuǎn) 換 器 輸 出 數(shù) 據(jù) 寄 存 器 8-1 數(shù)據(jù) 選擇 器和 驅(qū)動(dòng) 器 控制邏輯和輸出數(shù)據(jù)內(nèi)部系統(tǒng)時(shí)鐘 采 樣 保 持

33、ref+ ref- 3 1 2 analog in cs 5 886 data out 4 7 i/o clock 圖 3.10 tlc549 轉(zhuǎn)換器的內(nèi)部邏輯框圖 tlc549 均有片內(nèi)系統(tǒng)時(shí)鐘.該時(shí)鐘與 i/o clock 是獨(dú)立工作的.無(wú)須特殊的 速度或相位匹配其工作時(shí)序如圖 3.11 所示,當(dāng) cs 為高時(shí).數(shù)據(jù)輸出.(data out). 端處于高阻狀態(tài).此時(shí) i/o clock 不起作用這種 cs 控制作用允許在同時(shí)使用 多片 tlc549 時(shí).共用以減少多路.片 a/d 并用時(shí)的 i/o 控制端口.一組通常的控制 時(shí)序?yàn)? (1) .將 cs 置低內(nèi)部電路在測(cè)得 下降沿后.再等待

34、兩個(gè)內(nèi)部時(shí)鐘上升沿和 一個(gè)下降沿后. 然后確認(rèn)這一變化. 最后自動(dòng)將前一次轉(zhuǎn)換結(jié)果的最高位(d7)位 輸出到 data out 端上. (2)前四個(gè) i/o clock 周期的下降沿依次移出第 2.3.4 和第 5 個(gè)位 (dd6.d5d4.d3)片上采樣保持電路在第 4 個(gè) i/o clock 下降沿開(kāi)始采樣模擬輸 入. (3) 接下來(lái)的 3 個(gè) i/o clock 周期的下降沿將移出第 6、7、8(d2、d1、d0)個(gè)轉(zhuǎn)換位 圖 3.11 工作時(shí)序圖 (4)最后. 片上采樣保持電路在第 8 個(gè) i/o clock 周期的下降沿將移出 第 6、7、8(d2、d1、d0)個(gè)轉(zhuǎn)換位保持功能將持續(xù)

35、 4 個(gè)內(nèi)部時(shí)鐘周期,.然 后開(kāi)始進(jìn)行 32 個(gè)內(nèi)部時(shí)鐘周期的 a/d 轉(zhuǎn)換 第 8 個(gè) i/o clock 后 cs 必須為 高.或 i/o clock 保持低電平.這種狀態(tài)需要維持 36 個(gè)內(nèi)部系統(tǒng)時(shí)鐘周期以等待 保持和轉(zhuǎn)換工作的完成 如果 cs 為低時(shí) i/o clock 上出現(xiàn)一個(gè)有效干擾脈沖. 則微處理器/控制器將與器件的 i/o 時(shí)序失去同步.若 cs 為高時(shí)出現(xiàn)一次有效低 電平. 則將使引腳重新初始化. 從而脫離原轉(zhuǎn)換過(guò)程。 在 36 個(gè)內(nèi)部系統(tǒng)時(shí)鐘周期結(jié)束之前. 實(shí)施步驟(1)(4),可重新啟動(dòng)一次新 的 a/d 轉(zhuǎn)換.與此同時(shí).正在進(jìn)行的轉(zhuǎn)換終止.此時(shí)的輸出是前一次的結(jié)果而不

36、是 正在進(jìn)行的轉(zhuǎn)換結(jié)果。 若要在特定的時(shí)刻采樣模擬信號(hào)應(yīng)使第 8 個(gè) i/o clock 時(shí)鐘的下降沿與該 時(shí)刻對(duì)應(yīng).因?yàn)樾酒m在第 4 個(gè) i/o clock 時(shí)鐘下降沿開(kāi)始采樣.卻在第 8 個(gè) i/o clock 的下降沿開(kāi)始保存。 3.5 顯示電路的設(shè)計(jì) led 數(shù)碼顯示管有兩種,一種是共陽(yáng)極數(shù)碼管,其內(nèi)部是由八個(gè)陽(yáng)極相連 接的發(fā)光二極管組成;另一種是共陰極數(shù)碼管,其內(nèi)部是由四個(gè)陽(yáng)極相連接的 發(fā)光二極管組成。二者原理不同但功能相同。其外形和內(nèi)部結(jié)構(gòu)如下圖 3.13 所 示: 圖 3.13 led 的管腳和電路原理 共陽(yáng)極 led 數(shù)碼顯示管是將二極管的陽(yáng)極連接在一起,形成共陽(yáng)極 led

37、數(shù)碼顯示塊的公共端,該公共端接+5v,在共陽(yáng)極 led 數(shù)碼顯示塊中如某個(gè)發(fā) 光二極管的陰極為低電平時(shí),該發(fā)光二極管被點(diǎn)亮;而共陰極 led 數(shù)碼顯示塊 的發(fā)光二極管陰極連接在一起,形成該模塊的公共端(通常稱(chēng)為位選端) ,因此 稱(chēng)為共陰極 led 數(shù)碼顯示器,8 個(gè)數(shù)碼管的另一端通常稱(chēng)為段選端,當(dāng)顯示器 的公共端接低電平,某個(gè)發(fā)光二極管的陽(yáng)極接高電平時(shí),該發(fā)光二極管被點(diǎn)亮。 用單片機(jī)驅(qū)動(dòng) led 數(shù)碼管分為靜態(tài)顯示和動(dòng)態(tài)顯示。 靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出 后就不再控制 led,直到下次顯示時(shí)再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù) 據(jù)穩(wěn)定,占用的 cpu 時(shí)間

38、少。靜態(tài)顯示中,每一個(gè)顯示器都要占用單獨(dú)的具有 鎖存功能的 i/o 接口,該接口用于筆劃段字型代碼。這樣單片機(jī)只要把顯示的 字形代碼發(fā)送到接口電路,該字段就可以顯示發(fā)送的字形。要顯示新的數(shù)據(jù)時(shí), 單片機(jī)再發(fā)送新的數(shù)據(jù)。 另一種方法是動(dòng)態(tài)掃描顯示。由于單片機(jī)本生具有較強(qiáng)的邏輯控制能力, 所以采用動(dòng)態(tài)掃描軟件譯碼并不復(fù)雜。而且軟件譯碼其譯碼邏輯可隨意編程設(shè) 定,不受硬件譯碼邏輯限制。采用動(dòng)態(tài)掃描軟件譯碼地方式能大大簡(jiǎn)化硬件電 路結(jié)構(gòu),降低系統(tǒng)成本。它用分時(shí)地方法輪流控制各個(gè)顯示器地 com 端,使 各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過(guò)程中,每位顯示器的點(diǎn)亮?xí)r間極為短 暫,但由于人的視覺(jué)暫留現(xiàn)象及發(fā)

39、光二極管的余輝效應(yīng),給人的印象就是一組 穩(wěn)定的顯示數(shù)據(jù)。 靜態(tài)顯示數(shù)據(jù)穩(wěn)定,占用很少的 cpu 時(shí)間,但每個(gè)顯示單元都需要單獨(dú)的 顯 示驅(qū)動(dòng)電路,使用的電路硬件較少;動(dòng)態(tài)顯示需要 cpu 時(shí)刻對(duì)顯示器件進(jìn) 行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的 cpu 時(shí)間多,但使用的硬件少,能節(jié) 省線路板空間。 本設(shè)計(jì)的顯示電路采用共陽(yáng) led 四位數(shù)碼管和二位數(shù)碼管,位碼用 pnp 三極管驅(qū)動(dòng)。如圖 3.14 所示 圖 3.14 溫濕度 顯示電路 3.6 報(bào)警電路的設(shè)計(jì) 報(bào)警器的種類(lèi)很多,比如:揚(yáng)聲器、蜂鳴器等。本設(shè)計(jì)中選用壓電式蜂鳴 器作為報(bào)警器。壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及 共

40、鳴箱、外殼等組成。多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后 (1.515v 直流工作電壓),多諧振蕩器起振,輸出 1.52.5khz 的音頻信號(hào),阻抗 匹配器推動(dòng)壓電蜂鳴片發(fā)聲。壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料 制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹 鋼片粘在一起。9 設(shè)計(jì)要求定時(shí)時(shí)間到時(shí)要有聲音提醒信號(hào)產(chǎn)生,可選擇一只蜂鳴器來(lái)實(shí)現(xiàn) 這一功能。壓電式蜂鳴器工作時(shí)約需 10ma 的驅(qū)動(dòng)電流,并設(shè)計(jì)一個(gè)相應(yīng)的驅(qū) 動(dòng)及控制電路。電路設(shè)計(jì)如圖 3.15 所示,蜂鳴器作為三極管 q1 的集電極負(fù)載, 當(dāng) q1 導(dǎo)通時(shí),蜂鳴器發(fā)出鳴叫聲音,vt1 截止時(shí),蜂鳴

41、器不發(fā)聲。 蜂鳴器電路與單片機(jī)的接口:q1 的基極接到單片機(jī) p1 口的 p1.5 引腳, 13.5 引腳作為輸出口使用。當(dāng) p1.6=1 時(shí),q1 導(dǎo)通時(shí),使蜂鳴器的兩個(gè)引腳間 獲得將近 5v 的直流電壓,蜂鳴器中有電流通過(guò),而產(chǎn)生蜂鳴音。當(dāng) p1.6=0 時(shí), q5 截止,蜂鳴器的兩引腳間的直流電壓接近于 0v,蜂鳴器不發(fā)聲。 圖 3.15 蜂鳴器報(bào)警電路 3.7 按鍵電路的設(shè)計(jì) 本設(shè)計(jì)在按鍵上運(yùn)用了按鍵 1、按鍵 2、按鍵 3 分別用于設(shè)置、設(shè)置+、設(shè) 置,三個(gè)按鍵與單片機(jī) p3 口的 p3.7、p3.6、p3.5 一一連接,如圖 3.16 所示: 圖 3.16 按鍵設(shè)置電路 第 4 章

42、 系統(tǒng)調(diào)試 4.1 軟硬件的調(diào)試 暖風(fēng)機(jī)系統(tǒng)的制作和調(diào)試,利用溫度度傳感器來(lái)采集周?chē)h(huán)境的溫度。根 據(jù)設(shè)定溫度的不同,可適當(dāng)調(diào)整溫度正常范圍的區(qū)間值。當(dāng)達(dá)不到或者超過(guò)范 圍的通過(guò)報(bào)警電路進(jìn)行報(bào)警。當(dāng)再正常范圍內(nèi)時(shí)則顯示出溫度的具體溫度值。 硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。 根據(jù)實(shí)際情況可以修改溫度的 初始范圍,以適應(yīng)不同地方,不同條件下的檢測(cè) 需要。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,溫度檢測(cè)的范圍為 0-+50、溫度誤差 再0.5,系統(tǒng)調(diào)試完后應(yīng)對(duì)測(cè)量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷 優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測(cè)量要求。 4.2 系統(tǒng)軟件設(shè)計(jì) 本設(shè)計(jì)就是以 at

43、89s52 單片機(jī)為核心。它采用模塊化設(shè)計(jì),由主程序、 549 讀取子程序、ds18b20 讀取子程序、鍵處理子程序、顯示子程序等模塊組 成。該系統(tǒng)的主程序處于鍵控循環(huán)工作方式,當(dāng)按下測(cè)量鍵時(shí),主程序開(kāi)始調(diào) 用 549 讀取子程序、ds18b20 讀取子程序、鍵處理子程序,并把測(cè)量結(jié)果用顯 示子程序在數(shù)碼管上顯示出來(lái),從而完成整個(gè)程序過(guò)程。 為了增強(qiáng)系統(tǒng)的可靠性,應(yīng)在軟硬件上采用一些特殊措施。主程序框圖如 下圖 4.1 所示: 549 讀取子程序、ds18b20 讀取子程序作用是通過(guò) p1.0 p1.4 端口將采集 到的信號(hào)發(fā)送給單片機(jī)進(jìn)行處理,在單片機(jī)內(nèi)部處理后,通過(guò)顯示電路顯示出 溫濕度值

44、。 549 讀取子程序、ds18b20 讀取子程序各自完成各自的信號(hào)的采集,另外 549 讀取子程序還需要通過(guò)轉(zhuǎn)換后才能讓單片機(jī)讀取來(lái)完成信號(hào)的采集。 ds18b20 讀取子程序、549 讀取子程序如圖 4.2 和圖 4.3 所示。 開(kāi) 始 單片機(jī)初始化 讀取 tlc549 濕度值 數(shù) 據(jù) 處 理 鍵 處 理 設(shè) 置 讀取 ds18b20 溫度值 數(shù) 據(jù) 處 理 顯 示 結(jié) 束 溫度過(guò)限 蜂鳴器告警 圖 4.1 主程序框圖 開(kāi)始 總 線 復(fù) 位 讀高位地位字節(jié),并合并 數(shù) 據(jù) 處 理 是否滿(mǎn)足設(shè)限溫度? 輸 出 數(shù) 據(jù) 結(jié) 束 產(chǎn)生報(bào)警 y n 圖 4.2 ds18b20 讀取子程序 結(jié) 束

45、tlc549,cs 置低 1.4 微秒后,置 i/o clock 為 高 讀 data out ,置 i/o clock 為高 cs 置高 是第 8 位嗎? 初始化:cs=0;i/o clock=1,移位計(jì)數(shù)器為零 y n 圖 4.3 549 讀取子程序 總 結(jié) 本設(shè)計(jì)系統(tǒng)采用了美國(guó) atmel 公司生產(chǎn)的單片機(jī) at89s52 芯片。以及其 它常用芯片如:溫度傳感器 ds18b20、直流電機(jī)等來(lái)設(shè)計(jì)暖風(fēng)機(jī)電路,實(shí)現(xiàn)了 溫濕度的讀取和顯示。本系統(tǒng)具有易安裝檢測(cè)、軟件功能完善,工作可靠、準(zhǔn) 確度高等優(yōu)點(diǎn)。 這次畢業(yè)設(shè)計(jì)給我的感受很深刻,使我第一次系統(tǒng)全面的回顧了大學(xué)三年 所有的課程:模擬電路、數(shù)

46、字電路、編程等等。從中我還體會(huì)到了所學(xué)理論知 識(shí)的重要性:知識(shí)掌握得越多,設(shè)計(jì)得就更全面、更順利、更好。再有學(xué)會(huì)了 怎樣查閱資料和利用工具書(shū)。由于一個(gè)人不可能什么都學(xué)過(guò),什么都懂,更加 不可能一學(xué)就通,因此,當(dāng)你在設(shè)計(jì)過(guò)程中需要用一些不曾學(xué)過(guò)的東西時(shí),就 要去有針對(duì)性地查找資料。在設(shè)計(jì)過(guò)程中,通過(guò)大量的查閱資料,認(rèn)真研究教 材,對(duì)單片機(jī)有了更為深刻的理解,在設(shè)計(jì)軟件時(shí),須仔細(xì)的分析硬件電路, 畫(huà)出程序流程圖,按著各部分模塊編寫(xiě)程序。畢業(yè)設(shè)計(jì)培養(yǎng)了嚴(yán)肅認(rèn)真和實(shí)事 求是的科學(xué)態(tài)度和吃苦耐勞的精神以及嚴(yán)謹(jǐn)?shù)淖黠L(fēng),提高了交流溝通和團(tuán)體協(xié) 作能力。這些對(duì)我以后的工作都非常有幫助的。 致 謝 此次畢業(yè)設(shè)計(jì)

47、,我遇到很多問(wèn)題,通過(guò)向老師求教、和同學(xué)討論讓我知道 真正完成一項(xiàng)設(shè)計(jì)是不容易的,在鞏固專(zhuān)業(yè)知識(shí)的同時(shí)也讓我學(xué)到了堅(jiān)持和努 力,在這里我要謝謝趙高峰老師的悉心指導(dǎo),幫助解決畢業(yè)設(shè)計(jì)中遇到的許多 問(wèn)題,還不斷向我們傳授分析問(wèn)題和解決問(wèn)題的辦法,并指出了正確的努力方 向,使我在畢業(yè)設(shè)計(jì)過(guò)程中少走很多彎路。從他身上學(xué)到了很多東西,他認(rèn)真 負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我受益非淺。在此表 示深深的敬意與感謝。并對(duì)多年來(lái)教導(dǎo)關(guān)心過(guò)我的老師表示深深的謝意和敬意。 參 考 文 獻(xiàn) 1李光飛(2005)單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo) (第2版)北京航空航天出版 社。 2張志良(2005). 單片機(jī)

48、原理及控制技術(shù)(第2版).機(jī)械工業(yè)出版社。 3劉篤仁、韓保君(2003). 傳感器原理及應(yīng)用技術(shù).機(jī)械工業(yè)出版社。 4劉華東(2006).單片機(jī)原理與應(yīng)用(第2版).電子工業(yè)出版社。 5沙占友(2002).智能化集成溫度傳感器原理與應(yīng)用m機(jī)械工業(yè)出版社。 6賈伯年(2000).傳感器技術(shù)東南大學(xué)出版社。 7周志文(2007).c語(yǔ)言程序設(shè)計(jì)機(jī)械工業(yè)出版社。 8夏路易(2002).電路原理圖與電路板設(shè)計(jì)教程.北京希望電子出版社。 9趙亮、侯國(guó)銳(2003)單片機(jī)c語(yǔ)言編程與實(shí)例.人民郵電出版社。 10 吉雷(2004)protel99從入門(mén)到精通西安電子科技大學(xué)出版社。 三、源程序三、源程序 #

49、defineucharunsigned char #define uintunsigned int #define ulong unsigned long #include /導(dǎo)入頭文件 #include /導(dǎo)入頭文件 #include /導(dǎo)入頭文件 #include /導(dǎo)入頭文件 sbit setdown =p35;/設(shè)置減 sbit setup=p36;/設(shè)置加 sbit set =p37;/設(shè)置 sbit jdq =p13;/繼電器 sbit speak=p15; /報(bào)警 sbit gwei=p24; /千位 sbit swei=p23; /十位 sbit bwei=p22; /十位 s

50、bit qwei=p25; /個(gè)位 sbit wei6=p26; /位 sbit wei5=p27; /位 sbit fanled =p31; / sbit hotled =p36; / sbit humiled =p37; / sbit fanjdq =p14; / sbit hotjdq =p15; / sfr xsout = 0 x80;/p0=0 x80,p1=0 x90,p2=0 xa0,p3=0 xb0.數(shù)據(jù)端口 sbit tmdat = p10;/溫度 uchartmpbuf6;/臨時(shí)保存 百位,十位,個(gè)位,點(diǎn)位,十點(diǎn)位,正負(fù)位,為1為負(fù),為0 為正 /sbit tmdat =

51、p10;/溫度 /uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71,0 x00;/顯示表 /uchar code table=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x 8e;/共陽(yáng)表 uchar code table=0 xa0,0 xbb,0 x62,0 x2a,0 x39,

52、0 x2c,0 x24,0 xba,0 x20,0 x28,0 x30,0 x25,0 xe4,0 x23,0 x64,0 x74;/共陽(yáng)表 bit xsbz,setbz,setupbz,setdownbz; uchar ms,adjs,setmaxt,setmint,setmaxh,setminh,setmode; uint tmp;/溫度 /uint admezhi; /uchartmpbuf5;/臨時(shí)保存 /* 549控制引腳宏定義 */ sbittlc549_sdo =p13;/ 數(shù)據(jù) sbittlc549_cs =p14;/ 片選 sbittlc549_sck =p12;/*549時(shí)

53、鐘*/ uint adzhi; uint adyzhi; uint adzzhi; uint admezhi; uint xianzhi; uint sdzhi; bit clbz; uchar js; /ad相關(guān) /uint tmp;/溫度 uchar setzhi; /設(shè)定值 bit setbz,setkbz,setupbz,setdownbz; /設(shè)置標(biāo)志 void delay(int useconds) /延時(shí) int s; for (s=0; suseconds;s+);/延時(shí) ucharreset_bus(void) /ds18b20總線復(fù)位 ucharpresence; tmda

54、t = 0; /輸出為0 delay(29); /延時(shí) tmdat = 1; /輸出為1 delay(3); /延時(shí) presence = tmdat; delay(25); return(presence); void write_bit(char bitval) /ds18b20寫(xiě)入一位命令 tmdat = 0; if(bitval=1) tmdat =1; delay(5); tmdat = 1; void write_byte(char val) /ds18b20 寫(xiě)入一個(gè)字節(jié)數(shù) uchari; uchartemp; for (i=0; ii; temp write_bit(temp)

55、; delay(5); ucharread_bit(void) /ds18b20讀一位 uchari; tmdat = 0; tmdat = 1; for (i=0; i3; i+); return(tmdat); ucharread_byte(void) /讀一個(gè)字節(jié) uchari; ucharvalue = 0; for (i=0;i8;i+) if(read_bit() value|=0 x01i; delay(6); return(value); void ds18b20_tmp_read(void) /ds18b20讀操作 uint temp; uchartemp_lsb,temp_

56、msb; reset_bus();/ds18b20總線復(fù)位 write_byte(0 xcc); /ds18b20命令 write_byte(0 x44); /ds18b20命令 delay(20); reset_bus(); write_byte(0 xcc); /ds18b20命令 write_byte(0 xbe); /ds18b20命令 temp_lsb = read_byte(); /ds18b20 讀低字節(jié) temp_msb = read_byte(); /ds18b20 讀高字節(jié) temp=temp_msb; temp=temp8; temp=temp|temp_lsb; if(

57、temp8) if(sign=0 xf0) tmp=(tmp)+1; /為負(fù) tmpbuf5=1; /elsesign_port=1; else tmpbuf5=0; tmpl=(uchar)(tmp tmph=(uchar)(tmp4) tmpl=tmpl*6.25; tmpbuf4=tmpl%10; tmpbuf3=tmpl/10; tmpbuf2=tmph%10; tmpbuf1=(tmph%100)/10; tmpbuf0=tmph/100; /if(tmpbuf0=0) / /tmpbuf0=10; /if(tmpbuf1=0) /tmpbuf1=10; / /處理 doing()

58、uchar tzhi; tzhi=tmpbuf1*10+tmpbuf2; if(tzhisetmaxt)|(tzhisetmaxh)|(sdzhisetmaxt) fanjdq=1;hotjdq=0;fanled=0;hotled=1;speak=1; if(tzhisetmint)speak=1; if(sdzhisetminh) humiled=0;speak=1;/加濕 if(setminhsdzhi)humiled=1;/關(guān) if(tzhisetmint) */ / /顯示處理/ xianshi() int abcd=0; if(setmode!=0) goto xsset; abcd

59、=sdzhi; /abcd%=100 ; xsout=tablesdzhi/10; wei6=0; delay(60); wei6=1; xsout=tablesdzhi%10; wei5=0; delay(60); wei5=1; xsout=table0; qwei=0; delay(60); qwei=1; if(tmpbuf5=1) xsout=0 x7f; else xsout=tabletmpbuf1; bwei=0; delay(60); bwei=1; xsout=tabletmpbuf2; xsout swei=0; delay(60); swei=1; xsout=tabl

60、etmpbuf3; gwei=0; delay(60); gwei=1; return; /設(shè)置顯示 xsset: xsout=tablesetmode; qwei=0; delay(60); qwei=1; xsout=xsout=0 x7f;/橫 bwei=0; delay(60); bwei=1; if(setmode=1) abcd=setmaxt; if(setmode=2) abcd=setmint; if(setmode=3) abcd=setmaxh; if(setmode=4) abcd=setminh; xsout=tableabcd/10; swei=0; delay(6

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論