一、简介

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

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

CC2530入门的更多相关文章

  1. 【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-上位机源码

    [CC2530入门教程-增强版]基础技能综合实训案例(基础版)-上位机源码 广东职业技术学院  欧浩源 一.需求分析 按照指定参数打开串口,与测控终端建立数据传输通道,并根据应用要求实现程序逻辑,具体 ...

  2. 【CC2530入门教程-01】IAR集成开发环境的建立与项目开发流程

    [引言] 本系列教程就有关CC2530单片机应用入门基础的实训案例进行分析,主要包括以下6部分的内容:1.CC2530单片机开发入门.2.通用I/O端口的输入和输出.3.外部中断初步应用.4.定时/计 ...

  3. 【CC2530入门教程-06】CC2530的ADC工作原理与应用

    第6课  CC2530的ADC工作原理与应用 广东职业技术学院  欧浩源 一.A/D转换的基本工作原理 将时间上连续变化的模拟量转化为脉冲有无的数字量,这一过程就叫做数字化,实现数字化的关键设备是AD ...

  4. 【CC2530入门教程-01】CC2530微控制器开发入门基础

    [引言] 本系列教程就有关CC2530单片机应用入门基础的实训案例进行分析,主要包括以下6部分的内容:[1]CC2530微控制器开发入门基础.[2]通用I/O端口的输入和输出.[3]外部中断初步应用. ...

  5. CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制

    第2课  CC2530的通用I/O端口输入和输出控制 广东职业技术学院  欧浩源 一.CC2530的引脚概述 CC2530微控制器采用QFN40封装,有40 个引脚.其中,有21个数字I/O端口,其中 ...

  6. 【CC2530入门教程-03】CC2530的中断系统及外部中断应用

    第3课  CC2530的中断系统及外部中断应用 广东职业技术学院  欧浩源 一.中断相关的基础概念  内核与外设之间的主要交互方式有两种:轮询和中断. 轮询的方式貌似公平,但实际工作效率很低,且不能及 ...

  7. 【CC2530入门教程-04】CC2530的定时/计数器原理与应用

    第4课  CC2530的定时/计数器原理与应用 广东职业技术学院  欧浩源 一.定时/技术器的基本原理 定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向CPU提 ...

  8. 【CC2530入门教程-05】CC2530的串行接口原理与应用

    第5课  CC2530的串行接口原理与应用 广东职业技术学院  欧浩源 一.并行通信与串行通信 微控制器与外设之间的数据通信,根据连线结构和传送方式的不同,可以分为两种:并行通信和串行通信. 并行通信 ...

  9. 【CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制

    第2课  CC2530的通用I/O端口输入和输出控制 小蜜蜂科教 / 广东职业技术学院  欧浩源 [通用I/O端口视频教程:https://v.qq.com/x/page/x0793aol7us.ht ...

随机推荐

  1. AJ学IOS 之ipad开发qq空间项目横竖屏幕适配

    AJ分享,必须精品 一:效果图 先看效果 二:结构图 如图所示: 其中用到了UIView+extension分类 Masonry第三方框架做子控制器的适配 NYHomeViewController对应 ...

  2. Leetcode802-找到最终的安全状态(Python3)

    刚开始没思路,还以为是利用二维矩阵直接标记节点间的有向路径,最后循环遍历就能得到结果,结果最后发现方向是错的,之后看了大佬们写的代码,发现原来是用出度来实现节点是否安全的. 照着大佬们的思路重新写了一 ...

  3. R - Cow and Message CodeForces - 1307C

    思路对了,但是不会写. 等差数列长度不是1就是2,所以不是一个字母就是俩字母,一开始写的时候直接枚举两个字母,然后让次数相乘.这样是不对的,比如abaabb,字母ab的个数应该是3+2+2,因该是每一 ...

  4. codeforces Equalizing by Division (easy version)

    output standard output The only difference between easy and hard versions is the number of elements ...

  5. redis和memcache列出所有key

    //redis $redis = new Redis(); $redis->connect("host", "port"); $redis->sel ...

  6. 常见web漏洞的整理之SQL注入

    SQL注入: 简介: 全称Structured Query Language,即结构化查询语言,是一种特殊的编程语言,用于数据库中的标准数据查询语言.也被作为关系式数据库管理系统的标准语言. 原理: ...

  7. 不借助多余参数也可交换两个参数(c++,swap函数)

    利用a^a=0异或属性 [示例代码] #include<stdio.h> void data_swap(int &a,int &b){ a = a ^ b; b = a ^ ...

  8. 吃瓜的正确姿势,Python绘制罗志祥词云图

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 这篇文章中向大家介绍了Python绘制词云的方法,不难看出绘制词云可以说是一 ...

  9. python 使用记录及问题

    编码问题 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1: ordinal not in range(12 ...

  10. s2h-HTTP Status 404 - No result defined for action and result input错误解决

    今天做个小项目,用的是ssh,结果在运行的时候出现HTTP Status 404 - No result defined for action and result input的错误. 首先认真检查所 ...