PWM初始化,PWM0占空比設(shè)置函數(shù)
函數(shù)名:PWM初始化函數(shù)
調(diào) 用:PWM_init();
參 數(shù):無(wú)
返回值:無(wú)
結(jié) 果:將PCA初始化為PWM模式,初始占空比為0
備 注:需要更多路PWM輸出直接插入CCAPnH和CCAPnL即可
/**********************************************************************************************/
void PWM_init (void){
CMOD=0x02; //設(shè)置PCA定時(shí)器
CL=0x00;
CH=0x00;
CCAPM0=0x42; //PWM0設(shè)置PCA工作方式為PWM方式(0100 0010)
CCAP0L=0x00; //設(shè)置PWM0初始值與CCAP0H相同
CCAP0H=0x00; // PWM0初始時(shí)為0
//CCAPM1=0x42; //PWM1設(shè)置PCA工作方式為PWM方式(使用時(shí)刪除//)
//CCAP1L=0x00; //設(shè)置PWM1初始值與CCAP0H相同
//CCAP1H=0x00; // PWM1初始時(shí)為0
//CCAPM2=0x42; //PWM2設(shè)置PCA工作方式為PWM方式
//CCAP2L=0x00; //設(shè)置PWM2初始值與CCAP0H相同
//CCAP2H=0x00; // PWM2初始時(shí)為0
//CCAPM3=0x42; //PWM3設(shè)置PCA工作方式為PWM方式
//CCAP3L=0x00; //設(shè)置PWM3初始值與CCAP0H相同
//CCAP3H=0x00; // PWM3初始時(shí)為0
CR=1; //啟動(dòng)PCA定時(shí)器
}
/**********************************************************************************************/
/*********************************************************************************************
函數(shù)名:PWM0占空比設(shè)置函數(shù)
調(diào) 用:PWM0_set();
參 數(shù):0x00~0xFF(亦可用0~255)
返回值:無(wú)
結(jié) 果:設(shè)置PWM模式占空比,為0時(shí)全部高電平,為1時(shí)全部低電平
備 注:如果需要PWM1的設(shè)置函數(shù),只要把CCAP0L和CCAP0H中的0改為1即可
/**********************************************************************************************/
void PWM0_set (unsigned char a){
CCAP0L= a; //設(shè)置值直接寫入CCAP0L
CCAP0H= a; //設(shè)置值直接寫入CCAP0H
}
/**********************************************************************************************/
評(píng)論