PIC单片机原理及应用(第十一章)_第1页
PIC单片机原理及应用(第十一章)_第2页
PIC单片机原理及应用(第十一章)_第3页
PIC单片机原理及应用(第十一章)_第4页
PIC单片机原理及应用(第十一章)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章CCP捕捉/比较/脉宽调制

配置了2个捕捉/比较/脉宽调制模块CCP1、CCP2(Capture/Compare/PWM)。它们各自都有独立的16位寄存器CCPR1和CCPR2,两个模块结构、功能、操作方法基本一样,它们的区别仅在于各自有独立的外部引脚,以及各自的特殊事件触发器。它们的功能实现,往往与定时器TMR1、TMR2复合使用。第11章CCP捕捉/比较/脉宽调制配置了2个捕111.1CCP模块功能11.1.1CCP模块可工作在3种模式下:捕捉方式、比较方式和脉宽调制方式。1、CCP模块的捕捉功能:

可捕捉外部输入脉冲的上升沿或下降沿,产生相应的中断,适用于测量引脚输入的周期性方波信号的周期、频率、占空比等,也适用于测量引脚输入的非周期性矩形脉冲信号的宽度、到达时刻或消失时刻等参数;2、比较功能:用于从引脚上输出不同宽度的矩形正脉冲、负脉冲、延时启动信号等;3、脉宽调制功能:适合于从引脚上输出脉冲宽度随时可调的PWM信号来实现直流电机的调速、D/A转换、步进电机的步进控制等。11.1CCP模块功能11.1.1CCP模块可工作在32

CCP模块与定时器模块的搭配

CCP模块与定时器模块的搭配311.1.2CCP模块寄存器介绍(以CCP1为例)CCP1模块寄存器:CCPR1H:CCPR1L,存放参考信息和计数比较信息等。CCP1控制寄存器:CCP1CON,设置工作方式等。PIR1:PIE1:TRISC:TMR1H:TMR1L

11.1.2CCP模块寄存器介绍(以CCP1为例)CC4CCP1控制寄存器:CCP1CONCCP1控制寄存器:CCP1CON5Bit3-Bit0/CCP1M3-CCP1M0:

CCP1工作方式选择位,主动参数。00xx:关闭捕捉/比较/脉宽调制模块(即CCP1复位);01xx:捕捉工作方式;10xx:比较工作方式;11xx:脉宽调制PWM工作方式。Bit5-Bit4/CCP1X-CCP1Y:

PWM工作循环周期的最低2位,数据参数。作为其输出信号脉宽的低2位,高8位在CCPR1L中。 捕捉方式:未用。比较方式:未用。Bit3-Bit0/CCP1M3-CCP1M0:6

11.2捕捉功能

PIC单片机的输入捕捉功能,就是对外部从引脚CCP上输入的脉冲上升沿或下降沿进行实时捕捉检测。

容易实现对信号周期及脉冲占空比的检测。11.2捕捉功能7

11.2.1捕捉方式工作原理

11.2.1捕捉方式工作原理8

11.2.2捕捉方式相关的寄存器

INTCON,PIE1(CCP1IE),PIR1(CCP1IF)CCP1控制寄存器:CCP1CONCCPR1捕捉寄存器:CCPR1H:CCPR1L,在特殊事件发生时捕捉并保存定时器TMR1数值。TMR1计数寄存器高低字节:TMR1H:TMR1L专用CCP1端口定义:TRISC2(Bit2)11.2.2捕捉方式相关的寄存器INTCON,9CCP控制寄存器CCP1CON

Bit3-Bit0/CCP1M3-CCP1M0:

01xx:捕捉工作方式设置,主动参数。

0100:捕捉每个脉冲下降沿;0101:捕捉每个脉冲上升沿;0110:捕捉每4个脉冲上降沿;0111:捕捉每16个脉冲上降沿。

CCP控制寄存器CCP1CONBit3-Bit0/C1011.2.3CCP1模块捕捉方式的应用

