单片机/MCU论坛
直播中

张览秀

9年用户 1239经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

如何使用标准51定时器0产生pwm波?

如何使用标准51定时器产生pwm波   

回帖(1)

李凤璐

2023-10-30 10:04:55
标准的51机是没有PWM功能的。
当然现在许多厂商已经给51做了增强功能。在不了解您使用哪种MCU情况下,假设您的MCU没有PWM功能。
先讲个简单的应用,假设要输出1Khz,占空比50%的PWM
需要将定时器设为500微秒,在定时器中断函数中,设置该引脚翻转。
复杂点,占空比不是50%,就需要增加一个计数变量。
假设占空比为33%
定义一个计数器:u8 pwmCount = 0;
定时器设为5微秒
中断函数中这样写:
pwmCount++;
if(33 == pwmCount)
   Pout = 0;
else if(100 == pwmCount){
  Pout = 1;
  pwmCount = 0;
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分