首页 > 代码库 > 「ZigBee模块」基础实验(1)点亮LED

「ZigBee模块」基础实验(1)点亮LED

1.IO配置

CC2530 的 IO 口配置需要三个寄存器:PXSELPXDIRPXINP 

 

IO口寄存器

P0

P1

P2

地址

0x80

0x90

0xA0

 

PXSEL

P0SEL

P1SEL

P2SEL

地址

0xF3

0xF4

0xF5

PX[7:0]功能设置寄存器,默认普通IO口 (0:普通 IO 口 1:第二功能)

 

PXDIR

P0DIR

P1DIR

P2DIR

地址

0xFD

0xFE

0xFF

PX[7:0] 输入输出设置寄存器 (0:输入 1:输出)

 

PXINP

P0INP

P1INP

P2INP

地址

0x8F

0xF6

0xF7

PX[7:0]做输入口时的电路模式寄存器 (0:上拉/下拉 1:三态)

2.LED部分接线方式

LED1P1_0

LED2P1_1

 

3.实现功能

通电后LED1LED2交替闪烁

 

4.部分代码分析

P1_0P1_1口进行配置

P1SEL &= ~0x03;

P1DIR |= 0x03;

P1INP &= ~0x03; 

 

5.完整代码

 1 #include <ioCC2530.h> 2  3 #define LED1 P1_0 4 #define LED2 P1_1 5  6 #define uchar unsigned char 7 #define uint  unsigned int 8  9 void ledInit();10 void delayms(uint ms);11 12 void ledInit()13 {14   P1SEL &= ~0x03;15   P1DIR |= 0x03;16   P1INP &= ~0x03;17   18   LED1 = 1;19   LED2 = 0;20 }21 22 void delayms(uint ms)23 {24   uint i,j;25   for(i=ms; i>0; i--)26     for(j=587; j>0; j--);27 }28 29 void main()30 {31   ledInit();32   while(1)33   {34     delayms(1000);35     LED1 = !LED1;36     LED2 = !LED2;37   }38 }

 

「ZigBee模块」基础实验(1)点亮LED