基于單片機(jī)的數(shù)字式溫度計(jì)的設(shè)計(jì)_第1頁
基于單片機(jī)的數(shù)字式溫度計(jì)的設(shè)計(jì)_第2頁
基于單片機(jī)的數(shù)字式溫度計(jì)的設(shè)計(jì)_第3頁
基于單片機(jī)的數(shù)字式溫度計(jì)的設(shè)計(jì)_第4頁
基于單片機(jī)的數(shù)字式溫度計(jì)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(jì)(論文)目 錄摘 要IAbstractII1 緒論11.1 國內(nèi)外測(cè)溫狀況11.2 溫度檢測(cè)技術(shù)介紹21.3 課題研究的主要內(nèi)容32 設(shè)計(jì)方案42.1 方案142.2 方案252.3 方案比較與選擇53 設(shè)計(jì)原理及結(jié)構(gòu)63.1 DS18B20結(jié)構(gòu)及工作原理63.2單片機(jī)介紹103.3 LED顯示器簡介113.3.1 LED顯示器工作原理113.3.2 LED顯示電路123.4 系統(tǒng)結(jié)構(gòu)及工作原理133.4.1 系統(tǒng)硬件原理圖及相關(guān)說明133.4.2 系統(tǒng)軟件算法說明143.5 系統(tǒng)程序的設(shè)計(jì)153.5.1 程序模塊設(shè)計(jì)153.5.2 溫度數(shù)據(jù)的計(jì)算處理方法194 結(jié)束語20致謝21參考

2、文獻(xiàn)22附錄2333摘 要溫度作為一個(gè)重要的物理量,是工業(yè)生產(chǎn)過程中最普遍、最重要的工藝參數(shù)之一,所以溫度測(cè)量技術(shù)和測(cè)量儀器的研究是一個(gè)重要的課題。隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)伸入到各個(gè)領(lǐng)域,基于單片機(jī)數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,其輸出溫度采用數(shù)字顯示,本文將介紹一種基于單片機(jī)控制的數(shù)字溫度計(jì)。筆者仔細(xì)研究了美國Dallas公司開發(fā)的一線總線技術(shù)及其通信協(xié)議。本文首先詳細(xì)介紹了一線總線智能溫度傳感器DS18B20及單片機(jī)工作原理,在此基礎(chǔ)上,設(shè)計(jì)了相應(yīng)的硬件原理圖及軟件程序,實(shí)現(xiàn)了溫度檢測(cè)與顯示環(huán)節(jié)。文章最后對(duì)整個(gè)設(shè)計(jì)過程中所涉及的問題及所學(xué)到的知識(shí)進(jìn)行了總

3、結(jié)。關(guān)鍵詞:一線總線,單片機(jī),數(shù)字溫度傳感器,DS18B20AbstractAs an important physics quantity, temperature is one of the most widespread and important parameters in industry production. It is a very important subject to research the technology and instrument of measure temperature. Along with the time progressed, the SCMC

4、 technology has been already popularized in many fields. Compared with the traditional thermometer, The digital thermometer is more convenient in reading and has lager range in measuring temperature. Its output of temperature uses the numeral to display. This article introduces a kind of digital the

5、rmometer based on SCMC.The author studied the 1-wire bus technology and the communication protocol developed by the Dallas Semiconductor company in USA. This article describes the working principles of DS18B20 and SCMC, base on which, the author designed the corresponding software and hardware to re

6、alize a digital thermometer. At the end of this article, the paper makes a summary of the problems involved in this design and the knowledge acquired from it.Keywords:1wire bus, SCMC, Digital Temperature sensor, DS18B201 緒論“工欲善其事,必先利其器”,這是中國的一句古話,人們?cè)缇椭拦ぞ叩闹匾?。隨著以知識(shí)經(jīng)濟(jì)為特征的信息時(shí)代的到來,人們對(duì)儀器儀表作用的認(rèn)識(shí)愈加深入。作為工業(yè)

7、自動(dòng)化技術(shù)工具的自動(dòng)化儀表與控制裝置,在高新技術(shù)的推動(dòng)下,正跨入真正的數(shù)字化、智能化、網(wǎng)絡(luò)化的時(shí)代。而溫度作為一個(gè)重要的物理量,是工業(yè)生產(chǎn)過程中最普遍、最重要的工藝參數(shù)之一。隨著工業(yè)的不斷發(fā)展,對(duì)溫度測(cè)量的要求越來越高,而且測(cè)量的范圍也越來越廣,對(duì)溫度的檢測(cè)技術(shù)的要求也越來越高。因此,溫度測(cè)量和溫度測(cè)量技術(shù)的研究也是一個(gè)重要的研究課題。1.1 國內(nèi)外測(cè)溫狀況隨著國內(nèi)外工業(yè)的日益發(fā)展,溫度檢測(cè)技術(shù)也不斷地進(jìn)步,目前的溫度檢測(cè)使用的溫度計(jì)種類繁多、應(yīng)用范圍也較廣泛,大致包括以下幾種方法:(1)利用物體熱脹冷縮原理制成的溫度計(jì)利用此原理制成的溫度計(jì)大致分成三大類:a 玻璃溫度計(jì),它是利用玻璃感溫包內(nèi)

8、的測(cè)溫物質(zhì)(水銀、酒精、甲苯、煤油等)受熱膨脹、遇冷收縮的原理進(jìn)行溫度測(cè)量的;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)變化,用彈簧管壓力表測(cè)出它的壓力值,經(jīng)換算得出被測(cè)物質(zhì)的溫度值。(2)利用熱電效應(yīng)技術(shù)制成的溫度檢測(cè)元件利用此技術(shù)制成的溫度檢測(cè)元件主要是熱電偶。熱電偶發(fā)展較早,比較成熟,至今仍為應(yīng)用最廣泛的檢

