畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 云南廣播電視大學(xué) 云南國防工業(yè)職業(yè)技術(shù)學(xué)院電子工程學(xué)院電子工程學(xué)院畢業(yè)論文(設(shè)計(jì))課 題 數(shù)字式熱敏電阻溫度計(jì) 教 研 室 電子教研室電子教研室 專 業(yè) 應(yīng)用電子技術(shù)應(yīng)用電子技術(shù) 班 級 0808 級應(yīng)用電子班級應(yīng)用電子班 學(xué)生姓名 學(xué)號 導(dǎo)師姓名 職稱 助助 教教 2011 年年 1 月月 9 日日摘摘 要要溫度作為一個(gè)重要的物理量,是工業(yè)生產(chǎn)過程中最普遍、最重要的工藝參數(shù)之一,所以溫度測量技術(shù)和測量儀器的研究是一個(gè)重要的課題。隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)伸入到各個(gè)領(lǐng)域,基于單片機(jī)數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測溫范圍廣,其輸出溫度采用數(shù)字顯示。該論文仔細(xì)研究了美國

2、dallas 公司開發(fā)的一線總線技術(shù)及其通信協(xié)議。論文首先詳細(xì)介紹了一線總線智能溫度傳感器 ds18b20 及單片機(jī)工作原理,在此基礎(chǔ)上,設(shè)計(jì)了相應(yīng)的硬件原理圖及軟件程序,實(shí)現(xiàn)了溫度檢測與顯示環(huán)節(jié)。關(guān)鍵詞關(guān)鍵詞:單片機(jī),數(shù)字溫度傳感器,ds18b20abstractabstracttemperature as an important physics, industrial production process in the most general, one of the most important parameters, so the temperature measurement te

3、chnology and measurement instrument research is an important topic. with the progress of the times and development, microcontroller technology has dipped into various areas, based on single-chip digital thermometer and traditional thermometer readings, compared with convenient, temperature measureme

4、nt range, its output temperature using digital display. this paper studied the american dallas company development 1-wire bus technology and communication protocols. it firstly introduces in detail 1-wire bus intelligent temperature sensor ds18b20 and single-chip microcomputer principle, on this bas

5、is, the corresponding hardware design principle diagram and software program, realized the temperature detection and display link. keywords:keywords: microcontroller, digital temperature, sensor ds18b20目目 錄錄第一章第一章 緒緒 論論.11.1 課題背景.11.2 國內(nèi)外測溫狀況.11.3 溫度檢測技術(shù)介紹.3第二章第二章 數(shù)字式熱敏電阻溫度計(jì)的設(shè)計(jì)方案數(shù)字式熱敏電阻溫度計(jì)的設(shè)計(jì)方案.52.1

6、 方案一.52.2 方案二.62.3 方案比較與選擇.7第三章第三章 設(shè)計(jì)原理與結(jié)構(gòu)設(shè)計(jì)原理與結(jié)構(gòu).73.1 ds18b20 結(jié)構(gòu)及工作原理.73.2 單片機(jī)介紹.133.3 led 顯示器簡介.153.4 led 顯示器工作原理.16第四章第四章 系統(tǒng)結(jié)構(gòu)及工作原理系統(tǒng)結(jié)構(gòu)及工作原理.184.1 系統(tǒng)硬件原理圖及相關(guān)說明.184.2 系統(tǒng)軟件算法說明.19第五章第五章 系統(tǒng)程序的設(shè)計(jì)系統(tǒng)程序的設(shè)計(jì).215.1 程序模塊設(shè)計(jì).215.2 溫度數(shù)據(jù)的計(jì)算處理方法.26總總 結(jié)結(jié).28參參 考考 文文 獻(xiàn)獻(xiàn).30致致 謝謝.31附附 錄錄.32第一章第一章 緒緒 論論1.11.1 課題背景課題背景

7、 “工欲善其事,必先利其器” ,這是中國的一句古話,人們早就知道工具的重要性。隨著以知識經(jīng)濟(jì)為特征的信息時(shí)代的到來,人們對儀器儀表作用的認(rèn)識愈加深入。作為工業(yè)自動(dòng)化技術(shù)工具的自動(dòng)化儀表與控制裝置,在高新技術(shù)的推動(dòng)下,正跨入真正的數(shù)字化、智能化、網(wǎng)絡(luò)化的時(shí)代。而溫度作為一個(gè)重要的物理量,是工業(yè)生產(chǎn)過程中最普遍、最重要的工藝參數(shù)之一。隨著工業(yè)的不斷發(fā)展,對溫度測量的要求越來越高,而且測量的范圍也越來越廣,對溫度的檢測技術(shù)的要求也越來越高。因此,溫度測量和溫度測量技術(shù)的研究也是一個(gè)重要的研究課題。溫度傳感器是當(dāng)前溫度檢測的主要器件,本課題的主要出發(fā)點(diǎn)是設(shè)計(jì)出測量溫度檢測的溫度連續(xù)檢測的儀器。該論文主

8、要講述了用溫度傳感測溫的主要原理、實(shí)際硬件電路的設(shè)計(jì)、軟件設(shè)計(jì)和調(diào)試分析。第一章介紹了溫度檢測現(xiàn)狀和儀器儀表的發(fā)展現(xiàn)狀。第二章提出了幾種單片機(jī)數(shù)字溫度計(jì)的設(shè)計(jì)方案并作出比較。第三章講述了單片機(jī)系統(tǒng)硬件電路的設(shè)計(jì)過程,包括對智能溫度傳感器 ds18b20 詳細(xì)的介紹以及單片機(jī)系統(tǒng)的設(shè)計(jì),并講述了儀器的軟件設(shè)計(jì),給出了軟件流程圖,整套儀器是由單片機(jī)系統(tǒng)控制的,包括 led 顯示器、通訊接口等。第四章進(jìn)行系統(tǒng)調(diào)試分析,這將有助于今后對系統(tǒng)的改進(jìn),以進(jìn)一步提高系統(tǒng)的測量精度,并講述了通過本設(shè)計(jì)所得的結(jié)論和心得體會。1.21.2 國內(nèi)外測溫狀況國內(nèi)外測溫狀況隨著國內(nèi)外工業(yè)的日益發(fā)展,溫度檢測技術(shù)也不斷地

9、進(jìn)步,目前的溫度檢測使用的溫度計(jì)種類繁多、應(yīng)用范圍也較廣泛,大致包括以下幾種方法:(1)利用物體熱脹冷縮原理制成的溫度計(jì)利用此原理制成的溫度計(jì)大致分成三大類:a 玻璃溫度計(jì),它是利用玻璃感溫包內(nèi)的測溫物質(zhì)(水銀、酒精、甲苯、煤油等)受熱膨脹、遇冷收縮的原理進(jìn)行溫度測量的;b 雙金屬溫度計(jì),它是采用膨脹系數(shù)不同的兩種金屬牢固粘合在一起制成的雙金屬片作為感溫元件,當(dāng)溫度變化時(shí),一端固定的雙金屬片,由于兩種金屬膨脹系數(shù)不同而產(chǎn)生彎曲,自由端的位移通過傳動(dòng)機(jī)構(gòu)帶動(dòng)指針指示出相應(yīng)溫度;c 壓力式溫度計(jì),它是由感溫物質(zhì)(氮?dú)?、水銀、二甲苯、甲苯、甘油和低沸點(diǎn)液體如氯甲烷、氯乙烷等)隨溫度變化,壓力發(fā)生相應(yīng)