CCP1模块构成输入信号的捕捉功能,需要对相应的控制位进行设置,即所谓CCP1模块捕捉方式的初始化。11.2.3CCP1模块捕捉方式的应用111、CCP1引脚的设定

CCP1和RC2合用一个引脚RC2/CCP1,在CCP1的捕捉方式下,RC2引脚必须由TRISC的Bit2设定为输入方式。1、CCP1引脚的设定CCP1和RC2合用一122、TMR1工作方式的设定

当CCP1工作于捕捉模式时,必须和TMR1搭配。同时TMR1必须设定为定时器工作方式或者同步计数器方式。计数初值一般以0开始。

2、TMR1工作方式的设定当CCP1工作133、预分频器设定

必须通过CCP1CON的CCP1M3~CCP1M0的设置,选择一种触发事件。而利用TMR1的预分频比例进行设置。1:1、1:4、1:16共三种。3、预分频器设定必须通过CCP1CON的CCP1M3144、设置CCP1中断方式

每当CCP1捕捉到一事件发生时,将CCP1IF置位,产生一次中断。脉宽检测时,经常需要变化捕捉条件。在改变CCP捕捉方式时,可能产生一次错误的捕捉中断,所以,在改变捕捉方式之前,必须清除中断使能位CCP1IE来屏蔽CCP1中断请求,并且在捕捉模式改变之后,将中断标志位CCP1IF清零,以防止引起CPU的错误响应。4、设置CCP1中断方式15

实例1、检测脉冲的宽度2、CCP1和CCP2的双捕捉功能

实例1、检测脉冲的宽度16

11.3比较功能

CCP模块第2个功能是比较方式输出,用于从引脚上输出不同宽度的矩形脉冲信号、不同的周期频率脉冲以及非周期频率信号等。根据预置的特定值(CCPR1)与TMR1计数器的计数值进行比较,当两者数值一致时给出比配信号,触发CCP中断标志位置位。由RC2引脚可以输出3种逻辑状态。11.3比较功能CCP模块第2个功能是比17

11.3.1比较方式工作原理

11.3.1比较方式工作原理18

11.3.2CCP1比较方式相关寄存器

INTCONCCP1控制寄存器:CCP1CONCCP1比较寄存器:CCP1H:CCP1L第一外围中断标志寄存器:PIR1(CCP1IF)第一外设中断使能寄存器:PIE1(CCP1IE)TMR1计数寄存器高低字节:TMR1H:TMR1L专用CCP端口定义:TRISC2(Bit2)11.3.2CCP1比较方式相关寄存器INTCON19CCP1控制寄存器CCP1CON

Bit3-Bit0/CCP1M3-CCP1M0:比较方式下的功能定义。1000:如果CCPR1与TMR1相等,RC2/CCP引脚为高电平,同时CCP1IF置位;1001:如果CCPR1与TMR1相等,RC2/CCP引脚为低电平,同时CCP1IF置位;1010:如果CCPR1与TMR1相等,CCP1电平不变,(CCP1IF置位,CCP1引脚不受影响);1011:特殊事件触发,如果CCPR1与TMR1相等,CCP1电平不变,(CCP1IF置位,CCP1将TMR1复位,并且启动A/D模数转换电路)。CCP1控制寄存器CCP1CONBit3-Bit0/20

11.3.3CCP1比较方式应用

CCP1模块构成输出比较功能,需要对相应的控制位进行设置,即所谓CCP1模块比较工作方式的初始化。11.3.3CCP1比较方式应用C211、CCP引脚设定

在比较工作方式下,用户必须通过把TRISC的bit2位清零,把RC2/CCP1引脚设置成输出状态。如果对CCP1CON寄存器清零,将迫使RC2/CCP1引脚输出低电平。1、CCP引脚设定222、TMR1方式设定当CCP1工作在比较方式时,TMR1必须设置在定时方式或同步计数方式下,TMR1初值一般为0。2、TMR1方式设定当CCP1工作在比较23

3、软件中断方式

