《物聯(lián)網(wǎng)應(yīng)用工程師》考試學(xué)習(xí)套件實(shí)驗(yàn)指導(dǎo)書_第1頁
《物聯(lián)網(wǎng)應(yīng)用工程師》考試學(xué)習(xí)套件實(shí)驗(yàn)指導(dǎo)書_第2頁
《物聯(lián)網(wǎng)應(yīng)用工程師》考試學(xué)習(xí)套件實(shí)驗(yàn)指導(dǎo)書_第3頁
《物聯(lián)網(wǎng)應(yīng)用工程師》考試學(xué)習(xí)套件實(shí)驗(yàn)指導(dǎo)書_第4頁
已閱讀5頁,還剩281頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

教育部全物聯(lián)網(wǎng)技術(shù)應(yīng)用人オ培養(yǎng)認(rèn)證項(xiàng)目辦公室/1f教育部全物聯(lián)網(wǎng)技術(shù)應(yīng)用人オ培養(yǎng)認(rèn)證項(xiàng)目辦公室/1f《物聯(lián)網(wǎng)應(yīng)用工程師》認(rèn)證考試學(xué)習(xí)套件實(shí)驗(yàn)指導(dǎo)書目錄TOC\o"1-5"\h\z\o"CurrentDocument"第1章ZigBee簡(jiǎn)介和開發(fā)環(huán)境快速建立 21.1ZigBee簡(jiǎn)介 2ZigBee開發(fā)套件介紹 5CC2530核心板 5功能底板 6傳感器底板 7CCDEBUGGER 仿真器 8開發(fā)環(huán)境快速建立 9\o"CurrentDocument"相關(guān)軟件和驅(qū)動(dòng)安裝 10\o"CurrentDocument"IAR工程文件的快速建立 17附錄: 24TlSmartRFFlashProgrammer下載程序 24\o"CurrentDocument"第2章基礎(chǔ)實(shí)驗(yàn) 26點(diǎn)亮第一個(gè)LED 26按鍵 29外部中斷 33定時(shí)器 36\o"CurrentDocument".1定時(shí)器T1(查詢方式) 36.2定時(shí)器T3(中斷方式) 39ロ通訊 41串口發(fā)送(HELLOWORLD) 42串口接收和發(fā)送(send&receive) 48UART〇一控制LED 51AD控制(自帶溫度計(jì)) 537.睡眠喚醒 582.7.1中斷喚醒 592.7.2定時(shí)器喚醒 622.8看門狗 642.9LCD12864液晶顯示 67\o"CurrentDocument"第3章組網(wǎng)演練 73Zigbee協(xié)議棧簡(jiǎn)介 73無線點(diǎn)燈 75信號(hào)傳輸質(zhì)量檢測(cè) 88協(xié)議棧工作原理介紹 99協(xié)議棧中的串口實(shí)驗(yàn) 109協(xié)議棧中的按鍵實(shí)驗(yàn) 122一小時(shí)實(shí)現(xiàn)無線數(shù)據(jù)傳輸 1278串口透?jìng)?打造無線串口模塊 138網(wǎng)絡(luò)通訊實(shí)驗(yàn)(單播、組播、廣播) 149\o"CurrentDocument"點(diǎn)播(點(diǎn)對(duì)點(diǎn)通訊) 150組播 157廣播 16310Zigbee協(xié)議棧網(wǎng)絡(luò)管理 1673.1I傳感器應(yīng)用 173溫度傳感器DS18B2O 173溫濕度度傳感器DHT11 185光敏傳感器 197煙霧傳感器 207紅外熱釋電傳感器 215附錄 224ー、CC2530+PA(CC2591)模塊協(xié)議棧的使用方法 224\o"CurrentDocument"二、如何在同一地方組建多個(gè)ZigBee網(wǎng)絡(luò) 226\o"CurrentDocument"第4章項(xiàng)目實(shí)戰(zhàn) 2284.1無線點(diǎn)臺(tái)燈 2282無線IC卡考勤機(jī) 2363串ロ通訊助手==Zigbee聊天助手 248第1章ZigBee簡(jiǎn)介和開發(fā)環(huán)境快速建立1.1ZigBee簡(jiǎn)介Zigbee是基于!EEE802.15.4標(biāo)準(zhǔn)的低功耗個(gè)域網(wǎng)協(xié)議。根據(jù)這個(gè)協(xié)議規(guī)定

