PIC系列单片机应用设计与实例
扫描二维码
随时随地手机看文章
1.引言
在微控制器(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系列及其兼容的单片机占绝对主流地位,原因是该系列单片机引进历史最长,在国内应用一直繁荣而面广,参考资料相对丰富,使用惯性使然。
2.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系列异步串行通信中断驱动的软件实现
3、PIC系列微控制器应用系统开发及其常用工具
单片机应用系统的开发,用单片机开发设计制作的应用系统或产品,与纯粹用硬件电路实现的装置不一样。这是因为除了相应的硬件电路外,其关键在于应用系统软件的开发,而单片机本身并没有软件开发功能。编写的应用程序如何调试和修改?怎么能高效率地找出应用系统硬件和软件中的错误?又如何把最后调试好的程序固化到单片机片内程序存储器中?这些需要相应的开发工具,称