10、變化,用彈簧管壓力表測出它的壓力值,經(jīng)換算得出被測物質(zhì)的溫度值。(2)利用熱電效應(yīng)技術(shù)制成的溫度檢測元件利用此技術(shù)制成的溫度檢測元件主要是熱電偶。熱電偶發(fā)展較早,比較成熟,至今仍為應(yīng)用最廣泛的檢測元件。熱電偶具有結(jié)構(gòu)簡單、制作方便、測量范圍寬、精度高、熱慣性小等特點(diǎn)。常用的熱電偶有以下幾種:a 鎳鉻-鎳硅,型號為 wrn,分度號為 k,測溫范圍 0-900,短期可測 1200。b 鎳鉻-康銅,型號為 wrk,分度號為 f,測溫范圍 0-600,短期可測 800。c 鉑銠-鉑,型號為 wrp,分度號為 s,在 1300以下的溫度可長期使用,短期可測1600。d 鉑鍺 30-鉑鍺 6,型號為 wr

11、r,分度號為 b,測溫范圍 300-1600,短期可測1800。(3)利用熱阻效應(yīng)技術(shù)制成的溫度計(jì)用此技術(shù)制成的溫度計(jì)大致可分成以下幾種:a 電阻測溫元件,它是利用感溫元件(導(dǎo)體)的電阻隨溫度變化的性質(zhì),將電阻的變化值用顯示儀表反映出來,從而達(dá)到測溫的目的。目前常用的有鉑熱電阻(分度號為pt100,pt10 兩種)和銅熱電阻(分度號有 cu5o,cu100 兩種) 。b 導(dǎo)體測溫元件,它與熱電阻的溫阻特性剛好相反,即有很大副溫度系數(shù),也就是說溫度升高時(shí),其阻值降低。他們的關(guān)系為:0011()bttttrr e式中 rt在溫度 t(k)時(shí)的電阻值;rt0在溫度 t0(k)時(shí)的電阻值;e自然對數(shù)的

12、底;b常數(shù),其值與半導(dǎo)體材料的成分和制作方法有關(guān)。c 陶瓷熱敏元件它的實(shí)質(zhì)是利用半導(dǎo)體電阻的正溫特性,用半導(dǎo)體陶瓷材料制作而成的熱敏元件,常稱為 pci,或 nci 熱敏元件。pct 熱敏元件分為突變型和緩變型兩類。突變型 pct 元件的溫阻特性是當(dāng)溫度達(dá)到頂點(diǎn)時(shí),它的阻值突然變大,有限流功能,多數(shù)用于保護(hù)電器。緩變型 pci 元件的溫阻特性基本上隨溫度升高阻值慢慢增大,起溫度補(bǔ)償作用。nci 元件特性與 pgt 元件的突變特性剛好相反,即隨溫度升高,它的阻值減小1。(4)利用熱輻射原理制成的高溫計(jì)輻射測溫在近年相對其他的測溫領(lǐng)域顯得活躍些,熱輻射高溫計(jì)通常分為兩種:一種是單色輻射高溫計(jì),一般

13、稱光學(xué)高溫計(jì);另一種是全輻射高溫計(jì),它的原理是物體受熱輻射后,視物體本身的性質(zhì),能將其吸收、透過或反射。而受熱物體放出的輻射能的多少,與它的溫度有一定的關(guān)系。熱輻射式高溫計(jì)就是根據(jù)這種熱輻射原理制成的。(5)利用聲學(xué)原理進(jìn)行溫度測量聲學(xué)法溫度檢測技術(shù)是近年來發(fā)展起來的一項(xiàng)新技術(shù),利用該技術(shù),可以對爐內(nèi)的煙氣溫度測量值和火焰分布在線檢測,判斷爐的燃燒狀況,進(jìn)行實(shí)時(shí)調(diào)節(jié)和控制。聲學(xué)溫度檢測技術(shù)的基本原理是通過測量聲波傳感器間的聲波傳播時(shí)間以最小二乘原理重建溫度的測量方法。1.31.3 溫度檢測技術(shù)介紹溫度檢測技術(shù)介紹近年來,在溫度檢測技術(shù)領(lǐng)域,多種新的檢測原理與技術(shù)的開發(fā)應(yīng)用,已取得了重大進(jìn)展。新

14、一代溫度檢測元件正在不斷出現(xiàn)和完善化。(1)晶體管溫度檢測元件半導(dǎo)體溫度檢測元件是具有代表性的溫度檢測元件。半導(dǎo)體的電阻溫度系數(shù)比金屬大 12 個(gè)數(shù)量級,二級管和三極管的 pn 結(jié)電壓、電容對溫度靈敏度很高?;谏鲜鰷y溫原理己研制了各種溫度檢測元件2。(2)集成電路溫度檢測元件利用硅晶體管基極發(fā)射極間電壓與溫度關(guān)系(即半導(dǎo)體 pn 結(jié)的溫度特性)進(jìn)行溫度檢測,并把測溫、激勵(lì)、信號處理電路和放大電路集成一體,封裝于小型管殼內(nèi),即構(gòu)成了集成電路溫度檢測元件。目前,國內(nèi)外也進(jìn)行了生產(chǎn)。(3)核磁共振溫度檢測器所謂核磁共振現(xiàn)象是指具有核自旋的物質(zhì)置于靜磁場中時(shí),當(dāng)與靜磁場垂直方向加以電磁波,會發(fā)生對某

15、頻率電磁的吸收現(xiàn)象。利用共振吸收頻率隨溫度上升而減少的原理研制成的溫度檢測器,稱為核磁共振溫度檢測器。這種檢測器精度極高,可以測量出千分之一開爾文,而且輸出的頻率信號適于數(shù)字化運(yùn)算處理,故是一種性能十分良好的溫度檢測器。在常溫下,可作理想的標(biāo)準(zhǔn)溫度計(jì)之用。(4)熱噪聲溫度檢測器它的原理是利用熱電阻元件產(chǎn)生的噪聲電壓與溫度的相關(guān)性。其特點(diǎn)是:a 輸出噪聲電壓大小與溫度是比例關(guān)系;b 不受壓力影響;c 感溫元件的阻值幾乎不影響測量精確度;所以它是可以直接讀出絕對溫度值而不受材料和環(huán)境條件限制的溫度檢測器。(5)石英晶體溫度檢測器它采用 lc 或 y 型切割的石英晶片的共振頻率隨溫度變化的特性來制作

16、的。它利用 p技術(shù),自動(dòng)補(bǔ)償石英晶片的非線性,測量精度較高,一般可檢測到 0.001,所以可作標(biāo)準(zhǔn)檢測之用。(6)激光溫度檢測器激光測溫特別適于遠(yuǎn)程測量和特殊環(huán)境下的溫度測量。用氦氖激光源的激光作反射計(jì)可測得很高的溫度,精度達(dá) 1%;用激光干涉和散射原理制作的溫度檢測器可測量更高的溫度,上限可達(dá) 3000,專門用于核聚變研究,但在工業(yè)上應(yīng)用還需進(jìn)一步開發(fā)和實(shí)驗(yàn)。(7)微波溫度檢測器采用微波測溫可以達(dá)到快速測量高溫的目的。它是利用在不同溫度下,溫度與控制電壓成線性關(guān)系的原理制成的。這種檢測器的靈敏度為 250khz/,精度為1%左右,檢測范圍為 201400。(8)純貴金屬熱電偶的研究由兩種純金

