基于單片機(jī)的數(shù)字溫度計(jì)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩19頁(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、<p>  基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)</p><p><b>  姓 名: </b></p><p><b>  學(xué) 號(hào):01</b></p><p>  專(zhuān) 業(yè):電器自動(dòng)化</p><p><b>  指導(dǎo)教師: </b></p>

2、<p>  完成時(shí)間:2012.3.19</p><p><b>  摘要</b></p><p>  本文提出了基于MCS-51系列單片機(jī)的數(shù)字溫度計(jì)的制作電路和編程思想。該數(shù)字溫度計(jì)以宏晶公司的STC89C52 單片機(jī)為主控,配以達(dá)拉斯公司的DS18B20數(shù)字溫度傳感器,采用1602雙行英文字符液晶作顯示。實(shí)現(xiàn)了對(duì)溫度的測(cè)量,顯示,和報(bào)警等功能。<

3、/p><p>  關(guān)鍵詞: STC89C52單片機(jī);數(shù)字傳感器DS18B20;顯示器LCD;</p><p><b>  目 錄</b></p><p><b>  摘要I</b></p><p>  ABSTRACTII</p><p><b>  1 緒論

4、2</b></p><p>  1.1 選題的背景2</p><p>  1.2 數(shù)字溫度計(jì)簡(jiǎn)介2</p><p>  1.2.1 數(shù)字溫度計(jì)的特征2</p><p>  1.2.2 設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)3</p><p>  2 數(shù)字溫度計(jì)的方案設(shè)計(jì)4</p><p>  2.

5、1 設(shè)計(jì)方案論證與比較4</p><p>  2.1.1 顯示電路方案4</p><p>  2.1.2 測(cè)溫電路方案4</p><p>  2.2 系統(tǒng)總體方案4</p><p>  3 數(shù)字溫度計(jì)的硬件電路設(shè)計(jì)5</p><p>  3.1 控制電路5</p><p>  3.1

6、.1 MCU簡(jiǎn)介5</p><p>  3.2.2 最小系統(tǒng)模塊6</p><p>  3.3 溫度傳感器設(shè)計(jì)7</p><p>  3.3.1 DS18B20簡(jiǎn)介7</p><p>  3.3.2 溫度傳感器與單片機(jī)的連接9</p><p>  3.3.3 復(fù)位信號(hào)及外部復(fù)位電路10</p>

7、<p>  3.4 單片機(jī)與報(bào)警電路10</p><p>  3.5 顯示電路10</p><p><b>  4 軟件設(shè)計(jì)12</b></p><p>  4.1 DS18b20的讀操作12</p><p>  4.2 DS18b20的溫度數(shù)據(jù)處理13</p><p>  

8、4.3 1602顯示部分14</p><p><b>  5 數(shù)據(jù)測(cè)試16</b></p><p><b>  參考文獻(xiàn)18</b></p><p>  附錄1 程序源代碼19</p><p><b>  1 緒論</b></p><p><

9、;b>  1.1 選題的背景</b></p><p>  隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn).能夠獨(dú)立工作的溫度檢測(cè)和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測(cè)以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號(hào)處理電路,而且可靠性相對(duì)較差,測(cè)溫準(zhǔn)確度低,檢測(cè)系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計(jì)相比,這里設(shè)計(jì)的數(shù)字溫度計(jì)具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn)

10、。選用STC89C52單片機(jī)作為主控制器件,DSl8B20作為測(cè)溫傳感器通過(guò)LCD1602并行傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示。通過(guò)DSl8B20直接讀取被測(cè)溫度值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,在-55℃~125℃最大線性偏差小于0.1℃。該器件可直接向單片機(jī)傳輸數(shù)字信號(hào),便于單片機(jī)處理及控制。另外,該溫度計(jì)還能直接采用測(cè)溫器件測(cè)量溫度,從而簡(jiǎn)化數(shù)據(jù)傳輸與處理過(guò)程。</p><p>  1.2 數(shù)字

