1 概述
Microchip公司生产的PIC16C72是一款基于EPROM的8位高性能微控制器。与其它价格相当的微控制器相比,它在执行速度和代码压缩方面都有很大的改进。由于随时可以买到需要的OPT(一次性编程)产品,因而缩短了利用PIC16C73进行产品设计开发的周期。
PIC16C73微控制器所具有的优越性能主要归功于它的精简指令集(RISC)和所采用的哈佛(Harvard)结构,它具有分离的程序储器空间(12位宽指令)和数据存储器空间(8位宽数据)。同时可运用两级流水线指令进行取数和执行,除了跳转指令需要两个周期外,其余所有的指令都可在单周期内执行。
PIC16C73分离的程序和数据空间可使指令字优化为任意宽度,从而使指令具有单字长的特性,且允许指令码的数据位数多于8位,这样,就可达到2:1的代码压缩和4:1的速度。
2 结构特点及工作原理
PIC16C73 PIC16xx系列微控制器中的一种,它由高性能RISC结构的CPU、存储器、I/O接口和复位电路等组成。
2.1 外部结构特点
PIC16C73是28脚双列直插式大规模集成芯片。
各引脚功能如下:
OSC1/CLKIN:为晶体振荡器输入/外部时钟源输入引脚。
OSC2/CLKOUT:晶体振荡器输出/外部时钟源输出引脚。在晶体振荡器方式下,接晶体或陶瓷振荡器;在RC振荡方式,输出1/4fosc。
MCLR/Vpp:芯片复位/编程电压输入脚,复位时,低电平有效。
RA0/AN0~RA5/AN4/SS:复用引脚,RA0~RA5为双向数据线;AN0~AN4为A/D输入输出通道;RA5~AN4/SS还可作为同步串口使用。
RB0~RB7:B口双向数据信号线,其引脚含有可控的弱上拉电阻。其中,RB4/INT可作为外部中断输入端;RB4~RB7可产生变化中断;RB6可作为串行编程的时钟端;RB7可作为串行编程的数据端。
RC0~RC7:复用引脚,为C口双向数据信号线,C口引脚均为多功能复用引脚。
RC0/T1OS0/T1CK1可选择TMR1振荡器输出或TMR1时钟输入;
RC1/T1OS1/CCP2可作为TMR1振荡器输入或捕捉器2输入/比较器输出/PWH2输出;
RC2/CCP1可作为捕捉器1输入/比较器输出/PWH1输出;
RC3/SCK/SCL可作为同步串行时钟输入/SPI的I2C方式输入;
RC4/SDI/SDA可作为SPI数据输入(SPI)或数据I/O(I2C);
RC6/SDO可作为SPI数据输出(SPI);
RC6/TX/CK可以作为异步发送或SCI同步时钟线;
RC7/RX/DT可以作为异步接收或SCI同步数据线。
2.2 内部结构特点
a.高性能CPU
●仅35条单字指令,采用的时钟频率为20MHz,指令周期为200ns;
●具有8级深度的硬件堆栈;
●具有中断能力,有11个中断源;
●带有片内RC振荡器的看门狗(WDT);
●具有程序保密位,可防止非法拷贝;
●具有低功耗SLEEP方式,功率低,采用高速CMOS EPROM工艺制造;
●可选择不同的振荡器方式;
●工作电压为3.0V~6.0V。
b.分离的程序和数据空间
该PIC器件带有13位程序存储器,最大寻址能力为8k×14位,用户存储空间(0000~0FFFh)共4k×14位。当访问大于以上地址范围的物理存储空间时,可采用滚动循环访问方式。
数据存储区分为每个存储体Bank0和Bank1,每个存储体又由通用寄存器和专用寄存器构成。当状态寄存器中的RP0位为0时,选中Bank0;RP0为1时选中Bank1。每个存储体最大可以扩展到7Eh(128个字节)。在每个存储体中,专用寄存器被安排在低空间,用SRAM实现的通用寄存器被安排在高地址空间。专用寄存器中含有A/D的寄存器。
c.完善的串行通信接口(SCI)
SCI利用RC6和RC7两个引脚来作为通信线的二线制串行通信接口。它们可被定义为三种方式:全双工异步方式、半双工同步主控方式和半双工同步从动方式。
SIC部件含有两个8位的可读写状态和控制寄存器,分别为发送和控制寄存器TXSTA、接收和控制寄存器RCSTA。
d.片内器件模块
●有3个定时/计数器和3个双向I/O口。
●含有16位捕捉/比较/PWM模块。其中捕捉器的最大分辨率为12.5ns;而比较器的最大分辨率为200ns;PWM的分辨率为10位。
●带有5路A/D转换器和A/D中断功能。
3 基于PIC16C73的智能售电系统
笔者在开发智能电表售电系统时,采用PIC16C73单片机设计了一个PIC通信通道来作为遥控器和PC机间的数据通信通道。将红外遥控器插入通信通道即可与PC机进行数据交换。首先,PIC通信通道取红外线遥控器中的用户识别码并送入PC机,由PC机的数据库管理模块完成用户的注册、注销和售电等工作;然后,再由PIC通信通道将PC机的RS232C串行通信接口输出的用户识别码及所售电量送入红外线遥控制中,最后再由红外线遥控器将售电量送入智能电表。该智能电表售电系统的功能结构框图如图3所示。
3.1 PIC通信通道的硬件系统设计
该智能电表售电系统的PIC通信通道的硬件电路结构如图4所示。
PC机与PIC通信通道采用异步串行通信方式,但由于PC机的RS-232C串行通信接口传输的信号为CMOS电平,而PIC16C73的串行通信接口传输的信号为TTL电平,因而通信通道采用MAX-232芯片来完成信号电平的自动转换;而PIC通信通道与红外线遥控器则采用并行通信方式进行信息传输,此时,PIC16C73单片机使用RB口作为并行I/O口。为了能让用户认可售电信息,笔者专门设计了由MC14499芯片来完成7段显示器的硬件驱动显示电路。
3.2 PIC通信通道的软件设计
为确保PIC单片机与PC机之间以及PIC单片机与红外线遥控器之间能够准确的进行信息通信,双方制定了一个合理的、可行的通信协议。
a.PIC16C73与PC机之间的通信协议
PIC16C73通信波特率为9600bps;通信采用查询方式,差错控制采用奇偶校验法;数据的帻格式为1位起止位、8位数据位、1位奇偶位、1位停止位;双方设置的握手信号如下:
“FFH”:为PC机请求接收信号;
“01H”:为PC机接收信号完毕;
b.PIC16C73与红外线遥控器的通信协议
PIC16C73与红外遥控器设置的握手信号为:
“00H”为红外线遥控器发送数据准备就绪;单片机接收数据准备就绪;
“FFH”为单片机发送数据准备就绪;红外线遥控器接收数据准备就绪;
“$”为数据传送结束标志。
4 结束语
Microchip公司的PIC系列单片机具有实用、低价、易学、省电、高速和体积小等特点。该系列单片机不是单纯的功能堆积,而是以多型号来满足不同层次的需要,并可提供低价的OTP芯片。另外,该系列单片机还具有低功耗睡眠功能、掉电复位锁定、上电复位电路、看门狗电路等功能,而且外围器件少、占用空间小;成本低,保密技术也十分可靠,可最大限度地保护开发者的利益。因此,在工业控制、仪器仪表、计算机、家电等诸多领域具有极其广阔的发展前景。