的技術(shù)是ー種短距離、低功耗的無線通信技術(shù)。這ー名稱來源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飛翔和“嗡嗡”(zig)地抖動(dòng)翅膀的“舞蹈”來與同伴傳遞花粉所在方位信息,也就是說蜜蜂依靠這樣的方式構(gòu)成了群體中的通信網(wǎng)絡(luò)。其特點(diǎn)是近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本。主要適合用于自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備。簡(jiǎn)而言之,ZigBee就是ー種便宜的,低功耗的近距離無線組網(wǎng)通訊技術(shù)。國(guó)內(nèi)通常會(huì)翻譯成“紫蜂”,我倒不喜歡這個(gè)名字,因?yàn)樗崆嗽瓉淼暮x。相信大部分人開始時(shí)會(huì)以為Zigbee是ー類無線模塊,我ー開始也是這么的認(rèn)為,所以當(dāng)我首次看到Zigbee產(chǎn)品時(shí),第一時(shí)間找它上面的MCU,還真想知道用什么單片機(jī)來控制這東西,找了半天沒發(fā)現(xiàn),ー頭霧水。最后オ發(fā)現(xiàn),原來我們CC2530芯片上集成了8051內(nèi)核,你沒看錯(cuò),我也沒打錯(cuò),里面集成了一片增強(qiáng)型的51單片機(jī)。只要你有51單片機(jī)的編程基礎(chǔ),就可以輕輕松松的開始玩Zigbee了〇圖1.1ADataRateTypicalRange圖1.1ADataRateTypicalRangeApplicationExamplesZigBee20to250Kbps10-100mWirelessSensorNetworksBluetooth1to3Mbps2-10mWirelessHeadsetWirelessMouseIEEE1toll30-100mWirelessInternet802.11bMbpsConnectionZigbee,藍(lán)牙、WIFI傳輸標(biāo)準(zhǔn)對(duì)比圖從表L1A中幾種無線傳輸?shù)膶傩灾形覀兛梢钥吹絑igbee的應(yīng)用范圍是低速率遠(yuǎn)距離的。這造就了Zigbee低功耗信息傳輸?shù)膬?yōu)勢(shì),網(wǎng)上經(jīng)常談到兩節(jié)普通的5號(hào)干電池可以使用6個(gè)月到2年的時(shí)間,免去充電和更換電池的麻煩。ZigBee節(jié)點(diǎn)所屬類別主要分三種,分別是協(xié)調(diào)器(Coodinator)、路由器(Router)、終端(EndDevice)。同一網(wǎng)絡(luò)中至少需要一個(gè)協(xié)調(diào)器,也只能有1個(gè)協(xié)調(diào)器,負(fù)責(zé)各個(gè)節(jié)點(diǎn)16位地址分配(自動(dòng)分配)。理論上可以連上65536個(gè)節(jié)點(diǎn)。組網(wǎng)方式千變網(wǎng)化,如圖L1B所示。星狀X-MeshNetwork(BestReliability)StarNetwork

(Simplest)?Coordinator?Router樹狀絳Mesh-TreeNetwork

(LargeScaleNetworks)EndD^vict圖1.IBZigBee網(wǎng)絡(luò)目前星狀X-MeshNetwork(BestReliability)StarNetwork

(Simplest)?Coordinator?Router樹狀絳Mesh-TreeNetwork

(LargeScaleNetworks)EndD^vict圖1.IBZigBee網(wǎng)絡(luò)目前ZigBee的應(yīng)用領(lǐng)域主要有:.智能家居物聯(lián)網(wǎng)(物聯(lián)網(wǎng)似乎已經(jīng)成了趨勢(shì),我們拭目以待).エ業(yè)、農(nóng)業(yè)無線監(jiān)測(cè)系統(tǒng).個(gè)人監(jiān)控、醫(yī)院病人定位.消費(fèi)電子.城市智能交通.戶外作業(yè)及地下礦場(chǎng)安全監(jiān)護(hù)ZigBee應(yīng)用領(lǐng)域低速無線設(shè)備個(gè)人健處順護(hù)器化

程感動(dòng)制

監(jiān)傳門控玩具和

說戲?玩I!?謝戲器具消費(fèi)電ア圖1.ICZigBee應(yīng)用領(lǐng)域Zigbee的應(yīng)用領(lǐng)域很丿フ這里就不列舉了。隨著技術(shù)日益成熟以及價(jià)格的下降,Zigbee在大多領(lǐng)域取代原始的無線模塊是毋庸置疑的。舉個(gè)最簡(jiǎn)單的例子,終端節(jié)點(diǎn)和協(xié)調(diào)器的最大通訊距離為200米,我們?cè)?00米的地方加入I個(gè)節(jié)點(diǎn)設(shè)備作為路由器,那么終端就可以通過路由器轉(zhuǎn)發(fā),也就是說通訊距離可達(dá)400米。而且新節(jié)點(diǎn)加入現(xiàn)有網(wǎng)絡(luò)極為方便。我們姑且可以先把ZigBee當(dāng)成普通的無線模塊應(yīng)用。1.2ZigBee開發(fā)套件介紹我們的學(xué)習(xí)平臺(tái)是IAR+Z-stack2007PRO,芯片是T!公司的CC2530。也是目前國(guó)內(nèi)最流行的且資料最全的Zigbee學(xué)習(xí)和應(yīng)用方案。實(shí)驗(yàn)指導(dǎo)書上的例程也是基于本學(xué)習(xí)平臺(tái)開發(fā)的,承諾資源會(huì)不斷更新,保證所有程序能直接跑起。毫不夸張地說,你甚至可以將本教材的例程和實(shí)踐應(yīng)用在自己的設(shè)計(jì)、項(xiàng)目生產(chǎn)上。CC2530核心板圖1.2ACC2530核心板功能特點(diǎn):體積小(3.6*2.7cm),重量輕,引出全部10ロ,標(biāo)準(zhǔn)2.54排針接口??芍苯討?yīng)用在萬用板或自制PCB上。模塊使用2.4G全向天線,可靠傳輸距離達(dá)250米。自動(dòng)重連距離高達(dá)110米。