11、溫度計(jì)簡(jiǎn)介</p><p>  1.2.1 數(shù)字溫度計(jì)的特征</p><p>  溫度是我們?nèi)粘Ia(chǎn)和生活中實(shí)時(shí)在接觸到的物理量,但是它是看不到的,僅憑感覺(jué)只能感覺(jué)到大概的溫度值,傳統(tǒng)的指針式的溫度計(jì)雖然能指示溫度,但是精度低,使用不夠方便,顯示不夠直觀,數(shù)字溫度計(jì)的出現(xiàn)可以讓人們直觀的了解自己想知道的溫度到底是多少度。</p><p>  數(shù)字溫度計(jì)采用進(jìn)口芯片組

12、裝精度高、高穩(wěn)定性,誤差≤0.5%, 內(nèi)電源、微功耗、不銹鋼外殼,防護(hù)堅(jiān)固,美觀精致。數(shù)字溫度計(jì)采用進(jìn)口高精度、低溫漂、超低功耗集成電路和寬溫型液晶顯示器,內(nèi)置高能量電池連續(xù)工作≥5年無(wú)需敷設(shè)供電電纜,是一種精度高、穩(wěn)定性好、適用性極強(qiáng)的新型現(xiàn)場(chǎng)溫度顯示儀。是傳統(tǒng)現(xiàn)場(chǎng)指針雙金屬溫度計(jì)的理想替代產(chǎn)品,廣泛應(yīng)用于各類(lèi)工礦企業(yè),大專(zhuān)院校,科研院所。</p><p>  數(shù)字溫度計(jì)采用溫度敏感元件也就是溫度傳感器(如鉑電

13、阻,熱電偶,半導(dǎo)體,熱敏電阻等),將溫度的變化轉(zhuǎn)換成電信號(hào)的變化,如電壓和電流的變化,溫度變化和電信號(hào)的變化有一定的關(guān)系,如線性關(guān)系,一定的曲線關(guān)系等,這個(gè)電信號(hào)可以使用模數(shù)轉(zhuǎn)換的電路即AD轉(zhuǎn)換電路將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),數(shù)字信號(hào)再送給處理單元,如單片機(jī)或者PC機(jī)等,處理單元經(jīng)過(guò)內(nèi)部的軟件計(jì)算將這個(gè)數(shù)字信號(hào)和溫度聯(lián)系起來(lái),成為可以顯示出來(lái)的溫度數(shù)值,如25.0攝氏度,然后通過(guò)顯示單元,如LED,LCD或者電腦屏幕等顯示出來(lái)給人觀察。這

14、樣就完成了數(shù)字溫度計(jì)的基本測(cè)溫功能。數(shù)字溫度計(jì)根據(jù)使用的傳感器的不同,AD轉(zhuǎn)換電路,及處理單元的不同,它的精度,穩(wěn)定性,測(cè)溫范圍等都有區(qū)別,這就要根據(jù)實(shí)際情況選擇符合規(guī)格的數(shù)字溫度計(jì)。</p><p>  1.2.2 設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)</p><p>  測(cè)溫基本范圍-55℃~125℃。</p><p>  測(cè)溫精度誤差小于或等于0.5℃。</p>&

15、lt;p><b>  超溫報(bào)警。</b></p><p>  LCD屏幕顯示實(shí)時(shí)溫度。</p><p>  2 數(shù)字溫度計(jì)的方案設(shè)計(jì)</p><p>  2.1 設(shè)計(jì)方案論證與比較</p><p>  2.1.1 顯示電路方案</p><p>  方案一:采用數(shù)碼管動(dòng)態(tài)顯示</p>

16、;<p>  使用七段LED數(shù)碼管,采用動(dòng)態(tài)顯示的方法來(lái)顯示各項(xiàng)指標(biāo),此方法雖然價(jià)格成本低,但是顯示單一,且功耗較大。</p><p>  方案二:采用LCD液晶顯示</p><p>  采用1602 LCD液晶顯示,此方案顯示內(nèi)容相對(duì)豐富,且價(jià)格不高。</p><p>  綜合上述原因,采用方案二,使用LCD液晶作顯示電路。</p>&