9、測(cè)元件。熱電偶具有結(jié)構(gòu)簡單、制作方便、測(cè)量范圍寬、精度高、熱慣性小等特點(diǎn)。常用的熱電偶有以下幾種:a 鎳鉻-鎳硅,型號(hào)為WRN,分度號(hào)為K,測(cè)溫范圍0-900,短期可測(cè)1200。b 鎳鉻-康銅,型號(hào)為WRK,分度號(hào)為F,測(cè)溫范圍0-600,短期可測(cè)800。c 鉑銠-鉑,型號(hào)為WRP,分度號(hào)為S,在1300以下的溫度可長期使用,短期可測(cè)1600。d 鉑鍺30-鉑鍺6,型號(hào)為WRR,分度號(hào)為B,測(cè)溫范圍300-1600,短期可測(cè)1800。(3)利用熱阻效應(yīng)技術(shù)制成的溫度計(jì)用此技術(shù)制成的溫度計(jì)大致可分成以下幾種:a 電阻測(cè)溫元件,它是利用感溫元件(導(dǎo)體)的電阻隨溫度變化的性質(zhì),將電阻的變化值用顯示儀

10、表反映出來,從而達(dá)到測(cè)溫的目的。目前常用的有鉑熱電阻(分度號(hào)為Pt100,Pt10兩種)和銅熱電阻(分度號(hào)有Cu5O,Cu100兩種)。b 導(dǎo)體測(cè)溫元件,它與熱電阻的溫阻特性剛好相反,即有很大副溫度系數(shù),也就是說溫度升高時(shí),其阻值降低。他們的關(guān)系為:式中 RT在溫度T(K)時(shí)的電阻值;RT0在溫度T0(K)時(shí)的電阻值;e自然對(duì)數(shù)的底;B常數(shù),其值與半導(dǎo)體材料的成分和制作方法有關(guān)。c 陶瓷熱敏元件它的實(shí)質(zhì)是利用半導(dǎo)體電阻的正溫特性,用半導(dǎo)體陶瓷材料制作而成的熱敏元件,常稱為PCI,或NCI熱敏元件。PCT熱敏元件分為突變型和緩變型兩類。突變型PCT元件的溫阻特性是當(dāng)溫度達(dá)到頂點(diǎn)時(shí),它的阻值突然變

11、大,有限流功能,多數(shù)用于保護(hù)電器。緩變型PCI元件的溫阻特性基本上隨溫度升高阻值慢慢增大,起溫度補(bǔ)償作用。NCI元件特性與PGT元件的突變特性剛好相反,即隨溫度升高,它的阻值減小1。(4)利用熱輻射原理制成的高溫計(jì)輻射測(cè)溫在近年相對(duì)其他的測(cè)溫領(lǐng)域顯得活躍些,熱輻射高溫計(jì)通常分為兩種:一種是單色輻射高溫計(jì),一般稱光學(xué)高溫計(jì);另一種是全輻射高溫計(jì),它的原理是物體受熱輻射后,視物體本身的性質(zhì),能將其吸收、透過或反射。而受熱物體放出的輻射能的多少,與它的溫度有一定的關(guān)系。熱輻射式高溫計(jì)就是根據(jù)這種熱輻射原理制成的。(5)利用聲學(xué)原理進(jìn)行溫度測(cè)量聲學(xué)法溫度檢測(cè)技術(shù)是近年來發(fā)展起來的一項(xiàng)新技術(shù),利用該技術(shù)

12、,可以對(duì)爐內(nèi)的煙氣溫度測(cè)量值和火焰分布在線檢測(cè),判斷爐的燃燒狀況,進(jìn)行實(shí)時(shí)調(diào)節(jié)和控制。聲學(xué)溫度檢測(cè)技術(shù)的基本原理是通過測(cè)量聲波傳感器間的聲波傳播時(shí)間以最小二乘原理重建溫度的測(cè)量方法。1.2 溫度檢測(cè)技術(shù)介紹近年來,在溫度檢測(cè)技術(shù)領(lǐng)域,多種新的檢測(cè)原理與技術(shù)的開發(fā)應(yīng)用,已取得了重大進(jìn)展。新一代溫度檢測(cè)元件正在不斷出現(xiàn)和完善化。(1)晶體管溫度檢測(cè)元件半導(dǎo)體溫度檢測(cè)元件是具有代表性的溫度檢測(cè)元件。半導(dǎo)體的電阻溫度系數(shù)比金屬大12個(gè)數(shù)量級(jí),二級(jí)管和三極管的PN結(jié)電壓、電容對(duì)溫度靈敏度很高?;谏鲜鰷y(cè)溫原理己研制了各種溫度檢測(cè)元件2。(2)集成電路溫度檢測(cè)元件利用硅晶體管基極發(fā)射極間電壓與溫度關(guān)系(即

13、半導(dǎo)體PN結(jié)的溫度特性)進(jìn)行溫度檢測(cè),并把測(cè)溫、激勵(lì)、信號(hào)處理電路和放大電路集成一體,封裝于小型管殼內(nèi),即構(gòu)成了集成電路溫度檢測(cè)元件。目前,國內(nèi)外也進(jìn)行了生產(chǎn)。(3)核磁共振溫度檢測(cè)器所謂核磁共振現(xiàn)象是指具有核自旋的物質(zhì)置于靜磁場(chǎng)中時(shí),當(dāng)與靜磁場(chǎng)垂直方向加以電磁波,會(huì)發(fā)生對(duì)某頻率電磁的吸收現(xiàn)象。利用共振吸收頻率隨溫度上升而減少的原理研制成的溫度檢測(cè)器,稱為核磁共振溫度檢測(cè)器。這種檢測(cè)器精度極高,可以測(cè)量出千分之一開爾文,而且輸出的頻率信號(hào)適于數(shù)字化運(yùn)算處理,故是一種性能十分良好的溫度檢測(cè)器。在常溫下,可作理想的標(biāo)準(zhǔn)溫度計(jì)之用。(4)熱噪聲溫度檢測(cè)器它的原理是利用熱電阻元件產(chǎn)生的噪聲電壓與溫度的