1.2.3功能底板開關(guān)33V引腳5V引腳方口USB:CDEBUGGER仿真器接口開關(guān)33V引腳5V引腳方口USB:CDEBUGGER仿真器接口DC2.1電源接口電源指示燈串口引腳復(fù)位PL-2303圖1.2C功能底板功能特點(diǎn):底板尺寸:7*5cm串口通訊:自帶USB轉(zhuǎn)串口功能(PL-2303),方便筆記本用戶供電方式:方口USB、DC2.1電源座(5V)。7號(hào)鋰電池(3.7V)功能接口:Debug接口,兼容TI標(biāo)準(zhǔn)仿真工具,引出所有I。口,常用的串口引腳以及5V/3.3V引腳功能按鍵:1個(gè)復(fù)位,2個(gè)普通按鍵LED指示燈:電源指示燈、組網(wǎng)指示燈和普通LED模塊支持:支持CC2530核心板,CC2530+PA(cc2591)核心板。特色:模塊可以使用7號(hào)3.7V鋰電池通過LDO進(jìn)行穩(wěn)壓供電,此時(shí)可以由學(xué)習(xí)板變身為移動(dòng)節(jié)點(diǎn),學(xué)習(xí)使用2不誤。該設(shè)計(jì)大大提高了節(jié)點(diǎn)的工作時(shí)間和節(jié)約用戶開支。所有電源指示燈繼電罌銅柱POTERP2P3紅外処鼻?伶島?'仿真器煙霧LOGO核心模蠅口傳感器使能跳線帽方口USB開關(guān)組網(wǎng)狀態(tài)指示燈をCC2530植7板5V引腳PL-23O3復(fù)位光敏溫濕度DHT11I-C5IXD5B0Q2I所有電源指示燈繼電罌銅柱POTERP2P3紅外処鼻?伶島?'仿真器煙霧LOGO核心模蠅口傳感器使能跳線帽方口USB開關(guān)組網(wǎng)狀態(tài)指示燈をCC2530植7板5V引腳PL-23O3復(fù)位光敏溫濕度DHT11I-C5IXD5B0Q2I価DS18B2ODC2.1電3源接口イ紅外熱釋電物取冃開發(fā)平臺(tái)ZigBee次度MtMMB/R1|83.3V引腳ijii?USB#f〇レLCD圖1.2D傳感器底板功能特點(diǎn):.底板尺寸:15*10cm.串口通訊:自帶USB轉(zhuǎn)串口功能(PL-2303),方便筆記本用戶.供電方式:方口USB、DC2.!電源座(5V)。.功能接口:Debug接口,兼容TI標(biāo)準(zhǔn)仿真工具,引出所有10ロ,常用的串口引腳以及5V/3.3V引腳.功能按鍵:1個(gè)復(fù)位,2個(gè)普通按鍵.LED指示燈:電源指示燈、組網(wǎng)指示燈和普通LED.傳感器:溫度傳感器DS18B20、溫濕度傳感器DHT11、光敏傳感器、煙霧傳感器、紅外熱釋電傳感器.其他:繼電器、RFIDIC卡、LCD12864特色:開發(fā)平臺(tái)每部分傳感器都自帶跳線帽作為選通使能端,我們只需要選需要的傳感器便可使用,這樣方便用戶編程時(shí)候!0口復(fù)用以及擴(kuò)展自己的傳器等模塊。1.2.6CCDEBUGGER仿真器圖1.2FCCDEBUGGER功能特點(diǎn):.小尺寸4.7*23cm,標(biāo)準(zhǔn)USB接口,直接使用。.支持IAR在線調(diào)試下載和SmartRFSTUDI07packetsniffer協(xié)議分析功能.支持TIzigbee系列芯片,如:CClllx/CC243x/CC253x/CC251x特色:預(yù)留USB_bootloader更新接口,允許用戶自行更新USB_bootloader.ZigBee開發(fā)套件:1.3開發(fā)環(huán)境快速建立記得以前我們學(xué)習(xí)51單片機(jī)的時(shí)候相信用得最多的是KEIL了‘類似,這里我們使用IAR7.60A(為什么是7.60A這個(gè)版本我們后面將會(huì)提及。),IAR開發(fā)最大優(yōu)勢(shì)就是能夠直接使用TI公司提供的協(xié)議棧Z-Stack進(jìn)行開發(fā),我們只需要調(diào)用API接口函數(shù)。這里我們選用ZStack-CC2530-2.3.0-1.4.0(Zigbee2007),網(wǎng)上也有用Zstack-CC253023.1-1.4.0等其他高版本的,基本相差無幾,但是目前2.3.0的通用性較高。初學(xué)者要注意了,IAR和Z-Stack的高低版本是互不兼容的,所以我們兩個(gè)東西的版本安裝選取一定要配合好。經(jīng)過我這個(gè)白老鼠測(cè)試,IAR7.60A和Zstack-CC2530-2.3.0-1.4.0配合使用時(shí)從安裝到開發(fā)都很友好。本節(jié)內(nèi)容分兩部分:1、相關(guān)軟件和驅(qū)動(dòng)安裝2、IAR項(xiàng)目工程文件的快速建立。相關(guān)軟件和驅(qū)動(dòng)安裝第一步:安裝IAR7.60A方法:打開安裝文件,選擇IAR安裝,官方推薦默認(rèn)安裝在系統(tǒng)盤:打開安裝文件,選擇IAR安裝,官方推薦默認(rèn)安裝在系統(tǒng)盤:?IARSYSTEMS提示要求輸入License,由IAR7.60注冊(cè)機(jī)生成(參考圖1.3C),選項(xiàng)正確后生成License,復(fù)制至りLicense#處:圖1.3B圖1.3CIAR注冊(cè)機(jī)輸入注冊(cè)碼后按提示一步步進(jìn)行安裝,直至完成程序安裝。程序安裝完成后默認(rèn)路徑為:

Abin文件09遍播口査看セ收課?工具注)幫助〇〇后退▼ タノ搜索 文件夾::卜FolderSync地址?印:ゝProgramFiles\IARSysteas\EabeddedYorld>ench6.0\common\bin文件和文件夾任務(wù) 會(huì)J創(chuàng)建一個(gè)新文件夾0格這個(gè)文件夾發(fā)而到WebB共享此文件夾CSpyBatENU6041697IAKCSpj^atdllLane.DebufcerGu>dll6041697IAKC-SPYDebuff.FindlnFiles.dll6041697IARFindInFiles其它位置詳細(xì)信息□CSpyBat.exe文件和文件夾任務(wù) 會(huì)J創(chuàng)建一個(gè)新文件夾0格這個(gè)文件夾發(fā)而到WebB共享此文件夾CSpyBatENU6041697IAKCSpj^atdllLane.DebufcerGu>dll6041697IAKC-SPYDebuff.FindlnFiles.dll6041697IARFindInFiles其它位置詳細(xì)信息□CSpyBat.exeIARCSpyBatIARSystems.w]Debu“er"EMUdllIWk.16041697IIARC-SPYDebu?<卜、FindlnFilesEMUdllIWIkl6041697IARFindInFileCSpyBat.JPN.6041697IARCSpyBatdllL?n2.D?bu((?rGuiJPNdll604.1697IARC-SPYD?bu(cFindlnFiltsJPNdll6041697IARFindInFile收5日期2012年7月5日,916larBuildENUdll6.041697IARBuildUtilit.larldeP*ENUdll/6041697(IABEmbeddedWorlI*rIdeP?JPNdll6041697IABEmbeddedforlarBuild.exeBuildUtilitydll41697IARID2FriorklarBuild.JPH.dllB.04.1697IARBuildUtilitIwIdePm.ext.localLOCAL文件1KBIdeFrameworkENU6041697IARIDEFrtmeworIdeFranework.JPN6041697IARIDEFrameworIdeFranework.JPN6041697IARIDEFrameworkerneldll6041697IARC-SPYDebu^gkernelJPNdll6041697IAKC-SMDebuee.LogVindovdll6041697IARLo(Yindovkernel.ENU.dll6.0,4.1697IARC-SPYDebuggLogWindow.ENUdll6041697IARLotWindowL36個(gè)對(duì)象116MB436個(gè)對(duì)象圖1.3DIAR默認(rèn)安裝路徑安裝完成軟件界面如下:仔!ARKabeddedWorkbenchI!ロづ0昌ミ!'>、篤國(guó)?一晶ス"心K色>.32可鋁ロづ0昌ミ!'>、篤國(guó)?一晶ス"心K色>.32可鋁EXAMPLEPROJFCTSGtTTRIGSIARHD的い??レ?エeiARS>S1F\IS圖!.3EIAR7.60軟件界面:第二步:Tl協(xié)議棧Zstack-CC253023.0-1.4.0安裝方法:

Z-stack的安裝比較簡(jiǎn)單,同樣安裝在默認(rèn)路徑。圖1.3F安裝過程協(xié)議棧安裝完成后在圖1.3G這個(gè)路徑(C盤為系統(tǒng)盤),里面包含了例程和工具。我們將在后面講解:圖!.3GZ-stack默認(rèn)安裝路徑Z-stack我們還沒需要用得這么快,在接下來的教程里,我們先把它當(dāng)做ー款51單片機(jī)來學(xué)習(xí),學(xué)習(xí)其資源和內(nèi)部寄存器。也就是基礎(chǔ)實(shí)驗(yàn),基礎(chǔ)好的就

當(dāng)做復(fù)習(xí)一下單片機(jī)吧。第三步:CCDEBUGGER驅(qū)動(dòng)安裝方法我們將CCDEBUGGER插進(jìn)電腦,提示找到新硬件,選擇列表安裝圖1.3H驅(qū)動(dòng)的路徑如圖1.31,前提是已經(jīng)安裝IAR7.60。

圖1.31安裝完成后,重新拔插仿真器,在設(shè)備管理器里找到ChipconSRF04EB,說明驅(qū)動(dòng)安裝完成,如圖1.3J所示。圖1.3J驅(qū)動(dòng)安裝完成連接CC2530開發(fā)板,按下DEBUGGER復(fù)位鍵,芯片指示燈亮(表示檢測(cè)到開發(fā)板上CC2530芯片),則完成連接工作。圖1.3K仿真器識(shí)別芯片指示燈亮至此,相關(guān)開發(fā)軟件和仿真器驅(qū)動(dòng)都安裝好了,接下來我們講ー下在IAR7.60編譯環(huán)境中如何快速建立自己的工程和修改相關(guān)配置。

