基于51單片機(jī)的溫度測(cè)量系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩87頁(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><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  1 緒論1</b></p><p>  1.1選題的背景1</p><p>  

2、1.2課題研究的目的和意義1</p><p>  1.3本文的結(jié)構(gòu)1</p><p>  2 系統(tǒng)總體方案設(shè)計(jì)1</p><p>  2.1總體方案設(shè)計(jì)2</p><p>  2.2部分模塊方案選擇3</p><p>  2.2.1單片機(jī)的選擇3</p><p>  2.2.2溫度檢

3、測(cè)方式的選擇3</p><p>  2.2.3顯示部分的選擇4</p><p>  2.2.4電源模塊的選擇4</p><p>  3 硬件電路的設(shè)計(jì)4</p><p>  3.1 硬件電路設(shè)計(jì)軟件4</p><p>  3.2系統(tǒng)整體原理圖5</p><p>  3.3單片機(jī)最小系

4、統(tǒng)電路6</p><p>  3.4單片機(jī)的選型7</p><p>  3.5溫度測(cè)量模塊8</p><p>  3.5.1 DS18B20概述8</p><p>  3.5.2 DS18B20測(cè)溫工作原理11</p><p>  3.5.3 DS18B20溫度傳感器與單片機(jī)的接口電路12</p>

5、;<p>  3.6 顯示模塊13</p><p>  3.7 按鍵以及無(wú)線遙控模塊15</p><p>  3.7.1按鍵的相關(guān)知識(shí)16</p><p>  3.7.2 5伏帶解碼四路無(wú)線接收板模塊17</p><p>  3.8 報(bào)警及指示燈模塊19</p><p>  3.9 電源模塊2

6、0</p><p>  4 系統(tǒng)軟件設(shè)計(jì)及仿真部分21</p><p>  4.1軟件設(shè)計(jì)的工具21</p><p>  4.1.1程序編寫(xiě)軟件21</p><p>  4.1.2仿真軟件22</p><p>  4.2各模塊對(duì)應(yīng)的軟件設(shè)計(jì)23</p><p>  4.2.1顯示模塊的

7、程序23</p><p>  4.2.2溫度測(cè)量的程序27</p><p>  4.2.3報(bào)警系統(tǒng)程序33</p><p>  4.2.4按鍵程序34</p><p>  4.2.5總體程序36</p><p><b>  5 實(shí)物制作38</b></p><p&g

8、t;  5.1電源部分38</p><p>  5.2單片機(jī)最小系統(tǒng)部分38</p><p>  5.3 總體實(shí)物38</p><p><b>  6 總結(jié)39</b></p><p><b>  7 致謝39</b></p><p><b>  參考文獻(xiàn)

9、40</b></p><p><b>  附錄一41</b></p><p><b>  附錄二49</b></p><p>  基于單片機(jī)的溫度測(cè)量系統(tǒng)</p><p><b>  摘 要</b></p><p>  隨著測(cè)溫系統(tǒng)的

10、極速的發(fā)展,國(guó)外的測(cè)量系統(tǒng)已經(jīng)很成熟,產(chǎn)品也比較多。近幾年來(lái),國(guó)內(nèi)也有許多高精度溫度測(cè)量系統(tǒng)的產(chǎn)品,但是對(duì)于用戶來(lái)說(shuō)價(jià)格較高。隨著市場(chǎng)的競(jìng)爭(zhēng)越來(lái)越激烈,現(xiàn)在企業(yè)發(fā)展的趨勢(shì)是如何在降低成本的前提下,有效的提高生產(chǎn)能力。追求價(jià)格便宜、性能高效,且應(yīng)用廣泛的器件是企業(yè)優(yōu)先考慮的問(wèn)題,因此設(shè)計(jì)出以一種操作簡(jiǎn)單、性能優(yōu)越、價(jià)格便宜的測(cè)溫系統(tǒng)將會(huì)有很好的發(fā)展?jié)摿Α?lt;/p><p>  本文選用單片機(jī)STC89C52為核心制作

11、了溫度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。單片機(jī)STC89C52 可以依據(jù)溫度傳感器Ds18b20 所收集的溫度在液晶屏上實(shí)時(shí)顯示,通過(guò)按鍵來(lái)設(shè)置上下限溫度。所有溫度數(shù)據(jù)均通過(guò)液晶顯示器LCD顯示出來(lái)。</p><p>  經(jīng)過(guò)反復(fù)調(diào)試,系統(tǒng)可以運(yùn)行,上電后LCD1602顯示當(dāng)前溫度,并能進(jìn)行報(bào)警預(yù)警。</p><p>  關(guān)鍵字 單片機(jī) 溫度傳感器 液晶顯示器</p><p>  Te

12、mperature measurement system based on single chip microcomputer</p><p><b>  ABSTRACT</b></p><p>  With the development of the temperature measuring system of high speed, measurement

13、system has been very mature abroad, products is also more.In recent years, there are also many domestic high precision temperature measurement system of products, but the price is higher for the user.As the market compet

14、ition is more and more fierce, and now the trend of the development of the enterprise is how to reduce cost under the premise of effectively improve production capacity.Pursue cheap, efficient per</p><p>  T

15、his article chooses microcontroller STC89C52 made temperature real-time monitoring system for the core.Microcontroller STC89C52 can be collected according to the temperature sensor DS18B20 temperature in real-time displa

16、y on the LCD panel, temperature through the buttons to set the upper and lower limits.All the temperature data through a liquid crystal display LCD display.</p><p>  After repeated debugging, the system can

17、run, after power on the LCD1602 display the current temperature, and can alarm warning.</p><p>  KEY WORDS Microcontroller The temperature sensor Liquid crystal display1 緒論</p><p><b>  

18、1.1選題的背景</b></p><p>  隨著社會(huì)的進(jìn)步和發(fā)展,人們物質(zhì)生活的提高,單片機(jī)技術(shù)已經(jīng)深入我們的生活,工作,和其他領(lǐng)域的研究,已成為一種成熟的技術(shù),單片機(jī)系統(tǒng)成為人們追求的目標(biāo)之一,它所給人帶來(lái)的便利是無(wú)與倫比的,其中數(shù)字溫度計(jì)就是一個(gè)很典型的例子,由于人們對(duì)于它的要求越來(lái)越高,想要為人們提供更便捷的設(shè)備就需要從單片機(jī)技術(shù)入手,使設(shè)備向著數(shù)字化,智能化的方向發(fā)展。</p>