14、相關(guān)性。其特點(diǎn)是:a 輸出噪聲電壓大小與溫度是比例關(guān)系;b 不受壓力影響;c 感溫元件的阻值幾乎不影響測(cè)量精確度;所以它是可以直接讀出絕對(duì)溫度值而不受材料和環(huán)境條件限制的溫度檢測(cè)器。(5)石英晶體溫度檢測(cè)器它采用LC或Y型切割的石英晶片的共振頻率隨溫度變化的特性來制作的。它利用P技術(shù),自動(dòng)補(bǔ)償石英晶片的非線性,測(cè)量精度較高,一般可檢測(cè)到0.001,所以可作標(biāo)準(zhǔn)檢測(cè)之用。(6)激光溫度檢測(cè)器激光測(cè)溫特別適于遠(yuǎn)程測(cè)量和特殊環(huán)境下的溫度測(cè)量。用氦氖激光源的激光作反射計(jì)可測(cè)得很高的溫度,精度達(dá)1%;用激光干涉和散射原理制作的溫度檢測(cè)器可測(cè)量更高的溫度,上限可達(dá)3000,專門用于核聚變研究,但在工業(yè)上應(yīng)

15、用還需進(jìn)一步開發(fā)和實(shí)驗(yàn)。(7)微波溫度檢測(cè)器采用微波測(cè)溫可以達(dá)到快速測(cè)量高溫的目的。它是利用在不同溫度下,溫度與控制電壓成線性關(guān)系的原理制成的。這種檢測(cè)器的靈敏度為250kHZ/,精度為1%左右,檢測(cè)范圍為201400。(8)純貴金屬熱電偶的研究由兩種純金屬組成的熱電偶,因其材料均勻性遠(yuǎn)優(yōu)于合金材料,因而穩(wěn)定性好得多。在鉑銠合金熱電偶(S,R型)的不確定度已很難提高之后,人們開始尋找由純貴金屬組成的熱電偶,以代替S和R型熱電偶,作為傳遞的標(biāo)準(zhǔn)3。(9)信息技術(shù)時(shí)代自動(dòng)化系統(tǒng)中的溫度檢測(cè)儀表現(xiàn)代的工業(yè)過程自動(dòng)化系統(tǒng)是現(xiàn)場(chǎng)總線控制系統(tǒng),它是信息技術(shù)進(jìn)入工業(yè)自動(dòng)化后出現(xiàn)的新一代的自動(dòng)控制系統(tǒng)?,F(xiàn)場(chǎng)總

16、線是安裝在制造或過程區(qū)域的現(xiàn)場(chǎng)裝置與控制室內(nèi)的自控裝置之間的數(shù)字式、串行、多點(diǎn)通信的數(shù)據(jù)總線。所有的現(xiàn)場(chǎng)儀表(溫度檢測(cè)儀表是其中一種)均接到現(xiàn)場(chǎng)總線上。在這樣的系統(tǒng)中,通常不應(yīng)使用各有不同輸出的溫度計(jì),必須將輸出轉(zhuǎn)變成統(tǒng)一的電信號(hào),這樣“溫度計(jì)”就變成了“溫度變送器”。在現(xiàn)場(chǎng)總線控制系統(tǒng)中的溫度變送器主要是熱電偶變送器和熱電阻變送器,也有輻射溫度變送器。1.3 課題研究的主要內(nèi)容溫度傳感器是當(dāng)前溫度檢測(cè)的主要器件,本課題的主要出發(fā)點(diǎn)是設(shè)計(jì)出測(cè)量溫度檢測(cè)的溫度連續(xù)檢測(cè)的儀器。本文主要講述了用溫度傳感測(cè)溫的主要原理、實(shí)際硬件電路的設(shè)計(jì)、軟件設(shè)計(jì)和調(diào)試分析。第1章介紹了溫度檢測(cè)現(xiàn)狀和儀器儀表的發(fā)展現(xiàn)

17、狀。第2章提出了幾種單片機(jī)數(shù)字溫度計(jì)的設(shè)計(jì)方案并作出比較。第3章講述了單片機(jī)系統(tǒng)硬件電路的設(shè)計(jì)過程,包括對(duì)智能溫度傳感器DS18B20詳細(xì)的介紹以及單片機(jī)系統(tǒng)的設(shè)計(jì),并講述了儀器的軟件設(shè)計(jì),給出了軟件流程圖,整套儀器是由單片機(jī)系統(tǒng)控制的,包括LED顯示器、通訊接口等。第4章進(jìn)行系統(tǒng)調(diào)試分析,這將有助于今后對(duì)系統(tǒng)的改進(jìn),以進(jìn)一步提高系統(tǒng)的測(cè)量精度,并講述了通過本設(shè)計(jì)所得的結(jié)論和心得體會(huì)。2 設(shè)計(jì)方案2.1 方案1系統(tǒng)的硬件電路包括微控制器部分(主機(jī)),溫度檢測(cè),人機(jī)對(duì)話(鍵盤/顯示)三個(gè)主要部分。系統(tǒng)結(jié)構(gòu)框圖和硬件原理圖分別如圖2-1和圖2-2所示。圖2-1 方案1系統(tǒng)結(jié)構(gòu)框圖溫度檢測(cè)部分采用傳

18、統(tǒng)的熱敏電阻,熱敏電阻的阻值隨環(huán)境溫度變化而變化,變送器將電阻信號(hào)轉(zhuǎn)換成與溫度成正比的電壓信號(hào),經(jīng)A/D轉(zhuǎn)換器將其轉(zhuǎn)換為單片機(jī)可識(shí)別得二進(jìn)制數(shù)字量,單片機(jī)主要控制LED顯示器顯示正確的溫度值,LED顯示器實(shí)現(xiàn)顯示功能。圖2-2 方案1系統(tǒng)硬件原理圖2.2 方案2本方案與方案1的區(qū)別主要是在溫度檢測(cè)部分利用了一款新型的溫度檢測(cè)芯片DS18B20,這個(gè)芯片大大簡化了溫度檢測(cè)模塊的設(shè)計(jì),它無需A/D轉(zhuǎn)換,可直接將測(cè)得的溫度值以二進(jìn)制形式輸出。該方案的原理框圖和硬件原理圖如圖2-3和圖2-4所示:LED顯示器80C51單片機(jī)溫度傳感器DS18B20圖2-3 方案2系統(tǒng)結(jié)構(gòu)框圖DS18B20是美國達(dá)拉斯

