基于單片機(jī)與無(wú)線技術(shù)的倉(cāng)庫(kù)溫度采集系統(tǒng)畢業(yè)論文_第1頁(yè)
基于單片機(jī)與無(wú)線技術(shù)的倉(cāng)庫(kù)溫度采集系統(tǒng)畢業(yè)論文_第2頁(yè)
基于單片機(jī)與無(wú)線技術(shù)的倉(cāng)庫(kù)溫度采集系統(tǒng)畢業(yè)論文_第3頁(yè)
基于單片機(jī)與無(wú)線技術(shù)的倉(cāng)庫(kù)溫度采集系統(tǒng)畢業(yè)論文_第4頁(yè)
基于單片機(jī)與無(wú)線技術(shù)的倉(cāng)庫(kù)溫度采集系統(tǒng)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩39頁(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、目錄摘要iabstractii第一章 緒論4第二章 系統(tǒng)總體設(shè)計(jì)方案52.1單片機(jī)主模塊52.1.1 at89s51單片機(jī)特點(diǎn)62.1.2最小單片機(jī)系統(tǒng)72.2溫度傳感器72.2.1溫度傳感器簡(jiǎn)介82.2.2 ds18b20性能特點(diǎn)與內(nèi)部結(jié)構(gòu)92.3 無(wú)線通信模塊介紹142.3.1 newmsg-rf905工作模式172.3.2 newmsg-rf905寄存器配置182.4 鍵盤模塊192.5 顯示報(bào)警模塊202.6 其它模塊23第三章 軟件設(shè)計(jì)243.1 主程序流程243.1.1系統(tǒng)溫度采集終端主程序?qū)崿F(xiàn)243.1.2系統(tǒng)主機(jī)終端主程序?qū)崿F(xiàn)253.2 溫度的采集及數(shù)據(jù)的處理263.2.1 d

2、s18b20初始化273.2.2數(shù)據(jù)的讀取與處理283.3 無(wú)線通信子程序313.3.1 newmsg-nrf905初始化313.3.2寄存器的配置323.3.3數(shù)據(jù)的發(fā)送與接收343.4 溫度的顯示模塊363.5 按鍵子程序37第四章 總結(jié)與展望39參考文獻(xiàn)40摘要隨著社會(huì)主義現(xiàn)代化的發(fā)展,在科學(xué)技術(shù)突飛猛進(jìn)的今天,人工智能起不不可忽視的作用。尤其是各種智能化的儀器、儀表在農(nóng)、工業(yè)的廣泛應(yīng)用給社會(huì)帶來(lái)了極大的便利。本文就是一個(gè)利用溫度來(lái)實(shí)現(xiàn)簡(jiǎn)單智能控制的例子。它完成了從溫度的采集、轉(zhuǎn)換、顯示以及控制的一系列任務(wù)。由于時(shí)間關(guān)系,本文并未深入探討溫度的具體實(shí)例。例如根據(jù)溫度來(lái)控制熱水器、電風(fēng)扇等

3、與溫度有關(guān)的設(shè)備。但是它提供了一個(gè)通過(guò)溫度來(lái)控制設(shè)備的基本思想和原理。相信能在實(shí)際應(yīng)用中為我們的生活帶來(lái)更大的便利。本課題提出一種基于單片機(jī)的無(wú)線溫度采集系統(tǒng)方案,該方案是利用單片機(jī)控制ds18b20溫度傳感器采集溫度、控制led數(shù)碼管實(shí)時(shí)顯示溫度值、控制newmsg-nrf905進(jìn)行數(shù)據(jù)的無(wú)線傳輸。本系統(tǒng)中所用到的器件是at89s51單片機(jī)、數(shù)字溫度傳感器ds18b20和無(wú)線芯片newmsg-nrf905,數(shù)據(jù)接收后由單片機(jī)at89s51作為核心控制部件譯碼,由max7219驅(qū)動(dòng)的led數(shù)碼管顯示當(dāng)前的溫度值,外加執(zhí)行電路來(lái)完成系統(tǒng)的報(bào)警等預(yù)期任務(wù)。關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度采集;newmsg-n

4、rf905;ds18b20;led數(shù)碼管顯示;abstractwith the development of socialistic 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 agricultural, industrial

5、 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 of a series of tasks. because of the time, this did not discuss specific examples of tempera

6、ture. for example, according to the temperature control water heater, electric fan and temperature related equipment. i believe that in the practical application for our lives more convenient.this paper puts forward a wireless temperature collection system based on mcu program, the program is the us

7、e of microcomputer control of ds18b20 temperature sensor temperature 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 ds18b20and newms

8、g-nrf905wireless chip, data received by at89s51 microcontroller as core control component decoding, driven by max7219led digital tube displays the current temperature value, and the executive circuit to complete the system alarm expected task.key words: single chip microcomputer; temperature acquisi

9、tion; newmsg-nrf905; ds18b20; led digital tube display;第一章 緒論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)域。溫度是工業(yè)、農(nóng)業(yè)生產(chǎn)中常見(jiàn)的和最基本的參數(shù)之一,在生產(chǎn)過(guò)程中常需對(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è)量需求越來(lái)越

10、多,也越來(lái)越重要。多路無(wú)線溫度采集系統(tǒng)可被廣泛應(yīng)用于溫度測(cè)量或相應(yīng)的可轉(zhuǎn)換為溫度量或供電故障監(jiān)控的工業(yè)、農(nóng)業(yè)、環(huán)保、服務(wù)業(yè)、安全監(jiān)控等工程中,例如:城市路燈故障檢測(cè)和供電線路防盜監(jiān)視、城市居民小區(qū)供熱檢測(cè)、大型倉(cāng)庫(kù)溫度檢測(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)以上。本設(shè)計(jì)是以at89s51單片機(jī)作為控制核心,提出以ds18b20的單總線分布式溫度采集與控制系統(tǒng)。多個(gè)溫度傳感節(jié)點(diǎn)通過(guò)單總線與單片機(jī)相連形成分布式系統(tǒng)。控制器通過(guò)溫度傳感器實(shí)時(shí)檢測(cè)各節(jié)點(diǎn)的溫度變化由智能數(shù)字溫度傳感器ds18b20完成對(duì)倉(cāng)庫(kù)現(xiàn)場(chǎng)溫度的多

