版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 摘要I</b></p><p> AbstractII</p><p><b> 第一章 緒論4</b></p><p> 第二章 系統(tǒng)總體設(shè)計(jì)方案5</p><p&
2、gt; 2.1單片機(jī)主模塊5</p><p> 2.1.1 AT89S51單片機(jī)特點(diǎn)6</p><p> 2.1.2最小單片機(jī)系統(tǒng)7</p><p> 2.2溫度傳感器7</p><p> 2.2.1溫度傳感器簡介8</p><p> 2.2.2 DS18B20性能特點(diǎn)與內(nèi)部結(jié)構(gòu)9</p&
3、gt;<p> 2.3 無線通信模塊介紹14</p><p> 2.3.1 NewMsg-RF905工作模式17</p><p> 2.3.2 NewMsg-RF905寄存器配置18</p><p> 2.4 鍵盤模塊19</p><p> 2.5 顯示報(bào)警模塊20</p><p>
4、 2.6 其它模塊23</p><p> 第三章 軟件設(shè)計(jì)24</p><p> 3.1 主程序流程24</p><p> 3.1.1系統(tǒng)溫度采集終端主程序?qū)崿F(xiàn)24</p><p> 3.1.2系統(tǒng)主機(jī)終端主程序?qū)崿F(xiàn)25</p><p> 3.2 溫度的采集及數(shù)據(jù)的處理26</p>
5、<p> 3.2.1 DS18B20初始化27</p><p> 3.2.2數(shù)據(jù)的讀取與處理28</p><p> 3.3 無線通信子程序31</p><p> 3.3.1 NewMsg-NRF905初始化31</p><p> 3.3.2寄存器的配置32</p><p> 3.3.
6、3數(shù)據(jù)的發(fā)送與接收34</p><p> 3.4 溫度的顯示模塊36</p><p> 3.5 按鍵子程序37</p><p> 第四章 總結(jié)與展望39</p><p><b> 參考文獻(xiàn)40</b></p><p><b> 摘 要</b></p&
7、gt;<p> 隨著社會(huì)主義現(xiàn)代化的發(fā)展,在科學(xué)技術(shù)突飛猛進(jìn)的今天,人工智能起不不可忽視的作用。尤其是各種智能化的儀器、儀表在農(nóng)、工業(yè)的廣泛應(yīng)用給社會(huì)帶來了極大的便利。本文就是一個(gè)利用溫度來實(shí)現(xiàn)簡單智能控制的例子。它完成了從溫度的采集、轉(zhuǎn)換、顯示以及控制的一系列任務(wù)。由于時(shí)間關(guān)系,本文并未深入探討溫度的具體實(shí)例。例如根據(jù)溫度來控制熱水器、電風(fēng)扇等與溫度有關(guān)的設(shè)備。但是它提供了一個(gè)通過溫度來控制設(shè)備的基本思想和原理。相信能
8、在實(shí)際應(yīng)用中為我們的生活帶來更大的便利。</p><p> 本課題提出一種基于單片機(jī)的無線溫度采集系統(tǒng)方案,該方案是利用單片機(jī)控制DS18B20溫度傳感器采集溫度、控制LED數(shù)碼管實(shí)時(shí)顯示溫度值、控制NewMsg-NRF905進(jìn)行數(shù)據(jù)的無線傳輸。本系統(tǒng)中所用到的器件是AT89S51單片機(jī)、數(shù)字溫度傳感器DS18B20和無線芯片NewMsg-NRF905,數(shù)據(jù)接收后由單片機(jī)AT89S51作為核心控制部件譯碼,由M
9、AX7219驅(qū)動(dòng)的LED數(shù)碼管顯示當(dāng)前的溫度值,外加執(zhí)行電路來完成系統(tǒng)的報(bào)警等預(yù)期任務(wù)。</p><p> 關(guān)鍵詞:單片機(jī);溫度采集;NewMsg-NRF905;DS18B20;LED數(shù)碼管顯示;</p><p><b> Abstract</b></p><p> With the development of socialistic
10、modernization, make a spurt of progress in science and technology today, artificial intelligence does not play a role can not be ignored. Especially various kinds of intelligent instruments, instrument in the agricultura
11、l, industrial application has brought great convenience. This paper is the use of temperature to a simple example of intelligent control. It completes the temperature from the acquisition, conversion, display and control
12、 of a series of tasks. B</p><p> This paper puts forward a wireless temperature collection system based on MCU program, the program is the use of microcomputer control of DS18B20 temperature sensor temperat
13、ure collection, control LED digital tube display real-time temperature value, control of NewMsg-NRF905wireless data transmission. The system used in the device is the AT89S51 microcontroller, digital temperature sensor D
14、S18B20and NewMsg-NRF905wireless chip, data received by AT89S51 microcontroller as core control component de</p><p> Key words: single chip microcomputer; temperature acquisition; NewMsg-NRF905; DS18B20; LED
15、 digital tube display;</p><p><b> 第一章 緒論</b></p><p> 21世紀(jì)的今天,科學(xué)技術(shù)的發(fā)展日新月異,科學(xué)技術(shù)的進(jìn)步同時(shí)也帶動(dòng)了測(cè)量技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備不同于以前,它們?cè)谛阅芎徒Y(jié)構(gòu)發(fā)生了翻天覆地的變化。我們已經(jīng)進(jìn)入了高速發(fā)展的信息時(shí)代,測(cè)量技術(shù)是當(dāng)今社會(huì)的主流,廣泛地深入到應(yīng)用工程的各個(gè)領(lǐng)域。</p&g
16、t;<p> 溫度是工業(yè)、農(nóng)業(yè)生產(chǎn)中常見的和最基本的參數(shù)之一,在生產(chǎn)過程中常需對(duì)溫度進(jìn)行檢測(cè)和監(jiān)控,采用微型機(jī)進(jìn)行溫度檢測(cè)、數(shù)字顯示、信息存儲(chǔ)及實(shí)時(shí)控制,對(duì)于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用。伴隨工業(yè)科技、農(nóng)業(yè)科技的發(fā)展,溫度測(cè)量需求越來越多,也越來越重要。</p><p> 多路無線溫度采集系統(tǒng)可被廣泛應(yīng)用于溫度測(cè)量或相應(yīng)的可轉(zhuǎn)換為溫度量或供電故障監(jiān)控的工業(yè)、農(nóng)業(yè)、環(huán)保、服務(wù)業(yè)
17、、安全監(jiān)控等工程中,例如:城市路燈故障檢測(cè)和供電線路防盜監(jiān)視、城市居民小區(qū)供熱檢測(cè)、大型倉庫溫度檢測(cè)、工業(yè)生產(chǎn)測(cè)控、農(nóng)業(yè)生產(chǎn)溫度測(cè)控、環(huán)保工程、故障監(jiān)控工程等。考慮到許多工業(yè)環(huán)境中對(duì)多點(diǎn)溫度進(jìn)行監(jiān)控,一般需要測(cè)量幾十個(gè)點(diǎn)以上。</p><p> 本設(shè)計(jì)是以AT89S51單片機(jī)作為控制核心,提出以DS18B20的單總線分布式溫度采集與控制系統(tǒng)。多個(gè)溫度傳感節(jié)點(diǎn)通過單總線與單片機(jī)相連形成分布式系統(tǒng)??刂破魍ㄟ^溫度傳
18、感器實(shí)時(shí)檢測(cè)各節(jié)點(diǎn)的溫度變化由智能數(shù)字溫度傳感器DS18B20完成對(duì)倉庫現(xiàn)場(chǎng)溫度的多點(diǎn)采集,并由NRF905完成數(shù)據(jù)的無線通信,數(shù)據(jù)接收后由單片機(jī)AT89S51作為核心控制部件譯為碼,由MAX7219驅(qū)動(dòng)的LED數(shù)碼管顯示當(dāng)前的溫度值,外加一定的執(zhí)行電路來完成系統(tǒng)的報(bào)警等預(yù)期任務(wù)。</p><p> 因?yàn)椴捎梦⑿蜋C(jī)進(jìn)行溫度檢測(cè)、數(shù)字顯示、信息存儲(chǔ)及實(shí)時(shí)控制,對(duì)于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用,
19、并且溫度參數(shù)對(duì)工業(yè)生產(chǎn)的重要性,所以溫度測(cè)量系統(tǒng)的精確度和智能化一直受到企業(yè)的重視。所以學(xué)習(xí)并研究溫度測(cè)量及相關(guān)知識(shí)可做為一個(gè)較為實(shí)用的課題的方向,能獲得較實(shí)用的知識(shí)和方法。同時(shí)它應(yīng)用的領(lǐng)域也相當(dāng)廣泛,可以應(yīng)用到消防電氣的非破壞性溫度檢測(cè),電力、電訊設(shè)備的過熱故障預(yù)知檢測(cè),各類運(yùn)輸工具之組件的過熱檢測(cè),保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測(cè)試,化工、機(jī)械…等設(shè)備溫度過熱檢測(cè)。因此前景是相當(dāng)?shù)目捎^。</p><p&g
20、t; 第二章 系統(tǒng)總體設(shè)計(jì)方案</p><p> 此系統(tǒng)是基于AT89S51單片機(jī)并由智能數(shù)字溫度傳感器DS18B20完成對(duì)倉庫現(xiàn)場(chǎng)溫度的多點(diǎn)采集,用NewMsg-NRF905作為無線模塊進(jìn)行無線數(shù)據(jù)傳輸,數(shù)據(jù)接收后由單片機(jī)AT89S51作為核心控制部件譯碼,并由MAX7219驅(qū)動(dòng)的LED數(shù)碼管顯示當(dāng)前的溫度值,外加執(zhí)行電路來完成系統(tǒng)的報(bào)警等預(yù)期任務(wù)。系統(tǒng)整體結(jié)構(gòu):</p><p>
21、 圖2.1 系統(tǒng)整體結(jié)構(gòu)</p><p><b> 工作流程:</b></p><p> 1.數(shù)據(jù)采集設(shè)備采集現(xiàn)場(chǎng)數(shù)據(jù)參數(shù),并由單片機(jī)控制提取。</p><p> 2.單片機(jī)將有用數(shù)據(jù)加入數(shù)據(jù)位置編碼通過無線射頻模塊發(fā)射。</p><p> 3.無線射頻模塊發(fā)射接收數(shù)據(jù)。</p><p&g
22、t; 4.單片機(jī)控制提取接收到的數(shù)據(jù)并送至顯示模塊適時(shí)顯示當(dāng)前溫度值,并根據(jù)鍵盤預(yù)先設(shè)定上限溫度值報(bào)警。</p><p><b> 2.1單片機(jī)主模塊</b></p><p> 主控單片機(jī)采用一片ATMEL AT89S51。根據(jù)題目要求,充分利用了單片機(jī)靈活控制的優(yōu)點(diǎn),發(fā)揮其優(yōu)勢(shì)功能,采用單片機(jī)控制顯示信號(hào)燈,提高了系統(tǒng)的靈活性,設(shè)置方便。AT89S51芯片本身
23、集成了看門狗(WDT)電路,這是為了系統(tǒng)更加的穩(wěn)定可靠,避免了系統(tǒng)因?yàn)樗罊C(jī)而停止工作的情況發(fā)生這種做法對(duì)于實(shí)際上長時(shí)間運(yùn)行在惡劣狀況的交通燈控制系統(tǒng)來說是十分必要的。它可以完成自動(dòng)加載復(fù)位,省去人工調(diào)整的麻煩,可以做到無人職守。</p><p> 2.1.1 AT89S51單片機(jī)特點(diǎn)</p><p> AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes IS
24、P(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,51系列單片機(jī)還具有省電耐用,可多次編程,性能穩(wěn)定,物美價(jià)廉的優(yōu)點(diǎn),其次單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便
25、。既可以單獨(dú)對(duì)多DS18B20控制工作,還可以與PC機(jī)通信.運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(PC微型計(jì)算機(jī)),下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制。另外AT89C51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。</p><p> AT89S51總結(jié)具有如下特點(diǎn):</p><p> ● 與MCS-51單片機(jī)
26、產(chǎn)品兼容</p><p> ● 4K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器</p><p> ● 1000次擦寫周期</p><p> ● 全靜態(tài)工作:0Hz—33MHz</p><p> ● 32個(gè)可編程I/O口線</p><p> ● 2個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b
27、> ● 6個(gè)中斷源</b></p><p> ● 全雙工UART串行通道</p><p> ● 低功耗空閑和掉電模式</p><p> ● 掉電后中斷可喚醒</p><p><b> ● 看門狗定時(shí)器</b></p><p><b> ● 雙數(shù)據(jù)指針<
28、/b></p><p> ● 靈活的ISP編程(字或字節(jié)模式)</p><p> ● 4.0---5.5V電壓工作范圍</p><p> 2.1.2最小單片機(jī)系統(tǒng)</p><p> 下圖是本設(shè)計(jì)中用到的單片機(jī)最小系統(tǒng):</p><p> 圖2.2單片機(jī)最小系統(tǒng)</p><p>
29、 系統(tǒng)采用12MHZ晶振,由于系統(tǒng)對(duì)晶振要求不高,可以根據(jù)情況適當(dāng)改變晶振頻率;另外系統(tǒng)的復(fù)位可上電復(fù)位,也可手動(dòng)復(fù)位。</p><p><b> 2.2溫度傳感器</b></p><p> 溫度的測(cè)量是從金屬(物質(zhì))的熱脹冷縮開始。水銀溫度計(jì)至今仍是各種溫度測(cè)量的計(jì)量標(biāo)準(zhǔn)??墒撬娜秉c(diǎn)是只能近距離觀測(cè),而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計(jì)和金屬簧片溫
30、度計(jì),它們雖然沒有毒性,但測(cè)量精度很低,只能作為一個(gè)概略指示。不過在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中為了配合遠(yuǎn)傳儀表指示,出現(xiàn)了許多不同的溫度檢測(cè)方法,常用的有電阻式、熱電偶式、PN結(jié)型、輻射型、光纖式及石英諧振型等。它們都是基于溫度變化引起其物理參數(shù)(如電阻值,熱電勢(shì)等)的變化的原理。隨著大規(guī)模集成電路工藝的提高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。本設(shè)計(jì)將要用到的是DS18B20溫度傳感器。</p>&
31、lt;p> 2.2.1溫度傳感器簡介</p><p> 測(cè)量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展主要經(jīng)過了三個(gè)階段:</p><p> ?。?)傳統(tǒng)的分立式溫度傳感器(含敏感元件)</p><p> ?。?)模擬集成溫度傳感器控制器</p><p> ?。?)智能溫度傳感器。</p><p> 模擬集成
32、傳感器是采用硅半導(dǎo)體集成工藝而制成的,因此亦稱硅傳感器或單片集成溫度傳感器。模擬集成溫度傳感器是在20 世紀(jì)80 年代問世的,它是將溫度傳感器集成在一個(gè)芯片上,可完成溫度測(cè)量及模擬信號(hào)輸出功能的專用IC。模擬集成溫度傳感器的主要特點(diǎn)是功能單一(僅測(cè)量溫度)、測(cè)溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測(cè)溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD5
33、90、AD592、TMP17、LM135 等。模擬集成溫度控制器主要包括溫控開關(guān)和可編程溫度控制器,典型產(chǎn)品有LM56、AD22105 和MAX6509。某些增強(qiáng)型集成溫度控制器例如(TC652/653)中還包含了刀轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時(shí)并不受微處理器的控制,這是二者的主要區(qū)別。智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20 世紀(jì)90 年代中期問世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)
34、測(cè)試技術(shù)(ATE)的結(jié)晶。目前,國際上已開發(fā)出多種智能溫度傳感器系列產(chǎn)品。智能溫度傳感器內(nèi)部都包含溫度傳感器、A</p><p> 目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、從集成化向智能化和網(wǎng)絡(luò)化的方向飛速發(fā)展。數(shù)字式溫度傳感器DS18B20 正是朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測(cè)溫系統(tǒng)等高科技的方向迅速發(fā)展。因此,智能溫度傳感器DS18B20 作為溫度
35、測(cè)量裝置己廣泛應(yīng)用于人民的日常生活和工農(nóng)業(yè)生產(chǎn)中。</p><p> 采用溫度芯片DS18B20測(cè)量溫度,可以體現(xiàn)系統(tǒng)芯片化這個(gè)趨勢(shì)。部分功能電路的集成,使總體電路更簡潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的干擾,提高測(cè)量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢(shì)。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢(shì)。</p><p> 根據(jù)其時(shí)序特點(diǎn)給出了
36、DS1820和AT89S51單片機(jī)構(gòu)成的溫度測(cè)控系統(tǒng)的應(yīng)用電路如下:</p><p> 圖2.3 DS18B20典型應(yīng)用</p><p> DS18B20采集到的模擬信號(hào)通過內(nèi)部轉(zhuǎn)換為數(shù)字信號(hào),通過一總線DQ與單片機(jī)直接通信,無需A/D轉(zhuǎn)換,單片機(jī)從其寄存器中直接提取數(shù)據(jù)再做相應(yīng)處理后,交由無線模塊發(fā)射。</p><p> 2.2.2 DS18B20性能特點(diǎn)與
37、內(nèi)部結(jié)構(gòu)</p><p> 1、 DS18B20的性能特點(diǎn)如下:</p><p> 1) 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;</p><p> 2) 多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;</p><p> 3) 無須外部器件;</p><p> 4) 可通過數(shù)據(jù)線供電,電壓范圍
38、為3.0~5.5V;</p><p><b> 5) 零待機(jī)功耗;</b></p><p> 6) 溫度以3位數(shù)字顯示;</p><p> 7) 用戶可定義報(bào)警設(shè)置;</p><p> 8) 報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;</p><p> 9) 負(fù)電壓特
39、性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 </p><p> 2、 DS18B20的外形及管腳排列如下圖2-4: </p><p> 圖2.4 DS18B20封裝</p><p> 3、DS18B20內(nèi)部結(jié)構(gòu)主要由六分組成:</p><p> 1) 64位光刻ROM。開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的
40、序號(hào),共有48位,最后8位是前56位的CRC校驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。</p><p> 64位閃速ROM的結(jié)構(gòu)如下:</p><p> MSB LSB MSB LSB MSB LSB</p><p> 圖2.5 DS18B20內(nèi)部結(jié)構(gòu)</p><
41、;p> 2) 非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限值。</p><p> 3) 高速暫存存儲(chǔ),可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。</p><p> DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2PRAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖2-5所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)
42、TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。它的內(nèi)部存儲(chǔ)器結(jié)構(gòu)和字節(jié)定義如圖2.2所示。低5位一直為,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。</p><p> 圖2.6 DS18B20內(nèi)部存儲(chǔ)器結(jié)構(gòu)</p><p> DS18
43、B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。</p><p> 圖2.7 DS18B20字節(jié)定義</p><p> 由表2.1可見,分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。</p><p> 高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面
44、所有8字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。</p><p> 當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。</p><p> 當(dāng)符號(hào)位S=0時(shí),表示測(cè)得的溫度值為正
45、值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2.2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。</p><p> 表2.1 DS18B20溫度轉(zhuǎn)換時(shí)間表</p><p> 表2.2 一部分溫度對(duì)應(yīng)值表</p><p><b> 4) CRC的產(chǎn)生</b></p>
46、<p> 在64 b ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來計(jì)算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。</p><p> 另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)R
47、OM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。</p><p><b> 5)寄生電源</b></p><p> 寄生電源有二極管VD1、VD2、寄生電容C和電源檢測(cè)電路組成,如圖所示。電源檢測(cè)電路用于判定供電方式。DS18B20有兩種供電方式:3.0——5.5V的電源供電方式和寄生電源供電方式(直接從數(shù)據(jù)線獲取電源)。</p><p> 若
48、采用外部電源給器件供電,外部電源接VCC引腳通過VD2向器件供電,如圖所示。</p><p> 寄生電源供電時(shí),VCC端接地,器件從單線總線上獲取電源,如圖所示。在I/O線呈低電平時(shí),改由電容C上的典雅繼續(xù)向器件供電。該寄生電源的優(yōu)點(diǎn):第一,檢測(cè)遠(yuǎn)程溫度時(shí)無需本地電源;第二、缺少正常電源時(shí)也能讀ROM。</p><p><b> 外部電源供電</b></p&
49、gt;<p> 圖2.8外部電源供電</p><p><b> 寄生電源供電</b></p><p> 圖2.9寄生電源供電</p><p> 2.3 無線通信模塊介紹</p><p> 隨著我國國際地位和科研水平的不斷提高,無需導(dǎo)線連接的無線數(shù)據(jù)系統(tǒng)對(duì)用戶有著極大的吸引力。無線數(shù)據(jù)系統(tǒng)采用了能在
50、局域范圍內(nèi)無線傳輸信息的數(shù)字網(wǎng)絡(luò),在不改動(dòng)原有設(shè)施的前提下,將有效的數(shù)據(jù)信息準(zhǔn)確、快速和安全地傳送給與會(huì)者。因此,無線數(shù)據(jù)系統(tǒng)設(shè)備的設(shè)計(jì)得到了國內(nèi)外相關(guān)領(lǐng)域廠商的廣泛關(guān)注,未來,無線數(shù)據(jù)系統(tǒng)很有可能代替現(xiàn)有的有線數(shù)據(jù)系統(tǒng),成為今后數(shù)據(jù)傳輸?shù)闹髁鳌?lt;/p><p> 要了解無線數(shù)據(jù)傳輸, 就得先了解無線傳輸技術(shù)。 下面大概介紹一下幾種常見的無線傳輸技術(shù):</p><p> 1.U段無線傳
51、輸技術(shù)</p><p> 超高頻(UHF -Ultra High Frequency)。UHF波段則是指頻率為300~3000MHz的特高頻無線電波。</p><p><b> 具有特點(diǎn)是:</b></p><p><b> 1)穩(wěn)定性高</b></p><p><b> 2)寫距
52、離遠(yuǎn)</b></p><p><b> 3)訊速率較高</b></p><p> 但U段技術(shù)由于頻段多、使用范圍廣,容易串頻和被聽,保密性較差。</p><p><b> 2.紅外線技術(shù)</b></p><p> 紅外通訊技術(shù)的特點(diǎn):</p><p>
53、1)它是目前在世界范圍內(nèi)被廣泛使用的一種無線連接技術(shù),被眾多的硬件和軟件平臺(tái)所支持;</p><p> 2)通過數(shù)據(jù)電脈沖和紅外光脈沖之間的相互轉(zhuǎn)換實(shí)現(xiàn)無線的數(shù)據(jù)收發(fā)。</p><p> 3)主要是用來取代點(diǎn)對(duì)點(diǎn)的線纜連接;</p><p> 4)具有不能穿透障礙物的特性,有效保障了會(huì)議信息的安全與保密;</p><p> 5)安裝方
54、便快捷,成本低;</p><p> 當(dāng)然我們還是需要注意一下紅外線技術(shù)的一些局限性。在進(jìn)行系統(tǒng)安裝時(shí),設(shè)備距離紅外信號(hào)收發(fā)器的距離通常比較短,大都在10米內(nèi),且應(yīng)遠(yuǎn)離其它紅外光源(如日光燈,等離子屏等),以避免干擾。</p><p><b> 3.WAP技術(shù) </b></p><p> WAP是Wireless Application P
55、rotocol(即無線應(yīng)用協(xié)議)的縮寫。無線應(yīng)用協(xié)議也稱為無線應(yīng)用程序協(xié)議,目前應(yīng)用廣泛,是在數(shù)字移動(dòng)電話、Internet及其他個(gè)人數(shù)字助理機(jī)PDA、計(jì)算機(jī)應(yīng)用之間進(jìn)行通信的開放性全球標(biāo)準(zhǔn)。</p><p> 在工作方面,對(duì)于日理萬機(jī)、經(jīng)常與時(shí)間競賽的商務(wù)人士,WAP更能為用戶提供市場(chǎng)上最新的第一手信息,完全配合用戶的業(yè)務(wù)和工作需要。在生活方面,無論用戶身在何處,都可以通過WAP上網(wǎng),進(jìn)行各項(xiàng)線上銀行服務(wù),在
56、娛樂方面,WAP也為用戶提供了嶄新的消費(fèi)模式,無論您走到那里,都可以隨心所欲地與朋友甚至其他WAP用戶,一起上網(wǎng)、玩游戲,一起分享WAP的樂趣。BOSCH的DCN無線討論系統(tǒng)采用的就是該無線技術(shù)。 通過倍受贊譽(yù)的無線介入點(diǎn)能夠?yàn)榉綀A40米(164英尺)左右的空間提供穩(wěn)固如一的強(qiáng)大連接。WAP既可部署在會(huì)議室中心以獲得最佳的覆蓋率,也可以移動(dòng)到會(huì)議室中最適合的位置。</p><p> 盡管WAP有其強(qiáng)大的優(yōu)勢(shì),但
57、是也必須指出WAP在技術(shù)角度上的局限性,主要存在于兩個(gè)方面:</p><p> 1)WAP設(shè)備和WAP承載網(wǎng)絡(luò): </p><p> 2)WAP設(shè)備受CPU、隨機(jī)訪問存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)和處理速度的限制。</p><p> 3)WAP承載網(wǎng)絡(luò)是低功率的網(wǎng)絡(luò),一般在辦公環(huán)境中的帶寬多為11M,。WAP承載網(wǎng)絡(luò)的固有特性是可靠性不高、穩(wěn)定性不高和
58、不可。</p><p> 4.2.4G頻射技術(shù)</p><p> 2.4G無線技術(shù),其頻段處于2.405GHz-2.485GHz之間。所以簡稱為2.4G無線技術(shù)。這個(gè)頻段里是國際規(guī)定的免費(fèi)頻段,是不需要向國際相關(guān)組織繳納任何費(fèi)用的。這就為2.4G無線技術(shù)可發(fā)展性提供了必要的有利條件。而且2.4G無線技術(shù)不同于之前的27MHz無線技術(shù),它的工作方式是全雙工模式傳輸,在抗干擾性能上要比27
59、MHz有著絕對(duì)的優(yōu)勢(shì)。這個(gè)優(yōu)勢(shì)決定了它的超強(qiáng)抗干擾性以及最大可達(dá)10米的傳輸距離。此外2.4G無線技術(shù)還擁有理論上2M的數(shù)據(jù)傳輸速率,比藍(lán)牙的1M理論傳輸速率提高了一倍。這就為以后的應(yīng)用層提高了可靠的保障。2.4G有著自己獨(dú)到的優(yōu)勢(shì)所在。相比藍(lán)牙它的產(chǎn)品制造成本更低,提供的數(shù)據(jù)傳輸速率更高。相比同樣免費(fèi)的27MHz無線技術(shù)它的抗干擾性、最大傳輸距離以及功耗都遠(yuǎn)遠(yuǎn)超出。</p><p> 據(jù)上介紹,因此這里就運(yùn)用
60、了無線通信模塊(NewMsg-RF905)。</p><p> NewMsg-RF905芯片是挪威Nordic 公司推出的的單片射頻收發(fā)器。芯片工作電壓DC1.9~3.6V,32 引腳QFN 封裝,內(nèi)置硬件CRC 檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制, 工作在433/868/915MHz 三個(gè)ISM 頻段,頻段之間收發(fā)模式切換時(shí)間<650us。</p><p> 其引腳說明如表1所示:&l
61、t;/p><p><b> 表2.3引腳說明</b></p><p> 2.3.1 NewMsg-RF905工作模式</p><p> NewMsg-RF905由 PWR 、TRX_CE、TX_EN組成控制四種工作模式:兩種活動(dòng)RX/TX模式和兩種節(jié)電模式。</p><p> ?。?)ShockBurst 模式<
62、/p><p> ShockBurstTM收發(fā)模式下,使用片內(nèi)的先放先出堆棧區(qū),數(shù)據(jù)低速從微控制器送入,但高速發(fā)射,這樣可以盡量節(jié)能,因此,使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率,與射頻協(xié)議相關(guān)的所有高速信號(hào)處理都在片內(nèi)進(jìn)行,這種做法有三大好處:盡量節(jié)能;低的系統(tǒng)費(fèi)用;數(shù)據(jù)在空中停留的時(shí)間短,抗干擾性高。</p><p> 在ShockBurstTM收發(fā)模式下,RF905自動(dòng)處理字
63、頭和CRC校驗(yàn)碼。在接收數(shù)據(jù)時(shí),自動(dòng)把字頭和CRC校驗(yàn)碼移去。在發(fā)送數(shù)據(jù)時(shí)自動(dòng)加上字頭和CRC校驗(yàn)碼,當(dāng)發(fā)送完成后,DR引腳通知微處理器數(shù)據(jù)發(fā)送完畢。</p><p><b> (2) 節(jié)能模式</b></p><p> RF905的節(jié)能模式包括關(guān)機(jī)模式和節(jié)能模式。在關(guān)機(jī)模式,RF905的工作電流最小,一般為2.5uA。進(jìn)入關(guān)機(jī)模式后,RF905保持配置字中的內(nèi)
64、容,但不會(huì)接收或發(fā)送任何數(shù)據(jù)。空閑模式有利于減小工作電流,其從空閑模式到發(fā)送模式或接收模式的啟動(dòng)時(shí)間也比較短。在空閑模式下,RF905內(nèi)部的部分晶體振蕩器處于工作狀態(tài)。</p><p> 2.3.2 NewMsg-RF905寄存器配置</p><p> NewMsg-RF905的所有配置都通過SPI接口進(jìn)行。SPI接口由5個(gè)寄存器組成,一條SPI指令用來決定進(jìn)行什么操作。SPI接口只有
65、在掉電模式和Standby模式是激活的。</p><p> 1)、狀態(tài)寄存器(Status-Register)</p><p> 寄存器包含數(shù)據(jù)就緒DR和地址匹配AM狀態(tài)。</p><p> 2)、RF配置寄存器(RF-Configuration Register)</p><p> 寄存器包含收發(fā)器的頻率、輸出功率等配置信息。<
66、;/p><p> 3)、發(fā)送地址(TX-Address)</p><p> 寄存器包含目標(biāo)器件地址,字節(jié)長度由配置寄存器設(shè)置。</p><p> 4)、發(fā)送有效數(shù)據(jù)(TX-Payload)</p><p> 寄存器包含發(fā)送的有效ShockBurst數(shù)據(jù)包數(shù)據(jù),字節(jié)長度由配置寄存器設(shè)置。</p><p> 5)、接
67、收有效數(shù)據(jù)(TX-Payload)</p><p> 寄存器包含接收到的有效ShockBurst數(shù)據(jù)包數(shù)據(jù),字節(jié)長度由配置寄存器設(shè)置。在寄存器中的有效數(shù)據(jù)由數(shù)據(jù)準(zhǔn)備就緒DR指示。</p><p> 射頻寄存器的各位的長度是固定的。然而,在ShockBurstTM收發(fā)過程中,TX_PAYLOAD、RX_PAYLOAD、TX_ADDRESS和RX_ADDRESS 4個(gè)寄存器使用字節(jié)數(shù)由配置
68、字決定。RF905進(jìn)入關(guān)機(jī)模式或空閑模式時(shí),寄存器中的內(nèi)容保持不變。NewMsg-RF905與AT89S51單片機(jī)構(gòu)成的溫度測(cè)控系統(tǒng)的應(yīng)用電路如下:</p><p> 圖2.10 NewMsg-NRF905發(fā)射與接收電路</p><p> 它采用SPI接口與ATS89S51串行通信,ATS89S51可以用一般I/O口來SPI 接口,只需添加代碼模擬SPI時(shí)序即可。本設(shè)計(jì)就是采用普通I/
69、O口模擬SPI接口的。</p><p><b> 2.4 鍵盤模塊</b></p><p> 基于本系統(tǒng)按鍵較少,采用矩陣式鍵盤,電路復(fù)雜且會(huì)加大編程難度。所以這里采用獨(dú)立式按鍵電路,每個(gè)按鍵單獨(dú)占有一根I/O接口線,每個(gè)I/O口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。電路設(shè)計(jì)簡單,且編程極其容易采用獨(dú)立式按鍵電路。</p><p&g
70、t;<b> 按鍵硬件設(shè)計(jì)</b></p><p> 本設(shè)計(jì)中,按鍵基本有兩種功能,一是完成溫度上限的設(shè)定,二是完成測(cè)量點(diǎn)的選擇,二者工作不沖突,故為節(jié)省資源,可利用中斷的不同讓按鍵工作于兩種模式下,即采用按鍵復(fù)用。這樣并能實(shí)現(xiàn)按鍵功能實(shí)時(shí)性的要求。</p><p> 其硬件電路如下所示:</p><p> 圖2.11 按鍵電路<
71、/p><p> 如圖中所示,K0為按鍵模式1(上限溫度設(shè)定)的中斷觸發(fā)信號(hào):K5為按鍵模式2(溫度顯示點(diǎn)選擇)的中斷觸發(fā)信號(hào),K1、K2、K3、K4為復(fù)用鍵,在模式1時(shí)分別為調(diào)節(jié)位選上調(diào)下調(diào)完成功能;在模式2時(shí)分別為顯示1號(hào)、2號(hào)、3號(hào)測(cè)量點(diǎn)溫度及模式結(jié)束鍵。這樣便完成了按鍵預(yù)期功能。</p><p> 2.5 顯示報(bào)警模塊</p><p> 本系統(tǒng)中要求顯示數(shù)據(jù)
72、簡單且亮度較大, 采用LCD顯示價(jià)格較高,且在強(qiáng)光下亮度一般不足。而采用LED顯示器在亮度、可視角度和刷新速率等方面,都更具優(yōu)勢(shì)。在強(qiáng)光下也可以照看不誤,并且對(duì)溫度適應(yīng)性較強(qiáng)。</p><p> 由于單片機(jī)的I/O有限,為了更好的分配資源,顯示模塊要求用串行傳輸。MAX7219 是MAXIM 公司的7 段共陰極LED 數(shù)碼管專用驅(qū)動(dòng)器,每一片MAX7219 最多可驅(qū)動(dòng)8 位LED,完全滿足本設(shè)計(jì)的要求,且集BC
73、D 碼譯碼器、多路掃描器、段驅(qū)動(dòng)和位驅(qū)動(dòng)電路于一體,內(nèi)含8×8位雙口靜態(tài)SRAM,可保存8 位LED 數(shù)據(jù),不僅使用方便,連線簡單,而且還可串聯(lián),大大簡化了硬件電路設(shè)計(jì),減少軟件的工作量。</p><p> MAX7219直接與單片機(jī)相連如下圖所示:</p><p> 圖2.12 MAX7219顯示驅(qū)動(dòng)電路</p><p> MAX7219 具有典型
74、的三線串行接口, 命令與數(shù)據(jù)組成16位字串,從DOUT 引腳輸出,當(dāng)每一個(gè)CLK 脈沖上升沿到來時(shí),串行數(shù)據(jù)從DIN 引腳進(jìn)入MAX7219 內(nèi)部移位寄存器,最先收到的是高位。在第16個(gè)CLK 上升沿,LOAD 引腳若變?yōu)楦唠娖?,則數(shù)據(jù)就會(huì)被鎖存到內(nèi)部寄存器中。</p><p> 下圖為MAX7219 的時(shí)序圖。</p><p> 圖2.13 MAX7219時(shí)序圖</p>
75、<p> 如圖所示,DIN 為串行數(shù)據(jù)輸入端,當(dāng)CLK 為上升沿時(shí),數(shù)據(jù)載入16位內(nèi)部移位寄存器;CLK 為串行時(shí)鐘輸入端,最大工作頻率為10 MHz;LOAD為片選端,當(dāng)LOAD 為低電平時(shí),該器件接收來自DIN的數(shù)據(jù),接收完畢,LOAD 返回高電平時(shí),接收的數(shù)據(jù)將鎖定;DIG0~DIG7 為吸收顯示器共陰極電流的位驅(qū)動(dòng)線,其最大值。</p><p> 可達(dá)500 mA,在關(guān)閉狀態(tài)時(shí),輸出+V
76、;SEGA~SEGG 和DP 為驅(qū)動(dòng)顯示器7 段及小數(shù)點(diǎn)的輸出電流,約40 mA,可軟件調(diào)整,關(guān)閉狀態(tài)時(shí),接入GND;DOUT 為串行數(shù)據(jù)輸出端,通常直接接入下一片MAX7219 的DIN 端。本設(shè)計(jì)中未用到DOUT端。</p><p> 通過V+ 引腳和ISET 引腳之間所接的外部電阻RSET控制MAX7219,RSET越大,段電流越小,但是其為9 530 Ω。此時(shí)為典型段電流37 mA。為了減少外界干擾,在
77、MAX7219 的V+引腳與GND 引腳之間接一個(gè)0.1 μF的滌綸電容和一只10 μF 的鉭電容。MAX7219 所能直接驅(qū)動(dòng)的是共陰極小電流LED 顯示器,它不能直接驅(qū)動(dòng)共陽極LED 顯示器,否則會(huì)損壞器件。</p><p> 為了報(bào)警達(dá)到目的,直到工作人員采用相應(yīng)措施改善溫度條件,故采用了蜂鳴器置的方法報(bào)警。</p><p> 其硬件電路如下所示:</p><
78、p> 圖2.14 報(bào)警電路</p><p> 當(dāng)溫度超過上限時(shí),置位P37使報(bào)警電路工作,可通過開關(guān)S0關(guān)掉報(bào)警,但當(dāng)報(bào)警作用起到后,為了不讓它在處理溫度問題同時(shí)不繼續(xù)報(bào)警,故加上一個(gè)單刀雙擲開關(guān)和一個(gè)反指示燈,可人工先擇報(bào)警狀態(tài),或?yàn)榉澍Q器或?yàn)橹甘緹艄ぷ鳌?lt;/p><p><b> 2.6 其它模塊</b></p><p><
79、;b> 電源模塊</b></p><p> 本系統(tǒng)中除了NRF905使用3.3V電壓外,其它均采用5V電壓。主要是因?yàn)镹RF905電源電壓是3.3V ~3.6VDC ,而在3.3V時(shí)性能最佳。</p><p> 考慮到系統(tǒng)的特點(diǎn),采用220V交流供電,故需要以下電壓變換:</p><p> 圖2.15 220V交流變5V直流電源電路<
80、;/p><p> 圖2.16 5V直流變3.3V直流</p><p> 第三章 軟件設(shè)計(jì)</p><p> 本章主要介紹單片機(jī)通過NRF905模塊及DS18B20檢測(cè)溫度的軟件實(shí)現(xiàn)方法,包括溫度的采集,采樣點(diǎn)的識(shí)別,數(shù)據(jù)的處理及發(fā)射與接收,以及溫度的顯示的控制。</p><p><b> 3.1 主程序流程</b&g
81、t;</p><p> 設(shè)計(jì)中要完成按鍵設(shè)定溫度報(bào)警上限值(按鍵模式1),按鍵更改顯示不同測(cè)量點(diǎn)的溫度(按鍵模式2),但單片機(jī)不能一直處于查詢狀態(tài),那樣太浪費(fèi)單片機(jī)資源,又不利于系統(tǒng)整體流程的復(fù)雜程度,故采用了中斷方式。</p><p> 考慮到本系統(tǒng)的開關(guān)機(jī)次數(shù)不會(huì)太多,為了節(jié)省成本,未對(duì)單片機(jī)ROM區(qū)的資源進(jìn)行擴(kuò)展,而溫度的上下限值保存于RAM區(qū)沒定的變量中,系統(tǒng)開機(jī)或重啟時(shí)要首先
82、對(duì)溫度上下限進(jìn)行設(shè)定。</p><p> 主要包括發(fā)射端與接收端主程序如下:</p><p> 3.1.1系統(tǒng)溫度采集終端主程序?qū)崿F(xiàn)</p><p> 發(fā)射端的主要任務(wù)就是溫度采集,并通過無線模塊發(fā)送出去,并對(duì)讀取的溫度值了相應(yīng)處理,分離出小數(shù)、整數(shù),加入了測(cè)量點(diǎn)代碼。</p><p><b> 具體流程如下:</b&
83、gt;</p><p> 圖3.1 溫度采集端主程序流程圖</p><p> 3.1.2系統(tǒng)主機(jī)終端主程序?qū)崿F(xiàn)</p><p> 接收端主要完成把發(fā)送端發(fā)送的數(shù)據(jù)接收,并送到MAX7219顯示出來,中途接收按鍵中斷,設(shè)定溫度報(bào)警上限值(按鍵模式1),更改顯示不同測(cè)量點(diǎn)溫度(按鍵模式2),模式的切換通過不同的外部中斷來區(qū)別。</p><p&g
84、t; 圖3 .2 系統(tǒng)主機(jī)終端主程序流程圖</p><p> 3.2 溫度的采集及數(shù)據(jù)的處理</p><p> 在本設(shè)計(jì)中采用DS18B20作為溫度采集設(shè)備,它與單片機(jī)通過一總線通信,有嚴(yán)格的時(shí)序要求,為了方便接收端數(shù)據(jù)的處理,溫度采集后并對(duì)其數(shù)據(jù)進(jìn)行了處理,并加入測(cè)量點(diǎn)識(shí)別碼;故其軟件設(shè)計(jì)過程主要包括溫度的讀取與數(shù)的處理,具體流程如下所示:</p><p>
85、 3.2.1 DS18B20初始化</p><p> 圖3.3 溫度采集初始化流程圖</p><p> 如上圖所示 DS18B20的初始化要完成以下工作:</p><p> (1) 先設(shè)置好初始化成功標(biāo)志,將數(shù)據(jù)線置高電平“1”。</p><p> ?。?) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短)</p>&l
86、t;p> ?。?) 數(shù)據(jù)線拉到低電平“0”。</p><p> ?。?) 延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)產(chǎn)生復(fù)位脈沖。</p><p> (5) 數(shù)據(jù)線拉到高電平“1”,釋放總線。</p><p> (6) 延時(shí)等待(如果初始化成功則在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來確定初始化成
87、功與否。)</p><p> 3.2.2數(shù)據(jù)的讀取與處理</p><p> 由于設(shè)計(jì)中選用的的溫度傳感器芯片要寫入命令字來控制相應(yīng)的動(dòng)作,且有嚴(yán)格的時(shí)序要求,當(dāng)然需要有相應(yīng)的子程序;由于本設(shè)計(jì)中要求對(duì)不同的溫度點(diǎn)加以區(qū)別,并顯示出來,故采用自行給編碼比較容易實(shí)現(xiàn),這里的編碼必須由溫度采集點(diǎn)給出,才能達(dá)到區(qū)別的目的,所以在發(fā)射擊的溫度值中直接加入相應(yīng)編碼,與溫度值一同發(fā)出,并在接收端解碼
88、、顯示出其編碼信息,與其溫度值相對(duì)應(yīng)的出現(xiàn)在LED顯示屏上。</p><p> 本文此處介紹DS18B20讀一字節(jié)子程序,寫一字節(jié)子程序,和讀取溫度值及數(shù)據(jù)處理子程序。以下是用于向DS18B20寫寫一字節(jié)子程序流程: </p><p> 圖3.4 DS18B20寫命令字的寫字節(jié)子程序流程圖
89、</p><p> 如上圖所示,DS18B20的寫時(shí)序有嚴(yán)格的要求DS18B20的寫操作。</p><p> ?。?) 數(shù)據(jù)線先置低電平“0”,寫時(shí)序開始。</p><p> (2) 延時(shí)確定的時(shí)間為15微秒。</p><p> ?。?) 把要寫入的數(shù)據(jù)按從低位到高位的順序按位發(fā)送字節(jié)。</p><p> ?。?)
90、 延時(shí)時(shí)間為60到120微秒,使寫時(shí)間片結(jié)束。</p><p> ?。?) 將數(shù)據(jù)線拉到高電平釋放總線。</p><p> ?。?) 重復(fù)上(1)到(6)的操作到所有的字節(jié)全部發(fā)送完。</p><p> ?。?) 最后將數(shù)據(jù)線拉高,返回。下是從DS18B20中讀取一個(gè)字節(jié)子程序:</p><p> 圖3.5 DS18B20中讀取一個(gè)字節(jié)子
91、程序流程圖</p><p> 如上圖所示,讀操作同樣也有嚴(yán)格的時(shí)序要求DS18B20的讀操作</p><p> ?。?)將數(shù)據(jù)線拉低“0”,讀時(shí)間片開始。</p><p> ?。?)在1到15微秒內(nèi),數(shù)據(jù)線拉高,釋放總線,讀走數(shù)據(jù)。</p><p> ?。?)按先低位后高位的順序依次讀入8位。</p><p> ?。?/p>
92、4)將數(shù)據(jù)線拉高“1”。</p><p> (5)延時(shí)至60微秒使讀時(shí)間片結(jié)束。</p><p><b> ?。?)拉高返回。</b></p><p> 以下是讀取溫度值及數(shù)據(jù)處理子程序</p><p> 圖3.6 讀取溫度值及數(shù)據(jù)處理子程序流程圖</p><p> 如上圖所示,讀取溫度
93、值及數(shù)據(jù)處理應(yīng)包括以下過程:</p><p> ?。?)對(duì)DS18B20初始化。</p><p> ?。?)跳過讀序列號(hào),并啟動(dòng)溫度轉(zhuǎn)換。</p><p> (3)再對(duì)DS18B20初始化。</p><p> (4)跳過讀序列號(hào),并寫入讀取溫度命令字。</p><p> (5)立刻讀取溫度值。</p>
94、<p> ?。?)數(shù)據(jù)處量,包括分離出小數(shù)部分,整數(shù)部分,以及加入編碼部分。</p><p> 3.3 無線通信子程序</p><p> 本設(shè)計(jì)中采用了NewMsg-NRF905射頻模塊完成數(shù)據(jù)傳輸。單片機(jī)通過SPI接口與NewMsg-NRF905相接,并完成對(duì)其控制。故軟件設(shè)計(jì)中主要包括NewMsg-NRF905初始化,寄存器的配置,發(fā)射與接收程序,其具體流程分別如下所
95、示:</p><p> 3.3.1 NewMsg-NRF905初始化</p><p> 初始化的過程就是對(duì)無線模塊進(jìn)配置的過程,其中相關(guān)配置的參數(shù)見附錄。</p><p> 以下是無線模塊的初始化流程:</p><p> 圖3.7 無線模塊的初始化流程圖</p><p> 由于無線模塊是通過SPI與單片機(jī)
96、進(jìn)行通信的,所以要先打開SPI接口,在循環(huán)寫入相關(guān)的十字節(jié)的配置信息,寫入完成后,關(guān)閉SPI,以便其它操作。</p><p> 3.3.2寄存器的配置</p><p> 如上所述,無線模塊是通過SPI與單片機(jī)進(jìn)行通信的,所有配置字都是通過SPI接口送給RF905。必須進(jìn)行SPI讀寫才能完成對(duì)無線模塊的相關(guān)配置,以及數(shù)據(jù)的讀取。下面要先介紹SPI的讀寫操作,再介紹相關(guān)配置字的選擇。<
97、;/p><p> 配置字都是通過SPI接口送給RF905。下面是SPI的寫子程序流程圖:</p><p> 圖3.8 SPI的寫子程序流程圖</p><p> 步驟一:MOSI線準(zhǔn)備好需要發(fā)送的數(shù)據(jù)位。 </p><p> 步驟二:SCK置高,器件讀取MOSI線上的數(shù)據(jù)。 </p><p> 步驟三:SCK置低
98、,準(zhǔn)備發(fā)送數(shù)據(jù)的下一位。 </p><p> 以上步驟循環(huán)執(zhí)行8次,通過SPI向器件發(fā)送數(shù)據(jù)完成。</p><p> 單片機(jī)也是通過SPI接口從RF905中讀取數(shù)據(jù)的,下面是SPI的讀子程序流程圖:</p><p> 圖3.9 SPI的讀子程序流程圖</p><p> 步驟一:MISO線準(zhǔn)備好需要讀取的數(shù)據(jù)位。</p>
99、<p> 步驟二:SCK置高,主機(jī)讀取MISO線上的數(shù)據(jù)。</p><p> 步驟三:SCK置低,準(zhǔn)備接收數(shù)據(jù)的下一位。</p><p> 以上步驟循環(huán)執(zhí)行8次,通過SPI向器件發(fā)送數(shù)據(jù)完成!</p><p> 3.3.3數(shù)據(jù)的發(fā)送與接收 </p><p> 所有的SPI操作都是為了數(shù)據(jù)的接收與發(fā)送,這里介紹數(shù)據(jù)通過無線
100、模塊發(fā)送接收的軟件實(shí)現(xiàn)。</p><p> 下面是通過無線模塊接收兩個(gè)字節(jié)的子程序流程圖:</p><p> 圖3.10 無線模塊接收兩個(gè)字節(jié)的子程序流程圖</p><p> 步驟一:TRX_CE=0; 必須將此引腳置低,使905進(jìn)入standby模式。</p><p> 步驟二:發(fā)送RRP指令。 </p><p
101、> 步驟三:循環(huán)調(diào)用SpiRead函數(shù),讀取接收到的數(shù)據(jù)。 </p><p> 步驟四:等待DR和AM引腳復(fù)位為低電平。 </p><p> ?。ㄖ虚g夾有CSN電平變化)。</p><p><b> 數(shù)據(jù)包接收完成! </b></p><p> 下面是通過無線模塊發(fā)送兩個(gè)字節(jié)的子程序流程圖:</p&g
102、t;<p> 圖3.11 無線模塊發(fā)送兩個(gè)字節(jié)的子程序流程圖</p><p> 步驟一:通過SpiWrite 函數(shù)發(fā)送WTP命令,準(zhǔn)備寫入TX有效數(shù)據(jù)。</p><p> 步驟二:循環(huán)調(diào)用SpiWrite向TX-Payload寄存器寫入TX有效數(shù)據(jù)。</p><p> (中間夾有CSN電平變化)</p><p><
103、;b> 步驟三:延時(shí)。</b></p><p> 步驟四:通過SpiWrite函數(shù)發(fā)送WTA命令,準(zhǔn)備寫入TX地址。</p><p> 步驟五:循環(huán)調(diào)用SpiWrite向TX-Address寄存器寫入TX地址。</p><p> 步驟六:TRX_CE=1; 開始發(fā)送數(shù)據(jù)。</p><p> 延時(shí),nRF905數(shù)據(jù)發(fā)
104、送完成。</p><p> 3.4 溫度的顯示模塊</p><p> 同樣節(jié)省了I/O接口資源,MAX7219 和AT89s51 采用串行方式傳輸數(shù)據(jù), 數(shù)據(jù)格式為16 位,發(fā)送到DIN 端的串行數(shù)據(jù)在每個(gè)CLK 的上升沿移至內(nèi)部16 位移位寄存器中,然后在LOAD 的上升沿,將數(shù)據(jù)鎖存到數(shù)字或控制寄存器中。通過移位寄存器傳送DIN 端的數(shù)據(jù), D8~D11 是寄存器地址;D0~D7
105、為數(shù)據(jù);D12~D15為無關(guān)位;MAX7219 接收的第1 位為D15。MAX7219 中共有14個(gè)數(shù)據(jù)和控制寄存器。MAX7219 與AT89s51 的編程, 主要為初始化子程序。</p><p><b> 程序流程如下:</b></p><p> 圖3.12 MAX7219初始化子程序流程圖</p><p> 如上圖所示,所有向M
106、AX7219中寫的數(shù)據(jù)都是DIN準(zhǔn)備好,在CLK上升沿時(shí)送入相應(yīng)寄存器。數(shù)據(jù)送到相應(yīng)寄存器后,其輸出就會(huì)有相應(yīng)動(dòng)作。</p><p><b> 3.5 按鍵子程序</b></p><p> 另外通過中斷來設(shè)定溫度報(bào)警上限值(按鍵模式1);通過按鍵復(fù)用更改顯示不同測(cè)量點(diǎn)的溫度(按鍵模式2);其軟件設(shè)計(jì)流程如下:</p><p><b&g
107、t; 按鍵模式1:</b></p><p> 圖3.13 按鍵設(shè)定溫度報(bào)警上限值子程序流程圖</p><p> 為了利用外部中斷的不同來區(qū)別不同的模式,故采用了單獨(dú)的觸發(fā)按鍵,本模式由外部中斷0(INT0)端觸發(fā),另外,為了調(diào)節(jié)的需要,設(shè)置了上調(diào)、下調(diào)改變調(diào)節(jié)位按鍵,另外為了系統(tǒng)使用的方便,專門增加的中斷結(jié)束按鍵。</p><p><b&g
108、t; 按鍵模式2:</b></p><p> 圖3.14 溫度檢測(cè)點(diǎn)選擇子程序流程圖</p><p> 同樣為了利用外部中斷的不同來區(qū)別不同的模式,采用了單獨(dú)的觸發(fā)按鍵,本模式由外部中斷1(INT1)端觸發(fā),另外,為了多點(diǎn)檢測(cè)的需要,設(shè)置了1號(hào)、2號(hào)、3號(hào)溫度檢測(cè)終端選擇按鍵,為節(jié)省資源,以上4鍵分別為上調(diào)、下調(diào)、改變調(diào)節(jié)位與中斷返回按鍵的復(fù)用;另外為了系統(tǒng)使用的方便,專
109、門增加的中斷結(jié)束按鍵。</p><p><b> 第四章 總結(jié)與展望</b></p><p> 本文采用單片機(jī)和無線處理技術(shù),分析研究了智能倉庫溫度監(jiān)控系統(tǒng)中總線技術(shù)和無線傳輸技術(shù)完成數(shù)據(jù)的采集和監(jiān)控。對(duì)其中的一些難點(diǎn)問題進(jìn)行了重點(diǎn)研究,并設(shè)計(jì)出了穩(wěn)定可靠智能的溫度監(jiān)控系統(tǒng),在實(shí)驗(yàn)過程中取得了良好的效果。為此,本文研究所取得的創(chuàng)新性成果有:</p>
110、<p> (l)研究了國內(nèi)倉庫溫度采集系統(tǒng)的發(fā)展現(xiàn)狀,分析了國內(nèi)對(duì)此系統(tǒng)的需求方向。根據(jù)單片機(jī)和無線處理技術(shù),分析了系統(tǒng)使用的軟件硬件平臺(tái)特點(diǎn),針對(duì)功能需求設(shè)計(jì)了倉庫溫度采集系統(tǒng)的硬件和軟件組成。</p><p> (3)研究設(shè)計(jì)了功能齊全、簡單有效、易于操作的溫度采集控制系統(tǒng)的應(yīng)用程序。</p><p> 本文雖然對(duì)倉庫溫度采集系統(tǒng)做了相關(guān)的研究,但由于時(shí)間和本人知識(shí)水平
111、有限,仍然有許多問題需要深入的研究以及進(jìn)一步的改進(jìn)和完善,主要有以下幾個(gè)方面:</p><p> ?。?)在進(jìn)行系統(tǒng)安裝時(shí),設(shè)備距離紅外信號(hào)收發(fā)器的距離通常比較短,大都在10米內(nèi),而且容易被其它紅外光源干擾。因此在這一方面還待加強(qiáng)。</p><p> ?。?)由于本系統(tǒng)的開關(guān)機(jī)次數(shù)不會(huì)太多,為了節(jié)省成本,未對(duì)單片機(jī)ROM區(qū)的資源進(jìn)行擴(kuò)展。</p><p> 隨著單
112、片機(jī)和無線控制技術(shù)的快速發(fā)展,國內(nèi)外的相關(guān)研究學(xué)者將會(huì)對(duì)基于單片機(jī)和無線的智能控制系統(tǒng)進(jìn)行更加深入的研究,使其技術(shù)也越來越成熟,并在工業(yè)生產(chǎn)中發(fā)揮越來越重要的作用。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 51單片機(jī)C語言常用模塊與綜合系統(tǒng)設(shè)計(jì).電子工業(yè)出版社,2007</p><p> [2] 孫育才.MC
113、S-51系列單片微型計(jì)算機(jī)及其應(yīng)用.第4版,東南大學(xué)出版社,2004</p><p> [3] 于永.51單片機(jī)C語言常用模塊與綜合系統(tǒng)設(shè)計(jì)實(shí)例精講.電子工業(yè)出版社,2007</p><p> [4] 劉軍.單片機(jī)原理與接口技術(shù).華東理工大學(xué)出版社,2006</p><p> [5] 趙亮.單片機(jī)C語言編程與實(shí)例.人民郵電出版社,2003</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89s51單片機(jī)單片機(jī)控制空調(diào)溫度系統(tǒng)-畢業(yè)論文
- 基于單片機(jī)與無線技術(shù)的倉庫溫度采集系統(tǒng)畢業(yè)論文
- 基于單片機(jī)與無線技術(shù)的倉庫溫度采集系統(tǒng)畢業(yè)論文
- 基于單片機(jī)AT89S51的溫度控制.doc
- 畢業(yè)設(shè)計(jì)----基于at89s51單片機(jī)的溫度檢測(cè)系統(tǒng)
- 基于單片機(jī)AT89S51的溫度控制.doc
- 基于at89s51單片機(jī)的超聲波測(cè)距系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-基于at89s51單片機(jī)的led搖搖棒設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于at89s51單片機(jī)的數(shù)字溫度測(cè)量
- 基于at89s51單片機(jī)的多點(diǎn)溫度控制系統(tǒng)設(shè)計(jì)
- 基于at89s51單片機(jī)的多點(diǎn)溫度控制系統(tǒng)設(shè)計(jì)
- 基于at89s51單片機(jī)的保溫爐溫度控制系統(tǒng)
- 畢業(yè)論文-基于at89s51單片機(jī)的汽車倒車?yán)走_(dá)防撞系統(tǒng)設(shè)計(jì)
- at89s51單片機(jī)外文翻譯
- 2017畢業(yè)論文-基于at89s51單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)
- 基于at89s52單片機(jī)溫度采集設(shè)計(jì)畢業(yè)論文
- 基于at89s51單片機(jī)的數(shù)字溫度測(cè)量及顯示系統(tǒng)畢業(yè)設(shè)計(jì)
- 優(yōu)秀畢業(yè)論文(設(shè)計(jì))基于at89s51單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于at89s51單片機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于at89s51單片機(jī)的數(shù)字溫度測(cè)量及顯示系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論