"); //-->
/*
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
提供PocketPC 2003 and SmartPhone 2003开发工具
提供PocketPC 2003的BSP以及开发工具
提供PocketPC2003 BSP for Intel PXA25x and PXA26x
PWM电源IC MAX5074
PS501 现场可编程的单芯片电池管理器
电子科技大学--嵌入式系统应用开发技术06
提供wince.net platform builder 4.2和 5.0开发工具
荣耀官宣进军机器人产业!
大功率可控硅无级调速触发电路
机器人安全新突破:安全气泡探测器的强大功能
电子科技大学--嵌入式系统应用开发技术07
Cincoze MXM GPU电脑荣获红点设计奖与Vision Systems Design创新奖殊荣
S-818 系列器件正电压调节器
开启软件定义汽车全新未来征程,红帽车用操作系统即将全面上市
直流电动机的随动控制电路
电子科技大学--嵌入式系统应用开发技术08
提供PocketPC2003 BSP for Intel PXA27x
BOE(京东方)第6代新型半导体显示器件生产线全面量产
TITAN Haptics打破触觉壁垒:构建开放生态系统
灿芯半导体推出28HKC+工艺平台TCAM IP
电路图:MEG8评估板_页面_1
英伟达GB300回归Bianca设计
PS810单节锂离子电池电量计
简易马达调速器
PS700 电池监控器