请问单片机中的delay()的单位时间是什么?

请问单片机中的delay()的单位时间是什么?按理论应该是us啊,为什么教学视频说是ms?在8段数码管中显示的间隔时间单位确实s?... 请问单片机中的delay()的单位时间是什么?按理论应该是us啊,为什么教学视频说是ms?在8段数码管中显示的间隔时间单位确实s? 展开
 我来答
娱乐小八卦啊a
高粉答主

2020-03-28 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117848

向TA提问 私信TA
展开全部

单片机中的delay()的单位时间不是系统提供的,而是用户自己编制的。

如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的。

如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。

最长的延时时间可达216=65 536 μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。

扩展资料

单片机C语言程序中延时函数delay的原理是:仅仅执行一些,没有实质性影响的所谓“无意义指令”,比如做比大小啊,做某个int的自加运算啊之类的。

单片机的有些程序需要调用延时程序,合理的安排循环次数以及空操作的个数方法:用汇编的话就根据你的当前晶振频率去推算你的指令周期,然后结合需要延迟的时间。

编写延迟程序,用C的话还是要看最后生成的汇编码是什么样的了。最简单的方法就是写好程序以后再编译器里软仿真看时间。

单片机C语言延时需注意的问题:

标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。这在汇编语言中很容易实现,写几个nop就行了。

在keil C51中,直接调用库函数:

#include // 声明了void _nop_(void);

_nop_(); // 产生一条NOP指令

作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。

zhxiufan
推荐于2017-08-01 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38384
国家科技进步奖

向TA提问 私信TA
展开全部
这个delay()不是KEIL提供的,而是用户自己编制的,一般都是编成delay(1)延时1ms,你说的us是在晶振12M时一个指令周期(机器周期)的时间。
更多追问追答
追问
用delay编译延时1ms的程序是不是这样写:
void delay_ms(int i)
{
int j;
for(i=0;i0;j--);
}
请问是不是这样的?总不可能随便定义delay()是多少秒的吧?
追答
不是,一般如下:
void delay_ms(unsigned int x)
{
unsigned int i,j;
for(i=0;i<x;i++)
for(j=0;j<125;j++);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
失物中1685
2012-08-23
知道答主
回答量:16
采纳率:0%
帮助的人:9.9万
展开全部
单位时间取决于用户对delay()函数的设计。通常在写程序的时候便于阅读,我们会写delay_ms()表示单位时间是ms的延时,delay_10ms()表示单位时间是10ms的延时...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suiruop
2012-08-24 · TA获得超过341个赞
知道小有建树答主
回答量:210
采纳率:100%
帮助的人:114万
展开全部
你可以认为最小的单位是us,根据你的延时函数的写法可组合成ms,s
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huzengpan
2017-07-08 · TA获得超过1499个赞
知道小有建树答主
回答量:1199
采纳率:84%
帮助的人:431万
展开全部
这个具体要看使用的晶振的频率以及delay内部的代码,可以大致算下来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式