19、<p>  目前,測(cè)溫系統(tǒng)得到極速的發(fā)展,國(guó)外的測(cè)量系統(tǒng)已經(jīng)很成熟,產(chǎn)品也比較多。近幾年來(lái),國(guó)內(nèi)也有許多高精度溫度系統(tǒng)的產(chǎn)品,但是對(duì)于用戶來(lái)說(shuō)價(jià)格高。。隨著市場(chǎng)的競(jìng)爭(zhēng)越來(lái)越激烈,現(xiàn)在企業(yè)發(fā)展的趨勢(shì)是如何在降低成本的前提下,有效的提高生產(chǎn)能力。追求價(jià)格便宜、性能高效,且應(yīng)用廣泛的器件是企業(yè)優(yōu)先考慮的問(wèn)題,因此設(shè)計(jì)出以一種操作簡(jiǎn)單、性能優(yōu)越、價(jià)格便宜的測(cè)溫系統(tǒng)將會(huì)有很好的發(fā)展?jié)摿Α?lt;/p><p>  1

20、.2課題研究的目的和意義</p><p>  隨著近幾年的持續(xù)高溫天氣,使得溫度測(cè)量變得越來(lái)越被人重視。本文運(yùn)用單片機(jī)STC89C52制作了溫度實(shí)時(shí)測(cè)量系統(tǒng)。溫度傳感器DS18B20所收集的溫度通過(guò)單片機(jī)在液晶屏上實(shí)時(shí)顯示,通過(guò)按鍵控制改變溫度的上下限溫度。所有測(cè)到的數(shù)據(jù)通過(guò)LCD1602顯示出來(lái)。</p><p>  設(shè)計(jì)的溫度測(cè)量系統(tǒng)能實(shí)現(xiàn)以下功能:</p><p&

21、gt;  (1) 測(cè)溫范圍:-55℃~+125℃;</p><p>  (2) 溫度顯示:lcd1602液晶顯示器;</p><p>  (3) 超過(guò)設(shè)置溫度范圍會(huì)發(fā)生報(bào)警且對(duì)應(yīng)指示燈亮。</p><p>  (4) 測(cè)溫分辨力:0.5℃;</p><p>  (5) 測(cè)溫準(zhǔn)確度:1℃左右;</p><p>  (6)

22、 獨(dú)立按鍵與無(wú)線遙控二者并行控制溫度的上下限設(shè)置。</p><p>  經(jīng)過(guò)此次畢業(yè)設(shè)計(jì)使我懂得了單片機(jī)控制系統(tǒng)的綜合知識(shí),掌握了簡(jiǎn)單的軟、硬件設(shè)計(jì)方法,并進(jìn)一步鍛煉我在單片機(jī)利用方面的能力。</p><p><b>  1.3本文的結(jié)構(gòu)</b></p><p>  全文共分為六章,各章主要內(nèi)容如下:</p><p> 

23、 第一章是緒言部分,主要介紹了選題的背景、研究的目的意義以及本文的主要內(nèi)容和結(jié)構(gòu);</p><p>  第二章為系統(tǒng)方案設(shè)計(jì)部分,主要說(shuō)了整個(gè)體系的工作原理和硬件結(jié)構(gòu),判斷系統(tǒng)的總體方案的優(yōu)劣,并對(duì)各類(lèi)方案做出比較并選取;</p><p>  第三章為各模塊硬件設(shè)計(jì)部分,詳細(xì)介紹各模塊的原理,并對(duì)電路功能進(jìn)行分析,對(duì)硬件線路進(jìn)行設(shè)計(jì)并得出對(duì)應(yīng)的硬件原理圖;</p><p

24、>  第四章為系統(tǒng)軟件設(shè)計(jì)及仿真部分,主要介紹系統(tǒng)各部分模塊的設(shè)計(jì)流程和簡(jiǎn)單程序;以及系統(tǒng)軟件仿真。</p><p>  第五章為實(shí)物制作,貼出具體的實(shí)物圖片,以及在調(diào)試過(guò)程中所遇到的問(wèn)題和解決方案。</p><p>  第六章是總結(jié)和展望,主要是對(duì)本設(shè)計(jì)的總結(jié)歸納,并對(duì)存在的問(wèn)題提出解決方案,以及功能擴(kuò)展和進(jìn)一步研究的方向。</p><p>  2 系統(tǒng)總體

25、方案設(shè)計(jì)</p><p><b>  2.1總體方案設(shè)計(jì)</b></p><p><b>  溫度</b></p><p>  圖2-1 系統(tǒng)總體方案流程圖</p><p>  系統(tǒng)總體以stc89c52單片機(jī)為核心,通過(guò)溫度測(cè)量模塊、lcd顯示模塊和按鍵模塊來(lái)組成。可以通過(guò)按鍵設(shè)定溫度報(bào)警的上下限

26、。當(dāng)測(cè)量的溫度超出設(shè)定范圍時(shí),單片機(jī)能夠驅(qū)動(dòng)報(bào)警電路。顯示模塊可以顯示當(dāng)前的溫度值、溫度上下限等信息,按鍵模塊采用普通按鍵和無(wú)線遙控兩種并行使用方式。</p><p>  2.2部分模塊方案選擇</p><p>  2.2.1單片機(jī)的選擇</p><p>  方案一:采用AT89C51芯片為核心,硬件使用閃速存儲(chǔ)器,4KB內(nèi)部程序存儲(chǔ)空間,與51系列單片機(jī)是完全兼容

27、的。但這個(gè)電路設(shè)計(jì)因?yàn)闆](méi)有在線編程技術(shù),因此在電路調(diào)試、修改或由于程序錯(cuò)誤需要下載時(shí),需反復(fù)拔插芯片,會(huì)造成芯片一定的損傷,不利于測(cè)試使用。此外,內(nèi)部沒(méi)有集成A / D轉(zhuǎn)換模塊。</p><p>  方案二:選用STC89C52單片機(jī)為核心,該單片機(jī)是51系列增強(qiáng)型的8位單片機(jī),它具有32個(gè)I/O口,且片內(nèi)含8K FLASH程序存儲(chǔ)器,并且具有AT89C51的所有功能,能夠?qū)崿F(xiàn)在線編程功能,在對(duì)電路進(jìn)行調(diào)試時(shí),由

28、于程序的錯(cuò)誤修改需要燒入程序時(shí),可以直接在線進(jìn)行,避免了多次插拔芯片從而造成單片機(jī)的損壞[1]。</p><p>  由上可得出,本設(shè)計(jì)選取STC89C52作為本系統(tǒng)的核心。</p><p>  2.2.2溫度檢測(cè)方式的選擇</p><p>  方案一、使用熱偶電阻之類(lèi)的器件,將隨被測(cè)溫度轉(zhuǎn)變的電壓或電流收集過(guò)來(lái)通過(guò)A/D 轉(zhuǎn)換后,能夠用單片機(jī)進(jìn)行數(shù)據(jù)的處理,并把數(shù)

