畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的數(shù)字式熱敏電阻溫度計(jì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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)介

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

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

3、 technology 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 measur

4、ement 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

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

6、案.52.1 方案一.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 顯示器簡(jiǎn)介.153.4 led 顯示器工作原理.16第四章第四章 系統(tǒng)結(jié)構(gòu)及工作原理系統(tǒng)結(jié)構(gòu)及工作原理.184.1 系統(tǒng)硬件原理圖及相關(guān)說(shuō)明.184.2 系統(tǒng)軟件算法說(shuō)明.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附附 錄錄.321第一章第一章 緒緒 論論1.11.1 課

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

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

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

10、化,壓力發(fā)生相應(yīng)變化,用彈簧管壓力表測(cè)出它的壓力值,經(jīng)換算得出被測(cè)物質(zhì)的溫度值。(2)利用熱電效應(yīng)技術(shù)制成的溫度檢測(cè)元件利用此技術(shù)制成的溫度檢測(cè)元件主要是熱電偶。熱電偶發(fā)展較早,比較成熟,至今仍為應(yīng)用最廣泛的檢測(cè)元件。熱電偶具有結(jié)構(gòu)簡(jiǎn)單、制作方便、測(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以下的溫度可長(zhǎng)期使用,短期可測(cè)1600。d 鉑鍺 30-鉑鍺

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

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

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

14、取得了重大進(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)系(即半導(dǎo)體 pn 結(jié)的溫度特性)進(jìn)行溫度檢測(cè),并把測(cè)溫、激勵(lì)、信號(hào)處理電路和放大電路集成一體,封裝于小型管殼內(nèi),即構(gòu)成了集成電路溫度檢測(cè)元件。目前,國(guó)內(nèi)外也進(jìn)行了生產(chǎn)。(3)核磁共振溫度檢測(cè)器所謂核磁共振現(xiàn)象是指具有核自旋的物質(zhì)置于靜磁場(chǎng)中時(shí),當(dāng)與靜磁場(chǎng)垂直方向加以

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

16、溫度變化的特性來(lái)制作的。它利用 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,專(zhuān)門(mén)用于核聚變研究,但在工業(yè)上應(yīng)用還需進(jìn)一步開(kāi)發(fā)和實(shí)驗(yàn)。(7)微波溫度檢測(cè)器采用微波測(cè)溫可以達(dá)到快速測(cè)量高溫的目的。它是利用在不同溫度下,溫度與控制電壓成線性關(guān)系的原理制成的。這種檢測(cè)器的靈敏度為 250khz/,精度為1%左右,檢測(cè)范圍為 201400。(8)純貴金屬熱

17、電偶的研究由兩種純金屬組成的熱電偶,因其材料均勻性遠(yuǎn)優(yōu)于合金材料,因而穩(wěn)定性好得多。在鉑銠合金熱電偶(s,r 型)的不確定度已很難提高之后,人們開(kāi)始尋找由純貴金屬組成的熱電偶,以代替 s 和 r 型熱電偶,作為傳遞的標(biāo)準(zhǔn)3。(9)信息技術(shù)時(shí)代自動(dòng)化系統(tǒng)中的溫度檢測(cè)儀表現(xiàn)代的工業(yè)過(guò)程自動(dòng)化系統(tǒng)是現(xiàn)場(chǎng)總線控制系統(tǒng),它是信息技術(shù)進(jìn)入工業(yè)自動(dòng)化后出現(xiàn)的新一代的自動(dòng)控制系統(tǒng)。現(xiàn)場(chǎng)總線是安裝在制造或過(guò)程區(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)一的電

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

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

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

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

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

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

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

25、理數(shù)據(jù);2)64 位激光 rom 碼每一個(gè) ds18b20 都有一個(gè) 64 位碼(見(jiàn)表 3-2)存在 rom 中。rom 碼的低 8位含有 ds18b20 的單線產(chǎn)品系列編碼:28h。接下來(lái)的 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 和一11個(gè)非易失性 e2pram 組成,后者存儲(chǔ)上限溫度和下

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

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

