博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51软件延时函数编写
阅读量:5221 次
发布时间:2019-06-14

本文共 671 字,大约阅读时间需要 2 分钟。

51软件延时函数编写

****************************************************

void delay(uint z)

{

uint x,y;

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

for(y=114;y>0;y--);

}

z赋值多少,此函数循环时间就为多少ms;

进入for循环时时刻为0.00043294s

然后让他执行完for循环

执行完for循环后的时刻为0.00143338s

将数值相减后得到0.00100044s约等于1s

以上延时函数仅适用于晶振频率为11.0592MHZ情况下的1ms延时程序。

 

********************************************************************

自适应晶振频率ms延时函数:

#define MAIN_Fose    11059200UL

#define INT16U unsigned int

void delay_MS(INT16U ms)      

{

INT16U i;

do

{

i=MAIN_Fose /9600;

while(—i);

}

while(—ms);

}

此延时函数仅适用于12T单片机中,适用不同晶振频率时,即在最前面“#define MAIN_Fose    11059200UL”宏定义此系统的晶振频率即可。 

注:12T单片机指的是  12个时钟周期=1个机器周期的51单片机。

 

转载于:https://www.cnblogs.com/brianblog/p/6963485.html

你可能感兴趣的文章
【强连通分量】Bzoj1194 HNOI2006 潘多拉的盒子
查看>>
【模板】KMP
查看>>
Redis Keys 命令 - 查找所有符合给定模式( pattern)的 key
查看>>
Restful golang 暂时
查看>>
python学习之-- socketserver模块
查看>>
Python的特点
查看>>
Html语义化理解
查看>>
POJ2429 GCD & LCM Inverse
查看>>
JQuery------库
查看>>
Scala使用match匹配类型出现的unreachable code问题
查看>>
Intellij IDEA+Tomcat+JRebel热部署
查看>>
WICED™ <SMART> Software Development Kit
查看>>
SAE/ISO standards for Automotive
查看>>
JSP数据交互二
查看>>
safari浏览器placeholder垂直居中
查看>>
【OpenCV】SIFT原理与源码分析
查看>>
MVC test
查看>>
开发规范
查看>>
bzoj3992 [SDOI2015]序列统计
查看>>
理解screenX clientX pageX概念
查看>>