17、lt;p>  2.1.2 測(cè)溫電路方案</p><p>  方案一:采用模擬溫度傳感器測(cè)溫</p><p>  由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類(lèi)的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。</p><

18、p>  方案二:采用數(shù)字溫度傳感器</p><p>  進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。</p><p>  綜合考慮,很容易看出,采用方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了方案二。</p>

19、<p>  2.2 系統(tǒng)總體方案</p><p>  根據(jù)上述方案比較,結(jié)合題目要可以將系統(tǒng)分為主控模塊,顯示模塊,溫度采集模塊和報(bào)警模塊,其框圖如下:</p><p>  圖2-1 系統(tǒng)總體設(shè)計(jì)框圖</p><p>  3 數(shù)字溫度計(jì)的硬件電路設(shè)計(jì)</p><p><b>  3.1 控制電路</b><

20、;/p><p>  3.1.1 MCU簡(jiǎn)介</p><p>  CPU是整個(gè)控制部分的核心。在考慮經(jīng)濟(jì)性和滿足需求的前提下,本系統(tǒng)選用宏晶公司生產(chǎn)的8位STC89C52單片機(jī)作為整個(gè)系統(tǒng)的控制中心。</p><p>  STC89C52是宏晶公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用宏晶公司的高密度

21、、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳,它集Flash存儲(chǔ)器既可在線編輯(ISP)也可用傳統(tǒng)方法進(jìn)行編輯及通用8位微處理器于單片芯片中,功能強(qiáng)大STC89C52單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合。器管腳圖如圖3-2:</p><p>  圖3-1 STC89C52管腳圖</p><p>  在本系統(tǒng)中,STC89C52單片機(jī)內(nèi)部的功能單元已經(jīng)能夠滿足系統(tǒng)設(shè)計(jì)需要,不需

22、要系統(tǒng)擴(kuò)展。</p><p>  STC89C52具有以下的特點(diǎn):</p><p>  ● 8031 CPU與MCS-51 兼容</p><p>  ● 壽命:1000寫(xiě)/擦循環(huán)</p><p>  ● 4K字節(jié)可編程FLASH存儲(chǔ)器</p><p>  ● 全靜態(tài)工作:0--24MHz</p><

23、p>  ● 三級(jí)程序存儲(chǔ)器保密鎖定</p><p>  ● 128*8位內(nèi)部RAM</p><p>  ● 32條可編程I/O線</p><p>  ● 兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  ● 6個(gè)中斷源</b></p><p><b>  ● 可編程串行通道&l

24、t;/b></p><p>  ● 低功耗的閑置和掉電模式</p><p>  ● 片內(nèi)振蕩器和時(shí)鐘</p><p>  除此之外,STC89C52RC單片機(jī)還具有看門(mén)狗內(nèi)部外設(shè)。在工業(yè)控制/汽車(chē)電子/航空航天等需要高可靠性的系統(tǒng)中,為了防止“系統(tǒng)在異常情況下,受到干擾,MCU/CPU程序跑飛,導(dǎo)致系統(tǒng)長(zhǎng)時(shí)間異常工作” ,通常是引進(jìn)看門(mén)狗,如果MCU/CPU

25、不在規(guī)定的時(shí)間內(nèi)按要求訪問(wèn)看門(mén)狗,就認(rèn)為MCU/CPU處于異常狀態(tài),看門(mén)狗就會(huì)強(qiáng)迫MCU/CPU復(fù)位,使系統(tǒng)重新從頭開(kāi)始按規(guī)律執(zhí)行用戶程序。系統(tǒng)中單片機(jī)STC89C52RC中自帶看門(mén)狗電路。其寄存器設(shè)置相關(guān)信息如下:</p><p>  表3-1 STC89C52看門(mén)狗寄存器</p><p>  STC89C52單片機(jī)看門(mén)狗復(fù)位時(shí)間是可以自行選擇和設(shè)置的,其設(shè)置方法是:</p>

