無(wú)線水溫檢測(cè)系統(tǒng)的設(shè)計(jì)_第1頁(yè)
無(wú)線水溫檢測(cè)系統(tǒng)的設(shè)計(jì)_第2頁(yè)
無(wú)線水溫檢測(cè)系統(tǒng)的設(shè)計(jì)_第3頁(yè)
無(wú)線水溫檢測(cè)系統(tǒng)的設(shè)計(jì)_第4頁(yè)
無(wú)線水溫檢測(cè)系統(tǒng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(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、浙江水利水電??茖W(xué)校畢業(yè)論文zhejiang water conservancy and hydropower collegez畢業(yè)論文題目: 無(wú)線水溫檢測(cè)系統(tǒng) 系 (部): 電氣系 專業(yè)班級(jí): 電子信息工程技術(shù) 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 2013年 4月 4日摘 要溫度檢測(cè)在日常生活、工作和工程實(shí)踐中具有重要的應(yīng)用。隨著生活水平的提高和科學(xué)技術(shù)的進(jìn)步,無(wú)論是工業(yè)還是農(nóng)業(yè)或者是日常生活中對(duì)溫度檢測(cè)的要求越來(lái)越高。不僅要做到低耗,還要求進(jìn)行一定距離的傳輸?;谶@點(diǎn)我們運(yùn)用兩片主控芯片,一個(gè)溫度傳感器,及數(shù)碼管顯示部分,解決了這個(gè)日常生活工作中的問(wèn)題。出于低功耗本設(shè)計(jì)我們選擇了以低功耗見(jiàn)長(zhǎng)的

2、430單片機(jī)中的f149系列作為主控芯片,工作場(chǎng)所的溫度采集用到了溫度采集芯片ds18b20來(lái)達(dá)到一定的準(zhǔn)確度和精確度,最后采用nrf24l01模塊對(duì)采集到的溫度數(shù)據(jù)進(jìn)行無(wú)線傳輸,從而打破傳統(tǒng)溫度操作受到距離限制的缺陷。在經(jīng)過(guò)軟硬件測(cè)試后,我們基本實(shí)現(xiàn)了用溫度傳感器采集溫度,用nrf24l01進(jìn)行一定距離傳輸后在接受端的數(shù)碼管上顯示出來(lái)的模型。傳輸距離30m,溫度范圍達(dá)到0至125攝氏度,精度1攝氏度。 關(guān)鍵詞msp430f149;nrf24l01;溫度;無(wú)線傳輸 abstracttemperature measurement have important applications in da

3、ily life,work and engineering practice.with the improvement of living standards and technological progress,whether industry,agriculture or daily life become increasingly demanding of temperature detection. not only to achieve low power consumption,but also requires a certain distance transmission. f

4、or this reason we solved the problem of daily life and work using two control chips, a temperature sensor, and the led display part. for low-power design we have chosen the low-power microcontroller known for the f149 series of 430 as the master chip, temperature acquisition ds18b20 has used to achi

5、eve a certain accuracy and precision, finally nrf24l01 module temperature data collected by wireless transmission, thus breaking the distance limitations of traditional temperature operation. after software and hardware testing, we basically realize our initial target. transmission distance30m, temp

6、erature range 0 to 125 degrees, 1 degree accuracy.keywords: msp430f149;nrf24l01;temperature;wireless目 錄第1章 緒 論1.1 課題的背景與意義1.2 國(guó)內(nèi)外課題研究狀況1.3 課題研究?jī)?nèi)容1.4 論文結(jié)構(gòu)第2章水線水溫檢測(cè)系統(tǒng)方案設(shè)計(jì)2.1 系統(tǒng)方案設(shè)計(jì)2.2 系統(tǒng)方案組成第3章 硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1 stc89c52單片機(jī)控制系統(tǒng)3.1.1 stc89c52單片機(jī)簡(jiǎn)述3.1.2下載電路3.1.3 復(fù)位電路3.1.4 晶振電路3.2 水溫傳感器電路3.2.1 水溫傳感器ds18b20概述

