PIC单片机独特的优势有哪些?
扫描二维码
随时随地手机看文章
本人从事单片机应用系统的开发已有多年,使用过多种型号的PIC单片机,深感PIC单片机使用起来确实很方便:
1、 PIC单片机采用精简指令集,中档产品仅需35条指令,入门门槛低,而在使用过程中绝不会感到不方便。
2、PIC单片机的数据线和指令线各自独立,代码效率高,是传统51系列单片机的2-3倍,除几个跳转类指令外均为单周期指令,在计算延时时间时非常方便。
3、PIC单片机外围接口十分丰富,能满足绝大部分应用系统的需求;比如PIC16F877A包含8路ADC,1个CCP、PWM、USART、SSP、I2C/SPI,3个定时/计数器,1个硬件WDT等接口,8K FLASH程序存储器、256字节EEPROM,能满足较复杂测控系统的要求;有的还集成了LCD驱动器、CAN控制器和无线收发模块,还有专门针对电机控制的芯片,内含多路高精度PWM,非常适合对电机进行调压调频控制。
4、PIC单片机产品型号非常丰富,引脚数从8-128,外围接口配置合理,对应不同用途可非常方便地找到匹配的型号,绝不会造成资源浪费。
PIC8位单片机具有指令少、执行速度快等优点,其主要原因是PIC系列单片机在结构上与其它单片机不同。该系列单片机引入了原用于小型计算机的双总线和两级指令流水结构。这种结构与一般采用CISC(复杂指令集计算机)的单片机在结构上是有不同的。指令总线为什么不用八位,而要增加位数呢?这是因为指令的位数多,则每条指令包含的信息量就大,这种指令的功能就强。一条12位、14位或16位的指令可能会具有两条八位指令的功能。因此PIC系列单片机的指令与CISC结构的单片机指令相比,前者的指令总数要少得多(即RISC指令集)。
运行速度快(指令周期约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系列还要严重,这在编程中很有感受。