26、;<p>  表3-2 看門(mén)狗定時(shí)器預(yù)分頻值</p><p>  3.2.2 最小系統(tǒng)模塊</p><p>  本次設(shè)計(jì)中,選用宏晶公司的51系列單片機(jī)STC89C52芯片作為電子密碼電源開(kāi)關(guān)的數(shù)據(jù)處理及操作控制芯片。只有單片機(jī)芯片無(wú)法完成數(shù)據(jù)處理及控制功能,必須有附加的電路,使單片機(jī)芯片組成一個(gè)可運(yùn)行的系統(tǒng)才能實(shí)現(xiàn)其功能。本次設(shè)計(jì)中,由STC89C52芯片連同附加電路構(gòu)成

27、的單片機(jī)最小系統(tǒng)作為數(shù)據(jù)處理及控制模塊,其中,使用P0口作為1602液晶的數(shù)據(jù)傳輸口,P2口作1602的命令數(shù)據(jù)控制、時(shí)鐘、讀寫(xiě)控制、和使能控制接口,P3口作按鍵掃描接口,P1.4作DS18B20的總線接口。P1.3作報(bào)警控制接口。其電路連接圖3-3如下:</p><p>  圖3-2 數(shù)據(jù)處理及控制模塊</p><p>  3.3 溫度傳感器設(shè)計(jì)</p><p>

28、  3.3.1 DS18B20簡(jiǎn)介</p><p>  DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EPROM中,掉電后依然保存。</p><p>  溫度傳感器DS18B20引腳如圖3-4所示。</p><p>  圖3-3 DS18B20TO

29、-92封裝溫度傳感器</p><p><b>  引腳功能說(shuō)明:</b></p><p>  VDD :可選電源腳,電源電壓范圍3~5.5V。當(dāng)工作于寄生電源時(shí),此引腳必須接地。</p><p>  DQ :數(shù)據(jù)輸入/輸出腳。漏極開(kāi)路,常態(tài)下高電平。</p><p><b>  GND :為電源地</b&

30、gt;</p><p>  圖3-4 DS18B20內(nèi)部結(jié)構(gòu)圖</p><p>  DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。</p><p>  光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開(kāi)始8位(28H)是產(chǎn)品類(lèi)型標(biāo)

31、號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。 </p><p>  DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。 <

32、/p><p>  這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55

33、℃的數(shù)字輸出為FC90H。 </p><p>  DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 </p><p>  暫存存儲(chǔ)器包含了8個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測(cè)得的溫度信息,第一個(gè)字節(jié)的內(nèi)容是溫度的低八位,第二個(gè)字節(jié)是溫度的高八位。第三個(gè)和第四個(gè)字節(jié)是TH、TL的易失性拷貝,第五個(gè)字節(jié)

34、是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。 </p><p>  該字節(jié)各位的意義如下:</p><p>  TM R1 R0 1 1 1 1 1</p><p>  低五位一直都是1 ,TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)

35、置為0,用戶不要去改動(dòng)。R1和R0用來(lái)設(shè)置分辨率,如表1所示:(DS18B20出廠時(shí)被設(shè)置為12位)</p><p>  表3-3 DS18B20溫度轉(zhuǎn)換時(shí)間表</p><p>  根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定

36、的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號(hào)后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。</p><p>  3.3.2 溫度傳感器與單片機(jī)的連接</p><p>  溫度傳感器的單總線(1-Wire)與單片機(jī)的P2.0連接,P2.0是單片機(jī)的高位地址線A8。P2端口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O,

37、其輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)該端口寫(xiě)“1”,可通過(guò)內(nèi)部上拉電阻將其端口拉至高電平,此時(shí)可作為輸入口使用,這是因?yàn)閮?nèi)部存在上拉電阻,某一引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)。如執(zhí)行MOVX DPTR指令,則表示P2端口送出高8位的地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),可執(zhí)行MOVX RI指令,P2端口內(nèi)容即為特殊功能寄存器(SFR)區(qū)中R2寄存器內(nèi)容,

