PIC单片机CCP模块的应用_立新.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC单片机CCP模块的应用_立新.pdf

电子报/2006 年/11 月/12 日/第015 版 单片机应用 PIC 单片机CCP 模块的应用 脉冲宽度和频率测量实验程序 成都 立新 本文介绍 PIC16F877 内部CCP 模块测量脉冲宽度和频率的实验程序,给出测量脉冲宽度或 频率二进制码的源程序。 一、PIC 单片机CCP 模块的特点 CCP 模块,即捕捉/比较/脉宽调制(Capture /Compare /PWM ),可工作在捕捉输入、比 较输出和脉宽调制输出三种状态,三种状态各自独立工作。 CCP 模块可分为CCPI 和CCP2 ,如PIC16F877 的(17)脚上标注的RC2 /CCP1 和(16)脚 上标注的RC1 /T10S1 /CCP2 ,但有的PIC 单片机片内仅有一种CCP1 ,如PIC16F627 (引脚⑨ RB3 /CCP1 )而无CCP2 。CCP1 和CCP2 的功能相似,这里仅介绍CCP1 的捕捉功能。 CCP1 由16 位寄存器CCPR1 组成,CCPR1H 是高字节,CCPR1L 是低字节组成。CCP1 的工 作全部由对应的控制寄存器CCP1CON 进行操作。 1.CCP1 捕捉功能和控制寄存器CCP1CON 当CCP1 工作在捕捉方式,如在PIC16F877 的(17) 脚RC2 (RC2 /CCP1 )上加一串脉冲信号时,CCP1 寄存器CCPR1L (低8 位)、CCPR1H (高8 位)即可捕捉每个脉冲的下降沿或上升沿;每 4 个脉冲或每 16 个脉冲的上升沿,并在捕捉的时 刻,由定时器TMR1 从0 开始计数,直到规定的上述四种方式之一为止。四种捕捉方式,全部由 控制寄存器CCP1CON 操作完成。 CCP1CON 与捕捉有关的仅为低4 位,如图1 所示。 bit3~bit0 (CCP1M3~CCP1M0 )是工作方式选择位。 0000 =关闭CCP 功能;0100 =捕捉每个脉冲下降沿;0101 =捕捉每个脉冲上升沿;0110 =捕 捉每4 个脉冲上升沿;0111 =捕捉每16 脉冲上升沿。 2.CCP 捕捉功能与定时器/计数器TMR1 关系 CCP 要完成捕捉功能,还应有定时器TMR1 的参与。TMR1 由两个8 位寄存器TMR1H 和TMR1L 组成16 位定时器/计数器,可读写。TMR1 工作在定时方式下,内部的16 位计数器可在每个指令周期加计数,即从0000h~FFFFh 为止,其 定时计数受寄存器T1CON 控制。T1CON 管理TMR1 的定时计数开始、计数停止,还管理TMR1 的预分频(即扩展定时范围)。T1CON 的位功能如图2 所示。 bit5 、bit4 (T1CKPS1、T1CKPS0 )是TMR1 时钟预分频选择位: 00 为1:1;01 为1:2 ;10 为1:4 ;11 为1:8。 bit1 (TMR1CS ):TMR1 时钟源选择 第1 页 共6 页 1=外部时钟计数;0 =工作于定时方式(用内部时钟f0SC /4 )。 bit0 (TMR10N );TMR1 功能位(使能):1=TMR1 打开(使能)开始计数;0 =TMR0 关闭 TMR1 计数。 上述各位bit0 、bit5 和bit4 在捕捉的程序中起着重要的作用。当CCP1 捕捉PIC16F877 的RC2 输入脉冲(上沿或下沿)成功后,TMR1 的定时计数值,通过其低8 位TMR1L 和高8 位TMR1H 自动送到CCP1 模块对应的低8 位CCPR1L 和高8 位CCPR1H 的寄存器中。 3.CCP 捕捉与其他专用寄存器的关系 除了CCP1CON 和TMR1 外,还要用到中断控制寄存 器INTCON ;中断标志寄存器PIR1 ;中断使能寄存器PIE1 等的相关位功能,才能保证CCP 捕捉 成功。当CCP 捕捉事件发生后,中断标志位CCP1IF (PIR1 的bit2 位)置1,说明TMR1 有CCP1 捕捉中断,此时即可利用该中断程序获取定时器的计数值;要使CCP 捕捉发生中断,中断使能位 CCP1IE (PIE1 的bit2 位)还需

您可能关注的文档

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档