7、3.2.2 水溫傳感器ds18b20引腳描述3.2.3 水溫傳感器ds18b20內(nèi)部結(jié)構(gòu)3.2.4 水溫傳感器ds18b20工作原理3.3 無(wú)線數(shù)傳模塊3.3.1 nrf24l01概述3.3.2 nrf24l01引腳功能及描述3.3.3 gfsk數(shù)字調(diào)制原理3.3.4 nrf24l01工作原理3.3.5 nrf24l01軟件配置字3.4 lcd1602液晶顯示器3.4.1 lcd1602液晶顯示器硬件結(jié)構(gòu)3.4.2 lcd1602原理圖設(shè)計(jì)第4章 軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)4.1 系統(tǒng)軟件調(diào)試運(yùn)行平臺(tái)4.1.1 keil軟件概述4.1.2 keil軟件運(yùn)行步驟4.2 水溫傳感器ds18b20軟件控制

8、4.2.1 ds18b20單總線控制時(shí)序4.2.2 ds18b20功能命令4.2.3 ds18b20控制子程序設(shè)計(jì)4.3 無(wú)線數(shù)傳模塊nrf24l01軟件控制4.3.1無(wú)線數(shù)據(jù)發(fā)送模塊軟件設(shè)計(jì)4.3.2無(wú)線數(shù)據(jù)接收模塊軟件設(shè)計(jì)4.4 lcd1602液晶顯示器軟件設(shè)計(jì)第5章 系統(tǒng)的調(diào)試及實(shí)驗(yàn)結(jié)果5.1 調(diào)試步驟5.2實(shí)驗(yàn)結(jié)果結(jié)論參考文獻(xiàn)致謝第1章 緒 論1.1 課題的背景與意義隨著社會(huì)的進(jìn)步和生產(chǎn)的需要,利用無(wú)線通信進(jìn)行溫度數(shù)據(jù)采集的方式應(yīng)用已經(jīng)滲透到生活各個(gè)方面。在工業(yè)現(xiàn)場(chǎng),由于生產(chǎn)環(huán)境惡劣,工作人員不能長(zhǎng)時(shí)間停留在現(xiàn)場(chǎng)觀察設(shè)備是否運(yùn)行正常,就需要采集數(shù)據(jù)并傳輸數(shù)據(jù)到一個(gè)環(huán)境相對(duì)好的操控室內(nèi),

9、這樣就會(huì)產(chǎn)生數(shù)據(jù)傳輸問(wèn)題。由于廠房大、需要傳輸數(shù)據(jù)多,使用傳統(tǒng)的有線數(shù)據(jù)傳輸方式就需要鋪設(shè)很多很長(zhǎng)的通訊線,浪費(fèi)資源,占用空間,可操作性差,出現(xiàn)錯(cuò)誤換線困難。而且,當(dāng)數(shù)據(jù)采集點(diǎn)處于運(yùn)動(dòng)狀態(tài)、所處的環(huán)境不允許或無(wú)法鋪設(shè)電纜時(shí),數(shù)據(jù)甚至無(wú)法傳輸,此時(shí)便需要利用無(wú)線傳輸?shù)姆绞竭M(jìn)行數(shù)據(jù)采集。在農(nóng)業(yè)生產(chǎn)上,不論是溫室大棚的溫度監(jiān)測(cè),還是糧倉(cāng)的管理,傳統(tǒng)上都是采取分區(qū)取樣的人工方法,工作量大,可靠性差。而且大棚和糧倉(cāng)占地面積大,檢測(cè)目標(biāo)分散,測(cè)點(diǎn)較多,傳統(tǒng)的方法已經(jīng)不能滿足當(dāng)前農(nóng)業(yè)發(fā)展的需要。當(dāng)前的科技水平下,無(wú)線通信技術(shù)的發(fā)展使得溫度采集測(cè)量精確,簡(jiǎn)便易行。在日常生活中,隨著人們生活水平的提高,居住條件

