任务2 MCS-51微处理器
本任务重点学习MCS-51微处理器(单片机)的基本原理、功能和结构,并进一步学习CC2530的原理、功能及片上资源,学习CC2530开发平台的构成及开发环境的搭建。
2.1 学习场景:MCS-51微处理器有哪些应用
MCS-51微处理器是最早的且开始运用于工业的8位微处理器,当今的许多微处理器都借鉴了MCS-51微处理器的设计思路,如图2.1所示。
图2.1 MCS-51微处理器
随着时代的发展,出现了许多高性能微处理器,具有特殊功能的微处理器运用在了各个不同行业,这其中就有集成有物联网ZigBee网络单元的、广泛使用的CC2530微处理器。CC2530微处理器开发板如图2.2所示。
图2.2 CC2530微处理器开发板
要使任何一款微处理器运作起来,仅有微处理器硬件本身是不够的,如果将微处理器比做人,那么微处理器硬件本身就好比人的躯体,然而人如果要能够正常生活和工作就必须要有思考能力,这种思考能力对于微处理器也同样重要,这种思考能力的实现依靠运行在微处理器内部的程序。向微处理器写入具有一定逻辑功能的程序,当微处理器上电运行起来后就能实现相应的逻辑功能。那么微处理器的逻辑程序是如何开发和写入微处理器内部的呢?这需要相应的代码开发环境。在工程开发中,将这种开发环境称为集成开发环境(IDE),通过IDE实现对微处理器代码的开发,使用相应的烧录工具可将代码烧录到微处理器中。SmartRF04EB调试工具如图2.3所示。
图2.3 SmartRF04EB调试工具
2.2 学习目标
(1)知识要点:MCS-51微处理器基本原理、功能和结构;CC2530微处理器功能、结构和开发平台;C2530微处理器的开发环境。
(2)技能要点:熟悉MCS-51微处理器基本原理、功能和结构;掌握CC2530微处理器功能、结构和开发平台;熟悉CC2530微处理器的开发环境。
(3)任务目标:了解CC2530微处理器的优势和使用场景;能够独立安装CC2530微处理器程序开发环境。
2.3 原理学习:MCS-51微处理器和CC2530微处理器
2.3.1 MCS-51微处理器
1.MCS-51微处理器系列
MCS-51是Intel公司生产的一系列51内核的微处理器总称,这一系列微处理器的产品众多,包括8031、8051、8751、8032、8052、8752等多个种类,其中8051是最早、最典型的产品,该系列其他微处理器都是在8051的基础上进行功能的增减而来的,因此MCS-51系列微处理器又通称为8051微处理器。后来Intel公司将MCS-51的核心技术进行了技术授权,很多公司都推出了8051核心相关的微处理器产品。
Intel公司早期在51内核下开发的微处理器中主要有两个微处理器系列,分别是51系列和52系列。
51系列是基本型,包括8051、8751、8031、8951,其区别仅在于片内程序储存器。8051为4 KB的ROM, 8751为4 KB的EPROM, 8031片内无程序储存器,8951为4 KB的EEPROM,其他性能结构一样,如片内128 B的RAM、2个16位定时器/计数器、5个中断源,其中8051的性价比较高且易于开发,所以应用面较为广泛,51系列微处理器如图2.4所示。
图2.4 51系列微处理器
52系列是增强型,包括8032、8052、8752、8952,8052的ROM为8 KB, RAM为256 B;8032的RAM也是256B,但没有ROM,这两种微处理器比8051和8031多了1个定时器/计数器,增加了1个中断源。52系列微处理器如图2.5所示。
图2.5 52系列微处理器
2.MCS-51微处理器的基本组成
MCS-51微处理器由中央处理器(CPU)、振荡器和时序电路、程序存储器(ROM/EEPROM)、数据存储器(RAM)、并行I/O接口(P0~P3接口)、串行通信接口、定时器/计数器,以及内外中断系统多个部件组成。这些部件通过总线连接,并集成在一块半导体芯片上,即可构成单片微型计算机(Single-Chip Microcomputer)。8051功能框图如图2.6所示。
图2.6 8051功能框图
MCS-51微处理器包含硬件系统所必需的各种功能部件,几个重要的功能部件如下。
● 1个8位的中央处理器(CPU,具有位处理功能)和1个全双工的异步串行接口;
● 2个16位定时器/计数器;
● 3个逻辑存储空间,即64 KB的程序存储器空间(包括4 KB的片内程序存储器ROM)、128 B的内部数据存储器(RAM)、64 KB的数据存储器空间;
● 4个双向并可按位寻址的I/O接口;
● 5个中断源,具有2个优先级;
● 片内具有振荡器和时钟电路。
(1)中央处理器。MCS-51内部有一个8位CPU(8位是CPU的字长,指CPU对数据的处理是按一个字节进行的),它和通常的微处理器一样,也是由算术逻辑运算单元(ALU)、定时控制部件(即控制器)和各种专用寄存器等组成的。
运算器:运算器是计算机的运算部件,用于实现算术逻辑运算、位变量处理、移位和数据传送等操作。它是以ALU为核心,加上累加器(ACC)、寄存器B、程序状态字(PSW),以及十进制调整电路和专门用于位操作的布尔处理器等组成的。
控制器:控制器是计算机的控制部件,包括程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、数据指针(DPTR)、堆栈指针(SP),以及定时控制与条件转移逻辑电路等。控制器对来自存储器中的指令进行译码,并通过定时控制电路在规定的时刻发出各种操作所需要的控制信号,使各部件协调工作,完成指令所规定的操作。
(2)定时器/计数器。8051内有2个16位的定时器/计数器,即定时器/计数器0和定时器/计数器1。它们分别由两个8位寄存器组成,即T0由TH0(高8位)和TL0(低8位)构成,同样T1由TH1(高8位)和TL1(低8位)构成,地址依次是8AH~8DH。这些寄存器用来存放定时器或计数器的初值。
(3)串行通信接口。8051内部有1个串行数据缓冲寄存器(SBUF),它是可直接寻址的特殊功能寄存器,地址为99H。在机器内部实际是由2个8位寄存器组成的,一个作为发送缓冲寄存器,另一个作为接收缓冲寄存器,二者由读写信号区分,但都是使用同一个地址99H。8051内部还有串行接口控制寄存器(SCON),以及电源控制及波特率选择寄存器(PCON),它们分别用于在串行数据通信中控制和监视串行接口的工作状态,以及串行接口波特率的倍增控制。
(4)中断系统。8051共有5个中断源,分别是外部中断0、定时器中断0、外部中断1、定时器中断1和串口中断,每个中断分为高级和低级2个优先级别,常用于实时控制、故障自动处理、计算机与外设间传送数据,以及人机对话等。
(5)并行I/O接口。接口电路是微机应用系统中必不可少的组成部分,其中并行I/O接口是CPU与外部进行信息交换的主要通道。MCS-51单片机内部有4个并行I/O接口电路,即P0、P1、P2、P3,它们都是双向接口,既可以输入又可以输出。P0、P2接口经常用于外部扩展存储器时的数据、地址总线,P3接口除了可用于I/O接口,每一根都有其他功能。通过这些I/O接口,单片机可以外接键盘、显示器等设备,还可以进行系统扩展,以解决片内硬件资源不足问题。P0接口内部结构如图2.7所示。
图2.7 P0接口内部结构示意图
2.3.2 CC2530微处理器
1.CC2530微处理器基本知识
CC2530是一款功能强大和被深度定制的微处理器,其硬件设计和部件均用相关的英文缩写来表示,后文中也将大量使用硬件的缩写对CC2530微处理器的硬件进行描述,因此了解CC2530微处理器相关硬件结构的缩写有利于对后文的阅读和理解。CC2530微处理器英文缩写与含义如表2.1所示。
表2.1 CC2530微处理器英文缩写与含义
续表
续表
2.CC2530微处理器
CC2530微处理器是TI(德州仪器)公司生产的一种系统级SoC芯片,适用于2.4 GHz的IEEE 802.15.4、ZigBee和RF4CE应用。CC2530包括性能极好的RF收发器、工业标准增强型8051 MCU、可编程的闪存、8 KB的RAM,以及许多其他功能强大的特性,具有不同的运行模式,使得它特别适合超低功耗要求的系统,结合德州仪器的业界领先的ZigBee协议栈(Z-Stack),提供了一个强大和完整的ZigBee解决方案。CC2530微处理器如图2.8所示。
图2.8 CC2530微处理器
CC2530可广泛应用在2.4 GHz的IEEE 802.15.4系统、家庭/建筑物自动化、照明系统、工业控制和监视、农业养殖、远程控制、消费型电子、家庭控制、计量和智能能源、楼宇自动化、医疗等领域,在物联网中有着极为广泛的应用,具有以下特性。
(1)功能强大的无线前端。具有2.4 GHz的IEEE 802.15.4标准射频收发器,出色的接收器灵敏度和抗干扰能力,可编程输出功率为+4.5 dBm,总体无线连接为102 dBm,仅需极少量的外部元件,支持运行网状网络系统,适合系统配置,符合世界范围的无线电频率法规,如欧洲电信标准协会ETSI EN300328和EN 300440(欧洲)、FCC的CFR47第15部分(美国)和ARIB STD-T-66(日本)。
(2)功耗低,接收模式为24 mA,发送模式(1 dBm)为29 mA,功耗模式1(4 μs唤醒)为0.2 mA,功耗模式2(睡眠计时器运行)为1 μA,功耗模式3(外部中断)为0.4 μA,宽电源电压范围为2~3.6 V。
(3)微处理器,采用高性能和低功耗8051微处理器内核,具有32/64/128/256 KB的系统可编程闪存,8 KB的内存保持在所有功率模式,支持硬件调试。
(4)具有丰富的外设接口。例如,强大的5通道DMA, IEEE 802.15.4标准的MAC定时器,通用定时器(1个16位、2个8位),红外发生电路,32 kHz的睡眠计时器和定时捕获,CSMA/CA硬件支持,精确的数字接收信号强度指示/LQI支持,电池监视器和温度传感器,8通道12位ADC(可配置分辨率), AES加密安全协处理器,2个强大的通用同步串口,21个通用I/O引脚,看门狗定时器。
(5)应用领域广泛,例如,2.4 GHz的IEEE 802.15.4标准系统、RF4CE遥控控制系统(需要大于64 KB)、ZigBee系统、楼宇自动化、照明系统、工业控制和监测、低功率无线传感器网络、消费电子、健康照顾和医疗保健。
3.CC2530微处理器与8051
CC2530微处理器采用增强型8051内核,该内核使用标准的8051指令集。因为以下原因,其指令执行比标准的8051更快。
● 每个指令周期是1个时钟,而标准的8051内核每个指令周期是12个时钟;
● 消除了总线状态的浪费。
因为一个指令周期与可能的内存存取是一致的,所以大多数单字节指令可以在1个时钟周期内执行。除了提高了速度,增强型8051内核还在结构上进行了改善,例如:
● 第二个数据指针;
● 一个扩展的18个中断单元。
8051内核的对象代码兼容业界标准的8051微处理器,即对象代码使用业界标准的8051编译器或汇编器进行编译,在功能上是相同的。但是,因为8051内核使用了不同于许多其他8051类型的一个指令时序,带有时序循环的代码可能需要修改,而且由于定时器和串行接口等外设单元不同于其他的8051内核,使用外设单元SFR的指令的代码可能会无法正确运行。
CC2530的内核在计算能力、执行效率、内存空间、片上资源等方面,相较于传统的8051微处理器有了较大的提升。
4.CC2530资源
CC2530微处理器有着丰富的片上外设和内存资源,除了使用增强型8051内核,还有众多的总线结构上的优化。CC2530微处理器结构框图如图2.9所示。
图2.9 CC2530微处理器结构框图
由图2.9可知,CC2530微处理器硬件结构大致可以分为三个部分:CPU和内存相关的模块,外设、时钟和电源管理相关的模块,无线电相关的模块。下面对CC2530微处理器相关部分结构进行介绍。
1)CPU与内存
CC2530微处理器使用的8051内核是一个单周期的8051兼容内核,它有三个不同的存储器访问总线(SFR、DATA和CODE/XDATA),能够以单周期的形式访问SFR、DATA和主SRAM,还包括一个调试接口和一个18位输入的扩展中断单元。
中断控制器提供了18个中断源,分为6个中断组,每组都与4个中断优先级相关。当设备从空闲模式回到活动模式,也会发出一个中断服务请求;一些中断还可以从睡眠模式唤醒设备(供电模式1、2、3)。
内存仲裁器位于系统中心,它通过SFR总线把CPU和DMA控制器、物理存储器、所有外设连接在一起;内存仲裁器有4个存取访问点,可访问每一个可以映射到3个物理存储器之一,即1个8 KB的SRAM、1个闪存存储器和1个XREG/SFR寄存器;还负责执行仲裁,并确定同时到达同一个物理存储器的内存访问的顺序。
8 KB的SRAM映射到DATA存储空间和XDATA存储空间的一部分;8 KB的SRAM是一个超低功耗的SRAM,当数字电路部分掉电时(供电模式2和3)能够保留自己的内容,这对于低功耗应用而言是一个很重要的功能。
32/64/128/256 KB的闪存块为设备提供了可编程的非易失性程序存储器,可以映射到CODE和XDATA存储空间。除了可以保存程序代码和常量,非易失性程序存储器还允许应用程序保存必须保留的数据,这样在设备重新启动之后就可以使用这些数据。使用这个功能,例如,利用已经保存的网络数据,就不需要经过完整的启动、网络寻找和加入过程。
2)时钟与电源管理
数字内核和外设由一个1.8 V低差稳压器供电,另外CC2530微处理器具有电源管理功能,可以使用不同供电模式实现长电池寿命的低功耗应用运行;CC2530共有5种不同的复位源可以用来复位设备。
3)片上外设
CC2530包括许多不同的外设,可以开发先进的应用。例如:
(1)I/O控制器。I/O控制器负责所有通用I/O引脚,CPU可以配置外设模块是否受某个引脚控制或受软件控制。如果是则每个引脚均可配置为输入或输出,是否连接衬垫里的上拉或下拉电阻。CPU中断可以分别在每个引脚上使能,每个连接到I/O引脚的外设可以在两个不同的I/O引脚位置之间选择,以确保在不同应用程序中的灵活性。
(2)DMA控制器。系统可以使用一个多功能的五通道DMA控制器,使用XDATA存储空间访问存储器,因此能够访问所有物理存储器。每个通道(触发器、优先级、传输模式、寻址模式、源和目标指针及传输计数)可用DMA描述符并在存储器任何地方进行配置,许多硬件外设(如AES内核、闪存控制器、USART、定时器、ADC接口)均通过使用DMA控制器在SFR、XREG地址,以及闪存/SRAM之间进行数据传输,实现获得高效率操作。
(3)定时器。定时器1是一个16位定时器,具有定时器、计数器、PWM功能。它有1个可编程的分频器,1个16位周期值和5个各自可编程的计数器/捕获通道,每个都有1个16位比较值。每个计数器/捕获通道可以用作PWM输出或捕获输入信号边沿的时序,还可以配置IR产生模式、计算定时器3周期、使输出和定时器3的输出进行相与、用最小的CPU互动产生调制的消费型IR信号。
定时器2(MAC定时器)是专门为支持IEEE 802.15.4 MAC或软件中其他时槽的协议设计的,有1个可配置的定时器周期和1个8位溢出计数器,可以用于保持跟踪已经经过的周期数;1个16位捕获寄存器,用于记录收到/发送一个帧开始界定符的精确时间,或传输结束的精确时间;还有1个16位输出比较寄存器,可以在具体时间产生不同的选通命令(RX或TX等)到无线模块。
定时器3和定时器4是8位定时器,具有定时器/计数器/PWM功能,它们有1个可编程的分频器,1个8位的周期值,1个可编程的计数器通道,1个8位的比较值,每个计数器通道均可以当成一个PWM输出。
睡眠定时器是一个超低功耗的定时器,用于计算32 kHz晶体振荡器或32 kHz的RC振荡器的周期。睡眠定时器可以在除供电模式3以外的所有工作模式下不断运行。该定时器的典型应用是作为实时计数器,或作为一个唤醒定时器跳出供电模式1或2。
(4)ADC外设。ADC支持7~12位的分辨率,分别为30 kHz或4 kHz的带宽,DC和音频转换可以使用高达8个输入通道(端口0),输入可以选择作为单端或差分,参考电压可以是内部电压、AVDD或者1个单端或差分的外部信号;ADC还有1个温度传感输入通道,可以自动执行定期抽样或转换通道序列的程序。
(5)随机数发生器。随机数发生器使用一个16位LFSR来产生伪随机数,它可以被CPU读取或由选通命令处理器直接使用。例如,随机数可以用于产生随机密钥。
(6)AES协处理器。AES协处理器允许用户使用带有128位密钥的AES算法加密和解密数据,能够支持IEEE 802.15.4 MAC安全、ZigBee网络层和应用层要求的AES操作。
(7)看门狗。CC2530具有1个内置的看门狗定时器,允许设备在固件挂起的情况下复位自身。当看门狗定时器由软件使能时,则必须定期清除,当它超时时就复位设备;也可以配置成1个通用的32 kHz定时器。
(8)串口(USART)。USART0和USART1可被配置为主从SPI或USART,它们为RX和TX提供了双缓冲,以及硬件流控制,非常适合高吞吐量的全双工应用。每个USART都有自己的高精度波特率发生器,因此可以使普通定时器空闲出来用作其他用途。
4)无线射频收发器
CC2530提供了一个兼容IEEE 802.15.4的无线收发器,RF内核可控制模拟无线模块;另外CC2530还提供了MCU和无线设备之间的一个接口,这使得可以发出命令、读取状态、自动操作和确定无线设备事件的顺序;无线设备还包括一个数据包过滤和地址识别模块。
2.3.3 CC2530开发平台
本书采用的开发平台为xLab未来开发平台,提供两种类型的智能节点(经典型无线节点ZXBeeLite-B、增强型无线节点ZXBeePlus-B),集成锂电池供电接口、调试接口、外设控制电路、RJ45传感器接口等。本书所使用的节点类型为经典型无线节点ZXBeeLite-B。
xLab未来开发平台采用CC2530作为微处理器主控,具有丰富的板载信号指示灯(如电源、电池、网络、数据),两路功能按键,集成了锂电池接口和电源管理芯片(支持电池的充电管理和电量测量),提供USB串口(如TI仿真器接口和ARM仿真器接口),集成了两路RJ45工业接口(提供主芯片P0_0~P0_7输出,包含I/O、DC 3.3 V、DC 5 V、UART、RS-485、两路继电器等功能),提供两路3.3 V、5 V、12 V电源输出。xLab未来开发平台如图2.10所示。
图2.10 xLab未来开发平台
xLab未来开发平台按照传感器的类别提供了丰富的传感设备,涉及采集类、控制类、安防类等开发平台。
1.采集类开发平台
采集类开发平台包括:温湿度传感器、光照度传感器、空气质量传感器、气压高度传感器、三轴传感器、距离传感器、继电器、语音识别传感器等,如图2.11所示。
图2.11 采集类开发平台
● 两路RJ45工业接口,包含I/O、DC 3.3 V、DC 5 V、UART、RS-485、两路继电器输出等功能,提供两路3.3 V、5 V、12 V电源输出。
● 采用磁吸附设计,可通过磁力吸附并通过RJ45工业接口接入到无线节点进行数据通信。
● 温湿度传感器的型号为HTU21D,采用数字信号输出和I2C通信接口,测量范围为-40~125 ℃,以及5%RH~95%RH。
● 光强传感器的型号为BH1750,采用数字信号输出和I2C通信接口,对应广泛的输入光范围,相当于1~65535 lx。
● 空气质量传感器的型号为MP503,采用模拟信号输出,可以检测气体酒精、烟雾、异丁烷、甲醛,检测浓度为10~1000 ppm(酒精)。
● 气压高度传感器的型号为FBM320,采用数字信号输出和I2C通信接口,测量范围为300~1100 hPa。
● 三轴传感器的型号为LIS3DH,采用数字信号输出和I2C通信接口,量程可设置为±2g、±4g、±8g、±16g(g为重力加速度),16位数据输出。
● 红外测距传感器的型号为GP2D12,采用模拟信号输出,测量范围为10~80 cm,更新频率为40 ms。
● 采用继电器控制,输出无线节点有两路继电器接口,支持5 V电源开关控制。
● 语音识别传感器的型号为LD3320,支持非特定人识别,具有50条识别容量,返回形式丰富,采用串口通信。
2.控制类开发平台
控制类开发平台包括:风扇、步进电机、蜂鸣器、LED、RGB灯、继电器设备,如图2.12所示。
图2.12 控制类开发平台
● 两路RJ45工业接口,包含IO、DC 3.3 V、DC 5 V、UART、RS-485、两路继电器输出等功能,提供两路3.3 V、5 V、12 V电源输出。
● 采用磁吸附设计,可通过磁力吸附并通过RJ45工业接口接入到无线节点进行数据通信。
● 风扇为小型风扇,采用低电平驱动。
● 步进电机为小型42步进电机,驱动芯片为A3967SLB,逻辑电源电压范围为3.0~5.5 V。
● 使用小型蜂鸣器,采用低电平驱动。
● 两路高亮LED灯,采用低电平驱动。
● RGB灯采用低电平驱动,可组合出任何颜色。
● 采用继电器控制,输出无线节点有两路继电器接口,支持5 V电源开关控制。
3.安防类开发平台
安防类开发平台包括:火焰传感器、光栅传感器、人体红外传感器、燃气传感器、触摸传感器、振动传感器、霍尔传感器、继电器、语音合成传感器等,如图2.13所示。
图2.13 安防类开发平台
● 两路RJ45工业接口,包含IO、DC 3.3 V、DC 5 V、UART、RS-485、两路继电器输出等功能,提供两路3.3 V、5 V、12 V电源输出。
● 采用磁吸附设计,可通过磁力吸附并通过RJ45工业接口接入到无线节点进行数据通信。
● 火焰传感器采用5 mm的探头,可检测火焰或波长为760~1100 nm的光源,探测温度为60℃左右,采用数字开关量输出。
● 光栅传感器的槽形光耦槽宽10 mm,工作电压为5 V,采用数字开关量信号输出。
● 人体红外传感器的型号为AS312,电源电压为3 V,感应距离为12 m,采用数字开关量信号输出。
● 燃气传感器的型号为MP-4,采用模拟信号输出,传感器加热电压为5 V,供电电压为5 V,可测量天然气、甲烷、瓦斯气、沼气等。
● 触摸传感器的型号为SOT23-6,采用数字开关量信号输出,检测到触摸时,输出电平翻转。
● 振动传感器,低电平有效,采用数字开关量信号输出。
● 霍尔传感器的型号为AH3144,电源电压为5 V,采用数字开关量输出,工作频率宽(DC~100 kHz)。
● 采用继电器控制,输出无线节点有两路继电器接口,支持5 V电源开关控制。
● 语音合成传感器的芯片型号为SYN6288,采用串口通信,支持GB2312、GBK、UNICODE等编码,可设置音量、背景音乐等。
2.3.4 CC2530开发环境
1.集成开发环境
1)什么是集成开发环境
集成开发环境(Integrated Development Environment, IDE)是用于提供应用程序开发环境的,通常包括代码编辑器、编译器、调试器和图形用户界面等工具,集成代码编写功能、分析功能、编译功能、调试功能等的开发软件服务套件。所有具备这一特性的开发软件服务套(组)件都可以称为集成开发环境,如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其他程序并用。IDE可用于多种开发场合,在开发项目时可自动生成多种组合文件和最终执行文件。目前常用的集成开发环境有VC++、KEIL、IAR、Eclipse、WebStorm、VisualStudio、AndroidStudio等。集成开发环境如图2.14所示。
图2.14 集成开发环境
2)集成开发环境的优势
集成开发环境相较于文本开发有众多优势,总结起来有以下三点。
(1)节省时间和精力。IDE的目的就是要让开发更加快捷方便,通过提供工具和各种功能来帮助开发者组织资源,减少失误,提供捷径。
(2)建立统一标准。当一组开发人员使用同一个开发环境时,就建立了统一的工作标准,当IDE提供预设的模板,或者不同团队分享代码库时,这一效果就更加明显了。
(3)管理开发工作。首先,IDE提供文档工具,可以自动输入开发者评论,或者迫使开发者在不同区域编写评论;其次,IDE可以展示资源,便于发现应用所处位置。
2.IAR集成开发环境
CC2530微处理器的开发环境使用的是IAR开发环境系列下的IAR for 8051开发环境,IAR for 8051除了支持TI官方提供的ZStack协议栈,还拥有诸多优点。
在众多的集成开发环境中,针对微处理器程序开发的开发环境有三种,分别是GCC、KEIL系列与IAR系列。相较于GCC与KEIL系列开发环境,IAR开发环境涵盖的芯片种类更加齐全,功能更加强大,适合大型微处理器程序的综合开发和管理。IAR集成开发环境如图2.15所示。
图2.15 IAR集成开发环境
相对于其他两种开发环境,一套IAR开发环境可以胜任更多的微处理器开发任务,可以兼容20多种内核的微处理器的代码开发工作,如8051、ARM、STM8、AVR、MSP430等,拥有更加全面的微处理器种类开发条件和环境基础,同时在移植到其他微处理器上时,能够尽快通过IAR开发环境进入其他微处理器的工程开发状态。IAR开发环境支持的芯片种类如图2.16所示。
图2.16 IAR开发环境支持的芯片种类
IAR开发环境因其简洁的操作界面、丰富的调试资源,更加受到开发者的青睐。在开发过程中,可以在代码调试阶段直接重新编译相关代码并实现快速的代码烧录,相比于KEIL, IAR开发环境专门设定的调试功能要方便许多,可以提高代码的开发效率。IAR开发环境界面如图2.17所示。
图2.17 IAR开发环境界面
2.4 任务实践
在物联网项目开发的过程中,微处理器的开发涉及程序的开发与调试,程序的开发与调试又需要开发环境的支持。CC2530微处理器使用的是IAR for 8051开发环境,要使用IAR for 8051,首先需要安装IAR for 8051,本任务的实践目的是安装IAR for 8051。
获取IAR for 8051开发环境安装包后需要进行安装,IAR for 8051开发环境的安装比较简单,按照步骤依次安装即可,安装步骤如下。
步骤一:右键单击IAR for 8051安装包,并以管理员身份运行安装,在弹出的安装窗口中选择“Install IAR Embedded Workbench”,启动软件安装,如图2.18所示。
图2.18 启动软件安装
步骤二:进行软件安装环境的配置,配置完成后单击“Next”按钮执行下一步,如图2.19所示。
图2.19 开始安装软件
步骤三:接受安装条款后,选择安装方式,在此选择“Complete”,单击“Next”按钮进行下一步操作,如图2.20所示。
图2.20 选择安装方式
步骤四:完成相关配置后启动安装,如图2.21所示。
图2.21 启动安装
步骤五:安装完成后单击“Finish”按钮结束安装,如图2.22所示。
图2.22 安装完成
2.5 任务小结
通过本项目的学习和实践,可以了解MCS-51系列微处理器的发展及其衍生产品;通过比较CC2530微处理器与MCS-51微处理器,可以了解CC2530微处理器在MCS-51微处理器基础上的巨大改进,了解本书开发项目依托的CC2530开发平台。
认识CC2530微处理器开发环境,可以对开发环境进行安装和配置。
2.6 思考与拓展
(1)简述MCS-51微处理器的硬件结构。
(2)CC2530微处理器在MCS-51微处理器结构上有哪些改进?
(3)CC2530微处理器有哪些使用场景?