29、據(jù)顯示出來(lái),但是這種設(shè)計(jì)需要用到A/D 轉(zhuǎn)換電路,其中還涉及到熱偶電阻與溫度的對(duì)應(yīng)關(guān)系。而且在采樣信號(hào)的放大過(guò)程中由于受溫度的影響將是一個(gè)大的偏差,精度不高,不推薦采用。</p><p>  方案二、現(xiàn)在在單片機(jī)測(cè)溫電路設(shè)計(jì)中,大部分都是利用溫度傳感器的,本系統(tǒng)可以選用溫度傳感器DS18B20,此傳感器是單總線數(shù)字傳感器,可以進(jìn)行溫度讀取,轉(zhuǎn)換,且給單片機(jī)的是二進(jìn)制補(bǔ)碼形式的數(shù)據(jù)。具有高精度,抗干擾能力強(qiáng),便于計(jì)

30、算的特點(diǎn),而且便于系統(tǒng)的再擴(kuò)展,滿足設(shè)計(jì)要求。</p><p>  從以上兩種方案來(lái)看很容易得出,方案二電路比較簡(jiǎn)便,費(fèi)用不高,性價(jià)比高,且程序設(shè)計(jì)也比較簡(jiǎn)便,故選用了第二種方案。</p><p>  2.2.3顯示部分的選擇</p><p>  方案一:采用8位共陰極段數(shù)碼管,數(shù)碼管可以將單片機(jī)得到的溫度數(shù)據(jù)顯示出來(lái)。該方案簡(jiǎn)單易懂,成本較低,但是所需的元件較多,

31、線路復(fù)雜,程序設(shè)計(jì)復(fù)雜,但是可讀性差,不容易操作,一經(jīng)設(shè)定,無(wú)法再添加其他的功能,顯示格式受?chē)?yán)重限制。</p><p>  方案二:采用LCD1602顯示。LCD1602是一個(gè)低電壓,低功耗,只要2到3伏特工作,低工作電流,能顯示大量的信息,除了數(shù)字,還可以顯示文本的液晶顯示器,與傳統(tǒng)的數(shù)碼管的比較,lcd顯示器的顯示界面有了質(zhì)的飛躍。雖然液晶顯示器的價(jià)格是更昂貴,但它效果良好。使用液晶顯示裝置,更容易實(shí)現(xiàn)的需求

32、,背面的擴(kuò)展功能兼容性很高,只需要修改軟件程序就可擴(kuò)展,可操作性強(qiáng),易閱讀,還可以顯示更多內(nèi)容。</p><p>  綜上分析,采用第二個(gè)方案。</p><p>  2.2.4電源模塊的選擇</p><p>  方案一:使用干電池的三、四節(jié)電池箱提供電源。該方案的優(yōu)點(diǎn)是操作簡(jiǎn)單,容易實(shí)現(xiàn),成本低,缺點(diǎn)是三個(gè)輸出電壓為4.5 V(太小),單片機(jī)幾乎不工作,只適用于小電

33、流負(fù)荷時(shí)。且在整個(gè)系統(tǒng)工作過(guò)程中,電壓會(huì)降低,不宜使用很長(zhǎng)一段時(shí)間。用四節(jié)電池時(shí)高于單片機(jī)的工作電壓,雖然可以用穩(wěn)壓管穩(wěn)壓,但是卻不能長(zhǎng)時(shí)間使用。</p><p>  方案二:采用220V轉(zhuǎn)9V電源線和LM7805設(shè)計(jì)的穩(wěn)壓電源。從而可以使系統(tǒng)在穩(wěn)定電壓下工作,為了演示方便可用9V干電池臨時(shí)代替。</p><p>  綜上分析,選擇第二種方案。</p><p>&l

34、t;b>  3 硬件電路的設(shè)計(jì)</b></p><p>  3.1 硬件電路設(shè)計(jì)軟件</p><p>  本次設(shè)計(jì)采用了Altium Designer Summer 09軟件進(jìn)行了原理圖的繪制和PCB圖的生成。</p><p>  Altium是由Nick Martin在1985年成立,該公司總部在澳大利亞,這是專(zhuān)門(mén)為于基于PC機(jī)的軟件開(kāi)發(fā),繪制原

35、理圖和印制電路板,提供輔助的設(shè)計(jì)。后來(lái)Altium 公司通過(guò)公開(kāi)募股在澳大利亞股票市場(chǎng)成功上市。所籌集的資金用于在收購(gòu)適當(dāng)?shù)墓竞图夹g(shù),其中包括收購(gòu)ACCEL Technologies公司、Metamor公司等【3】。</p><p>  Altium宣稱(chēng)在中國(guó)有70%多的工程師和大多數(shù)與電子工程相關(guān)專(zhuān)業(yè)在校學(xué)生正在使用它的軟件,但是當(dāng)前所用的正版率僅有3%左右。</p><p><

36、b>  主要功能</b></p><p> ?。?)電路原理圖設(shè)計(jì)</p><p>  (2)印刷電路板設(shè)計(jì)</p><p><b> ?。?)電路模擬仿真</b></p><p> ?。?)FPGA及邏輯器件設(shè)計(jì)</p><p> ?。?)高級(jí)信號(hào)完整性分析</p>

37、<p>  3.2系統(tǒng)整體原理圖</p><p>  本課題設(shè)計(jì)的是以STC89C52單片機(jī)為核心,以DS18B20溫度傳感器作為采集模塊的溫度測(cè)量系統(tǒng)。該測(cè)溫系統(tǒng)能夠?qū)崟r(shí)存儲(chǔ)相關(guān)的溫度數(shù)據(jù)并在LCD上進(jìn)行顯示。其系統(tǒng)主要包括:電源模塊、溫度采集模塊、按鍵控制模塊、LCD1602顯示模塊、無(wú)線遙控模塊以及單片機(jī)最小系統(tǒng)。</p><p>  系統(tǒng)整體原理圖和PCB圖如下:&l

38、t;/p><p>  圖3-1 系統(tǒng)整體原理圖</p><p>  圖3-2 系統(tǒng)整體PCB圖</p><p>  3.3單片機(jī)最小系統(tǒng)電路</p><p>  在本次的溫度測(cè)量系統(tǒng)中,控制核心是STC89C52單片機(jī),該單片機(jī)是51系列增強(qiáng)型的8位單片機(jī),它具有32個(gè)I/O口,內(nèi)部有8K的程序存儲(chǔ)器,512字節(jié)數(shù)據(jù)存儲(chǔ)空間,能方便的在線進(jìn)行程序

39、的讀寫(xiě)。使用這個(gè)單片機(jī)可以完成本系統(tǒng)的設(shè)計(jì)要求,其它的最小系統(tǒng)主要包括:復(fù)位電路、外部震蕩電路和存儲(chǔ)器選擇模式(EA腳的高低電平選擇)【15】,電路如下圖3-3所示:</p><p>  圖3-3 單片機(jī)最小系統(tǒng)</p><p><b>  3.4單片機(jī)的選型</b></p><p>  這次設(shè)計(jì)的溫度測(cè)量系統(tǒng)主要控制芯片選擇為STC89C52

