51单片机一个定时器实现PWM输出

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

先初始化TIM0或1为定时器方式2即自动装载模式。。。
定义全局变量
unsigned char PWM,PWMZ;
sbit PWMO=P***; //这个就是你要选择PWM输出的IO脚了
/*初始化定时器0*/
void intTIME0 (void)
{
TMOD = 0x02|(TMOD&0XF0); //set timer0 as mode2 (8-bit)
TL0 = 200; //这里最终影响的PWM频率
TH0 = 200;
ET0 = 1; //enable timer0 interrupt
EA = 1; //open global interrupt switch
}

/* Timer0 interrupt routine */
void tm0_isr() interrupt 1 using 1
{
PWMZ++;
if (PWMZ ==100)
{
PWMZ= 0;
PWMO = 0;
}
if (PWMS == PWM) { SPZ = 1;}
}

相关文档
最新文档