19、半導(dǎo)體公司生產(chǎn)的新型溫度檢測(cè)器件,它是單片結(jié)構(gòu),無需外加A/D即可輸出數(shù)字量,通訊采用單線制,同時(shí)該通訊線還可兼作電源線,即具有寄生電源模式。它具有體積小、精度易保證、無需標(biāo)定等特點(diǎn),特別適合與單片機(jī)合用構(gòu)成智能溫度檢測(cè)及控制系統(tǒng)4。圖2-4 方案2系統(tǒng)硬件原理圖2.3 方案比較與選擇方案1與方案2的主要區(qū)別在溫度檢測(cè)部分,方案1是采用熱敏電阻檢測(cè)溫度,然后利用A/D轉(zhuǎn)換器將溫度模擬量轉(zhuǎn)換為二進(jìn)制數(shù)供單片機(jī)處理。方案2主要利用DS18B20這塊芯片進(jìn)行溫度檢測(cè),并將采集到的模擬量轉(zhuǎn)換為單片機(jī)識(shí)別的二進(jìn)制數(shù)。方案1與方案2相比,它最大的特點(diǎn)就是它能檢測(cè)的溫度范圍很大,熱敏電阻的性能決定了整個(gè)設(shè)計(jì)

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

21、,而價(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則對(duì)DS18B20各引腳進(jìn)行了單獨(dú)介紹。圖3-1 DS18B20引腳圖表3-1 DS18B20引腳說明引腳符號(hào)說明1GND接地2DQ單線運(yùn)用的數(shù)據(jù)

22、輸入/輸出引腳漏極開路3VDD可選VDD引腳的兩種供電方式DS18B20有兩種供電方式可供選擇,即數(shù)據(jù)總線供電方式和外部供電方式。采取數(shù)據(jù)總線供電方式可以節(jié)省一根導(dǎo)線,但是完成溫度測(cè)量的時(shí)間較長;采取外部供電方式會(huì)多用一根于供電導(dǎo)線,好處是可以更快的得到溫度測(cè)量的結(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線。通過比較系列號(hào)可以在一根線上掛接多個(gè)DS18B20;低壓供電,電源范圍從3V5.5V,也可以直接從數(shù)據(jù)線上竊取電源;測(cè)溫范圍-55125攝氏度;數(shù)據(jù)位可編程9-12位,轉(zhuǎn)換12位溫度時(shí)間為75

23、0ms(最大);用戶可自設(shè)定預(yù)警上下限溫度;報(bào)警搜索命令可識(shí)別和尋址那個(gè)器件的溫度至超出預(yù)定值。DS18B20的另一特點(diǎn)是無外線電源工作能力。當(dāng)總線為高時(shí),穩(wěn)定電源的提供是通過單線上的上拉電阻實(shí)現(xiàn)的,總線信號(hào)“高”也控制內(nèi)部電容(Cpp),當(dāng)總線為低時(shí)由電容為器件供電。從單線總線上獲得電源的方法被稱之為“寄生電源”。DS18B20也可以通過外部供電從VDD獲得電源。DS18B20工作過程中的協(xié)議如下(1)初始化;(2)ROM操作命令;(3)存儲(chǔ)器操作命令;(4)處理數(shù)據(jù);2)64位激光ROM碼每一個(gè)DS18B20都有一個(gè)64位碼(見表3-2)存在ROM中。ROM碼的低8位含有DS18B20的單

24、線產(chǎn)品系列編碼:28H。接下來的48位包含了唯一的系列號(hào)。高8位包含有一個(gè)循環(huán)冗余校驗(yàn)字節(jié),它是根據(jù)ROM碼的前56位計(jì)算得到的。表3-2 64位激光ROM碼 8位CRC 48位序列號(hào) 8位系列編碼(10H) MSB LSB MSB LSB MSB LSB3)溫度測(cè)量DS18B20的存儲(chǔ)器如表3-3所示,存儲(chǔ)器由一個(gè)高速暫存便箋式RAM和一個(gè)非易失性E2PRAM組成,后者存儲(chǔ)上限溫度和下限溫度的值,還有觸發(fā)器TH和TL。暫存存儲(chǔ)器有助于在進(jìn)行一線通信時(shí),確保數(shù)據(jù)的完整性。數(shù)據(jù)首先寫入暫存存儲(chǔ)器,并在那里被讀回。當(dāng)數(shù)據(jù)校驗(yàn)之后。執(zhí)行復(fù)制暫存存儲(chǔ)器的命令,將數(shù)據(jù)傳送到非易失性存儲(chǔ)器E2PRAM中,

25、這一過程確保了更改存儲(chǔ)器時(shí)數(shù)據(jù)的完整性。表3-3 DS18B20存儲(chǔ)器映像表存儲(chǔ)器位溫度 LSB1溫度 MSB2TH 用戶字節(jié)13TL 用戶字節(jié)24配置寄存器5保留6保留7保留8CRC9非易失性存儲(chǔ)器TH 用戶字節(jié)1TL 用戶字節(jié)2暫存存貯器是按8位字節(jié)存儲(chǔ)器來組織的,前兩個(gè)字節(jié)包含溫度信息;第3和第4個(gè)字節(jié)分別是TH和TL的易失性拷貝,且在每一次上電復(fù)位時(shí)被刷新;第5個(gè)字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率;6,7,8的三個(gè)字節(jié)沒有使用,但是在讀回時(shí)它們呈現(xiàn)為邏輯全1;第9個(gè)字節(jié)讀出前面8個(gè)字節(jié)的CRC碼,用來校驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性7。DS18B20通過使用在板

26、on-board溫度測(cè)量專利技術(shù)來測(cè)量溫度,溫度測(cè)量電路的方框圖見下圖3-3所示:圖3-3 溫度測(cè)量電路DS18B20通過門開通期間內(nèi),低溫度系數(shù)振蕩器經(jīng)歷的時(shí)鐘周期個(gè)數(shù)計(jì)數(shù)來測(cè)量溫度。同時(shí)門開通期由高溫度系數(shù)振蕩器決定,計(jì)數(shù)器預(yù)置對(duì)應(yīng)于-55的基數(shù)。如果在門開通期結(jié)束前計(jì)數(shù)器達(dá)到零,那么溫度寄存器仍被預(yù)置到-55的數(shù)值。同時(shí)計(jì)數(shù)器用斜率累加器電路所決定的值進(jìn)行預(yù)置。為了對(duì)遵循拋物線規(guī)律的振蕩器溫度特性進(jìn)行補(bǔ)償,這種電路是必需的。時(shí)鐘再次使計(jì)數(shù)器計(jì)值,至它達(dá)到零。如果門開通時(shí)仍未結(jié)束,那么此過程再次重復(fù)。斜率累加器用于補(bǔ)償振蕩器溫度特性的非線性,以產(chǎn)生高分辨率的溫度測(cè)量。通過改變溫度每升高一度

