基于物聯網的溫濕度信息采集系統設計_第1頁
基于物聯網的溫濕度信息采集系統設計_第2頁
基于物聯網的溫濕度信息采集系統設計_第3頁
基于物聯網的溫濕度信息采集系統設計_第4頁
基于物聯網的溫濕度信息采集系統設計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、蘭 州 理 工 大 學計算機與通信學院2014年春季學期 物聯網綜合應用實踐 課程設計 題 目:基于物聯網的溫濕度信息采集系統設計 專業(yè)班級: 姓 名: 學 號: 指導教師: 成 績: 基于物聯網的溫濕度信息采集系統設計摘要 基于物聯網的無線傳感網絡是多學科的高度交叉,知識的高度集成的前沿熱點研究領域。它通過各類集成化的微型傳感器協作地實時監(jiān)測,感知和采集各種環(huán)境或監(jiān)測對象的信息,這些信息通過無線方式被發(fā)送,并以自組多跳的網絡方式傳送到用戶終端無線傳感器網絡的特性決定了其不需要較高的傳輸帶寬,而要求較低的傳輸延時和極低的功率消耗。IEEES02154ZigBee技術是近年來通信領域中的研究熱點

2、,具有低成本、低功耗、低速率、低復雜度的特點和高可靠性、組網簡單、靈活等優(yōu)勢,逐漸成為無線傳感器網絡事實上的國際標準。此次課設設計并實現了用無線傳感器網絡構成的分布式溫度濕度監(jiān)控系統。關鍵詞:物聯網、信息采集、SHT10、串口通信 正文:4一、前言4二、基本原理52.1 SHT10引腳特性52.2 溫濕度傳感器模塊82.3 CC2530串口通信原理92.4 Zig Bee 簡介10三、系統分析16四、詳細設計184.1硬件設計184.2 軟件設計214.3 設計結構圖214.4 代碼22總結33參考文獻34正文:一、前言物聯網系統是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用

3、場合,對功能,可靠性,成本,體積,功耗有嚴格要求的專用計算機系統。隨著生活水平的提高和科學技術發(fā)展的需求,人類對環(huán)境信息的感知上有了更高的要求,在某些特殊工業(yè)生產領域和室內存儲場合對環(huán)境要求顯得特別苛刻;隨著物聯網技術的發(fā)展,為環(huán)境環(huán)境檢測提供了更進一步的保障?;谖锫摼W的環(huán)境信息采集系統包含感知層、傳輸層、應用層三個層面;傳輸層常見的有溫濕度、煙感、一氧化碳、壓力等物聯網傳感器模塊,傳輸層包括有線通信和無線通信兩部分,應用層包括各種終端。在室內環(huán)境監(jiān)測領域,以物聯網技術為基礎,結合ZigBee技術可以實現、準確、完整、可靠的反應環(huán)境信息,做到實時監(jiān)控?;驹恚簼穸葌鞲衅骱蜏囟葌鞲衅鞑杉綌?/p>

4、據后,通過給RS232串口增加ZigBee功能,替代設備電纜線進行無線傳輸,串口傳輸設計為雙向全雙工,無硬件流控制,強制允許OTA(多條)時間和丟包重傳。本次課設采用的senser節(jié)點中燒寫EndDeviceEB程序,在協調器中燒寫CoordinatorEB程序。在設備綁定時先啟動協調器綁定,后啟動終端節(jié)點綁定,按鍵SW1用于設備之間綁定,SW2用于啟動匹配描述符請求。二、基本原理 本實驗將使用 CC2530 讀取溫濕度傳感器 SHT10 的溫度和濕度數據,最后將采樣到的數據轉換然后在 LCD 上顯示。其中對溫濕度的讀取是利用 CC2530 的 I/O(P1.0 和 P1.1)模擬一個類 II

5、C 的過程。其中該系統所使用的SHT10是一款高度集成的溫濕度傳感器芯片,提供全標定的數字輸出。它采用專利的CMOSens技術,確保產品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件,并在同一芯片上,與14位的A/D轉換器以及串行接口電路實現無縫連接。2.1 SHT10引腳特性SHT10 是一款高度集成的溫濕度傳感器芯片, 提供全標定的數字輸出。它采用專利的CMOSens 技術,確保產品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件,并在同一芯片上,與 14 位的 A/D 轉換器