11、點(diǎn)采集,并由nrf905完成數(shù)據(jù)的無(wú)線通信,數(shù)據(jù)接收后由單片機(jī)at89s51作為核心控制部件譯為碼,由max7219驅(qū)動(dòng)的led數(shù)碼管顯示當(dāng)前的溫度值,外加一定的執(zhí)行電路來(lái)完成系統(tǒng)的報(bào)警等預(yù)期任務(wù)。因?yàn)椴捎梦⑿蜋C(jī)進(jìn)行溫度檢測(cè)、數(shù)字顯示、信息存儲(chǔ)及實(shí)時(shí)控制,對(duì)于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用,并且溫度參數(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è)備的過(guò)熱故障預(yù)知檢測(cè),各類運(yùn)輸工具之組

12、件的過(guò)熱檢測(cè),保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測(cè)試,化工、機(jī)械等設(shè)備溫度過(guò)熱檢測(cè)。因此前景是相當(dāng)?shù)目捎^。第二章 系統(tǒng)總體設(shè)計(jì)方案此系統(tǒng)是基于at89s51單片機(jī)并由智能數(shù)字溫度傳感器ds18b20完成對(duì)倉(cāng)庫(kù)現(xiàn)場(chǎng)溫度的多點(diǎn)采集,用newmsg-nrf905作為無(wú)線模塊進(jìn)行無(wú)線數(shù)據(jù)傳輸,數(shù)據(jù)接收后由單片機(jī)at89s51作為核心控制部件譯碼,并由max7219驅(qū)動(dòng)的led數(shù)碼管顯示當(dāng)前的溫度值,外加執(zhí)行電路來(lái)完成系統(tǒng)的報(bào)警等預(yù)期任務(wù)。系統(tǒng)整體結(jié)構(gòu): ism頻道數(shù)據(jù)采集系統(tǒng)鍵盤顯示單片機(jī)單片機(jī)無(wú)線發(fā)射無(wú)線接收 圖2.1 系統(tǒng)整體結(jié)構(gòu)工作流程:1.數(shù)據(jù)采集設(shè)備采集現(xiàn)場(chǎng)數(shù)據(jù)參數(shù),并由單片機(jī)控制提取。

13、2.單片機(jī)將有用數(shù)據(jù)加入數(shù)據(jù)位置編碼通過(guò)無(wú)線射頻模塊發(fā)射。3.無(wú)線射頻模塊發(fā)射接收數(shù)據(jù)。4.單片機(jī)控制提取接收到的數(shù)據(jù)并送至顯示模塊適時(shí)顯示當(dāng)前溫度值,并根據(jù)鍵盤預(yù)先設(shè)定上限溫度值報(bào)警。2.1單片機(jī)主模塊主控單片機(jī)采用一片atmel at89s51。根據(jù)題目要求,充分利用了單片機(jī)靈活控制的優(yōu)點(diǎn),發(fā)揮其優(yōu)勢(shì)功能,采用單片機(jī)控制顯示信號(hào)燈,提高了系統(tǒng)的靈活性,設(shè)置方便。at89s51芯片本身集成了看門狗(wdt)電路,這是為了系統(tǒng)更加的穩(wěn)定可靠,避免了系統(tǒng)因?yàn)樗罊C(jī)而停止工作的情況發(fā)生這種做法對(duì)于實(shí)際上長(zhǎng)時(shí)間運(yùn)行在惡劣狀況的交通燈控制系統(tǒng)來(lái)說(shuō)是十分必要的。它可以完成自動(dòng)加載復(fù)位,省去人工調(diào)整的麻煩,

14、可以做到無(wú)人職守。2.1.1 at89s51單片機(jī)特點(diǎn)at89s51是一個(gè)低功耗,高性能cmos 8位單片機(jī),片內(nèi)含4k bytes isp(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ī)軟件編程的自由度大,可通過(guò)編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多ds1

15、8b20控制工作,還可以與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ù)及外圍功能電路的配合使用都很成熟。at89s51總結(jié)具有如下特點(diǎn): 與mcs-51單片機(jī)產(chǎn)品兼容 4k字節(jié)在系統(tǒng)可編程flash存儲(chǔ)器 1000次擦寫周期 全靜態(tài)工作:0hz33mhz 32個(gè)可編程i/o口線 2個(gè)16位定時(shí)器/計(jì)數(shù)器 6個(gè)中斷源 全雙工uart串行通道 低功耗空閑和掉電模式 掉電后中斷可喚醒 看門狗定時(shí)器 雙數(shù)據(jù)指針 靈活的isp編程(字或字節(jié)

16、模式) 4.0-5.5v電壓工作范圍2.1.2最小單片機(jī)系統(tǒng)下圖是本設(shè)計(jì)中用到的單片機(jī)最小系統(tǒng):圖2.2單片機(jī)最小系統(tǒng)系統(tǒng)采用12mhz晶振,由于系統(tǒng)對(duì)晶振要求不高,可以根據(jù)情況適當(dāng)改變晶振頻率;另外系統(tǒng)的復(fù)位可上電復(fù)位,也可手動(dòng)復(fù)位。2.2溫度傳感器溫度的測(cè)量是從金屬(物質(zhì))的熱脹冷縮開始。水銀溫度計(jì)至今仍是各種溫度測(cè)量的計(jì)量標(biāo)準(zhǔn)??墒撬娜秉c(diǎn)是只能近距離觀測(cè),而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計(jì)和金屬簧片溫度計(jì),它們雖然沒(méi)有毒性,但測(cè)量精度很低,只能作為一個(gè)概略指示。不過(guò)在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中為了配合遠(yuǎn)傳儀表指示,出現(xiàn)了許多不同的溫度檢測(cè)方法,常用

17、的有電阻式、熱電偶式、pn結(jié)型、輻射型、光纖式及石英諧振型等。它們都是基于溫度變化引起其物理參數(shù)(如電阻值,熱電勢(shì)等)的變化的原理。隨著大規(guī)模集成電路工藝的提高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。本設(shè)計(jì)將要用到的是ds18b20溫度傳感器。2.2.1溫度傳感器簡(jiǎn)介測(cè)量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展主要經(jīng)過(guò)了三個(gè)階段:(1)傳統(tǒng)的分立式溫度傳感器(含敏感元件)(2)模擬集成溫度傳感器控制器(3)智能溫度傳感器。模擬集成傳感器是采用硅半導(dǎo)體集成工藝而制成的,因此亦稱硅傳感器或單片集成溫度傳感器。模擬集成溫度傳感器是在20 世紀(jì)80 年代問(wèn)世的,它是將溫度傳感器集成在一個(gè)芯片上,可完成溫度