当选择软件中断方式,即CCP1CON的CCP1M3-CCP1M0为1010时,CCP1引脚上的电平不受影响,只把CCP1IF置位,产生CCP中断(当该中断使能时)。3、软件中断方式当选择软件中断方式,即CC244、特殊事件触发方式在特殊事件触发方式下,即CCP1CON的CCP1M3~CCP1M0为1011时,将产生一个内部硬件触发信号,它可以用于启动一个特殊操作。CCP1的特殊事件触发输出将对TMR1寄存器进行复位,使得CCPR1寄存器可以作为TMR1的16位可编程周期寄存器。CCP2的特殊事件触发输出也将对TMR1寄存器进行复位,并且启动A/D数模转换。CCP1、CCP2模块的特殊事件触发输出不会将中断标志位TMR1IF置位。4、特殊事件触发方式在特殊事件触发方式下,即25

实例输出脉冲信号改变信号频率

实例输出脉冲信号26

11.4脉宽调制功能

CCP模块第3个功能PWM脉宽调制,它的应用非常广泛,可以从CCP引脚上输出不同占空比宽度的矩形脉冲信号,并可有效改变信号的输出频率。PWM脉宽调制信号,一般用于特殊器件的启动触发脉冲。11.4脉宽调制功能CCP模块第3个2711.4.1脉宽调制方式工作原理

当CCP1工作在脉宽调制PWM(PulseWidthModulation)方式下,RC2/CCP1引脚上可能输出分辨率高达10位,脉冲宽度随时可调的脉宽调制波形。必须将RC2/CCP1引脚设置为输出状态。对CCP1CON寄存器清0将迫使PWM输出引脚RC2/CCP1输出低电平,这并非是正常的PWM输出的数据。11.4.1脉宽调制方式工作原理当C28脉宽调制方式原理图脉宽调制方式原理图29

PWM输出信号周期

PWM输出信号周期可通过向TMR2的周期寄存器PR2写入来设定,计算公式如下:PWM周期=4Tosc×((PR2)+1)×(TMR2预分频值)其中,Tosc为系统时钟周期;4×Tosc为指令周期;TMR2预分频值可以为1、4或16。PWM信号的频率定义为PWM周期的倒数。PWM输出信号周期PWM输出信号周期可通30

PWM输出时序图

PWM周期周期PWM脉宽TMR2=PR2TMR2=PR2TMR2=10bitCCPR1LPWM输出时序图PWM周期周期PWM脉宽TMR2=PR31

PWM输出信号的脉宽

通过写入脉宽寄存器,即CCPR1L寄存器及CCP1CON控制寄存器的bit5~bit4位可以得到PWM的高电平时间设定值,分辨率可达10位。其中,由8位的CPPR1L的值作为10位中的高8位,由控制寄存器CCP1CON中的Bit5-Bit4两位作为10位中的低2位组成。因此,计算PWM高电平(脉宽)的公式如下:PWM高电平(脉宽)=CCPR1L:CCP1CON(Bit5-Bit4)×4Tosc×(TMR2预分频值)CCPR1L:CCP1CON(Bit5-Bit4)为10位脉宽寄存器、TMR2预分频值,可取1、4或16。PWM输出信号的脉宽通过写入脉宽寄存器,即3211.4.2脉宽调制方式相关寄存器

CCP控制寄存器:CCP1CONCCP1寄存器:CCP1H:CCP1L第一外围中断标志寄存器:PIR1(CCP1IF)第一外围中断使能寄存器:PIE1(CCP1IE)计时寄存器:TMR2专用CCP端口定义:TRISC(Bit2)定时周期寄存器:PR2TMR2控制寄存器:T2CON11.4.2脉宽调制方式相关寄存器CCP控制寄存器:33

CCP控制寄存器CCP1CON

Bit3-Bit0/CCP1M3-CCP1M0:脉宽调制功能设置,主动参数。11XX:脉宽调制方式,低2位不起作用。

Bit5~Bit4/CCP1X~CCP1Y:CCP1脉宽寄存器的低2位,高8位在CCPR1L中,数据参数。CCP控制寄存器CCP1CONB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论