stc51单片机pwm程序stc12c5608ad

初始化pwm程序:

void PWM_INIT()
{
TMOD=0X02; // 定时器0工作于8位自动重载模式
TH0=0xfc;
TL0=0xfc;
TR0=1;
CMOD=0x04; // CPS1 = 0 CPS0 = 1,选择PCA的时钟源为定时器0的溢出
CL=0; // PCA计数器清零
CH=0;
CCAP0H=0; // 初始化占空比为0%
CCAPM0=0x42; // 把P3.7脚做为DAC1的输出引脚
CR=1; // PCA模块开始计时
}

初始化完成后,只需要修改CCAP0H寄存器的值,即可改变占空比值。