目录一、MCS51 (1)二、C8051 (2)三.A VR (3)四.PIC (4)五.MSP430 (5)六、MSP430 与89C51 系列的比较 (6)MCS51、C8051F、AVR、PIC、MSP430 单片机性能比较引言:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。
八位单片机由于内部构造简单,体积小,成本低廉,在一些较简单的控制器中应用很广。
即便到了本世纪,在单片机应用中,仍占有相当的份额。
由于八位单片机种类繁多,本文仅将常用的几种在性能上作一个简单的比较。
正文:一、MCS51应用最广泛的八位单片机首推 Intel 的 51 系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。
世界有许多著名的芯片公司都购买了 51 芯片的核心专利技术,并在其基础上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。
有人推测,51 芯片可能最终形成事实上的标准 MCU 芯片。
MCS-51 系列单片机主要包括 8031、8051 和 8751 等通用产品,其主要功能如下:8 位 CPU4kbytes 程序存储器ROM128bytes 的数据存储器RAM32 条 I/O 口线111 条指令,大部分为单字节指令21 个专用寄存器2 个可编程定时/计数器5 个中断源,2 个优先级一个全双工串行通信口外部数据存储器寻址空间为 64kB外部程序存储器寻址空间为 64kB逻辑操作位寻址功能双列直插 40PinDIP 封装单一+5V 电源供电MCS-51 以其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“名机” ,为以后的其它单片机的发展奠定了基础。
正因为其优越的性能和完善的结构,导致后来的许多厂商多沿用或参考了其体系结构,有许多世界大的电气商丰富和发展了 MCS-51 单片机,象 PHILIPS、Dallas、ATMEL 等著名的半导体公司都推出了兼容 MCS-51 的单片机产品,就连我国的台湾 WINBOND 公司也发展了兼容 C51人们习惯将 MCS-51 简称 C51如果没有特别声明,二者同指 MCS-51 系列单片机的单片机品种。
51 系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。
它的处理对象不是字或字节而是位。
它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。
虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。
51 系列在片内 RAM 区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址 20H~2FH,它既可作字节处理,也可作位处理(作位处理时,合 128 个位,相应位地址为 00H~7FH),使用极为灵活。
这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。
而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。
51 系列的另一个优点是乘法和除法指令,这给编程也带来了便利。
八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。
而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。
作乘法时,只需一条指令就行了,即 MULAB两个乘数分别在累加器 A 和寄存器 B 中。
积的低位字节在累加器 A 中,高位字节在寄存器 B 中。
很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。
在 51 系列中,还有一条二进制-十进制调整指令 DA,能将二进制变为 BCD 码,这对于十进制的计量十分方便。
而在其他的单片机中,则也需调用专用的子程序才行。
51 系列 I/O 脚使用简单,但高电平时无输出能力,可谓有利有弊。
有许多值得改进之处,如运行速度过慢等。
特别是双数据指针,能给编程带来很大的便利。
二、C8051F具有上手快全兼容 8051 指令集、研发快开发工具易用,可缩短研发周期和见效快调试手段灵活的特点,其性能优势具体体现在以下方面:基于增强的 CIP-51 内核,其指令集与 MCS-51 完全兼容,具有标准 8051 的组织架构,可以使用标准的 803x/805x 汇编器和编译器进行软件开发。
CIP-51 采用流水线结构,70的的指令执行时间为 1 或 2 个系统时钟周期,是标准 8051 指令执行速度的 12 倍;其峰值执行速度可达 100MIPSC8051F120 等,是目前世界上速度最快的 8 位单片机。
增加了中断源。
标准的 8051 只有 7 个中断源 Silicon Labs 公司 C8051F 系列单片机扩展了中断处理这对于时实多任务系统的处理是很重要的扩展的中断系统向 CIP-51 提供 22 个中断源允许大量的模拟和数字外设中断一个中断处理需要较少的 CPU 干预却有更高的执行效率。
集成了丰富的模拟资源,绝大部分的 C8051F 系列单片机都集成了单个或两个 ADC,在片内模拟开关的作用下可实现对多路模拟信号的采集转换;片内 ADC 的采样精度最高可达24bit,采样速率最高可达 500ksps,部分型号还集成了单个或两个独立的高分辨率 DAC,可满足绝大多数混合信号系统的应用并实现与模拟电子系统的无缝接口;片内温度传感器则可以迅速而精确的监测环境温度并通过程序作出相应处理,提高了系统运行的可靠性。
集成了丰富的外部设备接口。
具有两路 UART 和最多可达 5 个定时器及 6 个 PCA 模块,此外还根据不同的需要集成了 SMBus、SPI、USB、CAN、LIN 等接口,以及 RTC 部件。
外设接口在不使用时可以分别禁止以降低系统功耗。
与其他类型的单片机实现相同的功能需要多个芯片的组合才能完成相比,C8051 单片机不仅减少了系统成本,更大大降低了功耗。
增强了在信号处理方面的性能,部分型号具有 16x16 MAC 以及 DMA 功能,可对所采集信号进行实时有效的算法处理并提高了数据传送能力。
具有独立的片内时钟源精度最高可达 0.5,设计人员既可选择外接时钟,也可直接应用片内时钟,同时可以在内外时钟源之间自如切换。
片内时钟源降低了系统设计的复杂度,提高了系统可靠性,而时钟切换功能则有利于系统整体功耗的降低。
提供空闲模式及停机模式等多种电源管理方式来降低系统功耗实现了 I/O 从固定方式到交叉开关配置。
固定方式的 I/O 端口,既占用引脚多,配置又不够灵活。
在 C8051F 中,则采用开关网络以硬件方式实现 I/O 端口的灵活配置,外设电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。
复位方式多样化, C8051F 把 80C51 单一的外部复位发展成多源复位,提供了上电复位、掉电复位、外部引脚复位、软件复位、时钟检测复位、比较器 0 复位、WDT 复位和引脚配置复位。
众多的复位源为保障系统的安全、操作的灵活性以及零功耗系统设计带来极大的好处。
从传统的仿真调试到基于 JTAG 接口的在系统调试。
C8051F 在 8 位单片机中率先配置了标准的 JTAG 接口(IEEE1149.1)。
C8051F 的 JTAG 接口不仅支持 Flash ROM 的读/写操作及非侵入式在系统调试,它的 JTAG 逻辑还为在系统测试提供边界扫描功能。
通过边界寄存器的编程控制,可对所有器件引脚、SFR 总线和 I/O 口弱上拉功能实现观察和控制。
C8051F 系列单片机型号齐全,可根据设计需求选择不同规模和带有特定外设接口的型号,提供从多达 100 个引脚的高性能单片机到最小 3mmX3mm 的封装,满足不同设计的需要。
三.AVRAVR 单片机是 Atmel 公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。
它取消机器周期,以时钟周期为指令周期,实行流水作业。
AVR 单片机指令以字为单位,且大部分指令都为单周期指令。
而单周期既可执行本指令功能,同时完成下一条指令的读取。
通常时钟频率用 4~8MHz,故最短指令执行时间为 250~125ns。
该系列的型号较多,但可用下面三种为代表:AT90S2313 简装型、AT90S8515、AT90S8535带 A/D 转换。
通用寄存器一共 32 个(R0~R31),前 16 个寄存器(R0~R15)都不能直接与立即数打交道,因而通用性有所下降。
而在 51 系列中,它所有的通用寄存器(地址 00~7FH)均可以直接与立即数打交道,显然要优于前者。
AVR 系列没有类似累加器 A 的结构,它主要是通过 R16~R31 寄存器来实现 A 的功能。
在 AVR 中,没有像 51 系列的数据指针 DPTR,而是由 X(由 R26、R27 组成)、Y (由 R28、R29 组成)、Z(由 R30、R31 组成)三个 16 位的寄存器来完成数据指针的功能相当于有三组 DPTR,而且还能作后增量或先减量等的运行,如:例 5:LDRd X ;将 X 所指的地址的内容装入寄存器 Rd 中。
LDRdY+;将 Y 所指的地址的内容装入寄存器 Rd 中,然后 Y 的地址增 1。
LDRd,-X ;将 X 的地址减 1 所指的地址的内容装入寄存器 Rd 中。
在 51 系列中,所有的逻辑运算都必须在 A 中进行;而 AVR 却可以在任两个寄存器之间进行,省去了在 A 中的来回折腾,这些都比 51 系列强。
AVR 的专用寄存器集中在 00~3F 地址区间,无需像 PIC 那样得先进行选存储体的过程,使用起来比 PIC 方便。
AVR 的片内 RAM 的地址区间为 0060~00DFAT90S2313 和0060~025FAT90S8515、AT90S8535,它们占用的是数据空间的地址,这些片内 RAM 仅仅是用来存储数据的,通常不具备通用寄存器的功能。
当程序复杂时,通用寄存器 R0~R31 就显得不够用;而 51 系列的通用寄存器多达 128 个(为 AVR 的 4 倍),编程时就不会有这种感觉。
AVR 的 I/O 脚类似 PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在 10mA 左右,低电平吸入电流 20mA。
虽不如 PIC,但比 51 系列强。