10、也逐漸變得智能化。如今很多家庭都會(huì)安裝室內(nèi)溫度采集控制系統(tǒng),其原理就是利用無(wú)線通信技術(shù)采集室內(nèi)溫度數(shù)據(jù),并根據(jù)室內(nèi)溫度情況進(jìn)行遙控通風(fēng)等操作,自動(dòng)調(diào)節(jié)室內(nèi)溫度濕度,可以更好地改善人們的居住環(huán)境。以上只是簡(jiǎn)單列舉幾個(gè)現(xiàn)實(shí)的例子,在現(xiàn)實(shí)生活中,這種無(wú)線溫度采集系統(tǒng)已經(jīng)被成功應(yīng)用于工農(nóng)業(yè)、環(huán)境監(jiān)測(cè)、軍事國(guó)防、機(jī)器人控制等許多重要領(lǐng)域,而且類似于這種溫度采集系統(tǒng)的無(wú)線通信網(wǎng)絡(luò)已經(jīng)被廣泛的應(yīng)用到民用和軍事領(lǐng)域。凡是布線繁雜或不允許布線的場(chǎng)合都希望能通過(guò)無(wú)線方案來(lái)解決。為此,需要設(shè)計(jì)相應(yīng)的接口系統(tǒng),控制這些射頻芯片工作,完成可靠穩(wěn)定的無(wú)線數(shù)據(jù)通信,這樣的研究也變得更加有意義了1。1.2國(guó)內(nèi)外課題研究狀況在

11、2.4ghz非授權(quán)頻段上,目前已經(jīng)云集了藍(lán)牙、wi-fi、zigbee等多個(gè)標(biāo)準(zhǔn)無(wú)線協(xié)議。,具有帶寬高( 2mbps),雙向傳輸,抗干擾性強(qiáng),傳輸距離遠(yuǎn)(短距離無(wú)線技術(shù)范圍),耗電少的優(yōu)點(diǎn),用于無(wú)線鍵鼠等室內(nèi)場(chǎng)合。nrf24.l01模塊是一款新型單片射頻收發(fā)器件,工作于2.4 ghz2.5 ghz ism頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型shockburst技術(shù),其中輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。nrf24l01功耗低,在以-6dbm的功率發(fā)射時(shí),工作電流也只有9ma;接收時(shí),工作電流只有12.3ma,多種低功率工作模式(掉電模式和空閑模式)

12、使節(jié)能設(shè)計(jì)更方便。至此這種基于此頻段的通信方式已日漸趨向成熟2。同樣隨著傳感器及電子電路的發(fā)展,集成的溫度檢測(cè)器件的完善性及集成性也得到了大大的提高。類似美國(guó)dallas公司推出的數(shù)字測(cè)溫芯片ds18b20層出不窮,國(guó)內(nèi)外的研究在這方面的研究也趨近完善3。1.3 課題研究?jī)?nèi)容 本課題主要研究了無(wú)線水溫檢測(cè)系統(tǒng)的組成及工作原理,并對(duì)其各個(gè)組成部分進(jìn)行詳細(xì)分析,包括水溫檢測(cè)傳感器ds18b20的功能和工作原理,無(wú)線數(shù)傳模塊nrf24l01的工作原理及其個(gè)引腳的具體功能,對(duì)stc89c52單片機(jī)系統(tǒng)設(shè)計(jì)進(jìn)行分析。1.4 論文結(jié)構(gòu)本文基于本次畢業(yè)設(shè)計(jì)的過(guò)程與要求,將論文分為五章。具體內(nèi)容如下:第1章

13、緒論 本章簡(jiǎn)單介紹了課題的研究背景和意義,無(wú)線溫度檢測(cè)的國(guó)內(nèi)外研究狀況,該課題研究的內(nèi)容介紹。第2章 水線水溫檢測(cè)系統(tǒng)方案設(shè)計(jì) 本章主要介紹了無(wú)線水溫檢測(cè)系統(tǒng)的方案設(shè)計(jì)和組成。第3章 硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 本章介紹本課題硬件系統(tǒng)各部分電路的設(shè)計(jì)、實(shí)現(xiàn),講述了各模塊的原理和功能。第4章 軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 本章根據(jù)系統(tǒng)的總方案,設(shè)計(jì)出各模塊的軟件程序,并對(duì)軟件調(diào)試運(yùn)行平臺(tái)進(jìn)行介紹第5章系統(tǒng)的調(diào)試及實(shí)驗(yàn)結(jié)果 本章根據(jù)已有的軟硬件,進(jìn)行調(diào)試,得到的相應(yīng)成果。最后總結(jié)本論文,得出相關(guān)結(jié)論。第2章水線水溫檢測(cè)系統(tǒng)方案設(shè)計(jì)2.1 系統(tǒng)方案設(shè)計(jì)2.2 系統(tǒng)方案組成第3章 硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1 stc