27、計(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位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在前,高位在后,數(shù)據(jù)格式以0.625/LSB形式表示。溫度值格式如表3-4所示:表3-4 溫度值格式表Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit023 22 21 20 2-1 2-2 2-3 2-4Bit15Bit14Bit13Bit12Bit

28、11Bit10Bit9Bit8SSSSS26 2524當(dāng)符號(hào)位S=0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù);當(dāng)符號(hào)為S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算其對(duì)應(yīng)的十進(jìn)制數(shù)。表3-5說明了輸出數(shù)據(jù)與測(cè)量溫度的關(guān)系8:表3-5 模數(shù)轉(zhuǎn)換對(duì)應(yīng)值溫度數(shù)字輸出(二進(jìn)制)十六進(jìn)制表示12500000011 1101000007D0H8500000101 0101 0000055025.062500000001 100100010191H10.12500000000 1010001000A2H0.500000000 000010000008H000000000 0

29、00000000000H-0.511111111 11111000FFF8H-10.12511111111 0101 1110FF5EH-25.062511111110 01101111FE5FH-5511111111 10010010FC90HDS18B20完成溫度轉(zhuǎn)換后,把測(cè)得的溫度值與RAM中的TH和TL內(nèi)容作比較,若TTH或TTL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)的報(bào)警搜索命令作出響應(yīng),因此,可用多只DS18B20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索。4)CRC的產(chǎn)生總線上的主機(jī)可以根據(jù)ROM的前56位計(jì)算出CRC的值,并把它與存貯在DS18B20內(nèi)的CRC值進(jìn)行比較,以判斷ROM的數(shù)據(jù)

30、是否已被主機(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ì)算所得的值或者與DS18B20中的8位CRC值比較,或者與DS18B20中計(jì)算得到的8位CRC值比較。CRC值的比較和是否繼續(xù)操作都由總線主機(jī)來決定。當(dāng)存儲(chǔ)在DS18B20內(nèi)或由DS18B20計(jì)算得到的CRC值與總線主機(jī)產(chǎn)生的值不相符合時(shí),在DS18B20內(nèi)沒有電路來阻止命令序列的繼續(xù)執(zhí)行??偩€CRC可以使

31、用如圖3-4所示的一個(gè)移位寄存器和異或(XOR)門組成的多項(xiàng)式產(chǎn)生器來產(chǎn)生。圖3-4 單線CRC編碼3.2 單片機(jī)介紹目前,單片機(jī)的種類很多,MCS-51 8位單片機(jī)系列、MCS-96 16位單片機(jī)系列,還出現(xiàn)了32位單片機(jī)。位數(shù)越高,運(yùn)算速度越快。由于Intel公司的這種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工藝)。本

32、系統(tǒng)在數(shù)據(jù)處理上速度要求不是很高,8位單片機(jī)即可。因此,選用MCS-51系列單片機(jī)。考慮到功耗問題(如:8051功耗為630mw,而80C51為120mw),本系統(tǒng)選用CHMOS工藝的芯片。又因本系統(tǒng)需要處理數(shù)量較大的數(shù)據(jù),程序占用空間也較大,而對(duì)定時(shí)器計(jì)數(shù)器和中斷源的數(shù)量要求不多。結(jié)合現(xiàn)有的單片機(jī)開發(fā)系統(tǒng)(偉福仿真器E6000),本系統(tǒng)選用80C51系列單片機(jī)。下面對(duì)I/O并行口進(jìn)行說明:P0口:P0口是一個(gè)漏極開路的8位雙向I/O端口,每位能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。共有8條引腳,有兩種不同功能。第一種是8031不帶片外存儲(chǔ)器,P0口可以作為通用I/O口使用,用于傳送CPU的輸入輸出數(shù)據(jù)。

