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

AT89c52测脉冲信号占空比问题?

fd13a0a5630f0ae9 2019-02-27 浏览量:753
麻烦各位高人给一些质点。
现在有一占空比变化的脉冲信号,周期是1ms,能否用AT89c52的定时器求出改占空比的变化曲线?
  先说一下我个人的想法,大家帮忙看看能不能成功?
  把信号直接加到一个I/O接口上,然后启用定时器/计数器1的定时功能,初始值设为65534(即中断时间为1us),然后在在中断服务程序中,设置一个变量进行自加运算,同时不断的查询接口上的信号,如果是低电平的话,返回主程序,同时返回那个自加的变量值,从而算出高电平的持续时间,进而算出占空比,反复运行,最终得出占空比的一个变化曲线!
  希望高人指点一下可行性,如果不行的话,最好能够提供一个方案,万分感谢啊!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 51单片机定时器T1有个GATE寄存器是专门用来控制定时器的,利用这个寄存器很容易就可以测出占空比,不像你想得那么麻烦,你可以了解一下
    • 发布于 2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:12
  • 这个是可行的

    也可以用外部中断 中断程序里进行累加

    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的思路没问题,可以用边沿触发,外部中断!
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 可行,外部中断,边沿触发,,可以再加一个变量用于波形计数和占空比结果保存数组
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个想法和思路都是可行的,用外部中断就可以
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个肯定是可以的可行方案

    具体测量有很多种方式 比如外部中断 定时器中断

    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 定时器定时和外部中断,外部中断读取之后去定时器里面取时间值并清空
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 要不 测量下波形,看看外部中断和定时器中断是哪里出了问题,低电平也可测试
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 用定时器采集脉冲信号是最好的做法,只需要配置定时器的采集频率快于脉冲信号频率两倍即可。

    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以用定时器2捕获模式,或者用外部中断检测,
    • 发布于2019-03-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 是可以的,只要是配置的你的定时器的频率快于采样的两倍速就OK
    • 发布于2019-03-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

AT89c52测脉冲信号占空比问题?