17、屬組成的熱電偶,因其材料均勻性遠(yuǎn)優(yōu)于合金材料,因而穩(wěn)定性好得多。在鉑銠合金熱電偶(s,r 型)的不確定度已很難提高之后,人們開始尋找由純貴金屬組成的熱電偶,以代替 s 和 r 型熱電偶,作為傳遞的標(biāo)準(zhǔn)3。(9)信息技術(shù)時(shí)代自動(dòng)化系統(tǒng)中的溫度檢測儀表現(xiàn)代的工業(yè)過程自動(dòng)化系統(tǒng)是現(xiàn)場總線控制系統(tǒng),它是信息技術(shù)進(jìn)入工業(yè)自動(dòng)化后出現(xiàn)的新一代的自動(dòng)控制系統(tǒng)?,F(xiàn)場總線是安裝在制造或過程區(qū)域的現(xiàn)場裝置與控制室內(nèi)的自控裝置之間的數(shù)字式、串行、多點(diǎn)通信的數(shù)據(jù)總線。所有的現(xiàn)場儀表(溫度檢測儀表是其中一種)均接到現(xiàn)場總線上。在這樣的系統(tǒng)中,通常不應(yīng)使用各有不同輸出的溫度計(jì),必須將輸出轉(zhuǎn)變成統(tǒng)一的電信號,這樣“溫度計(jì)”

18、就變成了“溫度變送器” 。在現(xiàn)場總線控制系統(tǒng)中的溫度變送器主要是熱電偶變送器和熱電阻變送器,也有輻射溫度變送器。第二章第二章 數(shù)字式熱敏電阻溫度計(jì)的設(shè)計(jì)方案數(shù)字式熱敏電阻溫度計(jì)的設(shè)計(jì)方案2.12.1 方案一方案一系統(tǒng)的硬件電路包括微控制器部分(主機(jī)),溫度檢測,人機(jī)對話(鍵盤/顯示)三個(gè)主要部分。系統(tǒng)結(jié)構(gòu)框圖和硬件原理圖分別如圖 2-1 和圖 2-2 所示。圖 2-1 方案(一)系統(tǒng)結(jié)構(gòu)框圖溫度檢測部分采用傳統(tǒng)的熱敏電阻,熱敏電阻的阻值隨環(huán)境溫度變化而變化,變送器將電阻信號轉(zhuǎn)換成與溫度成正比的電壓信號,經(jīng) a/d 轉(zhuǎn)換器將其轉(zhuǎn)換為單片機(jī)可識別得二進(jìn)制數(shù)字量,單片機(jī)主要控制 led 顯示器顯示正

19、確的溫度值,led 顯示器實(shí)現(xiàn)顯示功能。圖 2-2 方案(一)系統(tǒng)硬件原理圖2.22.2 方案方案二二本方案與方案一的區(qū)別主要是在溫度檢測部分利用了一款新型的溫度檢測芯片 ds18b20,這個(gè)芯片大大簡化了溫度檢測模塊的設(shè)計(jì),它無需 a/d 轉(zhuǎn)換,可直接將測得的溫度值以二進(jìn)制形式輸出。該方案的原理框圖和硬件原理圖如圖 2-3 和圖 2-4 所示:led顯示器80c51單片機(jī)溫度傳感器ds18b20圖 2-3 方案(二)系統(tǒng)結(jié)構(gòu)框圖ds18b20是美國達(dá)拉斯半導(dǎo)體公司生產(chǎn)的新型溫度檢測器件,它是單片結(jié)構(gòu),無需外加a/d即可輸出數(shù)字量,通訊采用單線制,同時(shí)該通訊線還可兼作電源線,即具有寄生電源模式

20、。它具有體積小、精度易保證、無需標(biāo)定等特點(diǎn),特別適合與單片機(jī)合用構(gòu)成智能溫度檢測及控制系統(tǒng)。圖 2-4 方案(二)系統(tǒng)硬件原理圖2.32.3 方案比較與選擇方案比較與選擇方案(一)與方案(二)的主要區(qū)別在溫度檢測部分,方案(一)是采用熱敏電阻檢測溫度,然后利用 a/d 轉(zhuǎn)換器將溫度模擬量轉(zhuǎn)換為二進(jìn)制數(shù)供單片機(jī)處理。方案(二)主要利用 ds18b20 這塊芯片進(jìn)行溫度檢測,并將采集到的模擬量轉(zhuǎn)換為單片機(jī)識別的二進(jìn)制數(shù)。方案(一)與方案(二)相比,它最大的特點(diǎn)就是它能檢測的溫度范圍很大,熱敏電阻的性能決定了整個(gè)設(shè)計(jì)的所能檢測的溫度范圍。方案(二)的溫度檢測范圍已經(jīng)由系統(tǒng)中的 ds18b20 的特性

21、所決定,它能檢測的溫度范圍為-55到 120,雖然其溫度檢測范圍很窄,但已足夠滿足一般測量需要,從整體上來看方案(二)比方案(一)更簡單,因?yàn)槲覀兎桨福ǘ┦抢矛F(xiàn)有的智能溫度傳感芯片 ds18b20,他無需 a/d 轉(zhuǎn)換,直接輸出數(shù)字量。所以本設(shè)計(jì)中所使用的溫度測量電路是方案(二)的電路。第三章第三章 設(shè)計(jì)原理與結(jié)構(gòu)設(shè)計(jì)原理與結(jié)構(gòu)3.13.1 ds18b20ds18b20 結(jié)構(gòu)及工作原理結(jié)構(gòu)及工作原理溫度傳感器之所以考慮選擇單線數(shù)字器件 ds18b20,是在經(jīng)過多方面比較和考慮后決定的,主要有以下幾方面的原因:系統(tǒng)成本:由于計(jì)算機(jī)技術(shù)和微電子技術(shù)的發(fā)展,新型大規(guī)模集成電路功能越來越強(qiáng)大,體積

22、越來越小,而價(jià)格也越來越低。一支 ds18b20 的體積與普通三極管相差無幾,價(jià)格只有十元人民幣左右。系統(tǒng)復(fù)雜度:由于 ds18b20 是單總線器件,一條總線上可以掛接多個(gè)ds18b20,因此,與模擬傳感器相比,可以大大減少接線的數(shù)量,而且不需要a/d 轉(zhuǎn)換器,降低系統(tǒng)的復(fù)雜度。系統(tǒng)的調(diào)試和維護(hù),由于引線的減少,使得系統(tǒng)接口大為簡化,給系統(tǒng)的調(diào)試帶來方便;同時(shí),由于 ds18b20 是全數(shù)字元器件,故障率很低,抗干擾性強(qiáng)。圖 3-1 介紹了 ds18b20 的引腳和外觀,表 3-1 則對 ds18b20 各引腳進(jìn)行了單獨(dú)介紹。圖 3-1 ds18b20 引腳圖表 3-1 ds18b20 引腳說

