微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > AVR、51 系列、PIC 单片机的对比

AVR、51 系列、PIC 单片机的对比

时间:10-02 整理:3721RD 点击:
            AVR、51 系列、PIC 单片机的对比
  
1、51  系列单片机的优缺点分析。

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

   51  系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统, 称作位处理器,  
或布尔处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的
某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,  
使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属
少见。51  系列在片内 RAM  区间还特别开辟了一个双重功能的地址区间,十六个字节,单
元  地址20H~2FH,它既可作字节处理,也可作位处理(作位处理时,合 128  个位,相应位
地  址为OOH~7FH),使用极为灵活。这一功能无疑给使用者提供了极大的方便,因为一个
较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要
对有关的标志位进行置位、清零或检测,以确定程序的运行方向。而实施这一处理(包括前
面  所有的位功能),只需用一条位操作指令即可。  
    51  系列的另一个优点是乘法和除法指令,这给编程也带来了便利。八位除以八位的除
法指令,商为八位,精度嫌不够,用得不多。而八位乘八位的乘法指令,其积为十六位,精
度还是能满足要求的,用的较多。作乘法时,只需一条指令即可。很多的八位单片机都不具
备乘法功能,作乘法时还得编上一段子程序调用,十分不便。

   51  系列的 I/O  脚的设置和使用非常简单,但高电平时无输出能力,可谓有利有弊。故
其他  系列的单片机(如 PIC  系列、AVR  系列等)对 I/O  口进行了改进,增加了方向寄存器以
确定输  入或输出,但使用也变得复杂。

   同时, 原 51  系列也有许多值得改进之处, 如运行速度过慢等。 当晶振频率为 12MHz  时,
机器周期达1μs, 显然适应不了现代高速运行的需要。 华邦公司(Winbond)生产的产品型  号
为 W77  系列和 W78  系列,W78  系列与 AT89C  系列完全兼容。W77  系列为增强型,对原
有的8051  的时序作了改进,每个机器周期从12  个时钟周期改为4  个周期,使速度提高了
三  倍,同时,晶振频率最高可达40MHz。W77  系列还增加了看门狗WatchDog、两组 uART、  
两组DVTR  数据指针、ISP  等多种功能。

   2、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  系列的还可以通过寄存器相互之间直接传送(如: MOV30H,20H;将寄存器 20H  的内容直接传送至寄存器 30H  中),因而 PIC  单片机的瓶颈
现象比51  系列还要严重,这在编程中很有感受。

   综合来说PIC  单片机应该说有三个主要特点:

   (1)总线结构:MCS-51  单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指
令和数据,两者不能同时进行;而 PIC  单片机的总线结构是哈佛结构,指令和数据空间是完全
分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高了数据
吞吐率。 正因为在 PIC  单片机中采用了哈佛双总线结构, 所以与常见的微控制器不同的一  点
是:程序和数据总线可以采用不同的宽度。数据总线都是 8  位的,但指令总线位数分别位
12、14、16  位。
   (2)流水线结构:MCS-51  单片机的取指和执行采用单指令流水线结构,即取一条指令,执行
完后再取下一条指令;而 PIC  的取指和执行采用双指令流水线结构,当一条指令被执行时,允
许下一条指令同时被取出,这样就实现了单周期指令。
   (3)寄存器组:PIC  单片机的所有寄存器,包括 I/O  口,定时器和程序计数器等都采用 RAM
结构形式,而且都只需要一个指令周期就可以完成访问和操作;而 MCS-51  单片机需要两个或
两个以上的周期才能改变寄存器的内容。

   3、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  系列强。  综
合来看,AVR  与 51、PIC  单片机相比具有一系列的优点,用通俗的说法主要体现在  这几个方面:

   (1)、在相同的系统时钟下 AVR  运行速度最快;
   (2)、所有 AVR  单片机的 FLASH、EEPROM  蓄存器都可以反复烧写、支持在 ISP  在线
编程(烧写),入门费用非常少;
   (3)、片内集成多种频率的 RC  振荡器、上电自动复位、看门狗、启动延时等功能,使
得电路设计变得非常简单;
   (4)、每个 IO  口作输出时都可以输出很强的高、低电平,作输入时 IO  口可以是高阻
抗或者带上拉电阻;
  (5)、 片内具有丰富实用的资源, 如AD  模数器、 DA  数模器, 丰富的中断源、 SPI、 USART、
TWI  通信口、PWM  等等;
   (6)、片内采用了先进的数据加密技术,大大的提高了破解的难度;
   (7)、片内FLASH  空间大、品种多,引脚少的有8  脚,多的有64  脚等各种封装
   (8)、部分芯片的引脚兼容 51  系列,代换容易,如 ATtiny2313  兼容 AT89C2051,
ATmega8515/162  兼容AT89S51  等

   四、单片机的选择。

   各种单片机都有各自的优缺点,应根据需要选择。选择单片机原则如下:

   1.  单片机的基本参数例如速度,程序存储器容量,I/O  引脚数量
   2.  单片机的增强功能,例如看门狗,双指针,双串口,RTC(实时时钟),EEPROM,扩
展 RAM,CAN  接口,I2C  接口,SPI  接口,USB  接口。
   3. Flash  和OTP(一次性可编程)相比较,最好是Flash。
   4.  封装  IP(双列直插),PLCC(PLCC  有对应插座)还是贴片。DIP  封装在做实验时可
能方便一点。
   5.  工作温度范围,工业级还是商业机。如果设计户外产品,必须选用工业级。
   6.  功耗,比如设计并口加密狗,信号线取电只能提供几个 mA,用PIC  就是因为低功耗,
后来出了MSP430  也不错。
   7.  工作电压范围。例如设计电视机遥控器,2  节干电池供电,至少应该能在 1.8-3.6V
电压范围内工作。
   8.  供货渠道畅通。能申请样片,小批量购买有现货。最好像标准 51,中发里随便找个
柜台就能买到(我在北京)
   9.  价格低。
   10.  有服务商,像周立功公司推 Philips,双龙公司推AVR,都提供了很多有用的技术支
持,起码烧写器有地方买。
   11.  烧录器价格低,如果是ICP(把单片机放在烧录器上编程)能否利用现有的烧录器,
如果是表贴封装,买一个转接座也很贵,至少得一二百元。能否 ISP(在系统编程,即把芯
片先焊到板子上再通过预留的 ISP  接口编程),一般 ISP  编程器比较便宜大约一二百元甚至
几十元。
   12.  仿真器便宜。对于 FLASH  型单片机,仿真器不是必备的。但是对于OTP(一次性可
编程)型单片机,必须购买或者租用仿真器。
   13.  单片机汇编语言是自己熟悉的,并且能支持 C  语言。编程环境要像keil  一样好用,
并且还是免费的。    14.  网站速度快,资料丰富。包括芯片手册,应用指南,设计方案,范例程序。最好有
中文,像Atmel  就不错。
   15.  保密性能好,查一下专业解密网站上的黑名单,再发个 mail  咨询一下解密价格。
   16.  抗干扰性能好。我曾经把XXC52  改为S52  后发现抗干扰性能下降,只好改回去。
   17.  和其他外设芯片放在一起的综合考虑。

比较的挺详细的

赞一个。

1111111111111111111111111111111111111

赞一个赞一个赞一个

简直不能再赞了

666666666666666666666

下载收藏,回来仔细研究一下昂。

51有100多个通用寄存器吗?这个还真不知道,不过如果真的有只能说明51的设计落后。现在高级一点的ARM处理器也不过30几个通用寄存器。如果30几个通用寄存器还不够你用!只能说明你的程序设计能力有问题。

全部看完了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top