IAR工程文件的快速建立第一步:打開我們上次已經(jīng)安裝好的IAR軟件,新建一個(gè)Project-CreateNewProject.選擇默認(rèn)選項(xiàng)可以了,點(diǎn)擊OK。保存在自己希望的路徑。圖1.3L圖1.3M第二步:新建文件,輸入#includeくioCC2530.h>,我們基礎(chǔ)實(shí)驗(yàn)需要用到的也只有這個(gè)頭文件。然后保存為.c格式到工程文件路徑下。怎么樣,是不是跟KEIL開發(fā)51很相似呢?IAREaboddedVorkbonchIDEDebug□LED-Debu?/,二,,!ユユ-D安。。昌?cta?IAREaboddedVorkbonchIDEDebug□LED-Debu?/,二,,!ユユ-D安。。昌?cta?恥tLEDrFl fHelpミ]、電國(guó)酚シ 芻彩あ2Ln1,Col14二一x|Ready圖1.3N保存為.c格式文件第三步:弄好后就可以繼續(xù)敲代碼了,這是基礎(chǔ)實(shí)驗(yàn)里點(diǎn)亮第一個(gè)點(diǎn)亮LED代碼大家看懂沒問題(具體參考基礎(chǔ)實(shí)驗(yàn))。打完后保存,記得要在左邊エ程里單擊右鍵—add—?jiǎng)偙4娴腃文件,成功添加后如圖所示。圖1.30輸入全部代碼第四步:我們還需要在IAR里配置一下幾個(gè)選項(xiàng)。打開Project Options,GeneralOptions配置如圖1.3P,單擊圓圈所示按鈕,先向上返回上ー級(jí)目錄,然后打開TexasInstruments文件夾,選擇CC2530F256芯片。選擇Linker—Config—Linkercommandfile選項(xiàng)。單擊圖1.3Q所示按鈕,導(dǎo)出配置文件,先向上返回上一級(jí)目錄,然后打開TexasInstruments文件夾,選擇lnk51ew_cc2530F256.xcl(這里是使用CC2530F256芯片)。圖1.3PGeneralOptions參數(shù)圖1.3QLinker-Config配置查找范圍ぐ大一)TexasInstruments我最近的文檔畫!nk51ew_ccl110F32.xclgj|lnk51ew_ccllllF8.xclLsX畫!nk51ew_ccl111F16.xcl桌面g|lnk51ew_ccllllF32.xcl回!nk51ew_cc2430F32.xclコ回!nk51ew_cc2430F64.xcl我的文檔畐|lnk51ew_cc2430F128.xcl回lnk51ew_cc2430F128_bankedザ畫lnk51ew_cc2431F128.xcl我的電腦回lnk51ew_cc2431F128_banked丨w-1圓!nk51ew_cc2510F8.xcl1JL1g)lnk51ew_cc2510F16.xcl我的酷盤目lnk51ew_cc2510F32.xclxclxcl^|lnk51ew_cclllOF8.xcl畫!nk51ew_cclllOF16.xcl回lnk51畫lnk51ew_司lxtk51ew_酉lnk51ew_到lnk51ew_國(guó)lnk51ew_且1週1lnk51ew3|Inkblew~回lnk51ew_司lnk51ew_mlnk51ew_國(guó)lnk51ew_回!nk51ew_gj]lnk51ew_1①ず匿]▼cc2511F8.xclcc2511F16.xclcc2511F32.xclcc2530F32.xclcc2530F64.xclcc2530F128.xclxclcc2530F2567xcl)WZ53UrZoo_banked.xclcc2531F128.xclcc2531F128_banked.xclcc2531F256.xclcc2533F32.xclcc2533F64.xclcc2533F96.xcl,.i文件名(B): |lnk51ew_cc2530F256.xc! 二] 打開@)文件類型(!): |XclFiles(?.xcl) 三] 取消第五步:然后在Debugger選項(xiàng)的Driver里選擇TexasInstruments(使用編程器仿真),下面選擇io8051.ddf文件,如圖L3S所示。至此,基本配置已經(jīng)完成。其它配置以后需要用到時(shí)我們會(huì)提及。圖1.3SDebugger參數(shù)配置第六步:Project-Make編譯后顯示。錯(cuò)誤和。警告。將CCDEBUGGER和開發(fā)板連接好,然后點(diǎn)擊:Project-DownloadandDebug(下載與仿真)。快捷鍵如圖1.3T所示:

程序在下載中:程序在下載中:圖1.311下載完成,進(jìn)入仿真調(diào)試界面,常用按鈕如圖1.3V所示。Debug曰!□翻リ?b卜田ElLEDじ*-S□Outpi\:瑪T//おメPユ0口為L(zhǎng)EDンDebug曰!□翻リ?b卜田ElLEDじ*-S□Outpi\:瑪T//おメPユ0口為L(zhǎng)EDン控制端,defineLED1Pl0//P!〇定義為輸出voidmain(void)£ilt ViewprojectRebyTex&sInstr0mtsEmulatorエoolsnmdcnrHelpD¥P0當(dāng)停止仿真IZ1AKEabeddedWorkbenchIDE加-voidioinit(void)全速運(yùn)行P1DIR|=0x01;}LED1=O;while(1);/Z調(diào)用初始化程序//點(diǎn)亮LEDTGotoOTT下FFTT下T下下-F下下8FFFFFFFFFFFFFFMam へ00002712002300002AC290vhila(1).00002C00002E00002F00003000003100003200003300003400003500003600003700003800003900003Annnn^R<±!LogMonJul3015:22:332012:NoverificationerrorsfoundduringdownloadMonJul3015:22:332012:Downloadcompletedandverificationsuccessful.MonJul3015.22:332012.Loadeddebugee:E、學(xué)習(xí)、電子、electronWgbee性スWeBeezibee開發(fā)套件配套資源例程和說明\1基砥實(shí)處、1點(diǎn)殼第一個(gè)しED\Debug\Exe\led.hexMonJul3015:22:332012TargetresetB出R?*dy 'La19,Col5