23、明引腳符號說明1gnd接地2dq單線運(yùn)用的數(shù)據(jù)輸入/輸出引腳漏極開路3vdd可選 vdd 引腳的兩種供電方式ds18b20 有兩種供電方式可供選擇,即數(shù)據(jù)總線供電方式和外部供電方式。采取數(shù)據(jù)總線供電方式可以節(jié)省一根導(dǎo)線,但是完成溫度測量的時(shí)間較長;采取外部供電方式會多用一根于供電導(dǎo)線,好處是可以更快的得到溫度測量的結(jié)果6。ds18b20 內(nèi)部結(jié)構(gòu)框圖如圖 3-2 所示:圖 3-2 ds18b20 內(nèi)部結(jié)構(gòu)框圖1)特點(diǎn)描述采用單總線技術(shù),與單片機(jī)通訊只要一根 i/o 線。通過比較系列號可以在一根線上掛接多個(gè) ds18b20;低壓供電,電源范圍從 3v5.5v,也可以直接從數(shù)據(jù)線上竊取電源;測溫范

24、圍-55125攝氏度;數(shù)據(jù)位可編程 9-12 位,轉(zhuǎn)換 12 位溫度時(shí)間為 750ms(最大) ;用戶可自設(shè)定預(yù)警上下限溫度;報(bào)警搜索命令可識別和尋址那個(gè)器件的溫度至超出預(yù)定值。ds18b20 的另一特點(diǎn)是無外線電源工作能力。當(dāng)總線為高時(shí),穩(wěn)定電源的提供是通過單線上的上拉電阻實(shí)現(xiàn)的,總線信號“高”也控制內(nèi)部電容(cpp) ,當(dāng)總線為低時(shí)由電容為器件供電。從單線總線上獲得電源的方法被稱之為“寄生電源” 。ds18b20 也可以通過外部供電從 vdd 獲得電源。ds18b20 工作過程中的協(xié)議如下(1)初始化;(2)rom 操作命令;(3)存儲器操作命令;(4)處理數(shù)據(jù);2)64 位激光 rom

25、碼每一個(gè) ds18b20 都有一個(gè) 64 位碼(見表 3-2)存在 rom 中。rom 碼的低 8位含有 ds18b20 的單線產(chǎn)品系列編碼:28h。接下來的 48 位包含了唯一的系列號。高 8 位包含有一個(gè)循環(huán)冗余校驗(yàn)字節(jié),它是根據(jù) rom 碼的前 56 位計(jì)算得到的。表 3-2 64 位激光 rom 碼 8 位 crc 48 位序列號 8 位系列編碼(10h) msb lsb msb lsb msb lsb3)溫度測量ds18b20 的存儲器如表 3-3 所示,存儲器由一個(gè)高速暫存便箋式 ram 和一個(gè)非易失性 e2pram 組成,后者存儲上限溫度和下限溫度的值,還有觸發(fā)器 th和 tl。

26、暫存存儲器有助于在進(jìn)行一線通信時(shí),確保數(shù)據(jù)的完整性。數(shù)據(jù)首先寫入暫存存儲器,并在那里被讀回。當(dāng)數(shù)據(jù)校驗(yàn)之后。執(zhí)行復(fù)制暫存存儲器的命令,將數(shù)據(jù)傳送到非易失性存儲器 e2pram 中,這一過程確保了更改存儲器時(shí)數(shù)據(jù)的完整性。表 3-3 ds18b20 存儲器映像表存儲器位溫度 lsb1溫度 msb2th 用戶字節(jié) 13tl 用戶字節(jié) 24配置寄存器5保留6保留7保留8crc9暫存存貯器是按 8 位字節(jié)存儲器來組織的,前兩個(gè)字節(jié)包含溫度信息;第3 和第 4 個(gè)字節(jié)分別是 th 和 tl 的易失性拷貝,且在每一次上電復(fù)位時(shí)被刷新;第 5 個(gè)字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率;6,

27、7,8 的三個(gè)字節(jié)沒有使用,但是在讀回時(shí)它們呈現(xiàn)為邏輯全 1;第 9 個(gè)字節(jié)讀出前面 8 個(gè)字節(jié)的 crc 碼,用來校驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性7。ds18b20 通過使用在板 on-board 溫度測量專利技術(shù)來測量溫度,溫度測量電路的方框圖見下圖 3-3 所示:非易失性存儲器th 用戶字節(jié) 1tl 用戶字節(jié) 2圖 3-3 溫度測量電路ds18b20通過門開通期間內(nèi),低溫度系數(shù)振蕩器經(jīng)歷的時(shí)鐘周期個(gè)數(shù)計(jì)數(shù)來測量溫度。同時(shí)門開通期由高溫度系數(shù)振蕩器決定,計(jì)數(shù)器預(yù)置對應(yīng)于-55的基數(shù)。如果在門開通期結(jié)束前計(jì)數(shù)器達(dá)到零,那么溫度寄存器仍被預(yù)置到-55的數(shù)值。同時(shí)計(jì)數(shù)器用斜率累加器電路所決定的

28、值進(jìn)行預(yù)置。為了對遵循拋物線規(guī)律的振蕩器溫度特性進(jìn)行補(bǔ)償,這種電路是必需的。時(shí)鐘再次使計(jì)數(shù)器計(jì)值,至它達(dá)到零。如果門開通時(shí)仍未結(jié)束,那么此過程再次重復(fù)。斜率累加器用于補(bǔ)償振蕩器溫度特性的非線性,以產(chǎn)生高分辨率的溫度測量。通過改變溫度每升高一度計(jì)數(shù)器必須經(jīng)歷的計(jì)數(shù)個(gè)數(shù),來實(shí)行補(bǔ)償。因此為了獲得所需的分辨率,計(jì)數(shù)器的數(shù)值以及在給定溫度處每一攝氏度的計(jì)數(shù)個(gè)數(shù)(斜率累加器的值)都必須事先知道。當(dāng) ds18b20 接收到溫度轉(zhuǎn)換命令之后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)化完成后的溫度值以 16 位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第 1、2 字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在前,高位在

29、后,數(shù)據(jù)格式以 0.625/lsb 形式表示。溫度值格式如表 3-4 所示:當(dāng)符號位s=0時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù);當(dāng)符號為s=1時(shí),表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算其對應(yīng)的十進(jìn)制數(shù)。表3-5說明了輸出數(shù)據(jù)與測量溫度的關(guān)系8:表 3-4 溫度值格式表bit7bit6bit5bit4bit3bit2bit1bit023 22 21 20 2-1 2-2 2-3 2-4bit15bit14bit13bit12bit11bit10bit9bit8sssss26 2524表3-5 模數(shù)轉(zhuǎn)換對應(yīng)值溫度數(shù)字輸出(二進(jìn)制)十六進(jìn)制表示1250000001

30、1 1101000007d0h8500000101 0101 0000055025.062500000001 100100010191h10.12500000000 1010001000a2h0.500000000 000010000008h000000000 000000000000h-0.511111111 11111000fff8h-10.12511111111 0101 1110ff5eh-25.062511111110 01101111fe5fh-5511111111 10010010fc90hds18b20 完成溫度轉(zhuǎn)換后,把測得的溫度值與 ram 中的 th 和 tl 內(nèi)容作比較

31、,若 tth 或 ttl,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對主機(jī)發(fā)的報(bào)警搜索命令作出響應(yīng),因此,可用多只 ds18b20 同時(shí)測量溫度并進(jìn)行報(bào)警搜索。4)crc 的產(chǎn)生總線上的主機(jī)可以根據(jù)rom的前56位計(jì)算出crc的值,并把它與存貯在ds18b20內(nèi)的crc值進(jìn)行比較,以判斷rom的數(shù)據(jù)是否已被主機(jī)正確地接收。crc的等效多項(xiàng)式函數(shù)為: crc=x8+x5+x4+1ds18b20也利用與上述相同的多項(xiàng)式函數(shù),產(chǎn)生一個(gè)8位crc值并把此值提供給總線的主機(jī),以確認(rèn)數(shù)據(jù)字節(jié)的傳送。在使用crc來確認(rèn)數(shù)據(jù)傳送的每一種情況中,總線主機(jī)必須使用上面給出的多項(xiàng)式函數(shù)計(jì)算crc的值,并把計(jì)算所得的值或者與d

32、s18b20中的8位crc值比較,或者與ds18b20中計(jì)算得到的8位crc值比較。crc值的比較和是否繼續(xù)操作都由總線主機(jī)來決定。當(dāng)存儲在ds18b20內(nèi)或由ds18b20計(jì)算得到的crc值與總線主機(jī)產(chǎn)生的值不相符合時(shí),在ds18b20內(nèi)沒有電路來阻止命令序列的繼續(xù)執(zhí)行。總線crc可以使用如圖3-4所示的一個(gè)移位寄存器和異或(xor)門組成的多項(xiàng)式產(chǎn)生器來產(chǎn)生。圖 3-4 單線 crc 編碼3.23.2 單片機(jī)介紹單片機(jī)介紹目前,單片機(jī)的種類很多,mcs-51 8 位單片機(jī)系列、mcs-96 16 位單片機(jī)系列,還出現(xiàn)了 32 位單片機(jī)。位數(shù)越高,運(yùn)算速度越快。由于 intel 公司的這種

33、mcs 系列的經(jīng)典體系結(jié)構(gòu)、極好的兼容性和其最徹底的技術(shù)開放政策,許多電器商、半導(dǎo)體商(如:atmel, phlips, ananog devices, dallas 等)以 mcs系列單片機(jī)的基本內(nèi)核為內(nèi)核開發(fā)了眾多芯片。其中,以 mcs-51 系列系統(tǒng)結(jié)構(gòu)為核心的單片機(jī)更是品種繁多,統(tǒng)稱為 8051 和 80c51(chmos 工藝) 。本系統(tǒng)在數(shù)據(jù)處理上速度要求不是很高,8 位單片機(jī)即可。因此,選用mcs-51 系列單片機(jī)??紤]到功耗問題(如:8051 功耗為 630mw,而 80c51 為120mw) ,本系統(tǒng)選用 chmos 工藝的芯片。又因本系統(tǒng)需要處理數(shù)量較大的數(shù)據(jù),程序占用空間

34、也較大,而對定時(shí)器計(jì)數(shù)器和中斷源的數(shù)量要求不多。結(jié)合現(xiàn)有的單片機(jī)開發(fā)系統(tǒng)(偉福仿真器 e6000) ,本系統(tǒng)選用 80c51 系列單片機(jī)。下面對 i/o 并行口進(jìn)行說明:p0 口:p0 口是一個(gè)漏極開路的 8 位雙向 i/o 端口,每位能驅(qū)動(dòng) 8 個(gè) ls 型ttl 負(fù)載。共有 8 條引腳,有兩種不同功能。第一種是 8031 不帶片外存儲器,p0 口可以作為通用 i/o 口使用,用于傳送 cpu 的輸入輸出數(shù)據(jù)。這時(shí),輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性:第二種是 8031 帶片外存儲器,p0 口在 cpu 訪問片外存儲器時(shí)先用于傳送片外存儲

35、器的低 8 位地址,然后傳送 cpu 對片外存儲器的讀寫數(shù)據(jù)9。p1 口:p1 口是一個(gè)帶內(nèi)部上拉電阻的 8 位準(zhǔn)雙向 1/o 端口,在 p1 口作為輸入口使用時(shí),應(yīng)先向 p1 口鎖存器(地址 90h)寫入全 1,此時(shí) p1 口引腳由內(nèi)部上拉為高電平。當(dāng) p1 口作為通用 i/o 口使用時(shí),p1.7p1.0 的功能和 p0 口的第一功能相同,也用于傳輸用戶的輸入或輸出數(shù)據(jù)。p2 口:p2 口也是一個(gè)帶內(nèi)部上拉電阻的 8 位準(zhǔn)雙向 i/o 端口。p2 口的每一位能驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ls 型 ttl 負(fù)載。它也有兩種功能。第一功能是可以作為通用 i/o 口使用;第二功能是和 p0 口第

36、二功能相配合,用于輸出片外存儲器的高 8 位地址,共同選中片外存儲器單元,但不能像 p0 口那樣傳送存儲器的讀寫數(shù)據(jù)。p3 口:是一個(gè)帶內(nèi)部上拉電阻的 8 位準(zhǔn)雙向 i/o 端口,第一功能和p0,p1,p2 的第一功能相同,第二功能作為控制用,每個(gè)引腳功能并不完全相同10,如表 3-6 所示:表 3-6 p3 口各位功能表p3 口的位第二功能注釋p3.0rxd串行數(shù)據(jù)接收口p3.1txd串行數(shù)據(jù)發(fā)送口p3.2int0外部中斷 0 輸入p3.3int1外部中斷 1 輸入p3.4t0計(jì)數(shù)器 0 的外部輸入p3.5t1計(jì)數(shù)器 1 的外部輸入p3.6wr外部 ram 的寫選通信號p3.7rd外部 ra

37、m 的讀選通信號3.33.3 ledled 顯示器簡介顯示器簡介通過發(fā)光二極管芯片的適當(dāng)連接(包括串聯(lián)和并聯(lián))和適當(dāng)?shù)墓鈱W(xué)結(jié)構(gòu)??蓸?gòu)成發(fā)光顯示器的發(fā)光段或發(fā)光點(diǎn)。由這些發(fā)光段或發(fā)光點(diǎn)可以組成數(shù)碼管、符號管、米字管、矩陣管、電平顯示器管等等。通常把數(shù)碼管、符號管、米字管共稱筆畫顯示器,而把筆畫顯示器和矩陣管統(tǒng)稱為字符顯示器。(一)led 顯示器結(jié)構(gòu)基本的半導(dǎo)體數(shù)碼管是由七個(gè)條狀發(fā)光二極管芯片按圖 12 排列而成的。可實(shí)現(xiàn) 09 的顯示。其具體結(jié)構(gòu)有“反射罩式” 、 “條形七段式”及“單片集成式多位數(shù)字式”等 (1)反射罩式數(shù)碼管一般用白色塑料做成帶反射腔的七段式外殼,將單個(gè)led 貼在與反射罩的

38、七個(gè)反射腔互相對位的印刷電路板上,每個(gè)反射腔底部的中心位置就是 led 芯片。在裝反射罩前,用壓焊方法在芯片和印刷電路上相應(yīng)金屬條之間連好 30m 的硅鋁絲或金屬引線,在反射罩內(nèi)滴入環(huán)氧樹脂,再把帶有芯片的印刷電路板與反射罩對位粘合,然后固化。反射罩式數(shù)碼管的封裝方式有空封和實(shí)封兩種。實(shí)封方式采用散射劑和染料的環(huán)氧樹脂,較多地用于一位或雙位器件??辗夥绞绞窃谏戏缴w上濾波片和勻光膜,為提高器件的可靠性,必須在芯片和底板上涂以透明絕緣膠,這還可以提高光效率。這種方式一般用于四位以上的數(shù)字顯示(或符號顯示) 。(2)條形七段式數(shù)碼管屬于混合封裝形式。它是把做好管芯的磷化鎵或磷化鎵圓片,劃成內(nèi)含一只或

