CC2530入门

一、简介

单片机(MCU)就是一个将微型计算机系统制作到里面的集成电路芯片

 

微控制器的基本结构内核+外设。内核通过寄存器控制外设;外设通过中断系统通知内核;内核与外设之间通过总线传输数据、地址及控制信息。

 

嵌入式程序设计基本套路为:读写寄存器处理中断源访问内部总线

 

两个程序:在桌面电脑的集成开发环境上进行程序开发;在嵌入式微处理器系统中运行程序

 

二、CC2530与IAR开发环境

选用的版本是IAR Embedded Workbench for 8051。

 

整个CC2530开发相关的环境包括:

        1.安装集成开发环境:IAR-EW8051-8101。

        2.安装仿真器“SmartRF4EB”的驱动程序。

        3.安装代码烧写工具:Setup_SmartRF_Programmer_1.10.2。

        4.安装TI的Zigbee协议栈:ZStack-CC2530-2.5.1a。

 

CC2530IO引脚图:

 

 

题目:跑马灯

创建-一个工程,为工程添加代码文件,实现一个跑马灯程序。也就是让4个LED灯轮流亮灭: LED5亮,延时,LED6亮,延时,LED3亮,延时,LED4亮,延时, LED5灭,延时,LED6灭,延时,LED3灭,延时,LED4灭,延时.....

我们可暂时定义一下引脚图:

 

 

 

 

 

需要掌握在IAR环境下进行CC2530的程序开发流程。

 

最重要的是配置工程文件

<1>配置芯片信息General Options->Target->Device information

 

 

 

<2>配置仿真设备Debugger->Setup->Driver

 

 

 

 

烧写程序有两种方法,一种是在IAR中联调,另外一种是生成.hex文件,通过烧写软件把程序烧写进设备。

 

#include "ioCC2530.h"

 #define LED5 P1_3   //对对应的引脚进行宏定义,定义为对应的LEDx
 #define LED6 P1_4
 #define LED3 P1_0
 #define LED4 P1_1

void delay(unsigned int t)     //简单的延时函数
{
  while(t--);
}
void LEDRunning()      跑马灯代码
{
    LED5 = 1;    //高电平灯亮
    delay(10000);
    LED6 = 1;
    delay(10000);
    LED3 = 1;
    delay(10000);
    LED4 = 1;
    delay(10000);
    LED5 = 0;    //低电平灯灭
    delay(10000);
    LED6 = 0;
    delay(10000);
    LED3 = 0;
    delay(10000);
    LED4 = 0;
    delay(10000);
}

void main(void)
{
   P1SEL &= ~0x1b;     //0001 1011->1110 0100  将P1_0,1,3,4 设置为普通IO口
   P1DIR |= 0x1b;     //0001 1011  将P1_0,1,3,4  设置为输出
  
   P1_0=0;
   P1_1=0;
   P1_3=0;
   P1_4=0;    //默认引脚低电平关闭,引脚对应LED灯
  
   while(1)
   {
    LEDRunning();    //调用函数,跑马灯
   }
}

 

 

程序中用到的两个寄存器。

 

 

 

 

 

 

 

posted @ 2020-04-07 22:08  彡灬小宇  阅读(1155)  评论(0编辑  收藏  举报