探索PIC16CR7X系列微控制器:功能特性与应用指南

电子说

1.4w人已加入

描述

探索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系列微控制器的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分