18、測(cè)量及模擬信號(hào)輸出功能的專用ic。模擬集成溫度傳感器的主要特點(diǎn)是功能單一(僅測(cè)量溫度)、測(cè)溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測(cè)溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡(jiǎn)單。它是目前在國(guó)內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有ad590、ad592、tmp17、lm135 等。模擬集成溫度控制器主要包括溫控開關(guān)和可編程溫度控制器,典型產(chǎn)品有l(wèi)m56、ad22105 和max6509。某些增強(qiáng)型集成溫度控制器例如(tc652/653)中還包含了刀轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時(shí)并不受微處理器的控制,這是二者的主要

19、區(qū)別。智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20 世紀(jì)90 年代中期問(wèn)世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ate)的結(jié)晶。目前,國(guó)際上已開發(fā)出多種智能溫度傳感器系列產(chǎn)品。智能溫度傳感器內(nèi)部都包含溫度傳感器、a/d 轉(zhuǎn)換器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(cpu)、隨機(jī)存取存儲(chǔ)器(ram)和只讀存儲(chǔ)器(rom)。智能溫度傳感器的特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(mcu);并且它是在硬件的基礎(chǔ)上通過(guò)軟件來(lái)實(shí)現(xiàn)測(cè)試功能的,其智能化程度也取決于軟件的開發(fā)水平。目前,國(guó)際上新型溫度傳感器正從模擬式向數(shù)字式、從集成化向智能

20、化和網(wǎng)絡(luò)化的方向飛速發(fā)展。數(shù)字式溫度傳感器ds18b20 正是朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測(cè)溫系統(tǒng)等高科技的方向迅速發(fā)展。因此,智能溫度傳感器ds18b20 作為溫度測(cè)量裝置己廣泛應(yīng)用于人民的日常生活和工農(nóng)業(yè)生產(chǎn)中。采用溫度芯片ds18b20測(cè)量溫度,可以體現(xiàn)系統(tǒng)芯片化這個(gè)趨勢(shì)。部分功能電路的集成,使總體電路更簡(jiǎn)潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的干擾,提高測(cè)量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢(shì)。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢(shì)。根據(jù)其時(shí)序特點(diǎn)給出了ds1820和at89s51單

21、片機(jī)構(gòu)成的溫度測(cè)控系統(tǒng)的應(yīng)用電路如下:圖2.3 ds18b20典型應(yīng)用ds18b20采集到的模擬信號(hào)通過(guò)內(nèi)部轉(zhuǎn)換為數(shù)字信號(hào),通過(guò)一總線dq與單片機(jī)直接通信,無(wú)需a/d轉(zhuǎn)換,單片機(jī)從其寄存器中直接提取數(shù)據(jù)再做相應(yīng)處理后,交由無(wú)線模塊發(fā)射。2.2.2 ds18b20性能特點(diǎn)與內(nèi)部結(jié)構(gòu)1、 ds18b20的性能特點(diǎn)如下:1) 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;2) 多個(gè)ds18b20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;3) 無(wú)須外部器件;4) 可通過(guò)數(shù)據(jù)線供電,電壓范圍為3.05.5v;5) 零待機(jī)功耗;6) 溫度以3位數(shù)字顯示;7) 用戶可定義報(bào)警設(shè)置;8) 報(bào)警搜索命令識(shí)別并標(biāo)志超

22、過(guò)程序限定溫度(溫度報(bào)警條件)的器件;9) 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 2、 ds18b20的外形及管腳排列如下圖2-4: 圖2.4 ds18b20封裝3、ds18b20內(nèi)部結(jié)構(gòu)主要由六分組成:1) 64位光刻rom。開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前56位的crc校驗(yàn)碼,這也是多個(gè)ds18b20可以采用一線進(jìn)行通信的原因。64位閃速rom的結(jié)構(gòu)如下:8b檢驗(yàn)crc48b序列號(hào)8b工廠代碼(10h) msb lsb msb lsb msb lsb圖2.5 ds18b20內(nèi)部結(jié)構(gòu)2) 非揮發(fā)的溫度報(bào)警觸發(fā)器th

23、和tl,可通過(guò)軟件寫入用戶報(bào)警上下限值。3) 高速暫存存儲(chǔ),可以設(shè)置ds18b20溫度轉(zhuǎn)換的精度。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é)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è)試模式

24、。bye0溫度測(cè)量值lsb(50h)byte1溫度測(cè)量值msb(50h)e2prombyte2th高溫寄存器-th高溫寄存器byte3tl低溫寄存器-tl 低溫寄存器byte4配位寄存器-配位寄存器byte5預(yù)留(ffh)byte6預(yù)留(0ch)byte7預(yù)留(ioh)byte8循環(huán)冗余碼校驗(yàn)(crc)圖2.6 ds18b20內(nèi)部存儲(chǔ)器結(jié)構(gòu)ds18b20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),r1和r0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。tm r1r0 1 1 1 1 1圖2.7 ds18b20字節(jié)定義由表2.1可見(jiàn),分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)

25、間權(quán)衡考慮。高速暫存ram的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的crc碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625lsb形式表示。當(dāng)符號(hào)位s0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位s1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2.2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。表2.1 ds

26、18b20溫度轉(zhuǎn)換時(shí)間表r1r0分辨率/位溫度最大轉(zhuǎn)向時(shí)間/ms00993.750110187.510113751112750表2.2一部分溫度對(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

27、 1111 0101 1110ff5eh-25.06251111 1110 0110 1111fe6fh-551111 1100 1001 0000fc90h4) crc的產(chǎn)生在64 b rom的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(crc)。主機(jī)根據(jù)rom的前56位來(lái)計(jì)算crc值,并和存入ds18b20中的crc值做比較,以判斷主機(jī)收到的rom數(shù)據(jù)是否正確。另外,由于ds18b20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)ds18b20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化ds18b20(發(fā)復(fù)位脈沖)發(fā)rom功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。5)寄生電源寄生電源