6、以及串行接口電路實現無縫連接。 SHT10 引腳特性如下: (1)VDD,GND SHT10 的供電電壓為 2.45.5V。傳感器上電后,要等待 11ms 以越過“休眠”狀態(tài)。在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個 100nF 的電容,用以去耦濾波。 (2)SCK 用于微處理器與 SHT10 之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小 SCK 頻率。 (3)DATA 三態(tài)門用于數據的讀取。DATA 在 SCK 時鐘下降沿之后改變狀態(tài),并僅在 SCK 時鐘上升沿有效。數據傳輸期間,在 SCK 時鐘高電平時,DATA 必須保持穩(wěn)定。為避免信號沖突,微處理

7、器應驅動 DATA 在低電平。需要一個外部的上拉電阻(例如:10k)將信號提拉至高電平。上拉電阻通常已包含在微處理器的 I/O 電路中。 1、向 SHT10 發(fā)送命令: 用一組“ 啟動傳輸”時序,來表示數據傳輸的初始化。它包括:當 SCK 時鐘高電平時DATA 翻轉為低電平,緊接著 SCK 變?yōu)榈碗娖?,隨后是在 SCK 時鐘高電平時 DATA 翻轉為高電平。后續(xù)命令包含三個地址位(目前只支持“000”),和五個命令位。SHT10 會以下述方式表示已正確地接收到指令:在第 8 個 SCK 時鐘的下降沿之后,將 DATA 拉為電平(ACK 位)。在第 9 個 SCK 時鐘的下降沿之后,釋放 DAT

8、A(恢復高電平)。 2、測量時序(RH 和 T): 發(fā)布一組測量命令(00000101表示相對濕度 RH,00000011表示溫度 T)后,控制器要等待測量結束。這個過程需要大約 11/55/210ms,分別對應8/12/14bit 測量。確切的時間隨內部晶振速度,最多有±15%變化。SHTxx 通過下拉 DATA 至低電平并進入空閑模式,表示測量的結束??刂破髟谠俅斡|發(fā) SCK 時鐘前,必須等待這個“數據備妥”信號來讀出數據。檢測數據可以先被存儲,這樣控制器可以繼續(xù)執(zhí)行其它任務在需要時再讀出數據。接著傳輸2 個字節(jié)的測量數據和1 個字節(jié)的CRC 奇偶校驗。uC 需要通過下拉DATA

9、 為低電平,以確認每個字節(jié)。所有的數據從 MSB 開始,右值有效(例如:對于 12bit 數據,從第 5 個SCK 時鐘起算作 MSB; 而對于 8bit 數據, 首字節(jié)則無意義)。用 CRC 數據的確認位,表明通訊結束。如果不使用 CRC-8 校驗,控制器可以在測量值 LSB 后,通過保持確認位 ack 高電平, 來中止通訊。在測量和通訊結束后,SHTxx 自動轉入休眠模式。 3、通訊復位時序: 如果與 SHTxx 通訊中斷,下列信號時序可以復位串口:當 DATA 保持高電平時,觸發(fā)SCK 時鐘 9 次或更多。在下一次指令前,發(fā)送一個“傳輸啟動”時序。這些時序只復位串口,狀態(tài)寄存器內容仍然保

10、留. 2.2 溫濕度傳感器模塊 溫濕度探頭直接使用 IIC 接口進行控制,光敏探頭經運放處理后輸出電壓信號到 AD 輸入。IIC 接口將同時連接 EEPROM 以及溫濕度傳感器兩個設備,將采用使用不同的 IIC設備地址的方式進行區(qū)分。其電路原理圖如下所示: 溫濕度傳感器模塊原理圖使用 1012bit 的 AD 采集器進行光敏信號采集,使用專用溫濕度傳感器(IIC 接口)進行溫濕度信號采集。一次采樣使用 2 字節(jié)描述,MSB 方式,溫濕度及光電傳感器模塊輸出數據結構如下:(1)僅采集溫度信息 溫度數據高字節(jié),溫度數據低字節(jié)。 (2)僅采集濕度信息 濕度數據高字節(jié),濕度數據低字節(jié)。(4)采集全部信

