【引言】

本系列教程就有关CC2530单片机应用入门基础的实训案例进行分析,主要包括以下6部分的内容:
【1】CC2530微控制器开发入门基础。
【2】通用I/O端口的输入和输出。
【3】外部中断初步应用。
【4】定时/计数器的定时应用。
【5】串行通信接口应用。
【6】A/D转换器数据采集应用。

---------------------------------------------------------------------------------------------------------------------

第1课    CC2530微控制器开发入门基础

小蜜蜂笔记网 / 广东职业技术学院    欧浩源

【视频教程】:CC2530概述与开发环境的搭建

【视频教程】:IAR环境下CC2530的开发流程

一、什么是单片机?

单片机:Micro controller,MCU,微控制器,是一种集成电路芯片,它通过超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、输入输出I/O端口、中断控制系统、定时/计数器和通信接口等多种功能部件集成到一块硅片上,构成了一个体积小但功能完善的微型计算机系统,简单的说,单片机就是一个将微型计算机系统制作到里面的集成电路芯片

不管复杂还是简单,微控制器的基本结构内核+外设。内核通过寄存器控制外设;外设通过中断系统通知内核;内核与外设之间通过总线传输数据、地址及控制信息。所以,嵌入式程序设计师跟底层硬件打交道的基本套路为:读写寄存器处理中断源访问内部总线

单片机的程序开发与程序运行分别在两套系统运行:在桌面电脑的集成开发环境上进行程序开发;在嵌入式微处理器系统中运行程序

二、CC2530微控制器与IAR开发环境

CC2530微控制器内部使用业界标准的增强型8051内核,结合了领先的RF收发器,是用于2.4GHz IEEE802.15.4的Zigbee应用的一个片上系统(SOC)解决方案。要进行CC2530的应用开发,就先要安装IAR相关的开发环境。IAR根据支持的微处理器种类不同分为许多不同的版本,由于CC2530使用的是增强型8051内核,所以这里应该选用的版本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。

三、CC2530项目开发流程入门

【1】创建工作区
    在菜单栏中,File->New->Workspace
【2】新建IAR工程
    在菜单栏中,Project->Create New Project...
    <1>在这里你只能新建8051内核的工程。
    <2>通过“Empty project”来新建一个空白工程。
    <3>要给新建工程命名和指定存储路径。
    <4>创建完毕,工程就会出现在左边工作区中。
【3】配置工程选项
    如果你只做在线仿真调试,只需要配置两个地方
    <1>配置芯片信息General Options->Target->Device information

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

【4】添加代码文件
    <1>在菜单栏中,File->New->File,创建一个空白文件。
    <2>通过执行File->Save命令将文件保存到指定位置。
    <3>在“Workspace”中的工程上鼠标右击,择Add->Add File...命令将代码文件添加到工程中。
【5】在代码文件中编写代码
     <跑马灯代码请参照课件或其他技术笔记>
【6】编译代码
    在菜单栏中,Project->Complie
    或者点击工具栏中的工具按钮。
    注:没有语法错误的程序才能通过编译。
【7】仿真调试
    <1>将仿真器SmartRF4EB与目标板进行正确的连接:排线上三角箭头与目标板的白色三角箭头对齐。
    <2>在菜单栏中,Project->Download and Debug,或者点击工具栏中“绿色三角符”按钮。

<3>进入仿真调试环境。

至此,大功告成,可以随意调试了。

【附件】:LED灯闪烁的源代码。

#include "ioCC2530.h"

#define D4  P1_1

void Delay(unsigned int t)
{
while(t--);
} void Init_Port()
{
P1SEL &= ~0x02;
P1DIR |= 0x02;
}
void main()
{
Init_Port();
while()
{
D4 = ;
Delay();
D4 = ;
Delay();
}
}