14、89c52單片機(jī)控制系統(tǒng)3.1.1 stc89c52單片機(jī)簡(jiǎn)述 stc89c52是一種帶8k字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器(fperom-flash programable and erasable read only memory)的低電壓,高性能comos8的微處理器,俗稱單片機(jī)。該器件采用atmel搞密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。3.1.2下載電路3.1.3 復(fù)位電路為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位(復(fù)位電路如3.10所示)。 圖3.10 復(fù)位電路圖3.1.4 晶振電路晶振電路msp

15、430系列單片機(jī)時(shí)鐘模塊包括數(shù)控振蕩器(dco)、高速晶體振蕩器和低速晶體振蕩器等3個(gè)時(shí)鐘源。這是為了解決系統(tǒng)的快速處理數(shù)據(jù)要求和低功耗要求的矛盾,通過(guò)設(shè)計(jì)多個(gè)時(shí)鐘源或?yàn)闀r(shí)鐘設(shè)計(jì)各種不同工作模式,才能解決某些外圍部件實(shí)時(shí)應(yīng)用的時(shí)鐘要求,如低頻通信、lcd顯示、定時(shí)器、計(jì)數(shù)器等。數(shù)字控制振蕩器dco已經(jīng)集成在msp430內(nèi)部,在系統(tǒng)中只需設(shè)計(jì)高速晶體振蕩器和低速晶體振蕩器兩部分電路。低速晶體振蕩器(lfxtl)滿足了低功耗及使用32.768khz晶振的要求。lfxtl振蕩器默認(rèn)工作在低頻模式,即32768khz,也可以通過(guò)外接450khz8mhz的高速晶體振蕩器或陶瓷諧振器工作在高頻模式,在本電

16、路中我們使用低頻模式,晶振外接2個(gè)22pf的電容經(jīng)過(guò)xin和xout連接到mcu。高速晶振也稱為第二振蕩器xt2,它為stc89c52工作在高頻模式時(shí)提供時(shí)鐘,xt2最高可達(dá)8mhz。在系統(tǒng)中xt2采用4mhz的晶體,xt2外接2個(gè)22pf的電容經(jīng)過(guò)xt2in和xt2out連接到mcu13(晶振電路如圖3.11所示)。圖3.11晶振電路3.2 水溫傳感器電路3.2.1 水溫傳感器ds18b20概述 dsl820數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù)指示器件的溫度信息經(jīng)過(guò)單線口送入dsl820或從dsl820送出因此從主機(jī)cpu到dsl820僅需一條線(和地線)dsl820的電源可以由數(shù)據(jù)線本身提

17、供而不需要外部電源因?yàn)槊恳粋€(gè)dsl820在出廠時(shí)已經(jīng)給定了唯一的序號(hào)因此任意多個(gè)dsl820可以存放在同一條單線總線上這允許在許多不同的地方放置溫度敏感器件dsl820的測(cè)量范圍從-55到+125增量值為0.5可在l s(典型值)內(nèi)把溫度變換成數(shù)字。3.2.2 水溫傳感器ds18b20引腳描述引腳定義: (1)dq為單數(shù)據(jù)總線,是數(shù)字信號(hào)輸入/輸出端; (2)gnd為電源地; (3)vdd為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。3.2.3 水溫傳感器ds18b20內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)如圖3.3所示。圖3.3 ds18b20內(nèi)部結(jié)構(gòu)圖(1)光刻rom中的64位序列號(hào)是出廠前被光刻好的,它可

18、以看作是該ds18b20的地址序列碼。光刻rom的作用是使每一個(gè)ds18b20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)ds18b20的目的。 (2)ds18b20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/lsb形式表達(dá),其中s為符號(hào)位。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í)際溫度。3.2.4 水溫傳感器d

