在捕捉模式下,当对应的CCPx 引脚上有事件发生时,CCPRxH:CCPRxL 寄存器对将捕捉TMR1 寄存器或TMR3 寄存器的16 位值。事件定义为下列情况之一:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> • 每个下降沿 • 每个上升沿 • 每4 个上升沿 • 每16 个上升沿 u 通过模式选择位CCPxM3:CCPxM0(CCPxCON<3:0>)选择事件类型。当一个捕捉发生时,中断请求标志位CCPxIF 置1,它必须用软件清零。如果在读取寄存器CCPRx 之前发生了另一个捕捉,那么之前捕捉的值将被新捕捉的值覆盖。 u 在捕捉模式下,应该通过将相应的TRIS 方向位置1 来将CCPx 引脚配置为输入 注: 如果RB3/CCP2 或RC1/CCP2 引脚被配置为输出,对该端口的写操作会产生捕捉条件。 u 用于捕捉功能的定时器(Timer1 和/ 或Timer3)必须运行在定时器模式或同步计数器模式。在异步计数器模式下,无法进行捕捉操作。用于每个CCP 模块的定时器由T3CON 寄存器选择。 u 当捕捉模式改变时,可能会产生错误捕捉中断。用户应该保持CCPxIE 中断使能位清零,以避免错误中断。还应该在工作模式发生任何改变之后清零中断标志位CCPxIF。 u 在捕捉模式下有4 种预分频比值设置,它们可作为工作模式的一部分由模式选择位(CCPxM3:CCPxM0)选择。每当关闭CCP 模块或禁止捕捉模式时,预分频计数器就将被清零。这意味着任何复位都将清零预分频计数器。 下面是在SP9608-PIC单片机增强型开发板调试的直流电机测速实验源程序,将RC2/CCP1引脚设置为输入引脚,由光电传感器将电机运行的速度转换成脉冲信号加到RC2/CCP1引脚上,程序中启动CCP模块的捕捉功能来测量脉冲信号的周期,通过计算换算成电机运行的速度值在数码管上显示出来。 测试硬件环境: SP9608-PIC单片机增强型开发板 1台 PIC<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />18F4520单片机 1片 5.9V的微型直流电机 1个 光电传感器 1个 实验导线 若干 测试软件环境: MPLAB7.50集成开发环境 MCC18编译器 网址: www.supermcu.com |
用户1090161 2007-11-1 19:36
good
我打算用ATERAL 的片子,多交流
用户493279 2007-10-7 17:30
用户60667 2007-5-27 09:16
PIC单片机可以输出两路不同长度的PWM信号,但对于步进电机来说,不建议采用PWM模式来控制.
用户381312 2007-5-26 12:29