已閱讀5頁(yè),還剩17頁(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)介
無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 1 高精度多路溫度測(cè)量?jī)x 摘要: 本文采用 AT89C51 單片機(jī)和溫度傳感器 DS18B20 從硬件 和軟件兩方面進(jìn)行設(shè)計(jì),具有高精度穩(wěn)定的特點(diǎn)。 關(guān)鍵詞: DS18B20;溫度傳感器;單片機(jī) 1 引言 隨著 “ 信息時(shí)代 ” 的到來(lái),作為獲取信息的手段 傳感器技術(shù)得到了顯著的進(jìn)步,其應(yīng)用領(lǐng)域越來(lái)越廣泛,對(duì)其要求越來(lái)越高,需求越來(lái)越迫切。傳感器技術(shù)已成為衡量一個(gè)國(guó)家科學(xué)技術(shù)發(fā)展水平的重要標(biāo)志之一。因此,了解并掌握傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的。 為了提高對(duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)溫度傳感器的深入研究以及其用法 與用途,基于實(shí)用、廣泛和典型的原則設(shè)計(jì)了本系統(tǒng)。本文利用單片機(jī)結(jié)合傳感器技術(shù)而開發(fā)設(shè)計(jì)了紅外抄表系統(tǒng)。文中把傳感器理論與單片機(jī)實(shí)際應(yīng)用有機(jī)結(jié)合,詳細(xì)地講述了利用溫度傳感器 DS18B20 測(cè)量環(huán)境溫度,以及實(shí)現(xiàn)紅外數(shù)據(jù)傳輸?shù)倪^(guò)程。 2 方案論證 2.1 方案一: 溫度檢測(cè)可以使用低溫?zé)崤蓟蜚K電阻,數(shù)據(jù)采集部分則使用帶有 A/D 通道的單片機(jī)。考慮到一般的 A/D 輸入通道都只能接受大信號(hào),所以還要設(shè)計(jì)相應(yīng)的放大電路。而模擬信號(hào)在長(zhǎng)距離傳輸過(guò)程中,抗電磁干擾是令人傷腦筋的問(wèn)題。此方案的軟件簡(jiǎn)單,但硬件復(fù)雜,且檢測(cè)點(diǎn)數(shù)追加時(shí) ,各敏感元件參數(shù)的不一致性,都將會(huì)導(dǎo)致誤差的產(chǎn)生,難以完全清除,而且成本會(huì)有較大增長(zhǎng)幅度。 2.2 方案二: 使用單片機(jī)和數(shù)字式單總線溫度傳感器構(gòu)成。其具有下列特點(diǎn):具有高的測(cè)量精度和分辨率,測(cè)量范圍大;抗干擾能力強(qiáng),穩(wěn)定性好;信號(hào)易于處理、傳送和自動(dòng)控制;便于動(dòng)態(tài)及多路測(cè)量,讀數(shù)直觀;安裝方便,維護(hù)簡(jiǎn)單,工作可靠性高。單總線溫度傳感器可以采用 DALLAS 公司生產(chǎn)的 DS18B20 系列,這類溫度傳感器直接輸出數(shù)字信號(hào),且多路溫度傳感器可以掛在 1 條總線上,共同占用單片機(jī)的 1 個(gè) I/O 口即可實(shí)現(xiàn)。在提升單片 機(jī) I/O 口驅(qū)動(dòng)能力的前提下,理論上可以任意擴(kuò)充檢測(cè)的溫度點(diǎn)數(shù)。 圖 1 高精度多路溫度測(cè)量系統(tǒng)方案 比較兩個(gè)方案后可以發(fā)現(xiàn),方案二更適合于用作本系統(tǒng)的實(shí)施方案,盡管方案二 也需要 A/D,但考慮到系統(tǒng)擴(kuò)充等因素,單片機(jī)可以選用 AT89C51。 3 各電路設(shè)計(jì)和論證 3.1 傳感器 電路設(shè)計(jì)和論證 3.1.1 如 所選用 電路(器件)結(jié)構(gòu) AT89C51 按鍵復(fù)位 晶振電路 DS18B20 1602LCD 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 2 在傳統(tǒng)的模擬信號(hào)遠(yuǎn)距離溫度測(cè)量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問(wèn)題、多點(diǎn)測(cè)量切換誤差問(wèn)題和放大電路零點(diǎn)漂移誤差問(wèn)題等技術(shù) 問(wèn)題,才能夠達(dá)到較高的測(cè)量精度。另外一般監(jiān)控現(xiàn)場(chǎng)的電磁環(huán)境都非常惡劣,各種干擾信號(hào)較強(qiáng),模擬溫度信號(hào)容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度。因此,在溫度測(cè)量系統(tǒng)中,采用抗干擾能力強(qiáng)的新型數(shù)字溫度傳感器是解決這些問(wèn)題的最有效方案,新型數(shù)字溫度傳感器DS18B20 具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu)點(diǎn),在實(shí)際應(yīng)用中取得了良好的測(cè)溫效果。 圖 2 溫度傳感器 DS18B20 引腳圖 DS18B20 在內(nèi)部以時(shí)鐘周期個(gè)數(shù)計(jì)數(shù)來(lái)測(cè)量溫度,并且提供 0.5 的分辨率。溫度讀數(shù)以 16 位、符號(hào)擴(kuò) 展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供。需要注意的是在 DS18B20 中溫度以 0.5 LSB(最低有效位 )形式表示時(shí),產(chǎn)生以下 9 位格式: DS18B20 支持 “ 一線總線 ” 接口,測(cè)量溫度范圍為 -55 +125 ,在 -50 +110范圍內(nèi) ,精度為 0.5 ?,F(xiàn)場(chǎng)溫度直接以 “ 一線總線 ” 的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境 的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。 DS18B20 內(nèi)部結(jié)構(gòu) ( 1) DS18B20 的內(nèi)部結(jié)構(gòu)如 圖 3。 圖 3 DS18B20 內(nèi)部結(jié)構(gòu)圖 DS18B20 有 4 個(gè)主要的數(shù)據(jù)部件: 64 位激光 ROM。 64 位激光 ROM 從高位到低位依次為 8 位 CRC、 48 位序列號(hào)和 8位家族代碼 (28H)組成。 溫度靈敏元件。 非易失性溫度報(bào)警觸發(fā)器 TH 和 TL。可通過(guò)軟件寫入用戶報(bào)警上下限值。 配置寄存器。配置寄存器為高速暫存存儲(chǔ)器中的第五 個(gè)字節(jié)。 DS18B20 在 0 工作時(shí)無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 3 按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值 。 美國(guó) Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器 DS18B20 是世界上第一片支持 "一線總線 "接口的溫度傳感器 , 在其內(nèi)部使用了在板( ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的DS18B20 體積更小、更經(jīng)濟(jì)、更靈活。使你可以充分發(fā)揮 “一線總線 ”的優(yōu)點(diǎn)。 3.1.2 DS18B20 的主要特性 ( 1)適應(yīng)電壓范圍更寬,電壓范圍: 3.0 5.5V,在寄生電源方式下可由數(shù)據(jù)線供電 ( 2)獨(dú)特的單線接口方式, DS18B20 在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊 ( 3) DS18B20 支持多點(diǎn)組網(wǎng)功能,多個(gè) DS18B20 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫 ( 4) DS18B20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) ( 5)溫范圍 55 125 ,在 -10 +85 時(shí)精度為 0.5 ( 6) 可編程的分辨率為 9 12 位,對(duì)應(yīng)的可分辨溫度分別為 0.5 、 0.25 、 0.125和 0.0625 ,可實(shí)現(xiàn)高精度測(cè)溫 ( 7)在 9 位分辨率時(shí)最多在 93.75ms 內(nèi)把溫度轉(zhuǎn)換為數(shù)字, 12 位分辨率時(shí)最多在750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 ( 8)測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以 "一線總線 "串行傳送給 CPU,同時(shí)可傳送 CRC 校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力 ( 9)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 3.1.3 DS18B20 需要注意的問(wèn)題。 DS18B20 雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接 方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題 : ( 1) 較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于 DS18B20 與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì) DS18B20 進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用 PL/M、 C 等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)DS18B20 操作部分最好采用匯編語(yǔ)言實(shí)現(xiàn) 。 ( 2) 在 DS18B20 的有關(guān)資料中均未提及單總線上所掛 DS18B20 數(shù)量問(wèn)題,容易使人 誤認(rèn)為可以掛任意多個(gè) DS18B20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS18B20 超過(guò) 8 個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。 ( 3) 連接 DS18B20 的總線電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò) 50m時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá) 150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在?DS18B20 進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問(wèn)題。 ( 4) 在 DS18B20 測(cè)溫程序設(shè)計(jì)中,向 DS18B20 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待 DS18B20 的返回信號(hào),一旦某個(gè) DS18B20 接觸不好或斷線,當(dāng)程序讀該 DS18B20時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行 DS18B20 硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 4 測(cè)溫電纜線建議采用屏蔽 4 芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接 VCC和地線,屏蔽層在源端單點(diǎn)接地。 3.1.4 定義的時(shí)序 ( 1) DS18B20 的初始化時(shí)序 圖 4 DS18B20 的初始化時(shí)序圖 ( 2) DS18B20 的讀寫時(shí)序 圖 5 DS18B20 的 讀時(shí)序和寫時(shí)序 3.2 單片機(jī) 3.2.1 選用低功耗單片機(jī) 便攜式智能設(shè)備體積小,重量輕,從電路的角度看,自然要求設(shè)備電路簡(jiǎn)單,功耗低,功能滿足要求。為了實(shí)現(xiàn)智能化,在設(shè)計(jì)電路方案時(shí),一般都會(huì)使用單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。單片機(jī)品種多,功能強(qiáng),可靠性高,可以滿足智能設(shè)備的多種需要。現(xiàn)在單片機(jī)越來(lái)越廣泛地采用 HCMOS 工藝,使功耗更是大幅度下降,應(yīng)用較多的低功耗單片機(jī)有: Intel 公司的 80C31/80C51/87C51、 80C196; ATMEL 公司的 AT89Lv5X 系列 ;Microchip 公司的 PIC 系列等, TI 公司的 MSP430 系列。其中有些單片機(jī)的功耗非常低,例如 ATMEL 公司的 AT89Lv5X 系列單片機(jī)。 ATMEL 公司的 AT89Lv5X 系列單片機(jī)功耗超低,是一種 8 位的 RISC 混合信號(hào)處無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 5 理器,該單片機(jī)中斷源較多,并且可以任意嵌套,使用起來(lái)靈活方便。當(dāng)系統(tǒng)處于省電的備用狀態(tài)時(shí),用中斷請(qǐng)求將它喚醒只需要 6us 的時(shí)間。 AT89Lv5X 系列單片機(jī)采用的是 1.8 3.6V 的電源電壓。 在 1MHz 的時(shí)鐘條件下運(yùn)行時(shí),芯片的耗電電流會(huì)在 200400uA 左右,時(shí)鐘關(guān)斷模式下最低功耗只有 0.1w。由于系統(tǒng)運(yùn)行時(shí)打開的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統(tǒng)中共有一種活動(dòng)模式 (AM)和五種低功耗模式 (LPM0 LPM4)。在等待方式下,耗電為 0.7w,在節(jié)電方式下,最低可達(dá) 0.1w??梢?MSP430 系列單片機(jī)功耗特別小,是低功耗微處理器的典型。 降低功耗的軟件措施 在低功耗單片機(jī)系統(tǒng)設(shè)計(jì)中,可以通過(guò)硬件電路的合理設(shè)計(jì)降低系統(tǒng)的功耗,也可以通過(guò)軟件優(yōu)化設(shè)計(jì)來(lái)降低系統(tǒng)的功 耗。而軟件比硬件應(yīng)用起來(lái)更加靈活,盡量采用軟件代替硬件可以降低系統(tǒng)功耗。 ( 1) 縮短 CPU 運(yùn)行時(shí)間 盡量采用待機(jī)或掉電方式運(yùn)行 由于在單片機(jī)系統(tǒng)中, CPU 的工作時(shí)間對(duì)系統(tǒng)的功耗影響極大,兩者成正比, CPU工作時(shí)間越長(zhǎng),系統(tǒng)功耗越大。所以盡可能地采用待機(jī)和掉電運(yùn)行方式,盡量縮短 CPU的運(yùn)行時(shí)間,是低功耗單片機(jī)系統(tǒng)中軟件設(shè)計(jì)的關(guān)鍵部分。智能便攜式儀表一般用于對(duì)信號(hào)進(jìn)行計(jì)數(shù)或定時(shí)測(cè)量,待機(jī)時(shí)間一般比較長(zhǎng),應(yīng)該使單片機(jī)在不需要工作時(shí),進(jìn)入待機(jī)或掉電狀態(tài),需要工作時(shí)可以通過(guò)中斷方式喚醒。 盡量采用定時(shí)中斷替代軟件延時(shí) 在需要獲得延時(shí)的時(shí)候,因?yàn)?CPU 運(yùn)行時(shí)間與系統(tǒng)功耗成正比,所以盡可能不要使用占用 CPU 運(yùn)行時(shí)間的軟件延時(shí),而應(yīng)該合理使用外部中斷或內(nèi)部定時(shí) /計(jì)數(shù)中斷。 盡量用靜態(tài)顯示代替動(dòng)態(tài)顯示 智能便攜式儀表一般在較長(zhǎng)的時(shí)間內(nèi)顯示同一內(nèi)容,很多 LCD 顯示組件具有數(shù)據(jù)鎖存、譯碼、驅(qū)動(dòng)和顯示功能,只要組件不掉電,則可以保持顯示。利用組件功能,在顯示內(nèi)容刷新后,運(yùn)用 LCD 的靜態(tài)顯示,單片機(jī)進(jìn)入待機(jī)狀態(tài), CPU 運(yùn)行時(shí)間大大減少,降低了系統(tǒng)功耗。 ( 2) 硬件軟化 智能便攜式儀表一般具有數(shù)據(jù)處理和抗干擾環(huán)節(jié)。數(shù)據(jù)處理一般都會(huì)有濾波 器環(huán)節(jié),但是傳統(tǒng)的硬件濾波電路,例如有源濾波電路本身的功耗是很大的,而且即使其不需要工作時(shí)也不容易控制其不耗電。所以如果用軟件濾波,通過(guò)選用合適的濾波算法,在滿足系統(tǒng)需要的同時(shí),可以達(dá)到降低功耗的目的。 ( 3) 軟件優(yōu)化 通過(guò)軟件優(yōu)化可以有效地降低系統(tǒng)的功耗。首選合理選用運(yùn)算速度快的算法,可以簡(jiǎn)化程序,減少 CPU 工作時(shí)間,降低系統(tǒng)功耗。另外在程序中,每一條指令都會(huì)激活微處理器中的某些硬件模塊。所以正確選擇指令可以降低微處理器的功耗。通過(guò) “ 減少跳轉(zhuǎn)的指令重排序 ” 、建立特定處理器架構(gòu)下指令集的功耗信息等方法可以有 效優(yōu)化軟件,降低功率。 3.2.2 選擇低功耗的工作方式 ( 1) 盡量選用高速低頻工作方式低功耗便攜式智能電子系統(tǒng)中幾乎全部采用的是CMOS 器件, CMOS 集成電路靜態(tài)功耗幾乎為零,動(dòng)態(tài)功耗與電路的邏輯狀態(tài)轉(zhuǎn)換時(shí)間成正比,與邏輯狀態(tài)轉(zhuǎn)換頻率成正比。所以在滿足運(yùn)算速度要求的前提下,盡可能的降低時(shí)鐘頻率,以降低功耗。 ( 2) 充分利用 “ 空閑 ” 、 “ 休眠 ” 模式在低功耗智能便攜式系統(tǒng)中,應(yīng)該重視電源管理技術(shù),可以通過(guò)軟件和硬件的合理使用,使系統(tǒng)功能模塊處于空閑或休眠模式,應(yīng)無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 6 該充分利用系統(tǒng)的這兩種工作模式,可以有效降低功耗。 在空閑模式下, CPU 不需要處于活動(dòng)狀態(tài),而外部設(shè)備需要處于活動(dòng)狀態(tài)的一種低功耗模式,例如 LCD 靜態(tài)顯示就屬于這種情況。空閑模式可由復(fù)位或一個(gè)中斷請(qǐng)求來(lái)結(jié)束。 在休眠模式下,微處理器中的大多數(shù)外部設(shè)備和模塊處于掉電狀態(tài),這是一種比空閑模式下功耗更低的工作模式。微處理器一般提供多種不同水平的節(jié)能的時(shí)鐘休眠模式,可以通過(guò)切斷那些不處于使用狀態(tài)的硬件設(shè)備的電力供應(yīng),系統(tǒng)功耗有效降低。 3.3 電源 器件(電路)如何連接 整流電路將交流電壓變成單向脈動(dòng)的直流電壓。濾波電路用來(lái)濾除整流后單向脈動(dòng)電壓中的交流成份,合之成為 平滑的直流電壓。 常用的整流電路有全波整流電路、半波整流電路、橋式整流電路及倍壓整流電路。小功率直流電源因功率比較小,通常采用單相交流供電。由于橋式整流電路克服了半波整流的缺點(diǎn),在橋式整流電路中,由于每?jī)芍欢O管只導(dǎo)通半個(gè)周期,故流過(guò)每個(gè)二極管的平均電流僅為負(fù)載電流的一半,與半波整流電路相比較,其輸出電壓提高,脈動(dòng)成分減少。 整流電路將交流電變?yōu)槊}動(dòng)直流電,但其中含有大量的交流成分(稱為紋波電壓)。為了獲得平滑的直流電壓,應(yīng)在整流電路的后面加接濾波電路,以濾去交流成分。濾波電路常見的有電容濾波電路、電感濾波 電路及 型濾波電路。本設(shè)計(jì)采用電容濾波電路。電容濾波電路主要利用電容兩端電壓不能突變的特性,使負(fù)載電壓波形平滑,故電容應(yīng)與負(fù)載并聯(lián)。橋式整流電路帶電阻負(fù)載時(shí)的輸出直流電壓 U0=0.9V, 接上電容濾波后,空載時(shí)的輸出直流電壓 U0=UC=U2。所以,接上負(fù)載時(shí)的橋式整流電容濾波電路的輸出電壓介于上述兩者之間,其大小與放電時(shí)間常數(shù) RLC 有關(guān), RLC 越大, U0 越大。 電源設(shè)計(jì)是電路設(shè)計(jì)很重要關(guān)節(jié)。它的穩(wěn)定與否涉及到電路是否能穩(wěn)定工作。按要求需要一個(gè) +5V電壓,一個(gè) +12V左右可調(diào)電壓。于是采用可調(diào)壓芯片 LM317, 它是穩(wěn)壓芯片。 LM317是三端穩(wěn)壓集成電路,最大輸出電流為 2.2A,輸出電壓范圍為 1.25V 37V。它具有輸出電壓可變、內(nèi)藏保護(hù)功能、體積小、性價(jià)比高、工作穩(wěn)定可靠等特點(diǎn)。用它制作輸出電壓可變穩(wěn)壓電源,調(diào)節(jié)可變電阻 R2,便可從 LM317輸出端獲得 U0(可變輸出電壓 )。 從電路中可以看出, LM317的輸出電壓 (也就是穩(wěn)壓電源的輸出電壓 )U0為兩個(gè)電壓之和,也就是 R1兩端電壓與 R2兩端電壓之和。而 IR2實(shí)際上是兩路電流之和,一路是經(jīng)R1流向 R2的電流 IRI,其大小為 URI/Rl。因 URI為恒定電壓 1.25V, Rl是一個(gè)固定電阻,小于 240歐姆。所以 IRl是一個(gè)恒定的電流。另一路是 LM317調(diào)整端流出的電流 ID, ID的平均值是 50 A左右,最大值一般不超過(guò) 100 A。而且在 LM317穩(wěn)定工作時(shí), ID的值基本上是一個(gè)恒定的值。調(diào)節(jié) R2阻值即可調(diào)節(jié) LM317輸出電壓 U0。 既然 ID和 IRl對(duì)調(diào)節(jié)輸出電壓 U0都起到了一定作用,并且 IR1是由 R1提供, IRI大小也沒(méi)有任何限制, LM317輸出電壓服從 1.25+IDR2=U0關(guān)系。 可調(diào)穩(wěn)壓電路原理圖如圖 6所示。 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 7 圖 6 穩(wěn)壓電路圖 3.4 顯示 電路設(shè)計(jì)和論證 選用低功耗的液晶顯示器 LCD(LiquidCrystaiDispiay)作為顯示器件,該顯示器的優(yōu)點(diǎn)是工作電壓低、微功耗、使用方便 (體積小、外形薄,平板式顯示 ),是便攜式智能設(shè)備顯示器件的首選。如果設(shè)備只需要顯示數(shù)碼,可以選用數(shù)碼顯示型 ; 如要顯示漢字和復(fù)雜字符,可以選用點(diǎn)陣顯示型。但是液晶顯示器也有缺點(diǎn) : 響應(yīng)時(shí)間和余輝時(shí)間較長(zhǎng),響應(yīng)速度較慢 ; 液晶顯示器在黑暗環(huán)境中不能顯 示,因?yàn)樗旧聿话l(fā)光, 需采用輔助光源 ; 液晶顯示器的工作溫度 范圍比較窄,一般為 -10到 +60。所以如果工作環(huán)境和條件允許,便攜式低功耗系統(tǒng)的可以選用液晶顯示器 LCD 作為顯示器件。 3.5 鍵盤 電路工作原理 鍵盤不僅在目前依然是智能儀器的主要輸入設(shè)備,而且很長(zhǎng)一個(gè)時(shí)期也將在輸設(shè)備中占據(jù)主導(dǎo)地位。在本系統(tǒng)中鍵盤也屬于比較重要的一個(gè)部分。 鍵盤按鍵是由一組按鍵開關(guān)組成。按鍵的閉合表現(xiàn)為其機(jī)械接觸點(diǎn)上的合斷,反應(yīng)在電壓上表現(xiàn)為高電平和低電平的變化。 鍵盤通??梢苑譃榫€性鍵盤和矩陣式鍵盤。線性鍵盤也稱為獨(dú)立式鍵盤,指的是直接用 I/O口線構(gòu)成的單個(gè)按鍵電路。每根 I/O線上按 鍵的工作狀態(tài)不會(huì)影響其它 I/O口線的工作狀態(tài)。它適用于按鍵比較少的場(chǎng)合。矩陣式鍵盤也稱為行列式鍵盤,指的是按鍵設(shè)置在行列式的交點(diǎn)上,行列線分別連接到按鍵開關(guān)的兩端。要組成 M行 N列的鍵盤,需要的 I/O口線的數(shù)目為 M+N,允許的最大的按鍵數(shù)是 M N。矩陣鍵盤油可以分為非編碼鍵盤和編碼鍵盤兩種。非編碼鍵盤主要用軟件的方法來(lái)識(shí)別和譯碼。編碼鍵盤主要由硬件來(lái)實(shí)現(xiàn)鍵的掃描和識(shí)別。 根據(jù)系統(tǒng)的要求,采用矩陣鍵盤中的編碼鍵盤。利用行列掃描法來(lái)確定按下鍵所在的行列位置。所謂行列掃描法是指,把鍵盤按鍵排列成 M 行 N 列的 M N 行列 點(diǎn)陣,把行、列線分別連接到兩個(gè)并行接口雙向傳送的連接線上,點(diǎn)陣上的鍵一旦被按動(dòng),按鍵所在的行列點(diǎn)陣信號(hào)就被認(rèn)為已接通。按鍵所排列成的矩陣,需要用硬件或軟件的方法輪轉(zhuǎn)順序地對(duì)其行、列分別進(jìn)行掃描,以查詢和確認(rèn)是否有鍵按動(dòng)。如有鍵按動(dòng),鍵盤就會(huì)向主機(jī)發(fā)送被按鍵所在的行列點(diǎn)陣的位置編碼,稱為鍵掃描碼。單片機(jī)通過(guò)周期性掃描行、列線,讀回掃描信號(hào)結(jié)果,判斷是否有鍵按下,并計(jì)算按鍵的位置以獲得掃描碼。 按鍵具有“斷開”和“閉合”兩種狀態(tài),通過(guò)接口電路對(duì)應(yīng)于 0 和 1 兩個(gè)邏輯值。V i n2ADJ1+ V ou t3L M 31 7C31 0u FD14 00 1D24 00 1R12 00R25 . 1KGNDC10 . 1u FC21 00 0u FV o utV i n無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 8 與開關(guān)的不同之處在于,按鍵的閉合是暫態(tài)的,當(dāng)操 作者停止按壓時(shí),按鍵即恢復(fù)到斷開狀態(tài),因此按鍵適用于連續(xù)的輸入操作。但按鍵不具備像開關(guān)那樣的輸入狀態(tài)的保持功能,因此按鍵通常與輸出顯示器配合,利用顯示輸出對(duì)按鍵操作給予反饋。另外,開關(guān)是各種狀態(tài)設(shè)置好后再輸入的,而按鍵則是在操作中輸入的,因此, 按鍵 需要解決抖動(dòng)等問(wèn)題。 鍵盤是一組分別代表數(shù)字和有關(guān)命令的按鍵的集合。由于鍵盤是由按鍵構(gòu)成的,所以也存在去抖動(dòng)等按鍵的共性問(wèn)題。 鍵盤與微處理器的接口包括硬件與軟件兩部分。硬件是指鍵盤的組織,即鍵盤結(jié)構(gòu)及其與主機(jī)的連接方式。軟件是指對(duì)按鍵操作的安全性、可靠性、鍵的識(shí) 別與分析等,稱為鍵盤管理程序。 ( 1) 按鍵的去抖動(dòng) 按鍵從最初按下到可靠接觸要經(jīng)過(guò)數(shù)毫秒的抖動(dòng)過(guò)程,按鍵松開時(shí)也存在同樣的問(wèn)題。抖動(dòng)可能導(dǎo)致計(jì)算機(jī)將一次按鍵操作誤判為多次操作。因此按鍵操作必須進(jìn)行去抖動(dòng)處理,去抖動(dòng)通常有硬件和軟件兩種方法。 硬件去抖動(dòng)可以采用 RS 觸發(fā)器或單穩(wěn)態(tài)電路。利用 RS 觸發(fā)器的互鎖功能去抖動(dòng),可以得到理想的按鍵輸出波形 ; 單穩(wěn)電路結(jié)構(gòu)簡(jiǎn)單,去抖動(dòng)效果也好。但無(wú)論是 RS 觸發(fā)器還是單穩(wěn)電路都需要一個(gè)鍵對(duì)應(yīng)一套硬件電路,故一般只用于按鍵數(shù)目較少的場(chǎng)合。 軟件延時(shí)去抖動(dòng)是在 CPU 首次檢測(cè)到按鍵松 下或松開信息時(shí),延時(shí)一段時(shí)間后,再次判斷案件的狀態(tài),讀取這一次的信息作為按鍵的動(dòng)作。軟件去抖動(dòng)不用額外的硬件支持,軟件也不復(fù)雜,因此在智能化儀表中被廣泛使用。 ( 2) 鍵盤掃描的處理 有以下兩項(xiàng)任務(wù) : 識(shí)鍵 : 判斷是否有鍵按下,若有,則進(jìn)行處理 ;若無(wú),則等待或轉(zhuǎn)作別 的工作。 譯鍵 : 識(shí)別出哪些有效的鍵被按下,并求出被按下鍵的特征碼 (值 )或鍵值。 ( 3) 鍵值分析及執(zhí)行 根據(jù)鍵值,找出對(duì)應(yīng)處理程序的入口并執(zhí)行之。 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 9 4. 軟件設(shè)計(jì) 4.1 程序流程 4.1.1 系統(tǒng)主程序流程圖 圖 7 主程序流程圖 1602A 初始化 啟動(dòng) DS18B20 采集溫度 2 個(gè) 采集到的溫度通過(guò)單總線 傳遞給 89C51 89C51 對(duì)采集的 2 點(diǎn)溫度 按照溫度補(bǔ)償算法進(jìn)行處理得到最終溫度 1602A 顯示最終溫度 開始 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 10 4.1.2各子程序流程圖 圖 8 溫度測(cè)量流程圖 初始化 DS18B20 發(fā)跳過(guò) ROM 命令 發(fā)溫度轉(zhuǎn)化命令 等待溫度轉(zhuǎn)換 發(fā)跳過(guò) ROM 命令 發(fā)讀存儲(chǔ)器命令 讀 DS18B20 溫度 結(jié)束 開始 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 11 圖 9 1602 液晶驅(qū)動(dòng)程序流程圖 4.2 程序 4.2.1主程序 #include sbit DQ=P20; sbit DQ1=P21; 1602 初始化 延時(shí) 5ms 顯示清屏 延時(shí) 5ms 顯示光標(biāo)移動(dòng)設(shè)置 延時(shí) 5ms 顯示開及光標(biāo)設(shè)置 顯示位置設(shè)置 延時(shí) 顯示溫度各位數(shù)值 開始 結(jié)束 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 12 sbit RS=P25; sbit RW=P26; sbit LCDEN=P27; #define jump_ROM 0xCC /jump the ROM command #define start 0x44 /start the convert command #define read_EEROM 0xBE /read the EEROM command #define uchar unsigned char #define uint unsigned int uchar TMPH; /store the tempeature uchar TMPL; /LCD1602 function void lcd_delay(uint x) uint a,b; for(a=x;a>0;a-) for(b=10;b>0;b-); /write command to LCD void lcd_write_com(uchar com) P1=com; RS=0; RW=0; LCDEN=0; lcd_delay(20); LCDEN=1; lcd_delay(20); LCDEN=0; /write data to LCD void lcd_write_data(uchar date) P1=date; RW=0; RS=1; LCDEN=0; lcd_delay(10); LCDEN=1; 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 13 lcd_delay(10); LCDEN=0; /lcd init void lcd_init() lcd_write_com(0x38); /8 bit data,double line lcd_delay(20); lcd_write_com(0x0c); /display on lcd_delay(20); lcd_write_com(0x06); lcd_delay(20); lcd_write_com(0x01); lcd_delay(20); /function: delay /input parament N /delay time: (16N+24)uS /fosc=11.0582MHZ void delay(unsigned int N) while(N-); /function: Reset /return parament: receive_ready uchar Reset(void) uchar receive_ready; DQ=0; delay(80); DQ=1; delay(3); receive_ready=DQ; delay(25); return(receive_ready); /*ds18b20 讀一個(gè)字節(jié) */ unsigned char read_byte(void) 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 14 uchar i=0; uchar dat = 0; for (i=8;i>0;i-) DQ = 0; / 給脈沖信號(hào) dat>>=1; DQ = 1; / 給脈沖信號(hào) if(DQ) dat|=0x80; delay(4); return(dat); /*ds18b20 寫一個(gè)字節(jié) */ void write_byte(uchar dat) unsigned char i=0; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat>>=1; /function: Reset1 /return parament: receive_ready uchar Reset1(void) uchar receive_ready; DQ1=0; delay(80); DQ1=1; delay(3); receive_ready=DQ; delay(25); return(receive_ready); 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 15 /*ds18b20 讀一個(gè)字節(jié) */ unsigned char read_byte1(void) uchar i=0; uchar dat = 0; for (i=8;i>0;i-) DQ1 = 0; / 給脈沖信號(hào) dat>>=1; DQ1 = 1; / 給脈沖信號(hào) if(DQ1) dat|=0x80; delay(4); return(dat); /*ds18b20 寫一個(gè)字節(jié) */ void write_byte1(uchar dat) unsigned char i=0; for (i=8; i>0; i-) DQ1 = 0; DQ1 = dat&0x01; delay(5); DQ1 = 1; dat>>=1; /funtion:main void main() uchar temp_value,temp_value1,tmp; lcd_init(); /First line of LCD1602 display "T1: T2: " lcd_write_com(0x81); lcd_write_data(0x54); lcd_write_com(0x82); lcd_write_data(0x31); 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 16 lcd_write_com(0x83); lcd_write_data(0x3a); lcd_write_com(0x88); lcd_write_data(0x54); lcd_write_com(0x89); lcd_write_data(0x32); lcd_write_com(0x8a); lcd_write_data(0x3a); /second line of LCD1602 display:"set: / end of display init while(1) /first DS18B20 Reset(); write_byte(jump_ROM); write_byte(start); Reset(); delay(100); write_byte(jump_ROM); write_byte(read_EEROM); delay(100); TMPL=read_byte(); TMPH=read_byte(); temp_value=TMPH>4; temp_value1=TMPL&0x0f; tmp=(temp_value/0x0a)|0x30; lcd_write_com(0x84); lcd_write_data(tmp); tmp=(temp_value%0x0a)|0x30; lcd_write_com(0x85); lcd_write_data(tmp); lcd_write_com(0x86); lcd_write_data(0xdf); /sencond DS18B20 Reset1(); write_byte1(jump_ROM); write_byte1(start); Reset1(); delay(100); 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 17 write_byte1(jump_ROM); write_byte1(read_EEROM); delay(100); TMPL=read_byte1(); TMPH=read_byte1(); temp_value=TMPH>4; temp_value1=TMPL&0x0f; tmp=(temp_value/0x0a)|0x30; lcd_write_com(0x8b); lcd_write_data(tmp); tmp=(temp_value%0x0a)|0x30; lcd_write_com(0x8c); lcd_write_data(tmp); lcd_write_com(0x8d); lcd_write_data(0xdf); 4.2.2 各子程序 LCD 顯示子程序 /LCD1602 function void lcd_delay(uint x) uint a,b; for(a=x;a>0;a-) for(b=10;b>0;b-); /write command to LCD void lcd_write_com(uchar com) P1=com; RS=0; RW=0; LCDEN=0; lcd_delay(20); LCDEN=1; lcd_delay(20); 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 18 LCDEN=0; /write data to LCD void lcd_write_data(uchar date) P1=date; RW=0; RS=1; LCDEN=0; lcd_delay(10); LCDEN=1; lcd_delay(10); LCDEN=0; /lcd init void lcd_init() lcd_write_com(0x38); /8 bit data,double line lcd_delay(20); lcd_write_com(0x0c); /display on lcd_delay(20); lcd_write_com(0x06); lcd_delay(20); lcd_write_com(0x01); lcd_delay(20); /function: delay /input parament N /delay time: (16N+24)uS /fosc=11.0582MHZ 5軟硬件系統(tǒng)的調(diào)試 5.1 溫度補(bǔ)償 對(duì)于溫度這種常用的測(cè)試物理量,在測(cè)試的過(guò)程中會(huì)有非線性的缺點(diǎn)發(fā)生。所以我們應(yīng)該對(duì)溫度進(jìn)行非線性的補(bǔ)償。所以我們?cè)谑褂?DS18B20 進(jìn)行溫度測(cè)量的時(shí)候,要進(jìn)行如下操作: 用一個(gè)高溫度系數(shù)的振蕩器 確定一個(gè)門周期,內(nèi)部計(jì)數(shù)器在這個(gè)門周期內(nèi)對(duì)一個(gè)低溫度系數(shù)的振蕩器的脈沖進(jìn)行計(jì)數(shù)來(lái)得到溫度值。計(jì)數(shù)器被預(yù)置到對(duì)應(yīng)于 -50的一個(gè)值。如果計(jì)數(shù)器在門周期結(jié)束前到達(dá) 0,則溫度寄存器(同樣被預(yù)置到 -50)的值增加,表明所測(cè)溫度大于 -50。同時(shí),計(jì)數(shù)器被復(fù)位到一個(gè)值,這個(gè)值由斜坡式累加器電路確定,斜坡式累加器電路用來(lái)補(bǔ)償感溫振蕩器的拋物線特性。然后計(jì)數(shù)器又開始計(jì)數(shù)直到 0,如果門周期仍未結(jié)束,將重復(fù)這一過(guò)程。 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 19 斜坡式累加器用來(lái)補(bǔ)償感溫振蕩器的非線性,以期在測(cè)溫時(shí)獲得比較高的分辨力。這是通過(guò)改變計(jì)數(shù)器對(duì)溫度每增加一度 所需計(jì)數(shù)的的值來(lái)實(shí)現(xiàn)的。因此,要想獲得所需的分辨力,必須同時(shí)知道在給定溫度下計(jì)數(shù)器的值和每一度的計(jì)數(shù)值。 DS18B20 內(nèi)部對(duì)此計(jì)算的結(jié)果可提供 0.5的分辨力。溫度以 16bit帶符號(hào)位擴(kuò)展的二進(jìn)制補(bǔ)碼形式讀出,表 1 給出了溫度值和輸出數(shù)據(jù)的關(guān)系。數(shù)據(jù)通過(guò)單線接口以串行方式傳輸。 DS18B20測(cè)溫范圍 -50 +110,以 0.5遞增。 5.2 初始化 通過(guò)單線總線的所有執(zhí)行(處理)都從一個(gè)初始化序列開始。初始化序列包括一個(gè)由總線控制器發(fā)出的復(fù)位脈沖和跟有其后由從機(jī)發(fā)出的存在脈沖。 5.3 存儲(chǔ)器操作命令 ( 1) Write Scratchpad4E 這個(gè)命令向 DS1820 的暫存器中寫入數(shù)據(jù),開始位置在地址 2。接下來(lái)寫入的兩個(gè)字節(jié)將被存到暫存器中的地址位置 2 和 3??梢栽谌魏螘r(shí)刻發(fā)出復(fù)位命令來(lái)中止寫入。 ( 2) Read ScratchpadBEH 這個(gè)命令讀取暫存器的內(nèi)容。讀取將從字節(jié) 0 開始,一直進(jìn)行下去,直到第 9(字節(jié) 8, CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時(shí)間發(fā)出復(fù)位命令來(lái)中止讀取。 ( 3) Copy Scratchpad48h 這條命令把暫存器的內(nèi)容拷貝到 DS18B20 的 E2 存儲(chǔ)器里 ,即把溫度報(bào)警觸發(fā)字節(jié)存入非易失性存儲(chǔ)器里。如果總線控制器在這條命令之后跟著發(fā)出讀時(shí)間隙,而DS18B20 又正在忙于把暫存器拷貝到 E2 存儲(chǔ)器, DS18B20 就會(huì)輸出一個(gè) “ 0” ,如果拷貝結(jié)束的話, DS18B20 則輸出 “ 1” 。如果使用寄生電源,總線控制器必須在這條命令發(fā)出后立即起動(dòng)強(qiáng)上拉并最少保持 10ms。 ( 4) Convert T44h 這條命令啟動(dòng)一次溫度轉(zhuǎn)換而無(wú)需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后 DS18B20保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時(shí)間隙,而 DS18B20 又忙于做時(shí)間轉(zhuǎn)換 的話, DS18B20 將在總線上輸出 “ 0” ,若溫度轉(zhuǎn)換完成,則輸出 “ 1” 。如果使用寄生電源,總線控制器必須在發(fā)出這條命令后立即起動(dòng)強(qiáng)上拉,并保持 500ms。 ( 5) Recall E2 B8h 這條命令把報(bào)警觸發(fā)器里的值拷回暫存器。這種拷回操作在 DS18B20 上電時(shí)自動(dòng)執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數(shù)據(jù)了。若在這條命令發(fā)出之后發(fā)出讀時(shí)間隙,器件會(huì)輸出溫度轉(zhuǎn)換忙的標(biāo)識(shí): “ 0” =忙, “ 1” =完成。 ( 6) Read Power SupplyB4h 若把這條命令發(fā)給 DS18B20 后發(fā)出讀時(shí)間隙,器 件會(huì)返回它的電源模式: “ 0” =寄生電源, “ 1” =外部電源。 ( 7)讀 /寫時(shí)間隙 DS18B20 的數(shù)據(jù)讀寫是通過(guò)時(shí)間隙處理位和命令字來(lái)確認(rèn)信息交換。 ( 8)寫時(shí)間隙 當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開始。有兩種寫時(shí)間隙:寫 1 時(shí)間隙和寫 0 時(shí)間隙。所有寫時(shí)間隙必須最少持續(xù) 60 s,包括兩個(gè)寫周期間至少 1 s 的恢復(fù)時(shí)間。 I/O 線電平變低后, DS18B20 在一個(gè) 15 s 到 60 s 的窗口內(nèi)對(duì) I/O 線采樣。如果線上是高電平,就是寫 1,如果線上是低電平,就是寫 0 主機(jī)要生成一個(gè)寫時(shí)間隙,必須把數(shù)據(jù)線 拉到低電平然后釋放,在寫時(shí)間隙開始后的 15 s內(nèi)允許數(shù)據(jù)線拉到高電平。無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 20 主機(jī)要生成一個(gè)寫 0 時(shí)間隙,必須把數(shù)據(jù)線拉到低電平并保持 60 s。 ( 9)讀時(shí)間隙 當(dāng)從 DS18B20 讀取數(shù)據(jù)時(shí),主機(jī)生成讀時(shí)間隙。當(dāng)主機(jī)把數(shù)據(jù)線從高高平拉到低電平時(shí),寫時(shí)間隙開始。數(shù)據(jù)線必須保持至少 1 s;從 DS18B20 輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后 15 s 內(nèi)有效。因此,主機(jī)在讀時(shí)間隙開始后必須停止把 I/O 腳驅(qū)動(dòng)為低電平 15 s,以讀取 I/O 腳狀態(tài)。在讀時(shí)間隙的結(jié)尾, I/O 引腳將被外部上拉電阻拉到高電平。所有讀時(shí)間隙必須最少 60 s,包括兩個(gè)讀周期間至少 1 s 的恢復(fù)時(shí)間。 5.4ROM 操作命令 一旦總線控制器探測(cè)到一個(gè)存在脈沖,它就可以發(fā)出 5 個(gè) ROM 命令中的任一個(gè)。所有 ROM 操作命令都 8 位長(zhǎng)度。 5 個(gè) ROM 的命令如下: ( 1) Read ROM33h 這個(gè)命令允許總線控制器讀到 DS18B20的 8位系列編碼、唯一的序列號(hào)和 8 位 CRC碼。只有在總線上存在單只 DS18B20 的時(shí)候才能使用這個(gè)命令。如果總上有不止一個(gè)從機(jī),當(dāng)所有從機(jī)試圖同時(shí)傳送信號(hào)時(shí)就會(huì)發(fā)生數(shù)據(jù)沖突(漏極開路連在一起開成相與的效果)。 ( 2) Match ROM55h 匹配 ROM 命令,后跟 64 位 ROM 序列,讓總線控制器在多點(diǎn)總線上定位一只特定的 DS18B20。只有和 64 位 ROM 序列完全匹配的 DS18B20 才能響應(yīng)隨后的存儲(chǔ)器操作命令。所有和 64 位 ROM 序列不匹配的從機(jī)都將等待復(fù)位脈沖。這條命令在總線上有單個(gè)或多個(gè)器件時(shí)都可以使用。 ( 3) Skip ROMCCH 這條命令允許總線控制器不用提供 64 位 ROM 編碼就使用存儲(chǔ)器操作命令,在單點(diǎn)總線情況下右以節(jié)省時(shí)間。如果總線上不止一個(gè)從機(jī),在 Skip ROM 命令之后跟著發(fā)一條讀命令,由于多個(gè)從機(jī)同時(shí)傳送信號(hào),總線上就會(huì)發(fā)生數(shù)據(jù)沖突 。 ( 4) Search ROMF0h 當(dāng)一個(gè)系統(tǒng)初次啟動(dòng)時(shí),總線控制器可能并不知道單線總線上有多少器件或它們的64 位 ROM 編碼。搜索 ROM 命令允許總線控制器用排除法識(shí)別總線上的所有從機(jī)的 64位編碼。 ( 5) Alarm SearchECH 這條命令的流程圖和 Search ROM 相同。然而,只有在最近一次測(cè)溫后遇到符合報(bào)警條件的情況, DS18B20 才會(huì)響應(yīng)這條命令。報(bào)警條件定義為溫度高于 TH 或低于 TL。只要 DS18B20 不掉電,報(bào)警狀態(tài)將一直保持,直到再一次測(cè)得的溫度值達(dá)不到報(bào)警條件 。 無(wú) 錫 職 業(yè) 技 術(shù) 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 21
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度建筑工程泥工分包合同協(xié)議書
- 2024年藥店實(shí)習(xí)生勞務(wù)聘用協(xié)議3篇
- 2024蘇州離婚協(xié)議書模板制作與婚姻法律風(fēng)險(xiǎn)防范合同3篇
- 2024年股東權(quán)益確認(rèn)協(xié)議
- 2024林業(yè)土地承包經(jīng)營(yíng)權(quán)互換合同
- 2024年度大理石石材技術(shù)創(chuàng)新與應(yīng)用合同3篇
- 三方停車場(chǎng)車位租賃協(xié)議范本(2024版)
- 2024房地產(chǎn)買賣合同with裝修及附加條款
- 2024月子中心消防通道疏通與維修施工合同3篇
- 2024植筋加固材料研發(fā)與市場(chǎng)推廣合作合同范本3篇
- 綠植花卉租擺及園林養(yǎng)護(hù)服務(wù) 投標(biāo)方案(技術(shù)方案)
- 干細(xì)胞商業(yè)計(jì)劃書
- 臨床療效總評(píng)量表(CGI)
- 從教走向?qū)W:在課堂上落實(shí)核心素養(yǎng)
- 美世國(guó)際職位評(píng)估體系IPE3.0使用手冊(cè)
- 2020電網(wǎng)檢修工程預(yù)算定額第五冊(cè) 通信工程
- 圖像超分辨率增強(qiáng)技術(shù)
- 集裝箱貨運(yùn)碼頭的火災(zāi)防范措施
- DB15T+3199-2023公路工程水泥混凝土質(zhì)量聲波層析成像法檢測(cè)規(guī)程
- 高壓電纜試驗(yàn)報(bào)告
- 七年級(jí)數(shù)學(xué)上冊(cè)專題1.14數(shù)軸與絕對(duì)值綜合問(wèn)題大題專練(重難點(diǎn)培優(yōu))-【講練課堂】2022-2023學(xué)年七年級(jí)數(shù)學(xué)上冊(cè)尖子生同步培優(yōu)題典(原卷版)【人教版】
評(píng)論
0/150
提交評(píng)論