19、s18b20工作原理ds18b20的溫度檢測(cè)與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個(gè)芯片之上,從而抗干擾力更強(qiáng)。其一個(gè)工作周期可分為兩個(gè)部分,即溫度檢測(cè)和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18b20的內(nèi)部存儲(chǔ)器資源。18b20共有三種形態(tài)的存儲(chǔ)器資源,它們分別是(1) rom 只讀存儲(chǔ)器,用于存放ds18b20的id編碼,其前8位是單線系列編碼(ds18b20的編碼是19h),后面48位是芯片唯一的序列號(hào),最后8位是以上56的位的crc碼(冗余校驗(yàn))。數(shù)據(jù)在出產(chǎn)時(shí)設(shè)置不由用戶更改。ds18b20共64位rom。 (2)ram 數(shù)據(jù)暫存器,用于內(nèi)部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,ds18b20共9

20、個(gè)字節(jié)ram,每個(gè)字節(jié)為8位。eeprom 非易失性記憶體,用于存放長(zhǎng)期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù),ds18b20共3位eeprom,并在ram都存在鏡像,以方便用戶操作。控制器對(duì)18b20操作流程: 復(fù)位:首先我們必須對(duì)ds18b20芯片進(jìn)行復(fù)位,復(fù)位就是由控制器(單片機(jī))給ds18b20單總線至少480s的低電平信號(hào)。當(dāng)18b20接到此復(fù)位信號(hào)后則會(huì)在1560s后回發(fā)一個(gè)芯片的存在脈沖。 存在脈沖:在復(fù)位電平結(jié)束之后,控制器應(yīng)該將數(shù)據(jù)單總線拉高,以便于在1560s后接收存在脈沖,存在脈沖為一個(gè)60240us的低電平信號(hào)。至此,通信雙方已經(jīng)達(dá)成了基本的協(xié)議,接下來(lái)將會(huì)是控制器

21、與18b20間的數(shù)據(jù)通信。如果復(fù)位低電平的時(shí)間不足或是單總線的電路斷路都不會(huì)接到存在脈沖,在設(shè)計(jì)時(shí)要注意意外情況的處理。 控制器發(fā)送rom指令:雙方打完了招呼之后最要將進(jìn)行交流了,rom指令共有5條,每一個(gè)工作周期只能發(fā)一條,rom指令分別是讀rom數(shù)據(jù)、指定匹配芯片、跳躍rom、芯片搜索、報(bào)警芯片搜索??刂破靼l(fā)送存儲(chǔ)器操作指令:在rom指令發(fā)送給18b20之后,緊接著(不間斷)就是發(fā)送存儲(chǔ)器操作指令了。 執(zhí)行或數(shù)據(jù)讀寫:一個(gè)存儲(chǔ)器操作指令結(jié)束后則將進(jìn)行指令執(zhí)行或數(shù)據(jù)的讀寫,這個(gè)操作要視存儲(chǔ)器操作指令而定。如執(zhí)行溫度轉(zhuǎn)換指令則控制器(單片機(jī))必須等待18b20執(zhí)行其指令,一般轉(zhuǎn)換時(shí)間為500u

22、s。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴(yán)格遵循18b20的讀寫時(shí)序來(lái)操作。3.3 無(wú)線數(shù)傳模塊3.3.1 nrf24l01概述nrf24l01是一款新型單片射頻收發(fā)器件,工作于2.4 ghz2.5 ghz ism頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型shockburst技術(shù),其中輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。nrf24l01功耗低,在以-6dbm的功率發(fā)射時(shí),工作電流也只有9ma;接收時(shí),工作電流只有12.3ma,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計(jì)更方便10。nrf24l01主要特性如下: 1、gfsk調(diào)制,硬件集成osi鏈路層; 2、具有

