[碩士論文精品]溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì)論文.pdf_第1頁(yè)
[碩士論文精品]溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì)論文.pdf_第2頁(yè)
[碩士論文精品]溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì)論文.pdf_第3頁(yè)
[碩士論文精品]溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì)論文.pdf_第4頁(yè)
[碩士論文精品]溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì)論文.pdf_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 1 目 錄 目 錄1 摘 要2 1 緒論3 1.1 單片機(jī)控制系統(tǒng)及其優(yōu)勢(shì) 3 1.2 數(shù)字溫度傳感器 ds18b20 的測(cè)溫優(yōu)勢(shì)4 2 基于 ds18b20 溫度計(jì)的系統(tǒng)設(shè)計(jì).5 2.1 系統(tǒng)組成.5 2.1.1 ds18b20 的性能特點(diǎn)6 2.1.2 ds18b20 的內(nèi)部結(jié)構(gòu)7 2.1.3 ds18b20 的測(cè)溫原理8 2.2 獨(dú)立按鍵單元 11 2.3 led 數(shù)碼管顯示單元.12 3 程序設(shè)計(jì)14 3.1 程序流程圖14 3.1.1 主程序.14 3.1.2 讀出溫度子程序. 15 3.1.3 溫度轉(zhuǎn)換命令子程序. 15 3.1.4計(jì)算溫度子程序. 16 3.1.5 顯示數(shù)據(jù)刷新子程序. 16 3.2 ds18b20 的各條 rom 命令16 3.3溫度數(shù)據(jù)的計(jì)算方法 17 結(jié)論18 參考文獻(xiàn)19 附錄:附錄:20 源程序代碼.20 設(shè)計(jì)電路原理圖.25 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 2 摘 要 本文介紹的是基于傳感器 ds18b20 數(shù)字溫度計(jì)的設(shè)計(jì)。系統(tǒng)由測(cè)溫 單元,主控制器,顯示單元構(gòu)成。測(cè)溫元件采用單總線傳感器 ds18b20, 主控器為常用的 at89s51,顯示電路采用共陽(yáng)極數(shù)碼管。51 單片機(jī)的 p0 口控制段碼輸出,p2.7 為數(shù)據(jù)輸入端,p3.0p3.3 口為掃描口。目前大 多數(shù)傳感器系統(tǒng)都采用放大-傳輸-數(shù)模轉(zhuǎn)換這種處理模式。這種模式 一般要占用數(shù)條數(shù)據(jù)/控制線,限制了單片機(jī)功能的擴(kuò)展。而一線總線技 術(shù)則很好地解決了這個(gè)問(wèn)題。ds18b20 是美國(guó) dallas 半導(dǎo)體公司推出的 第一片支持“一線總線“接口的溫度傳感器。它具有微型化、低功耗、高 性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成串行 數(shù)字信號(hào)供微機(jī)處理。ds18b20 集溫度測(cè)量、ad 轉(zhuǎn)換于一體,具有體 積小、動(dòng)態(tài)范圍寬、測(cè)量精度高、單總線結(jié)構(gòu)等特點(diǎn)。經(jīng)試驗(yàn),基于 51 單片機(jī)和 ds18b20 的溫度測(cè)量?jī)x,設(shè)計(jì)簡(jiǎn)單,控制方便,測(cè)量準(zhǔn)確,測(cè) 溫范圍寬,完全可以取代水銀溫度計(jì)和熱敏電阻測(cè)量。 關(guān)鍵詞:傳感器,ds18b20,溫度計(jì) 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 3 1 緒論 1.1 單片機(jī)控制系統(tǒng)及其優(yōu)勢(shì) 單片機(jī),也被稱(chēng)為微控制器(microcontroller),是指一個(gè)集成在一 塊芯片上的完整計(jì)算機(jī)系統(tǒng)。 盡管他的大部分功能集成在一塊小芯片上, 但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:微處理器(cpu) 、存 儲(chǔ)器(ram,rom, ) 、和各種輸入、輸出接口(定時(shí)器/計(jì)數(shù)器,并行 i/o 口,串行口,a/d 轉(zhuǎn)換器以及脈沖調(diào)制器 pwm 等) 。而現(xiàn)在最強(qiáng)大的單片 機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊 芯片上 1。 圖 1.1 單片機(jī)結(jié)構(gòu)框圖 單片機(jī)硬件系統(tǒng)由以下幾部分組成 2: (1)運(yùn)算器:計(jì)算機(jī)的運(yùn)算部件,實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算。 (2)控制器:計(jì)算機(jī)的指揮控制部件,使各部分能自動(dòng)協(xié)調(diào)工作。運(yùn)算 器和控制器是計(jì)算機(jī)的核心部分, 常把它合在一起稱(chēng)為中央處理器, 簡(jiǎn)稱(chēng) cpu。 (3)存儲(chǔ)器:計(jì)算機(jī)的記憶部分。又分為內(nèi)存儲(chǔ)器和外存儲(chǔ)器。 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 4 (4)輸入設(shè)備:用于將程序和數(shù)據(jù)輸入到計(jì)算機(jī)中。 (5)輸出設(shè)備: 把數(shù)據(jù)計(jì)算或加工的結(jié)果,以用戶需要的形式加工或保 存。 單片機(jī)由于體積小、質(zhì)量輕、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微 型化、使用方便、抗干擾能力強(qiáng)和成本低等優(yōu)點(diǎn)比專(zhuān)用處理器最適合應(yīng) 用于嵌入式系統(tǒng),因此現(xiàn)代人類(lèi)生活中所用的幾乎每件電子和機(jī)械產(chǎn)品 中都會(huì)集成有單片機(jī)。它已經(jīng)滲透到我們生活的各個(gè)領(lǐng)域, 單片機(jī)廣泛 應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專(zhuān)用設(shè)備的智能化 管理及過(guò)程控制等領(lǐng)域 3。 1.2 數(shù)字溫度傳感器 ds18b20 的測(cè)溫優(yōu)勢(shì) ds18b20 是 dallas 公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有 3 引 腳 to92 小體積封裝形式;溫度測(cè)量范圍為55125,可編程 為 912 位 a/d 轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá) 0.0625,被測(cè)溫度用符 號(hào)擴(kuò)展的 16 位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也 可采用寄生電源方式產(chǎn)生;多個(gè) ds18b20 可以并聯(lián)到 3 根或 2 根線上, cpu 只需一根端口線就能與諸多 ds18b20 通信,占用微處理器的端口較 少,可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使 ds18b20 非常適用于遠(yuǎn) 距離多點(diǎn)溫度檢測(cè)系統(tǒng)。 ds18b20 可以直接讀出被測(cè)溫度值,而且采用三線制與單片機(jī)相連, 減少了外部的硬件電路,具有低成本和易使用的優(yōu)點(diǎn)。 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 5 2 基于 ds18b20 溫度計(jì)的系統(tǒng)設(shè)計(jì) 2.1 系統(tǒng)組成 按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由三個(gè)模塊組成:微控單元、 獨(dú)立按鍵、測(cè)溫電路、顯示電路和報(bào)警系統(tǒng) 4。數(shù)字溫度計(jì)總體電路結(jié) 構(gòu)框圖如圖 2.1 所示 圖 2.1 溫度計(jì)電路設(shè)計(jì)原理圖如圖 2.1 所示,控制器使用單片機(jī) at89s52, 溫度傳感器采用 ds18b20,用四位共陽(yáng)極 led 數(shù)碼管以動(dòng)態(tài)掃描法實(shí)現(xiàn) 溫度顯示,其中獨(dú)立式按鍵實(shí)現(xiàn)對(duì)溫度報(bào)警的上下限進(jìn)行設(shè)置,當(dāng)溫度 超過(guò)上設(shè)置的上下限是蜂鳴器將發(fā)聲報(bào)警。 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 6 2.1.1 ds18b20 的性能特點(diǎn) ds18b20 溫度傳感器是美國(guó) dallas 半導(dǎo)體公司最新推出的一種改進(jìn) 型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出 被測(cè)溫度值。此數(shù)字化溫度傳感器 ds1820 是世界上第一片支持 “一線 總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕 松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。ds18b20 “一 線總線”數(shù)字化溫度傳感器, 測(cè)量溫度范圍為-55c+125c范圍內(nèi),。 現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干 擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控 制、 測(cè)溫類(lèi)消費(fèi)電子產(chǎn)品等。 與前一代產(chǎn)品不同, 新的產(chǎn)品支持 3v5.5v 的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積 更小。 ds18b20 的特性 ds18b20 可以程序設(shè)定 912 位的分辨率,精度 為0.5c??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定, 及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在 eeprom 中,掉電后依然保存。ds18b20 的 性能特點(diǎn)如下: 1.獨(dú)特的單線接口只需 1 個(gè)接口引腳即可通信 2.多點(diǎn) multidrop 能力使分布式溫度檢測(cè)應(yīng)用得以簡(jiǎn)化 3.不需要外部元件 4.可用數(shù)據(jù)線供電 5.不需備份電源 6.測(cè)量范圍從-55 至+125 增量值為 0.5 等效的華氏溫度范圍是 -67 f 至 257 f 增量值為 0.9 f 7.以 9 位數(shù)字值方式讀出溫度 8.在 1 秒典型值內(nèi)把溫度變換為數(shù)字 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 7 9.用戶可定義的非易失性的溫度告警設(shè)置 10.告警搜索命令識(shí)別和尋址溫度在編定的極限之外的器件溫度告 警情況 11.應(yīng)用范圍包括恒溫控制工業(yè)系統(tǒng)消費(fèi)類(lèi)產(chǎn)品溫度計(jì)或任何熱敏 系統(tǒng) 2.1.2 ds18b20 的內(nèi)部結(jié)構(gòu) ds18b20 內(nèi)部結(jié)構(gòu)如圖 1 所示,主要由 4 部分組成:64 位 rom、溫 度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器 th 和 tl、配置寄存器。ds18b20 的 管腳排列如圖 2 所示,dq 為數(shù)字信號(hào)輸入輸出端;gnd 為電源地;vdd 為外接供電電源輸入端(在寄生電源接線方式時(shí)接地) 。 目前大多數(shù)傳感器系統(tǒng)都采用放大-傳輸-數(shù)模轉(zhuǎn)換這種處理模 式。這種模式一般要占用數(shù)條數(shù)據(jù)/控制線,限制了單片機(jī)功能的擴(kuò)展。 而一線總線技術(shù)則很好地解決了這個(gè)問(wèn)題。一線總線技術(shù)就是在一條總 線上僅有一個(gè)主系統(tǒng)和若干個(gè)從系統(tǒng)組成的計(jì)算機(jī)應(yīng)用系統(tǒng)。由于總線 上的所有器件都通過(guò)一條信號(hào)線傳輸信息,總線上的每個(gè)器件在不同的 時(shí)間段驅(qū)動(dòng)總線,這相當(dāng)于把數(shù)據(jù)總線、地址總線和控制總線合在了一 起。所以整個(gè)系統(tǒng)要按單總線協(xié)議規(guī)定的時(shí)序進(jìn)行工作。為了使其它設(shè) 備也能使用這條總線,一線總線協(xié)議采用了一個(gè)三態(tài)門(mén),使得每一個(gè)設(shè) 備在不傳送數(shù)據(jù)時(shí)空出該數(shù)據(jù)線給其它設(shè)備。一線總線在外部需要一個(gè) 上拉電阻器,所以在總線空閑時(shí)是高電平。掛在單總線上的器件稱(chēng)為單 總線器件,為了區(qū)分總線上的不同器件,生產(chǎn)單總線器件時(shí),廠家都刻 錄了一個(gè) 64 位的二進(jìn)制 rom 代碼作為芯片的唯一序列號(hào)。 這樣通過(guò)尋址 就可以把每個(gè)器件識(shí)別出來(lái)。64 位 rom 的結(jié)構(gòu)如下圖 2.2:開(kāi)始 8 位是 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 8 產(chǎn)品類(lèi)型的編號(hào)(ds18b20 為 10h) ,接著是每個(gè)器件的唯一的序號(hào),共 有 48 位,最后 8 位是前 56 位的 crc 校驗(yàn)碼,這也是多個(gè) ds18b20 可以 采用一線進(jìn)行通信的原因。 圖 2.2 ds18b20 的內(nèi)部結(jié)構(gòu) 圖 2.3 ds18b20 的管腳排列 2.1.3 ds18b20 的測(cè)溫原理 sds1820 通過(guò)使用在板 on-board 溫度測(cè)量專(zhuān)利技術(shù)來(lái)測(cè)量溫度溫 度測(cè)量電路的方框圖見(jiàn)。 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 9 圖 2.4 使用vdd 提供溫度變換所需電流 圖 2.5 溫度測(cè)量電路 ds1820 通過(guò)門(mén)開(kāi)通期間內(nèi)低溫度系數(shù)振蕩器經(jīng)歷的時(shí)鐘周期個(gè)數(shù) 計(jì)數(shù)來(lái)測(cè)量溫度而門(mén)開(kāi)通期由高溫度系數(shù)振蕩器決定計(jì)數(shù)器予置對(duì)應(yīng)于 -55 的基數(shù),如果在門(mén)開(kāi)通期結(jié)束前計(jì)數(shù)器達(dá)到零那么溫度寄存器它也 被予置到-55 的數(shù)值將增量指示溫度高于-55.同時(shí)計(jì)數(shù)器用鈄率累加器 電路所決定的值進(jìn)行予置為了對(duì)遵循拋物線規(guī)律的振蕩器溫度特性進(jìn)行 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 10 補(bǔ)償,這種電路是必需的時(shí)鐘再次使計(jì)數(shù)器計(jì)值至它達(dá)到零如果門(mén)開(kāi)通 時(shí)間仍未結(jié)束,那么此過(guò)程再次重復(fù).鈄率累加器用于補(bǔ)償振蕩器溫度特 性的非線性以產(chǎn)生高分辯率的溫度測(cè)量通過(guò)改變溫度每升高一度計(jì)數(shù)器 必須經(jīng)歷的計(jì)數(shù)個(gè)數(shù)來(lái)實(shí)行補(bǔ)償因此為了獲得所需的分辯率計(jì)數(shù)器的數(shù) 值,以及在給定溫度處每一攝氏度的計(jì)數(shù)個(gè)數(shù)鈄率累加器的值二者都必 須知道此計(jì)算在 ds1820 內(nèi)部完成,以提供 0.5 的分辯率,溫度讀數(shù)以 16 位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供。 下表說(shuō)明輸出數(shù)據(jù)對(duì)測(cè)量溫 度的關(guān)系數(shù)據(jù)在單線接口上串行發(fā)送 ds1820 可以以 0.5 的增量值在 0.5 至+125 的范圍內(nèi)測(cè)量溫度對(duì)于應(yīng)用華氏溫度的場(chǎng)合必須使用查找 表或變換系數(shù)。注意在 ds1820 中溫度是以 1/2 lsb 最低有效位形式表 示時(shí)產(chǎn)生以下 9 位格式,msb 最高有效位 最低有效位 lsb1 1 1 0 0 1 1 1 0= -25。 最高有效符號(hào)位被復(fù)制到存儲(chǔ)器內(nèi)兩字節(jié)的溫度寄存器中較高 msb 的所有位這種符號(hào)擴(kuò)展,產(chǎn)生了如表 1 所示的 16 位溫度讀數(shù)。以下的 過(guò)程可以獲得較高的分辯率首先讀溫度并從讀得的值截去 0.5 位(最低 有效位),這個(gè)值便是 temp_read 然后可以讀留在計(jì)數(shù)器內(nèi)的值此值是 門(mén)開(kāi)通期停止之后計(jì)數(shù),剩余 count_remain 所需的最后一個(gè)數(shù)值是在 該溫度處每一攝氏度的計(jì)數(shù)個(gè)數(shù) count_per_c。 溫度二進(jìn)制表示十六進(jìn)制 +1250000 0000 1111 10100fah +2500000000 001100100032h +1/200000000 000000010001h 000000000 000000010000h 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 11 -1/211111111 11111111ffffh -2511111111 11001110ffceh -5511111111 10010010ff92h 表 1 溫度數(shù)據(jù)關(guān)系 2.2 獨(dú)立按鍵單元 為了實(shí)現(xiàn)對(duì)報(bào)警溫度上限和下限值的隨時(shí)設(shè)置,在電路設(shè)計(jì)中 添加了獨(dú)立按鍵單元,一共有 s1s4 四個(gè)獨(dú)立式按鍵,用 p1.1p1.3 對(duì)四個(gè)按鍵進(jìn)行掃描,當(dāng)某個(gè)按鍵被按下時(shí)對(duì)應(yīng)的 i/o 口出現(xiàn)一個(gè)低電 平,當(dāng)微控制器 at89s52 檢測(cè)到對(duì)應(yīng)按鍵的低電平時(shí),則微控制器轉(zhuǎn)向 次按鍵的服務(wù)程序。s1 按鍵為模式按鈕,一共有三個(gè)模式:正常顯示溫 度模式、設(shè)置報(bào)警溫度的上限值模式和設(shè)置報(bào)警溫度的下限值模式。當(dāng) s1 鍵被按下 1 次時(shí)進(jìn)入設(shè)置報(bào)警溫度的上限值模式,此時(shí)數(shù)碼管顯示此 前設(shè)置報(bào)警溫度的上限值并閃爍,當(dāng) s2 按鍵被按下時(shí),則報(bào)警溫度的上 限值加 1c,當(dāng) s3 按鍵被按下時(shí),則報(bào)警溫度的上限值減 1c。當(dāng) s1 鍵被按下第 2 次時(shí)進(jìn)入設(shè)置報(bào)警溫度的下限值模式,此時(shí)數(shù)碼管顯示此 前設(shè)置報(bào)警溫度的下限值并閃爍,當(dāng) s2 按鍵被按下時(shí),則報(bào)警溫度的下 限值加 1c,當(dāng) s3 按鍵被按下時(shí),則報(bào)警溫度的下限值減 1c。當(dāng) s1 按鍵被按下第 3 次時(shí)進(jìn)入正常顯示當(dāng)前溫度的模式,此時(shí)數(shù)碼管顯示當(dāng) 前的溫度值。 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 12 2.3 led 數(shù)碼管顯示單元 顯示電路采用 4 位共陽(yáng)極 led 數(shù)碼管,從 p0 口輸出段碼,位碼掃描 用 p3.0p3.3 口來(lái)實(shí)現(xiàn)。如圖: 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 13 圖 2.5 數(shù)碼管顯示電路 led 即 light emitting diode,發(fā)光二極管的英文縮寫(xiě)。它是一種 通過(guò)控制半導(dǎo)體發(fā)光二極管的顯示方式,用來(lái)顯示文字、圖形、圖像、 動(dòng)畫(huà)、行情、視頻、錄像信號(hào)等各種信息的顯示屏。 led 的發(fā)光顏色和發(fā)光效率和制作 led 的材料和工藝有關(guān), 目前廣泛 使用的有紅、綠、藍(lán)三種。由于 led 工作電壓低(僅 1.5-3v) ,能主動(dòng) 發(fā)光且具有一定亮度,亮度又能用電壓或電流調(diào)節(jié),本身又耐沖擊、抗 震動(dòng)、壽命長(zhǎng)(10 萬(wàn)小時(shí)) ,所以大型顯示設(shè)備中,目前尚無(wú)其它的顯 示方式與 led 顯示方式匹敵。把紅色和綠色的 led 放在一起作為一個(gè)像 素制作的顯示屏稱(chēng)為雙基色屏或偽彩色屏;把紅、綠、藍(lán)三種 led 放在 一起作為一個(gè)像素的顯示屏叫作三基色屏或全彩屏。制作室內(nèi) led 屏的 像素尺寸一般是 2-10mm,常常采用把幾種能產(chǎn)生不同基色的 led 管芯封 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 14 裝成一體,室外 led 屏的像素尺寸多為 12-26mm,每個(gè)像素有若干個(gè)各 種單色 led 組成,常見(jiàn)的成品稱(chēng)像素筒或像素塊。led 顯示屏如果想要 顯示圖像,則需要構(gòu)成像素的每個(gè) led 的發(fā)光亮度都必須能調(diào)節(jié),其調(diào) 節(jié)的精細(xì)程度就是顯示屏的灰度等級(jí)?;叶鹊燃?jí)越高,顯示的圖像就越 細(xì)膩,色彩也越豐富,相應(yīng)的顯示控制系統(tǒng)也越復(fù)雜。在當(dāng)前技術(shù)水平 下,256 級(jí)灰度的圖像,顏色過(guò)渡已十分柔和,圖像還原效果比較令人 滿意。led 電子顯示屏是由幾萬(wàn)至幾十萬(wàn)個(gè)半導(dǎo)體發(fā)光二極管像素點(diǎn)均 勻排列組成。利用不同的材料可以制作不同色彩的 led 像素點(diǎn)。目前用 最廣的是紅色、綠色、黃色。而藍(lán)色和純綠色 led 的開(kāi)發(fā)已經(jīng)達(dá)到了實(shí) 用階段。 3 程序設(shè)計(jì) 3.1 程序流程圖 3.1.1 主程序 主程序主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示,讀出并處理 ds18b20 的測(cè) 量溫度值,溫度測(cè)量每一秒進(jìn)行一次。流程圖如下: 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 15 初始化 調(diào)用顯示子函數(shù) 1秒 初次上 讀出溫度值,溫度計(jì)算處理,顯示數(shù)據(jù) 發(fā)溫度轉(zhuǎn)換開(kāi)始命令 n y n y 圖 2.9 3.1.2 讀出溫度子程序 讀出溫度子程序的主要功能是讀出 ram 中的 9 字節(jié)。在讀出時(shí)須進(jìn) 行 crc 校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。 3.1.3 溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令。 當(dāng)采用 12 位分辨 率時(shí),轉(zhuǎn)換時(shí)間約為 750ms.在本程序設(shè)計(jì)中,采用 1s 顯示程序延時(shí)法 等待轉(zhuǎn)換的完成。 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 16 3.1.4計(jì)算溫度子程序 計(jì)算溫度子程序?qū)?ram 中讀取值進(jìn)行 bcd 碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫 度值正負(fù)的判斷。 3.1.5 顯示數(shù)據(jù)刷新子程序 顯示刷新子程序主要是對(duì)顯示緩沖中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng) 最高數(shù)據(jù)顯示為 0 時(shí),將符號(hào)顯示位移入下一位。 3.2 ds18b20 的各條 rom 命令 read rom(讀rom) 33h 此命令允許總線主機(jī)讀ds1820 的8 位產(chǎn)品系列編碼唯一的48 位序 列號(hào)以及8 位的crc,此命令只能在總線上僅有一個(gè)ds1820 的情況下可 以使用如果總線上存在多于一個(gè)的從屬器件。那么當(dāng)所有從片企圖同時(shí) 發(fā)送時(shí)將發(fā)生數(shù)據(jù)沖突的現(xiàn)象漏極開(kāi)路會(huì)產(chǎn)生線與的結(jié)果。 match rom( 符合 rom) 55h 符合rom 命令后繼以64 位的rom 數(shù)據(jù)序列允許總線主機(jī)對(duì)多點(diǎn)總 線上特定的ds1820,尋址只有與64 位rom 序列嚴(yán)格相符的ds1820 才能 對(duì)后繼的存貯器操作命令作出響應(yīng)所有與64位rom 序列不符的從片將等 待復(fù)位脈沖此命令在總線上有單個(gè)或多個(gè)器件的情況下均可使用。 skip rom( 跳過(guò)rom ) cch 在單點(diǎn)總線系統(tǒng)中此命令通過(guò)允許總線主機(jī)不提供64 位rom 編碼 而訪問(wèn)存儲(chǔ)器操作來(lái)節(jié)省時(shí)間如果在總線上存在多于一個(gè)的從屬器件而 且在skip rom 命令之后發(fā)出讀命令那么由于多個(gè)從片同時(shí)發(fā)送數(shù)據(jù)會(huì) 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 17 在總線上發(fā)生數(shù)據(jù)沖突漏極開(kāi)路下拉會(huì)產(chǎn)生線與的效果。 search rom( 搜索rom) f0h 當(dāng)系統(tǒng)開(kāi)始工作時(shí)總線主機(jī)可能不知道單線總線上的器件個(gè)數(shù)或者 不知道其64 位rom 編碼搜索rom 命令允許總線主機(jī)使用一種消去 elimination 處理來(lái)識(shí)別總線上所有從片的64 位rom。 編碼alarm search(告警搜索) ech 此命令的流程與搜索rom 命令相同但是僅在最近一次溫度測(cè)量出現(xiàn) 告警的情況下ds1820,才對(duì)此命令作出響應(yīng)告警的條件定義為溫度高于 th或低于tl只要ds1820一上電告警條件就保持在設(shè)置狀態(tài)直到另一次溫 度測(cè)量顯示出非告警值或者改變th的設(shè)置使得測(cè)量值再一次位于允許的 范圍之內(nèi)貯存在eeprom內(nèi)的觸發(fā)器值用于告警。 3.3溫度數(shù)據(jù)的計(jì)算方法 從 ds18b20 讀取出的二進(jìn)制必學(xué)先轉(zhuǎn)換成十進(jìn)制,才能用于字符的 顯示。ds18b20 的轉(zhuǎn)換精度為 912 位,為了提高精度采用 12 位。在采 用 12 位轉(zhuǎn)換精度時(shí),溫度寄存器里的值是以 0.0625 為步進(jìn)的,既溫度 值問(wèn)溫度寄存器里的二進(jìn)制乘以 0.0625,就是實(shí)際的十進(jìn)制溫度值。 通過(guò)觀察可以發(fā)現(xiàn),一個(gè)十進(jìn)制值與二進(jìn)制值之間有明顯的關(guān)系, 就是把二進(jìn)制的高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一個(gè)字,這 個(gè)字節(jié)的二進(jìn)制化成十進(jìn)制后,就是溫度值的百、十、個(gè)位置,而剩下 的低字節(jié)的低半字節(jié)化成十進(jìn)制后,就是溫度值的小數(shù)部分。因?yàn)樾?shù) 部分是半字節(jié),所以二進(jìn)制范圍是 0f,轉(zhuǎn)換成十進(jìn)制小數(shù)值就是 0.0625 的倍數(shù)。這要需要 4 位的數(shù)碼管來(lái)顯示小數(shù)部分。實(shí)際應(yīng)用不必 有這么高的精度,采用 1 位數(shù)碼管來(lái)顯示小數(shù),可以精確到 0.1 度。 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 18 結(jié)論 本設(shè)計(jì)充分利用了 51 單片機(jī)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,單片機(jī)的邏輯功能強(qiáng) 大,通過(guò)編程可容易實(shí)現(xiàn)復(fù)雜的功能等優(yōu)勢(shì),且以單片機(jī)為核心的電路 系統(tǒng)在不改變硬件電路的條件下, 通過(guò)修改程序可實(shí)現(xiàn)電路功能的改變, 純數(shù)字電路系統(tǒng)在改變電路功能時(shí),必須對(duì)硬件電路作出修改。因此單 片機(jī)系統(tǒng)的通用性和可維護(hù)性都更強(qiáng)。 其次是利用 ds18b20 可以直接讀出被測(cè)溫度值,而且采用三線制與 單片機(jī)相連,減少了外部的硬件電路,使得本次設(shè)計(jì)容易直接測(cè)得溫度 值。由 ds18b20 組建的溫度測(cè)量單元體積小,便于攜帶、安裝。同時(shí), ds18b20 的輸出為數(shù)字量, 可以直接與單片機(jī)連接, 無(wú)需后級(jí) ad 轉(zhuǎn)換, 控制簡(jiǎn)單。由于 ds18b20 具有單總線特性,便于擴(kuò)展,可在一根總線上 掛接多個(gè) ds18b20 來(lái)組建溫度測(cè)量網(wǎng)絡(luò)。 且 c 語(yǔ)言編程則相對(duì)簡(jiǎn)單,但其執(zhí)行效率、執(zhí)行速度沒(méi)有匯編語(yǔ)言 高。 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 19 參考文獻(xiàn) 1 張毅剛,新編 mcs51 單片機(jī)應(yīng)用設(shè)計(jì)(第二版),哈爾濱工業(yè)大 學(xué)出版社。 2 唐俊翟,單片機(jī)原理與應(yīng)用,冶金工業(yè)出版社。 3 張義和, 例說(shuō) 8051 ,人民郵電出版社。 4 戴佳, 51 單片機(jī) c 語(yǔ)音應(yīng)用程序設(shè)計(jì) ,電子工業(yè)出版社,2007。 5 萬(wàn)光毅, 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程 ,北京航空航天大學(xué)出版社。 6 李群芳, 單片微型計(jì)算機(jī)與接口技術(shù) ,電子工業(yè)出版社。 7 杜樹(shù)奉, 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)例詳解 ,機(jī)械工業(yè)出版社 8 蔣輝平、周?chē)?guó)雄, 單片機(jī)原理與應(yīng)用設(shè)計(jì) ,北京航空航天大學(xué)出 版社 9 劉廣才、門(mén)占樓. 單片機(jī)技術(shù)的應(yīng)用與發(fā)展j. 黑龍江科技信息 2004,(02) 10 唐元華. mp-48/51單片機(jī)開(kāi)發(fā)系統(tǒng)j. 實(shí)驗(yàn)技術(shù)與管理, 1991,(05) 11 何立民,單片機(jī)應(yīng)用技術(shù)選編,北京航空航天大學(xué)出版社,1993 12 王毅,單片機(jī)期間應(yīng)用手冊(cè),人民郵電出版社,1995 13 胡漢才,單片機(jī)原理及其接口技術(shù),清華大學(xué)出版社,1996 14 李廣弟,單片機(jī)基礎(chǔ),北京航空航天大學(xué)出版社,2001 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 20 附錄:附錄: 源程序代碼 /ds18b20 的讀寫(xiě)程序,數(shù)據(jù)腳 p2.7/ /溫度傳感器 18b20 匯編程序,采用器件默認(rèn)的 12 位轉(zhuǎn)化/ /最大轉(zhuǎn)化時(shí)間 750 微秒,顯示溫度-55 到+125 度,顯示精度 / /為 0.1 度,顯示采用 4 位 led 共陽(yáng)顯示測(cè)溫值/ /p0 口為段碼輸入,p34p37 為位選/ /*/ #include “reg51.h“ #include “intrins.h“/_nop_();延時(shí)函數(shù)用 #definedisdata p0/段碼輸出口 #definediscanp3/掃描口 #defineuchar unsigned char #defineuintunsigned int sbitdq=p27;/溫度輸入口 sbitdin=p07;/led 小數(shù)點(diǎn)控 制 uinth; uinttemp; / / /*溫度小數(shù)部分用查表法*/ uchar code ditab16= 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x 08,0x09,0x09; / ucharcode dis_712=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf ; /共陽(yáng) led 段碼表“0“1“2“3“4“5“6“7“ “8“9“ “不亮“ “-“ uchar code scan_con4=0x7f,0xbf,0xdf,0xef;/列掃描控制字 溫度測(cè)量與報(bào)警系統(tǒng)設(shè)計(jì) 21 uchar data temp_data2=0x00,0x00;/讀出溫度暫放 uchar data display5=0x00,0x00,0x00,0x00,0x00;/顯示單元數(shù)據(jù), 共 4 個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用 / / / /*11us 延時(shí)函數(shù)*/ / void delay(uint t) for (;t0;t-); / /*顯示掃描函數(shù)*/ scan() char k; for(k=0;k0;i-) dq=1;_nop_();_nop_();/從高拉倒低 dq=0;_nop_();_nop_();_nop_();_nop_();/5 us dq=val/最低位移出 delay(6);/66 us val=val/2;/右移 1 位 dq=1; de

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論