标题:
只用1个定时器实现51模拟PWM输出功能
[打印本页]
作者:
米醋
时间:
2015-6-25 12:37
标题:
只用1个定时器实现51模拟PWM输出功能
只是PWM频率有点低,不过效果还是不错的
先初始化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;}
}
作者:
米醋
时间:
2015-6-25 13:14
自己坐沙发!!!
作者:
lxa0
时间:
2017-8-14 02:16
能行不?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1