40、單片機(jī),其主要特點(diǎn)如下:</p><p>  STC89C52單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī)。</p><p><b>  主要特性如下:</b></p><p>  增強(qiáng)型8051單片機(jī),12時(shí)鐘/機(jī)器周期可以隨意選擇,指令代碼與傳統(tǒng)8051完全兼容.</p>&

41、lt;p>  工作電壓:5.5V~3.3V(5V單片機(jī))</p><p>  工作頻率范圍:0~40MHz,只相當(dāng)于普通8051的0~80MHz,而實(shí)際工作頻率可達(dá)48MHz</p><p>  用戶應(yīng)用程序空間為8K字節(jié)</p><p>  片上集成512字節(jié)RAM</p><p>  通用I/O口(32個(gè)),復(fù)位后為:P1/P2/P

42、3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開(kāi)路輸出,當(dāng)作為總線擴(kuò)展用時(shí),不用加上拉電阻,但是作為I/O口用時(shí),需加上拉電阻。</p><p>  ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專(zhuān)用編程器,無(wú)需專(zhuān)用仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,具有簡(jiǎn)單快捷方便的優(yōu)勢(shì)</p><p>  具有EEPROM功能</p><p&g

43、t;<b>  具有看門(mén)狗功能</b></p><p>  有3個(gè)16位定時(shí)器/計(jì)數(shù)器。</p><p>  外部中斷4路,可選擇下降沿或低電平來(lái)觸發(fā)電路</p><p>  工作溫度范圍:-40~+85℃(工業(yè)級(jí))/0~75℃(商業(yè)級(jí))</p><p><b>  PDIP封裝</b></p

44、><p>  STC89C52RC單片機(jī)的工作模式</p><p>  掉電模式:典型功耗小于0.1μA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序,適合用于電池供電系統(tǒng)及便捷設(shè)備</p><p>  空閑模式:典型功耗2mA</p><p>  正常工作模式:典型功耗4mA~7mA</p><p>  圖 3-4 ST

45、C89C52RC引腳圖</p><p>  STC單片機(jī)的引腳與51系列的單片機(jī)引腳幾乎相同。另外STC89c52有兩種時(shí)鐘模式,一種是12時(shí)鐘模式,在該模式下,STC單片機(jī)與51系列單片機(jī)具有相同的機(jī)器周期,即12個(gè)振蕩周期為一個(gè)機(jī)器周期;另一種是6時(shí)鐘模式,在此模式下,STC單片機(jī)比其他51單片機(jī)運(yùn)行速度快一倍【15】。</p><p>  復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC

46、初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。</p><p>  RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期(即二個(gè)機(jī)器周期)以上。</p><p><b>  3.5溫度測(cè)量模塊</b></p&

47、gt;<p>  3.5.1 DS18B20概述</p><p>  DSl8B20 溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,它能夠根據(jù)要求通過(guò)簡(jiǎn)單的編程來(lái)實(shí)現(xiàn) 9~l2 位的數(shù)字直接讀取出被測(cè)溫度。并且DSl8B20僅需要一根總線來(lái)實(shí)現(xiàn)與單片機(jī)的信息傳輸,而溫度變換所功率全部來(lái)源于數(shù)據(jù)總線,無(wú)需額外電源。因而使用DSl8B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)便、操縱簡(jiǎn)

48、單、可靠性強(qiáng)[1]。DSl8B20其內(nèi)部結(jié)構(gòu)框圖如下圖所示:</p><p>  圖 3-5 DSl8B20 的內(nèi)部結(jié)構(gòu)圖</p><p>  Ds18b20 的內(nèi)部構(gòu)造主要有四部分組成:64位光刻ROM、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、溫度傳感器、配置寄存器。Dsl8b20有2種封裝形式:3腳PR-35直插式和8腳SOIC貼片式。封裝圖如圖3-5所示</p><p&

49、gt;  圖3-6 DS18B20封裝</p><p>  64位激光ROM開(kāi)始8位是產(chǎn)品類(lèi)型的編號(hào),接著是每個(gè)器件的惟一的序號(hào)共有 48 位,最8位是前56位的 CRC 校驗(yàn)碼,這也是多個(gè) DSl8B20能夠采用一線進(jìn)行通信的原因。DSl8B20溫度傳感器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除EEPRAM。后者用于存儲(chǔ)TH、TL值。而配置寄存器是高速暫存器中的第5個(gè)字節(jié),它的內(nèi)容與溫度值的數(shù)字轉(zhuǎn)換分辨率

50、有關(guān),DSl8B20工作時(shí)按照這個(gè)寄存器中的分辨率將溫度轉(zhuǎn)換成對(duì)應(yīng)精度的二進(jìn)制數(shù)值。又因?yàn)榈?位一直都是1,TM是測(cè)試模式位,主要是用于設(shè)置 DSl8B20 在工作模式還是在測(cè)試模式。在 DSl8B20 出廠時(shí)該位會(huì)默認(rèn)設(shè)置成0用戶不需要去進(jìn)行改動(dòng),Rl和R0卻是決定溫度轉(zhuǎn)換精度位數(shù)。如表 3-1 所示。</p><p>  表 3-1 內(nèi)部存儲(chǔ)器</p><p>  由表 3-2 可見(jiàn),

51、分辨率越高,溫度轉(zhuǎn)換時(shí)間所需的時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用需要在分辨率和轉(zhuǎn)換時(shí)間中找到平衡,根據(jù)實(shí)際需要選擇最佳的。</p><p>  表 3-2 溫度數(shù)據(jù)轉(zhuǎn)換與時(shí)間</p><p>  DSl8B20 接收到溫度轉(zhuǎn)換命令后,就進(jìn)行轉(zhuǎn)換,如表 3-3所示。轉(zhuǎn)換完成后的溫度值就 以16位帶符號(hào)的二進(jìn)制補(bǔ)碼形式儲(chǔ)存在高速暫存存儲(chǔ)器的第 l,2 字節(jié)。單片機(jī)通過(guò)單線接口得到該數(shù)據(jù),讀取時(shí)低位在前

52、面,高位在后,數(shù)據(jù)格式以 0.0625℃/LSB 形式表示。溫度計(jì)算要求:當(dāng)符號(hào)位 S=0 時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng) S=1 時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。</p><p>  表 3-3 高速暫存存儲(chǔ)器</p><p>  在DSl8B20完成溫度變換之后,溫度值與貯存TH和TL內(nèi)的觸發(fā)值會(huì)發(fā)生相比較,如果溫度測(cè)量的結(jié)果高于TH或低于TL,那么器件內(nèi)告警標(biāo)志將置位。每

53、次溫度測(cè)量更新此標(biāo)志。只要告警標(biāo)志置位,DSl8B20 將對(duì)告警搜索命令做出響應(yīng)。這就是允許并聯(lián)連接許多DSl8B20的原因,同時(shí)進(jìn)行溫度測(cè)量。如果某處溫度超過(guò)極限,那么可以識(shí)別出正在告警的器件并立即將其讀出而不必讀出非告警的器件。部分溫度轉(zhuǎn)換如表3-4所示:</p><p>  表3-4 部分溫度轉(zhuǎn)換</p><p>  DS18B20的參數(shù)特性:</p><p>

