PIC16F + PICC9.50 学习笔记(三)

发布者:荣耀使者最新更新时间:2020-03-12 来源: eefocus关键字:PIC16F  PICC9  学习笔记 手机看文章 扫描二维码
随时随地手机看文章

今天发现CCP开启PWM模式后,输出是固定的引脚,以PIC16F690为例,RC5为固定PWM输出脚。


/****************************************************************/

//开启CCP1 使用PWM RC5脚输出 20KHz 占空比为50% 的波形

//

//

/****************************************************************/

#include

#include

__CONFIG(WDTEN & PWRTEN & MCLREN & BOREN & IESODIS & FCMDIS & INTIO); 

 

//-------------中断服务程序------------------------------------  

void interrupt isr()  

{   

 if(TMR2IE==1&&TMR2IF==1) 

 {

  TMR2IF=0; 

 } 


void SpwmInit() 

 OSCCON=0x7f;

 TRISC5=1; 

 PR2=0x63; 

 CCP1CON=0b00001111;

 CCPR1L= 0b00110010;

 TMR2IF=0; 

 T2CON=0; 

 GIE=0; 

 TMR2IE=1; 

 PEIE=1; 

 TMR2ON=1; 

}


main()  

 SpwmInit(); 

 

 TRISC5=0;  


 while(1) 

 {

 

 } 

}


/*


PWM周期 = [(PR2) + 1] * 4 * TOSC *(TMR2预分频值)

注: TOSC = 1/FOSC


脉冲宽度= (CCPR1L:CCP1CON<5:4>) * TOSC * (TMR2预分频值)

  

占空比= (CCPR1L:CCP1CON<5:4>)/4(PR2 + 1)

 

分辨率= log[4(PR2 + 1)]/log(2)位

------------

PWM 频率                            1.22 kHz    4.90 kHz    19.61 kHz    76.92 kHz    153.85 kHz    200.0 kHz

定时器预分频值(1、4和16)  16              4               1                   1                 1                   1

PR2 值                                 0x65          0x65          0x65             0x19           0x0C             0x09

最大分辨率(位)                   8                8               8                   6                 5                   5


OSCCON=0x7f;  //8MHZ


PR2= 0x63 =99


PWM周期 = 50us = (99+1)* 4 * TOSC *(TMR2预分频值) = 400* 1/8MHZ = 50


(CCPR1L:CCP1CON<5:4>) =(0b00110010 :0b00001111)= 0b0011001000 = 200 //CCP1CON<5:4>  取5,4位 =00  即 0b00“00”1111


脉冲宽度 = (CCPR1L:CCP1CON<5:4>) * TOSC * (TMR2预分频值) =(0b00110010 :0b00001111)* 1/8 = 200 * 1/8=25us 


占空比= 50% = (CCPR1L:CCP1CON<5:4>)/4(PR2 + 1) = 200 /4* (99+1) =200/400 = 1/2


分辨率= 8= log[4(PR2 + 1)]/log(2) =  log(400)/log(2)  


*/

关键字:PIC16F  PICC9  学习笔记 引用地址:PIC16F + PICC9.50 学习笔记(三)

上一篇:PIC16F + PICC9.50 学习笔记(二)
下一篇:PIC之休眠问题

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved