业界七大主流单片机最细剖析(二)

[复制链接]
查看4511 | 回复0 | 2017-4-25 09:37:57 | 显示全部楼层 |阅读模式
PIC单片机  PIC单片机系列是美国微芯公司(Microship)的产品,共分三个级别,即基本级、中级、高级,是当前市场份额增长最快的单片机之一,CPU采用RISC结构,分别有33、35、58条指令,属精简指令集,同时采用Harvard双总线结构,运行速度快,它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这也是高效率运行的原因之一,此外PIC单片机之所以成为一时非常热的单片机不外乎以下特点:
  特点:
  1.  具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。
  2.  当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。相对于51系列而言,这是一个很大的优点
  3. 它可以直接驱动数码管显示且外电路简单。它的A/D为10位,能满足精度要求。具有在线调试及编程(ISP)功能。
  不足之处:
  其专用寄存器(SFR)并不像51系列那样都集中在一个固定的地址区间内(80~FFH),而是分散在四个地址区间内。只有5个专用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4个存储体内同时出现,但是在编程过程中,少不了要与专用寄存器打交道,得反复地选择对应的存储体,也即对状态寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。数据的传送和逻辑运算基本上都得通过工作寄存器W(相当于51系列的累加器A)来进行,而51系列的还可以通过寄存器相互之间直接传送,因而PIC单片机的瓶颈现象比51系列还要严重,这在编程中的朋友应该深有体会
  使用最多的器件:PIC16F873、PIC16F877
  AVR单片机
  AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用4~8MHz,故最短指令执行时间为250~125ns。AVR单片机能成为最近仍是比较火热的单片机,主要的特点:
  特点:
  1.  AVR系列没有类似累加器A的结构,它主要是通过R16~R31寄存器来实现A的功能。在AVR中,没有像51系列的数据指针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的地址区间为0~00DF(AT90S2313)  和0060~025F(AT90S8515、AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄存器的功能。当程序复杂时,通用寄存器R0~R31就显得不够用;而51系列的通用寄存器多达128个(为AVR的4倍),编程时就不会有这种感觉。
  3.  AVR的I/O脚类似PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流20mA。这点虽不如PIC,但比51系列还是要优秀的…
  缺点:
  1. 是没有位操作,都是以字节形式来控制和判断相关寄存器位的
  2. C语言与51的C语言在写法上存在很大的差异,这让从开始学习51单片机的朋友很不习惯
  3.  通用寄存器一共32个(R0~R31),前16个寄存器(R0~R15)都不能直接与立即数打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接与立即数打交道,显然要优于前者。
  使用最多的器件:ATUC64L3U、ATxmega64A1U、AT90S8515
  STC单片机
  说到STC单片机有人会说到,STC也能算主流,估计要被喷了~~我们基于它是国内还算是比较不错的单片机来说。STC单片机是宏晶生产的单时钟/机器周期的单片机,说白了STC单片机是51与AVR的结合体,有人说AVR是51的替代单片机,但是AVR单片机在位控制和C语言写法上存在很大的差异。而STC单片机洽洽结合了51和AVR的优点,虽然功能不及AVR那么强大,但是在AVR能找到的功能,在STC上基本都有,同时STC单片机是51内核,这给以51单片机为基础的工程师们提供了极大的方便,省去了学习AVR的时间,同时也不失AVR的各种功能…
  STC单片机是高速、低功耗、超强抗干扰的新一代8051单片机51单片机,指令代码完全兼容传统8051,但速度快8~12倍,内部集成MAX810专用复位电路。4路PWM  8路高速10位A、D转换,针对电机电机 的供应商控制,强干扰场合,成为继51单片机后一个全新系列单片机…
  特性:
  1. 下载烧录程序用串口方便好用,容易上手,拥有大量的学习资料及视频,最著名的
  要属于杜老师的那个视频了,好多对单片机有兴趣的朋友都是通过这个视频入门的,同时具有宽电压:5.5~3.8V,2.4~3.8V,  低功耗设计:空闲模式,掉电模式(可由外部中断唤醒)
  2. STC单片机具有在应用编程,调试起来比较方便;带有10位AD、内部EEPROM、
  可在1T/机器周期下工作,速度是传统51单片机的8~12倍,价格也较便宜
  3. 4  通道捕获/比较单元,STC12C2052AD系列为2通道,也可用来再实现4个定时器或4个外部中断,2个硬件16位定时器,兼容普通8051的定时器。4路PCA还可再实现4个定时器,具有硬件看门狗、高速SPI通信端口、全双工异步串行口,兼容普通8051的串口,同时还具有先进的指令集结构,兼容普通8051指令集
  使用最多的器件:STC12C2052AD
  Freescale单片机
  主要针对S08,S12这类单片机,当然Freescale单片机远非于此。Freescale系列单片机采用哈佛结构和流水线指令结构,在许多领域内都表现出低成本,高性能的的特点,它的体系结构为产品的开发节省了大量时间。此外Freescale提供了多种集成模块和总线接口,可以在不同的系统中更灵活的发挥作用!Freescale单片机的特有的特点如下:
  1.全系列:从低端到高端,从8位到32位全系列应有尽有,其推出的8位/32位管脚兼容的QE128,可以从8位直接移植到32位,弥补单片机业界8/32  位兼容架构中缺失的一环
  2.多种系统时钟模块:三种模块,七种工作模式。多种时钟源输入选项,不同的mcu具有不同的时钟产生机制,可以是RC振荡器,外部时钟或晶振,也可以是内部时钟,多数CPU同时具有上述三种模块!可以运行在FEI,FEE,FBI,FBILP,FBE,FBELP,STOP这七种工作模式
  3.多种通讯模块接口:Freescale单片机几乎在内部集成各种通信接口模块:包括串行通信接口模块SCI,多主I2C总线模块,串行外围接口模块  SPI,MSCAN08控制器模块,通用串行总线模块(USB/PS2)
  4.具有更多的可选模块:具有LCD驱动模块,带有温度传感器,具有超高频发送模块,含有同步处理器模块,含有同步处理器的MCU还具有屏幕显示模块OSD,还有少数的MCU具有响铃检测模块RING和双音多频/音调发生器DMG模块
  5.可靠性高,抗干扰性强,多种引脚数和封装选择
  6.低功耗、也许Freescale系列的单片机的功耗没有MSP430的低,但是他具有全静态的“等待”和“停止”两种模式,从总体上降低您的功耗!新近推出的几款超低功耗已经与MSP430的不相上下!
  使用最多的器件:MC9S12G系列
  大型的单片机公司和小型的公司并没有太大的差异,松翰单片机产品质量和市场也很不错,价格也相对优惠。


您需要登录后才可以回帖 登录 | 注册

本版积分规则