导航:首页 > 操作系统 > delay单片机

delay单片机

发布时间:2024-07-19 01:49:05

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

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

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

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

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

(1)delay单片机扩展阅读

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

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

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

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

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

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

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

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

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

❷ 51单片机C语言中delay函数是怎么定义和使用的

定义一个延时xms毫秒的延时函数

void delay(unsigned int xms) // xms代表需要延时的毫秒数

{

unsigned int x,y;

for(x=xms;x》0;x--)

for(y=110;y》0;y--);

}

使用:

void Delay10us(uchar Ms)

{

uchar data i;

for(;Ms》0;Ms--)

for(i=26;i》0;i--);

}

i=[(延时值-1.75)*12/Ms-15]/4

(2)delay单片机扩展阅读

1、在C51中进行精确的延时子程序设计时,尽量不要或少在延时子程序中定义局部变量,所有的延时子程序中变量通过有参函数传递。

2、在延时子程序设计时,采用do?while,结构做循环体要比for结构做循环体好。

3、在延时子程序设计时,要进行循环体嵌套时,采用先内循环,再减减比先减减,再内循环要好。

❸ 52单片机C语言中Delay是什么意思怎么用

delay是延时的意思,delay(n)是延时n个时间单位,至于一个时间单位是多少,这需要你的delay函数决定的,

阅读全文

与delay单片机相关的资料

热点内容
怎么申请邮箱的服务器 浏览:13
c项目两个工程怎么编译 浏览:645
知乎app有什么作用 浏览:451
单片机带的比较器 浏览:391
程序员都是精英 浏览:19
10种编程语言 浏览:749
绵阳学驾驶手机上下什么app 浏览:129
python如何模拟网页操作 浏览:40
单片机多文件编译方法 浏览:839
不动产压缩时间 浏览:571
租房管理平台源码 浏览:65
复乐园pdf 浏览:457
程序员找到公交车 浏览:698
婴儿宝宝操有什么APP推荐 浏览:73
如何将数据库附加到服务器上 浏览:391
php退出循环 浏览:479
梦幻西游怎么修改服务器人数上限 浏览:332
自动开启命令 浏览:847
查询云服务器访问的ip 浏览:838
智能app的弱点是什么 浏览:412