MCS51、C8051F、AVR、PIC、MSP430
单片机性½比较
引言:
单片机是一种集成在电路芯片,
是采用超大规模集成电路技术把具有数据处理½力的中央处
理器
CPU
随机存储器
RAM、只读存储器 ROM、多种 I/O
口和中断系统、定时器/计时器等
功½集成到一块硅片上构成的一个小而完善的计算机系统。
八½单片机由于内部构造简单,½积小,成本½廉,在一些较简单的控制器中应用很广。即
便到了本世纪,在单片机应用中,仍占有相½的½额。由于八½单片机种类繁多,本文仅将
常用的几种在性½上½一个简单的比较。
正文:
一、
MCS51
应用最广泛的八½单片机首推
Intel
的
51
系列,由于产品硬件结构合理,指令系统规范,
加之生产历史“悠久”
,有先入为主的优势。世界有许多著名的芯片公司½购买了
51
芯片的
核心专利技术,并在其基础上进行性½上的扩充,½得芯片得到进一步的完善,½成了一个
庞大的½系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。有人推测,51 芯片可
½最终½成事实上的标准
MCU
芯片。
MCS-51
系列单片机主要包括
8031、8051
和
8751
等通用产品,其主要功½如下:
?8
½
CPU
?4kbytes
程序存储器(ROM)
?128bytes
的数据存储器(RAM)
?32
条
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
脚½用简单,½高电平时无输出½力,可谓有利有弊。
有许多值得改进之处,如运行速度过慢等。特别是双数据指针,½给编程带来很大的便利。
二、C8051
研发快(开发工具易用,
可缩短研发周期)和见效快(调试
F
具有上手快(全兼容
8051
指令集)、
手段灵活)的特点,其性½优势具½½现在以下方面:
基于增强的
CIP-51
内核,其指令集与
MCS-51
完全兼容,具有标准
8051
的组织架构,
可以½用标准的
803x/805x
汇编器和编译器进行½件开发。CIP-51 采用流水线结构,70%的
是标准
8051
指令执行速度的
12
倍;
其峰值执行
的指令执行时间为
1
或
2
个系统时钟周期,
速度可达
100MIPS(C8051F120
等),是目前世界上速度最快的
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
的封装,满足不同设计的需要。
三.AVR
AVR
单片机是
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
的功½。
、Y(由
R28、
在
AVR
中,没有像
51
系列的数据指针
DPTR,而是由 X(由 R26、R27
组成)
、Z(由
R30、R31
组成)三个
16
½的寄存器来完成数据指针的功½(相½于有三
R29
组成)
组
DPTR),而且还½½后增量或先减量等的运行,如:
例
5:
LDRd, X
;将
X
所指的地址的内容装入寄存器
Rd
中。
LDRd,Y+;将 Y
所指的地址的内容装入寄存器
Rd
中,然后
Y
的地址增
1。
LDRd,-X
;将
X
的地址减
1
所指的地址的内容装入
寄存器
Rd
中。
在
51
系列中,所有的逻辑运算½必须在
A
中进行;而
AVR
却可以在任两个寄存器之
间进行,省去了在
A
中的来回折腾,这些½比
51
系列强。
AVR
的专用寄存器集中在
00½3F
地址区间,
无需像
PIC
那样得先进行选存储½的过程,
½用起来比
PIC
方便。
AVR
的片内
RAM
的地址区间为
0060½$00DF(AT90S2313)
和
0060½
025F(AT90S8515、AT90S8535),它们占用的是数据空间的地址,这些片内 RAM
仅仅是用
来存储数据的,通常不具备通用寄存器的功½。½程序复杂时,通用寄存器
R0½R31
就显
得不够用;而
51
系列的通用寄存器多达
128
个(为
AVR
的
4
倍)
,编程时就不会有这种感
觉。
AVR
的
I/O
脚类似
PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高
电平输出的电流在
10mA
左右,½电平吸入电流
20mA。½不如 PIC,½比 51
系列强。
以上的三种
AVR
型号其管脚与对应的
51
系列兼容,
AT90S2313
与
51
系列的
AT89C2051
如
的管脚兼容(PDIP-20 脚)
,AT90S8515、AT90S8535 与
51
系列的
AT89C51
兼容(PDIP-40
脚)等等。
四.PIC
PIC
单片机系列是美½微芯公司(Microship)的产品,是½前市场½额增长最快的单片机之
一。CPU 采用
RISC
结构,分别有
33、 35、58
条指令(视单片机的级别而定)
,属精简指
令集。而
51
系列有
111
条指令,AVR 单片机有
118
条指令,½比前者复杂。采用
Harvard
双总线结构,运行速度快(指令周期约
160½200ns),它½½程序存储器的访问和数据存储器
的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工½,一是执行指令,二
是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期(个别除外)
,这也
是高效率运行的原因之一。此外,它还具有½工½电压、½功耗、驱动½力强等特点。PIC
系列单片机共分三个级别,即基本级、中级、高级。其中又以中级的
PIC16F873(A)
、
PIC16F877 (A)
用的最多,本文以这两种单片机为例进行说明。这两种芯片除了引出脚不同
外(PIC16F873(A)为
28
脚的
PDIP
或
SOIC
封装;
PIC16F877(A)为 40
脚的
PDIP
或
44
脚的
PLCC/QFP
封装)
,其他的差别并不很大。
PIC
系列单片机的
I/O
口是双向的,其输出电路为
CMOS
互补推½输出电路。I/O 脚增
加了用于设½输入或输出状态的方向寄存器(TRISn
,
其中
n
对应各口,如
A、B、C、D、
,从而解决了
51
系列
I/O
脚为高电平时同为输入和输出的状态。½½½
1
时为输入状
E
等)
态,且不管该脚呈高电平或½电平,对外均呈高阻状态;½½
0
时为输出状态,不管该脚为
½种电平,均呈½阻状态,有相½的驱动½力,½电平吸入电流达
25mA,高电平输出电流
可达
20mA。相对于 51
系列而言,这是一个很大的优点,它可以直接驱动数码管显示且外
电路简单。它的
A/D
为
10
½,½满足精度要求。具有在线调试及编程(ISP)功½。
该系列单片机的专用寄存器(SFR)并不像
51
系列那样½集中在一个固定的地址区间
、存储½
内(80½FFH),而是分散在四个地址区间内,即存储½
0
(Bank0:00½7FH)
1(Bank1
:80½FFH)、存储½
2(Bank2
:100½17FH)、存储½
3(Bank3
:180½1FFH)。只
有
5
个专用寄存器
PCL、STATUS、FSR、PCLATH、 INTCON
在
4
个存储½内同时出现。
在编程过程中,少不了要与专用寄存器打交道,得反复地选择对应的存储½,也即对状态寄
存器
STATUS
的第
6
½(RP1)和第
5
½(RP0)½½或清零。如:
例
4:
CLRFSTATUS
;清零
RP1, RP0。选择存储½ 0
……
BSF STATUS,RP0;½½ RP0。选择存储½ 1
……
BCF STATUS,RP0;清零 RP0。选择存储½ 0
……
这多少给编程带来了一些麻烦。
对于上述的单片机,
它的½指令操½通常限制在存储½
0
区间(00½7FH)
。
数据的传送和逻辑运算基本上½得通过工½寄存器
W(相½于 51
系列的累加器
A)来
进行,而
51
系列的还可以通过寄存器相互之间直接传送(如:
MOV 30H,20H;将寄存器
20H
的内容直接传送至寄存器
30H
中),因而
PIC
单片机的瓶颈现象比
51
系列还要严重,
这在编程中很有感受。
五.MSP430
MSP430
系列单片机是美½德州仪器(TI)1996 年开始推向市场的一种
16
½超½功耗的混合
信号处理器(Mixed
Signal Processor)。称之为混合信号处理器,主要是由于其针对实际应用
需求,把许多模拟电路、
数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。
MSP430
系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点。
强大的处理½力
MSP430
系列单片机是一个
16
½的单片机,采用了精简指令集
(RISC)结构,具有丰富的寻址方式(
7
种源操½数寻址、
4
种目的操½数寻址)
、简洁
的
27
条内核指令以及大量的模拟指令;
大量的寄存器以及片内数据存储器½可参加多种运
算;还有高效的查表处理指令;有较高的处理速度,在
8MHz
晶½驱动下指令周期为
125
ns
。这些特点保证了可编制出高效率的源程序。
在运算速度方面,
MSP430
系列单片机½在
8MHz
晶½的驱动下,实现
125ns
的指
令周期。
16
½的数据½度、
125ns
的指令周期以及多功½的硬件乘法器(½实现乘加)
。
相配合,½实现数字信号处理的某些算法(如
FFT
等)
MSP430
系列单片机的中断源较多,并且可以任意嵌套,½用时灵活方便。½系统处于
省电的备用状态时,用中断请求将它唤醒只用
6us
。
超½功耗
MSP430
单片机之所以有超½的功耗,是因为其在降½芯片的电源电压及灵
活而可控的运行时钟方面½有其独到之处。
首先,
MSP430
系列单片机的电源电压采用的是
1.8~3.6V
电压。
因而可½其在
1MHz
的时钟条件下运行时, 芯片的电流会在
200~400uA
左右,时钟关断模式的最½功耗只有
0.1uA
。
其次,独特的时钟系统设计。在
MSP430
系列中有两个不同的系统时钟系统:基本时
钟系统和锁频环(
FLL
和
FLL+
)时钟系统或
DCO
数字振荡器时钟系统。有的½用一
个晶½振荡器(
32768Hz
)
,
有的½用两个晶½振荡器)
。由系统时钟系统产生
CPU
和
各功½所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总½功耗
的控制。
由于系统运行时打开的功½模块不同,
即采用不同的工½模式,
芯片的功耗有着显著的
。在等待
不同。在系统中共有一种活动模式(
AM
)和五种½功耗模式(
LPM0~LPM4
)
方式下,耗电为
0.7uA
,在节电方式下,最½可达
0.1uA
。
系统工½稳定。上电复½后,首先由
DCOCLK
启动
CPU
,以保证程序从正确的½
½开始执行,
保证晶½振荡器有足够的起振及稳定时间。
然后½件可设½适½的寄存器的控
制½来确定最后的系统时钟频率。如果晶½振荡器在用做
CPU
时钟
MCLK
时发生故障,
DCO
会自动启动,以保证系统正常工½;如果程序跑飞,可用看门狗将其复½。
丰富的片上外围模块
MSP430
系列单片机的各成员½集成了较丰富的片内外设。它们
分别是看门狗
WDT
)模拟比较器
A
、
(
、
定时器
A
(
Timer_A
)定时器
B
(
Timer_B
)
、
、
串口
0
、1(
USART0
、1 )
、硬件乘法器、液晶驱动器、
10
½
/12
½
ADC
、16 ½
Sigma-Delta AD、直接寻址模块( DMA
)
、端口
O
(
P0
)
、端口
1~6
(
P1~P6
)
、基
本定时器(
Basic Timer
)等的一些外围模块的不同组合。其中,看门狗可以½程序失控时
迅速复½;模拟比较器进行模拟电压的比较,配合定时器,可设计出
A/D
½换器;
16
½
定时器(
Timer_A
和
Timer_B
)具有捕获
/
比较功½,大量的捕获
/
比较寄存器,可用
于事件计数、时序发生、
PWM
等;有的器件更具有可实现异步、同步及多址访问串行通
信接口可方便的实现多机通信等应用;具有较多的
I/O
端口,最多达
6*8
条
I/O
口线;
P0
、
P1
、
P2
端口½够接收外部上升沿或下降沿的中断输入;
12/14
½硬件
A/D
½换
器有较高的½换速率,最高可达
200kbps
,½够满足大多数数据采集应用;½直接驱动液
晶多达
160
段;
实现两路的
12
½
D/A
½换;
硬件
IIC
串行总线接口实现存储器串行扩展;
以及为了增加数据传输速度,而采用直接数据传输(
DMA
)模块。
MSP430
系列单片机
的这些片内外设为系统的单片解决方案提供了极大的方便。
方便高效的开发环境 目前
MSP430
系列有
OPT
型、
FLASH
型和
ROM
型三种类
型的器件,这些器件的开发手段不同。对于
OPT
型和
ROM
型的器件是½用仿真器开发
成功之后在烧写或掩膜芯片;对于
FLASH
型则有十分方便的开发调试环境,因为器件片
内有
JTAG
调试接口,还有可电擦写的
FLASH
存储器,因此采用先下½½程序到
FLASH
评论