39、數(shù)只 led 發(fā)光條,然后把同樣的七條粘在日字形“可伐”框上,用壓焊工藝連好內(nèi)引線,再用環(huán)氧樹脂包封起來。 (3)單片集成式多位數(shù)字顯示器是在發(fā)光材料基片上(大圓片) ,利用集成電路工藝制作出大量七段數(shù)字顯示圖形,通過劃片把合格芯片選出,對位貼在印刷電路板上,用壓焊工藝引出引線,再在上面蓋上“魚眼透鏡”外殼。它們適用于小型數(shù)字儀表中。 (4)符號管、米字管的制作方式與數(shù)碼管類似。 (5)矩陣管(發(fā)光二極管點(diǎn)陣)也可采用類似于單片集成式多位數(shù)字顯示器工藝方法制作。(二)led 顯示器分類(1)按字高分:筆畫顯示器字高最小有 1mm(單片集成式多位數(shù)碼管字高一般在 23mm) 。其他類型筆畫顯示器

40、最高可達(dá) 12.7mm(0.5 英寸)甚至達(dá)數(shù)百 mm。 (2)按顏色分有紅、橙、黃、綠等數(shù)種。 (3)按結(jié)構(gòu)分,有反射罩式、單條七段式及單片集成式。 (4)從各發(fā)光段電極連接方式分有共陽極和共陰極兩種。(三)led 顯示器的參數(shù)由于 led 顯示器是以 led 為基礎(chǔ)的,所以它的光、電特性及極限參數(shù)意義大部分與發(fā)光二極管的相同。但由于 led 顯示器內(nèi)含多個(gè)發(fā)光二極管,所以需有兩個(gè)特殊參數(shù),第一、發(fā)光強(qiáng)度比(由于數(shù)碼管各段在同樣的驅(qū)動(dòng)電壓時(shí),各段正向電流不相同,所以各段發(fā)光強(qiáng)度不同。所有段的發(fā)光強(qiáng)度值中最大值與最小值之比為發(fā)光強(qiáng)度比。比值可以在 1.52.3 間,最大不能超過 2.5)第二、

41、脈沖正向電流(若筆畫顯示器每段典型正向直流工作電流為 if,則在脈沖下,正向電流可以遠(yuǎn)大于 if。脈沖占空比越小,脈沖正向電流可以越大)3.43.4 ledled 顯示器工作原理顯示器工作原理發(fā)光二極管一般為砷化鎵半導(dǎo)體二極管,在發(fā)光二極管兩端加上正電壓,發(fā)光二極管發(fā)光。而數(shù)碼管 led 是由若干個(gè)二極管組合而成的,一般的“8”字型 led 由“a,b,c,d,e,f,g,dp”8 個(gè)發(fā)光二極管組成,如圖 3-5 所示,每個(gè)發(fā)光二極管稱為一個(gè)字段。圖 3-5 七段 led 結(jié)構(gòu)及外形圖七段 led 有共陰極和共陽極兩種結(jié)構(gòu)形式。顯示電路一般分為靜態(tài)顯示和動(dòng)態(tài)顯示兩類。(1)共陽極接法把發(fā)光二極

42、管的陽極連接在一起構(gòu)成公共陽極。使用時(shí)公共陽極接 vcc,當(dāng)某陰極端為低電平時(shí),該發(fā)光二極管就導(dǎo)通發(fā)光。(2)共陰極接法把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時(shí)公共陰極接 gnd,當(dāng)某陽極端為高電平時(shí),該段發(fā)光二極管就導(dǎo)通發(fā)光。七段 led 包含七段發(fā)光二極管和小數(shù)位發(fā)光二極管,共需 8 位 i/o 口線控制,其代碼為一個(gè)字節(jié)。七段 led 字型碼見表 3-7 所示。表 3-7 七段 led 字形碼顯示字符共陰極字形碼共陽極字形碼顯示字符共陰極 字形碼共陽極字形碼03fhc0hc39hc6h106hf9hd5eha1h25bha4he79h86h34fhb0hf71h8eh466h99h

43、p73h8ch56dh92hu3ehc1h67dh82hr31hceh707hf8hy6eh91h87fh80hh76h89h96fh90hl38hc7ha77h88h“滅”00hffhb7ch83h第四章第四章 系統(tǒng)結(jié)構(gòu)及工作原理系統(tǒng)結(jié)構(gòu)及工作原理4.14.1 系統(tǒng)硬件原理圖及相關(guān)說明系統(tǒng)硬件原理圖及相關(guān)說明本設(shè)計(jì)硬件原理圖如圖 4-7 所示:圖 4-7 單片機(jī)溫度計(jì)硬件設(shè)計(jì)原理圖下面對該電路圖進(jìn)行簡要的說明:(1)基于 80c51 單片機(jī)及其外圍電路的主機(jī)控制單元:80c51 單片機(jī)功能強(qiáng)、i/o 口多,它們分別是 p0 口、p1 口、p2 口和 p3 口。本設(shè)計(jì)中利用了其中的 2 個(gè) i

44、/o 口,與本系統(tǒng)其它部分連接,分別實(shí)現(xiàn)了不同的功能:p1 口輸出段碼,通過 74ls244 連接 4 個(gè) led 顯示器。列掃描用p3.0p3.3 口來實(shí)現(xiàn),列驅(qū)動(dòng)使用 9012 三極管。p3.7 口連接 ds18b20 的輸出。(2)ds18b20 串行組成的一線總線型網(wǎng)絡(luò)由 ds18b20 組成的一線總線網(wǎng)絡(luò),由三條線連接。它們分別是電源線、數(shù)據(jù)傳輸線和地線。電源線根據(jù) ds18b20 的要求,使用 5v 的直流供電。在具體設(shè)計(jì)上可以和 80c51 使用同一個(gè)電壓源。數(shù)據(jù)傳輸線直接連接在 p3 口的 p3.7 引腳上,對應(yīng)著 p3 寄存器的 p3.7 數(shù)據(jù)位,因此主機(jī)對總線上的 ds18

45、b20 的操作實(shí)際上就是對 p3.7 數(shù)據(jù)位的操作12。(3)led 數(shù)字顯示及其驅(qū)動(dòng)電路ds18b20 測溫范圍上限是 125,加上一個(gè)小數(shù)位,因此溫度的十進(jìn)制顯示需要用 4 位 led 顯示。這里的 led 驅(qū)動(dòng)器選擇了 74ls244,74ls244 是一個(gè)兩4 位三態(tài)緩沖器,其引腳如圖 3-8 所示,當(dāng)它的控制端和為低電平時(shí),輸出 y的狀態(tài)與輸入端 a 相同:當(dāng)和為高電平時(shí),輸出成高阻狀態(tài)。輸入設(shè)備的數(shù)據(jù)可在 74ls244 中得到緩沖。圖 4-8 74ls244 外部引腳圖4.24.2 系統(tǒng)軟件算法說明系統(tǒng)軟件算法說明(1)程序開始后,80c51 向 ds18b20 發(fā)送 read

46、rom 命令;(2)ds18b20 向 80c51 發(fā)送 64 位 rom 碼,80c51 將收到的 rom 碼存入數(shù)據(jù)暫存存儲器;(3)80c51 向總線發(fā)送復(fù)位脈沖后釋放總線;(4)80c51 向總線發(fā)送 convert t 命令并延時(shí) 1-2 秒鐘,ds18b20 開始進(jìn)行溫度轉(zhuǎn)換,并將結(jié)果存入存儲器;(5)80c51 向總線發(fā)送復(fù)位脈沖,收到響應(yīng)存在脈沖后,向總線發(fā)送match rom 命令;(6)80c51 向總線發(fā)送 rom 編碼,該 rom 碼的 ds18b20 開始響應(yīng);(7)80c51 向總線發(fā)送 read scratchpad 命令并釋放總線;(8)ds18b20 向總線發(fā)

47、送存儲器里存放的溫度轉(zhuǎn)換結(jié)果;(9)80c51 將接收到的結(jié)果轉(zhuǎn)換成十進(jìn)制,并通過 led 數(shù)碼管顯示出來;80c51向p3.7發(fā)送復(fù)位脈沖釋放總線 80c51向總線發(fā)出convert t命令ds18b20向80c51發(fā)送rom碼并存儲80c51向ds18b20發(fā)送read rom命令 ds18b20開始溫度轉(zhuǎn)換并儲存結(jié)果 80c51向總線發(fā)送復(fù)位脈沖 80c51向總線發(fā)送match rom命令80c51接收數(shù)據(jù)并控制led顯示ds18b20向總線發(fā)送溫度轉(zhuǎn)換結(jié)果 80c51向總線發(fā)出read scratchpad命令結(jié)束開始 總線上的ds18b20開始響應(yīng)圖 4-9 系統(tǒng)工作流程圖當(dāng)系統(tǒng)進(jìn)入

48、溫度監(jiān)測運(yùn)行之后,是無法再進(jìn)入讀 rom 操作的。系統(tǒng)每次重啟進(jìn)入溫度監(jiān)測運(yùn)行模式之后,都要重新搜索總線上 ds18b20 的 rom 碼。所以,如果在系統(tǒng)重啟之前改變總線上的 ds18b20,那么系統(tǒng)就會重新為 ds18b20 排序和編號。用戶在每次重啟的時(shí)候都需要注意這個(gè)問題。要看看總線上的ds18b20 是否有變動(dòng)。如果有變動(dòng),就必須重新為這些 ds18b20 的編號做記錄。反過來說,如果系統(tǒng)總線上的 ds18b20 發(fā)生變動(dòng),就必須重啟系統(tǒng)。重新搜索ds18b20 的 rom 碼。第五章第五章 系統(tǒng)程序的設(shè)計(jì)系統(tǒng)程序的設(shè)計(jì)5.15.1 程序模塊設(shè)計(jì)程序模塊設(shè)計(jì)系統(tǒng)程序主要包括 c 程序

49、主函數(shù)、ds18b20 復(fù)位函數(shù)、ds18b20 寫字節(jié)函數(shù)、ds18b20 讀字節(jié)函數(shù)、溫度計(jì)算轉(zhuǎn)換函數(shù)和顯示函數(shù)。1:主函數(shù)主函數(shù)的主要功能是初始化并負(fù)責(zé)溫度的讀出、處理計(jì)算及顯示。溫度測量每 2s 進(jìn)行一次,其程序流程如圖 5-1 所示:初始化開機(jī)顯示“8888”顯示2s讀出溫度值,主機(jī)發(fā)出溫度轉(zhuǎn)換命令,溫度計(jì)算處理顯示溫度值2s圖 5-1 ds18b20 數(shù)字溫度計(jì)主函數(shù)流程圖2:ds18b20 復(fù)位函數(shù)復(fù)位函數(shù)時(shí)序如圖 5-1 所示,總線 t0 時(shí)刻發(fā)送一復(fù)位脈沖,接著在 t1 時(shí)刻釋放總線并進(jìn)入接收狀態(tài),ds18b20 在總線的上升沿之后等待 1560s,然后在t2 時(shí)刻發(fā)出存在脈

50、沖,如圖虛線所示,單片機(jī)接收到低電平脈沖說明復(fù)位成功,否則需要重新進(jìn)行復(fù)位操作。圖 5-1 ds18b20 復(fù)位時(shí)序 3:ds18b20 寫字節(jié)函數(shù)當(dāng)主機(jī)總線 t0 時(shí)刻從高拉至低電平時(shí)就產(chǎn)生寫時(shí)間隙,寫位時(shí)序見圖 3-12。從 t0 時(shí)刻開始 15s 之內(nèi)主機(jī)應(yīng)將所需寫的位送到總線上,ds18b20 在 t0后 1560s 內(nèi)對總線電平采樣。連續(xù)寫兩位的間隙應(yīng)大于 1s。圖 5-2 ds18b20 寫 0 和寫 1 時(shí)序4:讀字節(jié)函數(shù)如圖 5-3 所示為讀位時(shí)序函數(shù),主機(jī)總線 t0 時(shí)刻從高拉至低電平時(shí),總線需要保持低電平 14s,之后在 t1 時(shí)刻將總線拉高產(chǎn)生讀時(shí)間隙,讀時(shí)間隙在 t1

51、時(shí)刻后 t2 時(shí)刻前有效,t2 距 t015s,也就是說 t2 時(shí)刻前主機(jī)必須完成讀位并在 t0 后的 60120s 內(nèi)釋放總線。連續(xù)讀 2 位的間隙應(yīng)大于 1s。圖 5-3 讀位函數(shù)時(shí)序5:溫度計(jì)算轉(zhuǎn)換函數(shù)溫度數(shù)據(jù)處理程序?qū)?12 位溫度值進(jìn)行 bcd 碼轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判斷,其程序流程如圖 3-14 所示:溫度值取補(bǔ)碼置“-”標(biāo)志開始溫度零下?計(jì)算小數(shù)位的bcd碼計(jì)算整數(shù)位的bcd碼返回yn圖 5-4 溫度計(jì)算轉(zhuǎn)換函數(shù)流程圖6:ds18b20 的主要 rom 命令和存儲器命令一旦總線主機(jī)檢測到從屬器件的存在,它便可以發(fā)出某個(gè) rom 操作命令。所有 rom 操作命令均為 8 位

52、長,這些命令列表如下表 5-5 所示:表 5-5 rom 操作指令指令說明代碼總線操作read rom讀 rom33hds18b20 發(fā)送 rom 碼match rom匹配 romcch主機(jī)發(fā)送 rom 碼skip rom跳過 rom55h主機(jī)發(fā)出存儲器命令search rom搜索 romf0hds18b20 發(fā)送第一位“與”alarm search告警搜索echds18b20 發(fā)送“0”或“1”(1)read rom(讀 rom)33h此命令允許總線主機(jī)讀 ds18b20 的 8 位產(chǎn)品系列編碼、唯一的 48 位序列號,以及 8 位的 crc。此命令只能在總線上僅有一個(gè) ds18b20 的情

53、況下使用。如果總線上存在多于一個(gè)的從屬器件,那么當(dāng)所有從片企圖同時(shí)發(fā)送時(shí),總線上將發(fā)生數(shù)據(jù)沖突的現(xiàn)象,漏極開路會產(chǎn)生線與的結(jié)果。(2)match rom(匹配 rom)55h符合 rom 命令,后繼以 64 位的 rom 數(shù)據(jù)序列,使總線主機(jī)能對總線上特定的 ds18b20 尋址。只有與 64 位 rom 序列嚴(yán)格相符的 ds18b20 才能對后繼的存貯器操作命令做出響應(yīng)。所有與 64 位 rom 序列不符的從機(jī)將停止響應(yīng),等待復(fù)位脈沖。此命令在總線上有單個(gè)或多個(gè)器件的情況下均可使用。(3)skip rom(跳過 rom)cch在單點(diǎn)總線系統(tǒng)中,此命令允許總線主機(jī)不提供 64 位 rom 編碼

