cc2530基础 1.GPIO 输出控制实验-控制 Led 亮灭

1.流水灯

按照表格寄存器的内容,对 P1.0 口进行配置,当 P1.0 输出低电平时 D1 被点亮。所以配置如
下:

P1SEL &=~0x03; //配置 P1.0 为通用 IO 口,默认为 0 的,可以不设
P1DIR |= 0x03; //P10、 P11 定义为输出
P0DIR |= 0x10; // P14 定义为输出

由于 CC2530 寄存器初始化时默认值为(详细说明请参考《zigbee 开发板\相关资料\CC2530 中文数据手册完全版.pdf》):

P1SEL = 0x00;
P1DIR |= 0xff;
P1INP = 0x00;

所以 IO 口初始化我们可以简化初始化指令: P1DIR |= 0x01; //配置 P1.0 为输出
5.源码分析

#include <ioCC2530.h>
#define uint  unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define LED1 P1_0	//定义LED1为P10口控制
#define LED2 P1_1	//定义LED2为P11口控制
#define LED3 P0_4	//定义LED3为P04口控制
//函数声明
void Delay(uint);		//延时函数
void InitIO(void);		//初始化LED控制IO口函数
/****************************
//延时
*****************************/
void Delay(uint n)
{
  uint i;
  for(i = 0;i<n;i++);
  for(i = 0;i<n;i++);
  for(i = 0;i<n;i++);
  for(i = 0;i<n;i++);
  for(i = 0;i<n;i++);
}
/****************************
//初始化IO口程序
*****************************/
void InitIO(void)
{
  P1DIR |= 0x13;  //P10、P11定义为输出
  P0DIR |= 0x10;  //P04定义为输出
  LED1 = 1;
  LED2 = 1;
  LED3 = 1;	   //LED灯初始化为关
}
/***************************
//主函数
***************************/
void main(void)
{
  InitIO();		//初始化LED灯控制IO口	
  while(1)                //死循环
  {  
    LED1 = !LED1;           // LED1灯闪一次
    Delay(50000);           
    LED2 = !LED2;           // LED2灯闪一次
    Delay(50000);            
    LED3 = !LED3;           // LED3灯闪一次
    Delay(50000);
    
  }
}

posted @   L707  阅读(863)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
主题色彩