世纪电源网社区logo
社区
Datasheet
标题
返回顶部
已解决

那种延时函数最好?

[复制链接]
查看: 2153 |回复: 4
1
夜幕
  • 积分:116
  • |
  • 主题:3
  • |
  • 帖子:3
积分:116
LV2
本网技师
  • 2019-3-29 15:30:46
10问答币
请问我用单片机c语言编程时用那种延时函数最好?

最佳答案

查看完整内容

单片机的C语言关于延时函数主要有两种一种是用for循环,通过单片机执行空指令达到延时的目的如:for(i=0;i<100;i++)   {   ;   } 这个简单的语句会执行100次空指令每一次指令的时间可以大概确定因此这个是最简单的延时函数 第二种是通过定时器的方式来实现定时器是通过对单片机的晶振进行计数然后在定时器中断服务函数里面实现定时时间的计算及设置51单片机的定时器0中断服务函数为 void time0() interrupt 1   {   ... ...
小白鼠
  • 积分:1081
  • |
  • 主题:33
  • |
  • 帖子:74
积分:1081
LV6
高级工程师
  • 2019-3-29 15:34:16
  • 倒数4
 
单片机的C语言关于延时函数主要有两种一种是用for循环,通过单片机执行空指令达到延时的目的如:for(i=0;i<100;i++)
  {
  ;
  }
这个简单的语句会执行100次空指令每一次指令的时间可以大概确定因此这个是最简单的延时函数
第二种是通过定时器的方式来实现定时器是通过对单片机的晶振进行计数然后在定时器中断服务函数里面实现定时时间的计算及设置51单片机的定时器0中断服务函数为
void time0() interrupt 1
  {
  ...
  }

夜城听雨
  • 积分:102
  • |
  • 主题:0
  • |
  • 帖子:1
积分:102
LV2
本网技师
  • 2019-3-30 10:25:19
  • 倒数3
 
赞同楼上的观点,基本上单片机延时采用for语言来延时只能实现大概的延时,不精确,要是精确的话可以采用定时器中断来延时,不过如果定时器的中断时间太短的话,会造成CPU一直相应中断,这会使得CPU的效率很低,长延时的话,可以采用这个
woweiwoxin
  • 积分:845
  • |
  • 主题:0
  • |
  • 帖子:115
积分:845
LV6
高级工程师
  • 2019-3-30 17:54:58
  • 倒数2
 
尽量不要用延时,要用延时最好用滴答时钟
wangey288
  • 积分:1087
  • |
  • 主题:6
  • |
  • 帖子:28
积分:1087
LV6
高级工程师
最新回复
  • 2019-10-10 13:43:21
  • 倒数1
 
for循环来定时也是可以,就是这样占用了大量的CPU资源,最好使用定时器,这样计时时间到了再操作,避免浪费CPU资源
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号