28、的數(shù)值。同時(shí)計(jì)數(shù)器用斜率累加器電路所決定的值進(jìn)行預(yù)置。為了對(duì)遵循拋物線規(guī)律的振蕩器溫度特性進(jìn)行補(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ù)(斜率累加器的值)都必須事先知道。當(dāng) ds18b20 接收到溫度轉(zhuǎn)換命令之后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)化完成后的溫度值以 16 位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第 1、2 字節(jié)。單片機(jī)可以通過(guò)單

29、線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在前,高位在后,數(shù)據(jù)格式以 0.625/lsb 形式表示。溫度值格式如表 3-4 所示:當(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說(shuō)明了輸出數(shù)據(jù)與測(cè)量溫度的關(guān)系8:13表 3-4 溫度值格式表bit7bit6bit5bit4bit3bit2bit1bit023 22 21 20 2-1 2-2 2-3 2-4bit15bit14bit13bit12bit11bit10bit9bit8sssss26 2524表3-5 模數(shù)轉(zhuǎn)換對(duì)應(yīng)值溫度數(shù)字

30、輸出(二進(jìn)制)十六進(jìn)制表示12500000011 1101000007d0h8500000101 0101 0000055025.062500000001 100100010191h10.12500000000 1010001000a2h0.500000000 000010000008h000000000 000000000000h-0.511111111 11111000fff8h-10.12511111111 0101 1110ff5eh-25.062511111110 01101111fe5fh-5511111111 10010010fc90hds18b20 完成溫度轉(zhuǎn)換后,把測(cè)得的溫度

31、值與 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ù)是否已被主機(jī)正確地接收。crc的等效多項(xiàng)式函數(shù)為: crc=x8+x5+x4+1ds18b20也利用與上述相同的多項(xiàng)式函數(shù),產(chǎn)生一個(gè)8位crc值并把此值提供14給總線的主機(jī),以確認(rèn)數(shù)據(jù)字節(jié)的傳送。在使用crc來(lái)確認(rèn)數(shù)據(jù)傳送的每一種情況中,總線主機(jī)必須使用上面給出的

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

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

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

35、p0 口在 cpu 訪問(wèn)片外存儲(chǔ)器時(shí)先用于傳送片外存儲(chǔ)器的低 8 位地址,然后傳送 cpu 對(duì)片外存儲(chǔ)器的讀寫(xiě)數(shù)據(jù)9。p1 口:p1 口是一個(gè)帶內(nèi)部上拉電阻的 8 位準(zhǔn)雙向 1/o 端口,在 p1 口作為輸入口使用時(shí),應(yīng)先向 p1 口鎖存器(地址 90h)寫(xiě)入全 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ù)載。它也有兩種功能。第一功能是

36、可以作為通用 i/o 口使用;第二功能是和 p0 口第二功能相配合,用于輸出片外存儲(chǔ)器的高 8 位地址,共同選中片外存儲(chǔ)器單元,但不能像 p0 口那樣傳送存儲(chǔ)器的讀寫(xiě)數(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.

37、6wr外部 ram 的寫(xiě)選通信號(hào)16p3.7rd外部 ram 的讀選通信號(hào)3.33.3 ledled 顯示器簡(jiǎn)介顯示器簡(jiǎn)介通過(guò)發(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ù)碼管、符號(hào)管、米字管、矩陣管、電平顯示器管等等。通常把數(shù)碼管、符號(hào)管、米字管共稱(chēng)筆畫(huà)顯示器,而把筆畫(huà)顯示器和矩陣管統(tǒng)稱(chēng)為字符顯示器。(一)led 顯示器結(jié)構(gòu)基本的半導(dǎo)體數(shù)碼管是由七個(gè)條狀發(fā)光二極管芯片按圖 12 排列而成的??蓪?shí)現(xiàn) 09 的顯示。其具體結(jié)構(gòu)有“反射罩式” 、 “條形七段式”及“單片集成式多位數(shù)字式”等 (1)反射罩式數(shù)碼管一般用白色

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

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

40、片集成式多位數(shù)碼管字高一般在 23mm) 。其他類(lèi)型筆畫(huà)顯示器最高可達(dá) 12.7mm(0.5 英寸)甚至達(dá)數(shù)百 mm。 (2)按顏色分有紅、橙、黃、綠等數(shù)種。 (3)按結(jié)構(gòu)分,有反射罩式、單條七段式及單片集成式。 (4)從各發(fā)光段電極連接方式分有共陽(yáng)極和共陰極兩種。(三)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)度

