學(xué)習(xí)-cc2530基礎(chǔ)實(shí)驗(yàn)_第1頁(yè)
學(xué)習(xí)-cc2530基礎(chǔ)實(shí)驗(yàn)_第2頁(yè)
學(xué)習(xí)-cc2530基礎(chǔ)實(shí)驗(yàn)_第3頁(yè)
學(xué)習(xí)-cc2530基礎(chǔ)實(shí)驗(yàn)_第4頁(yè)
學(xué)習(xí)-cc2530基礎(chǔ)實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

ZigBeeSOC片上系統(tǒng)200908:此手冊(cè)由無線龍結(jié)合在實(shí)際開發(fā)過程中對(duì)使用以及網(wǎng)絡(luò)上各工程師對(duì)英文手冊(cè)的翻譯整理而成,文中難免有錯(cuò)誤及誤差,如果你有完善本手冊(cè),請(qǐng)通過郵CC2530基礎(chǔ)實(shí) 輸入輸出I/O控制實(shí) CC2530基礎(chǔ)實(shí)驗(yàn)4:T1使 CC2530基礎(chǔ)實(shí)驗(yàn)5:T2使 CC2530基礎(chǔ)實(shí)驗(yàn)6:T3使 CC2530基礎(chǔ)實(shí)驗(yàn)7:T4使 中斷實(shí) AD實(shí) CC2530基礎(chǔ)實(shí)驗(yàn) CC2530基礎(chǔ)實(shí)驗(yàn) CC2530基礎(chǔ)實(shí)驗(yàn)14:在PC用串口控制 CC2530基礎(chǔ)實(shí)驗(yàn)15:PC串口收數(shù)并發(fā) CC2530基礎(chǔ)實(shí)驗(yàn)16:串口時(shí)鐘PC顯 看門 CC2530I/OCC25301CC2530I/0LEDCC2530I/OLED1臺(tái),電池板(或液晶板)1塊,ZigBee1塊,USB1根。P1(P1口寄存器P1P1DIR(P1方向寄存器70P1_70輸入,160P1_60輸入,150P1_50輸入,140P1_40輸入,130P1_30輸入,120P1_20輸入,110P1_10輸入,100P1_00輸入,1P1SEL(P1功能選擇寄存器70P1_70I/O,160P1_60I/O,150P1_50I/O,140P1_40I/O,130P1_30I/O,120P1_20I/O,110P1_10I/O,100P1_00I/O,1{uintfor(tt={uintfor(tt= for(tt= for(tt= for(tt= for(tt= }50n5*n/32μs。voidInitial(void);函數(shù)原型是:void{P1DIR|0x03P10、P11定義為輸{P1DIR|0x03P10、P11定義為輸RLED=YLED1LED}CC2530211塊,ZigBee1塊,USB1LEDOK” 1.1.1。P1SEL參見1.1.1。P1DIR1.1.1。P1INP(P1輸入模式寄存器70P2口上/0上拉,160P1口上/0上拉,150P0口上/0上拉,140P2_40上拉,130P2_30上拉,120P2_20上拉,110P2_10上拉,100P2_00上拉,1voidDelay(uintn)CC25301。voidInitial(void)CC25301。void{P0SEL&~0X18;//P04,P03輸P0DIR&~0X18;//按鍵在P04P0INP| //上}ucharuchar{if(K1=={if(K1==//#defineK1{ }}if(K2=={if(K2=={}}}1,P0_42CC2530311塊,ZigBee1塊,USB12LED閃爍。按下“OK”鍵 voidDelay(uintn)1.1.1。voidInitial(void)1.1.1。voidInitKey(void);1.1.1。unsignedcharKeyScan(void);1.1.2CC25304:T11來改變小燈的狀態(tài),T1每溢出兩次,兩個(gè)小燈閃爍一次,并且在停止閃爍后成閃P11說明文檔。P1DIR1說明文檔。P1SEL1說明文檔。7012601150104010001:810:3211:128100010x0000-0xffff11:方voidDelay(uintn)CC25301。voidInitial(void);函數(shù)原型:void{{//P1DIR0x03;//P10P11RLED=YLED ////T1T1CTL0x3d;//通道0,128分頻;自動(dòng)重載模式(0x0000}CC25305:T22來改變小燈的狀態(tài),T2每發(fā)生一次中斷小燈改變狀態(tài)一次。 參見CC2530實(shí)驗(yàn)1P1SELCC25301P1DIRCC25301-0讀保留,讀300T2MSEL.T2MSEL000T2M0,T2MOVF0,T2MOVF1T2MOVF2。1T2MSEL.T2MSEL000T2M0,20讀0計(jì)數(shù)器空閑模式,1110:T200T2T2的狀T(DLE,T2MOVF2(T22寄存器0T2M0(T2多路復(fù)用寄存器0 T2CTRL.LATCH_MODE=1時(shí),計(jì)數(shù)值和溢出值-0讀504030t2ovf_per20當(dāng)計(jì)數(shù)器計(jì)數(shù)達(dá)到t2_cmp2的值10當(dāng)計(jì)數(shù)器計(jì)數(shù)達(dá)到t2_cmp1的值00當(dāng)計(jì)數(shù)器計(jì)數(shù)等于t2_per的值-0讀504030TIMER2_OVF_PERM能20PARE2M10PARE1M00TIMER2_PERMvoid{LED_ENALBLE啟用//T2來做實(shí)驗(yàn)void{LED_ENALBLE啟用//T2來做實(shí)驗(yàn)}LEDLEDT2#define#define T2IRQM=0x04;EA=1;T2IE=1;T2MSEL|=0xf4;\\\\\#define#defineSET_TIMER2_CAP_COUNTER(val)val8T2CAPLPL8T2CAPHPH#define#defineTIMER2_RUN()#define#defineTIMER2_STOP()CC25306:T33來改變小燈的狀態(tài),T3200次中斷小燈改變狀態(tài)一次。 參見CC2530實(shí)驗(yàn)1P1SELCC25301P1DIRCC25301T3CTL(T3控制寄存器001:2010:4011:8100:16101:32110:6440T30暫停計(jì)數(shù),1310關(guān)溢出中斷,120清計(jì)數(shù)值,寫1 T30001:DOWN(T3CC00x00計(jì)數(shù)一次10(0x00T3CC0計(jì)數(shù)T3CCTL0(T30捕獲/比較控制寄存器7—0讀6100關(guān)中斷,10T3CC0時(shí)001較時(shí),010輸出翻轉(zhuǎn),0111(發(fā)生上比較時(shí))0(0UP/DOWN模式下發(fā)生下比較時(shí),11120T300捕獲,1T300001T3CC0(T30捕獲/比較值寄存器T30比較/T3CCTL1(T31捕獲/比較控制寄存器7—0讀6110關(guān)中斷,101比較輸出模式選擇,指定計(jì)數(shù)值T3CC0時(shí)的發(fā)生事件0001(發(fā)生比較時(shí)0010(發(fā)生比較時(shí)010(0UP/DOWN模式下發(fā)生(0UP/DOWN模式下發(fā)生101輸出置1(發(fā)生比較時(shí))輸出清(0xff時(shí)0x00時(shí))11120T310捕獲,1T310001T3CC1(T31捕獲/比較值寄存器T31比較/voidvoid{P1DIR=0X03;RLED=1;YLED= //初始化T3TIMER34_ENABLE_OVERFLOW_INT(3,1);//T3中斷//時(shí)鐘32分頻101 //自動(dòng)重裝 //啟I/0P10,P11LEDT316T3#pragmavector=#pragmavector=T3_VECTORinterruptvoid{//IRCON={counter=0;RLED=!RLED;}}//10次中斷LED閃爍一//計(jì)數(shù)清200次中斷改變一次紅色LED\\EA\\EA=T3IE=do{T##timer##CTL=(val)?T##timer##CTL|0x08:T##timer##CTL&~0x08;T3的溢出中斷。T3相關(guān)寄存器#defineTIMER34_INIT(timer) #defineTIMER34_INIT(timer) do{ 0x06T##timer##CCTL0=0x00;T##timer##CC0T##timer##CC0=0x00;\T##timer##CCTL1=0x00;\T##timer##CC1=0x00;\}while#define #define (T3CTL=(val)?T3CTL|0X10:功能:val1,T3正常運(yùn)行,val0,T3停止計(jì)數(shù)T3工作方式#defineTIMER3_SET_MODE(val)T3CTL&=(val==1)?(T3CTL|=0X01):\*/\\(val==2)?(T3CTL|=0X02):(val==3)?(T3CTL|=0X03):/*UP/*/*/ /*freeruning\#defineT3_MODE_FREE #defineT3_MODE_DOWN #defineT3_MODE_MODULO0X02#defineT3_MODE_UP_DOWNvalT34CC25307:T44來改變小燈的狀態(tài),T4200次中斷小燈改變狀態(tài)一次。 CC25301。P1SELCC25301。P1DIRCC25301。T4CTL(T4控制寄存器定時(shí)器時(shí)鐘再分頻數(shù)(對(duì)00000120104011810016101321106411112840T40暫停計(jì)數(shù),1310關(guān)溢出中斷,120清計(jì)數(shù)值,寫1 T40001DOWN(T4CC00x00計(jì)數(shù)一次(0x00T4CC0計(jì)數(shù)UP/DOWN(0x00T4CC0T4CCTL0(T40捕獲/比較控制寄存器7—0讀6100關(guān)中斷,1通道0T4CC00001(發(fā)生比較時(shí)0010(發(fā)生比較時(shí)0100111(發(fā)生上比較時(shí)0(計(jì)0UP/DOWN模式下發(fā)生下比較)0UP/DOWN模式下發(fā)生下比較)1011(發(fā)生比較時(shí))0(計(jì)0xff時(shí))1100(發(fā)生比較時(shí))1(0x00時(shí)11120T400捕獲,1T400001T4CC0(T40捕獲/比較值寄存器T40比較/T4CCTL1(T41捕獲/比較控制寄存器7—0讀6110關(guān)中斷,10T4CC00001(發(fā)生比較時(shí)0010(發(fā)生比較時(shí)0100111(發(fā)生上比較時(shí))(0或UP/DOWN模式下發(fā)生下1000(發(fā)生上比較時(shí))(0或UP/DOWN模式下發(fā)生下0xff時(shí))0x00時(shí))11120T410捕獲,1T410001T4CC1(T41捕獲/比較值寄存器T41比較/void{P1DIR=led1=led2= //初始化T4TIMER34_ENABLE_OVERFLOW_INT(4,1);//T4中斷 //自動(dòng)重裝 //啟I/0P10,P11LEDT416T4#pragmavector=#pragmavector=T4_VECTORinterruptvoid{//IRCON=0x00; //10次中斷LED閃爍一輪{counter=0;RLED=!RLED;}//計(jì)數(shù)清}200次中斷改變一次紅色LED的狀態(tài)。\T4IE=\T4IE=\do{T##timer##CTL=(val)?T##timer##CTL|0x08:T##timer##CTL&~0x08;\EA=1;T4的溢出中斷。T4相關(guān)寄存器#defineTIMER34_INIT(timer)#defineTIMER34_INIT(timer)\do T##timer##CTL=0x06;\T##timer##CCTL0=0x00;\T##timer##CC0=0x00;\T##timer##CCTL1=0x00;\T##timer##CC1=0x00;}while#defineTIMER#define#defineTIMER#define (T##timer##CTL=(val)?T##timer##CTL|0X10:#defineTIMER3_SET_MODE(val)T4CTL#defineTIMER3_SET_MODE(val)T4CTL&=\\\/*UP//*freeruning*/*/*/\#defineT4_MODE_FREE #defineT4_MODE_DOWN #defineT4_MODE_MODULO0X02#defineT4_MODE_UP_DOWNvalT44CC253084來改變小燈的狀態(tài),T420001000次IEN0,IEN1等寄存器。 參見CC2530實(shí)驗(yàn)1P1SEL參見CC2530實(shí)驗(yàn)1P1DIR參見CC2530實(shí)驗(yàn)1 參見CC2530實(shí)驗(yàn)7 參見CC2530實(shí)驗(yàn)7 參見CC2530實(shí)驗(yàn)7 參見CC2530實(shí)驗(yàn)7 參見CC2530實(shí)驗(yàn)void{P1DIR=led1=led2= //初始化T4TIMER34_ENABLE_OVERFLOW_INT(4,1);//T4中斷 //自動(dòng)重裝 //啟I/0P10,P11LEDT416T4#pragmavector=#pragmavector=interruptinterruptvoid{IRCON=if(counter<1000)counter++;//1000次中斷LED閃爍一{counter= //計(jì)數(shù)清GlintFlag //GlintFalg1,LED閃}}do{T##timer##CTL=EA=1;T4IE=(val)?T##timer##CTL|0x08:T##timer##CTL&~0x08;\\T4#defineTIMER34_INIT(timer)\do#defineTIMER34_INIT(timer)\do T##timer##CTL=0x06;\T##timer##CCTL0=0x00;\T##timer##CC0=0x00;\T##timer##CCTL1=0x00;\T##timer##CC1=0x00;}while#defineTIMER#define#defineTIMER#define (T##timer##CTL=(val)?T##timer##CTL|0X10:功能:timer34。val1,定時(shí)器正常運(yùn)行,val0,定時(shí)器停止#define #define T4CTL&=~0X03;\\*/*//*UP/*//*freeruning\#defineT4_MODE_FREE #defineT4_MODE_DOWN #defineT4_MODE_MODULO0X02#define#defineT4_MODE_FREE #defineT4_MODE_DOWN #defineT4_MODE_MODULO0X02#defineT4_MODE_UP_DOWNCC25309LED的狀態(tài),但這里兩個(gè)按鍵不是做鍵盤用,而是產(chǎn)生中斷觸發(fā)信按下液晶擴(kuò)展板上“OK”鍵S6,CC2530模塊上1個(gè)LEDP0,P0SEL,P0DIR,P0INP,P0IEN,P0CTL,IEN2,P0IFG等寄 P0IEN(P01口中斷掩碼70P070關(guān)中斷,160P060關(guān)中斷,150P050關(guān)中斷,140P040關(guān)中斷,130P030關(guān)中斷,120P020關(guān)中斷,110P010關(guān)中斷,100P000關(guān)中斷,1PICTL(P口中斷控制寄存器7—0讀600最小驅(qū)動(dòng)能力,1500關(guān)中斷,1開中斷400關(guān)中斷,1開中斷300關(guān)中斷,1開中斷20P2(0-4)0上升沿觸發(fā),110P1(0-7)0上升沿觸發(fā),100P0(0-7)0上升沿觸發(fā),11IEN2(—讀500關(guān)中斷,140P10關(guān)中斷,13010關(guān)中斷,12000關(guān)中斷,110P20關(guān)中斷,1000關(guān)中斷,1voidvoid{RLED=led2=P0INP&~0X0c;//有上拉、下拉P1INP&=~0X40;//選擇上拉P0IEN|=0X30;PICTL|=EA=IEN1|=0X20;P0IFG|=//P04//P0IE=//P12P13中斷標(biāo)志清}I/0P04,P03LEDP0interruptvoid{//interruptvoid{//按鍵中{P0IFG=0;RLED=!RLED;}P0IF= }P04,P03觸發(fā)中斷的時(shí)候?qū)⒕G色LEDADCC253010CLKCONSTA,IEN0,U0DUB,ADCCON1,ADCCON3,ADCH,ADCL等寄存器。 5CLKCONCMD(時(shí)鐘控制寄存器71寫32kHz0:32K晶振,1:32KRC61寫0:32M晶振,1:16MRC寫定時(shí)器計(jì)數(shù)時(shí)鐘分頻(該時(shí)鐘頻不大于OSC決定頻率000001010011110寫000:32001:16010:8011:4100:2101:1110:500111:25071讀32kHz0:32K晶振,1:32KRC61讀0:32M晶振,1:16MRC讀(該時(shí)鐘頻不大于決定頻率000001010011100101110讀000:32001:16010:8011:4100:2101:1110:500111:250SLEEPCMD(睡眠模式控制寄存器7—0讀60寫50寫寫00011020寫0010寫000110117—0讀60T1I/O01,150T3I/O01,140T4I/O01,1—10101,100001,1U0CSR(0控制&狀態(tài)寄存器700SPI模式,1UART600關(guān)閉接收,150SPI0SPI主,1SPI400沒有幀錯(cuò)誤,1300沒有校驗(yàn)錯(cuò)誤,1200沒有接收到數(shù)據(jù),1接收到一字節(jié)數(shù)100沒有發(fā)送,1最后一次寫入00讀0串口閑,1U0GCR(0常規(guī)控制寄存器70SPI0低電平空閑,160SPI0CPOLCPOLCPOLCPOL1由非CPOL跳向CPOLCPOL500低位在先,1在U0BAUD(0波特率控制寄存器BAUD_EU0BUF(0收發(fā)緩沖器70ADC ADC進(jìn)行中,1ADC60AD轉(zhuǎn)換(1表示當(dāng)前正AD轉(zhuǎn)換)0沒有轉(zhuǎn)換,1啟動(dòng)AD轉(zhuǎn)換AD000110T101100普通模式(13x打開01LFSR-AD 1.25V電壓 AIN7A/D 8位 10位 12位1114A/DADCA/D0000000010010 01000101 01111000AIN0-1001AIN2-1010AIN4- 1110 1/3voidDelay(uintn)1voidinitUARTtest(void);函數(shù)原型:voidvoid{CLKCONCMD&=~0x40;CLKCONCMD&=~0x47;SLEEPCMD|=//晶//TICHSPD128分頻,CLKSPD不分//RCPERCFG //位置1P0P0SEL //P0U0CSR|= U0GCR|= //baud_e=U0BAUD| UTX0IF=U0CSR|= //允許接IEN0| }P000voidUartTX_Send_String(char*Data,intvoidUartTX_Send_String(char*Data,int{intj;{U0DBUF=*Data++;while(UTX0IF==UTX0IF=}}*data為發(fā)送緩沖的指針,len為發(fā)送數(shù)據(jù)的長(zhǎng)度,在初始化串口initTempSensor(void){initTempSensor(void){DISABLE_ xdata*)0xDF26)=}

UINT16accValue;UINT16value;accValue=0;for(i=0;i<4;i++{{ADC_SINGLE_CONVERSION(ADC_REF_1_25_V|ADC_14_BIT|ADC_TEMP_SENS);value=ADCL>>value|=(((UINT16)ADCH)<<}value=accValue>>2;//devideby4return}4ADAD結(jié)果轉(zhuǎn)換為溫度返回。#define#define (((ADC_VALUE)>>4)-CC2530IEN0,U0DUB,ADCCON1,ADCCON3,ADCH,ADCL等寄存器。 voidDelay(uintn)1voidinitUARTtest(void)10voidvoidUartTX_Send_String(char*Data,intlen)void{{//P1P1DIR=//P1控制led1=led2=//ADCH&= //EOC標(biāo) //14ADCCON1 //停止ADCCON1|=0X40;//},ADADCCC2530IEN0,U0DUB,ADCCON1,ADCCON3,ADCH,ADCL等寄存器。 voidDelay(uintn)1voidinitUARTtest(void)10void{//P1outP1DIR=0x03;void{//P1outP1DIR=0x03;led1=led2=//P1控制//ADCH&= //EOC標(biāo) //單次轉(zhuǎn)換,參考電壓為電源電壓,對(duì)AVDDA/D轉(zhuǎn)//14ADCCON1=0X30; ADCCON1|=0X40;//A/D}P10,P11LEDAD,ADUARTCC253013Test57600。U0GCR,U0BAUD,IEN0,U0DUB等寄存器。 voidDelay(uintn)1voidinitUARTtest(void);函數(shù)原型:voidvoid{CLKCONCMD&= //晶 CLKCONCMD&= //TICHSPD128分頻,CLKSPD不分SLEEPCMD| //RCPERCFG //位置1P0P0SEL //P0P2DIR&=~0XC0; //P0優(yōu)先作為串口0U0CSR|=0x80; //UART方式U0GCR|= U0BAUD| UTX0IF=}函數(shù)功能:初始化串口0,將I/O 到P0口,P0優(yōu)先作為串口0使用,UART工作方式,波特率為57600。使用晶振作為系統(tǒng)時(shí)鐘源。voidvoidUartTX_Send_String(char*Data,int{intj;{U0DBUF=*Data++;while(UTX0IF==UTX0IF=}}函數(shù)功能:串口發(fā)字串,*Data為發(fā)送緩存指針,len為發(fā)送字串的長(zhǎng)度,只能是在初始化函voidinitUARTtest(void)之后調(diào)用才有效。發(fā)送完畢后返回,無返回值。CC253014PC在PC上從串口向CC2430模塊發(fā)送命令,即可控制LED燈的亮滅,控制數(shù)據(jù)的格式為“燈開|關(guān)#”,LED1,LED2,0是關(guān)燈,1是開燈,如打開LED2令是“21#” void{voidDelay(uintn)void{CLKCONCMD&=~0x40; while(!(SLEEPSTA&0x40)); CLKCONCMD&= //TICHSPD128分頻,CLKSPD不分SLEEPCMD| //RCPERCFG //位置1P0P0SEL //P0P2DIR& //P0U0CSR|= U0GCR|= U0BAUD| UTX0IF=} 到P0口,P0優(yōu)先作為串口0使用,UART工作方式voidUartTX_Send_String(char*Data,int{intvoidUartTX_Send_String(char*Data,int{intj;{U0DBUF=*Data++;while(UTX0IF==UTX0IF=}}函數(shù)功能:串口發(fā)字串,*Data為發(fā)送緩存指針,len為發(fā)送字串的長(zhǎng)度,只能是在初始化函voidinitUARTtest(void)之后調(diào)用才有效。發(fā)送完畢后返回,無返回值。interruptvoidinterruptvoid{URX0IF=temp=}temp變量,然后在主程序中去處理接收到的數(shù)據(jù)。CC253015:PCPCCC25303030字節(jié),則以“#“為 voidDelay(uintn)1voidinitUARTtest(void)15voidUartTX_Send_String(char*Data,intlen)15voidUART0_ISR(void)15CC253016PC利用CC2430定時(shí)器1 -讀50P00關(guān)中斷,14040關(guān)中斷,13030關(guān)中斷,12020關(guān)中斷,11010關(guān)中斷,100DMA0關(guān)中斷,1T1CCTL0(T10捕獲/比較寄存器70T100捕捉引腳輸入,1RF61T100關(guān)中斷,1T10T3CC0時(shí)的發(fā)生事件0001(發(fā)生比較時(shí)0010(發(fā)生比較時(shí)010(0UP/DOWN模式下發(fā)生(0UP/DOWN模式下發(fā)生101預(yù)留,110預(yù)留,11120T100捕獲,11T1000011011T1CC0H(T10捕獲值/比較值高字節(jié)寄存器7T10捕獲值/T1CC0L(T10捕獲值/比較值低字節(jié)寄存器7T10捕獲值/voidDelay(uintn)1voidinitUARTtest(void)15voidUartTX_Send_String(char*Data,intlen)15voidUART0_ISR(void)15void{T1CCTL0void{T1CCTL0=//T1CCTL0//T1ch0T1CC0H0x03;T1CC0L//0x0400=1000D)T1CTL|=0X02;//start//使用比較模式MODE10(B)IEN1|=0X02;IEN0|=//T1中}void說明,T1CC00X03E8=10002501s。voidvoid{PERCFG=P0SELvoid{PERCFG=P0SEL=//位置1P0//P0用作串U0CSR|=U0GCR|=U0BAUD|=UTX0IF=U0CSR|=IEN0|=//允許接}{CLKCONCMD=//TICKSPD1110.25M}interruptvoid{IRCON&~0x02;//清中斷標(biāo)志if(counter==interruptvoid{IRCON&~0x02;//清中斷標(biāo)志if(counter=={counter=timetemp led1 //調(diào)試指示}}interruptvoidinterruptvoid{URX0IF=URX0IF=temp=}PM0PM1,PM2,PM3PM3功耗最低。 -1-0讀00voidDelay(void); 參見實(shí)驗(yàn)1void 參見實(shí)驗(yàn)#definedo#definedo\\if(mode==0) {SLEEPCMD&=~0x03;}\elseif(mode==3){SLEEPCMD|=0x03;}\else{SLEEPCMD&=~0x03;SLEEPCMD|=mode;}\PCON|=0x01; }whileCC2530CC2530模塊的供電電CC253018本次實(shí)驗(yàn)使能外部I/O中斷(按下液晶擴(kuò)展板的S6或S7按鍵)喚醒CC2430,每次喚醒LED閃爍10次,然后進(jìn)入低功耗模式,在進(jìn)入PM3之前程序會(huì)將兩個(gè)LED燈關(guān)閉。在應(yīng)用中也可以不關(guān)閉以指示CC2430處于低功耗模式,可以中斷激活。P2INP,CLKCONCMD,SLEEPCMD等寄存器。 P2INP(P2輸入模式寄存器70P2口上/0上拉,160P1口上/0上拉,150P0口上/0上拉,140P2_40上拉,130P2_30上拉,120P2_20上拉,110P2_10上拉,1void voidvoid{P1DIR=0X03;RLED=1;YLED=P1SEL&=~0X0C;P1DIR&=P1INP&~0X0c;//P2INP&~0X40;選擇上P1IEN|= //P12PICTL|=0X02; EA=1;IEN2|=0X10;//P1IE=P1IFG|= //P12{uchari,{uchari,j;i=sel;{SLEEPCMD&=0xfc;SLEEPCMD|=i;PCON=0x01;}}{PCON=}}selsel0-3CPUPM0-PM3PM0-CC2530190x0000000xffffffSTST[2-0]0x000f005PM2,這樣周而復(fù)始的喚醒工作然后睡眠。系統(tǒng)睡眠832秒,這已經(jīng)是最長(zhǎng)睡眠時(shí)間。實(shí)驗(yàn)中操作了的寄存器有P1,P1DIR,P1SEL,IEN0,ST2,ST1,ST0,CLKCONCMD,SLEEPCMD等寄存器。 睡眠定時(shí)器計(jì)數(shù)/比較值[23-16]ST計(jì)ST0。睡眠定時(shí)器計(jì)數(shù)/比較值[15-8]STST0。睡眠定時(shí)器計(jì)數(shù)/比較值[7-0]ST計(jì)數(shù)值,ST0,寫寄存器就后ST0。void{ST2=void{ST2=0X00;ST1=0X0f;ST0=0X00;EA1;//開中斷STIE=1;STIF=}函數(shù)功能:打開睡眠定時(shí)器SLEEPCMDTIMER(ST)ST的中斷發(fā)生時(shí)間為計(jì)數(shù)值0x000f00時(shí)。void{ucharvoid{ucharjj=10;{RLED=}}LED5interruptvoidinterruptvoid{STIF=STIF=}#define\\\{\P1SEL&=\P1DIR|=\RLED=\GLED=\}\\{\P1DIR&=\}}#defineRLEDP1_0#defineGLED\#defineSET_MAIN_CLOCK_SOURCE(source)\do{ if(source) CLKCONCMD|=0x40;\SLEEPCMD|=/*關(guān)掉不用的*/\\\}elseSLEEPCMD&=\ CLKCONCMD&~0x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論