33、這時(shí),輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性:第二種是8031帶片外存儲(chǔ)器,P0口在CPU訪問片外存儲(chǔ)器時(shí)先用于傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫數(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

34、個(gè)LS型TTL負(fù)載。它也有兩種功能。第一功能是可以作為通用I/O口使用;第二功能是和P0口第二功能相配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)器單元,但不能像P0口那樣傳送存儲(chǔ)器的讀寫數(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外

35、部RAM的寫選通信號(hào)P3.7RD外部RAM的讀選通信號(hào)3.3 LED顯示器簡介3.3.1 LED顯示器工作原理發(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è)字段10。圖3-5 七段LED結(jié)構(gòu)及外形圖七段LED有共陰極和共陽極兩種結(jié)構(gòu)形式。顯示電路一般分為靜態(tài)顯示和動(dòng)態(tài)顯示兩類。(1)共陽極接法把發(fā)光二極管的陽極連接在一起構(gòu)成公共陽極。使用時(shí)公共陽極接Vcc,當(dāng)某陰極端為低電平時(shí),該發(fā)光二極管就導(dǎo)通發(fā)光。

36、(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字形碼顯示字符共陰極字形碼共陽極字形碼顯示字符共陰極 字形碼共陽極字形碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HR31HCEH707HF8Hy6EH91H87FH80HH76H89H96F

37、H90HL38HC7HA77H88H“滅”00HFFHb7CH83H3.3.2 LED顯示電路由N個(gè)LED顯示塊可構(gòu)成N位LED顯示器。N位LED顯示器需要N根位選線。根據(jù)顯示電路不同,位選線與段選線的連接方式不同,實(shí)際所需的位選線和段選線數(shù)也不一樣。顯示電路主要有靜態(tài)顯示和動(dòng)態(tài)顯示兩種。(1)靜態(tài)顯示電路LED顯示器工作在靜態(tài)顯示時(shí),其公共陽極(或陰極)接Vcc(或GND),一直處于顯示有效狀態(tài),所以每一位的顯示內(nèi)容必須由鎖存器加以鎖存,顯示各位相互獨(dú)立。靜態(tài)顯示時(shí),LED亮度高,控制容易,但功耗大,所以口線多。若顯示位數(shù)增多,則靜態(tài)顯示方式很難適應(yīng)。一般需要?jiǎng)討B(tài)顯示方式。(2)動(dòng)態(tài)顯示電路

38、對(duì)于動(dòng)態(tài)顯示,一般將所有位的段選線的同名段聯(lián)在一起,由一個(gè)8位I/O口控制,形成段選線的多位復(fù)用。而各位的公共陽極或公共陰極則分別由相應(yīng)的I/O口線控制,實(shí)現(xiàn)各位形成段的分時(shí)選通,即同一時(shí)刻只有被選通位是能顯示相應(yīng)的字符,而其它所有位都是熄滅的。由于人眼有視覺暫留現(xiàn)象,只要每位顯示間隔足夠短,則會(huì)造成多位同時(shí)點(diǎn)亮的假象。這就需要單片微機(jī)不斷地對(duì)顯示進(jìn)行控制,犧牲單片微機(jī)的CPU時(shí)間來換取元件的減少以及顯示功耗的降低。動(dòng)態(tài)顯示電路如圖3-6所示。圖3-6 動(dòng)態(tài)顯示電路工作過程:將字形代碼送入字形鎖存器鎖存,這時(shí)所有的顯示塊都有可能顯示同樣的字符;再將需要顯示的位置代碼送入字位鎖存器鎖存。為防止閃

39、爍,每位顯示時(shí)間在12ms,然后顯示另一位,CPU需要不斷地進(jìn)行顯示刷新11。3.4 系統(tǒng)結(jié)構(gòu)及工作原理3.4.1 系統(tǒng)硬件原理圖及相關(guān)說明 本設(shè)計(jì)硬件原理圖如圖3-7所示:圖3-7 單片機(jī)溫度計(jì)硬件設(shè)計(jì)原理圖下面對(duì)該電路圖進(jìn)行簡要的說明:(1)基于80C51單片機(jī)及其外圍電路的主機(jī)控制單元:80C51單片機(jī)功能強(qiáng)、I/O口多,它們分別是P0口、P1口、P2口和P3口。本設(shè)計(jì)中利用了其中的2個(gè)I/O口,與本系統(tǒng)其它部分連接,分別實(shí)現(xiàn)了不同的功能:P1口輸出段碼,通過74LS244連接4個(gè)LED顯示器。列掃描用P3.0P3.3口來實(shí)現(xiàn),列驅(qū)動(dòng)使用9012三極管。P3.7口連接DS18B20的輸出

40、。(2)DS18B20串行組成的一線總線型網(wǎng)絡(luò)由DS18B20組成的一線總線網(wǎng)絡(luò),由三條線連接。它們分別是電源線、數(shù)據(jù)傳輸線和地線。電源線根據(jù)DS18B20的要求,使用5V的直流供電。在具體設(shè)計(jì)上可以和80C51使用同一個(gè)電壓源。數(shù)據(jù)傳輸線直接連接在P3口的P3.7引腳上,對(duì)應(yīng)著P3寄存器的P3.7數(shù)據(jù)位,因此主機(jī)對(duì)總線上的DS18B20的操作實(shí)際上就是對(duì)P3.7數(shù)據(jù)位的操作12。(3)LED數(shù)字顯示及其驅(qū)動(dòng)電路DS18B20測(cè)溫范圍上限是125,加上一個(gè)小數(shù)位,因此溫度的十進(jìn)制顯示需要用4位LED顯示。這里的LED驅(qū)動(dòng)器選擇了74LS244,74LS244是一個(gè)兩4位三態(tài)緩沖器,其引腳如圖3

41、-8所示,當(dāng)它的控制端和為低電平時(shí),輸出Y的狀態(tài)與輸入端A相同:當(dāng)和為高電平時(shí),輸出成高阻狀態(tài)。輸入設(shè)備的數(shù)據(jù)可在74LS244中得到緩沖。圖3-8 74LS244外部引腳圖3.4.2 系統(tǒng)軟件算法說明(1)程序開始后,80C51向DS18B20發(fā)送Read ROM命令;(2)DS18B20向80C51發(fā)送64位ROM碼,80C51將收到的ROM碼存入數(shù)據(jù)暫存存儲(chǔ)器;(3)80C51向總線發(fā)送復(fù)位脈沖后釋放總線;(4)80C51向總線發(fā)送Convert T命令并延時(shí)1-2秒鐘,DS18B20開始進(jìn)行溫度轉(zhuǎn)換,并將結(jié)果存入存儲(chǔ)器;(5)80C51向總線發(fā)送復(fù)位脈沖,收到響應(yīng)存在脈沖后,向總線發(fā)送

42、Match ROM命令;(6)80C51向總線發(fā)送ROM編碼,該ROM碼的DS18B20開始響應(yīng);(7)80C51向總線發(fā)送Read Scratchpad命令并釋放總線;(8)DS18B20向總線發(fā)送存儲(chǔ)器里存放的溫度轉(zhuǎn)換結(jié)果;(9)80C51將接收到的結(jié)果轉(zhuǎn)換成十進(jìn)制,并通過LED數(shù)碼管顯示出來;圖3-9 系統(tǒng)工作流程圖當(dāng)系統(tǒng)進(jìn)入溫度監(jiān)測(cè)運(yùn)行之后,是無法再進(jìn)入讀ROM操作的。系統(tǒng)每次重啟進(jìn)入溫度監(jiān)測(cè)運(yùn)行模式之后,都要重新搜索總線上DS18B20的ROM碼。所以,如果在系統(tǒng)重啟之前改變總線上的DS18B20,那么系統(tǒng)就會(huì)重新為DS18B20排序和編號(hào)。用戶在每次重啟的時(shí)候都需要注意這個(gè)問題。要

43、看看總線上的DS18B20是否有變動(dòng)。如果有變動(dòng),就必須重新為這些DS18B20的編號(hào)做記錄。反過來說,如果系統(tǒng)總線上的DS18B20發(fā)生變動(dòng),就必須重啟系統(tǒng)。重新搜索DS18B20的ROM碼13。3.5 系統(tǒng)程序的設(shè)計(jì)3.5.1 程序模塊設(shè)計(jì)系統(tǒng)程序主要包括C程序主函數(shù)、DS18B20復(fù)位函數(shù)、DS18B20寫字節(jié)函數(shù)、DS18B20讀字節(jié)函數(shù)、溫度計(jì)算轉(zhuǎn)換函數(shù)和顯示函數(shù)。1)主函數(shù)主函數(shù)的主要功能是初始化并負(fù)責(zé)溫度的讀出、處理計(jì)算及顯示。溫度測(cè)量每2s進(jìn)行一次,其程序流程如圖3-10所示:圖3-10 DS18B20數(shù)字溫度計(jì)主函數(shù)流程圖2)DS18B20復(fù)位函數(shù)復(fù)位函數(shù)時(shí)序如圖3-11所示