28、有二極管vd1、vd2、寄生電容c和電源檢測(cè)電路組成,如圖所示。電源檢測(cè)電路用于判定供電方式。ds18b20有兩種供電方式:3.05.5v的電源供電方式和寄生電源供電方式(直接從數(shù)據(jù)線獲取電源)。若采用外部電源給器件供電,外部電源接vcc引腳通過(guò)vd2向器件供電,如圖所示。寄生電源供電時(shí),vcc端接地,器件從單線總線上獲取電源,如圖所示。在i/o線呈低電平時(shí),改由電容c上的典雅繼續(xù)向器件供電。該寄生電源的優(yōu)點(diǎn):第一,檢測(cè)遠(yuǎn)程溫度時(shí)無(wú)需本地電源;第二、缺少正常電源時(shí)也能讀rom。外部電源供電圖2.8外部電源供電寄生電源供電圖2.9寄生電源供電2.3 無(wú)線通信模塊介紹隨著我國(guó)國(guó)際地位和科研水平的不

29、斷提高,無(wú)需導(dǎo)線連接的無(wú)線數(shù)據(jù)系統(tǒng)對(duì)用戶有著極大的吸引力。無(wú)線數(shù)據(jù)系統(tǒng)采用了能在局域范圍內(nèi)無(wú)線傳輸信息的數(shù)字網(wǎng)絡(luò),在不改動(dòng)原有設(shè)施的前提下,將有效的數(shù)據(jù)信息準(zhǔn)確、快速和安全地傳送給與會(huì)者。因此,無(wú)線數(shù)據(jù)系統(tǒng)設(shè)備的設(shè)計(jì)得到了國(guó)內(nèi)外相關(guān)領(lǐng)域廠商的廣泛關(guān)注,未來(lái),無(wú)線數(shù)據(jù)系統(tǒng)很有可能代替現(xiàn)有的有線數(shù)據(jù)系統(tǒng),成為今后數(shù)據(jù)傳輸?shù)闹髁?。要了解無(wú)線數(shù)據(jù)傳輸, 就得先了解無(wú)線傳輸技術(shù)。 下面大概介紹一下幾種常見(jiàn)的無(wú)線傳輸技術(shù):1.u段無(wú)線傳輸技術(shù)超高頻(uhf -ultra high frequency)。uhf波段則是指頻率為3003000mhz的特高頻無(wú)線電波。具有特點(diǎn)是:1)穩(wěn)定性高2)寫距離遠(yuǎn)3)訊速

30、率較高但u段技術(shù)由于頻段多、使用范圍廣,容易串頻和被聽(tīng),保密性較差。2.紅外線技術(shù)紅外通訊技術(shù)的特點(diǎn):1)它是目前在世界范圍內(nèi)被廣泛使用的一種無(wú)線連接技術(shù),被眾多的硬件和軟件平臺(tái)所支持;2)通過(guò)數(shù)據(jù)電脈沖和紅外光脈沖之間的相互轉(zhuǎn)換實(shí)現(xiàn)無(wú)線的數(shù)據(jù)收發(fā)。3)主要是用來(lái)取代點(diǎn)對(duì)點(diǎn)的線纜連接;4)具有不能穿透障礙物的特性,有效保障了會(huì)議信息的安全與保密;5)安裝方便快捷,成本低;當(dāng)然我們還是需要注意一下紅外線技術(shù)的一些局限性。在進(jìn)行系統(tǒng)安裝時(shí),設(shè)備距離紅外信號(hào)收發(fā)器的距離通常比較短,大都在10米內(nèi),且應(yīng)遠(yuǎn)離其它紅外光源(如日光燈,等離子屏等),以避免干擾。3.wap技術(shù) wap是wireless ap

31、plication protocol(即無(wú)線應(yīng)用協(xié)議)的縮寫。無(wú)線應(yīng)用協(xié)議也稱為無(wú)線應(yīng)用程序協(xié)議,目前應(yīng)用廣泛,是在數(shù)字移動(dòng)電話、internet及其他個(gè)人數(shù)字助理機(jī)pda、計(jì)算機(jī)應(yīng)用之間進(jìn)行通信的開放性全球標(biāo)準(zhǔn)。在工作方面,對(duì)于日理萬(wàn)機(jī)、經(jīng)常與時(shí)間競(jìng)賽的商務(wù)人士,wap更能為用戶提供市場(chǎng)上最新的第一手信息,完全配合用戶的業(yè)務(wù)和工作需要。在生活方面,無(wú)論用戶身在何處,都可以通過(guò)wap上網(wǎng),進(jìn)行各項(xiàng)線上銀行服務(wù),在娛樂(lè)方面,wap也為用戶提供了嶄新的消費(fèi)模式,無(wú)論您走到那里,都可以隨心所欲地與朋友甚至其他wap用戶,一起上網(wǎng)、玩游戲,一起分享wap的樂(lè)趣。bosch的dcn無(wú)線討論系統(tǒng)采用的就是

32、該無(wú)線技術(shù)。 通過(guò)倍受贊譽(yù)的無(wú)線介入點(diǎn)能夠?yàn)榉綀A40米(164英尺)左右的空間提供穩(wěn)固如一的強(qiáng)大連接。wap既可部署在會(huì)議室中心以獲得最佳的覆蓋率,也可以移動(dòng)到會(huì)議室中最適合的位置。盡管wap有其強(qiáng)大的優(yōu)勢(shì),但是也必須指出wap在技術(shù)角度上的局限性,主要存在于兩個(gè)方面:1)wap設(shè)備和wap承載網(wǎng)絡(luò): 2)wap設(shè)備受cpu、隨機(jī)訪問(wèn)存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)和處理速度的限制。3)wap承載網(wǎng)絡(luò)是低功率的網(wǎng)絡(luò),一般在辦公環(huán)境中的帶寬多為11m,。wap承載網(wǎng)絡(luò)的固有特性是可靠性不高、穩(wěn)定性不高和不可。4.2.4g頻射技術(shù)2.4g無(wú)線技術(shù),其頻段處于2.405ghz-2.485ghz

