一分钟带你搞懂这三种单片机的优缺点

51单片机优缺点

51系列是应用最广泛的单片机,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界上有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上进行了性能扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。

优点一

51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。

“”

它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。

51系列在片内RAM区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20H~2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为00H~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脚为高电平时同为输入和输出的状态。

当置位时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;清零时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。

相对于51系列而言,这是一个很大的优点,它可以直接驱动数码管显示且外电路简单。它的A/D为10位,能满足精度要求,具有在线调试及编程功能。

缺点

该系列单片机的专用寄存器并不像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位(RPl)和第5位(RPO)置位或清零。这多少给编程带来了一些麻烦。

对于上述的单片机,它的位指令操作通常限制在存储区0区间(00~7FH)。数据的传送和逻辑运算基本上都得通过工作寄存器w(相当于51系列的累加器A)来进行,而51系列的还可以通过寄存器相互之间直接传送(如:MOV 30H,20H;将寄存器20H的内容直接传送至寄存器30H中),因而PIC单片机的瓶颈现象比51系列还要严重,这在编程中很有感受。

AVR单片机优缺点

AVR单片机最主要的的特点为高性能、高速度、低功耗。它取消了机器周期,以时钟周期为指令周期,实行流水作业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期指令既可执行本指令功能,又能同时完成下一条指令的读取。

通用寄存器一共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),而且还能作后增量或先减量等运行。

在51系列中,所有的逻辑运算都必须在累加器A中进行;而AVR却可以在任两个寄存器之间进行,省去了在累加器A中的来回折腾,这些都比51系列强。

优点二

AVR的专用寄存器集中在00~3F地址区间,无需像PIC那样得先选存储区,使用起来比PIC方便。AVR片内RAM的地址区间为0~00DF和0060~025F,它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄存器的功能。当程序复杂时,通用寄存器R0~R31就显得不够用;而51系列的通用寄存器多达128个(为AVR的4倍),编程时就不会有这种感觉。

缺点

AVR的I/O脚类似PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流为20mA。虽不如PIC,但比51系列强。

本文转载自:电子产品世界
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理。

点击这里,获取更多关于应用和技术的有关信息
点击这里,获取更多工程师博客的有关信息

最新文章