44、,總線t0時(shí)刻發(fā)送一復(fù)位脈沖,接著在t1時(shí)刻釋放總線并進(jìn)入接收狀態(tài),DS18B20在總線的上升沿之后等待1560s,然后在t2時(shí)刻發(fā)出存在脈沖,如圖虛線所示,單片機(jī)接收到低電平脈沖說明復(fù)位成功,否則需要重新進(jìn)行復(fù)位操作14。圖3-11 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)對(duì)總線電平采樣。連續(xù)寫兩位的間隙應(yīng)大于1s。圖3-12 DS18B20寫0和寫1時(shí)序4)讀字節(jié)函數(shù)如圖3-13所示為讀位時(shí)序函數(shù),主機(jī)總線t0時(shí)刻從高拉至

45、低電平時(shí),總線需要保持低電平14s,之后在t1時(shí)刻將總線拉高產(chǎn)生讀時(shí)間隙,讀時(shí)間隙在t1時(shí)刻后t2時(shí)刻前有效,t2距t015s,也就是說t2時(shí)刻前主機(jī)必須完成讀位并在t0后的60120s內(nèi)釋放總線。連續(xù)讀2位的間隙應(yīng)大于1s15。圖 3-13 讀位函數(shù)時(shí)序5)溫度計(jì)算轉(zhuǎn)換函數(shù)溫度數(shù)據(jù)處理程序?qū)?2位溫度值進(jìn)行BCD碼轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判斷,其程序流程如圖3-14所示: 圖 3-14溫度計(jì)算轉(zhuǎn)換函數(shù)流程圖6)DS18B20的主要ROM命令和存儲(chǔ)器命令一旦總線主機(jī)檢測(cè)到從屬器件的存在,它便可以發(fā)出某個(gè)ROM操作命令。所有ROM 操作命令均為8位長,這些命令列表如下表3-8所示:表3-8

46、ROM操作指令指令說明 代碼 總線操作Read ROM 讀ROM33HDS18B20發(fā)送ROM碼Match ROM 匹配ROMCCH 主機(jī)發(fā)送ROM碼Skip ROM 跳過ROM55H 主機(jī)發(fā)出存儲(chǔ)器命令Search ROM 搜索ROMF0H DS18B20發(fā)送第一位“與”Alarm Search告警搜索ECH DS18B20發(fā)送“0”或“1”(1)Read ROM(讀ROM)33H此命令允許總線主機(jī)讀DS18B20的8位產(chǎn)品系列編碼、唯一的48位序列號(hào),以及8位的CRC。此命令只能在總線上僅有一個(gè)DS18B20的情況下使用。如果總線上存在多于一個(gè)的從屬器件,那么當(dāng)所有從片企圖同時(shí)發(fā)送時(shí),總線

47、上將發(fā)生數(shù)據(jù)沖突的現(xiàn)象,漏極開路會(huì)產(chǎn)生線與的結(jié)果。(2)Match ROM(匹配ROM)55H符合ROM命令,后繼以64位的ROM數(shù)據(jù)序列,使總線主機(jī)能對(duì)總線上特定的DS18B20尋址。只有與64位ROM序列嚴(yán)格相符的DS18B20才能對(duì)后繼的存貯器操作命令做出響應(yīng)。所有與64位ROM序列不符的從機(jī)將停止響應(yīng),等待復(fù)位脈沖。此命令在總線上有單個(gè)或多個(gè)器件的情況下均可使用。(3)Skip ROM(跳過ROM)CCH在單點(diǎn)總線系統(tǒng)中,此命令允許總線主機(jī)不提供64位ROM編碼而訪問存儲(chǔ)器。由于該命令可以命令總線上所有從機(jī)同時(shí)進(jìn)行相同的操作,因此能夠縮短系統(tǒng)運(yùn)行的周期。如果在總線上存在多于一個(gè)的從屬器

48、件,而且在Skip ROM命令之后,又指令所有從機(jī)向總線發(fā)送數(shù)據(jù),那么會(huì)在總線上發(fā)生數(shù)據(jù)沖突,并產(chǎn)生“線與”的效果16。(4)Search ROM(搜索ROM)F0H當(dāng)系統(tǒng)開始工作時(shí),總線主機(jī)可能不知道總線上器件的個(gè)數(shù),或者是不知道它們的64位ROM編碼,搜索ROM命令允許總線主機(jī)使用一種消去處理,來識(shí)別總線上所有從片的64位ROM編碼以及得知總線上DS18B20的數(shù)量。(5)Alarm Search(告警搜索)ECH 此命令的流程與搜索ROM命令相同。但是,僅在最近一次溫度測(cè)量出現(xiàn)告警的情況下,DS18B20才對(duì)此命令作出響應(yīng)。告警的條件定義為溫度高于TH或低于TL。只要DS18B20一上電

