9.捕获/比较/PWM功能
PIC16F616具有捕获/比较/PWM的模块,下面来简单的介绍一下它们的功能.
这三个功能需要定时器的支持,捕获和比较功能需要定时器Timer1的支持,PWM功能需要定时器Timer2的支持.都有中断的功能,选择这三种功能的 某一种功能可以通过寄存器CCP1CON来设置.CCP1CON的低四位CCP1M<3:0>可以通过不同的组合来开启某项功能和关闭所有功 能,当CCP1M<3:0>=0000的时候,捕获/比较/PWM模块的所有功能被禁止.具体其他的不同组合实现的功能,请参考 PIC16F616的用户手册.
当选择捕获功能时,它可以捕获引脚CCP1发生的事件,同时把16位Timer1的计数值拷贝到 CCPR1H:CCPR1L中来,引脚CCP1的发生事件可以指的是下列事件:CCP1引脚的每个上升沿或者下降沿、第四个上升沿、第十六个上升沿.可以 通过寄存器CCP1CON的低四位CCP1M< 3:0>来设置是哪一种事件.当事件发生的时候,单片机会置中断标志位CCP1IF(寄存器PIR1上),如果中断被允许(寄存器PEIE的位 CCP1IE=1)的话,就会产生中断,中断标志位CCP1IF需要软件清零.
选择比较功能时,如果定时器Timer1的计数器值与寄存器CCPR1H:CCPR1L相等的话,将产生下面的事件:把引脚CCP1置1/0、产生一个中 断、触发一个事件(把定时器Timer1的技术器TMR1 清零,并且如果此时AD是允许的话,它将触发一次AD转换),这些事件可以通过寄存器 CCP1CON的低四位CCP1M<3:0>来设置是哪一种事件.
当选择PWM功能时,通过设置PR2、T2CON、CCPR1L、CCP1CON这四个寄存器,模块可以产生不同占空比的PWM波形.具体的设置和占空比的计算请参考手册.
如果我们不需要这些功能,可以把这个模块关闭掉(设置CCP1M<3:0>=0000即可).
捕获/比较/PWM功能
最新推荐文章于 2024-02-04 11:09:30 发布