• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

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

hangtao 2018-12-21 浏览量:1163
如何使用标准51定时器产生pwm波
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 标准的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;

    • 发布于 2018-12-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:15
  • https://www.cnblogs.com/dafang/p/7221661.html这篇文章太适合你了。使用STC单片机定时器产生PWM波。
    • 发布于2018-12-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 定时器应该是没有PWM,但是可以通过定时时间=去控制IO口
    • 发布于2018-12-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 89C51单片机实现PWM输出比较困难,可以使用STC12系列或者外接eiUC3842模块。

    • 发布于2018-12-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 需要看pwm位数,通过定时器里面不同时间点切换io高低电平,
    • 发布于2018-12-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 51 定时器产生中断,中断处理里面改变 IO 口状态。

    51 定时器好像不能直接产生 pwm 信号

    • 发布于2018-12-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 还是别折腾了 使用定时器产生pwm会干扰其他任务 特别是有时序要求的器件 比如 ds18b20
    • 发布于2018-12-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 51本身是没有PWM的,如果用的是STC系列的51,那可以用他们提供的SDK
    • 发布于2018-12-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 要求严格吗,不严格还可以,容易产生误差,需要修正
    • 发布于2018-12-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 打开网址你就可以知道你想要的

    https://zhidao.baidu.com/question/1494132182813296939.html?word=%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E6%A0%87%E5%87%8651%E5%AE%9A%E6%97%B6%E5%99%A8%E4%BA%A7%E7%94%9Fpwm%E6%B3%A2&ms=1&rid=11546755737036020392&rt-err=919&rt-msg=%22.rt-view%22%20not%20found%20in%20retrieved%20HTML(from%20https%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F1494132182813296939.html%3Fword%3D%25E5%25A6%2582%25E4%25BD%2595%25E4%25BD%25BF%25E7%2594%25A8%25E6%25A0%2587%25E5%2587%258651%25E5%25AE%259A%25E6%2597%25B6%25E5%2599%25A8%25E4%25BA%25A7%25E7%2594%259Fpwm%25E6%25B3%25A2%26ms%3D1%26rid%3D11546755737036020392%26rt%3Dtrue%20)abort%20rendering...​

    • 发布于2018-12-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 根据定时中断计数取反就可以了
    • 发布于2018-12-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接用你的51单片机的硬件定时器来控制中断来产生
    • 发布于2019-01-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 用定时器是最的简单的,用定时器的中断控制输出翻转
    • 发布于2019-01-28
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

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