微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > 射频综合技术问答 > zigbee基础应用(一)流水灯

zigbee基础应用(一)流水灯

时间:10-02 整理:3721RD 点击:

zigbee基础应用(一)流水灯


江湖规矩:学一门新的单片机CC2530都从点灯开始。
1.寄存器配置
               
一张图简单明了的表现了所用到的寄存器的应用,下面对配置举一个简单的例子
P1SEL&=~0X13   /*配置p1.0、p1.1、p1.4为通用i/o口*/
P1DIR"=0X13    /*配置p1.0、p1.1、p1.4为输出*/
2.原理图
附上我的原理图


以上就是置1灯灭,置0灯亮
3.代码
以下则来一段实现代码
#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 P1_4 //定义 LED3 为 P14 口控制
//函数声明
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、P14 定义为输出
  LED1 = 1;
  LED2 = 1;
  LED3 = 1;  //LED 灯初始化为关
}
/***************************
//主函数
***************************/
void main(void)
{
  InitIO();  //初始化 LED 灯控制 IO 口
  while(1)  //死循环
  {
    LED1 = !LED1;  // LED1 灯闪一次
    Delay(10000);
    LED2 = !LED2;  // LED2 灯闪一次
    Delay(10000);
    LED3 = !LED3;  // LED3 灯闪一次
    Delay(10000);                                                                                 
  }
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top