CC2530入门
阅读原文时间:2023年07月10日阅读:2

一、简介

单片机(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(); //调用函数,跑马灯
}
}

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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章