首页 > 代码库 > 「ZigBee模块」基础实验(1)点亮LED
「ZigBee模块」基础实验(1)点亮LED
1.IO配置
CC2530 的 IO 口配置需要三个寄存器:PXSEL、PXDIR、PXINP 。
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部分接线方式
LED1接P1_0
LED2接P1_1
3.实现功能
通电后LED1与LED2交替闪烁
4.部分代码分析
对P1_0和P1_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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。