54、; ?。?)獨(dú)特的單線接口需 1個(gè)接口即可通信 </p><p> ?。?)多點(diǎn)綜合測(cè)溫能力使分布式溫度檢測(cè)應(yīng)用得以簡(jiǎn)化 </p><p>  (3)不需要外部元件 </p><p> ?。?)可用數(shù)據(jù)線供電 </p><p><b>  (5)需備份電源</b></p><p> ?。?)測(cè)量范

55、圍從-55℃至+125℃</p><p> ?。?)以 9 位數(shù)字值方式把溫度值傳給單片機(jī) </p><p>  ( 8 )在 1 秒時(shí)間內(nèi)把溫度變換為二進(jìn)制的數(shù)字</p><p>  3.5.2 DS18B20測(cè)溫工作原理</p><p>  Ds18b20測(cè)溫原理如圖3-7所示。圖中由于低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,多用于產(chǎn)生固

56、定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(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重 新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所

57、測(cè)溫度。圖3中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值[1]。</p><p>  圖3-7 DS18B20測(cè)溫原理圖</p><p>  3.5.3 DS18B20溫度傳感器與單片機(jī)的接口電路</p><p>  DS18B20能夠選用兩種方式供電,一種是寄生電源供電方式。另一種是選用獨(dú)立電源供電方式,用于多個(gè)傳感器同時(shí)使用時(shí),

58、單片機(jī)不能有效驅(qū)動(dòng)各個(gè)傳感器,接線方式為:Ds18b20的1腳接地,2腳作為信號(hào)線,3腳接電源。本系統(tǒng)采用第一種方式供電,如圖3-8所示單片機(jī)端口接單線總線。當(dāng)Ds18b20處于寫(xiě)存儲(chǔ)器操作和溫度轉(zhuǎn)換操作時(shí),總線上需要有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us。</p><p>  圖3-8 Ds18b20溫度傳感器的接口電路</p><p><b>  3.6 顯示模塊</b

59、></p><p>  本文采用LCD1602來(lái)進(jìn)行顯示,顯示系統(tǒng)原理圖:</p><p>  圖 3-9 顯示系統(tǒng)原理圖</p><p>  3.6.1 LCD1602簡(jiǎn)介</p><p>  1602液晶也被稱(chēng)為1602字符液晶顯示,這是一個(gè)特殊的用于顯示字母,數(shù)字,符號(hào)的液晶顯示模塊。它是由若干個(gè)5x7或5x11的點(diǎn)陣字符位組成,

60、每一個(gè)點(diǎn)陣字符位都可以用顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間距,每行之間也有間隔[13]。由于字符間距和行間距的影響,使它不能很好的顯示圖片</p><p>  1602LCD可以顯示兩行,每行有16個(gè)字符液晶模塊(顯示字符和數(shù)字)。</p><p>  當(dāng)前市場(chǎng)上的字符液晶大多數(shù)是基于HD44780液晶芯片的,它們控制原理是完全相同的,因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于

61、市面上大部分的字符型液晶。</p><p><b>  液晶顯示原理</b></p><p>  液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓來(lái)控制顯示區(qū)域,有電就有顯示。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn)。從而被廣泛運(yùn)用。</p><p>  LCD1602的基本參數(shù)及引腳功能</p>

62、<p>  LCD1602分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無(wú)差別,兩者尺寸差別如圖3.6所示:</p><p>  圖3-10 LCD1602尺寸圖</p><p>  LCD1602主要技術(shù)參數(shù):</p><p>  顯示容量:16×2個(gè)字符</p><p

63、>  芯片工作電壓:4.5~5.5V</p><p>  工作電流:2.0mA(5.0V)</p><p>  模塊最佳工作電壓:5.0V</p><p>  字符尺寸:2.95×4.35(W×H)mm</p><p>  LCD1602采用標(biāo)準(zhǔn)的16腳(帶背光)接口,各引腳接口簡(jiǎn)要說(shuō)明如表3-7所示:</p&

64、gt;<p>  表3-7 引腳接口說(shuō)明表</p><p>  其具體功能及注意事項(xiàng)介紹如下:</p><p>  第1腳:VSS為地電源。</p><p>  第2腳:VDD接5V正電源。</p><p>  第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,當(dāng)對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,我們使用時(shí)通常通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。&

65、lt;/p><p>  第4腳:RS為寄存器選擇位,高電平時(shí)為數(shù)據(jù)寄存器,低電平時(shí)為指令寄存器。</p><p>  第5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。</p><p>  第6腳:E端為使能端,當(dāng)E端低電平時(shí),液晶模塊執(zhí)行命令。</

66、p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p><p>  第15腳:背光源正極。</p><p>  第16腳:背光源負(fù)極。</p><p>  3.7 按鍵以及無(wú)線遙控模塊</p><p>  3.7.1按鍵的相關(guān)知識(shí)</p><p>  輕觸開(kāi)關(guān)是一種常用的電子開(kāi)關(guān),使用時(shí)

67、只要按開(kāi)關(guān)按鈕就可使開(kāi)關(guān)相連通,當(dāng)松開(kāi)手時(shí)開(kāi)關(guān)立即斷開(kāi)。</p><p>  輕觸按鍵因?yàn)榭刂品奖恪Ⅲw積小、質(zhì)量輕的特點(diǎn)在電子方面得到了廣泛的應(yīng)用,常見(jiàn)的應(yīng)用有:電視機(jī)按鍵、照明按鍵等。</p><p>  輕觸按鍵在閉合和斷開(kāi)時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象,為了避免這種現(xiàn)象對(duì)線路的影響,我們需要在程序里進(jìn)行去抖操作。</p><p>  我們使用的開(kāi)關(guān)如下圖:</p

68、><p>  圖3-11 按鍵外觀及內(nèi)部構(gòu)造圖</p><p>  因?yàn)榇讼到y(tǒng)按鍵較少,采用獨(dú)立鍵盤(pán)。按鍵與單片機(jī)接口電路圖如下:</p><p>  圖 3-12 按鍵與單片機(jī)接口電路圖</p><p>  3.7.2 5伏帶解碼四路無(wú)線接收板模塊 </p><p>  5伏帶解碼接收模塊-M4點(diǎn)動(dòng)帶解碼接收模塊:<

69、;/p><p>  工作電壓(V):DC 5靜態(tài)電流(mA):5接收靈敏度(dBm):-110</p><p>  工作頻率(MHz):315MHZ/433.92MHZ(260-440等20余種頻率可選)</p><p><b>  編碼類(lèi)型:固定碼</b></p><p>  尺寸(LWH):49*20*7mm</p