33、之間。所以簡(jiǎn)稱為2.4g無(wú)線技術(shù)。這個(gè)頻段里是國(guó)際規(guī)定的免費(fèi)頻段,是不需要向國(guó)際相關(guān)組織繳納任何費(fèi)用的。這就為2.4g無(wú)線技術(shù)可發(fā)展性提供了必要的有利條件。而且2.4g無(wú)線技術(shù)不同于之前的27mhz無(wú)線技術(shù),它的工作方式是全雙工模式傳輸,在抗干擾性能上要比27mhz有著絕對(duì)的優(yōu)勢(shì)。這個(gè)優(yōu)勢(shì)決定了它的超強(qiáng)抗干擾性以及最大可達(dá)10米的傳輸距離。此外2.4g無(wú)線技術(shù)還擁有理論上2m的數(shù)據(jù)傳輸速率,比藍(lán)牙的1m理論傳輸速率提高了一倍。這就為以后的應(yīng)用層提高了可靠的保障。2.4g有著自己獨(dú)到的優(yōu)勢(shì)所在。相比藍(lán)牙它的產(chǎn)品制造成本更低,提供的數(shù)據(jù)傳輸速率更高。相比同樣免費(fèi)的27mhz無(wú)線技術(shù)它的抗干擾性、最

34、大傳輸距離以及功耗都遠(yuǎn)遠(yuǎn)超出。據(jù)上介紹,因此這里就運(yùn)用了無(wú)線通信模塊(newmsg-rf905)。newmsg-rf905芯片是挪威nordic 公司推出的的單片射頻收發(fā)器。芯片工作電壓dc1.93.6v,32 引腳qfn 封裝,內(nèi)置硬件crc 檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制, 工作在433/868/915mhz 三個(gè)ism 頻段,頻段之間收發(fā)模式切換時(shí)間650us。其引腳說(shuō)明如表1所示:表2.3引腳說(shuō)明針號(hào)功能說(shuō)明縮寫1電源3.3v3.6vdcvcc2tx_en1為tx模式,tx_en0為rx模式tx_en3發(fā)送或接收數(shù)據(jù)使能trx_ce4芯片上電pwr_up5時(shí)鐘輸出(不用)uclk6載波檢測(cè)

35、cd7地址匹配am8接收或發(fā)送數(shù)據(jù)完成dr9spi輸出miso10spi輸入mosi11spi時(shí)鐘sck12spi使能csn13接地gnd14接地gnd2.3.1 newmsg-rf905工作模式newmsg-rf905由 pwr 、trx_ce、tx_en組成控制四種工作模式:兩種活動(dòng)rx/tx模式和兩種節(jié)電模式。(1)shockburst 模式shockbursttm收發(fā)模式下,使用片內(nèi)的先放先出堆棧區(qū),數(shù)據(jù)低速?gòu)奈⒖刂破魉腿耄咚侔l(fā)射,這樣可以盡量節(jié)能,因此,使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率,與射頻協(xié)議相關(guān)的所有高速信號(hào)處理都在片內(nèi)進(jìn)行,這種做法有三大好處:盡量節(jié)能;低

36、的系統(tǒng)費(fèi)用;數(shù)據(jù)在空中停留的時(shí)間短,抗干擾性高。在shockbursttm收發(fā)模式下,rf905自動(dòng)處理字頭和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ā)送完畢。(2) 節(jié)能模式rf905的節(jié)能模式包括關(guān)機(jī)模式和節(jié)能模式。在關(guān)機(jī)模式,rf905的工作電流最小,一般為2.5ua。進(jìn)入關(guān)機(jī)模式后,rf905保持配置字中的內(nèi)容,但不會(huì)接收或發(fā)送任何數(shù)據(jù)。空閑模式有利于減小工作電流,其從空閑模式到發(fā)送模式或接收模式的啟動(dòng)時(shí)間也比較短。在空閑模式下,rf905內(nèi)部的部分晶體振蕩器處于工作狀態(tài)。2.3.2 new

37、msg-rf905寄存器配置newmsg-rf905的所有配置都通過(guò)spi接口進(jìn)行。spi接口由5個(gè)寄存器組成,一條spi指令用來(lái)決定進(jìn)行什么操作。spi接口只有在掉電模式和standby模式是激活的。1)、狀態(tài)寄存器(status-register)寄存器包含數(shù)據(jù)就緒dr和地址匹配am狀態(tài)。2)、rf配置寄存器(rf-configuration register)寄存器包含收發(fā)器的頻率、輸出功率等配置信息。3)、發(fā)送地址(tx-address)寄存器包含目標(biāo)器件地址,字節(jié)長(zhǎng)度由配置寄存器設(shè)置。4)、發(fā)送有效數(shù)據(jù)(tx-payload)寄存器包含發(fā)送的有效shockburst數(shù)據(jù)包數(shù)據(jù),字節(jié)長(zhǎng)

38、度由配置寄存器設(shè)置。5)、接收有效數(shù)據(jù)(tx-payload)寄存器包含接收到的有效shockburst數(shù)據(jù)包數(shù)據(jù),字節(jié)長(zhǎng)度由配置寄存器設(shè)置。在寄存器中的有效數(shù)據(jù)由數(shù)據(jù)準(zhǔn)備就緒dr指示。射頻寄存器的各位的長(zhǎng)度是固定的。然而,在shockbursttm收發(fā)過(guò)程中,tx_payload、rx_payload、tx_address和rx_address 4個(gè)寄存器使用字節(jié)數(shù)由配置字決定。rf905進(jìn)入關(guān)機(jī)模式或空閑模式時(shí),寄存器中的內(nèi)容保持不變。newmsg-rf905與at89s51單片機(jī)構(gòu)成的溫度測(cè)控系統(tǒng)的應(yīng)用電路如下:圖2.10 newmsg-nrf905發(fā)射與接收電路它采用spi接口與ats

