专栏中心

EEPW首页 > 专栏 > PIC24F初始设置代码(PWM)

PIC24F初始设置代码(PWM)

发布人:0750long 时间:2009-07-11 来源:工程师 发布文章
PIC24F初始设置代码(PWM)

 

/*
Find the Period register value for a desired PWM frequency of 2 kHz,
 where Fosc = 32 MHz  (32 MHz device clock rate) and
 a Timer3 prescaler setting of 1:1.
 Tcy = 2/Fosc = 62.5 ns
 PWM Period   =  1/PWM Frequency = 1/2 kHz = 500 μs
 PWM Period   = (PR2 + 1) * Tcy * (Timer 3 Prescale Value)  *PWM周期计算公式
 500 μs = (PR2 + 1) * 62.5 ns * 1
 PR2 = 800-1
*/

void BZOUT(int Period,int rate)
{
OC1CON1 = 0;//It is a good practice to clear off the control bits initially
OC1CON2 = 0;

OC1CON2.SYNCSEL = 13;
OC1CON2.OCTRIG = 1;
OC1CON1BITS.OCSIDL = 0;// Output capture will continue to operate in CPU Idle mode
OC1CON1BITS.OCTSEL = 1; //This selects the peripheral clock as the clock input to the OC1
      //Select Timer3 as the clock input to the OC1
         //111 = 系统时钟
      //110 = 保留
      //101 = 保留
      //100 = Timer1
      //011 = Timer5
      //010 = Timer4
      //001 = Timer3
      //000 = Timer2
OC1CON1BITS.OCM = 6 ; //110 = PWM模式:OCFA/B 禁用,当OCxTMR = 0 时输出设置为高电平,当OCxTMR = OCxR 时输出设
      //置为低电平


T3CON = 0x00;    //Stops any 16-bit Timer3 operation
TMR3 = 0x00;    //Clear contents of the timer3 register
T3CONBITS.TCKPS = 0; //11 = 1:256
      //10 = 1:64
      //01 = 1:8
      //00 = 1:1
IFS0BITS.T3IF = 0;   //Clear the Timer3 interrupt status flag
IEC0BITS.T3IE = 1;   //Enable Timer3 interrupts
IEC0BITS.OC1IE = 0;  //Disable Compare 1 interrupts

PR3 = Period;    //Determine the period
OC1R = rate;   //Initial Compare Register1 duty cycle
OC1RS = rate;   //Initial Secondary Compare Register1 duty cycle
 
T3CONBITS.TON = 1;   //Start Timer3
}

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

电子科技大学--嵌入式系统应用开发技术05

英飞凌推出全新紧凑型CoolSET™封装系统(SiP)

10BASE-T1S 以太网——连接物理世界和数字世界

电子科技大学--嵌入式系统应用开发技术04

PWM电源IC MAX5074

PS501 现场可编程的单芯片电池管理器

电子科技大学--嵌入式系统应用开发技术06

荣耀官宣进军机器人产业!

机器人安全新突破:安全气泡探测器的强大功能

电子科技大学--嵌入式系统应用开发技术07

Cincoze MXM GPU电脑荣获红点设计奖与Vision Systems Design创新奖殊荣

S-818 系列器件正电压调节器

开启软件定义汽车全新未来征程,红帽车用操作系统即将全面上市

电子科技大学--嵌入式系统应用开发技术08

TITAN Haptics打破触觉壁垒:构建开放生态系统

灿芯半导体推出28HKC+工艺平台TCAM IP

英伟达GB300回归Bianca设计

2025-05-29

PS810单节锂离子电池电量计

PS700 电池监控器

更多 培训课堂
更多 焦点
更多 视频

技术专区