70、><p>  產(chǎn)品特點(diǎn):再生接收板(固定碼)采用LC振蕩電路,內(nèi)含放大整形,輸出的信號(hào)為高電平,可直接驅(qū)動(dòng)一只發(fā)光二極管,使用極為方便,并且價(jià)格低廉,所以被廣泛使用。接收板有較寬的接收帶寬,一般為±10MHz,出廠時(shí)一般調(diào)在315MHz。接收板一般采用DC5V供電。</p><p>  使用說(shuō)明:接收板一般有7個(gè)外部接口,上面有英文標(biāo)示。“VDD/VCC”表示接電源正極,“GND/V

71、SS”表示接電源負(fù)極,“D0/13”、“D1/12”、“D2/11”、“D3/10”表示四路信號(hào)輸出,“VT”表示收到指示位,使用時(shí)應(yīng)盡量避免兩個(gè)接收板在一起同時(shí)工作,兩個(gè)振蕩源會(huì)相互干擾,從而使接收距離變近。</p><p><b>  接收模塊測(cè)試電路圖</b></p><p>  圖 3-13 測(cè)試圖</p><p>  下圖是帶解碼的超

72、再生接收模塊等效電路圖</p><p>  圖3-14 接收板原理圖</p><p>  編碼解碼芯片PT2262/PT2272芯片原理</p><p>  PT2262/2272是一種CMOS工藝制造的低功耗低價(jià)位通用編解碼電路,PT2262/2272最多可有12位(A0-A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441地址碼,PT2

73、262最多可有6位(D0-D5)數(shù)據(jù)端管腳,設(shè)定的地址碼和數(shù)據(jù)碼從17腳串行輸出,可用于無(wú)線遙控發(fā)射電路[10]。</p><p>  編碼芯片PT2262發(fā)出的編碼信號(hào)由:地址碼、數(shù)據(jù)碼、同步碼組成一個(gè)完整的碼字,解碼芯片PT2272接收到信號(hào)后,其地址碼經(jīng)過(guò)兩次比較核對(duì)后,VT腳才輸出高電平,與此同時(shí)相應(yīng)的數(shù)據(jù)腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會(huì)連續(xù)發(fā)射。當(dāng)發(fā)射機(jī)沒(méi)有按鍵按下時(shí),PT2262不

74、接通電源,其17腳為低電平,所以315MHz的高頻發(fā)射電路不工作,當(dāng)有按鍵按下時(shí),PT2262得電工作,其第17腳輸出經(jīng)調(diào)制的串行數(shù)據(jù)信號(hào),當(dāng)17腳為高電平期間315MHz的高頻發(fā)射電路起振并發(fā)射等幅高頻信號(hào),當(dāng)17腳為低平期間315MHz的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于PT2262的17腳輸出的數(shù)字信號(hào),從而對(duì)高頻電路完成幅度鍵控(ASK調(diào)制)相當(dāng)于調(diào)制度為100%的調(diào)幅[10]。</p><p&

75、gt;<b>  模塊外觀圖如下</b></p><p>  圖 3-15 無(wú)線接收模塊</p><p>  3.8 報(bào)警及指示燈模塊</p><p>  本模塊采用一個(gè)5v有源蜂鳴器和三個(gè)LED燈組成,其與單片機(jī)的接口電路圖如下:</p><p>  圖3-16報(bào)警及指示燈模塊原理圖</p><p&

76、gt;  其電路圖中D3作為單片機(jī)正常通電的指示燈,D1作為溫度超過(guò)設(shè)置的上限溫度的報(bào)警燈,D2為溫度超過(guò)設(shè)置的下線溫度的報(bào)警燈。LS是蜂鳴器通過(guò)三極管2N3906進(jìn)行啟動(dòng)。當(dāng)單片機(jī)P1.5為低電平時(shí)蜂鳴器響。</p><p>  蜂鳴器是一種一體化構(gòu)造的電子發(fā)聲器,選用直流電壓供電,普遍應(yīng)用于計(jì)算機(jī)、報(bào)警器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器分有源蜂鳴器和無(wú)源蜂鳴器,有源蜂鳴器直接給額定的電流就可連續(xù)發(fā)聲;而無(wú)源蜂鳴

77、器需要接在專(zhuān)門(mén)的音頻輸出電路中才能發(fā)聲。</p><p>  有源蜂鳴器與無(wú)源蜂鳴器的區(qū)別:</p><p>  注意:這里的指的是震蕩源。</p><p>  也就是說(shuō),有源蜂鳴器內(nèi)部帶震蕩源,所以只要一通電就會(huì)叫;</p><p>  而無(wú)源內(nèi)部不存在震蕩源,如果用直流信號(hào)驅(qū)動(dòng)無(wú)法使它發(fā)聲。必須用2K的方波才能使它發(fā)聲。</p>

78、;<p>  有源蜂鳴器比無(wú)源的貴的原因是里面多個(gè)震蕩電路。</p><p>  無(wú)源蜂鳴器的優(yōu)點(diǎn)是:</p><p><b>  1. 便宜</b></p><p>  2. 聲音頻率可控,可以做出“多來(lái)米發(fā)索拉西”的效果</p><p>  有源蜂鳴器的優(yōu)點(diǎn)是:程序編寫(xiě)簡(jiǎn)單,便于控制。</p>

79、;<p>  本模塊所用器件的參數(shù):</p><p>  三極管2N3906中Icmax=200mA,放大倍數(shù)為100。</p><p>  有源蜂鳴器工作參數(shù):工作電壓約5V,工作電流不超過(guò)35mA,聲壓:75dB,主頻:2330Hz</p><p>  Led燈工作電流在10mA左右,工作電壓在2V左右。</p><p> 

80、 R5阻值的計(jì)算:為使三極管在正常工作而不被燒毀,需要在基極加入限流電阻進(jìn)行保護(hù)。</p><p>  R7,R8阻值的計(jì)算:</p><p><b>  3.9 電源模塊</b></p><p>  本系統(tǒng)采用9V轉(zhuǎn)5v電源系統(tǒng),由于市場(chǎng)上沒(méi)有直接5伏的干電池,于是需要轉(zhuǎn)換電路來(lái)滿足系統(tǒng)的工作需要,另外本系統(tǒng)不僅可以用9V干電池驅(qū)動(dòng),還可以用

81、9v的直流電直接驅(qū)動(dòng),其電源部分原理圖是:</p><p>  圖3-17電源電路原理圖</p><p>  本穩(wěn)壓模塊采用LM7805穩(wěn)壓管;從而是電源電壓穩(wěn)定在5V。原理圖中C4作用是濾波,C5作用是防自激保護(hù)穩(wěn)壓管,常見(jiàn)的三端穩(wěn)壓集成電路有正電壓輸出的lm78 系列和負(fù)電壓輸出的lm79系列。</p><p>  用lm78/lm79系列三端穩(wěn)壓管來(lái)組成穩(wěn)壓電

82、路時(shí)由于所需的外圍元件很少,同時(shí)電路內(nèi)部還有過(guò)流、過(guò)熱和調(diào)整管的保護(hù)電路,因此用起來(lái)更加安全,放心。</p><p>  另外更重要的是價(jià)格低廉,損壞容易更換。</p><p>  在lm78系列三端穩(wěn)壓器中常用的是TO-220封裝,與三極管封裝相似。</p><p>  4 系統(tǒng)軟件設(shè)計(jì)及仿真部分</p><p>  4.1軟件設(shè)計(jì)的工具&

83、lt;/p><p>  4.1.1程序編寫(xiě)軟件</p><p>  本次程序編寫(xiě)運(yùn)用的軟件是Keil uv4.</p><p>  Keil C51是美國(guó)Keil Software公司出品的基于51系列單片機(jī)的C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),運(yùn)用接近于傳統(tǒng)c語(yǔ)言的語(yǔ)法來(lái)開(kāi)發(fā),與匯編相比,C語(yǔ)言簡(jiǎn)單易學(xué)容易上手,而且可以提高工作效率和縮短項(xiàng)目開(kāi)發(fā)周期,同時(shí)此軟件還能嵌入?yún)R編。運(yùn)行Ke