38、整個(gè)訪問(wèn)期間不改變。在Flash編程和程序校驗(yàn)時(shí),P2端口也接收高位地址和其他控制信號(hào)。圖3-5為DSl8820內(nèi)部結(jié)構(gòu)。圖3-6為DSl8820與單片機(jī)的接口電路。</p><p>  圖3-5 DS18B20和單片機(jī)的接口連接</p><p>  3.3.3 復(fù)位信號(hào)及外部復(fù)位電路</p><p>  單片機(jī)的P1.6端口是MAX813看門(mén)狗電路中喂狗信號(hào)的輸

39、入端,即單片機(jī)每執(zhí)行一次程序就設(shè)置一次喂狗信號(hào),清零看門(mén)狗器件。若程序出現(xiàn)異常,單片機(jī)引腳RST將出現(xiàn)兩個(gè)機(jī)器周期以上的高電平,使其復(fù)位。該復(fù)位信號(hào)高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩脈沖周期即兩個(gè)機(jī)器周期以上。若使用頻率為12 MHz的晶體振蕩器,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過(guò)2μs才完成復(fù)位操作。</p><p>  圖3-6 復(fù)位電路</p><p>  3.4 單片機(jī)與報(bào)警電路<

40、;/p><p>  系統(tǒng)中的報(bào)警電路是由發(fā)光二極管和限流電阻組成,并與單片機(jī)的P1.2端口連接。P1端口的作用和接法與P2端口相同,不同的是在Flash編程和程序校驗(yàn)期間,P1接收低8位地址數(shù)據(jù)。</p><p><b>  3.5 顯示電路</b></p><p>  采用技術(shù)成熟的74HCl64實(shí)現(xiàn)串并轉(zhuǎn)換。LCD顯示分為靜態(tài)顯示和動(dòng)態(tài)顯示。這

41、里采用靜態(tài)顯示,系統(tǒng)通過(guò)單片機(jī)的串行口來(lái)實(shí)現(xiàn)靜態(tài)顯示。串行口為方式零狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的1/12。當(dāng)器件執(zhí)行任何一條將SBUF作為目的寄存器的命令時(shí),數(shù)據(jù)便開(kāi)始從RXD端發(fā)送。在寫(xiě)信號(hào)有效時(shí),相隔一個(gè)機(jī)器周期后發(fā)送控制端SEND有效,即允許RXD發(fā)送數(shù)據(jù),同時(shí)允許從TXD端輸出移位脈沖。圖3-7為顯示電路的連接圖。</p><p>  圖3-7 顯示電路的連接圖</p>

42、<p><b>  4 軟件設(shè)計(jì)</b></p><p>  4.1 DS18b20的讀操作</p><p>  DSl8B20的主要數(shù)據(jù)元件有:64位激光Lasered ROM,溫度靈敏元件和非易失性溫度告警觸發(fā)器TH和TL。DSl8B20可以從單總線獲取電源,當(dāng)信號(hào)線為高電平時(shí),將能量貯存在內(nèi)部電容器中;當(dāng)單信號(hào)線為低電平時(shí),將該電源斷開(kāi),直到信號(hào)線變

43、為高電平重新接上寄生(電容)電源為止。此外,還可外接5 V電源,給DSl8B20供電。DSl8B20的供電方式靈活,利用外接電源還可增加系統(tǒng)的穩(wěn)定性和可靠性。DS18B20讀寫(xiě)時(shí)序如圖4-1~4-3:</p><p>  圖4-1 DS18B20的復(fù)位時(shí)序圖</p><p>  圖4-2 DS18B20的寫(xiě)數(shù)據(jù)時(shí)序圖</p><p>  圖4-3 DS18B2