39、89s51串行通信,ats89s51可以用一般i/o口來(lái)spi 接口,只需添加代碼模擬spi時(shí)序即可。本設(shè)計(jì)就是采用普通i/o口模擬spi接口的。2.4 鍵盤模塊基于本系統(tǒng)按鍵較少,采用矩陣式鍵盤,電路復(fù)雜且會(huì)加大編程難度。所以這里采用獨(dú)立式按鍵電路,每個(gè)按鍵單獨(dú)占有一根i/o接口線,每個(gè)i/o口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。電路設(shè)計(jì)簡(jiǎn)單,且編程極其容易采用獨(dú)立式按鍵電路。按鍵硬件設(shè)計(jì)本設(shè)計(jì)中,按鍵基本有兩種功能,一是完成溫度上限的設(shè)定,二是完成測(cè)量點(diǎn)的選擇,二者工作不沖突,故為節(jié)省資源,可利用中斷的不同讓按鍵工作于兩種模式下,即采用按鍵復(fù)用。這樣并能實(shí)現(xiàn)按鍵功能實(shí)時(shí)性的要

40、求。其硬件電路如下所示:圖2.11 按鍵電路如圖中所示,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ù)期功能。2.5 顯示報(bào)警模塊本系統(tǒng)中要求顯示數(shù)據(jù)簡(jiǎn)單且亮度較大, 采用lcd顯示價(jià)格較高,且在強(qiáng)光下亮度一般不足。而采用led顯示器在亮度、可視角度和刷新速率等方面,都更具優(yōu)勢(shì)。在強(qiáng)光下也可以照看不誤,并且對(duì)溫度適應(yīng)性較強(qiáng)。由于單片機(jī)的i/o有限,為了更好的分配資源,顯示模塊要求用串行傳輸。m

41、ax7219 是maxim 公司的7 段共陰極led 數(shù)碼管專用驅(qū)動(dòng)器,每一片max7219 最多可驅(qū)動(dòng)8 位led,完全滿足本設(shè)計(jì)的要求,且集bcd 碼譯碼器、多路掃描器、段驅(qū)動(dòng)和位驅(qū)動(dòng)電路于一體,內(nèi)含88位雙口靜態(tài)sram,可保存8 位led 數(shù)據(jù),不僅使用方便,連線簡(jiǎn)單,而且還可串聯(lián),大大簡(jiǎn)化了硬件電路設(shè)計(jì),減少軟件的工作量。max7219直接與單片機(jī)相連如下圖所示:圖2.12 max7219顯示驅(qū)動(dòng)電路max7219 具有典型的三線串行接口, 命令與數(shù)據(jù)組成16位字串,從dout 引腳輸出,當(dāng)每一個(gè)clk 脈沖上升沿到來(lái)時(shí),串行數(shù)據(jù)從din 引腳進(jìn)入max7219 內(nèi)部移位寄存器,最先

42、收到的是高位。在第16個(gè)clk 上升沿,load 引腳若變?yōu)楦唠娖?,則數(shù)據(jù)就會(huì)被鎖存到內(nèi)部寄存器中。下圖為max7219 的時(shí)序圖。圖2.13 max7219時(shí)序圖如圖所示,din 為串行數(shù)據(jù)輸入端,當(dāng)clk 為上升沿時(shí),數(shù)據(jù)載入16位內(nèi)部移位寄存器;clk 為串行時(shí)鐘輸入端,最大工作頻率為10 mhz;load為片選端,當(dāng)load 為低電平時(shí),該器件接收來(lái)自din的數(shù)據(jù),接收完畢,load 返回高電平時(shí),接收的數(shù)據(jù)將鎖定;dig0dig7 為吸收顯示器共陰極電流的位驅(qū)動(dòng)線,其最大值??蛇_(dá)500 ma,在關(guān)閉狀態(tài)時(shí),輸出v;segasegg 和dp 為驅(qū)動(dòng)顯示器7 段及小數(shù)點(diǎn)的輸出電流,約40

43、 ma,可軟件調(diào)整,關(guān)閉狀態(tài)時(shí),接入gnd;dout 為串行數(shù)據(jù)輸出端,通常直接接入下一片max7219 的din 端。本設(shè)計(jì)中未用到dout端。通過(guò)v+ 引腳和iset 引腳之間所接的外部電阻rset控制max7219,rset越大,段電流越小,但是其為9 530 。此時(shí)為典型段電流37 ma。為了減少外界干擾,在max7219 的v+引腳與gnd 引腳之間接一個(gè)0.1 f的滌綸電容和一只10 f 的鉭電容。max7219 所能直接驅(qū)動(dòng)的是共陰極小電流led 顯示器,它不能直接驅(qū)動(dòng)共陽(yáng)極led 顯示器,否則會(huì)損壞器件。為了報(bào)警達(dá)到目的,直到工作人員采用相應(yīng)措施改善溫度條件,故采用了蜂鳴器置的

44、方法報(bào)警。其硬件電路如下所示:圖2.14 報(bào)警電路當(dāng)溫度超過(guò)上限時(shí),置位p37使報(bào)警電路工作,可通過(guò)開關(guān)s0關(guān)掉報(bào)警,但當(dāng)報(bào)警作用起到后,為了不讓它在處理溫度問(wèn)題同時(shí)不繼續(xù)報(bào)警,故加上一個(gè)單刀雙擲開關(guān)和一個(gè)反指示燈,可人工先擇報(bào)警狀態(tài),或?yàn)榉澍Q器或?yàn)橹甘緹艄ぷ鳌?.6 其它模塊電源模塊本系統(tǒng)中除了nrf905使用3.3v電壓外,其它均采用5v電壓。主要是因?yàn)閚rf905電源電壓是3.3v 3.6vdc ,而在3.3v時(shí)性能最佳??紤]到系統(tǒng)的特點(diǎn),采用220v交流供電,故需要以下電壓變換:圖2.15 220v交流變5v直流電源電路圖2.16 5v直流變3.3v直流第三章 軟件設(shè)計(jì)本章主要介紹單片

45、機(jī)通過(guò)nrf905模塊及ds18b20檢測(cè)溫度的軟件實(shí)現(xiàn)方法,包括溫度的采集,采樣點(diǎn)的識(shí)別,數(shù)據(jù)的處理及發(fā)射與接收,以及溫度的顯示的控制。3.1 主程序流程設(shè)計(jì)中要完成按鍵設(shè)定溫度報(bào)警上限值(按鍵模式1),按鍵更改顯示不同測(cè)量點(diǎn)的溫度(按鍵模式2),但單片機(jī)不能一直處于查詢狀態(tài),那樣太浪費(fèi)單片機(jī)資源,又不利于系統(tǒng)整體流程的復(fù)雜程度,故采用了中斷方式??紤]到本系統(tǒng)的開關(guān)機(jī)次數(shù)不會(huì)太多,為了節(jié)省成本,未對(duì)單片機(jī)rom區(qū)的資源進(jìn)行擴(kuò)展,而溫度的上下限值保存于ram區(qū)沒(méi)定的變量中,系統(tǒng)開機(jī)或重啟時(shí)要首先對(duì)溫度上下限進(jìn)行設(shè)定。主要包括發(fā)射端與接收端主程序如下:3.1.1系統(tǒng)溫度采集終端主程序?qū)崿F(xiàn)發(fā)射端的

