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

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)畢業(yè)設(shè)計(論文)目 錄摘 要iabstractii1 緒論11.1 國內(nèi)外測溫狀況11.2 溫度檢測技術(shù)介紹21.3 課題研究的主要內(nèi)容32 設(shè)計方案42.1 方案142.2 方案252.3 方案比較與選擇53 設(shè)計原理及結(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è)計153.5.1 程序模塊設(shè)計153.5.2 溫度數(shù)據(jù)的計算處理方法194 結(jié)束語20

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

3、知識進(jìn)行了總結(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, th

4、e scmc 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 digit

5、al thermometer 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

6、 to realize 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 緒論“工欲善其事,必先利其器”,這是中國的一句古話,人們早就知道工具的重要性。隨著以知識經(jīng)濟(jì)為特征的信息時代的到來,人們對儀器儀表作用的認(rèn)識愈加深

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

8、玻璃感溫包內(nèi)的測溫物質(zhì)(水銀、酒精、甲苯、煤油等)受熱膨脹、遇冷收縮的原理進(jìn)行溫度測量的;b 雙金屬溫度計,它是采用膨脹系數(shù)不同的兩種金屬牢固粘合在一起制成的雙金屬片作為感溫元件,當(dāng)溫度變化時,一端固定的雙金屬片,由于兩種金屬膨脹系數(shù)不同而產(chǎn)生彎曲,自由端的位移通過傳動機(jī)構(gòu)帶動指針指示出相應(yīng)溫度;c 壓力式溫度計,它是由感溫物質(zhì)(氮氣、水銀、二甲苯、甲苯、甘油和低沸點液體如氯甲烷、氯乙烷等)隨溫度變化,壓力發(fā)生相應(yīng)變化,用彈簧管壓力表測出它的壓力值,經(jīng)換算得出被測物質(zhì)的溫度值。(2)利用熱電效應(yīng)技術(shù)制成的溫度檢測元件利用此技術(shù)制成的溫度檢測元件主要是熱電偶。熱電偶發(fā)展較早,比較成熟,至今仍為應(yīng)

9、用最廣泛的檢測元件。熱電偶具有結(jié)構(gòu)簡單、制作方便、測量范圍寬、精度高、熱慣性小等特點。常用的熱電偶有以下幾種:a 鎳鉻-鎳硅,型號為wrn,分度號為k,測溫范圍0-900,短期可測1200。b 鎳鉻-康銅,型號為wrk,分度號為f,測溫范圍0-600,短期可測800。c 鉑銠-鉑,型號為wrp,分度號為s,在1300以下的溫度可長期使用,短期可測1600。d 鉑鍺30-鉑鍺6,型號為wrr,分度號為b,測溫范圍300-1600,短期可測1800。(3)利用熱阻效應(yīng)技術(shù)制成的溫度計用此技術(shù)制成的溫度計大致可分成以下幾種:a 電阻測溫元件,它是利用感溫元件(導(dǎo)體)的電阻隨溫度變化的性質(zhì),將電阻的變

10、化值用顯示儀表反映出來,從而達(dá)到測溫的目的。目前常用的有鉑熱電阻(分度號為pt100,pt10兩種)和銅熱電阻(分度號有cu5o,cu100兩種)。b 導(dǎo)體測溫元件,它與熱電阻的溫阻特性剛好相反,即有很大副溫度系數(shù),也就是說溫度升高時,其阻值降低。他們的關(guān)系為:式中 rt在溫度t(k)時的電阻值;rt0在溫度t0(k)時的電阻值;e自然對數(shù)的底;b常數(shù),其值與半導(dǎo)體材料的成分和制作方法有關(guān)。c 陶瓷熱敏元件它的實質(zhì)是利用半導(dǎo)體電阻的正溫特性,用半導(dǎo)體陶瓷材料制作而成的熱敏元件,常稱為pci,或nci熱敏元件。pct熱敏元件分為突變型和緩變型兩類。突變型pct元件的溫阻特性是當(dāng)溫度達(dá)到頂點時,它

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

27、度每升高一度計數(shù)器必須經(jīng)歷的計數(shù)個數(shù),來實行補(bǔ)償。因此為了獲得所需的分辨率,計數(shù)器的數(shù)值以及在給定溫度處每一攝氏度的計數(shù)個數(shù)(斜率累加器的值)都必須事先知道。當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令之后,開始啟動轉(zhuǎn)換。轉(zhuǎn)化完成后的溫度值以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在前,高位在后,數(shù)據(jù)格式以0.625/lsb形式表示。溫度值格式如表3-4所示:表3-4 溫度值格式表bit7bit6bit5bit4bit3bit2bit1bit023 22 21 20 2-1 2-2 2-3 2-4bit15bit14bit13bi

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

29、0000 000000000000h-0.511111111 11111000fff8h-10.12511111111 0101 1110ff5eh-25.062511111110 01101111fe5fh-5511111111 10010010fc90hds18b20完成溫度轉(zhuǎn)換后,把測得的溫度值與ram中的th和tl內(nèi)容作比較,若tth或ttl,則將該器件內(nèi)的報警標(biāo)志位置位,并對主機(jī)發(fā)的報警搜索命令作出響應(yīng),因此,可用多只ds18b20同時測量溫度并進(jìn)行報警搜索。4)crc的產(chǎn)生總線上的主機(jī)可以根據(jù)rom的前56位計算出crc的值,并把它與存貯在ds18b20內(nèi)的crc值進(jìn)行比較,以判斷

30、rom的數(shù)據(jù)是否已被主機(jī)正確地接收。crc的等效多項式函數(shù)為: crc=x8+x5+x4+1ds18b20也利用與上述相同的多項式函數(shù),產(chǎn)生一個8位crc值并把此值提供給總線的主機(jī),以確認(rèn)數(shù)據(jù)字節(jié)的傳送。在使用crc來確認(rèn)數(shù)據(jù)傳送的每一種情況中,總線主機(jī)必須使用上面給出的多項式函數(shù)計算crc的值,并把計算所得的值或者與ds18b20中的8位crc值比較,或者與ds18b20中計算得到的8位crc值比較。crc值的比較和是否繼續(xù)操作都由總線主機(jī)來決定。當(dāng)存儲在ds18b20內(nèi)或由ds18b20計算得到的crc值與總線主機(jī)產(chǎn)生的值不相符合時,在ds18b20內(nèi)沒有電路來阻止命令序列的繼續(xù)執(zhí)行??偩€

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

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

33、入輸出數(shù)據(jù)。這時,輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性:第二種是8031帶片外存儲器,p0口在cpu訪問片外存儲器時先用于傳送片外存儲器的低8位地址,然后傳送cpu對片外存儲器的讀寫數(shù)據(jù)9。p1口:p1口是一個帶內(nèi)部上拉電阻的8位準(zhǔn)雙向1/o端口,在p1口作為輸入口使用時,應(yīng)先向p1口鎖存器(地址90h)寫入全1,此時p1口引腳由內(nèi)部上拉為高電平。當(dāng)p1口作為通用i/o口使用時,p1.7p1.0的功能和p0口的第一功能相同,也用于傳輸用戶的輸入或輸出數(shù)據(jù)。p2口:p2口也是一個帶內(nèi)部上拉電阻的8位準(zhǔn)雙向i/o端口。p2口的每一位能驅(qū)動(吸收或

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

35、3.6wr外部ram的寫選通信號p3.7rd外部ram的讀選通信號3.3 led顯示器簡介3.3.1 led顯示器工作原理發(fā)光二極管一般為砷化鎵半導(dǎo)體二極管,在發(fā)光二極管兩端加上正電壓,發(fā)光二極管發(fā)光。而數(shù)碼管led是由若干個二極管組合而成的,一般的“8”字型led由“a,b,c,d,e,f,g,dp”8個發(fā)光二極管組成,如圖3-5所示,每個發(fā)光二極管稱為一個字段10。圖3-5 七段led結(jié)構(gòu)及外形圖七段led有共陰極和共陽極兩種結(jié)構(gòu)形式。顯示電路一般分為靜態(tài)顯示和動態(tài)顯示兩類。(1)共陽極接法把發(fā)光二極管的陽極連接在一起構(gòu)成公共陽極。使用時公共陽極接vcc,當(dāng)某陰極端為低電平時,該發(fā)光二極管

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

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

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

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

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

41、其引腳如圖3-8所示,當(dāng)它的控制端和為低電平時,輸出y的狀態(tài)與輸入端a相同:當(dāng)和為高電平時,輸出成高阻狀態(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ù)暫存存儲器;(3)80c51向總線發(fā)送復(fù)位脈沖后釋放總線;(4)80c51向總線發(fā)送convert t命令并延時1-2秒鐘,ds18b20開始進(jìn)行溫度轉(zhuǎn)換,并將結(jié)果存入存儲器;(5)80c51向總線發(fā)送復(fù)位脈沖,收到響應(yīng)存在脈沖后

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

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

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

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

46、:表3-8 rom操作指令指令說明 代碼 總線操作read rom 讀rom33hds18b20發(fā)送rom碼match rom 匹配romcch 主機(jī)發(fā)送rom碼skip rom 跳過rom55h 主機(jī)發(fā)出存儲器命令search rom 搜索romf0h ds18b20發(fā)送第一位“與”alarm search告警搜索ech ds18b20發(fā)送“0”或“1”(1)read rom(讀rom)33h此命令允許總線主機(jī)讀ds18b20的8位產(chǎn)品系列編碼、唯一的48位序列號,以及8位的crc。此命令只能在總線上僅有一個ds18b20的情況下使用。如果總線上存在多于一個的從屬器件,那么當(dāng)所有從片企圖同時

47、發(fā)送時,總線上將發(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ù)位脈沖。此命令在總線上有單個或多個器件的情況下均可使用。(3)skip rom(跳過rom)cch在單點總線系統(tǒng)中,此命令允許總線主機(jī)不提供64位rom編碼而訪問存儲器。由于該命令可以命令總線上所有從機(jī)同時進(jìn)行相同的操作,因此能夠縮短系統(tǒng)運行的周期。如果在總線上存在多于

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

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

50、b20組成的測溫系統(tǒng)中,主機(jī)在發(fā)出skip rom命令之后再發(fā)出統(tǒng)一的溫度轉(zhuǎn)換啟動碼44h,就可以實現(xiàn)所有溫度轉(zhuǎn)換。再經(jīng)過12s后,就能用很少的時間去讀取,這種方式使得系統(tǒng)的運行周期小于傳統(tǒng)方式。傳統(tǒng)方式中由于采取公用的放大電路和a/d轉(zhuǎn)換器,只能讓傳感器的測量結(jié)果逐一轉(zhuǎn)換17。(6)read scratchpad(讀暫存存儲器)beh此命令讀暫存存儲器的內(nèi)容,讀操作開始于字節(jié)“0”并繼續(xù)經(jīng)過暫存存儲器直至第九個字節(jié),直到crc被讀出為止。如果不是所有位置均可讀,那么主機(jī)可以在任何時候發(fā)出復(fù)位脈沖以中止讀操作。(7)copy scratchpad(復(fù)制暫存存儲器)48h此命令把暫存存儲器復(fù)制入

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

52、讀時間片,此時如果ds18b20正忙于進(jìn)行溫度變換,它將在總線上輸出0。當(dāng)溫度變換完成時它便返回1。如果由寄生電源供電,那么總線主機(jī)在發(fā)出此命令之后必須立即強(qiáng)制上拉至少2秒。(10)recall e2(重新調(diào)出e2內(nèi)的數(shù)據(jù))b8h此命令把存儲溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯ζ?。這種重新調(diào)出的操作在ds18b20上電時也會自動發(fā)生。因此只要器件一接電,暫存存儲器內(nèi)就有有效的數(shù)據(jù)可供使用。在此命令發(fā)出之后,對于所發(fā)出的每一個讀數(shù)據(jù)時間片,器件都將輸出其忙的標(biāo)志:“0”代表忙,“1”代表準(zhǔn)備就緒。(11)read power supply(讀電源)b4h對于在此命令送至ds18b20之后所發(fā)出的第一讀

53、出數(shù)據(jù)的時間片器件都會給出其電源方式的:“0”代表寄生電源供電;“1”代表外部電源供電18。表3-9 存儲器操作命令指令說明代碼總線操作convert t啟動溫度變換44h總線釋放等待12秒read scratchpad從暫存存儲器讀字節(jié)behds18b20發(fā)出存儲器內(nèi)數(shù)據(jù)write scratchpad寫字節(jié)入th和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)readpower supply檢測ds18b20供電方式b4h讀電源3.5.2 溫度數(shù)據(jù)

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

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論