三种单片机对比:51系列、PIC和AVR
EDN电子技术设计
今天
收录于话题
51
单片机
优缺点
51系列是应用最广泛的
单片机
,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。
优点一
51系列优点之一是它从内部的硬件到
软件
有一套完整的按位
操作系统
,称作位处理器,或布尔处理器。
它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能
寄存器
的某位进行处理,如传送、置位、清零、
测试
等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的
单片机
也具有位处理功能,但能进行位逻辑运算的实属少见。
51系列在片内
RAM
区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20
H
~2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为OOH~7FH),使用极为灵活。这一功能无疑给使用者提供了极大的方便。因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。
优点二
51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。作乘法时,只需一条指令即可。很多的八位
单片机
都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。
优点三
51系列的I/O脚的设置和使用非常简单,但高电平时无输出能力,可谓有利有弊。故其他系列的
单片机
(如
PIC
系列、AVR系列等)对I/O口进行了改进,增加了方向
寄存器
以确定输入或输出,但使用也变得复杂。
缺 点
原51系列也有许多值得改进之处,如运行速度过慢等。当晶振频率为12MHz时,机器周期达1μs,显然适应不了现代高速运行的需要。
PIC
单片机
优缺点
PIC
单片机
CPU
采用RISC结构,分别有33、35、58条指令,视单片机的级别而定,属精简指令集。而51系列有111条指令,AVR单片机有118条指令,都比前者复杂。
优点一
采用Haryard双
总线
结构,运行速度快,指令周期约160~200ns,它能使程序
存储器
的访问和数据存储器的访问并行处理。这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令。总的看来,每条指令只需一个周期(个别除外),这也是高效率运行的原因之一。此外,它还具有低工作电压、
低功耗
、驱动能力强等特点。
优点二
PIC
系列
单片机
的I/O口是双向的,其输出电路为
CMOS
互补
推挽输出
电路。I/O脚增加了用于设置输入或输出状态的方向
寄存器
,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。
当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸人电流达25mA,高电平输出电流可达20mA。
相对于51系列而言,这是一个很大的优点,它可以直接驱动
数码管
显示且外电路简单。它的
A/D
为10位,能满足精度要求。具有在线调试及编程功能。
缺 点
该系列
单片机
的专用
寄存器
并不像51系列那样都集中在一个固定的地址区间内(80~FFH),而是分散在四个地址区间内,即存储体0(Bank0:00-7FH)、存储体1(Bankl:80-FFH)、存储体2(Bank2:100-17FH)、存储体3(Bank3:180-1FFH)。只有5个专用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4个存储体内同时出现。
在编程过程中,少不了要与专用
寄存器
打交道,得反复地选择对应的存储体,即对状态寄存器STATUS的第6位(RPl)和第5位(RPO)置位或清零。这多少给编程带来了一些麻烦。
对于上述的
单片机
,它的位指令操作通常限制在存储体0区间(00~7FH)。数据的传送和逻辑运算基本上都得通过工作
寄存器
w(相当于5l系列的
累加器
A)来进行,而51系列的还可以通过寄存器相互之间直接传送(如:MOV30
H
,20H;将寄存器20H的内容直接传送至寄存器30H中),因而
PIC
单片机的瓶颈现象比51系列还要严重,这在编程中很有感受。
AVR
单片机
优缺点
AVR
单片机
其显著的特点为高性能、高速度、
低功耗
。它取消机器周期,以
时钟
周期为指令周期,实行流水作业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。
通用
寄存器
一共32个(RO-R31),前16个寄存器(R0~R15)都不能直接与立即数打交道,因而通用性有所下降。而在5l系列中,它所有的通用寄存器(地址00-7FH)均可以直接与立即数打交道,显然要优于前者。
优点一
AVR系列没有类似
累加器
A的结构,它主要是通过R16~R31
寄存器
来实现A的功能。在AVR中,没有像5l系列的数据指针DPTR,而是由X(由R26、R27组成)、Y(由R28\R29组成)、z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行。
在51系列中,所有的逻辑运算都必须在A中进行;而AVR却可以在任两个
寄存器
之间进行,省去了在A中的来回折腾,这些都比51系列强。
优点二
AVR的专用
寄存器
集中在$00~$3F地址区间,无需像
PIC
那样得先进行选存储体的过程,使用起来比PIC方便。AVR的片内
RAM
的地址区间为$0060~$00DF(AT90S23131)和$0060~$025F(AT90S85l5、AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用
寄存器
的功能。当程序复杂时,通用寄存器R0一R31就显得不够用;而51系列的通用寄存器多达128个(为AVR的4倍),编程时就不会有这种感觉。
缺 点
AVR的I/O脚类似
PIC
,它也有用来控制输入或输出的方向
寄存器
,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流20mA。虽不如PIC,但比51系列强。
-
END-
预览时标签不可点
收录于话题
#
个
上一篇
下一篇
阅读原文
阅读
分享
收藏
赞
在看
已同步到看一看
写下你的想法
前往“发现”-“看一看”浏览“朋友在看”
前往看一看
看一看入口已关闭
在“设置”-“通用”-“发现页管理”打开“看一看”入口
我知道了
已发送
取消
发送到看一看
发送
三种单片机对比:51系列、PIC和AVR
最多200字,当前共
字
发送中