本帖最后由 lx20150828 于 2016-3-31 09:15 编辑
void PWM1()
{
//ODCON=ODCON|0X08;//使能bit3-CCP2OD漏极开路功能,0x00是禁止漏极开路
CCPTMRSbits.C2TSEL=0;
PR2=0xAF; //设置:PWM周期=(PR2+1)*4*Tosc*(TMR2预分频);PWM频率=1/PWM周期
CCPR2L=0x3a; //高8位为00110011=33----PR2=0x67
CCP2CON=0x2c;//设置CCP1模块为PWM工作方式,且其工作循环的低2位为11,高8位为00110011=33
INTCON=0x00; //禁止总中断和外围中断
T2CON=0X06;//使能TMR2==TMR2ON=1,T2CKPS<1:0>=11==使其预//分频为16
TRISC0=0;//RC0设置为输出
TRISC1=0;//RC1设置为输出
TRISC2=0;//RC2设置为输出
PIE1bits.TMR2IE=1;
}
void PWM2()
{
//ODCON=ODCON|0X40;//使能bit6-CCP5OD漏极开路功能,0x00是禁止漏极开路
CCPTMRSbits.C5TSEL=1;
PR4=0XA0; //设置:PWM周期=(PR2+1)*4*Tosc*(TMR2预分频);PWM频率=1/PWM周期
CCPR5L=0x3a; //高8位为00110011=33----PR2=0x67
CCP5CON=0x2c;//设置CCP1模块为PWM工作方式,且其工作循环的低2位为11,高8位为00110011=33
//高电平时间=(CCPR5L:CCP5CON<5:4>)*Tosc*(TMR2预分频)
INTCON=0x00; //禁止总中断和外围中断
TRISB=TRISB&0xdf; //RB5脚输出
T4CON=0X06;//打开TMR4 使其预分频为16
TRISA0=0;//设置为输出
TRISB4=0;//RB4设置为输出
TRISB5=0;//RB5设置为输出
}
|