11、息 溫度數據高字節(jié),溫度數據低字節(jié),濕度數據高字節(jié),濕度數據低字節(jié)。 注意:本指令一次測量,最多只上傳 1 次采集數據,不支持連續(xù)采集數據上傳。 2.3 CC2530串口通信原理UART 接口可以使用 2 線或者含有引腳 RXD、TXD、可選 RTS 和 CTS 的 4 線。 UART 操作由 USART 控制和狀態(tài)寄存器 UxCSR 以及 UART 控制寄存器 UxUCR 來控制。這里的 x 是 USART 的編號,其數值為 0 或者 1。 當 UxCSR.MODE 設置為 1 時,就選擇了 UART 模式。 當 USART 收/發(fā)數據緩沖器、寄存器 UxBUF 寫入數據時,該字節(jié)發(fā)送到輸出

12、引腳 TXDx。UxBUF 寄存器是雙緩沖的。 當字節(jié)傳輸開始時,UxCSR.ACTIVE 位變?yōu)楦唠娖剑斪止?jié)傳送結束時為低。當傳送結束時,UxCSR.TX_BYTE 位設置為 1.當 USART 收/發(fā)數據緩沖寄存器就緒,準備接收新的發(fā)送數據時,就產生了一個中斷請求。該中斷在傳送開始之后立刻發(fā)生,因此,當字節(jié)正在發(fā)送時,新的字節(jié)能夠裝入數據緩沖器。 當 1 寫入 UxCSR.RE 位時,在 UART 上數據接收就開始了。然后 UART 會在輸入引腳 TXDx中尋找有效起始位,并且設置 UxCSR.ACTIVE 位為 1.當檢測出有效起始位時,收到的字節(jié)就傳入到接收寄存器,UxCSR.RX

13、_BYTE 位設置為 1.該操作完成時,產生接收中斷。同時UxCSR.ACTIVE 變?yōu)榈碗娖健?通過寄存器 UxBUF 提供到的數據字節(jié)。當 UxBUF 讀出時,UxCSR.RX_BYTE 位由硬件清 0。2.4 Zig Bee 簡介1 Zig Bee技術的使用與發(fā)展很大程度上彌補了無線通信市場上低功耗,低成本,低速率的空缺。同時隨著ZigBee技術的深入發(fā)展和應用,越來越多的注意力和研究力量將會轉到應用的設計,實現互聯互通測試和市場的推廣等方面。ZigBee技術的關鍵是發(fā)展是一種易布建,低成本,低功耗的無線網絡。ZigBee技術的應用前景非常好。Zig Bee在未來的幾十年里將在工業(yè)無線定

14、位,工業(yè)控制,消費電子,汽車自動化,家庭網絡,醫(yī)用設備控制等多個控制領域具有廣泛的應用,特別是工業(yè)控制和家庭自動化,將會成為今后ZigBee芯片的主要領域。通常符合以下條件之一的應用,都可以采用此技術。(1) 網絡多:需要數據采集或監(jiān)控的網絡多。(2) 低傳輸量:要求傳輸的數據量不大且要求數據成本低。(3) 可靠性高:要求數據傳輸可靠性,安全性高。(4) 體積?。涸O備體積很小,體積較大的充電電池或者電源模塊不方便放置(5) 電池供電。(6) 覆蓋量大:所需檢測點多,地形復雜,需要較大的網絡覆蓋面積。(7) 現有移動網絡的覆蓋盲區(qū)。(8) 遙測,遙控系統:使用先從移動網絡進行的地數據量傳輸。(9

15、) 局部區(qū)域移動口標的定位系統:使用GPS效果差,成本高.2 ZigBee協議標準 ZigBee協議標準采用分層結構,每一層為上層提供一系列特殊的服務:數據實體提供數據傳輸服務;管理實體則提供所有其他的服務。所有的服務實體都通過服務接人點SAP為上層提供接口,每個SAP都支持一定數量的服務原語來實現所需的功能。ZigBee標準的分層架構是在OSI七層模型的基礎上根據市場和應用的實際需要定義的。其中IEEE 8021542003標準定義了底層協議:物理層(physical layer,PHY)和媒體訪問控制層(medium access control sublayer,MAC)。ZigBee

