探索PIC16CR7X系列微控制器:功能特性与应用指南
在电子设计领域,选择一款合适的微控制器对于项目的成功至关重要。Microchip的PIC16CR7X系列微控制器以其丰富的功能和出色的性能,成为众多工程师的理想之选。今天,我们就来深入了解一下PIC16CR7X系列微控制器的特点、功能以及在实际应用中的注意事项。
文件下载:PIC16CR73-I/SO.pdf
一、PIC16CR7X系列概述
PIC16CR7X系列包含PIC16CR73、PIC16CR74、PIC16CR76和PIC16CR77等型号。PIC16CR73/76采用28引脚封装,而PIC16CR74/77则有40引脚和44引脚封装可供选择。这些器件共享相同的架构,但在内存、I/O端口、中断源和A/D通道等方面存在差异。
1.1 主要特性
- 高性能RISC CPU:仅需学习35条单字指令,除程序分支为双周期指令外,其余均为单周期指令,操作速度可达DC - 20 MHz时钟输入,指令周期为DC - 200 ns。
- 丰富的内存资源:ROM程序内存最高可达8K x 14位,数据内存(RAM)最高可达368 x 8字节。
- 强大的中断能力:最多支持12个中断源,为系统的实时响应提供了保障。
- 多种外设功能:具备Timer0、Timer1、Timer2定时器,Capture/Compare/PWM模块,Synchronous Serial Port(SSP),Universal Synchronous Asynchronous Receiver Transmitter(USART),Analog-to-Digital Converter(A/D)等外设,满足多样化的应用需求。
二、内存组织
PIC16CR7X系列的内存分为程序内存和数据内存两部分,它们拥有独立的总线,可实现并发访问。
2.1 程序内存组织
PIC16CR7X系列的程序计数器为13位,能够寻址8K字x 14位的程序内存空间。PIC16CR77/76拥有8K字的ROM程序内存,而PIC16CR73/74则为4K字。程序内存的复位向量位于0000h,中断向量位于0004h。
2.2 数据内存组织
数据内存被划分为多个存储体,包含通用寄存器(GPR)和特殊功能寄存器(SFR)。通过STATUS寄存器中的RP1和RP0位进行存储体选择,每个存储体最大扩展到7Fh(128字节)。存储体的较低位置用于特殊功能寄存器,上方为通用寄存器,采用静态RAM实现。部分常用的特殊功能寄存器可能会在不同存储体中镜像,以减少代码量并实现快速访问。
三、I/O端口
PIC16CR7X系列的I/O端口部分引脚与外设功能复用。当外设启用时,这些引脚可能无法作为通用I/O引脚使用。
3.1 PORTA
PORTA是一个6位宽的双向端口,对应的数据方向寄存器为TRISA。部分引脚与模拟输入和模拟VREF输入复用,操作时需通过ADCON1寄存器设置控制位来选择引脚功能。
3.2 PORTB
PORTB是一个8位宽的双向端口,对应的数据方向寄存器为TRISB。每个引脚都有弱上拉电阻,可通过OPTION_REG寄存器的RBPU位控制。其中,RB7:RB4引脚具有引脚变化中断功能,可用于按键唤醒等操作。
3.3 PORTC
PORTC是一个8位宽的双向端口,对应的数据方向寄存器为TRISC。该端口与多个外设功能复用,引脚具有施密特触发器输入缓冲器。在启用外设功能时,需注意TRIS位的设置。
3.4 PORTD和PORTE
PORTD和PORTE仅适用于PIC16CR74/77。PORTD可配置为8位宽的并行从端口,PORTE的三个引脚可单独配置为输入或输出,且与模拟输入复用。
四、定时器模块
PIC16CR7X系列包含Timer0、Timer1和Timer2三个定时器模块,每个模块都有其独特的功能和特点。
4.1 Timer0模块
Timer0是一个8位定时器/计数器,具有8位软件可编程预分频器,可选择内部或外部时钟源,溢出时可产生中断。预分频器与看门狗定时器共享,通过OPTION_REG寄存器进行配置。
4.2 Timer1模块
Timer1是一个16位定时器/计数器,可工作在定时器模式或计数器模式。在计数器模式下,可选择同步或异步模式。定时器1的振荡器可在睡眠模式下继续运行,并可通过CCP模块的特殊事件触发进行复位。
4.3 Timer2模块
Timer2是一个8位定时器,带有预分频器和后分频器,可作为CCP模块PWM模式的时基。TMR2寄存器可读写,复位时清零。
五、Capture/Compare/PWM模块
每个Capture/Compare/PWM(CCP)模块包含一个16位寄存器,可作为16位捕获寄存器、16位比较寄存器或PWM主/从占空比寄存器。CCP1和CCP2模块操作相同,但特殊事件触发的功能略有不同。
5.1 捕获模式
在捕获模式下,CCPR1H:CCPR1L可捕获TMR1寄存器的16位值。当指定事件发生时,中断请求标志位CCP1IF会被置位。
5.2 比较模式
在比较模式下,16位CCPR1寄存器的值会与TMR1寄存器的值进行比较。当匹配发生时,根据控制位的设置,RC2/CCP1引脚会有相应的动作,同时中断标志位CCP1IF会被置位。
5.3 PWM模式
在脉冲宽度调制模式下,CCPx引脚可产生最高10位分辨率的PWM输出。通过设置PR2寄存器指定PWM周期,设置CCPR1L寄存器和CCP1CON<5:4>位指定PWM占空比。
六、同步串行端口(SSP)模块
SSP模块可用于与其他外设或微控制器进行通信,支持Serial Peripheral Interface(SPI)和Inter-Integrated Circuit(I²C)两种模式。
6.1 SPI模式
SPI模式允许8位数据的同步传输和接收,通常使用Serial Data Out(SDO)、Serial Data In(SDI)和Serial Clock(SCK)三个引脚。通过编程SSPCON和SSPSTAT寄存器的控制位,可指定主模式、从模式、时钟极性、时钟边沿、时钟速率和从选择模式等参数。
6.2 I²C模式
I²C模式下,SSP模块实现了除通用调用支持外的所有从功能,并提供了起始和停止位的硬件中断,方便实现主功能。使用RC3/SCK/SCL和RC4/SDI/SDA两个引脚进行数据传输,通过SSPCON寄存器的模式选择位选择不同的I²C模式。
七、通用同步异步收发器(USART)
USART模块可配置为全双工异步系统或半双工同步系统,支持异步、同步主模式和同步从模式。通过设置SPEN和TRISC<7:6>位,可将RC6/TX/CK和RC7/RX/DT引脚配置为USART功能。
7.1 波特率生成器(BRG)
BRG是一个专用的8位波特率生成器,支持异步和同步模式。在异步模式下,BRGH位也会影响波特率。根据所需波特率和FOSC,可计算出SPBRG寄存器的合适值。
7.2 异步模式
在异步模式下,USART使用标准的非归零(NRZ)格式,包含一个起始位、8或9个数据位和一个停止位。发送和接收功能独立,但使用相同的数据格式和波特率。
7.3 同步主模式
在同步主模式下,数据以半双工方式传输,发送时禁止接收,反之亦然。主模式下,处理器在CK线上发送主时钟。
7.4 同步从模式
同步从模式与主模式的操作基本相同,但时钟由外部提供,允许设备在睡眠模式下进行数据传输。
八、模数转换器(A/D)模块
PIC16CR73/76的A/D转换器有5个输入通道,PIC16CR74/77则有8个输入通道。A/D模块可将模拟输入信号转换为8位数字信号,参考电压可通过软件选择为VDD或RA3/AN3/VREF引脚的电压。该模块可在睡眠模式下工作,但需将A/D转换时钟设置为内部RC振荡器。
九、CPU特殊功能
PIC16CR7X系列具备多种特殊功能,旨在提高系统可靠性、降低成本、实现节能和代码保护。
9.1 振荡器选择
支持LP低功耗晶体、XT晶体/谐振器、HS高速晶体/谐振器和RC电阻/电容四种振荡器模式,可通过配置位进行选择。
9.2 复位功能
包括上电复位(POR)、上电定时器(PWRT)、振荡器启动定时器(OST)、欠压复位(BOR)等,可确保系统在各种情况下的稳定启动。
9.3 中断功能
最多支持12个中断源,通过INTCON寄存器记录中断请求标志位,并提供全局和个别中断使能位。
9.4 看门狗定时器(WDT)
WDT是一个独立的片上RC振荡器,可在时钟停止时继续运行。可通过配置位启用或禁用,超时可导致设备复位或唤醒。
9.5 睡眠模式
通过执行SLEEP指令进入睡眠模式,可显著降低功耗。设备可通过外部复位、看门狗定时器唤醒或中断唤醒。
9.6 代码保护
可通过配置位启用代码保护,防止外部读取程序内存。
9.7 ID位置
四个内存位置(2000h - 2002h)可用于存储校验和或代码识别号,仅在程序验证时可读。
十、指令集总结
PIC16指令集高度正交,分为字节操作、位操作和立即数及控制操作三类。每个指令为14位字,由操作码和操作数组成。所有指令在一个指令周期内执行,除非条件测试为真或程序计数器改变,此时需要两个指令周期。
十一、开发支持
Microchip为PIC微控制器提供了丰富的硬件和软件开发工具,包括集成开发环境(MPLAB IDE)、汇编器/编译器/链接器、模拟器、仿真器、在线调试器和设备编程器等,方便工程师进行开发和调试。
十二、电气特性
文档详细列出了PIC16CR7X系列的绝对最大额定值、直流特性和交流特性,包括电压、电流、频率等参数,为工程师在设计电路时提供了重要参考。
十三、总结
PIC16CR7X系列微控制器以其丰富的功能、高性能和低功耗等特点,适用于各种嵌入式应用。通过深入了解其内存组织、I/O端口、定时器模块、通信模块等功能,工程师可以更好地发挥其优势,设计出高效、稳定的电子系统。在实际应用中,还需根据具体需求合理选择器件型号,并注意电气特性和时序要求,以确保系统的可靠性和稳定性。你在使用PIC16CR7X系列微控制器的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
-
微控制器
+关注
关注
49文章
8830浏览量
165578 -
功能特性
+关注
关注
1文章
72浏览量
112
发布评论请先 登录
探索PIC16CR7X系列微控制器:功能特性与应用指南
评论