




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、-. z.-. z.0、實(shí)驗(yàn)準(zhǔn)備0.1、硬件認(rèn)知節(jié)點(diǎn)ZigBee模塊采用TI最新一代ZIGBEE芯片CC2530 支持基于的ZIGBEE2007/PRO協(xié)議采用W*L標(biāo)準(zhǔn)的20芯雙排直插模式接入網(wǎng)關(guān)主板和感知節(jié)點(diǎn)CC2530特點(diǎn):低功耗主動(dòng)模式R*CPU 空閑:24 mA 主動(dòng)模式T* 在1dBmCPU 空閑:29mA 供電模式14 s 喚醒:0.2 mA 供電模式2睡眠定時(shí)器運(yùn)行:1 A 供電模式3外部中斷:0.4 A 寬電源電壓圍2 V3.6 V微控制器優(yōu)良的性能和具有代碼預(yù)取功能的低功耗8051 微控制器核32-、64-或128-KB 的系統(tǒng)可編程閃存8-KB RAM,具備在各種供電方式
2、下的數(shù)據(jù)保持能力支持硬件調(diào)試外設(shè)強(qiáng)大的5 通道DMA IEEE 802.5.4 MAC 定時(shí)器,通用定時(shí)器一個(gè)16 位定時(shí)器,一個(gè)8 位定時(shí)器IR 發(fā)生電路具有捕獲功能的32-kHz 睡眠定時(shí)器硬件支持CSMA/CA 支持準(zhǔn)確的數(shù)字化RSSI/LQI 電池監(jiān)視器和溫度傳感器具有8 路輸入和可配置分辨率的12 位ADC AES 平安協(xié)處理器2 個(gè)支持多種串行通信協(xié)議的強(qiáng)大USART 21 個(gè)通用I/O 引腳 19 4 mA,220 mA看門狗定時(shí)器節(jié)點(diǎn)底板支持4節(jié)電池供電96*16液晶顯示1個(gè)多功能按鍵一個(gè)miniUSB串口,可通過伸縮USB線纜供電標(biāo)準(zhǔn)W*L20針高頻模塊接口以及標(biāo)準(zhǔn)的傳感器模
3、塊接口。圖表 SEQ 圖表 * ARABIC 1傳感器/控制擴(kuò)展模塊圖表 SEQ 圖表 * ARABIC 2LED*4圖表 SEQ 圖表 * ARABIC 3繼電器圖表 SEQ 圖表 * ARABIC 4RFID圖表 SEQ 圖表 * ARABIC 5振動(dòng)傳感器圖表 SEQ 圖表 * ARABIC 6人體紅外傳感器圖表 SEQ 圖表 * ARABIC 7溫度光敏傳感器圖表 SEQ 圖表 * ARABIC 8溫濕度傳感器圖表 SEQ 圖表 * ARABIC 9C51RF-3仿真器USB接口:通過USB接口把C51RF-3仿真器與計(jì)算機(jī)有機(jī)的連接起來。C51RF-3 仿真器通過此接口與計(jì)算機(jī)進(jìn)展通
4、信,要在CC2430/CC2431的ZigBee模塊的開發(fā)上實(shí)現(xiàn)下載、調(diào)試(DEBUG)、仿真等的通信都由此接口來實(shí)現(xiàn)。復(fù)位按鍵:此按鍵用來實(shí)現(xiàn)C51RF-3仿真器的復(fù)位,當(dāng)你需要重新下載、調(diào)試(DEBUG)、仿真你可通過此按鍵來實(shí)現(xiàn)硬復(fù)位。仿真線:這是一根10芯的下載、調(diào)試(DEBUG)、仿真線,通過它與感知節(jié)點(diǎn)的ZigBee模塊進(jìn)展連接。仿真器跟感知節(jié)點(diǎn)的連接示意圖如下所示:0.2、軟件及驅(qū)動(dòng)安裝、IAR安裝如同Windows操作系統(tǒng)其它一般的軟件安裝一樣,單擊物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)toolsiar8.10 目錄下的EW8051-EV-Web-8101.e*e 文件進(jìn)展安裝,你將會(huì)看到如以下圖所示
5、的界面。單擊Ne*t至下一步,將出現(xiàn)如下所示界面,點(diǎn)擊Accept。將分別需要填寫你的名字、公司以及認(rèn)證序列,如以下圖所示。正確填寫后,單擊Ne*t至下一步,將分別需要由你計(jì)算機(jī)的機(jī)器碼和認(rèn)證序列生成的序列鑰匙,如以下圖所示。輸入的認(rèn)證序列以及序列鑰匙正確后,單擊Ne*t到下一步。如以下圖所示,在你將選擇完全安裝或是典型安裝,在這里我們選擇第1個(gè)也就是完全安裝。單擊Ne*t到下一步,在這里你將查證看你輸入的信息是否正確,如以下圖所示。如果需要修改,單擊Back返回修改。單擊Ne*t正式開場(chǎng)安裝,如以下圖所示。在這你將看到安裝進(jìn)度,這將需要幾分鐘時(shí)間的等待,現(xiàn)在你需要耐心等待。當(dāng)進(jìn)度到100%時(shí)
6、,它將跳到下一個(gè)界面,如以下圖所示。在此你可選擇查看IAR 的介紹以及是否立即運(yùn)行IAR開發(fā)集成環(huán)境。單擊Finish來完成安裝。-. z.、USB轉(zhuǎn)串口驅(qū)動(dòng)安裝這里主要是介紹兩個(gè)USB轉(zhuǎn)串口驅(qū)動(dòng)的安裝。驅(qū)動(dòng)目錄:物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)toolsUSB串口驅(qū)動(dòng)這里有兩個(gè)去驅(qū)動(dòng)的安裝,其安裝方法一樣。安裝ft232驅(qū)動(dòng)。將實(shí)驗(yàn)箱中的串口網(wǎng)關(guān)底板用D口的USB線連接到電腦,如果是第一次接入電腦沒有安裝驅(qū)動(dòng)時(shí),系統(tǒng)會(huì)自動(dòng)跳出安裝驅(qū)動(dòng)提示,只要按照提示指定安裝驅(qū)動(dòng)路徑物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)ZIGBEE無線傳感網(wǎng)絡(luò)實(shí)驗(yàn)工具軟件USB 串口驅(qū)動(dòng)ft232usbdriver2.0即可自動(dòng)安裝: 然后直接點(diǎn)擊下一步即可順利完
7、成安裝。安裝CP2102驅(qū)動(dòng)。運(yùn)行目錄:物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)toolsUSB串口驅(qū)動(dòng)cp2102中的安裝文件。自動(dòng)安裝。安裝完畢后,當(dāng)使用到該串口驅(qū)動(dòng)的時(shí)候,自動(dòng)檢測(cè)到硬件,可以選擇自動(dòng)安裝。直到在設(shè)備管理中看到虛擬串口表示安裝成功。也可以類似安裝ft232驅(qū)動(dòng)驅(qū)動(dòng)一樣指定驅(qū)動(dòng)文件路徑進(jìn)展安裝。這里需要安裝兩次,第一次路徑為: 物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)toolsUSB串口驅(qū)動(dòng)cp2102DriversCP210* USB to UART Bridge Controller。第二次路徑為:物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)toolsUSB串口驅(qū)動(dòng)cp2102DriversCP210* USB posite Device。、Smar
8、tRF Flash Programmer安裝及使用安裝文件所在目錄為:物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)toolsTI工具SmartRF Flash Programmer 1.10.2 (Rev. L) 目錄下的點(diǎn)擊開場(chǎng)安裝。全部采用默認(rèn)設(shè)置,Ne*t 到安裝完成。、ZigBee仿真器驅(qū)動(dòng)安裝正常情況下,如果已經(jīng)安裝了IAR或者TI任何一款軟件,則在接入仿真器的時(shí)候均可自動(dòng)安裝其驅(qū)動(dòng)。在設(shè)備管理中得到:。表示仿真器驅(qū)動(dòng)正常安裝?;蛘哌\(yùn)行目錄: 物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)toolsTI工具下的文件。如同安裝其他軟件一樣,按步操作即可完成安裝。安裝完后當(dāng)接入仿真器后可以選擇自動(dòng)安裝完成仿真器驅(qū)動(dòng)的安裝1、CC2530根底實(shí)驗(yàn)1.
9、1、輸入輸出I/O控制實(shí)驗(yàn)、CC2530-1:控制LED燈閃爍【實(shí)驗(yàn)?zāi)康摹?.了解CC2530的GPIO構(gòu)造和配置原理2.如何通過程序控制CC2530的GPIO驅(qū)動(dòng)外部設(shè)備如:LED燈【實(shí)驗(yàn)設(shè)備】實(shí)驗(yàn)設(shè)備數(shù)量備注CC2530多傳感器節(jié)點(diǎn)底板1 支持CC2530工作的底板CC2530節(jié)點(diǎn)模塊1 無線SOC USB線1 連接仿真器C51RF-3仿真器1 程序下載調(diào)試用【實(shí)驗(yàn)原理】本例以LED燈為外設(shè),用CC2530控制簡(jiǎn)單外設(shè),將I/O設(shè)置為輸出,實(shí)驗(yàn)現(xiàn)象LED閃爍。實(shí)驗(yàn)中操作了的存放器有P1,P1DIR,沒有設(shè)置而是取默認(rèn)值的存放器有:P1SEL,P1INP。P1 P1口存放器位號(hào)位名復(fù)位值操作
10、性功能描述7:0 P17:00*00 讀/寫P1端口普通功能存放器,可位尋址P1DIR P1方向存放器位號(hào)位名復(fù)位值操作性功能描述7 DIRP1_70 讀/寫P1_7方向:0 輸入,1 輸出6 DIRP1_60 讀/寫P1_6方向:0 輸入,1 輸出5 DIRP1_50 讀/寫P1_5方向:0 輸入,1 輸出4 DIRP1_40 讀/寫P1_4方向:0 輸入,1 輸出3 DIRP1_30 讀/寫P1_3方向:0 輸入,1 輸出2 DIRP1_20 讀/寫P1_2方向:0 輸入,1 輸出1 DIRP1_10 讀/寫P1_1方向:0 輸入,1 輸出0 DIRP1_00 讀/寫P1_0方向:0 輸入
11、,1 輸出P1SEL P1功能選擇存放器位號(hào)位名復(fù)位值操作性功能描述7 SELP1_7 0 讀/寫P1_7功能:0 普通I/O,1 外設(shè)功能6 SELP1_6 0 讀/寫P1_6功能:0 普通I/O,1 外設(shè)功能5 SELP1_5 0 讀/寫P1_5功能:0 普通I/O,1 外設(shè)功能4 SELP1_4 0 讀/寫P1_4功能:0 普通I/O,1 外設(shè)功能3 SELP1_3 0 讀/寫P1_3功能:0 普通I/O,1 外設(shè)功能2 SELP1_2 0 讀/寫P1_2功能:0 普通I/O,1 外設(shè)功能1 SELP1_1 0 讀/寫P1_1功能:0 普通I/O,1 外設(shè)功能0 SELP1_0 0 讀/
12、寫P1_0功能:0 普通I/O,1 外設(shè)功能P1INP P1輸入模式存放器位號(hào)位名復(fù)位值操作性功能描述7 MDP1_7 0 讀/寫P1_7輸入模式:0 上拉/下拉,1 三態(tài)6 MDP1_6 0 讀/寫P1_6輸入模式:0 上拉/下拉,1 三態(tài)5 MDP1_5 0 讀/寫P1_5輸入模式:0 上拉/下拉,1 三態(tài)4 MDP1_4 0 讀/寫P1_4輸入模式:0 上拉/下拉,1 三態(tài)3 MDP1_3 0 讀/寫P1_3輸入模式:0 上拉/下拉,1 三態(tài)2 MDP1_2 0 讀/寫P1_2輸入模式:0 上拉/下拉,1 三態(tài)1 MDP1_1 0 讀/寫P1_1輸入模式:0 上拉/下拉,1 三態(tài)0 MD
13、P1_0 0 讀/寫P1_0輸入模式:0 上拉/下拉,1 三態(tài)硬件電路:GPIO輸出控制對(duì)象為CC2530模塊上的紅色和綠色LED,分別接在CC2530芯片的P1.0和P1.1腳上。輸出置位為0時(shí)LED燈點(diǎn)亮,置位為1時(shí)LED燈熄滅。【實(shí)驗(yàn)步驟】第一步:使用IAR7.51翻開物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)ZIGBEE無線傳感網(wǎng)絡(luò)實(shí)驗(yàn)1-CC2530單片機(jī)根底實(shí)驗(yàn)1.1GPIO輸入輸出實(shí)驗(yàn)CC2530-1中工程文件forJ1.eww。 第二步:翻開工程后選擇Debug或Release模式點(diǎn)擊左上角程序功能選擇框,如以下圖所示。Debug 生成調(diào)試信息,支持代碼調(diào)試Release 不輸出調(diào)試信息,直接生成HE*文
14、件第三步:編譯工程并下載到目標(biāo)板。點(diǎn)擊菜單Project,選擇Rebuild All,等待一會(huì)兒工程文件編譯完成。等待一會(huì)兒工程文件編譯完成把仿真器與網(wǎng)關(guān)通過仿真器下載線連接起來。確保仿真器與計(jì)算機(jī)、仿真器與節(jié)點(diǎn)底板連接正確,CC2530無線模塊正確地插在節(jié)點(diǎn)底板后。點(diǎn)擊菜單Project,選擇Debug,或點(diǎn)擊如以下圖標(biāo),等待一會(huì)兒即完成程序下載 圖:編譯工程圖:下載和調(diào)試目標(biāo)板第4步:運(yùn)行和查看效果。下載完成后點(diǎn)擊全速運(yùn)行GO按鈕,見以下圖或直接按F5鍵查看程序運(yùn)行效果。圖:全速運(yùn)行程序圖:節(jié)點(diǎn)底板上圖所示CC2530模塊板載的綠色LED燈左邊閃爍?!緦?shí)驗(yàn)相關(guān)代碼】在CC2530單片機(jī)根底
15、程序1.1GPIO輸入輸出實(shí)驗(yàn)CC2530-1目錄下的main.c文件中我們可以看到:程序的初始化和處理流程Initial() RLED = 0; YLED = 0; While(1) 主程序GPIO有關(guān)的初始化LED初始狀態(tài)設(shè)置程序主循環(huán)控制LED燈狀態(tài)翻轉(zhuǎn)和等待演示GPIO初始化函數(shù)void Initial(void) /* /初始化程序*/void Initial(void) P1DIR |= 0*03; /P10、P11定義為輸出 RLED = 1; YLED = 1; /LED 主要是配置控制LED燈的GPIO口為輸出模式,同時(shí)將它們?cè)O(shè)為高電平此時(shí)LED滅。延時(shí)子函數(shù)void Del
16、ay(uint n) /* /延時(shí)*/ void Delay(uint n) uint tt; for(tt = 0;ttn;tt+); for(tt = 0;ttn;tt+); for(tt = 0;ttn;tt+); for(tt = 0;ttn;tt+); for(tt = 0;ttn;tt+); 執(zhí)行5次0到n的空循環(huán)來實(shí)現(xiàn)軟件延時(shí)。延時(shí)時(shí)間約為5*n/32s。、CC2530-2:按鍵控制LED燈開關(guān)【實(shí)驗(yàn)?zāi)康摹?.了解CC2530的GPIO構(gòu)造和配置原理2.學(xué)習(xí)配置按鍵的GPIO口為輸入模式,并采集有效按鍵3.如何通過程序控制由按鍵觸發(fā)控制LED燈【實(shí)驗(yàn)設(shè)備】實(shí)驗(yàn)設(shè)備數(shù)量備注CC25
17、30多傳感器節(jié)點(diǎn)底板1 支持CC2530工作的底板CC2530節(jié)點(diǎn)模塊1 無線SOC USB線1 連接仿真器C51RF-3仿真器1 程序下載調(diào)試用【實(shí)驗(yàn)原理】本例中讓用戶掌握按鍵應(yīng)用這一常用人機(jī)交互方法,本次使用按鍵LED燈的開關(guān)。按下SW2鍵切換ZigBee模塊左邊LED燈開關(guān),實(shí)驗(yàn)中操作了的存放器有P0,P0DIR,沒有設(shè)置而是取默認(rèn)值的存放器有:P0SEL,P0INP。P0 P0口存放器位號(hào)位名復(fù)位值操作性功能描述7:0 P07:00*00 讀/寫P0端口普通功能存放器,可位尋址P0DIR P0方向存放器位號(hào)位名復(fù)位值操作性功能描述7 DIRP0_7 0 讀/寫P0_7方向:0 輸入,1
18、 輸出6 DIRP0_6 0 讀/寫P0_6方向:0 輸入,1 輸出5 DIRP0_5 0 讀/寫P0_5方向:0 輸入,1 輸出4 DIRP0_4 0 讀/寫P0_4方向:0 輸入,1 輸出3 DIRP0_3 0 讀/寫P0_3方向:0 輸入,1 輸出2 DIRP0_2 0 讀/寫P0_2方向:0 輸入,1 輸出1 DIRP0_1 0 讀/寫P0_1方向:0 輸入,1 輸出0 DIRP0_0 0 讀/寫P0_0方向:0 輸入,1 輸出P0SEL P0功能選擇存放器位號(hào)位名復(fù)位值操作性功能描述7 SELP0_7 0 讀/寫P0_7功能:0 普通I/O,1 外設(shè)功能6 SELP0_6 0 讀/寫
19、P0_6功能:0 普通I/O,1 外設(shè)功能5 SELP0_5 0 讀/寫P0_5功能:0 普通I/O,1 外設(shè)功能4 SELP0_4 0 讀/寫P0_4功能:0 普通I/O,1 外設(shè)功能3 SELP0_3 0 讀/寫P0_3功能:0 普通I/O,1 外設(shè)功能2 SELP0_2 0 讀/寫P0_2功能:0 普通I/O,1 外設(shè)功能1 SELP0_1 0 讀/寫P0_1功能:0 普通I/O,1 外設(shè)功能0 SELP0_0 0 讀/寫P0_0功能:0 普通I/O,1 外設(shè)功能P0INP P0輸入模式存放器位號(hào)位名復(fù)位值操作性功能描述7 MDP0_7 0 讀/寫P0_7輸入模式:0 上拉/下拉,1 三
20、態(tài)6 MDP0_6 0 讀/寫P0_6輸入模式:0 上拉/下拉,1 三態(tài)5 MDP0_5 0 讀/寫P0_5輸入模式:0 上拉/下拉,1 三態(tài)4 MDP0_4 0 讀/寫P0_4輸入模式:0 上拉/下拉,1 三態(tài)3 MDP0_3 0 讀/寫P0_3輸入模式:0 上拉/下拉,1 三態(tài)2 MDP0_2 0 讀/寫P0_2輸入模式:0 上拉/下拉,1 三態(tài)1 MDP0_1 0 讀/寫P0_1輸入模式:0 上拉/下拉,1 三態(tài)0 MDP0_0 0 讀/寫P0_0輸入模式:0 上拉/下拉,1 三態(tài)硬件電路:圖:按鍵電路圖按鍵采用五向搖桿按鍵Joystick,這里只使用按下這個(gè)鍵。無按鍵按下時(shí) P06的狀
21、態(tài)為上拉,高電平。中間鍵按下時(shí)eter,P06與GND連通,P06采集到低電平。【實(shí)驗(yàn)步驟】第一步:使用IAR7.51翻開物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)ZIGBEE無線傳感網(wǎng)絡(luò)實(shí)驗(yàn)1-CC2530單片機(jī)根底實(shí)驗(yàn)1.1GPIO輸入輸出實(shí)驗(yàn)CC2530-2中工程文件switchLED.eww。第二步:翻開工程后選擇Debug或Release模式點(diǎn)擊左上角程序功能選擇框,如以下圖所示。Debug 生成調(diào)試信息,支持代碼調(diào)試Release 不輸出調(diào)試信息,直接生成HE*文件第三步:編譯工程并下載到目標(biāo)板。點(diǎn)擊菜單Project,選擇Rebuild All,等待一會(huì)兒工程文件編譯完成。等待一會(huì)兒工程文件編譯完成把仿真器
22、與網(wǎng)關(guān)通過仿真器下載線連接起來。確保仿真器與計(jì)算機(jī)、仿真器與節(jié)點(diǎn)底板連接正確,CC2530無線模塊正確地插在節(jié)點(diǎn)底板后。點(diǎn)擊菜單Project,選擇Debug,或點(diǎn)擊如以下圖標(biāo),等待一會(huì)兒即完成程序下載 圖:編譯工程圖:下載和調(diào)試目標(biāo)板第4步:運(yùn)行和查看效果。下載完成后點(diǎn)擊全速運(yùn)行GO按鈕,見以下圖或直接按F5鍵查看程序運(yùn)行效果。圖:全速運(yùn)行程序圖:節(jié)點(diǎn)底板按下SW2 搖桿按鍵的中間鍵上圖所示節(jié)點(diǎn)底板板載的紅色LED燈右邊邊點(diǎn)亮,再次按下熄滅?!緦?shí)驗(yàn)相關(guān)代碼】在CC2530單片機(jī)根底程序1.1GPIO輸入輸出實(shí)驗(yàn)CC2530-3目錄下的main.c文件中我們可以看到:程序的初始化和處理流程In
23、itial() InitKey(); RLED = 0; YLED = 0; While(1) 主程序LED控制GPIO的初始化配置按鍵輸入GPIO LED初始狀態(tài)設(shè)置程序主循環(huán)采集按鍵和控制LED燈狀態(tài)翻轉(zhuǎn)按鍵初始化函數(shù)void InitKey (void) /* /按鍵初始化*/ void InitKey(void) P0SEL &= 0*40; P0INP |= 0*40; /上拉 P0DIR &= (0*01(6); /按鍵在P06 ADC采集 主要是配置采集輸入采集的GPIO P06為輸入模式。延時(shí)子函數(shù)uchar KeyScan(void) /* /讀鍵值*/ uchar KeyS
24、can(void) if(K1 = 0) /低電平有效 Delay(100); /檢測(cè)到按鍵 if(K1 = 0) while(!K1); /直到松開按鍵 return(1); return(0); 監(jiān)測(cè)P0.6K1上的電平變化,如有高電平變低即有按鍵產(chǎn)生,返回按鍵掃描結(jié)果為有按鍵發(fā)生。、CC2530-3:按鍵控制LED燈閃爍【實(shí)驗(yàn)?zāi)康摹?.了解CC2530的GPIO構(gòu)造和配置原理2.學(xué)習(xí)配置按鍵的GPIO口為輸入模式,并采集有效按鍵3.如何通過程序控制由按鍵觸發(fā)控制LED燈閃爍【實(shí)驗(yàn)設(shè)備】實(shí)驗(yàn)設(shè)備數(shù)量備注CC2530多傳感器節(jié)點(diǎn)底板1 支持CC2530工作的底板CC2530節(jié)點(diǎn)模塊1 無線S
25、OC USB線1 連接仿真器C51RF-3仿真器1 程序下載調(diào)試用【實(shí)驗(yàn)原理】本例中讓用戶掌握按鍵應(yīng)用這一常用人機(jī)交互方法,本次使用按鍵LED燈的開關(guān)。按下SW2鍵切換ZigBee模塊左邊LED燈開關(guān),實(shí)驗(yàn)中操作了的存放器有P0,P0DIR,沒有設(shè)置而是取默認(rèn)值的存放器有:P0SEL,P0INP。P0 P0口存放器位號(hào)位名復(fù)位值操作性功能描述7:0 P07:00*00 讀/寫P0端口普通功能存放器,可位尋址P0DIR P0方向存放器位號(hào)位名復(fù)位值操作性功能描述7 DIRP0_7 0 讀/寫P0_7方向:0 輸入,1 輸出6 DIRP0_6 0 讀/寫P0_6方向:0 輸入,1 輸出5 DIRP
26、0_5 0 讀/寫P0_5方向:0 輸入,1 輸出4 DIRP0_4 0 讀/寫P0_4方向:0 輸入,1 輸出3 DIRP0_3 0 讀/寫P0_3方向:0 輸入,1 輸出2 DIRP0_2 0 讀/寫P0_2方向:0 輸入,1 輸出1 DIRP0_1 0 讀/寫P0_1方向:0 輸入,1 輸出0 DIRP0_0 0 讀/寫P0_0方向:0 輸入,1 輸出P0SEL P0功能選擇存放器位號(hào)位名復(fù)位值操作性功能描述7 SELP0_7 0 讀/寫P0_7功能:0 普通I/O,1 外設(shè)功能6 SELP0_6 0 讀/寫P0_6功能:0 普通I/O,1 外設(shè)功能5 SELP0_5 0 讀/寫P0_5
27、功能:0 普通I/O,1 外設(shè)功能4 SELP0_4 0 讀/寫P0_4功能:0 普通I/O,1 外設(shè)功能3 SELP0_3 0 讀/寫P0_3功能:0 普通I/O,1 外設(shè)功能2 SELP0_2 0 讀/寫P0_2功能:0 普通I/O,1 外設(shè)功能1 SELP0_1 0 讀/寫P0_1功能:0 普通I/O,1 外設(shè)功能0 SELP0_0 0 讀/寫P0_0功能:0 普通I/O,1 外設(shè)功能P0INP P0輸入模式存放器位號(hào)位名復(fù)位值操作性功能描述7 MDP0_7 0 讀/寫P0_7輸入模式:0 上拉/下拉,1 三態(tài)6 MDP0_6 0 讀/寫P0_6輸入模式:0 上拉/下拉,1 三態(tài)5 MD
28、P0_5 0 讀/寫P0_5輸入模式:0 上拉/下拉,1 三態(tài)4 MDP0_4 0 讀/寫P0_4輸入模式:0 上拉/下拉,1 三態(tài)3 MDP0_3 0 讀/寫P0_3輸入模式:0 上拉/下拉,1 三態(tài)2 MDP0_2 0 讀/寫P0_2輸入模式:0 上拉/下拉,1 三態(tài)1 MDP0_1 0 讀/寫P0_1輸入模式:0 上拉/下拉,1 三態(tài)0 MDP0_0 0 讀/寫P0_0輸入模式:0 上拉/下拉,1 三態(tài)硬件電路:圖:按鍵電路圖按鍵采用五向搖桿按鍵Joystick,這里只使用按下這個(gè)鍵。無按鍵按下時(shí) P06的狀態(tài)為上拉,高電平。中間鍵按下時(shí)eter,P06與GND連通,P06采集到低電平。
29、【實(shí)驗(yàn)步驟】第一步:使用IAR7.51翻開物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)ZIGBEE無線傳感網(wǎng)絡(luò)實(shí)驗(yàn)1-CC2530單片機(jī)根底實(shí)驗(yàn)1.1GPIO輸入輸出實(shí)驗(yàn)CC2530-3中工程文件switchGLINT.eww。第二步:翻開工程后選擇Debug或Release模式點(diǎn)擊左上角程序功能選擇框,如以下圖所示。Debug 生成調(diào)試信息,支持代碼調(diào)試Release 不輸出調(diào)試信息,直接生成HE*文件第三步:編譯工程并下載到目標(biāo)板。點(diǎn)擊菜單Project,選擇Rebuild All,等待一會(huì)兒工程文件編譯完成。等待一會(huì)兒工程文件編譯完成把仿真器與網(wǎng)關(guān)通過仿真器下載線連接起來。確保仿真器與計(jì)算機(jī)、仿真器與節(jié)點(diǎn)底板連接正確
30、,CC2530無線模塊正確地插在節(jié)點(diǎn)底板后。點(diǎn)擊菜單Project,選擇Debug,或點(diǎn)擊如以下圖標(biāo),等待一會(huì)兒即完成程序下載 圖:編譯工程圖:下載和調(diào)試目標(biāo)板第4步:運(yùn)行和查看效果。下載完成后點(diǎn)擊全速運(yùn)行GO按鈕,見以下圖或直接按F5鍵查看程序運(yùn)行效果。圖:全速運(yùn)行程序圖:節(jié)點(diǎn)底板按下SW2 搖桿按鍵的中間鍵上圖所示節(jié)點(diǎn)底板板載的綠色LED燈左邊閃爍,再次按下停頓?!緦?shí)驗(yàn)相關(guān)代碼】在CC2530單片機(jī)根底程序1.1GPIO輸入輸出實(shí)驗(yàn)CC2530-2目錄下的main.c文件中我們可以看到:程序的初始化和處理流程Initial() InitKey(); RLED = 0; YLED = 0;
31、While(1) 主程序LED控制GPIO的初始化配置按鍵輸入GPIO LED初始狀態(tài)設(shè)置程序主循環(huán)采集按鍵和控制LED燈狀態(tài)翻轉(zhuǎn)按鍵初始化函數(shù)void InitKey (void) /* /按鍵初始化*/ void InitKey(void) P0SEL &= 0*40; P0INP |= 0*40; /上拉 P0DIR &= (0*01 95) return ; if( yy ) return ; for( i = 0;i len; i + ) m = lookforChar(*tptr +); if( m != FONTLISTCOUNT ) m = m * 16; for( j = 0
32、;j 96 ) return; PutPic( (void *)LcdBuf ); 監(jiān)測(cè)P0.6K1上的電平變化,如有高電平變低即有按鍵產(chǎn)生,返回按鍵掃描結(jié)果為有按鍵發(fā)生。1.2定時(shí)器控制實(shí)驗(yàn)、CC2530-5:使用定時(shí)器T1【實(shí)驗(yàn)?zāi)康摹?.了解CC2530的定時(shí)器T1的配置和使用2.如何通過程序控制CC2530的T1驅(qū)動(dòng)LED燈定時(shí)點(diǎn)亮【實(shí)驗(yàn)設(shè)備】實(shí)驗(yàn)設(shè)備數(shù)量備注CC2530多傳感器節(jié)點(diǎn)底板1 支持CC2530工作的底板CC2530節(jié)點(diǎn)模塊1 無線SOC USB線1 連接仿真器C51RF-3仿真器1 程序下載調(diào)試用【實(shí)驗(yàn)原理】本例用定時(shí)器1 來改變小燈的狀態(tài),T1 每溢出兩次,兩個(gè)小燈閃爍一
33、次,并且在停頓閃爍后成閃爍前相反的狀態(tài)。T1的操作模式有3種:free-running模式,modulo模式和up-down模式free-running模式計(jì)數(shù)器從0*0000開場(chǎng)計(jì)數(shù),當(dāng)計(jì)算值到達(dá)0*FFFF時(shí)溢出,此時(shí)IRCON.T1IF 和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就會(huì)產(chǎn)生中斷請(qǐng)求,計(jì)數(shù)器復(fù)位為0*0000,重新開場(chǎng)計(jì)數(shù)。modulo模式計(jì)數(shù)器從0*0000開場(chǎng)計(jì)數(shù),當(dāng)計(jì)算值到達(dá)T1CC0時(shí)溢出,此時(shí)IRCON.T1IF 和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就會(huì)產(chǎn)生中斷請(qǐng)求,計(jì)數(shù)器
34、復(fù)位為0*0000,重新開場(chǎng)計(jì)數(shù)。up-Down模式計(jì)數(shù)器從0*0000開場(chǎng)計(jì)數(shù),當(dāng)計(jì)算值到達(dá)T1CC0時(shí),計(jì)數(shù)值開場(chǎng)遞減直至 0*0000,此時(shí)IRCON.T1IF和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN 也被置1,就會(huì)產(chǎn)生中斷請(qǐng)求,計(jì)數(shù)器重新開場(chǎng)計(jì)數(shù)。T1CTLT1控制&狀態(tài)存放器位號(hào)位名復(fù)位值操作性功能描述7 CH2IF 0 讀/寫定時(shí)器1通道2中斷標(biāo)志位6 CH1IF 0 讀/寫定時(shí)器1通道1中斷標(biāo)志位5 CH0IF 0 讀/寫定時(shí)器1通道0中斷標(biāo)志位4 OVFIF 0 讀/寫定時(shí)器溢出中斷標(biāo)志,在在計(jì)數(shù)器到達(dá)計(jì)數(shù)終值的時(shí)候置位3:2 DIV1:00
35、0 讀/寫定時(shí)器1計(jì)數(shù)時(shí)鐘分步選擇00:不分頻01:8分頻10:32分頻11:128分頻1:0 MODE1:0 00 讀/寫定時(shí)器1模式選擇00:暫停01:自動(dòng)重裝0*0000-0*ffff 10:比擬計(jì)數(shù)0*0000-T1CC0 11 :PWM方式硬件電路:GPIO輸出控制對(duì)象為CC2530模塊上的紅色和綠色LED,分別接在CC2530芯片的P1.0和P1.1腳上。輸出置位為0時(shí)LED燈點(diǎn)亮,置位為1時(shí)LED燈熄滅?!緦?shí)驗(yàn)步驟】第一步:使用IAR7.51翻開物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)ZIGBEE無線傳感網(wǎng)絡(luò)實(shí)驗(yàn)1-CC2530單片機(jī)根底實(shí)驗(yàn)1.2定時(shí)器控制實(shí)驗(yàn)CC2530-1中工程文件T1.eww。 第
36、二步:翻開工程后選擇Debug或Release模式點(diǎn)擊左上角程序功能選擇框,如以下圖所示。 Debug 生成調(diào)試信息,支持代碼調(diào)試Release 不輸出調(diào)試信息,直接生成HE*文件第三步:編譯工程并下載到目標(biāo)板。點(diǎn)擊菜單Project,選擇Rebuild All,等待一會(huì)兒工程文件編譯完成。等待一會(huì)兒工程文件編譯完成把仿真器與網(wǎng)關(guān)通過仿真器下載線連接起來。確保仿真器與計(jì)算機(jī)、仿真器與節(jié)點(diǎn)底板連接正確,CC2530無線模塊正確地插在節(jié)點(diǎn)底板后。點(diǎn)擊菜單Project,選擇Debug,或點(diǎn)擊如以下圖標(biāo),等待一會(huì)兒即完成程序下載 圖:編譯工程圖:下載和調(diào)試目標(biāo)板第4步:運(yùn)行和查看效果。下載完成后點(diǎn)擊
37、全速運(yùn)行GO按鈕,見以下圖或直接按F5鍵查看程序運(yùn)行效果。圖:全速運(yùn)行程序圖:節(jié)點(diǎn)底板上圖所示節(jié)點(diǎn)底板板載的綠色LED燈左邊和紅色LED右邊交替閃爍。【實(shí)驗(yàn)相關(guān)代碼】在CC2530單片機(jī)根底程序1.2定時(shí)器控制實(shí)驗(yàn)CC2530-1目錄下的main.c文件中我們可以看到:程序的初始化和處理流程Initial() RLED = 0; While(1) 主程序初始化GPIO和T1 點(diǎn)亮紅色LED 程序主循環(huán)有T1的計(jì)數(shù)溢出控制LED 燈狀態(tài)翻轉(zhuǎn)初始化函數(shù)void Initial(void) /* /初始化程序*/ void Initial(void) /初始化P1 P1DIR = 0*03; /P1
38、0 P11為輸出 RLED = 1; YLED = 1; /滅LED/用T1來做實(shí)驗(yàn) T1CTL = 0*3d; /通道0,中斷有效,128分頻;自動(dòng)重裝模式(0*0000-0*ffff); 函數(shù)功能是將P10,P11設(shè)為輸出,并將定時(shí)器1設(shè)為自動(dòng)重裝模式,計(jì)數(shù)時(shí)鐘為0.25M 、CC2530-6:使用定時(shí)器T2【實(shí)驗(yàn)?zāi)康摹?.了解CC2530的定時(shí)器T2的配置和使用,定時(shí)器的中斷使用方式2.如何通過程序控制CC2530的T1驅(qū)動(dòng)LED燈定時(shí)點(diǎn)亮【實(shí)驗(yàn)設(shè)備】實(shí)驗(yàn)設(shè)備數(shù)量備注CC2530多傳感器節(jié)點(diǎn)底板1 支持CC2530工作的底板CC2530節(jié)點(diǎn)模塊1 無線SOC USB線1 連接仿真器C51
39、RF-3仿真器1 程序下載調(diào)試用【實(shí)驗(yàn)原理】本例開啟定時(shí)器2的中斷,計(jì)數(shù)比擬溢出后產(chǎn)生中斷來改變小燈的狀態(tài),T2 每溢出一次,紅色小燈狀態(tài)改變一次由亮變暗或由暗變亮。T2的操作模式如T1不同沒有T1的3種工作模式:free-running模式,modulo 模式和up-down模式。T2CTRLT2配置存放器位號(hào)位名復(fù)位值操作性功能描述7:4 - 0 讀保存,讀 0 3 LATCH_MODE 0 讀/寫0:當(dāng)T2MSEL.T2MSEL = 000 讀T2M0, T2M1,T2MSEL.T2MOVFSEL=000。讀T2MOVF0, T2MOVF1 T2MOVF2。 1:當(dāng)T2MSEL.T2MS
40、EL = 000 讀T2M0,T2M1,T2MOVF0 , T2MOVF1, aT2MOVF2 2 STATE 0 讀0 計(jì)數(shù)器空閑模式,1 計(jì)數(shù)器正常運(yùn)行。1 SYNC 1 讀/寫同步使能0:T2立即起、停。1:T2起、停和32.768kHz時(shí)鐘及計(jì)數(shù)新值同步0 RUN 0 讀/寫啟動(dòng)T2,通過讀出該位可以知道T2的狀態(tài)。0:停頓T2IDLE,1:?jiǎn)?dòng)T2RUNT2MOVF2 T2多路復(fù)用溢出計(jì)數(shù)器2存放器位號(hào)位名復(fù)位值操作性功能描述7:0 CMPIM 0 讀/寫T2MSEL.T2MOVFSEL=000,T2CTRL.LATCH_MODE =0 時(shí),計(jì)數(shù)值被鎖存。T2M0 (T2多路復(fù)用存放
41、器位號(hào)位名復(fù)位值操作性功能描述7:0 CMPIM 0 讀/寫T2MSEL.T2MSEL=000和T2CTRL.LATCH_MODE=0時(shí),計(jì)數(shù)值被鎖存。T2MSEL.T2MSEL=000和T2CTRL.LATCH_MODE=1 時(shí),計(jì)數(shù)值和溢出值被鎖存。T2IRQF中斷標(biāo)志位號(hào)位名復(fù)位值操作性功能描述7:6 - 0 讀保存5 TIMER2_OVF_PARE2F 0 讀/寫當(dāng)溢出計(jì)數(shù)器計(jì)數(shù)到達(dá) t2ovf_cmp2的值時(shí)置位4 TIMER2_OVF_PARE1F 0 讀/寫當(dāng)溢出計(jì)數(shù)器計(jì)數(shù)到達(dá) t2ovf_cmp1的值時(shí)置位3 TIMER2_OVF_PERF 0 讀/寫當(dāng)溢出計(jì)數(shù)器計(jì)數(shù)等于 t2
42、ovf_per的值時(shí)置位2 TIMER2_PARE2F 0 讀/寫當(dāng)計(jì)數(shù)器計(jì)數(shù)到達(dá) t2_cmp2 的值時(shí)置位1 TIMER2_PARE1F 0 讀/寫當(dāng)計(jì)數(shù)器計(jì)數(shù)到達(dá) t2_cmp1 的值時(shí)置位0 TIMER2_PERF 0 讀/寫當(dāng)計(jì)數(shù)器計(jì)數(shù)等于 t2_per 的值時(shí)置位T2IRQM中斷屏蔽位號(hào)位名復(fù)位值操作性功能描述7:6 - 0 讀保存5 TIMER2_OVF_PARE2MF0 讀/寫TIMER2_OVF_PARE2M中斷使能4 TIMER2_OVF_PARE1M0 讀/寫TIMER2_OVF_PARE1M中斷使能3 TIMER2_OVF_PERM 0 讀/寫TIMER2_OVF_PE
43、RM 中斷使能2 TIMER2_PARE2M 0 讀/寫TIMER2_PARE2M 中斷使能1 TIMER2_PARE1M 0 讀/寫TIMER2_PARE1M 中斷使能0 TIMER2_PERM 0 讀/寫TIMER2_PERM中斷使能硬件電路:GPIO輸出控制對(duì)象為CC2530模塊上的紅色和綠色LED,分別接在CC2530芯片的P1.0和P1.1腳上。輸出置位為0時(shí)LED燈點(diǎn)亮,置位為1時(shí)LED燈熄滅?!緦?shí)驗(yàn)步驟】第一步:使用IAR7.51翻開物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)ZIGBEE無線傳感網(wǎng)絡(luò)實(shí)驗(yàn)1-CC2530單片機(jī)根底實(shí)驗(yàn)1.2定時(shí)器控制實(shí)驗(yàn)CC2530-2中工程文件T2.eww。第二步:翻開工程
44、后選擇Debug或Release模式點(diǎn)擊左上角程序功能選擇框,如以下圖所示。 Debug 生成調(diào)試信息,支持代碼調(diào)試Release 不輸出調(diào)試信息,直接生成HE*文件第三步:編譯工程并下載到目標(biāo)板。點(diǎn)擊菜單Project,選擇Rebuild All,等待一會(huì)兒工程文件編譯完成。等待一會(huì)兒工程文件編譯完成把仿真器與網(wǎng)關(guān)通過仿真器下載線連接起來。確保仿真器與計(jì)算機(jī)、仿真器與節(jié)點(diǎn)底板連接正確,CC2530無線模塊正確地插在節(jié)點(diǎn)底板后。點(diǎn)擊菜單Project,選擇Debug,或點(diǎn)擊如以下圖標(biāo),等待一會(huì)兒即完成程序下載 圖:編譯工程圖:下載和調(diào)試目標(biāo)板第4步:運(yùn)行和查看效果。下載完成后點(diǎn)擊全速運(yùn)行GO按
45、鈕,見以下圖或直接按F5鍵查看程序運(yùn)行效果。圖:全速運(yùn)行程序圖:節(jié)點(diǎn)底板上圖所示節(jié)點(diǎn)底板板載的綠色LED燈左邊由定時(shí)器T2的比擬溢出中斷改變狀態(tài)?!緦?shí)驗(yàn)相關(guān)代碼】在CC2530單片機(jī)根底程序1.2定時(shí)器控制實(shí)驗(yàn)CC2530-2目錄下的main.c文件中我們可以看到:程序的初始化和處理流程Initial() 初始化GPIO和T2 RLED = 0; TIMER2_RUN() While(1) 主程序點(diǎn)亮紅色LED 啟動(dòng)T2定時(shí)器程序主循環(huán)由T2的計(jì)數(shù)溢出改變TempFlag值,控制LED燈狀態(tài)翻轉(zhuǎn)初始化函數(shù)void Initial(void) void Initial(void) LED_ENA
46、LBLE(); /啟用LED/用T2來做實(shí)驗(yàn) SET_TIMER2_OF_INT(); /開溢出中斷 SET_TIMER2_CAP_COUNTER(0*00ff); /設(shè)置溢出值 函數(shù)功能是啟用LED,使用LED可控,開T2比擬中斷重要的宏定義開啟溢出中斷#define SET_TIMER2_CAP_INT() do T2IRQM = 0*04; EA = 1; T2IE = 1; T2MSEL |= 0*f4; while(0) 設(shè)定溢出周期#define SET_TIMER2_CAP_COUNTER(val) SET_WORD(T2M1,T2M0,val) 功能:將無符號(hào)整形數(shù)val的高8
47、位寫入T2CAPLPL,低8位寫入T2CAPHPH。啟動(dòng)T2 #define TIMER2_RUN() T2CTRL|=0*01 停頓T2#define TIMER2_STOP() doT2CTRL&=0*FE;while(0) 1.3中斷輸入和采集實(shí)驗(yàn)、CC2530-7:定時(shí)器T4中斷【實(shí)驗(yàn)?zāi)康摹?.了解CC2530的T4的使用2.學(xué)習(xí)定時(shí)器T4的中斷模式使用【實(shí)驗(yàn)設(shè)備】實(shí)驗(yàn)設(shè)備數(shù)量備注CC2530多傳感器節(jié)點(diǎn)底板1 支持CC2530工作的底板CC2530節(jié)點(diǎn)模塊1 無線SOC USB線1 連接仿真器C51RF-3仿真器1 程序下載調(diào)試用【實(shí)驗(yàn)原理】本例用定時(shí)器4來改變小燈的狀態(tài),T4每20
48、00次中斷小燈閃爍一輪,閃爍的時(shí)間長(zhǎng)度為1000次中斷所耗時(shí)間。定時(shí)器T3,T4是8Bit的定時(shí)器和前面實(shí)驗(yàn)中的T1,T2不同。T4使用的存放器如下:T4CTLT4控制存放器位號(hào)位名復(fù)位值操作性功能描述7:5 DIV2:0 000 讀/寫定時(shí)器時(shí)鐘再分頻數(shù)對(duì)CLKCONCMD.TICKSPD分頻后再次分頻000 不再分頻001 2分頻010 4分頻011 8分頻16分頻32分頻64分頻128分頻4 START 0 讀/寫T4起停位0 暫停計(jì)數(shù),1 正常運(yùn)行3 OVFIM 1 讀/寫0 溢出中斷掩碼0 關(guān)溢出中斷,1 開溢出中斷2 CLR 0 R0/W1 清計(jì)數(shù)值,寫1使T4T=0*00 1:0
49、 MODE1:0 00 讀/寫T4模式選擇自動(dòng)重裝DOWN 從T4CC0到0*00計(jì)數(shù)一次 10 模計(jì)數(shù)反復(fù)從0*00到T4CC0計(jì)數(shù)11 UP/DOWN反復(fù)從0*00到T4CC0再到0*00T4CCTL0 T4通道0捕獲/比擬控制存放器位號(hào)位名復(fù)位值操作性功能描述7 0 讀預(yù)留6 IM 1 讀/寫通道0中斷掩碼0 關(guān)中斷,1 開中斷5:3 CMP7:0000 讀/寫通道 0 比擬輸出模式選擇,指定計(jì)數(shù)值過T4CC0時(shí)的發(fā)生事件000 輸出置1發(fā)生比擬時(shí)001 輸出清0發(fā)生比擬時(shí)010 輸出翻轉(zhuǎn)011 輸出置1發(fā)生上比擬時(shí)輸出清 0計(jì)數(shù)值為0或UP/DOWN模式下發(fā)生下比擬100輸出清0發(fā)生上
50、比擬時(shí)輸出置 1計(jì)數(shù)值為0或UP/DOWN模式下發(fā)生下比擬101 輸出置1發(fā)生比擬時(shí)輸出清0計(jì)數(shù)值為0*ff時(shí)110輸出清0發(fā)生比擬時(shí)輸出置1計(jì)數(shù)值為0*00時(shí)111 預(yù)留2 MODE- 0 讀/寫T4通道0模式選擇0 捕獲,1 比擬1:0 CAP 00 讀/寫T4通道0捕獲模式選擇沒有捕獲上升沿捕獲下降沿捕獲邊沿捕獲T4CC0 T4通道0捕獲/比擬值存放器位號(hào)位名復(fù)位值操作性功能描述7:0 VAL7:0 0*00 讀/寫T4 通道 0 比擬/捕獲值T4CCTL1 T4通道1捕獲/比擬控制存放器位號(hào)位名復(fù)位值操作性功能描述7 0 讀預(yù)留6 IM 1 讀/寫通道1中斷掩碼0 關(guān)中斷,1 開中斷5
51、:3 CMP7:00 讀/寫通道1比擬輸出模式選擇,指定計(jì)數(shù)值過T4CC0時(shí)的發(fā)生事件000 輸出置1發(fā)生比擬時(shí)001 輸出清0發(fā)生比擬時(shí)010 輸出翻轉(zhuǎn)011 輸出置1發(fā)生上比擬時(shí)輸出清0計(jì)數(shù)值為0或UP/DOWN模式下發(fā)生下比擬輸出清 0發(fā)生上比擬時(shí)輸出置1計(jì)數(shù)值為0或UP/DOWN模式下發(fā)生下比擬輸出置1發(fā)生比擬時(shí)輸出清0計(jì)數(shù)值為0*ff時(shí)輸出清 0發(fā)生比擬時(shí)輸出置1計(jì)數(shù)值為0*00時(shí)預(yù)留2 MODE- 0 讀/寫T4通道1模式選擇0 捕獲,1 比擬1:0 CAP 0000 讀/寫T4通道1捕獲模式選擇沒有捕獲上升沿捕獲下降沿捕獲邊沿捕獲T4CC1 T4通道1捕獲/比擬值存放器位號(hào)位名復(fù)
52、位值操作性功能描述7:0 VAL7:0 0*00 讀/寫T4 通道 1 比擬/捕獲值硬件電路:GPIO輸出控制對(duì)象為CC2530模塊上的紅色和綠色LED,分別接在CC2530芯片的P1.0和P1.1腳上。輸出置位為0時(shí)LED燈點(diǎn)亮,置位為1時(shí)LED燈熄滅。【實(shí)驗(yàn)步驟】第一步:使用IAR7.51翻開物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)ZIGBEE無線傳感網(wǎng)絡(luò)實(shí)驗(yàn)1-CC2530單片機(jī)根底實(shí)驗(yàn)1.3中斷輸入和采集實(shí)驗(yàn)CC2530-1中工程文件forj8-Tn.eww。 第二步:翻開工程后選擇Debug或Release模式點(diǎn)擊左上角程序功能選擇框,如以下圖所示。 Debug 生成調(diào)試信息,支持代碼調(diào)試Release 不輸
53、出調(diào)試信息,直接生成HE*文件第三步:編譯工程并下載到目標(biāo)板。點(diǎn)擊菜單Project,選擇Rebuild All,等待一會(huì)兒工程文件編譯完成。等待一會(huì)兒工程文件編譯完成把仿真器與網(wǎng)關(guān)通過仿真器下載線連接起來。確保仿真器與計(jì)算機(jī)、仿真器與節(jié)點(diǎn)底板連接正確,CC2530無線模塊正確地插在節(jié)點(diǎn)底板后。點(diǎn)擊菜單Project,選擇Debug,或點(diǎn)擊如以下圖標(biāo),等待一會(huì)兒即完成程序下載 圖:編譯工程圖:下載和調(diào)試目標(biāo)板第4步:運(yùn)行和查看效果。下載完成后點(diǎn)擊全速運(yùn)行GO按鈕,見以下圖或直接按F5鍵查看程序運(yùn)行效果。圖:全速運(yùn)行程序圖:節(jié)點(diǎn)底板上圖所示CC2530模塊板載的紅色LED燈右邊在T4產(chǎn)生中斷10
54、00此后開場(chǎng)閃爍,再次中斷1000次后停頓閃爍,一直循環(huán)執(zhí)行。【實(shí)驗(yàn)相關(guān)代碼】在CC2530單片機(jī)根底程序 1.3中斷輸入和采集實(shí)驗(yàn)CC2530-1目錄下的main.c文件中我們可以看到:程序的初始化和處理流程Init_T4_AND_LED () While(1) 主程序GPIO有關(guān)的初始化和配置T4 程序主循環(huán)等待T4的中斷改變GlintFlag控制LED燈狀態(tài)翻轉(zhuǎn)void Init_T4_AND_LED(void)函數(shù)原型:void Init_T4_AND_LED(void) P1DIR = 0*03; led1 = 1; led2 = 1; TIMER34_INIT(4); /初始化T4
55、 TIMER34_ENABLE_OVERFLOW_INT(4,1); /開T4中斷 TIMER34_SET_CLOCK_DIVIDE(4,128); TIMER34_SET_MODE(4,0); /自動(dòng)重裝000*ff TIMER34_START(4,1); /啟動(dòng); 函數(shù)功能:將I/0 P10,P11設(shè)置為輸出去控制LED,將T4設(shè)置為自動(dòng)重裝模式,定時(shí)器時(shí)鐘16分頻,并啟動(dòng)T4。void T4_ISR(void);函數(shù)原型:#pragma vector = T4_VECTOR _interrupt void T4_ISR(void) /IRCON = 0*00; /清中斷標(biāo)志,硬件自動(dòng)完成
56、 if(counter0) /按鍵中斷 P0IFG = 0; RLED = !RLED; P0IF = 0; /清中斷標(biāo)志 函數(shù)功能:在P06觸發(fā)中斷的時(shí)候?qū)⒓t色LED的狀態(tài)翻轉(zhuǎn)。1.4 ADC采集實(shí)驗(yàn)、CC2530-9:ADC采集Joystick按鍵【實(shí)驗(yàn)?zāi)康摹?.了解CC2530的ADC原理和配置方法2.通過ADC采集讀取Joystick按鍵搖桿控制LED燈【實(shí)驗(yàn)設(shè)備】實(shí)驗(yàn)設(shè)備數(shù)量備注CC2530多傳感器節(jié)點(diǎn)底板1 支持CC2530工作的底板CC2530節(jié)點(diǎn)模塊1 無線SOC USB線1 連接仿真器C51RF-3仿真器1 程序下載調(diào)試用【實(shí)驗(yàn)原理】本例以ADC采集讀取Joystick按鍵鍵
57、值,通過不同的按鍵動(dòng)作控制不同的LED燈狀態(tài),將P0.6設(shè)置為AD輸入模式。以下圖為CC2530 ADC外設(shè)的原理框圖:CC2530的ADC具有以下特性:ADC裝換位可選8-14bit 8個(gè)獨(dú)立的可配置的輸入通道參考電壓發(fā)生器可作為/外部單一參考電路,外部差分電路或AVDD_Soc 產(chǎn)生中斷轉(zhuǎn)換完成觸發(fā)DMA 溫度傳感輸入電池電壓檢測(cè)ADCCON1 位號(hào)位名復(fù)位值可操作性功能描述7 EOC 0 讀/寫ADC完畢標(biāo)志位0ADC行中,1 ADC轉(zhuǎn)換完畢6 ST 0 讀/寫手動(dòng)啟動(dòng)AD轉(zhuǎn)換讀1表示當(dāng)前正在進(jìn)展AD轉(zhuǎn)換0 沒有轉(zhuǎn)換,1 啟動(dòng) AD 轉(zhuǎn)換STSEL=115:4 STSEL1:0 11 讀
58、/寫AD轉(zhuǎn)換啟動(dòng)方式選擇外部觸發(fā)全速轉(zhuǎn)換,不需要觸發(fā)10 T1通道0比擬觸發(fā)11 手工觸發(fā)3:2 RCTRL1:0 00 讀/寫16位隨機(jī)數(shù)發(fā)生器控制位寫01,10會(huì)在執(zhí)行后返回00普通模式13* 翻開開啟LFSR時(shí)鐘一次生成調(diào)節(jié)器種子信用隨機(jī)數(shù)發(fā)生器1:0 - 11 讀/寫保存,總是寫設(shè)置為1 ADCCON3 位號(hào)位名復(fù)位值可操作性功能描述7:6 SREF1:0 00 讀/寫選擇單次AD轉(zhuǎn)換參考電壓部1.25V電壓外部參考電壓AIN7輸入模擬電源電壓外部參考電壓AIN6-AIN7輸入5:4 SDIV1:0 01 讀/寫選擇單次A/D轉(zhuǎn)換分辨率8位 (64dec) 10位 (128dec) 1
59、2位 (256dec) 14位 (512dec) 3:0 SCH3:0 00 讀/寫單次A/D轉(zhuǎn)換選擇,如果寫入時(shí)ADC正在運(yùn)行,則在完成序列A/D轉(zhuǎn)換后立刻開場(chǎng),否則寫入后立即開場(chǎng)A/D轉(zhuǎn)換,轉(zhuǎn)換完成后自動(dòng)清0 0000 AIN0 0001 AIN1 0010 AIN2 0011 AIN3 0100 AIN4 0101 AIN5 0110 AIN6 0111 AIN7 AIN0- AIN1 AIN2- AIN3 AIN4- AIN5 AIN6- AIN7 GND 正電源參考電壓溫度傳感器1/3模擬電壓硬件電路:圖:按鍵電路圖按鍵采用五向搖桿按鍵Joystick。默認(rèn)的情況下P0.6有R17上
60、拉至VCC,當(dāng)有五個(gè)按鍵中的任意一個(gè)按下時(shí)均會(huì)改變P0.6上的電壓值。例如按下UP 鍵,P0.6上的電壓值等于:P0.6電壓值 = VCCR20R20+R21+R22+R23+R24不同的按鍵會(huì)由不同的分壓電阻分壓得到不同的電壓值,CC2530通過ADC采集P0.6的電壓值判斷按鍵?!緦?shí)驗(yàn)步驟】第一步:使用IAR7.51翻開物聯(lián)網(wǎng)實(shí)驗(yàn)系統(tǒng)ZIGBEE無線傳感網(wǎng)絡(luò)實(shí)驗(yàn)1-CC2530單片機(jī)根底實(shí)驗(yàn)1.4ADC采集實(shí)驗(yàn)CC2530-1中工程文件switchLED.eww。 第二步:翻開工程后選擇Debug或Release模式點(diǎn)擊左上角程序功能選擇框,如以下圖所示。 Debug 生成調(diào)試信息,支持代
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)押題練習(xí)試題A卷含答案
- 小學(xué)重點(diǎn)考試試題及答案
- AI智慧城市建設(shè)與城市管理優(yōu)化研究
- 辦公系統(tǒng)使用簡(jiǎn)明教程與操作手冊(cè)
- 個(gè)人辦公用品采購(gòu)合同規(guī)范
- 現(xiàn)代物理學(xué)理論前沿探討閱讀題集
- 數(shù)字化圖書館建設(shè)協(xié)議
- 中醫(yī)藥兒童知識(shí)培訓(xùn)課件
- 馬匹買賣合同
- 物理光學(xué)及量子力學(xué)考點(diǎn)復(fù)習(xí)題集
- 2025年城市現(xiàn)代化策劃合同范本
- 2025年安徽水利水電職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)及完整答案一套
- 南充市高2025屆高三高考適應(yīng)性考試(二診)英語試卷
- 2025年湖南有色金屬職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 信息技術(shù)ppt課件完整版
- 《為夢(mèng)想插上翅膀》課件
- 《防止電力建設(shè)工程施工安全事故三十項(xiàng)重點(diǎn)要求》
- 外研版九年級(jí)英語下冊(cè)Module-4-Unit-2教學(xué)課件(PPT 16頁)
- 精品隨班就讀個(gè)別化教學(xué)計(jì)劃
- 第一章 - 免疫規(guī)劃信息管理系統(tǒng)
- 初中語文四大名著選擇題精選48道(修訂版帶答案)
評(píng)論
0/150
提交評(píng)論