1、51系列单片机的优缺点剖析
51系列是运用最广泛的单片机,由于产品硬件结构合理,指令体系规范,加之出产前史“悠长”,有先入为主的优势。国际有许多闻名的芯片公司都购买了51芯片的中心专利技能,并在其基础上进行功能上的扩大,使得芯片得到进一步的完善,形成了一个巨大的体系,直到现在仍在不断创新,把单片机国际炒得沸反盈天。
51系列长处之一是它从内部的硬件到软件有一套完好的按位操作体系,称作位处理器,或布尔处理器。它的处理目标不是字或字节而是位。它不光能对片内某些特别功用寄存器的某位进行处理,如传送、置位、清零、测验等,还能进行位的逻辑运算,其功用十分齐备,运用起来称心如意。尽管其他种类的单片机也具有位处理功用,但能进行位逻辑运算的实属罕见。51系列在片内RAM区间还特别拓荒了一个两层功用的地址区间,十六个字节,单元地址20H~2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为OOH~7FH),运用极为灵敏。这一功用无疑给运用者供给了极大的便当,由于一个较杂乱的程序在运转进程中会遇到许多分支,因此需树立许多标志位,在运转进程中,需求对有关的标志位进行置位、清零或检测,以确认程序的运转方向。而施行这一处理(包含前面一切的位功用),只需用一条位操作指令即可。
51系列的另一个长处是乘法和除法指令,这给编程也带来了便当。八位除以八位的除法指令,商为八位,精度嫌不行,用得不多。而八位乘八位的乘法指令,其积为十六位,精度仍是能满意要求的,用的较多。作乘法时,只需一条指令即可。许多的八位单片机都不具有乘法功用,作乘法时还得编上一段子程序调用,十分不便利。
一同,原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. 和其他外设芯片放在一同的归纳考虑