點(diǎn)擊GO(全速運(yùn)行),程序執(zhí)行。使用CCDEBUGGER可以直接在IAR中下載程序并調(diào)試。結(jié)束后程序仍然保留在芯片flash內(nèi),相當(dāng)于燒寫工具。非常方便。圖1.3W全速運(yùn)行后,LED1被點(diǎn)亮至此,我們已經(jīng)完成了ZigbeeCC253O基于IAR開發(fā)環(huán)境的操作流程。無論是基礎(chǔ)實(shí)驗(yàn)還是協(xié)議棧編程,其方法大同小異。通過本章學(xué)習(xí)希望你能掌握開發(fā)流程。為接下來的實(shí)驗(yàn)內(nèi)容鋪好路。附錄:一.使用TlSmartRFFlashProgrammer下載程序現(xiàn)在大部分的CCDEBUGGER都支持在IAR編譯環(huán)境中進(jìn)行程序的下載和調(diào)試,非常方便。在這里我們補(bǔ)充一下另ー種程序燒寫方法,使用TlSmartRFFlashProgrammero第一步:配置編譯器使生成.hex文件。如圖!.3X,1.3YO配置后點(diǎn)擊make編譯后,會(huì)在工程目錄下的Debug—Exe找到生成的.hex文件。1.3X1.3Y第二步:打開TlSmartRFFlashProgrammer?選擇System-on-chip(切記別選錯(cuò)),添加剛剛生產(chǎn)的.hex文件。點(diǎn)擊程序下載按鈕,.hex文件變被下載到芯片內(nèi)。Texas

Instruments^^ystem-on-Chi^^Bapplication(USB)|EBapplication(serial)|EBbootloader|MSP43O別選錯(cuò)而Ubu!風(fēng)麗,1 0050CC2530SmartRF04DDInterfaceTexas