41、比。比值可以在 1.52.3 間,最大不能超過(guò) 2.5)第二、脈沖正向電流(若筆畫(huà)顯示器每段典型正向直流工作電流為 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ā)光二極管稱(chēng)為一個(gè)字段。圖 3-5 七段 led 結(jié)構(gòu)及外形圖18七段 led 有共陰極和共陽(yáng)極兩種結(jié)構(gòu)形式。

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

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

44、 口、p1 口、p2 口和 p3 口。本設(shè)計(jì)中利用了其中的 2 個(gè) i/o 口,與本系統(tǒng)其它部分連接,分別實(shí)現(xiàn)了不同的功能:p1 口輸出段碼,通過(guò) 74ls244 連接 4 個(gè) led 顯示器。列掃描用p3.0p3.3 口來(lái)實(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è)20計(jì)上可以和 80c51 使用同一個(gè)電壓源。數(shù)據(jù)傳輸線直接連接在 p3 口的 p3.7 引腳

45、上,對(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-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)軟件算法說(shuō)明系統(tǒng)軟件

46、算法說(shuō)明(1)程序開(kāi)始后,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 開(kāi)始進(jìn)行溫度轉(zhuǎn)換,并將結(jié)果存入存儲(chǔ)器;(5)80c51 向總線發(fā)送復(fù)位脈沖,收到響應(yīng)存在脈沖后,向總線發(fā)送match rom 命令;(6)80c51 向總線發(fā)送 rom 編碼,該 rom 碼的 ds18b20 開(kāi)始響應(yīng);(7)80c51 向總線發(fā)送 re

47、ad scratchpad 命令并釋放總線;(8)ds18b20 向總線發(fā)送存儲(chǔ)器里存放的溫度轉(zhuǎn)換結(jié)果;21(9)80c51 將接收到的結(jié)果轉(zhuǎn)換成十進(jìn)制,并通過(guò) led 數(shù)碼管顯示出來(lái);80c51向p3.7發(fā)送復(fù)位脈沖釋放總線 80c51向總線發(fā)出convert t命令ds18b20向80c51發(fā)送rom碼并存儲(chǔ)80c51向ds18b20發(fā)送read rom命令 ds18b20開(kāi)始溫度轉(zhuǎn)換并儲(chǔ)存結(jié)果 80c51向總線發(fā)送復(fù)位脈沖 80c51向總線發(fā)送match rom命令80c51接收數(shù)據(jù)并控制led顯示ds18b20向總線發(fā)送溫度轉(zhuǎn)換結(jié)果 80c51向總線發(fā)出read scratchpad命

48、令結(jié)束開(kāi)始 總線上的ds18b20開(kāi)始響應(yīng)圖 4-9 系統(tǒng)工作流程圖當(dāng)系統(tǒng)進(jìn)入溫度監(jiān)測(cè)運(yùn)行之后,是無(wú)法再進(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è)問(wèn)題。要看看總線上的ds18b20 是否有變動(dòng)。如果有變動(dòng),就必須重新為這些 ds18b20 的編號(hào)做記錄。反過(guò)來(lái)說(shuō),如果系統(tǒng)總線上的 ds18b20 發(fā)生變動(dòng),就必須重啟系統(tǒng)。重新搜索ds18b20 的 rom 碼。22第五章第五章 系統(tǒng)程序的

49、設(shè)計(jì)系統(tǒng)程序的設(shè)計(jì)5.15.1 程序模塊設(shè)計(jì)程序模塊設(shè)計(jì)系統(tǒng)程序主要包括 c 程序主函數(shù)、ds18b20 復(fù)位函數(shù)、ds18b20 寫(xiě)字節(jié)函數(shù)、ds18b20 讀字節(jié)函數(shù)、溫度計(jì)算轉(zhuǎn)換函數(shù)和顯示函數(shù)。1:主函數(shù)主函數(shù)的主要功能是初始化并負(fù)責(zé)溫度的讀出、處理計(jì)算及顯示。溫度測(cè)量每 2s 進(jìn)行一次,其程序流程如圖 5-1 所示:初始化開(kāi)機(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)入接收狀

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