46、主要任務(wù)就是溫度采集,并通過(guò)無(wú)線模塊發(fā)送出去,并對(duì)讀取的溫度值了相應(yīng)處理,分離出小數(shù)、整數(shù),加入了測(cè)量點(diǎn)代碼。具體流程如下:圖3.1 溫度采集端主程序流程圖3.1.2系統(tǒng)主機(jī)終端主程序?qū)崿F(xiàn)接收端主要完成把發(fā)送端發(fā)送的數(shù)據(jù)接收,并送到max7219顯示出來(lái),中途接收按鍵中斷,設(shè)定溫度報(bào)警上限值(按鍵模式1),更改顯示不同測(cè)量點(diǎn)溫度(按鍵模式2),模式的切換通過(guò)不同的外部中斷來(lái)區(qū)別。圖3 .2 系統(tǒng)主機(jī)終端主程序流程圖3.2 溫度的采集及數(shù)據(jù)的處理在本設(shè)計(jì)中采用ds18b20作為溫度采集設(shè)備,它與單片機(jī)通過(guò)一總線通信,有嚴(yán)格的時(shí)序要求,為了方便接收端數(shù)據(jù)的處理,溫度采集后并對(duì)其數(shù)據(jù)進(jìn)行了處理,并加

47、入測(cè)量點(diǎn)識(shí)別碼;故其軟件設(shè)計(jì)過(guò)程主要包括溫度的讀取與數(shù)的處理,具體流程如下所示:3.2.1 ds18b20初始化圖3.3 溫度采集初始化流程圖如上圖所示 ds18b20的初始化要完成以下工作:(1) 先設(shè)置好初始化成功標(biāo)志,將數(shù)據(jù)線置高電平“1”。(2) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短)(3) 數(shù)據(jù)線拉到低電平“0”。(4) 延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)產(chǎn)生復(fù)位脈沖。(5) 數(shù)據(jù)線拉到高電平“1”,釋放總線。(6) 延時(shí)等待(如果初始化成功則在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由ds18b20所返回的低電平“0”。據(jù)該狀態(tài)可以來(lái)確定初始化成功與否。)3.

48、2.2數(shù)據(jù)的讀取與處理由于設(shè)計(jì)中選用的的溫度傳感器芯片要寫入命令字來(lái)控制相應(yīng)的動(dòng)作,且有嚴(yán)格的時(shí)序要求,當(dāng)然需要有相應(yīng)的子程序;由于本設(shè)計(jì)中要求對(duì)不同的溫度點(diǎn)加以區(qū)別,并顯示出來(lái),故采用自行給編碼比較容易實(shí)現(xiàn),這里的編碼必須由溫度采集點(diǎn)給出,才能達(dá)到區(qū)別的目的,所以在發(fā)射擊的溫度值中直接加入相應(yīng)編碼,與溫度值一同發(fā)出,并在接收端解碼、顯示出其編碼信息,與其溫度值相對(duì)應(yīng)的出現(xiàn)在led顯示屏上。本文此處介紹ds18b20讀一字節(jié)子程序,寫一字節(jié)子程序,和讀取溫度值及數(shù)據(jù)處理子程序。以下是用于向ds18b20寫寫一字節(jié)子程序流程: 圖3.4 ds18b20寫命令字的寫字節(jié)子程序流程圖如上圖所示,ds

49、18b20的寫時(shí)序有嚴(yán)格的要求ds18b20的寫操作。(1) 數(shù)據(jù)線先置低電平“0”,寫時(shí)序開始。(2) 延時(shí)確定的時(shí)間為15微秒。(3) 把要寫入的數(shù)據(jù)按從低位到高位的順序按位發(fā)送字節(jié)。(4) 延時(shí)時(shí)間為60到120微秒,使寫時(shí)間片結(jié)束。(5) 將數(shù)據(jù)線拉到高電平釋放總線。(6) 重復(fù)上(1)到(6)的操作到所有的字節(jié)全部發(fā)送完。(7) 最后將數(shù)據(jù)線拉高,返回。下是從ds18b20中讀取一個(gè)字節(jié)子程序: 圖3.5 ds18b20中讀取一個(gè)字節(jié)子程序流程圖如上圖所示,讀操作同樣也有嚴(yán)格的時(shí)序要求ds18b20的讀操作(1)將數(shù)據(jù)線拉低“0”,讀時(shí)間片開始。(2)在1到15微秒內(nèi),數(shù)據(jù)線拉高,釋

50、放總線,讀走數(shù)據(jù)。(3)按先低位后高位的順序依次讀入8位。(4)將數(shù)據(jù)線拉高“1”。(5)延時(shí)至60微秒使讀時(shí)間片結(jié)束。(6)拉高返回。以下是讀取溫度值及數(shù)據(jù)處理子程序圖3.6 讀取溫度值及數(shù)據(jù)處理子程序流程圖如上圖所示,讀取溫度值及數(shù)據(jù)處理應(yīng)包括以下過(guò)程:(1)對(duì)ds18b20初始化。(2)跳過(guò)讀序列號(hào),并啟動(dòng)溫度轉(zhuǎn)換。(3)再對(duì)ds18b20初始化。(4)跳過(guò)讀序列號(hào),并寫入讀取溫度命令字。(5)立刻讀取溫度值。(6)數(shù)據(jù)處量,包括分離出小數(shù)部分,整數(shù)部分,以及加入編碼部分。3.3 無(wú)線通信子程序本設(shè)計(jì)中采用了newmsg-nrf905射頻模塊完成數(shù)據(jù)傳輸。單片機(jī)通過(guò)spi接口與newms