Instruments^^ystem-on-Chi^^Bapplication(USB)|EBapplication(serial)|EBbootloader|MSP43O別選錯(cuò)而Ubu!風(fēng)麗,1 0050CC2530SmartRF04DDInterfaceFlashimage:|DAled.hexReadIEEE]0400 0045_Location(?Primary「SecondaryIEEEOxフRetainIEEEaddresswhenreprogrammingthechipViewInfoPageActons:「Eraseandprogram6Erase,pcogramandverify「Appendandverify「Verifyagainsthexfie「Readflashmtohex-file.hex文件路徑Flashlock(effectiveafterprogram/append):Writeprotect:VBlockdebugcommands(ind.readaccess)NB:Cannot"Appendandverify"whenselfくPerformactions 程片下囊按包CC2530-ID0050Erase,programandvenfyOK1.3ZTlSmartRFFlashProgrammer

第2章基礎(chǔ)實(shí)驗(yàn)很多人說學(xué)習(xí)ZigBee重點(diǎn)在協(xié)議棧,這個(gè)是不爭(zhēng)的道理。但是基礎(chǔ)實(shí)驗(yàn)也有著重要的地位?;A(chǔ)實(shí)驗(yàn)說白了就是在玩增強(qiáng)型51單片機(jī)。學(xué)習(xí)本章將能令你快速掌握CC2530的編程方法,在以后學(xué)習(xí)完組網(wǎng)及數(shù)據(jù)傳輸?shù)某绦蚝笪覀儠?huì)發(fā)現(xiàn),很多應(yīng)用必須是基于傳感器和控制類芯片的,而這些恰好是基礎(chǔ)實(shí)驗(yàn)的知識(shí),好吧,廢話少說,馬上開始我們的基礎(chǔ)實(shí)驗(yàn)講解。請(qǐng)先看基礎(chǔ)實(shí)驗(yàn)講解格式預(yù)覽,每ー節(jié)我們都會(huì)以以下形式講解,圖文并茂,務(wù)求達(dá)到快速理解的效果:1)標(biāo)題:基礎(chǔ)實(shí)驗(yàn)內(nèi)容2)前言:簡(jiǎn)單介紹這個(gè)版塊的應(yīng)用3)實(shí)驗(yàn)現(xiàn)象:提前讓大家知道此程序?qū)崿F(xiàn)的現(xiàn)象。4)實(shí)驗(yàn)講解:對(duì)寄存器、代碼、編程方法詳細(xì)講解,代碼為了方便大家會(huì)使用顏色區(qū)分,盡量做到像編譯器ー樣。5)實(shí)驗(yàn)圖片:記錄程序下載到開發(fā)板上的圖片示例。點(diǎn)亮第一個(gè)LED前言:相信大部分人開始學(xué)習(xí)MCU都會(huì)從點(diǎn)亮LED開始,我們Zigbee的學(xué)習(xí)也不例外,通過點(diǎn)亮第一個(gè)LED能讓你對(duì)編譯環(huán)境和程序架構(gòu)有一定的認(rèn)識(shí),為以后的學(xué)習(xí)和更大型的程序打下基礎(chǔ),增加信心。實(shí)驗(yàn)現(xiàn)象:程序?qū)嶒?yàn)點(diǎn)亮LED1實(shí)驗(yàn)講解:我們先來看看ZigBee功能底板的LED部分原理圖:如圖2.1A所示。CC2530的10口配置我們需要配置三個(gè)寄存器P1SELヽP1DIRヽP1INPO10口功能如下表所示:(詳細(xì)參考CC2530datasheet,pdf)P0SEL(0XF3)P0[7:0]功能設(shè)置寄存器,默認(rèn)設(shè)置為普通I/OロP0INP(0X8F)P0[7:0]作輸入口時(shí)的電路模式寄存器P0(0X80)P0[7:0]可位尋址的I/O寄存器PODIR(OXFD)P0口輸入輸出設(shè)置寄存器,〇;輸入,1:輸出表2.1ACC253010口寄存器P1SEL(0:普通10ロ1:第二功能)P1DIR(0:輸入1:輸出)P1INP(0:上拉/下拉 1:三態(tài))按照表格寄存器內(nèi)容,我們對(duì)LED1,也就是Pl_0口進(jìn)行配置,當(dāng)Pl_0輸出低電平時(shí)LED!被點(diǎn)亮。所以配置如下:P1SEL&=~0x01;〃作為普通!0ロP1DIR|=0x01J〃P1_O定義為輸出P1INP&ゴ。X01;〃打開上拉由于CC2530寄存器初始化時(shí)默認(rèn)是:P1SEL=0x00;P1DIR|=Oxff;P1INP=0X00;所以!0口初始化我們可以簡(jiǎn)化初始化指令:P1DIR|=0x01;〃P10定義為輸出源程序代碼(全)程序描述:點(diǎn)亮LED1^include<ioCC2530.h>^defineLED1Pl_0〃定義PIOロ為L(zhǎng)ED!控制端voidI0_Init(void)(P1DIR|=0x01; 〃P1_O定義為輸出)voidmain(void)(I0_Init(); 〃調(diào)用初始化程序LED1=0; 〃點(diǎn)亮LED1whiled);實(shí)驗(yàn)圖片:圖2.IB點(diǎn)亮LED12.2按鍵前言:相信大家經(jīng)過例程1點(diǎn)亮LED實(shí)驗(yàn)后對(duì)CC2530的編程以及!AR的編譯方法有一定的了解。我們來講解一下zigbee模塊的按鍵實(shí)驗(yàn),按鍵是實(shí)現(xiàn)人機(jī)交互必不可少的東西,我們實(shí)驗(yàn)就用來實(shí)現(xiàn)按鍵控制LED。實(shí)驗(yàn)現(xiàn)象:依次按下按鍵S1控制しED1的亮和滅實(shí)驗(yàn)講解:我們先來看看功能底板的KEY和LED部分原理圖:如圖2.2A所示。GND3.3V ,士巴?470LEDクkJPl03.3VT PO4/BUT110KS13.3V ,士巴?470LEDクkJPl03.3VT PO4/BUT110KS1SW-PB3.3V…T470「EDウPl1210KS2PO5/BUT2GND■oO—iSW-PB1GND圖2.2ACC2530的10口配置我們需要配置三個(gè)寄存器P1SELヽP1DIRヽP1INP,功能如下表所示:(詳細(xì)參考CC2530datasheet,pdf)P0SEL(0XF3)PO[7:0]功能設(shè)置寄存器,默認(rèn)設(shè)置為普通I/OロP0INP(0X8F)P0[7:0]作輸入口時(shí)的電路模式寄存器P0(0X80)P0[7:0]可位尋址的I/O寄存器PODIR(OXFD)P0口輸入輸出設(shè)置寄存器,0:輸入,1:輸出表2.2AP1SEL(0:普通10ロ!!第二功能)P1DIR(0:輸入1:輸出)P1INP(0:上拉/下拉 !:三態(tài))按照表格寄存器內(nèi)容,我們對(duì)LED1和按鍵S1,也就是PL0和P0.4口進(jìn)行配置,當(dāng)P1.0輸出低電平時(shí)LED1被點(diǎn)亮,S!按下時(shí)P0.4被拉低。所以配置如下:

LED!初始化:P1SEL&=~0x01;〃作為普通!OロP1DIR|=0x01J〃P10定義為輸出P1INP&=~0X01;〃打開上拉按鍵S1初始化:P0SEL&='0X10;〃設(shè)置P04為普通1011P0DIR&=~0X10;〃按鍵作P04ロ,設(shè)置為輸入模式P0INP&='0x10I〃打開P04上拉電阻,不影響由于CC2530寄存器初始化時(shí)默認(rèn)是:P1SEL=0x00;P1DIR=Oxff;P1INP=0X00;所以!0口初始化我們可以簡(jiǎn)化初始化指令:P1DIR|=0x01J 〃P1_O定義為輸出P0DIR&=~0X10; //按鍵隹P04ロ,設(shè)置為輸入模式源程序代碼(全)程序描述:依次按下按鍵S1控制LED1的亮和滅^include<ioCC2530.h>^defineuintunsignedintttdefineucharunsignedchar〃定義控制LED燈的端口^defineLED1Pl_0//LED!為Pl.0口控制#defineKEY1P0_4〃KEY1為P0.1口控制〃函數(shù)聲明voidDelayms(uint): 〃延時(shí)函數(shù)voidInitLed(void); 〃初始化LED1voidKeylnitO; 〃按鍵初始化ucharKeyScan()J 〃按鍵掃描程序延時(shí)函數(shù)voidDelayms(uintxms)//i=xms即延時(shí)i毫秒uintI,j;for(i=xms;i>0;i-)for(j=587;j>0;j-);}LED初始化函數(shù)voidInitLed(void){P1DIR|=0x01J 〃P1_O定義為輸出LED1=1;//LED1燈熄滅)按鍵初始化函數(shù)voidInitKey()(POSEL&=?0X10; 〃設(shè)置P04為普通!0ロP0DIR&=~0X10; 〃按鍵在P04ロ,設(shè)置為輸入模式P0INP&=?0x10; 〃打開P04上拉電阻,不影響}按鍵檢測(cè)函數(shù)ucharKeyScan(void)(if(KEYl==0){Delayms(lO);if(KEYl==0)(while(!KEYl);〃松手檢測(cè)return1; 〃有按鍵按下)}return0; 〃無按鍵按下}主函數(shù)voidmain(void)(InitLedO; 〃調(diào)用初始化函數(shù)InitKey();while(1)實(shí)驗(yàn)圖片:if(KeyScan())LED1=~LED1;〃按鍵改變LED狀態(tài)圖2.2B按鍵控制LED前言:中斷在MCU里面應(yīng)用是非常廣泛的,比如應(yīng)用在時(shí)鐘上的按鍵,我們可以發(fā)現(xiàn)基本上是不怎么使用的,如果用中斷方式來代替?zhèn)鹘y(tǒng)的掃描方式,能節(jié)省CPU資源。也就是具有良好的實(shí)時(shí)性,本節(jié)將講述CC2530的中斷應(yīng)用。實(shí)驗(yàn)現(xiàn)象:依次按下按鍵S1控制LED1的亮和滅實(shí)驗(yàn)講解:我們先來看看功能底板的KEY和LED部分原理圖:如圖1所示。“ GNDR111470LEDク>P1〇3.3V10K3.3V…R111470LEDク>P1〇3.3V10K3.3V…LEDル?LJP11470D八く/DTTT1つS2GNDSW-PB—1—siGNDPO4/BUT133V…工巴!10K圖2.3ACC2530的外部中斷我們需要配置三個(gè)寄存器POIENヽPICTL、POIFG、1EN1O10口配置請(qǐng)留意前2節(jié)教程內(nèi)容。各寄存器功能如下表所示:(詳細(xì)參考CC2530datasheet,pdf)POIEN(OXAB)PO[7:0]中斷掩碼寄存器.0:關(guān)中斷1:開中斷PICTL(0X8C)P口的中斷觸發(fā)控制寄存器BitO為P0[0:7]的中斷觸發(fā)配置:0:上升沿觸發(fā) 1S下降沿觸發(fā)P01FG(0X89)P0[7:0]中斷標(biāo)志位,在中斷發(fā)生時(shí),相應(yīng)位置1.IEN1(OXB8)Bit5為P0[7:0]中斷使能位:0:關(guān)中斷 1:開中斷表2.3A按照表格寄存器內(nèi)容,我們對(duì)LED1和按鍵S1,也就是PL0和P0.4口進(jìn)行配置,當(dāng)P1.0輸出低電平時(shí)LED1被點(diǎn)亮,S!按下時(shí)P0.4產(chǎn)生外部中斷從而控制LED1的亮滅。所以配置如下:LED!簡(jiǎn)化初始化:P1DIR|=0x01J〃P10定義為輸出外部中斷初始化:POIEN|=0X10;//P04設(shè)置為中斷方式PICTL|=0X01;//下降沿觸發(fā)IEN1|=0X20;〃允許P0口中斷;P0IFG=0x00; //初始化中斷標(biāo)志位源程序代碼(全)程序描述:按鍵S!外部中斷方式改變LED1狀態(tài)#include<ioCC2530.h>#defineuintunsignedintttdefineucharunsignedchar〃定義控制LED燈的端口4defineLED1Pl_0 〃定義LED!為P1.0口控制#defineKEY1P0_4 〃中斷口〃函數(shù)聲明voidDelayms(uint); 〃延時(shí)函數(shù)voidInitLed(void); 〃初始化Pl ロvoidKeylnitO: 〃按鍵初始化ucharKeyValue=0;ク延時(shí)函數(shù)voidDelayms(uintxms)//i=xms即延時(shí)i毫秒{uintI,j;for(i=xms;i>0;i—)for(j=587;j>0;j-);}LED初始化程序voidInitLed(void)(P1DIR|=0x01;〃Pl_0定義為輸出LED1=1;//LED1燈熄滅KEY初始化程序ー外部中斷方式voidInitKey(){POIEN|=0X10;//P04設(shè)置為中斷方式PICTL|=0X01;//下降沿觸發(fā)IEN1|=0X20;/Z允許P0口中斷;POIFG=0x00; //初始化中斷標(biāo)志位EA=1J〃開總中斷/*ホホホ******ホ??ft***************中斷處理函數(shù)*****************************I^pragmavector=POINT_VECTOR〃格式:#pragmavector=中斷向量,/Z緊接著是中斷處理程

溫馨提示

  • 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. 人人文庫網(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)論