23、自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能; 3、片內(nèi)自動(dòng)生成報(bào)頭和crc校驗(yàn)碼; 4、數(shù)據(jù)傳輸率為l mb/s或2mb/s;5、spi速率為0 mb/s10 mb/s;6、125個(gè)頻道與其他nrf24系列射頻器件相兼容; 7、qfn20引腳4 mm4 mm封裝;8、供電電壓為1.9 v3.6 v;3.3.2 nrf24l01引腳功能及描述nrf24l01的封裝及引腳排列如圖所示11。各引腳功能如圖3.5所示。 圖3.5 nrf24l01封裝圖ce:使能發(fā)射或接收; csn,sck,mosi,miso:spi引腳端,微處理器可通過(guò)此引腳配置nrf24l01: irq:中斷標(biāo)志位;vdd:電源輸入端; vss:電

24、源地;xc2,xc1:晶體振蕩器引腳; vdd_pa:為功率放大器供電,輸出為1.8 v; ant1,ant2:天線接口;iref:參考電流輸入;3.3.3 gfsk數(shù)字調(diào)制原理 gfsk 高斯頻移鍵控調(diào)制是把輸入數(shù)據(jù)經(jīng)高斯低通濾波器預(yù)調(diào)制濾波后,再進(jìn)行fsk調(diào)制的數(shù)字調(diào)制方式。它在保持恒定幅度的同時(shí),能夠通過(guò)改變高斯低通濾波器的3db帶寬對(duì)已調(diào)信號(hào)的頻譜進(jìn)行控制,具有恒幅包絡(luò)、功率譜集中、頻譜較窄等無(wú)線通信系統(tǒng)所希望的特性。3.3.4 nrf24l01工作原理發(fā)射數(shù)據(jù)時(shí),首先將nrf24l01配置為發(fā)射模式:接著把接收節(jié)點(diǎn)地址tx_addr和有效數(shù)據(jù)tx_pld按照時(shí)序由spi口寫入nrf2

25、4l01緩存區(qū),tx_pld必須在csn為低時(shí)連續(xù)寫入,而tx_addr在發(fā)射時(shí)寫入一次即可,然后ce置為高電平并保持至少10s,延遲130s后發(fā)射數(shù)據(jù);若自動(dòng)應(yīng)答開(kāi)啟,那么nrf24l01在發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號(hào)(自動(dòng)應(yīng)答接收地址應(yīng)該與接收節(jié)點(diǎn)地址tx_addr一致)。如果收到應(yīng)答,則認(rèn)為此次通信成功,tx_ds置高,同時(shí)tx_pld從txfifo中清除;若未收到應(yīng)答,則自動(dòng)重新發(fā)射該數(shù)據(jù)(自動(dòng)重發(fā)已開(kāi)啟),若重發(fā)次數(shù)(arc)達(dá)到上限,max_rt置高,txfifo中數(shù)據(jù)保留以便在次重發(fā);max_rt或tx_ds置高時(shí),使irq變低,產(chǎn)生中斷,通知mcu。最后發(fā)射成功時(shí),

26、若ce為低則nrf24l01進(jìn)入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且ce為高,則進(jìn)入下一次發(fā)射;若發(fā)送堆棧中無(wú)數(shù)據(jù)且ce為高,則進(jìn)入空閑模式2。 接收數(shù)據(jù)時(shí),首先將nrf24l01配置為接收模式,接著延遲130s進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來(lái)。當(dāng)接收方檢測(cè)到有效的地址和crc時(shí),就將數(shù)據(jù)包存儲(chǔ)在rxfifo中,同時(shí)中斷標(biāo)志位rx_dr置高,irq變低,產(chǎn)生中斷,通知mcu去取數(shù)據(jù)。若此時(shí)自動(dòng)應(yīng)答開(kāi)啟,接收方則同時(shí)進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號(hào)。最后接收成功時(shí),若ce變低,則nrf24l01進(jìn)入空閑模式1。在寫寄存器之前一定要進(jìn)入待機(jī)模式或掉電模式。3.3.5 nrf24l01軟件配置字spi口為同步串行通信

