PIC16C62X:低成本高性能8位CMOS微控制器的卓越之选
在电子工程师的设计世界里,选择一款合适的微控制器至关重要。PIC16C62X系列微控制器凭借其低成本、高性能等诸多优势,成为众多应用场景的理想之选。今天,我们就来深入了解一下这款微控制器。
一、产品概述
PIC16C62X是PICmicro®家族中18和20引脚的基于ROM/EPROM的8位CMOS微控制器。它采用先进的RISC架构,拥有增强的核心功能、8级深度堆栈以及多个内部和外部中断源。与传统8位微控制器相比,PIC16C62X通常能实现2:1的代码压缩和4:1的速度提升。
产品特点
- 高性能RISC CPU:仅需学习35条指令,除程序分支为双周期外,其余均为单周期指令(200 ns),工作速度范围为DC - 40 MHz时钟输入,DC - 100 ns指令周期。
- 丰富的外设功能:具备4个用户可编程ID位置、13个I/O引脚,每个引脚可单独控制方向。还集成了两个模拟比较器和可编程片上电压参考模块,适用于低成本模拟接口应用。
- 低功耗设计:采用CMOS技术,具有高电流吸收/源能力,可直接驱动LED,功耗低,工作电压范围为2.5V - 5.5V,在5.0V、4.0 MHz条件下,功耗小于2.0 mA。
- 特殊功能:拥有上电复位(POR)、上电定时器(PWRT)、振荡器启动定时器(OST)、欠压复位、看门狗定时器(WDT)、中断功能、可编程代码保护、16个特殊功能硬件寄存器、省电SLEEP模式、8级深度硬件堆栈、可选振荡器选项以及直接、间接和相对寻址模式等。
产品型号差异
PIC16C62X系列包含多个型号,如PIC16C620、PIC16C620A、PIC16CR620A等。不同型号在程序内存、数据内存、时钟频率、电压范围和工艺技术等方面存在差异。例如,PIC16C620的程序内存为512 x 14,数据内存为80 x 8;而PIC16C622A的程序内存为2K x 14,数据内存为128 x 8。
二、架构剖析
哈佛架构优势
PIC16C62X采用哈佛架构,程序和数据通过独立的总线从不同的内存中访问,与传统的冯·诺依曼架构相比,提高了带宽。指令操作码为14位宽,使得所有指令均为单字指令,14位宽的程序内存访问总线可在单周期内获取14位指令。双阶段指令流水线实现了指令的取指和执行重叠,除程序分支外,所有35条指令均可在单周期内执行。
指令执行流程
时钟输入(OSC1/CLKIN引脚)在内部被4分频,生成4个非重叠的正交时钟Q1、Q2、Q3和Q4。程序计数器(PC)在Q1时递增,指令在Q4时从程序内存中取出并锁存到指令寄存器,随后在Q1 - Q4期间进行解码和执行。
三、内存组织
程序内存
PIC16C62X拥有13位程序计数器,可寻址8K x 14的程序内存空间,但不同型号实际实现的内存大小不同。例如,PIC16C620(A)和PIC16CR620仅实现了前512 x 14(0000h - 01FFh),PIC16C621(A)实现了1K x 14(0000h - 03FFh),PIC16C622(A)实现了2K x 14(0000h - 07FFh)。复位向量位于0000h,中断向量位于0004h。
数据内存
数据内存分为两个存储体,包含通用寄存器和特殊功能寄存器。Bank 0通过清除RP0位选择,Bank 1通过设置RP0位(STATUS <5>)选择。特殊功能寄存器位于每个存储体的前32个位置,通用寄存器则根据不同型号有所不同。
四、I/O端口
PIC16C62X有PORTA和PORTB两个端口,部分引脚与外设功能复用。
PORTA
PORTA是5位宽的锁存器,RA4为施密特触发器输入和开漏输出,与T0CKI时钟输入复用。所有RA端口引脚均具有施密特触发器输入电平,除RA4外,其他引脚具有完整的CMOS输出驱动器。数据方向由TRISA寄存器控制,写入PORTA寄存器会将值写入端口锁存器,读取则读取引脚状态。
PORTB
PORTB是8位宽的双向端口,数据方向由TRISB寄存器控制。每个PORTB引脚都有内部弱上拉电阻,可通过清除RBPU(OPTION<7>)位开启。PORTB的4个引脚(RB<7:4>)具有电平变化中断功能,可用于唤醒设备。
I/O编程注意事项
在进行I/O端口编程时,需要注意读写操作的顺序和方式。任何写操作都是先读再写,因此在对既有输入又有输出的端口使用BCF和BSF等指令时要格外小心。同时,在进行连续的写读操作时,要确保引脚电压稳定,避免读取到旧状态。
五、定时器模块
Timer0模块特点
Timer0模块是一个8位定时器/计数器,可读可写,具有8位软件可编程预分频器,可选择内部或外部时钟,溢出时会产生中断。
定时器模式
通过清除T0CS位(OPTION<5>)选择定时器模式,此时TMR0将在每个指令周期递增(无预分频器)。写入TMR0时,接下来的两个周期内递增将被抑制。
计数器模式
通过设置T0CS位选择计数器模式,此时Timer0将在RA4/T0CKI引脚的上升或下降沿递增,递增边沿由T0SE控制位(OPTION<4>)决定。
预分频器
预分频器在Timer0模块和看门狗定时器之间共享,由PSA控制位(OPTION<3>)分配。分配给Timer0模块时,可选择1:2 - 1:256的预分频值。
六、比较器模块
比较器配置
比较器模块包含两个模拟比较器,输入与RA0 - RA3引脚复用,片上电压参考模块也可作为输入。通过CMCON寄存器选择8种不同的操作模式,TRISA寄存器控制比较器引脚的数据方向。
比较器操作
当模拟输入VIN+小于VIN-时,比较器输出为数字低电平;当VIN+大于VIN-时,输出为数字高电平。比较器输出可通过CMCON寄存器读取,也可直接输出到RA3和RA4 I/O引脚。
比较器中断
比较器输出值发生变化时,比较器中断标志位CMIF(PIR1<6>)会被置位。要启用中断,需设置CMIE位(PIE1<6>)、PEIE位(INTCON<6>)和GIE位。在中断服务程序中,可通过读取或写入CMCON寄存器或清除CMIF位来清除中断。
七、电压参考模块
配置与输出
电压参考模块是一个16抽头的电阻梯形网络,可提供16种不同的电压参考。通过VRCON寄存器控制操作,根据VRR位的不同,输出电压的计算公式也不同。
精度与误差
由于模块的结构限制,无法实现VSS到VDD的全范围输出。电压参考由VDD派生,因此VREF输出会随VDD的波动而变化。
睡眠模式与复位影响
设备从睡眠模式唤醒时,VRCON寄存器的内容不变。为了降低睡眠模式下的电流消耗,应禁用电压参考。设备复位时,会禁用电压参考,断开RA2引脚的连接,并选择高电压范围。
八、CPU特殊功能
配置位
配置位位于程序内存位置2007h,可通过编程或不编程来选择不同的设备配置,包括代码保护、欠压复位、上电定时器、看门狗定时器和振荡器选择等。
振荡器配置
PIC16C62X支持4种振荡器选项:LP低功耗晶体、XT晶体/谐振器、HS高速晶体/谐振器和RC电阻/电容。用户可通过编程FOSC1和FOSC0配置位来选择。
复位机制
PIC16C62X可区分多种复位类型,如上电复位(POR)、MCLR复位、看门狗定时器复位和欠压复位等。不同复位类型对寄存器的影响不同,可通过STATUS和PCON寄存器中的位来确定复位的性质。
中断功能
PIC16C62X有4个中断源:外部中断RB0/INT、TMR0溢出中断、PORTB变化中断和比较器中断。中断控制寄存器(INTCON)记录中断请求,全局中断使能位GIE(INTCON<7>)可启用或禁用所有未屏蔽的中断。
看门狗定时器
看门狗定时器是一个独立的片上RC振荡器,无需外部组件。在正常操作中,看门狗定时器超时会导致设备复位;在睡眠模式下,超时会使设备唤醒并继续正常操作。可通过编程WDTE配置位永久禁用看门狗定时器。
睡眠模式
通过执行SLEEP指令进入睡眠模式,此时看门狗定时器会被清除但继续运行,振荡器驱动关闭,I/O端口保持睡眠前的状态。设备可通过外部复位、看门狗定时器唤醒或中断唤醒。
代码保护与ID位置
代码保护位可对程序内存进行保护,不建议对带窗口的设备进行代码保护。四个内存位置(2000h - 2003h)被指定为ID位置,可用于存储校验和或其他代码标识号。
在线串行编程
PIC16C62X微控制器可在最终应用电路中进行串行编程,只需使用两条线进行时钟和数据传输,以及另外三条线提供电源、接地和编程电压。
九、指令集
PIC16C62X的指令集分为字节操作、位操作、文字和控制操作三类,所有指令均为14位字,除条件测试为真或程序计数器改变外,均在单指令周期内执行。指令集高度正交,易于编程和学习。
十、开发支持
Microchip为PIC16C62X提供了丰富的硬件和软件开发工具,包括集成开发环境(MPLAB® IDE)、汇编器(MPASM™)、编译器(MPLAB C17、MPLAB C18、MPLAB C30)、链接器(MPLINKTM)、模拟器(MPLAB SIM、MPLAB SIM30)、仿真器(MPLAB ICE 2000、MPLAB ICE 4000)、在线调试器(MPLAB ICD 2)、设备编程器(PRO MATE® II、PICSTART® Plus)以及各种演示板和评估套件。
十一、电气规格
文档详细给出了PIC16C62X的绝对最大额定值、DC特性和AC特性,包括电压、电流、频率等参数,为工程师在设计电路时提供了重要的参考依据。
十二、封装信息
PIC16C62X提供多种封装形式,如18引脚陶瓷双列直插式封装(CERDIP)、18引脚塑料双列直插式封装(PDIP)、18引脚塑料小外形封装(SOIC)和20引脚塑料收缩小外形封装(SSOP),满足不同应用场景的需求。
PIC16C62X微控制器以其高性能、低功耗、丰富的外设功能和良好的开发支持,为电子工程师提供了一个强大而灵活的设计平台。在实际应用中,工程师可根据具体需求选择合适的型号和配置,充分发挥其优势,实现各种复杂的功能。你在使用PIC16C62X过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
-
微控制器
+关注
关注
49文章
8872浏览量
165716 -
PIC16C62X
+关注
关注
0文章
7浏览量
5282
发布评论请先 登录
PIC16C62X:低成本高性能8位CMOS微控制器的卓越之选
评论