欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

物联网Zigbee(CC2530)学习随笔

程序员文章站 2024-02-22 12:55:04
...

物联网Zigbee(CC2530)学习随笔

第一课 点灯基础实验

一、目的:实现灯的亮灭闪烁功能

物联网Zigbee(CC2530)学习随笔

二、原理解析

通过CC2530芯片P1_0口IO功能进行灯的控制
所以P1_0引脚输出低电平D1亮, P1_0引脚输出高电平D1熄灭
物联网Zigbee(CC2530)学习随笔
物联网Zigbee(CC2530)学习随笔
通过查看其电路引脚,确认所使用的引脚名称

三、具体程序操作

1.先初始化定义各个端口

#include <ioCC2530.h>
#define uint  unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define LED1 P1_0	    //定义LED1为P10口控制
//函数声明
void Delay(uint);		//延时函数
void InitIO(void);		//初始化LED控制IO口函数

2.定义延时

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++);
}

3.初始化IO口程序

void InitIO(void)
{
  P1DIR |= 0x01;  //P10定义为1:输出

  LED1 = 1;       //LED灯初始化为关 
                  //    (高电平)
}

数据手册 中查该函数定义,了解其用法
物联网Zigbee(CC2530)学习随笔
结合相应的代码(0x01)
物联网Zigbee(CC2530)学习随笔
物联网Zigbee(CC2530)学习随笔
4.主函数

void main(void)
{
  InitIO();		//初始化LED灯控制IO口	
  while(1)                  //死循环
  {  
    LED1 = 0;             // 点亮LED1
    Delay(30000);      // 延时
    LED1 = 1;            // 关闭LED1 
    Delay(30000);      // 延时
  }
}

课后练习

物联网Zigbee(CC2530)学习随笔
物联网Zigbee(CC2530)学习随笔
练习代码见附件