16、聯盟在此基礎上定義了網絡層(network layer,NWK),應用層(application layer,APL)架構。在應用層內提供了應用支持子層(application support sublayer,APS)和 ZigBee設備對象(ZigBee device object,ZDO)。應用框架中則加入了用戶自定義的應用對象。 ZigBee的網絡層采用基于Ad Hoc的路由協議,除了具有通用的網絡層功能外,還應該與底層的IEEE 802154標準一樣功耗小,同時要實現網絡的自組織和自維護,以最大限度方便消費者使用,降低網絡的維護成本。應用支持子層把不同的應用映射到ZigBee網絡上,

17、主要包括安全屬性設置、業(yè)務發(fā)現、設備發(fā)現和多個業(yè)務數據流的匯聚等功能。 ZigBee無線測溫系統的組成及原理基于ZigBee技術的無線測溫系統主要由基于ZigBee技術的底層無線傳感器網絡、遠程數據傳輸網絡以及功能完善的上位監(jiān)控系統3部分組成,該系統是由大量的傳感器點、匯節(jié)點以及遠程傳輸模塊組成的分布式系統?;诖氐姆謱咏Y構具有天然的分布式處理能力,簇頭就是分布式處理中心,即無線傳感器網絡的一個匯節(jié)點。每個簇成員(傳感器節(jié)點)都把數據傳給簇頭,數據融合后直接傳給遠程傳輸網絡,中央控制中心通過遠程傳輸網絡與多個匯節(jié)點連接,匯節(jié)點和傳感器節(jié)點之間通過ZigBee技術實現無線的信息交換。帶有射頻收發(fā)

18、器的無線傳感器節(jié)點負責對數據的感知和處理并傳送給匯節(jié)點;通過遠程傳輸網絡獲取采集到的相關信息,實現對現場的有效控制和管理。圖2 ZigBee協議棧結構圖1. 物理層物理層由半雙工的無線收發(fā)器及其接口組成,主要作用是激活和關閉射頻收發(fā)器;檢測信道的能量;顯示收到數據包的鏈路質量;空閑信道評估;選擇信道頻率;數據的接受和發(fā)送。2. 媒體訪問控制層媒體訪問控制(MAC)層建立了一條節(jié)點和與其相鄰的節(jié)點之間可靠的數據傳輸鏈路,共享傳輸媒體,提高通信效率。在協調器的MAC層,可以產生網絡信標,同步網絡信標;支持ZigBee設備的關聯和取消關聯;支持設備加密;在信道訪問方面,采用CSMA/CA信道退避算法

19、,減少了碰撞概率;確保時隙分配(GTS);支持信標使能和非信標使能兩種數據傳輸模式,為兩個對等的MAC實體提供可靠連接。3. 網絡層 網絡層負責拓撲結構的建立和維護網絡連接,主要功能包括設備連接和斷開網絡時所采用的機制,以及在幀信息傳輸過程中所采用的安全性機制。此外,還包括設備的路由發(fā)現和路由維護和轉交。并且,網絡層完成對一跳(onehop)鄰居設備的發(fā)現和相關結點信息的存儲。一個ZigBee協調器創(chuàng)建一個新網絡,為新加入的設備分配短地址等。并且,網絡層還提供一些必要的函數,確保ZigBee的MAC層正常工作,并且為應用層提供合適的服務接口。網絡層要求能夠很好地完成在IEEE 802154標準