84、il軟件需要WIN98、WINXP等操作系統(tǒng)。這些系統(tǒng)均是主流系統(tǒng),使此軟件容易在PC上運(yùn)行。假如你使用C語(yǔ)言編程,那么Keil將是你最佳的選擇。Keil的網(wǎng)站盡管暫時(shí)沒(méi)有中文版本,但是卻不影響Keil軟件被中國(guó)80%的硬件工程師使用。凡是與電子相關(guān)的專(zhuān)業(yè),都會(huì)開(kāi)始從單片機(jī)編程開(kāi)始學(xué)習(xí),而學(xué)習(xí)單片機(jī)自然會(huì)用到Keil軟件[6]。</p><p>  2009年2月發(fā)布Keil UVision4,它加入靈便的窗口管

85、理體系,使得開(kāi)發(fā)人員可以同時(shí)使用多臺(tái)監(jiān)視器。并且使之前的功能更加完善。新版本還支持更多最新的ARM芯片,是應(yīng)用范圍更廣。</p><p><b>  4.1.2仿真軟件</b></p><p>  本次設(shè)計(jì)運(yùn)用的仿真軟件是protues。</p><p>  Protues軟件是英國(guó)Labcenter electronics公司生產(chǎn)的EDA工具

86、軟件。它不僅僅能夠仿真EDA軟件,還能仿真單片機(jī)及外圍器件。并且它是目前最好的仿真單片機(jī)的工具。雖然它在國(guó)內(nèi)起步較晚,但是已經(jīng)成為單片機(jī)仿真的主流工具。Proteus是世界上著名的EDA工具(仿真軟件),實(shí)現(xiàn)了從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。到目前為止是世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三者完美結(jié)合在一起的軟件設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC

87、10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯[6].</p><p><b>  仿真原理圖如下:</b></p><p>  圖4-1 系統(tǒng)仿真原理圖</p><p>  4.2各模塊對(duì)應(yīng)的軟件</p><p&

88、gt;  4.2.1顯示模塊的程序介紹</p><p>  顯示模塊利用LCD1602進(jìn)行顯示。</p><p>  1 LCD1602的指令說(shuō)明及時(shí)序</p><p>  1602液晶模塊的控制器共有11條控制指令,如表4-1所示:</p><p>  表4-1 控制命令表</p><p>  1602液晶模塊的讀寫(xiě)

89、操作、光標(biāo)的操作都是通過(guò)編程來(lái)實(shí)現(xiàn)的。表中功能詳細(xì)介紹如下:</p><p>  指令1:清顯示,光標(biāo)移動(dòng)地址00H位置。</p><p>  指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。</p><p>  指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向標(biāo)志位,高電平時(shí)右移,低電平時(shí)左移S:屏幕上所有文字左移或者右移標(biāo)志位。高電平表示有效,低電平則無(wú)效。</p&

90、gt;<p>  指令4:顯示開(kāi)關(guān)控制。D:整體顯示的開(kāi)與關(guān)選擇位,高電平時(shí)開(kāi)顯示,低電平時(shí)關(guān)顯示C:光標(biāo)的開(kāi)與關(guān)選擇位,高電平時(shí)有光標(biāo),低電平時(shí)無(wú)光標(biāo)B:光標(biāo)是否閃爍選擇喂,高電平時(shí)閃爍,低電平時(shí)不閃爍。</p><p>  指令5:光標(biāo)或顯示移位S/C:高電平時(shí)顯示的文字移動(dòng),低電平時(shí)光標(biāo)移動(dòng)。</p><p>  指令6:功能設(shè)置命令DL:低電平時(shí)為8位總線,高電平時(shí)為

91、4位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。</p><p>  指令7:字符發(fā)生器RAM地址設(shè)置。</p><p>  指令8:DDRAM地址設(shè)置。</p><p>  指令9:讀忙信號(hào)和光標(biāo)地址,BF為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。</p&g

92、t;<p><b>  指令10:寫(xiě)數(shù)據(jù)。</b></p><p><b>  指令11:讀數(shù)據(jù)。</b></p><p><b>  時(shí)序表如下表所示:</b></p><p>  表4-2 基本操作時(shí)序表</p><p>  圖4-2 讀操作時(shí)序</p&

93、gt;<p>  圖4-3 寫(xiě)操作時(shí)序</p><p>  液晶顯示模塊在要顯示字符時(shí)需要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖4-4是1602的內(nèi)部顯示地址。</p><p>  圖4-4 LCD1602內(nèi)部顯示地址</p><p>  由上圖可知第二行第一個(gè)字符的地址是40H,但是卻不能是直接寫(xiě)入40H來(lái)表示可將光標(biāo)定位在第二行第一個(gè)

94、字符的位置,這是因?yàn)閷?xiě)入顯示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是01000000B即(40H+10000000B(80H)=11000000B(C0H)。</p><p>  在對(duì)LCD1602的初始化中需要先設(shè)置它的顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,不用人工調(diào)整。但是在每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。</p><p>  1602液晶模

95、塊里面的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)保存了160個(gè)不同的點(diǎn)陣字符圖形,且每一個(gè)字符都有一個(gè)固定的代碼,顯示時(shí)模塊只需把地址中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到所需的圖形[5]。</p><p>  2 lcd1602的主要程序</p><p><b>  寫(xiě)入命令</b></p><p>  RS=L,RW=L,D0~D7=指令碼,E=高