27、接口,最大傳輸速率為10 mb/s,傳輸時(shí)先傳送低位字節(jié),再傳送高位字節(jié)。但針對(duì)單個(gè)字節(jié)而言,要先送高位再送低位。與spi相關(guān)的指令共有8個(gè),使用時(shí)這些控制指令由nrf24l01的mosi輸入。相應(yīng)的狀態(tài)和數(shù)據(jù)信息是從miso輸出給mcu。 nrf24l0l所有的配置字都由配置寄存器定義,這些配置寄存器可通過(guò)spi口訪問(wèn)。nrf24l01 的配置寄存器共有25個(gè),常用的配置寄存器如表3.2所示。表3.2 常用配置寄存器地址(h)寄存器名稱功能00config設(shè)置24l01工作模式01en_aa設(shè)置接收通道及自動(dòng)應(yīng)答02en_rxaddr使能接收通道地址03setup_aw設(shè)置地址寬度04set

28、up_retr設(shè)置自動(dòng)重發(fā)數(shù)據(jù)時(shí)間和次數(shù)07status狀態(tài)寄存器,用來(lái)判定工作狀態(tài)0a0frx_addr_p0p5設(shè)置接收通道地址10tx_addr設(shè)置接收接點(diǎn)地址1116rx_pw_p0p5設(shè)置接收通道的有效數(shù)據(jù)寬度3.4 lcd1602液晶顯示器3.4.1 lcd1602液晶顯示器硬件結(jié)構(gòu)lcd1602是2x16字符型液晶顯示模塊,其外觀形狀如圖7.1所示。 (a) 正面 (b) 背面 圖7.1 rt-1602c的外觀 (a) 圖是lcd1602的正面,(b)圖lcd1602的背面。標(biāo)準(zhǔn)的16引腳接口如下: 第1腳:vss,電源地。 第2腳:vdd,+5v電源。 第3腳:vee,液晶顯示

29、對(duì)比度調(diào)整輸入端。接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高。使用時(shí)通常通過(guò)一個(gè)10k的電位器來(lái)調(diào)整對(duì)比度。 第4腳:rs,數(shù)據(jù)/命令選擇端,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器。 第5腳:r/w,讀/寫選擇端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)rs和r/w共同為低電平時(shí),可以寫入指令或者顯示地址;當(dāng)rs為低電平、r/w為高電平時(shí),可以讀忙信號(hào);當(dāng)rs為高電平、r/w為低電平時(shí),可以寫入數(shù)據(jù)。 第6腳:e,使能端,當(dāng)e為高電平時(shí)讀取液晶模塊的信息,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行寫操作。 第714腳:d0d7,為8位雙向數(shù)據(jù)線。 第15腳:bla,背光源正極。 第16腳

30、:blk,背光源負(fù)極。3.4.2 lcd1602原理圖設(shè)計(jì) lcd1602原理圖第4章 軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)4.1 系統(tǒng)軟件調(diào)試運(yùn)行平臺(tái)4.1.1 keil軟件概述 keil c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,c語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用c來(lái)開(kāi)發(fā),體會(huì)更加深刻。 keil c51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代

31、碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。4.1.2 keil軟件運(yùn)行步驟 第1步 打開(kāi)keil51軟件首先彈出一個(gè)開(kāi)機(jī)啟動(dòng)畫面。 第2步 然后進(jìn)入keil51的開(kāi)發(fā)界面。 第3步 下面以建立一個(gè)簡(jiǎn)單的項(xiàng)目為例來(lái)說(shuō)明keil51開(kāi)發(fā)項(xiàng)目的一般方法。單擊project菜單項(xiàng)選擇new project項(xiàng)。 第4步 此時(shí)彈出create new project對(duì)話框選擇合適的路徑口在文件名一欄中填入新工程的名字。單擊保存。 第5步 根據(jù)所用的器件選擇cpu的型號(hào)單擊確定。 第6步keil51詢問(wèn)是否生成默認(rèn)的配置文件這個(gè)可選可不選這里選定。單擊yes觀察項(xiàng)目文件管理窗口的變化。 第

32、7步在file菜單下單擊new選項(xiàng)新建文件。此時(shí)在代碼窗口出現(xiàn)一“text1”空白文檔。 第8步 在“text1”中編輯完代碼后單擊file菜單中的保存項(xiàng)彈出保存對(duì)話框。保存名寫為text.c。單擊保存。注意在對(duì)文件命名時(shí)必須加擴(kuò)展名。 第9步 在項(xiàng)目導(dǎo)航欄中source group 上單擊右鍵選add file to group source group 1。 第10步 此時(shí)彈出add file 對(duì)話框。選中剛才保存的text.c文件。單擊add。 此時(shí)在項(xiàng)目文件管理窗口中就會(huì)出現(xiàn)剛才所添加的文件text.c。 第11步 單擊快捷菜單欄中的編譯按鈕 可以編譯程序。 第12步 單擊projec