20、中MAC子層所定義的功能,同時,又要為應用層提供適當的服務接口。為了與應用層進行更好的通信,網絡層中定義了兩種服務實體來實現必要的功能。這兩個服務實體是數據服務實體(NLDE)和管理服務實體(NLME)。網絡層的NLDE通過數據服務實體服務訪問點(NLDESAP)來提供數據傳輸服務,NLME通過管理服務實體服務訪問點(NLMESAP)來提供管理服務。NLME可以利用NLDE來激活它的管理工作,它還具有對網絡層信息數據庫(NIB)進行維護的功能。 在這個圖中直觀地給出了網絡層所提供的實體和服務接口等。 NLDE提供的數據服務允許在處于同一應用網絡中的兩個或多個設備之間傳輸應用協議數據單元(APD

21、U)。NLDE提供的服務有:產生網絡協議數據單元(NPDU)和選擇通信路由。選擇通信路由,在通信中,NLDE要發(fā)送一個NPDU到一個合適的設備,這個設備可能是通信的終點也可能只是通信鏈路中的一個點。NLME需提供一個管理服務以允許一個應用來與協議棧操作進行交互。 NLME需要提供以下服務:配置一個新的設備(configuring a new device)。具有充分配置所需操作棧的能力。配置選項包括:ZigBee協調器的開始操作,加入一個現有的網絡等。 4. 應用層應用層包括三部分:應用支持子層(APS)、ZigBee設備對象(ZDO)和應用框架(AF)。應用支持子層的任務是提取網絡層的信息并

22、將信息發(fā)送到運行在節(jié)點上的不同應用端點。應用支持子層維護了一個綁定表,可以定義、增加或移除組信息;完成64位長地址(IEEE地址)與16位短地址(網絡地址)一對一映射;實現傳輸數據的分割與重組;應用支持子層連接網絡層和應用層,是它們之間的接口。這個接口由兩個服務實體提供:APS數據實體(APSDE)和APS管理實體(APSME)。APS數據實體為網絡中的節(jié)點提供數據傳輸服務,它會拆分和重組大于最大荷載量的數據包。APS管理實體提供安全服務,節(jié)點綁定,建立和移除組地址,負責64位IEEE地址與16位網絡地址的地址映射4。ZigBee設備對象負責設備的所有管理工作,包括設定該設備在網絡中的角色(協

23、調器、路由器或終端設備),發(fā)現網絡中的設備,確定這些設備能提供的功能,發(fā)起或響應綁定請求,完成設備之間建立安全的關聯等。用戶在開發(fā)ZigBee產品時,需要在ZigBee協議棧的AF上附加應用端點,調用ZDO功能以發(fā)現網絡上的其他設備和服務,管理綁定、安全和其他網絡設置。ZDO是一個特殊的應用對象,它駐留在每一個ZigBee節(jié)點上,其端點編號固定為0。AF應用框架是應用層與APS層的接口。它負責發(fā)送和接收數據,并為接收到的數據尋找相應的目的端點。三、系統分析該系統通過具有IIC總線接口的單片全校準字式新型相對溫濕度傳感器SHT10實現對溫濕度的采集,將信號送至Zig Bee技術,從節(jié)點采集溫濕度

24、數據每隔一定的時間輪流向主節(jié)點發(fā)送,主節(jié)點收到數據之后通過串口將各節(jié)點的溫濕度數據傳給智能主板。具體步驟描述(1) 給職能主板供電(USB外接電源或2節(jié)干電池);(2) 將一個無線節(jié)點模塊插入到帶 LCD 的智能主板的相應位置;(3) 將溫濕度及光電傳感器模塊插入到智能主板的傳感及控制擴展口位置;(4) 接下來將 CC2530 仿真器的一端通過 USB 線(A 型轉 B 型)連接到 PC 機,另一端通過 10Pin下載線連接到智能主板的 CC2530 JTAG 口(J203);(5) 將智能主板上電源開關撥至開位置。按下仿真器上的按鈕,仿真器上的指示燈為綠色時,表示連接成功;(6) 使用 IA

25、R7.51 打開“OURS_CC2530LIBlib10(HumiTempLight) IAR_files”下的HumiTempLight.eww 文件,下載運行程序;(7) 觀察 LCD 上溫度、濕度和光照強度的變化;(8) 向溫濕度傳感器吹一口氣體,觀察 LCD 上溫濕度數據的變化;四、詳細設計本設計是基于CC2530的溫濕度數據采集系統設計。因此,其重點是溫濕度數據采集設計的實現,主要可分為二大部分,一是實現無線傳感的硬件模塊;二是實現無線傳感的軟件支持,也就是Zigbee協議框架的編程。實現濕度數據采集的硬件部分主要包括:無線傳感基本結構、無線傳感實現原理、本設計所使用的試驗箱以及軟件

