历史上的今天
今天是:2025年05月07日(星期三)
2021年05月07日 | 关于51单片机几个精确延时程序
2021-05-07 来源:eefocus
简介:51单片机几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响.
一. 500ms延时子程序(晶振12MHz,一个机器周期1us.)
程序:
void delay500ms(void)
{
unsigned char i,j,k;
for(i=15;i>0;i--)
for(j=202;j>0;j--)
for(k=81;k>0;k--);
}
计算分析:
程序共有三层循环
一层循环n:R5*2 = 81*2 = 162us DJNZ 2us
二层循环m:R6*(n+3) = 202*165 = 33330us DJNZ 2us + R5赋值 1us = 3us
三层循环: R7*(m+3) = 15*33333 = 499995us DJNZ 2us + R6赋值 1us = 3us
循环外: 5us 子程序调用 2us + 子程序返回 2us + R7赋值 1us = 5us
延时总时间 = 三层循环 + 循环外 = 499995+5 = 500000us =500ms
计算公式:延时时间=[(2*R5+3)*R6+3]*R7+5
二. 200ms延时子程序
程序:
void delay200ms(void)
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=132;j>0;j--)
for(k=150;k>0;k--);
}
三. 10ms延时子程序
程序:
void delay10ms(void)
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
四. 1s延时子程序
程序:
void delay1s(void)
{
unsigned char h,i,j,k;
for(h=5;h>0;h--)
for(i=4;i>0;i--)
for(j=116;j>0;j--)
for(k=214;k>0;k--);
}
void delay1s(void)//12M晶振,延时999999.00us
{
unsigned char i,j,k;
for(i=46;i>0;i--)
for(j=152;j>0;j--)
for(k=70;k>0;k--);
}
史海拾趣
|
如果要逐个点亮80个LED灯,且点亮后不熄灭,直到亮完80个灯后才一起熄灭,如此循环.那么就要有80路的输出,光用单片机的IO口是不可能的了,请教大家,有什么方法,谢谢~… 查看全部问答> |
|
求助大侠,那些只有DE信号的TFT屏怎么控制?(LCD 的 DE模式) 比如说:AT080TN42,最后的有用信号只有DE、CLK和颜色信号,这种TCON板到底是怎么分辨什么时候是帧的开始呢?(没有帧同步信号) 请各位大侠不吝赐教! … 查看全部问答> |
|
还在为开发不同平台的移动设备应用程序程序烦恼吗,用MUI吧!!! MUI是一个跨平台的移动设备应用程序开发库,可以用MUI提供的丰富的库函数来编写跨平台的 应用程序,它,可以让您可以把开发时间全部投入到你要开发的软件的核心功能上,而不需要 ...… 查看全部问答> |
|
大家好?WIN2000下,以太网网络,双网卡热备份,也就是一个网卡坏了,另一个冗余网卡热切换,两个网卡同一个IP地址,实现方案是什么?使用哪些工具,技术?代码是什么?我的QQ:270996889 E-MAIL:SDTZ_ZZ@126.COM,热切期待您的回复.谢谢!… 查看全部问答> |
|
HX6321 充電控制功能: - 自動依鎳氫電池電壓狀態,作相對充電控制流程: 激活/預充/快充/涓流. - 依照規格需求,可通過外接電阻R6調整充電電流. - 合乎工業界高標准的精准-delta V、0deltaV判別電池充飽. - PWM控制充電, 達到恒流充 ...… 查看全部问答> |
|
最近做信号发生器,其中运放需要用到正负12V供电,加起来-12V应该有200mA的电流,最好有最大电流可以输出500mA的。 想用电源适配器输入一路12V,然后产生整个板子所需要的电压,包括正负12V,正负5V,3.3V。现在就是负电压产生比较头疼。 … 查看全部问答> |
|
当我安装好了AtmelStudio 6.2之后,对怎样使用它是一无所知,这时想到的就是找“度娘”,这是我们学软件的一贯做法,当然我们是鼓励每一个人当有问题的是尽量上网找答案,接下来本来是打算再网上查找是否有Atmel Studio 6.2教程视频,但是找了好就 ...… 查看全部问答> |