33、t菜單項(xiàng)選擇option for target target 1選項(xiàng)。 在彈出的對(duì)話框中可以對(duì)project進(jìn)行總體配置。 第13步 選擇output 選項(xiàng)卡單擊create hex file ,代碼輸出格式應(yīng)為hex-80 。 第14步 單擊確定后并重新編譯。可以看到編譯成功之后build 選項(xiàng)卡里又多了一項(xiàng)。這是生成的hex 文件。 第15步 單擊debug 菜單項(xiàng)中的start/stop debug session 命令或工具欄中的 進(jìn)入調(diào)試界面。 第16步 單擊調(diào)試界面debug 菜單項(xiàng)中的go命令或工具欄中的 運(yùn)行程序單擊stop running 命令或 來(lái)結(jié)束程序。觀察運(yùn)行結(jié)果若結(jié)

34、果正確,便可通過(guò)下載軟件將它燒寫到目標(biāo)板上去。4.2 水溫傳感器ds18b20軟件控制4.2.1 ds18b20單總線控制時(shí)序 根據(jù)ds18b20的通訊協(xié)議,主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟: 1. 每一次讀寫之前都必須要對(duì)ds18b20進(jìn)行復(fù)位; 2. 復(fù)位成功后發(fā)送一條rom指令; 3. 最后發(fā)送ram指令,這樣才能對(duì)ds18b20進(jìn)行預(yù)定的操作。4.2.2 ds18b20功能命令功能命令如下圖:4.2.3 ds18b20控制子程序設(shè)計(jì)4.3 無(wú)線數(shù)傳模塊nrf24l01軟件控制4.3.1無(wú)線數(shù)據(jù)發(fā)送模塊軟件設(shè)計(jì)首先進(jìn)行初始化操作,初始化包括設(shè)置單片機(jī)io和spi相關(guān)寄存

35、器兩部分其可以和nrf24l01通信。通過(guò)spi總線配置射頻芯片使其進(jìn)入正確的工作模式。發(fā)射數(shù)據(jù)時(shí),首先將nrf24l01配置為發(fā)射模式。接著把發(fā)送端待發(fā)射數(shù)據(jù)的目標(biāo)地址txaddr和數(shù)據(jù)txpld寫入nrf24l01緩沖區(qū),延時(shí)后發(fā)射數(shù)據(jù),其流程圖如圖4.2所示14。圖4.2 無(wú)線發(fā)射軟件流程圖4.3.2無(wú)線數(shù)據(jù)接收模塊軟件設(shè)計(jì)接收數(shù)據(jù)時(shí),首先將nrf24l01配置為接收模式。接著延遲進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來(lái)。當(dāng)接收方檢測(cè)到有效地址和crc時(shí),就將數(shù)據(jù)包儲(chǔ)存在接收堆棧中,同時(shí)狀態(tài)寄存器中的中斷標(biāo)志位rxdr置高,產(chǎn)生中斷使irq引腳變?yōu)榈碗娖?,以便通知mcu去取數(shù)據(jù),其流程圖如圖4.3所示

36、。圖4.3 無(wú)線接收軟件流程圖4. .4 lcd1602液晶顯示器軟件設(shè)計(jì)lcd1602液晶顯示器顯示框圖如圖所示: lcd1602液晶顯示器程序如下:#include #include #define uint unsigned int #define uchar unsigned char uchar code display_1=good morning; uchar code display_2=miss you; sbit lcden=p34; sbit lcdrs=p35; /sbit lcdrw=p36; uchar num; uint i=0; void delayms(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); void write_com(uchar com) lcdrs=0; lcden=0; p0=com; delayms(5); lcden=0; lcden=1; delayms(5); lcden=0; void write_data(uchar date) lcdrs=1; p0=date; delayms(5); lcden=0; lc

溫馨提示

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