【转】业界主流单片机剖析

2019-04-15 12:24发布

单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时的48位发展到现在的各种高速单片机…… 各个厂商们也在速度、内存、功能上此起彼伏,参差不齐~~同时涌现出一大批拥有代表性单片机的厂商:AtmelTISTMicroChipARM…国内的宏晶STC单片机也是可圈可点…下面为大家带来51MSP430TMSSTM32PICAVRSTC单片机之间的优缺点比较及功能体现…… 51单片机 应用最广泛的8位单片机当然也是初学者们最容易上手学习的单片机,最早由Intel推出,由于其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“经典”,为以后的其它单片机的发展奠定了基础。     51单片机之所以成为经典,成为易上手的单片机主要有以下特点:     特性:     1.从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。     2.同时在片内RAM区间还特别开辟了一个双重功能的地址区间,使用极为灵活,这一功能无疑给使用者提供了极大的方便,     3.乘法和除法指令,这给编程也带来了便利。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。     缺点:(虽然是经典但是缺点还是很明显的)     1.ADEEPROM等功能需要靠扩展,增加了硬件和软件负担     2.虽然I/O脚使用简单,但高电平时无输出能力,这也是51系列单片机的最大软肋     3.运行速度过慢,特别是双数据指针,如能改进能给编程带来很大的便利     4.51保护能力很差,很容易烧坏芯片     应用范围:     目前在教学场合和对性能要求不高的场合大量被采用     使用最多的器件:805180C51 MSP430单片机     MSP430系列单片机是德州仪器1996年开始推向市场的一种16位超低功耗的混合信号处理器,给人们留下的最大的亮点是低功耗而且速度快,汇编语言用起来很灵活,寻址方式很多,指令很少,容易上手。主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。其迅速发展和应用范围的不断扩大,主要取决于以下的特点…     特性:     1.强大的处理能力,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在8MHz晶体驱动下指令周期为125ns。这些特点保证了可编制出高效率的源程序     2.在运算速度方面,能在8MHz晶体的驱动下,实现125ns的指令周期。16位的数据宽度、125ns的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(FFT)     3.超低功耗方面,MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。电源电压采用的是1.8~3.6V电压。因而可使其在1MHz的时钟条件下运行时,芯片的电流会在200~400uA左右,时钟关断模式的最低功耗只有0.1uA     缺点:     1.个人感觉不容易上手,不适合初学者入门,资料也比较少,只能跑官网去找     2.占的指令空间较大,因为是16位单片机,程序以字为单位,有的指令竟然占6 个字节。虽然程序表面上简洁,但与pic单片机比较空间占用很大     应用范围:     在低功耗及超低功耗的工业场合应用的比较多     使用最多的器件:MSP430F系列(中文资料)MSP430G2系列、MSP430L09系列 TMS单片机     这里也提一下TMS系列单片机,虽不算主流。由TI推出的8CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合。虽然没STM32那么优秀,也没MSP430那么张扬,但是TMS370C系列单片机提供了通过整合先进的外围功能模块及各种芯片的内存配置,具有高性价比的实时系统控制。同时采用高性能硅栅CMOSEPROMEEPROM技术实现。低工作功耗CMOS技术,宽工作温度范围,噪声抑制,再加上高性能和丰富的片上外设功能,使TMS370C系列单片机在汽车电子,工业电机控制,电脑,通信和消费类具有一定的应用     应用最多的器件:TMS370C256A STM32单片机     ST厂商推出的STM32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。其基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M内核,同时具有一流的外设:1μs的双12ADC4兆位/秒的UART18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表现,当然和MSP430的功耗比起来是稍微逊 {MOD}的一些,但这并不影响工程师们对它的热捧程度,由于其简单的结构和易用的工具再配合其强大的功能在行业中赫赫有名…其强大的功能主要表现在:     特性:     1.内核:ARM32Cortex-M3CPU,最高工作频率72MHz1.25DMIPS/MHz,单周期乘法和硬件除法     2.存储器:片上集成32-512KBFlash存储器。6-64KBSRAM存储器     3.时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。PORPDR和可编程的电压探测器(PVD)4-16MHz的晶振。内嵌出厂前调校的8MHzRC振荡电路。内部40kHzRC振荡电路。用于CPU时钟的PLL。带校准用于RTC32kHz的晶振     4、调试模式:串行调试(SWD)JTAG接口。最多高达112个的快速I/O端口、最多多达11个定时器、最多多达13个通信接口     使用最多的器件:STM32F103系列、STM32L1系列、STM32W系列 PIC单片机     PIC单片机系列是美国微芯公司(Microship)的产品,共分三个级别,即基本级、中级、高级,是当前市场份额增长最快的单片机之一,CPU采用RISC结构,分别有333558条指令,属精简指令集,同时采用Harvard双总线结构,运行速度快,它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这也是高效率运行的原因之一,此外PIC单片机之所以成为一时非常热的单片机不外乎以下特点:     特点:     1.具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。     2.当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。相对于51系列而言,这是一个很大的优点     3.它可以直接驱动数码管显示且外电路简单。它的A/D10位,能满足精度要求。具有在线调试及编程(ISP)功能。     不足之处:     其专用寄存器(SFR)并不像51系列那样都集中在一个固定的地址区间内(80FFH),而是分散在四个地址区间内。只有5个专用寄存器PCLSTATUSFSRPCLATHINTCON4个存储体内同时出现,但是在编程过程中,少不了要与专用寄存器打交道,得反复地选择对应的存储体,也即对状态寄存器STATUS的第6(RP1)和第5(RP0)置位或清零。数据的传送和逻辑运算基本上都得通过工作寄存器W(相当于51系列的累加器A)来进行,而51系列的还可以通过寄存器相互之间直接传送,因而PIC单片机的瓶颈现象比51系列还要严重,这在编程中的朋友应该深有体会     使用最多的器件:PIC16F873PIC16F877 AVR单片机     AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用48MHz,故最短指令执行时间为250125nsAVR单片机能成为最近仍是比较火热的单片机,主要的特点:     特点:     1.AVR系列没有类似累加器A的结构,它主要是通过R16R31寄存器来实现A的功能。在AVR中,没有像51系列的数据指针DPTR,而是由X(R26R27组成)Y(R28R29组成)Z(R30R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行,而在51系列中,所有的逻辑运算都必须在A中进行;而AVR却可以在任两个寄存器之间进行,省去了在A中的来回折腾,这些都比51系列出 {MOD}些     2.AVR的专用寄存器集中在003F地址区间,无需像PIC那样得先进行选存储体的过程,使用起来比PIC方便。AVR的片内RAM的地址区间为000DF(AT90S2313)0060025F(AT90S8515AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄存器的功能。当程序复杂时,通用寄存器R0R31就显得不够用;而51系列的通用寄存器多达128(AVR4),编程时就不会有这种感觉。     3.AVRI/O脚类似PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流20mA。这点虽不如PIC,但比51系列还是要优秀的…     <