26、支持、常見的無線傳感模塊以及實現基于CC2530的溫濕度采集系統節(jié)點模塊設計。實現溫濕度數據采集的軟件部分主要包括:Zigbee協議棧整體構架,Zigbee協議棧網絡層。4.1硬件設計物聯網溫濕度采集系統的硬件部分可以大體有無線傳感基本結構、無線傳感實現原理、本設計所使用的試驗箱以及軟件支持、常見的無線傳感模塊以及實現基于CC2530的溫濕度采集系統節(jié)點模塊設計等組成。其具體內容如下:1、無線傳感基本結構及實現原理無線傳感器網絡在設計目標方面是以數據為中心的,在無線傳感器網絡中,因為節(jié)點通常運行在人無法接近的惡劣甚至危險的遠程環(huán)境中,所以除了少數節(jié)點也要移動外,大部分節(jié)點是靜止不動的。在被檢測

27、區(qū)域內,節(jié)點任意散落,節(jié)點除了需要完成感測特定的對象外,還需要進行簡單的計算,維持互相之間的網絡連接等功能。并且由于能源的無法替代以及低功耗的多跳通信模式,設計無線傳感節(jié)點時,有效的延長網絡的生命周期以及節(jié)點的低功耗成為無線傳感器網絡研究的核心問題,其無線傳感節(jié)點模型如下圖:無線傳感網絡的建立是基于傳感器加無線傳輸模塊的,傳感器采集的數據,簡單處理后經過無線傳輸模塊傳到服務器或應用終端。目標,觀測節(jié)點,傳感節(jié)點和感知視場是無線傳感器網絡所包括的4個基本實體對象。大量傳感節(jié)點隨機部署,單個節(jié)點進過初始的通信和協議,通過自組織方式自行配置,形成一個傳輸信息的單跳鏈接或一系列無線網絡節(jié)點組成的網絡,

28、協同形成對目標的感知視場。傳感節(jié)點檢測的目標信號經過傳感器本地簡單處理后通過單播或廣播以多跳的方式通過鄰近傳感節(jié)點傳輸到觀測節(jié)點。用戶和遠程任務管理單元則能夠通過衛(wèi)星通信網絡或Inteernet等外部網絡,與觀測節(jié)點進行數據信息的交互。觀測節(jié)點向網絡發(fā)布查詢請求和控制指令,接受傳感節(jié)點返回的目標信息。2、使用的試驗箱以及軟件支持物聯網創(chuàng)新試驗系統IOV-T-2530采用系列傳感器模塊和無線節(jié)點模塊組成無線傳感網,擴展物聯網網關實現廣域訪問,可實現多種物聯網構架,完成物聯網相關的各種傳感器的信息采集、無線信號收發(fā)、Zigbee網絡通訊,組件控制全過程。該工具提供了無線傳感網通信模塊,基本的傳感器

29、及控制器模塊、物聯網網關、計算機服務器參考軟件等。3、實現溫濕度采集系統節(jié)點模塊設計實驗系統包含4個無線傳感網通信節(jié)點和一個無線網絡協調器,其中具體情況如下:無線節(jié)點模塊:主要有射頻單片機構成,MCU是TI的CC2530,2.4G載頻,棒狀天線。傳感器及控制模塊:包括溫濕度傳感器模塊,繼電器模塊和RS232模塊等,也可以通過總線擴展用戶自己的傳感器及控制部件。電源板或智能主板:即實現無線節(jié)點模塊與傳感器及控制模塊的連接,又實現系統供電。4.2 軟件設計實現溫濕度數據的采集的軟件部分主要有Zig Bee 技術概述,協議棧整體架構,Zig Bee協議棧網絡層,AODV路由協議等幾部分組成。而Zig

