void STC_PWM_INIT(void)
{
CMOD=0x02;
CCON=0X00;
CL=0x00;
CH=0x00;
PCA_PWM0=0X00;
CCAP0L=0xc8; //设置占空比0
CCAP0H=0xc8;
CCAPM0=0X42;
PCA_PWM1=0X00;
CCAP1L=0xc8; //设置占空比
CCAP1H=0xc8;
CCAPM1=0x42; //设置使用PWM模式
PCA_PWM2=0X00;
CCAP2L=0xc8; //设置占空比
CCAP2H=0xc8;
CCAPM2=0x42; //设置使用PWM模式
CR=1; //开始PCA 定时器
}
void STC_PWM(void)
{
uchar i;
STC_PWM_INIT();
for(i=0;i<200;i++)
{
CCAP0H=CCAP0H-1; //PWM波控制LED1渐亮
CCAP1H=CCAP1H-1; //PWM波控制LED2渐亮
CCAP2H=CCAP2H-1; //PWM波控制LED3渐亮
Delay1ms(100);}
}
LED不是渐亮,而是有阶梯式的亮,如何做到平滑,请各位高手给帮帮忙 |