在微控制器(Microcontroller)应用领域日益广泛的今天,各个领域的应用也向微控制器厂商提出了更高要求,希望速度更快、功耗更低、体积更小、价格更廉以及组成系统时所需要的外围器件更少;随着越来越多的各种非电子工程技术人员的应用需求,他们想把微控制器作为嵌入式部件应用到自己熟悉的领域中,还提出简单易学易用的要求。用户的需求就是厂商的市场和动力,老的半导体厂商顺应潮流不断推出新品种,新的半导体厂商则后来居上,把越来越多的外围接口器件集成到片内,功能越来越强、性能越来越高。迄今至少也有35家国外半导体厂商的微控制器进入中国市场。在这众多的五彩缤纷的微控制器中,美国Microchip技术公司的PIC系列微控制器则异军突起,独一帜。它率先推出采用精简指令集计算机(RISC--Reduced Instruction Set Computer)、哈佛(Harvard)双总线和两级指令流水线结构的高性能价格比的8位嵌入式控制器(Embedded Controller)。其高速度(每条指令最快可达160ns)、低工作电压(最低工作电压可为3V)、低功耗(3V,32kHz时15μA)、较大的输入输出直接驱动LED能力(灌电流可达25mA)、一次性编程(OTP--One Time Programmable)芯片的低价位、小体积、指令简单易学易用(35--37条指令)等,都体现了微控制器工业发展的新趋势。
这个系列的微控制器在市场上极具强劲的竞争力,在全球都可以看到PIC微控制器在从办公自动化设备、消费电子产品、电讯通信、智能仪器仪表到汽车电子、金融电子、工业控制等不同领域的广泛应用。PIC系列微控制器在世界微控制器市场份额排名中逐年提前,以至已成为一种新的8位微控制器的世界标准和最有影响力的主流嵌入式控制器。大家会发现,在国内目前仍然是Intel的MCS-51系列及其兼容的单片机占绝对主流地位,原因是该系列单片机引进历史最长,在国内应用一直繁荣而面广,参考资料相对丰富,使用惯性使然。
二.PIC系列微控制器系统扩展技术
系统扩展有两类不同的方法,一类是并行扩展,另一类是串行扩展。
对于并行扩展,目前使用的微处理器和微控制器绝大部分都采用总线结构,无论进行存储器扩展还是I/O接口扩展,都是利用数据总线、地址总线和控制总线这三总线来扩展。因为这个系列的微控制器的设计是基于真正的单片机应用,芯片引脚并未安排三总线。但是可以利用接口电路仿真三总线。任何一种微控制器,只要有足够多的I/O接口可用,就可以用一个8位I/O口作为8位I/O口仿真16位的地址线(实际上还可以根据需要扩展成任意位数据线和地址线)。当然这种方法占用I/O口资源太多,显得不经济。另外一种可用的方法就是模仿Intel的8031扩展方法,占用一个8位锁存器将地址信号分离出来;再根据需要扩展器件寻址范围的大小,用另外一个I/O口的若干位作为高位地址线。需要扩展的器件就可以与这三总线相应信号相连。当需要对扩展器件进行访问时,即可以在高8位地址线的I/O口先输出高位地址,再从分时复用的I/O口输出低8位地址,并用另外一个I/O线作为地址锁存允许信号线ALE去控制锁存器,锁存住8位的低位地址。这时就可对寻址单元进行访问。下面的并行扩展都采用这个方案。
对于串行扩展,比较简单,因为在PIC16CXX系列芯片中已有同步串行口部件SSP,可以直接进行I2C方式、SPI方式串行通信,另外还有异步通信接口USART。在PIC16C5X系列芯片中没有串行通信部件,但是可以用软件仿真实现。
PIC系列微控制器系统扩展技术有:
1、数据存储器扩展
(1)并行数据存储器扩展;(2)串行数据存储器扩展,例如,二总线EEPROM和三总线EEPROM同串行EEPROM,PIC16C5X与24XXXX系列串行EEPROM的接口,扩展I2C总线协议所规定地址空间技术-16C54与24LC65的接口方法和编程,16C5X与四线制串行EEPROM芯片93LC46的接口方法和编程,16CXX SPI接口和93LCXX的接口。
2、PIC系列微控制器的I/O口扩展
(1)74系列TTL集成电路芯片扩展技术;(2)可编程并行接口扩展技术;(3)用PIC16C5X实现数字电位器的功能;(4)人机对话的键盘、LED数码显示、LCD驱动扩展,用PIC16C57直接扩展LED数码管和键盘,用PIC16C54/56扩展LED数码管和键盘,用PIC系列微控制器直接驱动LCD显示器。
3、中断系统的扩展和实现
(1)软件中断技术(2)PORTB口作外部中断。
4、I2C总线接口与串行通信
(1)I2C总线软件设计及其子程序;(2)异步串行通信的软件实现;(3)PIC16CXX系列异步串行通信中断驱动的软件实现。
三、PIC系列微控制器应用系统开发及其常用工具
单片机应用系统的开发,用单片机开发设计制作的应用系统或产品,与纯粹用硬件电路实现的装置不一样。这是因为除了相应的硬件电路外,其关键在于应用系统软件的开发,而单片机本身并没有软件开发功能。编写的应用程序如何调试和修改?怎么能高效率地找出应用系统硬件和软件中的错误?又如何把最后调试好的程序固化到单片机片内程序存储器中?这些需要相应的开发工具,称为开发系统。主要包括单片机汇编语言编译器、在线实时仿真器ICE(Incircuit Emulator) 、非在线仿真器(软件模拟仿真器Simulator)、编程器、EPROM擦除器等。硬件调试还可能用到逻辑分析仪等。
系统开发常用工具有:
1、PIC汇编器
(1)PICASM汇编程序;(2)MPALC汇编程序;(3)MPASM宏汇编程序;(4)MPASM汇编语言。
2、软件仿真器MPSIM。
3、实时在线硬件仿真器
(1)实时在线仿真器PICMATE(2)EasyPack-PIC 16F高级仿真器。
4、单片机内置程序存储器编程器
(1)PICPROG编程器;(2)PRO MATE编程器。
四、MPLAB集成开发环境(IED)软件
MPLAB是适用于Microchip Technology公司PIC16/17微控制器系列的、基于Windows的、易学易用的集成开发环境(IDE--Intergrated Development Environment)。这种集成开发环境使应用系统开发工程师可以即方便又灵活地编辑、汇编、仿真、开发利用和调试查错。 MPLAB集成开发环境软件集成了下列开发工具。(1)工程项目管理程序(Project Manager)(2)MPLAB编辑程序(MPLAB Editor)(3)MPLAB汇编程序(MPLAB Assembler)(4)MPLAB-SIM软件模拟程序(MPLAB-SIM Software Simulator)(5)PICMASTER硬件在线仿真器(PICMASTER Emulator),还有其它工具等。
五、PIC系列微控制器的应用实例
PIC系列微控制器的应用范围很广,例如:1、交流数字电压表 ;2、电力周波表 ;3、闪光报警器; 4、带有世界时钟的宾馆移动式客房控制器 ;5、用PIC16C71控制的不间断电源; 6、用PIC单片机产生均匀分布的随机数 ;7、用PIC17C42实现4阶IIR数字滤波器; 8、用PIC17C42实现FFT算法; 9、即热式热水器温度控制器; 10、标准并行接口汉字热敏微型打印机 ;11、PIC16CXX片内I2C总线接口的应用