文件名称:捕捉模式-分数阶傅里叶变化的基本原理与应用
文件大小:7.68MB
文件格式:PDF
更新时间:2024-06-28 05:09:48
PIC16F1829
24.1 捕捉模式 本节中介绍的捕捉模式功能对于 CCP 模块 ECCP1、 ECCP2、 CCP3 和 CCP4 都是可用且相同的。 捕捉模式使用 16 位 Timer1 资源。当 CCPx 引脚上发生 事件时,16 位 CCPRxH:CCPRxL 寄存器对会分别捕捉 和存储 TMR1H:TMR1L 寄存器对的 16 位值。这些事件 定义如下,可通过 CCPxCON 寄存器的 CCPxM<3:0> 位进行配置: • 每个下降沿 • 每个上升沿 • 每 4 个上升沿 • 每 16 个上升沿 进行捕捉时,PIRx 寄存器的中断请求标志位CCPxIF 被 置 1。该中断标志必须用软件清零。如果在 CCPRxH 和 CCPRxL 寄存器对中的值被读取之前又发生另一次捕 捉,那么原来的捕捉值会被新捕捉值覆盖。 图 24-1 给出了捕捉操作的简化框图。 24.1.1 CCP 引脚配置 在捕捉模式下,应通过将相关的 TRIS 控制位置 1,将 CCPx 引脚配置为输入。 此外,还可以通过使用 APFCON0 或 APFCON1 寄存器 将 CCPx 引脚功能转移到备用引脚上。更多详细信息, 请参见第 12.1 节 “备用引脚功能”。 图 24-1: 捕捉模式工作原理框图 24.1.2 TIMER1 模式资源 为使 CCP 模块使用捕捉特性, Timer1 必须运行在定时 器模式或同步计数器模式下。在异步计数器模式下,可 能无法进行捕捉操作。 关于配置 Timer1 的更多信息,请参见第 21.0 节“带门 控控制的 Timer1 模块”。 24.1.3 软件中断模式 当捕捉模式改变时,可能会产生错误的捕捉中断。用户 应保持 PIEx 寄存器的 CCPxIE 中断允许位清零以避免 错误中断。此外,用户应在工作模式的任何改变之后清 零 PIRx 寄存器的 CCPxIF 中断标志位。 24.1.4 CCP 预分频器 通过 CCPxCON 寄存器的 CCPxM<3:0> 位,可以指定 4 种预分频比设置。每当关闭 CCP 模块,或者 CCP 模 块不在捕捉模式下时,预分频器计数器就会被清零。任 何复位都会将预分频器计数器清零。 从一个捕捉预分频比切换到另一个捕捉预分频比不会清 零预分频器,而且可能产生一次错误中断。为避免此意 外操作,可在改变预分频比之前通过清零 CCPxCON 寄 存器来关闭模块。例 24-1 给出了执行此功能的代码。 例 24-1: 改变捕捉预分频比 注: 如果 CCPx 引脚被配置为输出,则写端口 将产生一次捕捉条件。 CCPRxH CCPRxL TMR1H TMR1L 将标志位 CCPxIF 置 1 (PIRx 寄存器) 捕捉 使能 CCPxM<3:0> 预分频器 1, 4, 16 和 边沿检测 CCPx 系统时钟(FOSC) 引脚 注: 在捕捉模式下,Timer1 时钟源不能由系统 时钟(FOSC)提供。为在捕捉模式下识别 CCPx 引脚上的触发事件, Timer1 时钟源 必须由指令时钟(FOSC/4)或外部时钟源 提供。 BANKSEL CCPxCON ;Set Bank bits to point ;to CCPxCON CLRF CCPxCON ;Turn CCP module off MOVLW NEW_CAPT_PS;Load the W reg with ;the new prescaler ;move value and CCP ON MOVWF CCPxCON ;Load CCPxCON with this ;valueDS41440C_CN 第 214 页 2010-2013 Microchip Technology Inc.