51、g-nrf905相接,并完成對(duì)其控制。故軟件設(shè)計(jì)中主要包括newmsg-nrf905初始化,寄存器的配置,發(fā)射與接收程序,其具體流程分別如下所示:3.3.1 newmsg-nrf905初始化初始化的過(guò)程就是對(duì)無(wú)線模塊進(jìn)配置的過(guò)程,其中相關(guān)配置的參數(shù)見(jiàn)附錄。以下是無(wú)線模塊的初始化流程:圖3.7 無(wú)線模塊的初始化流程圖由于無(wú)線模塊是通過(guò)spi與單片機(jī)進(jìn)行通信的,所以要先打開spi接口,在循環(huán)寫入相關(guān)的十字節(jié)的配置信息,寫入完成后,關(guān)閉spi,以便其它操作。3.3.2寄存器的配置如上所述,無(wú)線模塊是通過(guò)spi與單片機(jī)進(jìn)行通信的,所有配置字都是通過(guò)spi接口送給rf905。必須進(jìn)行spi讀寫才能完成對(duì)

52、無(wú)線模塊的相關(guān)配置,以及數(shù)據(jù)的讀取。下面要先介紹spi的讀寫操作,再介紹相關(guān)配置字的選擇。配置字都是通過(guò)spi接口送給rf905。下面是spi的寫子程序流程圖:圖3.8 spi的寫子程序流程圖步驟一:mosi線準(zhǔn)備好需要發(fā)送的數(shù)據(jù)位。 步驟二:sck置高,器件讀取mosi線上的數(shù)據(jù)。 步驟三:sck置低,準(zhǔn)備發(fā)送數(shù)據(jù)的下一位。 以上步驟循環(huán)執(zhí)行8次,通過(guò)spi向器件發(fā)送數(shù)據(jù)完成。單片機(jī)也是通過(guò)spi接口從rf905中讀取數(shù)據(jù)的,下面是spi的讀子程序流程圖:圖3.9 spi的讀子程序流程圖步驟一:miso線準(zhǔn)備好需要讀取的數(shù)據(jù)位。步驟二:sck置高,主機(jī)讀取miso線上的數(shù)據(jù)。步驟三:sck置

53、低,準(zhǔn)備接收數(shù)據(jù)的下一位。以上步驟循環(huán)執(zhí)行8次,通過(guò)spi向器件發(fā)送數(shù)據(jù)完成!3.3.3數(shù)據(jù)的發(fā)送與接收 所有的spi操作都是為了數(shù)據(jù)的接收與發(fā)送,這里介紹數(shù)據(jù)通過(guò)無(wú)線模塊發(fā)送接收的軟件實(shí)現(xiàn)。下面是通過(guò)無(wú)線模塊接收兩個(gè)字節(jié)的子程序流程圖:圖3.10 無(wú)線模塊接收兩個(gè)字節(jié)的子程序流程圖步驟一:trx_ce=0; 必須將此引腳置低,使905進(jìn)入standby模式。步驟二:發(fā)送rrp指令。 步驟三:循環(huán)調(diào)用spiread函數(shù),讀取接收到的數(shù)據(jù)。 步驟四:等待dr和am引腳復(fù)位為低電平。 (中間夾有csn電平變化)。數(shù)據(jù)包接收完成! 下面是通過(guò)無(wú)線模塊發(fā)送兩個(gè)字節(jié)的子程序流程圖:圖3.11 無(wú)線模塊發(fā)

54、送兩個(gè)字節(jié)的子程序流程圖步驟一:通過(guò)spiwrite 函數(shù)發(fā)送wtp命令,準(zhǔn)備寫入tx有效數(shù)據(jù)。步驟二:循環(huán)調(diào)用spiwrite向tx-payload寄存器寫入tx有效數(shù)據(jù)。(中間夾有csn電平變化)步驟三:延時(shí)。步驟四:通過(guò)spiwrite函數(shù)發(fā)送wta命令,準(zhǔn)備寫入tx地址。步驟五:循環(huán)調(diào)用spiwrite向tx-address寄存器寫入tx地址。步驟六:trx_ce=1; 開始發(fā)送數(shù)據(jù)。延時(shí),nrf905數(shù)據(jù)發(fā)送完成。3.4 溫度的顯示模塊同樣節(jié)省了i/o接口資源,max7219 和at89s51 采用串行方式傳輸數(shù)據(jù), 數(shù)據(jù)格式為16 位,發(fā)送到din 端的串行數(shù)據(jù)在每個(gè)clk 的上升

55、沿移至內(nèi)部16 位移位寄存器中,然后在load 的上升沿,將數(shù)據(jù)鎖存到數(shù)字或控制寄存器中。通過(guò)移位寄存器傳送din 端的數(shù)據(jù), d8d11 是寄存器地址;d0d7 為數(shù)據(jù);d12d15為無(wú)關(guān)位;max7219 接收的第1 位為d15。max7219 中共有14個(gè)數(shù)據(jù)和控制寄存器。max7219 與at89s51 的編程, 主要為初始化子程序。程序流程如下:圖3.12 max7219初始化子程序流程圖如上圖所示,所有向max7219中寫的數(shù)據(jù)都是din準(zhǔn)備好,在clk上升沿時(shí)送入相應(yīng)寄存器。數(shù)據(jù)送到相應(yīng)寄存器后,其輸出就會(huì)有相應(yīng)動(dòng)作。3.5 按鍵子程序另外通過(guò)中斷來(lái)設(shè)定溫度報(bào)警上限值(按鍵模式1);通過(guò)按鍵復(fù)用更改顯示不同測(cè)量點(diǎn)的溫度(按鍵模式2);其軟件設(shè)計(jì)流程如下:按鍵模式1:圖3.13 按鍵設(shè)定溫度報(bào)警上限值子程序流程圖為了利用外部中斷的不同來(lái)區(qū)別不同的模式,故采用了單獨(dú)的觸發(fā)按鍵,本模式由外部中斷0(int0)端觸發(fā),另外,為了調(diào)節(jié)的需要,設(shè)置了上調(diào)、下調(diào)改變調(diào)節(jié)位按鍵,另外為了系統(tǒng)使用的方便,專門增加的中斷結(jié)束按鍵。按鍵模式2:圖314 溫度檢測(cè)點(diǎn)選擇子程序流程圖同樣為了

溫馨提示

  • 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論