51、線需要保持低電平 14s,之后在 t1 時(shí)刻將總線拉高產(chǎn)生讀時(shí)間隙,讀時(shí)間隙在 t1 時(shí)刻后 t2 時(shí)刻前有效,t2 距 t015s,也就是說(shuō) t2 時(shí)刻前主機(jī)必須完成讀位并在 t0 后的 60120s 內(nèi)釋放總線。連續(xù)讀 2 位的間隙應(yīng)大于 1s。圖 5-3 讀位函數(shù)時(shí)序245:溫度計(jì)算轉(zhuǎn)換函數(shù)溫度數(shù)據(jù)處理程序?qū)?12 位溫度值進(jìn)行 bcd 碼轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判斷,其程序流程如圖 3-14 所示:溫度值取補(bǔ)碼置“-”標(biāo)志開(kāi)始溫度零下?計(jì)算小數(shù)位的bcd碼計(jì)算整數(shù)位的bcd碼返回yn圖 5-4 溫度計(jì)算轉(zhuǎn)換函數(shù)流程圖6:ds18b20 的主要 rom 命令和存儲(chǔ)器命令一旦總線主機(jī)檢

52、測(cè)到從屬器件的存在,它便可以發(fā)出某個(gè) rom 操作命令。所有 rom 操作命令均為 8 位長(zhǎng),這些命令列表如下表 5-5 所示:表 5-5 rom 操作指令指令說(shuō)明代碼總線操作read rom讀 rom33hds18b20 發(fā)送 rom 碼match rom匹配 romcch主機(jī)發(fā)送 rom 碼skip rom跳過(guò) rom55h主機(jī)發(fā)出存儲(chǔ)器命令search rom搜索 romf0hds18b20 發(fā)送第一位“與”alarm search告警搜索echds18b20 發(fā)送“0”或“1”25(1)read rom(讀 rom)33h此命令允許總線主機(jī)讀 ds18b20 的 8 位產(chǎn)品系列編碼、唯

53、一的 48 位序列號(hào),以及 8 位的 crc。此命令只能在總線上僅有一個(gè) ds18b20 的情況下使用。如果總線上存在多于一個(gè)的從屬器件,那么當(dāng)所有從片企圖同時(shí)發(fā)送時(shí),總線上將發(fā)生數(shù)據(jù)沖突的現(xiàn)象,漏極開(kāi)路會(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

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

55、s18b20 的數(shù)量。(5)alarm search(告警搜索)ech此命令的流程與搜索 rom 命令相同。但是,僅在最近一次溫度測(cè)量出現(xiàn)告警的情況下,ds18b20 才對(duì)此命令作出響應(yīng)。告警的條件定義為溫度高于 th 或低于 tl。只要 ds18b20 一上電,告警條件就保持在設(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ì)。主

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

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

58、強(qiáng)制上拉至少 l0ms。(8)write scratchpad(寫(xiě)暫存存儲(chǔ)器)4eh此命令將兩個(gè)溫度閾值寫(xiě)入 ds18b20 的存儲(chǔ)器。當(dāng)測(cè)量溫度超過(guò)閾值范圍時(shí),傳感器將發(fā)出報(bào)警信號(hào)。(9)convert t(溫度變換)44h此命令開(kāi)始溫度變換。不需要另外的數(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此命令

59、把存儲(chǔ)溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯?chǔ)器。這種重新調(diào)出的操作27在 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í)間片器件都會(huì)給出其電源方式的:“0”代表寄生電源供電;“1”代表外部電源供電。表 5-6 存儲(chǔ)器操作命令指令說(shuō)明代碼總線操作convert t啟動(dòng)溫度變換44h總線釋放等待 12 秒read scratchpad

60、從暫存存儲(chǔ)器讀字節(jié)behds18b20 發(fā)出存儲(chǔ)器內(nèi)數(shù)據(jù)write scratchpad寫(xiě)字節(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)read power supply檢測(cè) 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 位。在采用

溫馨提示

  • 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)論