【CC2530入门教程-01】CC2530微控制器开发入门基础的更多相关文章

  1. 【Zigbee技术入门教程-01】Zigbee无线组网技术入门的学习路线

    [Zigbee技术入门教程-01]Zigbee无线组网技术入门的学习路线 广东职业技术学院  欧浩源 一.引言    在物联网技术应用的知识体系中,Zigbee无线组网技术是非常重要的一环,也是大家感 ...

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

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

  3. ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一 ...

  4. 【django入门教程】Django的安装和入门

    很多初学django的朋友,都不知道如何安装django开发以及django的入门,今天小编就给大家讲讲django入门教程. 注明:python版本为3.3.1.Django版本为1.5.1,操作系 ...

  5. Wi-Fi无线控制器开发例程(基础篇)

    动手来做自己的WIFI远程控制插座吧! 如果感觉视频不容易入门可以看这里 https://www.cnblogs.com/yangfengwu/p/10100152.html WIFI远程控制器系统方 ...

  6. Angular系列----AngularJS入门教程01:AngularJS模板 (转载)

    是时候给这些网页来点动态特性了——用AngularJS!我们这里为后面要加入的控制器添加了一个测试. 一个应用的代码架构有很多种.对于AngularJS应用,我们鼓励使用模型-视图-控制器(MVC)模 ...

  7. 【转】BCSphere入门教程01:Immediate Alert--不错

    原文网址:http://www.ituring.com.cn/article/117570 写在前面 智能硬件开发的起点是智能硬件,在本教程中的每一章节,首先会列出您的蓝牙智能硬件所需要支持的Serv ...

  8. Unix/Linux环境C编程入门教程(10) SUSE Linux EnterpriseCCPP开发环境搭建

    安装SUSE企业版以及搭建C/C++开发环境 1.      SUSELinux Enterprise是一款服务器操作系统,异常稳定. 2.设置虚拟机类型. 3.选择稍后安装操作系统. 4.选择SUS ...

  9. ASP.NET MVC4 新手入门教程之五 ---5.用控制器访问模型数据

    在本节中,将创建一个新的MoviesController类并编写代码来检索电影数据并将其显示在浏览器中使用一个视图模板. 才走出下一步生成应用程序. 用鼠标右键单击控制器文件夹中并创建一个新的 Mov ...

随机推荐

  1. TCP 接收窗口自动调节

    https://technet.microsoft.com/zh-cn/magazine/2007.01.cableguy.aspx 欢迎来到 TechNet 杂志“网络专家”的第一部分.TechNe ...

  2. 3DMAX2016安装教程【图文】

    下载安装包之后,双击setup.exe. 下面是安装图片教程: 点击安装 点击下一步. 如图输入序列号和产品密钥. 填写安装路径,然后下一步. 开始安装,等待. 安装成功.

  3. node.js cmd 输入npm-v无反应

    今天安装node,先是提示node版本太低.去官网更新了一下,然后 npm install -g vue-cli 结果出了个"npm ERR! errno -4048" 百度出 这 ...

  4. 第33天:封装自己的class类

    封装自己的class类,实现浏览器兼容. <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  5. ASP.NET MVC4中使用bootstrip模态框时弹不出的问题

    最近发现使用在MVC中使用bootstrip的模态框时弹不出来,但单独建立一HTML文件时可以弹出,说明代码没有问题,经过多次测试发现,在MVC的cshtml文件中添加上以下语句就能正常 @{ Lay ...

  6. 命名空间(namespace)// 友元函数

    17.2.命名空间 命名空间(namespace)为防止名字冲突提供了更加可控的机制.命名空间能够划分全局命名空间,这样使用独立开发的库更加容易了.一个命名空间就是一个作用域,通过在命名空间内部定义库 ...

  7. CSS3 过渡效果触发时机的问题

    像360deg过渡效果,做专题的同学应该是经常做的. <!DOCTYPE html> <html lang="en"> <head> <m ...

  8. main方法为什么是静态的

    main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[] args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样  ...

  9. Codeforces VK Cup 2015 A.And Yet Another Bracket Sequence(后缀数组+平衡树+字符串)

    这题做得比较复杂..应该有更好的做法 题目大意: 有一个括号序列,可以对其进行两种操作: ·        向里面加一个括号,可以在开头,在结尾,在两个括号之间加. ·        对当前括号序列进 ...

  10. 【刷题】洛谷 P3809 【模板】后缀排序

    题目背景 这是一道模板题. 题目描述 读入一个长度为 \(n\) 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置. ...