30、 Bee協議層主要包括:網絡層概述,網絡層所實現的功能,網絡層中常用的路由協議。AODV路由協議主要包括:協議概述,協議的基本原理,AODV路由協議消息控制幀。4.3 設計結構圖1、串口通信設計程序流程圖及核心代碼:4.4 代碼1、串口通信部分代碼:/* * 函數名稱:initUART * 功能描述:CC2530 串口初始化 */ void initUART(void) PERCFG = 0x00; /位置 1 P0 口 P0SEL = 0x3c; /P0用作串口 U0CSR |= 0x80; /UART方式 U0GCR |= 11; /baud_e = 11; U0BAUD |= 216;

31、/波特率設為 115200 UTX0IF = 1; U0CSR |= 0X40; /允許接收 IEN0 |= 0x84; /uart0接收中斷 /* * 函數名稱:UartTX_Send_String * * 功能描述:串口發(fā)送數據函數 * * 參 數:*Data - 發(fā)送數據指針 * len - 發(fā)送的數據長度 * * 返 回 值:無 */ void UartTX_Send_String(UINT8 *Data,int len) int j; for(j=0;j<len;j+) U0DBUF = *Data+; while(UTX0IF = 0); UTX0IF = 0; /* * 函

32、數名稱:HAL_ISR_FUNCTION * * 功能描述:串口接收數據中斷函數 * * 參 數:halUart0RxIsr - 中斷名稱 * URX0_VECTOR - 中斷向量 * * 返 回 值:無 */ HAL_ISR_FUNCTION( halUart0RxIsr, URX0_VECTOR ) UINT8 temp; URX0IF = 0; temp = U0DBUF; *(str + count) = temp; count+; /* * 函數名稱:main * 功能描述:串口間歇發(fā)送 字符串,當串口接收到數據后,再通過串口 * 回發(fā)出去。 */ void main() UINT8

33、 *uartch = " " UINT8 temp = 0; SET_MAIN_CLOCK_SOURCE(CRYSTAL); /設置主時鐘為 32M 晶振 initUART(); /初始化串口 while(1) UartTX_Send_String(uartch,17); /發(fā)送 halWait(200); halWait(200); if(count) /判斷串口是否接收到數據 temp = count; /保存接收的數據長度 halWait(50); /等待數據接收完成 if(temp =count) /判斷數據是否接收完成 UartTX_Send_String(str

34、,count); /回發(fā)接收到的數據 str = 0; count = 0; 2、核心代碼及程序流程圖:代碼清單:void main() int tempera; int humidity; char s16; UINT8 adc0_value2; float num = 0; SET_MAIN_CLOCK_SOURCE(CRYSTAL); / 設置系統時鐘源為 32MHz 晶體振蕩器 GUI_Init(); / GUI 初始化 GUI_SetColor(1,0); / 顯示色為亮點,背景色為暗點 GUI_PutString5_7(25,6,"OURS-CC2530");

35、/顯示 OURS-CC2530 GUI_PutString5_7(10,22,"Temp:"); GUI_PutString5_7(10,35,"Humi:"); GUI_PutString5_7(10,48,"Light:"); LCM_Refresh(); while(1) th_read(&tempera,&humidity); /讀取溫度和濕度 sprintf(s, (char*)"%d%d C", (INT16)(int)tempera / 10), (INT16)(int)tempera

36、 % 10); /將溫度結果轉換為字符串 GUI_PutString5_7(48,22,(char *)s); /顯示結果 LCM_Refresh(); sprintf(s, (char*)"%d%d %", (INT16)(int)humidity / 10), (INT16)(int)humidity % 10); /將濕度結果轉換為字符串 GUI_PutString5_7(48,35,(char *)s); /顯示結果 LCM_Refresh(); /* AIN0 通道采樣 */ ADC_ENABLE_CHANNEL(ADC_AIN0); / 使能 AIN0 為 ADC 輸入通道 /* 配置 ADCCON3 寄存器以便在 ADCCON1.STSEL = 11(復位默認值)且 ADCCON1.ST = 1 時進行單一轉換 */ /* 參考電壓:AVDD_SOC 引腳上的電壓 */ /* 抽取率:512 */ /* ADC 輸入通道:AIN0 */ ADC_SINGLE_CONVERSION(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論