




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、商丘學(xué)院 畢業(yè)設(shè)計(jì)(論文) 學(xué)號(hào): 08601027 wz-1型數(shù)字溫度測量報(bào)警器的設(shè)計(jì)與實(shí)現(xiàn)分 院 電子信息工程學(xué)院 專 業(yè) 電子信息科學(xué)與技術(shù) 班 級(jí) 0801 姓 名 杜孝軍 指 導(dǎo) 教 師 張振華 2012 年5月10日商丘學(xué)院本科畢業(yè)設(shè)計(jì)(論文)摘要數(shù)字溫度測量報(bào)警器是利用傳感器檢測溫度,采用數(shù)字?jǐn)?shù)碼管顯示當(dāng)前溫度,當(dāng)溫度低于下限溫度或者高于上限溫度時(shí)系統(tǒng)發(fā)出聲報(bào)警,從而起到測量和報(bào)警的功能。本系統(tǒng)以at89s51單片機(jī)作為主控系統(tǒng),利用ds18b20數(shù)字溫度傳感器作為溫度傳感器件。通過四位共陽極數(shù)碼管作為顯示器件,通過單片機(jī)控制繼溫度顯示溫度。并可以設(shè)置溫度上下限,當(dāng)溫度不在設(shè)置的
2、溫度范圍內(nèi),蜂鳴器發(fā)出報(bào)警聲。分析了溫度傳感器的工作原理。系統(tǒng)硬件電路以及軟件部分的設(shè)計(jì)。實(shí)際測試表明,該方案切實(shí)可行并已在許多通信領(lǐng)域得到廣泛應(yīng)用。 關(guān)鍵詞: 單片機(jī),溫度報(bào)警, ds18b20,at89s51abstractdigital temperature measurement is the use of sensors to detect alarm temperature, the use of digital led displays the current temperature, when the temperature falls below the lower lim
3、it temperature or higher than the sound of the alarm system when the temperature, and thus play a measurement and alarm function. the design of the digital temperature alarm system introduced with the traditional temperature alarm, compared with a reading convenience, a wide range of temperature mea
4、surement, temperature measurement accuracy, the output of the temperature digital display, the controller design using microcontroller at89s51, temperature sensor uses ds18b20 , with four achieving common cathode led digital temperature display, it can meet the above requirements. the system can set
5、 the upper and lower alarm temperature range when the temperature can not set the alarm. the following introduction to the circuit diagram and circuit analysis. keywords: microcontroller, temperature alarm, ds18b20, at89s51 朗讀顯示對(duì)應(yīng)的拉丁字符的拼音字典目 錄1 緒論12 溫度傳感器工作原理23 wz-1型溫度報(bào)警系統(tǒng)框圖44 溫度報(bào)警系統(tǒng)工作原理分析54.1 單片機(jī)芯片
6、介紹54.2 單片機(jī)模塊功能54.3 振蕩電路原理及分析:64.4 溫度測量模塊分析74.4.1 溫度傳感器ds18b20的引腳介紹74.4.2 ds18b20的內(nèi)部結(jié)構(gòu)分析84.4.3 ds18b20的測溫原理分析104.5 ds18b20溫度傳感器與單片機(jī)的接口電路114.6 數(shù)字?jǐn)?shù)碼顯示模塊分析134.7 報(bào)警系統(tǒng)分析135 系統(tǒng)軟件設(shè)計(jì)155.1 主程序155.2 讀出溫度子程序155.3 溫度轉(zhuǎn)換命令子程序165.4 計(jì)算溫度子程序165.5 顯示數(shù)據(jù)刷新子程序176 結(jié)論18致謝19參考文獻(xiàn)20附錄1 系統(tǒng)整體電路圖21附錄2 源程序代碼22商丘學(xué)院本科畢業(yè)設(shè)計(jì)(論文)1 緒論在日
7、常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要涉及到溫度的檢測及控制。像電力、化工、石油、冶金、航空航天、機(jī)械制造、糧食存儲(chǔ)、酒類生產(chǎn)等領(lǐng)域內(nèi),溫度常常是表征對(duì)象和過程狀態(tài)的最重要的參數(shù)之一。比如,發(fā)電廠鍋爐的溫度必須控制在一定的范圍之內(nèi);許多化學(xué)反應(yīng)的工藝過程必須在適當(dāng)?shù)臏囟认虏拍苷_M(jìn)行;煉油過程中,原油必須在不同的溫度和壓力條件下進(jìn)行分餾才能得到汽油、柴油、煤油等產(chǎn)品。沒有合適的溫度環(huán)境,許多電子設(shè)備就不能正常工作,糧倉的儲(chǔ)糧就會(huì)變質(zhì)霉?fàn)€,酒類的品質(zhì)就沒有保障。因此,各行各業(yè)對(duì)溫度控制的要求都越來越高??梢姡瑴囟鹊臏y量是非常重要的。傳統(tǒng)的測溫元件有熱電偶,熱敏電阻還有一些輸出模擬信號(hào)的溫度傳感器。而這些測溫
8、元件所測出的一般都是電壓或電流,再將其轉(zhuǎn)換成對(duì)應(yīng)的溫度,所以需要比較多的外部硬件支持。如果需要進(jìn)行數(shù)字顯示,就還需要進(jìn)行a/ d轉(zhuǎn)換,才能和主控制器進(jìn)行通信, 其硬件電路復(fù)雜、而且軟件調(diào)試繁瑣、制作成本高。故在本設(shè)計(jì)中將采用另外一種方案,即使用ds 18b20數(shù)字溫度傳感器作為測溫元件。該數(shù)字溫度傳感器即是美國da llas半導(dǎo)體公司繼ds1820之后推出的一種改進(jìn)型智能溫度傳感器。本數(shù)字溫度測量報(bào)警器的設(shè)計(jì)主要采用上述改進(jìn)型智能溫度傳感器ds18b20作為檢測元件,以at89s51單片機(jī)作為主控系統(tǒng),采用四位共陽極數(shù)碼管作為顯示器件,通過單片機(jī)控制繼溫度顯示溫度,并設(shè)置了超限報(bào)警功能,如果測
9、得的溫度超過了預(yù)設(shè)溫度值,蜂鳴器將會(huì)發(fā)出報(bào)警信號(hào),同時(shí)數(shù)碼管正常顯示溫度值,按下復(fù)位鍵系統(tǒng)停止報(bào)警,系統(tǒng)將再次檢測測得的溫度值,若在預(yù)設(shè)范圍內(nèi),數(shù)碼管正常顯示測得的溫度值,否則產(chǎn)生報(bào)警信號(hào)。而且傳感器ds 18b20是采用3線制與單片機(jī)相連,減少了外部的硬件電路,主控制器通過軟件處理接收到的數(shù)據(jù),從而使得整個(gè)系統(tǒng)具有低成本、易使用和穩(wěn)定性高等特點(diǎn)。在通信以及其他相關(guān)領(lǐng)域有著不可忽視的美好前景!2 溫度傳感器工作原理ds18b20溫度傳感器采用3腳fr35封裝或8腳soic封裝。其與傳統(tǒng)的熱敏電阻等測溫元件相比,能直接讀出被測溫度值,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9 12位的數(shù)字值讀數(shù)方式
10、。ds18b20的主要性能特點(diǎn)在于其負(fù)電壓特性,當(dāng)電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而被燒毀;同時(shí),其還具有用戶自定義的非易失性溫度報(bào)警設(shè)置以及實(shí)現(xiàn)多點(diǎn)組網(wǎng)等強(qiáng)大功能!ds18b20 的具體測溫原理圖則如圖1所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2 的脈沖輸入。圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),ds 18b20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),進(jìn)而完成溫度的測量,計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來確定,每次測量前,首先將55 所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器
11、1、溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在55 所對(duì)應(yīng)的一個(gè)基數(shù)值1。 減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0 時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置值將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0 時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值就是所測溫度值。斜率累加器則用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值達(dá)到被測溫度值。 圖2.1 ds18b20測溫原理圖由于ds18b20單線通信功能是
12、分時(shí)完成的,它有很嚴(yán)格的時(shí)序概念,因此其讀寫時(shí)序非常重要2。 當(dāng)ds18b20 處于寫存儲(chǔ)器操作和溫度a/ d轉(zhuǎn)換操作時(shí),總線上必須有很強(qiáng)的上拉,上拉開啟時(shí)間最大為10s,采用寄生電源供電方式時(shí)vdd和gnd端需接地。另外,由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。同時(shí),系統(tǒng)對(duì)ds18b20 的各種操作必須按協(xié)議進(jìn)行,其操作協(xié)議為:初始化ds18b20(發(fā)復(fù)位脈沖)rom功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。 3 wz-1型溫度報(bào)警系統(tǒng)框圖本系統(tǒng)單片機(jī)電路采用智能溫度傳感器ds18b20作為檢測元件,此傳感器可以直接讀取被測溫度值進(jìn)行轉(zhuǎn)換,采用獨(dú)立按鍵的方式,使實(shí)現(xiàn)起來比較簡單。此系統(tǒng)采用單
13、片機(jī)at89s51,溫度傳感器采用ds18b20,用4位led數(shù)碼管傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。如圖3.1為數(shù)字溫度報(bào)警器系統(tǒng)結(jié)構(gòu)框圖: 報(bào)警模塊主 控 制 器數(shù)碼管顯示溫度測量模塊單片機(jī)復(fù)位時(shí)鐘振蕩報(bào)警點(diǎn)按鍵調(diào)整圖3.1 總體方框圖4 溫度報(bào)警系統(tǒng)工作原理分析4.1 單片機(jī)芯片介紹 at89s51是一種低功耗、高性能cmos 8位微控制器,具有8k 在系統(tǒng)可編程flash 存儲(chǔ)器。使用atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使at
14、89s51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s51具有以下標(biāo)準(zhǔn)功能:4k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,at89s51 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,cpu停止工作,允許ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止3。l l 與mcs-51單片機(jī)產(chǎn)品兼容l l 8k字節(jié)在系統(tǒng)可編程flash
15、存儲(chǔ)器l l 10000次擦寫周期l l 全靜態(tài)操作:0hz33hzl l 三級(jí)加密程序存儲(chǔ)器l l 32個(gè)可編程i/o口線l l 三個(gè)16位定時(shí)器/計(jì)數(shù)器l l 全雙工uart串行通道l l 低功耗空閑和掉電模式l l 掉電后中斷可喚醒l l 看門狗定時(shí)器l l 雙數(shù)據(jù)指針l l 掉電標(biāo)識(shí)符4.2 單片機(jī)模塊功能該模塊有以下幾個(gè)部分組成:復(fù)位電路:為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5v5%,即 4.755.25v。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)vcc超過4.
16、75v低于5.25v以及晶體振蕩器 穩(wěn)定工作時(shí),復(fù)位信號(hào)才被撤除,微機(jī)電路開始正常工作4。圖4.1 復(fù)位電路目前為止,單片機(jī)復(fù)位電路主要有四種類型:(1) 微分型復(fù)位電路;(2) 積分型復(fù)位電路;(3) 比較器型復(fù)位電路;(4) 看門狗型復(fù)位電路。4.3 振蕩電路原理及分析:晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個(gè)電容和一個(gè)電阻并聯(lián)再串聯(lián)一個(gè)電容的二端網(wǎng)絡(luò),電工學(xué)上這個(gè)網(wǎng)絡(luò)有兩個(gè)諧振點(diǎn),以頻率的高低分其中較低 的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。由于晶體自身的特性致使這兩個(gè)頻率的距離相當(dāng)?shù)慕咏谶@個(gè)極窄的頻率范圍內(nèi),晶振等效為一個(gè)電感,所以只要晶 振的兩端并聯(lián)上合適的電容它就會(huì)組
17、成并聯(lián)諧振電路。這個(gè)并聯(lián)諧振電路加到一個(gè)負(fù)反饋電路中就可以構(gòu)成正弦波振蕩電路,由于晶振等效為電感的頻率范圍很窄, 所以即使其他元件的參數(shù)變化很大,這個(gè)振蕩器的頻率也不會(huì)有很大的變化,震蕩電路的電路圖如圖4.2所示.圖4.2 晶振電路晶振有一個(gè)重要的參數(shù),那就是負(fù)載電容值,選擇與負(fù)載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率5。一般的晶振振蕩電路都是在一個(gè)反相放大器(注意是放大器不是反相器)的兩端接入晶振,再有兩個(gè)電容分別接到晶振的兩端,每個(gè)電容的另一端再接到地,這兩個(gè)電容串聯(lián)的容量值就應(yīng)該等于負(fù)載電容,請(qǐng)注意一般ic的引腳都有等效輸入電容,這個(gè)不能忽略。4.4 溫度測量模塊分析4.4.
18、1 溫度傳感器ds18b20的引腳介紹ds18b20溫度傳感器是美國dallas半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。 to92封裝的ds18b20的引腳排列見下圖4.3,其引腳功能描述見表4.1。圖4.3 ds18b20引腳圖表4-1 ds18b20詳細(xì)引腳功能描述序號(hào)名稱引腳功能描述1gnd地信號(hào)2dq數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3vdd可選擇的vdd引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。ds18b20的性能特點(diǎn)如
19、下:獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)ds18b20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無須外部器件;可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;零待機(jī)功耗;溫度以或位數(shù)字;用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。4.4.2 ds18b20的內(nèi)部結(jié)構(gòu)分析ds18b20采用腳pr35封裝或腳soic封裝,其內(nèi)部結(jié)構(gòu)框圖如圖4.4所示。i/oc64位rom和單線接口高速緩存存儲(chǔ)器與控制邏輯溫度傳感器高溫觸發(fā)器th低溫觸發(fā)器tl配置寄存器8位crc發(fā)生器vdd圖4.4 ds1
20、8b20內(nèi)部結(jié)構(gòu)64位rom的結(jié)構(gòu)開始位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后位是前面56位的crc檢驗(yàn)碼,這也是多個(gè)ds18b20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器和,可通過軟件寫入戶報(bào)警上下限6。ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存和一個(gè)非易失性的可電擦除的eeram。高速暫存ram的結(jié)構(gòu)為字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3-4所示。頭個(gè)字節(jié)包含測得的溫度信息,第和第字節(jié)和的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。ds18b20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定
21、義如圖e所示。低位一直為,是工作模式位,用于設(shè)置ds18b20在工作模式還是在測試模式,ds18b20出廠時(shí)該位被設(shè)置為,用戶要去改動(dòng),r1和0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率7。溫度 lsb溫度 msbth用戶字節(jié)1tl用戶字節(jié)2配置寄存器保留保留保留crc表4.2 ds18b20字節(jié)定義由表4.2可見,ds18b20溫度轉(zhuǎn)換的時(shí)間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存的第、字節(jié)保留未用,表現(xiàn)為全邏輯。第字節(jié)讀出前面所有字節(jié)的crc碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后,開
22、始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第、字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625lsb形式表示。當(dāng)符號(hào)位時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位時(shí),表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。表4.3 ds18b20溫度轉(zhuǎn)換時(shí)間表r1r0分辨率/位溫度最大轉(zhuǎn)換時(shí)間/ms00993.750110187.510113751112750ds18b20完成溫度轉(zhuǎn)換后,就把測得的溫度值與ram中的th、t字節(jié)內(nèi)容作比較
23、。若th或ttl,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只ds18b20同時(shí)測量溫度并進(jìn)行報(bào)警搜索8。在64位rom的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(crc)。主機(jī)rom的前56位來計(jì)算crc值,并和存入ds18b20的crc值作比較,以判斷主機(jī)收到的rom數(shù)據(jù)是否正確。4.4.3 ds18b20的測溫原理分析ds18b20的測溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí)
24、,ds18b20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器、溫度寄存器中,計(jì)數(shù)器和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器的預(yù)置值減到時(shí),溫度寄存器的值將加,減法計(jì)數(shù)器的預(yù)置將重新被裝入,減法計(jì)數(shù)器重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度
25、寄存器值大致被測溫度值。表4.4 一部分溫度對(duì)應(yīng)值表溫度/二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00000191h+10.1250000 0000 1010 000100a2h+0.50000 0000 0000 00100008h00000 0000 0000 10000000h-0.51111 1111 1111 0000fff8h-10.1251111 1111 0101 1110ff5eh-25.06251111 1110 0110 1111fe6
26、fh-551111 1100 1001 0000fc90h另外,由于ds18b20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)ds18b20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化ds18b20(發(fā)復(fù)位脈沖)發(fā)rom功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)9。4.5 ds18b20溫度傳感器與單片機(jī)的接口電路ds18b20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)ds18b20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖5 所示單片機(jī)端口接單線總線,為保證在有效的ds18b20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)mosfet管來完成對(duì)總線的上
27、拉。當(dāng)ds18b20處于寫存儲(chǔ)器操作和溫度a/d轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)vdd端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。由于ds18b20是在一根i/o線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。ds18b20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都
28、是低位在先10。圖4.5 ds18b20復(fù)位時(shí)序?qū)τ赿s18b20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過程。對(duì)于ds18b20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓ds18b20把數(shù)據(jù)傳輸?shù)絾慰偩€上。ds18b20在完成一個(gè)讀時(shí)序過程,至少需要60us才能完成。圖4.60ds18b20讀時(shí)序?qū)τ赿s18b20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過程。對(duì)于ds18b20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證ds18b20能夠在15us到45us之間能夠正確地采樣io總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us
29、之內(nèi)就得釋放單總線。圖4.7 ds18b20寫時(shí)序4.6 數(shù)字?jǐn)?shù)碼顯示模塊分析采用動(dòng)態(tài)節(jié)能四位共陽極數(shù)碼管顯示,由四個(gè)三極管驅(qū)動(dòng),三級(jí)管是位選,和數(shù)碼管共的那個(gè)陽串聯(lián)控制開和管,數(shù)碼管別的連段選,和控制器連接。為什么要用三級(jí)管驅(qū)動(dòng),因?yàn)樗墓β氏鄬?duì)大,并且數(shù)碼管顯示幾段是不定的,這里要通過足夠的電流。由于不定,所以每段要分別串聯(lián)限流電阻。圖4.8 數(shù)碼顯示模塊圖4.7 報(bào)警系統(tǒng)分析圖4.9 報(bào)警系統(tǒng)電路圖本報(bào)警系統(tǒng)中有三個(gè)獨(dú)立式按鍵可以分別調(diào)整溫度計(jì)的上下限報(bào)警設(shè)置,電路中蜂鳴器可以在被測溫度不在上下限范圍內(nèi)時(shí),發(fā)出報(bào)警鳴叫聲音,同時(shí)紅色led閃爍,實(shí)現(xiàn)報(bào)警功能。復(fù)位的實(shí)現(xiàn)是通過單片機(jī)的復(fù)位電
30、路實(shí)現(xiàn)上電復(fù)位加手動(dòng)復(fù)位,使用比較方便,在程序跑飛時(shí),可以手動(dòng)復(fù)位,這樣就不用在重起單片機(jī)電源,就可以實(shí)現(xiàn)復(fù)位。 5 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。5.1 主程序初始化調(diào)用顯示子程序1s到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令nyny圖5.1 主程序流程圖5.2 讀出溫度子程序讀出溫度子程序的主要功能是讀出ram中的9字節(jié),在讀出時(shí)需進(jìn)行crc校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖5.2所示。y發(fā)ds18b20復(fù)位命令發(fā)跳過rom命令發(fā)讀取溫度命令讀取操作,crc校驗(yàn)9字節(jié)完
31、?crc校驗(yàn)正?確?移入溫度暫存器結(jié)束nny圖5.2 讀溫度流程圖5.3 溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖5.3所示.發(fā)ds18b20復(fù)位命令發(fā)跳過rom命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖5.3 溫度轉(zhuǎn)換流程圖5.4 計(jì)算溫度子程序計(jì)算溫度子程序?qū)am中讀取值進(jìn)行bcd碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖5.4所示。開始溫度零下?溫度值取補(bǔ)碼置“”標(biāo)志計(jì)算小數(shù)位溫度bcd值 計(jì)算整數(shù)位溫度bcd值 結(jié)束置“+”標(biāo)志ny圖5.4
32、 計(jì)算溫度流程圖5.5 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位。程序流程圖如圖5.5。溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào)) 結(jié)束nnyy圖5.5 顯示數(shù)據(jù)刷新流程圖6 結(jié)論本設(shè)計(jì)是利用數(shù)字溫度傳感器ds18b20作為溫度傳感器件,采用價(jià)格低廉性能穩(wěn)定的at 89s51單片機(jī)作為主控芯片,用四位一體共陽極的數(shù)碼管作為顯示器件,蜂鳴器及報(bào)警電路器件構(gòu)成了整個(gè)系統(tǒng)整體。本設(shè)計(jì)的優(yōu)點(diǎn)是價(jià)格低廉、性能穩(wěn)定、精確度高、測量準(zhǔn)確、方便攜帶、便于用在工農(nóng)業(yè)等溫度控制領(lǐng)域
33、。其電源部分采用了比較普通的三端穩(wěn)壓器l7805,便于提供比較穩(wěn)定的電源。另外,本系統(tǒng)采用了寬電源設(shè)計(jì),可以用7 +12v的直流電源供電,也可以直接用5v 的直流電源。通過具體設(shè)計(jì)及實(shí)際測試,充分證明了該系統(tǒng)設(shè)計(jì)方案的可行性和有效性,各項(xiàng)性能指標(biāo)均達(dá)到了預(yù)期的要求。傳感器技術(shù)與單片機(jī)技術(shù)有機(jī)結(jié)合的綜合體將會(huì)是現(xiàn)代通信的一個(gè)必然的趨勢! 如果把單片機(jī)換成貼片的封裝器件利于大規(guī)模的工業(yè)商業(yè)生產(chǎn)。在畢業(yè)設(shè)計(jì)過程中,鞏固了在大學(xué)4年內(nèi)學(xué)過的知識(shí),尤其是單片機(jī)和模擬電子方面的知識(shí),同時(shí)通過這次畢業(yè)設(shè)計(jì)提高了單片機(jī)編程的能力,尤其是獲得的軟件調(diào)試經(jīng)驗(yàn),同時(shí)加強(qiáng)了我的實(shí)際編程能力,同時(shí)也讓自己更加的知道了自
34、己知識(shí)領(lǐng)域里的不足和缺陷。該溫度測量報(bào)警器只是ds18b20在溫度控制領(lǐng)域的一個(gè)簡單實(shí)例,還有許多需要完善的地方,例如可以將測得的溫度通過單片機(jī)與通訊模塊相連接,以手機(jī)短消息的方式發(fā)送給用戶,使用戶能夠隨時(shí)對(duì)溫度進(jìn)行監(jiān)控。此外,還能廣泛地應(yīng)用于其他一些工業(yè)生產(chǎn)領(lǐng)域,如建筑,倉儲(chǔ)等行業(yè)。本溫度報(bào)警系統(tǒng)可以應(yīng)用于多種場合,像的溫度、育嬰房的溫度、水溫的測量報(bào)警。用戶可靈活選擇本設(shè)計(jì)的用途,有很強(qiáng)的實(shí)用價(jià)值。致謝大四即將結(jié)束,我也將走入社會(huì)。在此畢業(yè)論文完成之際,我想感謝那些在我大學(xué)生活中深深影響我的老師,同學(xué)。首先我要感謝我的指導(dǎo)教師張振華老師在學(xué)術(shù)上的精心指導(dǎo)和嚴(yán)格要求,在思想、學(xué)習(xí)和生活等各個(gè)
35、方面的典范作用,在科研中創(chuàng)造的良好學(xué)術(shù)氣氛,在系統(tǒng)研究和調(diào)試過程中給予的及時(shí)幫助。從他身上我不僅學(xué)到了專業(yè)知識(shí),學(xué)到了積極的人生態(tài)度和做人的道理,更重要的是明確了今后努力的方向。在此,我再一次對(duì)張老師的培養(yǎng)和關(guān)懷表示誠摯的謝意!我要感謝張振華老師對(duì)我們的學(xué)習(xí)和工作嚴(yán)格要求,并耐心地教導(dǎo)激勵(lì)我們積極進(jìn)取,培養(yǎng)我們形成良好的科研作風(fēng),所有這些,我們將終生受益。其次我要感謝大學(xué)這四年來所有教授過我知識(shí)的老師們,是你們讓我打下了堅(jiān)實(shí)的基礎(chǔ),讓我的大學(xué)生涯變得更為充實(shí)。此外,我還要特別感謝屈曉良老師,盧丹老師等實(shí)驗(yàn)室的老師們和同學(xué)們。在你們的教導(dǎo)下和大力幫助下,我取得了很大的進(jìn)步,學(xué)會(huì)了單片機(jī)軟件編程和
36、硬件電路設(shè)計(jì),將理論和實(shí)踐結(jié)合了起來。這段時(shí)間內(nèi)我之所學(xué)將會(huì)成為我人生的一筆財(cái)富,讓我受益終生。最后感謝我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報(bào),愿你們永遠(yuǎn)健健康康,快快樂樂。在論文即將完成之際,再次向給予我?guī)椭睦蠋焸兺瑢W(xué)們說一聲:您們辛苦了! 參考文獻(xiàn)1 譚浩強(qiáng).c程序設(shè)計(jì)(第4版)m.北京:清華大學(xué)出版社,2010:52-58.2 郭天祥.新概念51單片機(jī)c語言教程m.北京:電子工業(yè)出版社,2009:125-128.3 劉海青,許錦峰,姚恩濤等基于電容式傳感器的建筑圍護(hù)結(jié)構(gòu)含水率測試j.傳感器與微系統(tǒng),2008,27(7):201-2034 黃智偉,王彥.全國大學(xué)生設(shè)計(jì)競賽訓(xùn)
37、練教程m.武漢:華中科技大學(xué)出版社,2006:82-86.5 王成安.電子產(chǎn)品生產(chǎn)工藝與生產(chǎn)管理m.北京:人民郵電出版社,2010:163-166.6 戢衛(wèi)平.單片機(jī)系統(tǒng)開發(fā)實(shí)例經(jīng)典m.北京:冶金工業(yè)出版社,2008:38-42.7 黃慶華.單片機(jī)開發(fā)技術(shù)與實(shí)訓(xùn)m.北京:電子工業(yè)出版社,2009.8 于京.51系列單片機(jī)c程序設(shè)計(jì)與應(yīng)用方案m.北京:中國電力出版社,2007.9 john matsoukisdesigning embedded hardwarem北京:中國電力出版社,2004.10 christian p, anne f. ultrasonic waster- water tr
38、eatment:incidence of ultrason- ic frequency on the rate of phenol and carbon tetrachloride degradation j . ultrasonic so-nochemist chemistry, 1997( 4) : 295- 300.附錄1 系統(tǒng)整體電路圖附錄2 源程序代碼#include #include ds18b20.h#define uint unsigned int#define uchar unsigned char /宏定義#define set p3_1/定義調(diào)整鍵#define dec
39、p3_2/定義減少鍵#define add p3_3/定義增加鍵#define beep p3_7/定義蜂鳴器bit shanshuo_st;/閃爍間隔標(biāo)志bit beep_st;/蜂鳴器間隔標(biāo)志sbit dian = p27; /小數(shù)點(diǎn)uchar x=0;/計(jì)數(shù)器signed char m;/溫度值全局變量uchar n;/溫度值全局變量uchar set_st=0;/狀態(tài)標(biāo)志signed char shangxian=38;/上限報(bào)警溫度,默認(rèn)值為38signed char xiaxian=5;/下限報(bào)警溫度,默認(rèn)值為38uchar code leddata=0xc0,0xf9,0xa4,
40、0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;/*延時(shí)子程序*/void delay(uint num)while( -num );/*初始化定時(shí)器0*/void inittimer(void)tmod=0x1;th0=0x3c;tl0=0xb0;/50ms(晶振12m)/*定時(shí)器0中斷服務(wù)程序*/void timer0(void) interrupt 1th0=0x3c;tl0=0xb0;x+;/*外部中斷0服務(wù)程序*/void int0(void) interrupt 0ex0=0;/關(guān)外部中斷0if(dec=0&set_st=1)shangxian-;i
41、f(shangxianxiaxian)shangxian=xiaxian;else if(dec=0&set_st=2)xiaxian-;if(xiaxian99)shangxian=99;else if(add=0&set_st=2)xiaxian+;if(xiaxianshangxian)xiaxian=shangxian; /*讀取溫度*/void check_wendu(void)uint a,b,c;c=readtemperature()-5;/獲取溫度值并減去ds18b20的溫漂誤差a=c/100;/計(jì)算得到十位數(shù)字b=c/10-a*10;/計(jì)算得到個(gè)位數(shù)字m=c/10;/計(jì)算得到
42、整數(shù)位n=c-a*100-b*10;/計(jì)算得到小數(shù)位if(m99)m=99;n=9;/設(shè)置溫度顯示上限/*顯示開機(jī)初始化等待畫面*/disp_init() p2 = 0xbf; /顯示-p1 = 0xf7;delay(200);p1 = 0xfb;delay(200); p1 = 0xfd;delay(200);p1 = 0xfe;delay(200);p1 = 0xff; /關(guān)閉顯示/*顯示溫度子程序*/disp_temperature() /顯示溫度p2 =0xc6; /顯示cp1 = 0xf7;delay(300);p2 =leddatan; /顯示個(gè)位p1 = 0xfb;delay(3
43、00);p2 =leddatam%10; /顯示十位dian = 0; /顯示小數(shù)點(diǎn)p1 = 0xfd;delay(300);p2 =leddatam/10; /顯示百位p1 = 0xfe;delay(300);p1 = 0xff; /關(guān)閉顯示/*顯示報(bào)警溫度子程序*/disp_alarm(uchar baojing)p2 =0xc6; /顯示cp1 = 0xf7;delay(200);p2 =leddatabaojing%10;/顯示十位p1 = 0xfb;delay(200);p2 =leddatabaojing/10;/顯示百位p1 = 0xfd;delay(200);if(set_st=1)p2 =0x89;else if(set_st=2)p2 =0xc7;/上限h、下限l標(biāo)示p1 = 0xfe;delay(200);p1 = 0xff; /關(guān)閉顯示/*報(bào)警子程序*/void alarm()if(x=10)beep_st=beep_st;x=0;if(m=shangxian&beep_st=1)|(mxiaxian&beep_st=1)beep=0;else beep=1;/*主函數(shù)*/void main(void) uint z;inittimer(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電梯贈(zèng)予合同7篇
- 小產(chǎn)權(quán)轉(zhuǎn)讓合同6篇
- 國際貿(mào)易之間合作合同
- 公司技術(shù)合作合同協(xié)議書
- 2025年中山貨運(yùn)資格證模擬考試題庫
- 2025年揚(yáng)州貨運(yùn)從業(yè)資格證模擬考試下載安裝
- 室內(nèi)裝修合同二5篇
- 的擔(dān)保借款合同7篇
- 觀看湖北消防119宣傳月節(jié)目心得感悟集合4篇
- 在民主生活會(huì)上的點(diǎn)評(píng)講話模板
- 人教版二年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)單元測試題
- 2025年湖南城建職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案一套
- 2025年黑龍江商業(yè)職業(yè)學(xué)院單招職業(yè)技能測試題庫及答案一套
- 小學(xué)二年級(jí)有余數(shù)的除法口算題(共300題)
- 北京市矢量地圖-可改顏色
- 【冠心病探究文獻(xiàn)綜述2000字】
- 幼兒園大班音樂活動(dòng)《小籬笆》
- 前輪轂止口不合格8D報(bào)告
- 蝴蝶蘭溫室工廠化栽培管理技術(shù)
- 銀行對(duì)賬單(共9頁)
- 企業(yè)職工流動(dòng)登記表格模板(最新)
評(píng)論
0/150
提交評(píng)論