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

单片机程序中有什么好办法取代delay延时?

loulou 2018-06-12 浏览量:2951
在单片机的编程中 有什么好办法取代delay延时?不用中断,麻烦大神给写个例子供我学习一下,感谢!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 要看你的程序怎么处理,简单点的,可以自己实现类似delay的操作,此外还可以用定时器处理(这个用到中断了)。

    如果以上都不想用,可能你需要根据你的程序目的,规划结构和实现方式,比如用状态触发的方式完成。

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

其他答案 数量:22
  • 如果你想要精确的时间,最简便就是定时器中断了,不适用中断就是借助示波器写一个delay函数了!如果这两种都不想用,建议你把程序整体规划成状态机的形式。
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般都是使用定时器作为时间基准,外加一个状态机
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用定时器中断   计数器计数    
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以尝试外部电路调制PWM基准时间,用单片机扫描计数,定时时间就是计数值乘基准时间了,不过不知道这样做的意义何在
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 不用中断的话,是没有了,就算有也是delay延时函数的变换
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果是时间比较短的话可以用-nop-指令 空指令执行一次1us

    如果时间比较长的话就采用定时器中断

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

  • 定时器啊。为精确延时而生。。。
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 开启定时器,根据分频系数算转载值。这里不知道你是用什么单片机、不知道主频也没办法给一个具体的函数。像st里面甚至有一个专门的滴答定时器来做这种精准定时的工作。
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 用定时器或者systick进行定时,时间到了产生一个中断
    • 发布于2018-06-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般是用systick中断进行延时,只有中断计数器溢出才执行特定的操作,不然就用操作系统的延时来实现。

    • 发布于2018-06-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 不用中断的话,郭天祥视频里有一个函数,靠函数执行时间延时。最精确的就是定时计数器了
    • 发布于2018-06-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 延时有很多种,你说的取代延时什么意思呀?
    • 发布于2018-06-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 像51里经常用空指令_nop_实现延时
    • 发布于2018-06-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般采用Systick定时器,然后生成ms和us的延时函数
    • 发布于2018-06-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用定时器+轮询方法,初始化定时器,启用定时器后可以开始轮询判断定时器
    • 发布于2018-06-15
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机程序中有什么好办法取代delay延时?