44、0的讀數(shù)據(jù)時(shí)序圖</p><p>  由時(shí)序圖可知,DS18B20在復(fù)位時(shí)需要480us的低電平,等待15us后MCU將總線拉高,等待DS18B20的響應(yīng)信號(hào);DS18B20在寫(xiě)數(shù)據(jù)時(shí)分為寫(xiě)“0”和寫(xiě)“1”操作,寫(xiě)“0”操作時(shí),DS18B20需要至少60us的總線被拉低,然后在60us內(nèi)將“0”寫(xiě)入DS18B20中,持續(xù)時(shí)間至少1us,寫(xiě)“1”操作是只需將寫(xiě)入的“0”改為“1”即可;DS18B20讀操作也分為讀“

45、0”和讀“1”操作,讀“0”操作時(shí),總線需要15us被拉低,再拉高45us,然后再15us內(nèi)將數(shù)據(jù)讀走,讀“1”操作同讀“0”操作。程序流程圖如圖4-4:</p><p>  圖4-4 DS18B20讀取溫度的流程圖</p><p>  4.2 DS18b20的溫度數(shù)據(jù)處理</p><p>  讀出溫度數(shù)據(jù)后,LOW的低四位為溫度的小數(shù)部分,可以精確到0.0625

46、℃,LOW的高四位和HIGH的低四位為溫度的整數(shù)部分,HIGH的高四位全部為1表示負(fù)數(shù),全為0表示正數(shù)。所以先將數(shù)據(jù)提取出來(lái),分為三個(gè)部分:小數(shù)部分、整數(shù)部分和符號(hào)部分。小數(shù)部分進(jìn)行四舍五入處理:大于0.5℃的話,向個(gè)位進(jìn)1;小于0.5℃的時(shí)候,舍去不要。當(dāng)數(shù)據(jù)是個(gè)負(fù)數(shù)的時(shí)候,顯示之前要進(jìn)行數(shù)據(jù)轉(zhuǎn)換,將其整數(shù)部分取反加一。還因?yàn)镈S18B20最低溫度只能為-55℃,所以可以將整數(shù)部分的最高位換成一個(gè)“-”,表示為負(fù)數(shù)。圖4-2為溫度數(shù)據(jù)

47、處理程序的流程圖。</p><p>  圖4-5 溫度數(shù)據(jù)處理流程圖</p><p>  4.3 1602顯示部分</p><p>  1602的讀寫(xiě)時(shí)序圖如下:</p><p>  圖4-6 1602液晶的讀時(shí)序圖</p><p>  圖4-7 1602的寫(xiě)時(shí)序圖</p><p>  根

48、據(jù)以上時(shí)序圖可以得出讀寫(xiě)程序流程圖如下:</p><p><b>  5 數(shù)據(jù)測(cè)試</b></p><p>  用手觸屏溫度傳感器,可以發(fā)現(xiàn)溫度大概顯示為32度左右。將溫度傳感器與塑料袋裝的冰水混合物接觸,觀察液晶顯示的溫度是否為零度。</p><p><b>  6 結(jié)語(yǔ)</b></p><p>

49、  本文重點(diǎn)介紹了單片機(jī)和數(shù)字傳感器DS18B20的原理和功能,并用DS18B20與STC89C52單片機(jī)、LCD1602組成數(shù)字溫度計(jì),有超溫報(bào)警功能。</p><p>  在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,雖然以前還做過(guò)這樣的設(shè)計(jì)但這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多,單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫(xiě)過(guò)幾次程序,但我覺(jué)的寫(xiě)好一個(gè)程序并不是一件簡(jiǎn)單的事,舉個(gè)例子,以前寫(xiě)的那幾

50、次,數(shù)據(jù)加減時(shí),我用的都是BCD碼,這一次,我全部用的都是16進(jìn)制的數(shù)直接加減,顯示處理時(shí)在用除法去刪分,感覺(jué)效果比較好,有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。</p><p><b>  參考文獻(xiàn)</b></p><p><b>  【1】作著:姜濤</b></p><

溫馨提示

  • 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ù)僅提供信息存儲(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)論