单片机如何编写延时2min的延时子程序帮帮忙吧!我是初学者,急需此答案。谢谢了

单片机如何编写延时2min的延时子程序帮帮忙吧!我是初学者,急需此答案。谢谢了,第1张

2min为什么这几天这么多都在问这么久的延时,不知道你为什么要这么长延时,如果只是单纯的2min延时别的什么都不做的话那一般的延时函数是这样的(单片机晶振12M情况下,12T周期):

void Delay_100MS(unsigned int x)

{

unsigned int a,b;

for(a = x; a > 0; a--)

for(b = 11000; b > 0;b--);

}

你只需要用Delay_MS(1200);就可以,但是这么久的延时是很不科学的,这个思路也很不可取。要2min的时间可以用定时器,这样既准确又不会影响主程序的运行。祝成功~

DELAY: MOV R6,Y (注:Y=#A0H以及下面的X=#3DH可根据已知求解。)

DELAY1: MOV R7,X

DJNZ R7,$

DJNZ R6,DELAY1

RET

延时时间t=(2X+3)YTM (机器周期TM=12/振荡频率)

定义一个延时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=[(延时值-175)12/Ms-15]/4

扩展资料

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

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

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

以上就是关于单片机如何编写延时2min的延时子程序帮帮忙吧!我是初学者,急需此答案。谢谢了全部的内容,包括:单片机如何编写延时2min的延时子程序帮帮忙吧!我是初学者,急需此答案。谢谢了、单片机主频为12MHz,用循环指令编写延时为20ms的延时子程序、51单片机C语言中delay函数是怎么定义和使用的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10627262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存