54、而訪問存儲器。由于該命令可以命令總線上所有從機(jī)同時(shí)進(jìn)行相同的操作,因此能夠縮短系統(tǒng)運(yùn)行的周期。如果在總線上存在多于一個(gè)的從屬器件,而且在 skip rom命令之后,又指令所有從機(jī)向總線發(fā)送數(shù)據(jù),那么會在總線上發(fā)生數(shù)據(jù)沖突,并產(chǎn)生“線與”的效果16。(4)search rom(搜索 rom)f0h當(dāng)系統(tǒng)開始工作時(shí),總線主機(jī)可能不知道總線上器件的個(gè)數(shù),或者是不知道它們的 64 位 rom 編碼,搜索 rom 命令允許總線主機(jī)使用一種消去處理,來識別總線上所有從片的 64 位 rom 編碼以及得知總線上 ds18b20 的數(shù)量。(5)alarm search(告警搜索)ech此命令的流程與搜索 ro

55、m 命令相同。但是,僅在最近一次溫度測量出現(xiàn)告警的情況下,ds18b20 才對此命令作出響應(yīng)。告警的條件定義為溫度高于 th 或低于 tl。只要 ds18b20 一上電,告警條件就保持在設(shè)置狀態(tài),直到另一次溫度測量顯示出非告警值,或者改變 th 或 tl 的設(shè)置使得測量值再一次位于允許的范圍內(nèi)。貯存在 e2prom 的觸發(fā)器值用于告警。ds18b20 的 rom 操作命令設(shè)置,不但能夠幫助實(shí)現(xiàn)“一主多從”的溫度檢測網(wǎng)絡(luò),同時(shí)由于 skip rom 命令的設(shè)置,在加快系統(tǒng)運(yùn)行周期方面也具有獨(dú)特的優(yōu)勢。主機(jī)在進(jìn)入操作程序前必須接入 ds18b20,用 rom 命令建立與目標(biāo)ds18b20 的通信。

56、程序中如果先有 skip rom 命令,然后執(zhí)行 convert t 命令,即是啟動(dòng)所有 ds18b20 進(jìn)行溫度變換。之后通過 match rom 再逐一地讀回每個(gè) ds18b20 的溫度數(shù)據(jù)。在 ds18b20 組成的測溫系統(tǒng)中,主機(jī)在發(fā)出 skip rom 命令之后再發(fā)出統(tǒng)一的溫度轉(zhuǎn)換啟動(dòng)碼 44h,就可以實(shí)現(xiàn)所有溫度轉(zhuǎn)換。再經(jīng)過 12s 后,就能用很少的時(shí)間去讀取,這種方式使得系統(tǒng)的運(yùn)行周期小于傳統(tǒng)方式。傳統(tǒng)方式中由于采取公用的放大電路和 a/d 轉(zhuǎn)換器,只能讓傳感器的測量結(jié)果逐一轉(zhuǎn)換。(6)read scratchpad(讀暫存存儲器)beh此命令讀暫存存儲器的內(nèi)容,讀操作開始于字節(jié)

57、“0”并繼續(xù)經(jīng)過暫存存儲器直至第九個(gè)字節(jié),直到 crc 被讀出為止。如果不是所有位置均可讀,那么主機(jī)可以在任何時(shí)候發(fā)出復(fù)位脈沖以中止讀操作。(7)copy scratchpad(復(fù)制暫存存儲器)48h此命令把暫存存儲器復(fù)制入 ds18b20 的 e2 存儲器,把溫度觸發(fā)器字節(jié)存入非易失性存儲器。如果總線主機(jī)在此命令之后發(fā)出讀時(shí)間片,那么當(dāng)ds18b20 正忙于把暫存存儲器復(fù)制入 e2 時(shí),它就會在總線上輸出 0,當(dāng)復(fù)制過程完成之后它將返回 1。如果由寄生電源供電,總線主機(jī)在發(fā)出此命令之后必須能立即強(qiáng)制上拉至少 l0ms。(8)write scratchpad(寫暫存存儲器)4eh此命令將兩個(gè)溫

58、度閾值寫入 ds18b20 的存儲器。當(dāng)測量溫度超過閾值范圍時(shí),傳感器將發(fā)出報(bào)警信號。(9)convert t(溫度變換)44h此命令開始溫度變換。不需要另外的數(shù)據(jù),溫度變換將被執(zhí)行。接著ds18b20 便保持在空閑狀態(tài)。如果總線主機(jī)在此命令之后發(fā)出讀時(shí)間片,此時(shí)如果 ds18b20 正忙于進(jìn)行溫度變換,它將在總線上輸出 0。當(dāng)溫度變換完成時(shí)它便返回 1。如果由寄生電源供電,那么總線主機(jī)在發(fā)出此命令之后必須立即強(qiáng)制上拉至少 2 秒。(10)recall e2(重新調(diào)出 e2 內(nèi)的數(shù)據(jù))b8h此命令把存儲溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯ζ?。這種重新調(diào)出的操作在 ds18b20 上電時(shí)也會自動(dòng)發(fā)生。

59、因此只要器件一接電,暫存存儲器內(nèi)就有有效的數(shù)據(jù)可供使用。在此命令發(fā)出之后,對于所發(fā)出的每一個(gè)讀數(shù)據(jù)時(shí)間片,器件都將輸出其忙的標(biāo)志:“0”代表忙, “1”代表準(zhǔn)備就緒。(11)read power supply(讀電源)b4h對于在此命令送至 ds18b20 之后所發(fā)出的第一讀出數(shù)據(jù)的時(shí)間片器件都會給出其電源方式的:“0”代表寄生電源供電;“1”代表外部電源供電。表 5-6 存儲器操作命令指令說明代碼總線操作convert t啟動(dòng)溫度變換44h總線釋放等待 12 秒read scratchpad從暫存存儲器讀字節(jié)behds18b20 發(fā)出存儲器內(nèi)數(shù)據(jù)write scratchpad寫字節(jié)入 th

60、 和 tl4eh主機(jī)向存儲器發(fā)送數(shù)據(jù)copy scratchpad存儲器內(nèi)容復(fù)制 e243hds18b20“復(fù)制忙”狀態(tài)recall e2e2 內(nèi)容重新調(diào)入存儲器e3hds18b20“讀數(shù)據(jù)忙”狀態(tài)read power supply檢測 ds18b20 供電方式b4h讀電源5.25.2 溫度數(shù)據(jù)的計(jì)算處理方法溫度數(shù)據(jù)的計(jì)算處理方法從 ds18b20 讀取的二進(jìn)制數(shù)值必須先轉(zhuǎn)換為十進(jìn)制數(shù)值,才能用于字符的顯示。因?yàn)?ds18b20 的轉(zhuǎn)換精度為 912 位可選,為了提高精度采用 12 位。在采用 12 位轉(zhuǎn)換精度時(shí),溫度寄存器里的值以 0.0625 為步進(jìn),即溫度值為溫度寄存器里的二進(jìn)制值乘以

溫馨提示

  • 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

提交評論