96、脈沖。</p><p>  /**************************************************************************</p><p>  * 函數(shù)名 : LcdWriteCom</p><p>  * 函數(shù)功能 : 向LCD寫(xiě)入一個(gè)字節(jié)的命令</p><p>

97、;  * 輸入 : com</p><p>  * 輸出 : 無(wú)</p><p>  /**************************************************************************</p><p>  void LcdWriteCom(uchar com) /

98、/寫(xiě)入命令</p><p><b>  {</b></p><p>  LCD1602_E = 0; //使能</p><p>  LCD1602_RS = 0; //選擇發(fā)送命令</p><p>  LCD1602_RW = 0; //選擇寫(xiě)入</p><p>  LCD16

99、02_DATAPINS = com; //放入命令</p><p>  Lcd1602_Delay1ms(1);//等待數(shù)據(jù)穩(wěn)定</p><p>  LCD1602_E = 1; //寫(xiě)入時(shí)序</p><p>  Lcd1602_Delay1ms(5); //保持時(shí)間</p><p>  LCD1602_E

100、 = 0;</p><p><b>  }寫(xiě)入數(shù)據(jù)</b></p><p>  RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖。</p><p>  /**************************************************************************</p><p> 

101、 * 函數(shù)名 : LcdWriteData</p><p>  * 函數(shù)功能 : 向LCD寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù)</p><p>  * 輸入 : dat</p><p>  * 輸出 : 無(wú)</p><p>  *******************************

102、*******************************************/ </p><p>  void LcdWriteData(uchar dat)//寫(xiě)入數(shù)據(jù)</p><p><b>  {</b></p><p>  LCD1602_E = 0;//使能清零</p><p>  LCD

103、1602_RS = 1;//選擇輸入數(shù)據(jù)</p><p>  LCD1602_RW = 0;//選擇寫(xiě)入</p><p>  LCD1602_DATAPINS = dat; //寫(xiě)入數(shù)據(jù)</p><p>  Lcd1602_Delay1ms(1);</p><p>  LCD1602_E = 1; //寫(xiě)入時(shí)序</p>

104、<p>  Lcd1602_Delay1ms(5); //保持時(shí)間</p><p>  LCD1602_E = 0;</p><p><b>  }</b></p><p>  LCD1602的初始化</p><p>  /******************************************

105、*******************************</p><p>  * 函數(shù)名 : LcdInit()</p><p>  * 函數(shù)功能 : 初始化LCD屏</p><p>  * 輸入 : 無(wú)</p><p>  * 輸出 : 無(wú)</p><

106、;p>  ************************************************************************/</p><p>  void LcdInit() //LCD初始化子程序</p><p><b>  {</b></p><p>  LcdWriteCom(0x38); //設(shè)

107、置顯示模式</p><p>  LcdWriteCom(0x0c); //開(kāi)顯不顯光標(biāo)</p><p>  LcdWriteCom(0x06); //寫(xiě)一個(gè)指針加1</p><p>  LcdWriteCom(0x01); //清屏</p><p>  LcdWriteCom(0x80); //設(shè)置數(shù)據(jù)指針起點(diǎn)</p>

108、<p><b>  }</b></p><p>  *********************</p><p>  * 函 數(shù) 名 : Lcd1602_Delay1ms</p><p>  * 函數(shù)功能 : 延時(shí)函數(shù),延時(shí)1ms</p><p>  * 輸 入 :

109、c</p><p>  * 輸 出 : 無(wú)</p><p>  * 說(shuō) 名 : 12分頻單片機(jī)的延時(shí)。</p><p>  *******************************************************************************</p><p>

110、  void Lcd1602_Delay1ms(uint c) //誤差 0us</p><p><b>  {</b></p><p>  uchar a,b;</p><p>  for (; c>0; c--)</p><p><b>  {</b></p><p

111、>  for (b=199;b>0;b--)</p><p><b>  {</b></p><p>  for(a=1;a>0;a--);</p><p><b>  } </b></p><p><b>  }</b></p>&l

112、t;p><b>  }</b></p><p>  4.2.2溫度測(cè)量的程序</p><p>  1 DS18B20的單線(1-wire bus)系統(tǒng)</p><p>  單總線結(jié)構(gòu)是DS18B20的顯著特點(diǎn),也是我們理解和編程設(shè)計(jì)的一大難點(diǎn)。我們可以從兩個(gè)角度來(lái)理解單線總線結(jié)構(gòu):第一,單線總線只有一個(gè)信號(hào)線,Ds18b20和單片機(jī)之間的

113、通信必須要有嚴(yán)格的時(shí)序來(lái)控制完成。第二,Ds18b20的輸出是開(kāi)漏輸出,這種設(shè)計(jì)使總線上的器件能夠在我們想要是的時(shí)間來(lái)啟動(dòng)它。</p><p>  因?yàn)镈S18B20選用的是1-Wire總線協(xié)議方式,也就是說(shuō)要在一個(gè)數(shù)據(jù)線上實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,但是對(duì)STC89C52單片機(jī)來(lái)說(shuō),在硬件并不支持單總線協(xié)議,因此,我們需要在程序設(shè)計(jì)中模擬出單總線的時(shí)序從而來(lái)來(lái)實(shí)現(xiàn)對(duì)DS18B20傳感器的控制。</p>&

114、lt;p>  DS18B20的復(fù)位時(shí)序,如圖4-5所示:</p><p>  圖4-5 DS18B20的復(fù)位時(shí)序圖</p><p> ?、?Ds18b20的讀時(shí)序</p><p>  關(guān)于Ds18b20的讀時(shí)序可以分為讀1時(shí)序和讀0時(shí)序兩種情況。</p><p>  對(duì)于Ds18b20的讀時(shí)隙是從主機(jī)把單總線拉低1us以后,必須在15

115、us以內(nèi)就得釋放總線,讓Ds18b20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。DS18B20的讀時(shí)序圖如圖4-6所示。</p><p>  圖4-6 DS18B20的讀時(shí)序</p><p>  ③ Ds18b20的寫(xiě)時(shí)序</p><p>  關(guān)于Ds18b20的寫(xiě)時(shí)序可以分為寫(xiě)0時(shí)序和寫(xiě)1時(shí)序兩種情況。</p>

116、;<p>  對(duì)于Ds18b20寫(xiě)0時(shí)序和寫(xiě)1時(shí)序的要求是不同的,當(dāng)要寫(xiě)0時(shí)序時(shí),單總線要被拉低至少60us,并且保證Ds18b20能夠在15us到45us之間正確地采樣到IO總線上的“0”電平,當(dāng)要寫(xiě)1時(shí)序時(shí),單總線被拉低之后,需要在15us之內(nèi)就得釋放單總線。如圖4-7所示。</p><p>  圖4-7 DS18B20的寫(xiě)時(shí)序圖</p><p>  2 DS18B20

117、的主要程序</p><p>  DS18B20初始化</p><p>  /*****************************************************************************</p><p>  * 函數(shù)名 : Ds18b20Init</p><p>  * 函數(shù)功能

溫馨提示

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