49、,告警條件就保持在設(shè)置狀態(tài),直到另一次溫度測(cè)量顯示出非告警值,或者改變TH或TL的設(shè)置使得測(cè)量值再一次位于允許的范圍內(nèi)。貯存在E2PROM的觸發(fā)器值用于告警。DS18B20的ROM操作命令設(shè)置,不但能夠幫助實(shí)現(xiàn)“一主多從”的溫度檢測(cè)網(wǎng)絡(luò),同時(shí)由于Skip ROM命令的設(shè)置,在加快系統(tǒng)運(yùn)行周期方面也具有獨(dú)特的優(yōu)勢(shì)。主機(jī)在進(jìn)入操作程序前必須接入DS18B20,用ROM命令建立與目標(biāo)DS18B20的通信。程序中如果先有Skip ROM命令,然后執(zhí)行Convert T命令,即是啟動(dòng)所有DS18B20進(jìn)行溫度變換。之后通過Match ROM再逐一地讀回每個(gè)DS18B20的溫度數(shù)據(jù)。在DS18B20組成的

50、測(cè)溫系統(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)換器,只能讓傳感器的測(cè)量結(jié)果逐一轉(zhuǎn)換17。(6)Read Scratchpad(讀暫存存儲(chǔ)器)BEH此命令讀暫存存儲(chǔ)器的內(nèi)容,讀操作開始于字節(jié)“0”并繼續(xù)經(jīng)過暫存存儲(chǔ)器直至第九個(gè)字節(jié),直到CRC被讀出為止。如果不是所有位置均可讀,那么主機(jī)可以在任何時(shí)候發(fā)出復(fù)位脈沖以中止讀操作。(7)Copy Scratchpad(復(fù)制暫存存儲(chǔ)器)48H此命令把暫存存儲(chǔ)器復(fù)制入DS18B2

51、0的E2存儲(chǔ)器,把溫度觸發(fā)器字節(jié)存入非易失性存儲(chǔ)器。如果總線主機(jī)在此命令之后發(fā)出讀時(shí)間片,那么當(dāng)DS18B20正忙于把暫存存儲(chǔ)器復(fù)制入E2時(shí),它就會(huì)在總線上輸出0,當(dāng)復(fù)制過程完成之后它將返回1。如果由寄生電源供電,總線主機(jī)在發(fā)出此命令之后必須能立即強(qiáng)制上拉至少l0ms。(8)Write Scratchpad(寫暫存存儲(chǔ)器)4EH此命令將兩個(gè)溫度閾值寫入DS18B20的存儲(chǔ)器。當(dāng)測(cè)量溫度超過閾值范圍時(shí),傳感器將發(fā)出報(bào)警信號(hào)。(9)Convert T(溫度變換)44H此命令開始溫度變換。不需要另外的數(shù)據(jù),溫度變換將被執(zhí)行。接著DS18B20便保持在空閑狀態(tài)。如果總線主機(jī)在此命令之后發(fā)出讀時(shí)間片,此

52、時(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此命令把存儲(chǔ)溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯?chǔ)器。這種重新調(diào)出的操作在DS18B20上電時(shí)也會(huì)自動(dòng)發(fā)生。因此只要器件一接電,暫存存儲(chǔ)器內(nèi)就有有效的數(shù)據(jù)可供使用。在此命令發(fā)出之后,對(duì)于所發(fā)出的每一個(gè)讀數(shù)據(jù)時(shí)間片,器件都將輸出其忙的標(biāo)志:“0”代表忙,“1”代表準(zhǔn)備就緒。(11)Read Power Supply(讀電源)B4H對(duì)于在此命令送至DS18B20之后所發(fā)出的第一讀出數(shù)據(jù)的時(shí)間

53、片器件都會(huì)給出其電源方式的:“0”代表寄生電源供電;“1”代表外部電源供電18。表3-9 存儲(chǔ)器操作命令指令說明代碼總線操作Convert T啟動(dòng)溫度變換44H總線釋放等待12秒Read Scratchpad從暫存存儲(chǔ)器讀字節(jié)BEHDS18B20發(fā)出存儲(chǔ)器內(nèi)數(shù)據(jù)Write Scratchpad寫字節(jié)入TH和TL4EH主機(jī)向存儲(chǔ)器發(fā)送數(shù)據(jù)Copy Scratchpad存儲(chǔ)器內(nèi)容復(fù)制入E243HDS18B20“復(fù)制忙”狀態(tài)Recall E2E2內(nèi)容重新調(diào)入存儲(chǔ)器E3HDS18B20“讀數(shù)據(jù)忙”狀態(tài)ReadPower Supply檢測(cè)DS18B20供電方式B4H讀電源3.5.2 溫度數(shù)據(jù)的計(jì)算處理方

54、法從DS18B20讀取的二進(jìn)制數(shù)值必須先轉(zhuǎn)換為十進(jìn)制數(shù)值,才能用于字符的顯示。因?yàn)镈S18B20的轉(zhuǎn)換精度為912位可選,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時(shí),溫度寄存器里的值以0.0625為步進(jìn),即溫度值為溫度寄存器里的二進(jìn)制值乘以0.0625,就是實(shí)際的十進(jìn)制溫度值19。通過觀察表3-5可以發(fā)現(xiàn)一個(gè)十進(jìn)制值與二進(jìn)制值之間有明顯的關(guān)系,就是把二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一個(gè)字節(jié),這個(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ù)(015倍)。這樣需要4位數(shù)碼管來顯示小數(shù)部分,實(shí)際應(yīng)用不必有這樣高的精度,采用一位數(shù)碼管來顯示小數(shù),可以精確到0.120。表3-10就是小數(shù)部分二進(jìn)制和十進(jìn)制的近似對(duì)應(yīng)關(guān)系表。表3-10 小數(shù)部分二進(jìn)制和十進(jìn)制近似對(duì)應(yīng)關(guān)系小數(shù)部分二進(jìn)制值0123456789ABCDEF十進(jìn)制值01123344566788994 結(jié)束語本次設(shè)計(jì)已完成,在整個(gè)設(shè)計(jì)過程中,對(duì)于溫度傳感器的選擇花費(fèi)了我大量的時(shí)間,在傳統(tǒng)溫度傳感器和新型智能溫度傳感器之間,我最終選擇了Dallas公司生產(chǎn)的智能溫度傳感器DS18B20,實(shí)踐證明使用DS1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論