单片机的种类大家都知道多少?可能最经典的51单片机大家都非常熟悉,那么除此之外,单片机还有哪些呢?分别有什么利弊?
单片机的种类还是蛮多的,51单片机、PIC单片机、AVR单片机、MSP430单片机、STM32单片机、TMS单片机、Freescale单片机以及STC单片机。种类多样,TCOOP就不全部介绍了,今天主要为大家介绍下前四款单片机的利弊分析。
51单片机优点:
1)51单片机优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。
2)51单片机的另一个优点是乘法和除法指令,这给编程也带来了便利。作乘法时,只需一条指令即可。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。
51单片机缺点:
原51系列也有许多值得改进之处,如运行速度过慢等。当晶振频率为12MHz时,机器周期达1μs,显然适应不了现代高速运行的需要。
PIC单片机优点
1)采用Haryard双总线结构,运行速度快,指令周期约160~200ns,它能使程序存储器的访问和数据存储器的访问并行处理。这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令。总的看来,每条指令只需一个周期(个别除外),这也是高效率运行的原因之一。此外,它还具有低工作电压、低功耗、驱动能力强等特点。
2)PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。相对于51系列而言,这是一个很大的优点,它可以直接驱动数码管显示且外电路简单。它的A/D为10位,能满足精度要求。具有在线调试及编程功能。
PIC单片机缺点:
该系列单片机的专用寄存器并不像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系列还要严重,这在编程中很有感受。
AVR单片机优点:
1)AVR系列没有类似累加器A的结构,它主要是通过R16~R31寄存器来实现A的功能。在AVR中,没有像5l系列的数据指针DPTR,而是由X(由R26、R27组成)、Y(由R28\R29组成)、z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行。
在51系列中,所有的逻辑运算都必须在A中进行;而AVR却可以在任两个寄存器之间进行,省去了在A中的来回折腾,这些都比51系列强。
2)AVR的专用寄存器集中在$00~$3F地址区间,无需像PIC那样得先进行选存储体的过程,使用起来比PIC方便。AVR的片内RAM的地址区间为$0060~$00DF(AT90S23131)和$0060~$025F(AT90S85l5、AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄存器的功能。当程序复杂时,通用寄存器R0一R31就显得不够用;而51系列的通用寄存器多达128个(为AVR的4倍),编程时就不会有这种感觉。
AVR单片机缺点:
AVR的I/O脚类似PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流20mA。虽不如PIC,但比51系列强。
MSP430单片机优点:
1)强大的处理能力,采用了精简指令集(RISC)结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。
2)在运算速度方面,能在 8MHz 晶体的驱动下,实现 125ns 的指令周期;16 位的数据宽度、 125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。
3)超低功耗方面,MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处;电源电压采用的是 1.8~3.6V 电压,因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200~400uA 左右,时钟关断模式的最低功耗只有 0.1uA。
MSP430单片机缺点:
1)可能不太容易上手,不适合初学者入门,资料也比较少,只能跑官网去找。
2)占的指令空间较大,因为是16位单片机,程序以字为单位,有的指令竟然占6个字节,虽然程序表面上简洁,但与pic单片机比较空间占用很大。
以上就是TCOOP关于单片机种类的介绍以及主要四款利弊的分析,相信大家看完之后对于单片机也有了进一步的了解,如果您有其他问题,欢迎一起交流探讨。