单片机延时函数delay怎么写

单片机延时函数delay怎么写,第1张

单片机延时函数delay的实现可以通过内部定时器或外部时钟来实现,一般可以通过for循环或while循环的方式来实现。
拓展:另外,也可以使用单片机中的软件定时器来实现delay函数,它可以准确地控制延时的时间,而且不会受外部时钟的影响。

延时可以用定时器来实现,也可以自己写延时函数。
这是51单片机定时器初始化示例程序。
TMOD = 0x10f; //GATE=0 01010001
//C/T=0--定时/计数器1工作于定时方式
//M1=1;M0=0--选择工作模式1,构成最大定时器
//T0:在此程序不使用
TL1 = 0x13; TH1 = 0x2C; //指定定时时间为50ms 65536-50/(110592/12)=11283=2C13h
EA = 1; //开总中断
TF1 = 0;
ET1 = 1; //开定时器中断
TR1 = 1; //开始计时
如果用延时函数,要精确计算时间。
这是精确定时1ms的程序,你可以参考一下。
void delay1ms(void)
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}


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

原文地址:https://54852.com/yw/10322997.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存