原创 PIC18F的CCP模块的捕捉模式实现电机测速的方法

2007-1-20 22:18 5829 7 9 分类: MCU/ 嵌入式



20071202251259303.jpg

在捕捉模式下,当对应的CCPx 引脚上有事件发生时,CCPRxH:CCPRxL 寄存器对将捕捉TMR1 寄存器或TMR3 寄存器的16 位值。事件定义为下列情况之一:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


每个下降沿


每个上升沿


4 个上升沿


16 个上升沿


u        通过模式选择位CCPxM3:CCPxM0CCPxCON<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


                                     SP-PICmicro-ICD2在线调试器             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


详细的源程序见:www.supermcu.com/yc_info.asp?id=372

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1090161 2007-11-1 19:36

good

我打算用ATERAL 的片子,多交流

用户493279 2007-10-7 17:30

TKS!

用户60667 2007-5-27 09:16

PIC单片机可以输出两路不同长度的PWM信号,但对于步进电机来说,不建议采用PWM模式来控制.

用户381312 2007-5-26 12:29

你好,可以用一片pic同时输出两路不同长度的脉冲给步进驱动器,控制两个步进电机吗?
相关推荐阅读
用户60667 2010-10-25 22:22
基于SP1010-LPC213X-ARM实验板的SPWM实验
    实验工程应用的逆变器常采用SPWM技术来实现,以前常用硬件来产生三角波和正弦波进行比较来产生SPWM信号,但常常不稳定,而用嵌入式ARM来产生SPWM信号就非常容易,几乎不用增加任何附加硬件产...
用户60667 2010-10-25 10:39
SP1010-LPC213X-ARM实验开发板
SP1010-LPC213X-ARM实验开发板是一款基于NXP公司的LPC21XX的ARM7内核的嵌入式开发平台,板载丰富的实验资源,提供的从简单到复杂的综合实验源程序达60多个。同时板上集成的了与语...
用户60667 2010-10-19 18:31
基于SP1010-LPC213X-ARM实验板的可调正弦幅度实验
来 源:西谱电子(www.supermcu.com)/*      实验目的:掌握LPC213X的D/A转换器的使用和编程,掌握正弦波产生的原理      实验内容:利用LPC213X的D/A模块实现...
用户60667 2010-10-14 18:03
基于SP1010-LPC213X-ARM实验板的键按键加减计数实验
发布时间:2010-10-14 来 源:西谱电子(www.supermcu.com)/*      实验目的:掌握LPC213X对两个按键识别的编程方法      实验内容:通过连接在LPC2132引...
用户60667 2010-10-14 11:46
基于SP1010-LPC213X-ARM实验板的单键按键加计数实验
来 源:西谱电子(www.supermcu.com)/*      实验目的:掌握IOnPIN寄存器在按键识别的作用及使用方法      实验内容:通过连接在P0.16引脚上的按键K1,实现每按一下K...
用户60667 2008-11-19 07:08
我的书"PIC单片机实用C语言程序设计与典型实例"已出版
直接登录我们的网站: www.supermcu.com 或直接登录中国互动出版网:http://www.china-pub.com/41131或直接登录中国电力出版社网上书店:http://www.c...
EE直播间
更多
我要评论
2
7
关闭 站长推荐上一条 /3 下一条