一、简介

单片机(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文件,通过烧写软件把程序烧写进设备。

  1. #include "ioCC2530.h"
  2.  
  3. #define LED5 P1_3 //对对应的引脚进行宏定义,定义为对应的LEDx
  4. #define LED6 P1_4
  5. #define LED3 P1_0
  6. #define LED4 P1_1
  7.  
  8. void delay(unsigned int t) //简单的延时函数
  9. {
  10. while(t--);
  11. }
  12. void LEDRunning() 跑马灯代码
  13. {
  14. LED5 = 1; //高电平灯亮
  15. delay(10000);
  16. LED6 = 1;
  17. delay(10000);
  18. LED3 = 1;
  19. delay(10000);
  20. LED4 = 1;
  21. delay(10000);
  22. LED5 = 0; //低电平灯灭
  23. delay(10000);
  24. LED6 = 0;
  25. delay(10000);
  26. LED3 = 0;
  27. delay(10000);
  28. LED4 = 0;
  29. delay(10000);
  30. }
  31.  
  32. void main(void)
  33. {
  34. P1SEL &= ~0x1b; //0001 1011->1110 0100 将P1_0,1,3,4 设置为普通IO口
  35. P1DIR |= 0x1b; //0001 1011 将P1_0,1,3,4 设置为输出
  36.  
  37. P1_0=0;
  38. P1_1=0;
  39. P1_3=0;
  40. P1_4=0; //默认引脚低电平关闭,引脚对应LED灯
  41.  
  42. while(1)
  43. {
  44. LEDRunning(); //调用函数,跑马灯
  45. }
  46. }

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

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. vue中 使用SVG实现鼠标点击绘图 提示鼠标移动位置 显示绘制坐标位置

    <div class="div1"> <svg id="svg1" xmlns="http://www.w3.org/2000/sv ...

  2. matlab创建HDF5文件

    一.例子 1.创建写入 testdata = uint8(magic(5)); h5create('my_example.h5','/dataset1',size(testdata)); %创建 h5 ...

  3. 【转】解决存储过程执行快,但C#程序调用执行慢的问题

    这两天遇到一个问题令人比较郁闷,一个大概120行左右的存储过程在SQL Server2012的查询分析器里面执行,速度非常理想,1秒不到,即可筛选抓取到大概500条数据记录.但在C#程序代码里调用,就 ...

  4. E. 蚂蚁和斐波那契

    单点时限: 1.0 sec 内存限制: 512 MB 聪明的小蚂蚁最近学习了斐波那契数列,但是它想到了一个问题:从L到R之间斐波那契数列和的奇偶是什么呢?其中Fib[1]=1,Fib[2]=1 . 输 ...

  5. Gatling 条件判断

    在使用Gatling的过程中,当前置接口异常,无法获取到数据作为其他接口的请求参数室,接口是不能请求的.或者通过feeder获取的数据要区分不同的情况请求不同的接口.此时,使用gatling的判断语句 ...

  6. git分支,git commit,git流程

    1. git分支命令规范 1. Master 主分支 2. Dev 开发分支 3. Feature 功能分支(例如:feature-x) 4. Release 预发布分支(例如:release-1.2 ...

  7. 2.hover的使用

    1. 自身的hover div :hover{  :hover前要有空格  } 2.hover指向子元素 father:hover .childer {   :hover前不能有空格   } 3.ho ...

  8. centos下python多版本管理(pyenv+python+virtualenv+ipython)

    pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等 1 环境准备 安装相关软件和pyenv1.1 安装相关软件yum install -y ...

  9. Ubuntu下的eclipse配置MapReduce

    下载配置文件: 链接:https://pan.baidu.com/s/13vatPHpDP5HaW0mKuHydUA提取码:pjxi 1)启动hadoop cd /usr/local/hadoop . ...

  10. Spark SQL源码解析(三)Analysis阶段分析

    Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Analysis阶段概述 首先 ...