c语言程序中延时函数作用,51单片机C语言延时函数怎么定义和使用 - 全文-程序员宅基地

技术标签: c语言程序中延时函数作用  

51单片机C语言延时函数怎么定义

C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。 以某晶振为12MHz的单片机为例,晶振为12MHz即一个机器周期为1us。

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

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

{

unsigned int x,y;

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

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

}

51单片机C语言延时函数的使用

下面给出一个经典的延时函数。

一。 500ms延时子程序

程序:

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)

{

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39834205/article/details/116994191

智能推荐

Ubuntu:nginx:无法显示index.html页面,只显示welcome to nginx页面_ubuntu index.html-程序员宅基地

该文章是关于Ubuntu中使用nginx时无法显示index.html页面的问题。文章提供了一个配置文件的示例,说明如何在nginx.conf文件中配置服务器监听的端口和服务。然后,文章介绍了如何重启nginx服务,并在浏览器中测试是否能够成功显示index.html页面。

硬石-专题04 步进电机控制(第4节)_28BYJ-48步进电机介绍_28byj步进电机发烫-程序员宅基地

文章浏览阅读605次。一,步进电机的几个概念1,步进电机普遍存在发热的情况二,28BYJ-48步进电机介绍1,28BYJ-48步进电机自带减速器,四相五线(减速器不是用来减速的,注意和刹车的区别)_28byj步进电机发烫

ARM架构概览-程序员宅基地

文章浏览阅读2.3k次。ARM架构概览_arm架构

8.S5PV210之RTC实时时钟代码_s5pv210 rtc 驱动-程序员宅基地

文章浏览阅读649次。RTC.h:RTC.c:main.c_s5pv210 rtc 驱动

零基础学AI,轻松搞定人工智能6大方向【附资料】_搞定ai-程序员宅基地

文章浏览阅读4.5k次。在当前这个市场最不缺的是资料,不缺的原因是因为市场大量泛滥着各种姿势的学习资料;最缺的也是资料,缺的原因是因为真正有体系,有价值的资料少之又少。所以,我们送你一份价值2980的学习路线图+AI课程资料+线上直播课学习,这些资料足够你入门AI领域!添加CSDN小姐姐仅限500人!领取价值2980人工智能学习路线图+课程资料+视频资料AI初级应用工程师的完整学习路径图~添加CSDN小姐姐仅限500人!领取价值2980人工智能学习路线图+课程资料+视频资料._搞定ai

以算法岗为例:我最想对入职前的自己说些什么?-程序员宅基地

文章浏览阅读251次。来自:机器学习与推荐系统进入算法岗的正式工作虽然只有半年多,但从 19 年 1 月就在算法岗开始实习,算下来到现在都有两年多的工作经验了,不过正式参加工作以后还是有了很多新的感悟,这篇文章..._算法岗入职很紧张

随便推点

Jenkins:常用的构建触发器_jenkins支持哪几种触发方式-程序员宅基地

文章浏览阅读921次。构建触发器指的是在什么条件下或者是什么时候去触发项目的构建,在前面我们都是手动点击Build Now去构架项目。而事实上Jenkins内置了4种构建触发器,可以让我们自动或者说半自动的去触发项目的构建,4种构建触发器分别是:触发远程构建其它工程构建后触发定时构建轮询SCM1. 触发远程构建触发远程构建是指通过一个远程地址来触发项目的构建,通常用于在另一个系统通过链接来远程发起项目的构建。触发远程构建需要一个身份验证令牌,比如我们这里写成remote-build。那么我们就可以通过htt_jenkins支持哪几种触发方式

如何清除计算机连接网络的记录,彻底清除上网记录-程序员宅基地

文章浏览阅读9k次。很多朋友电脑使用过一段时间后会发现浏览器窗口中有很多浏览过得网址记录。比如只要我们在浏览器中输入www.pc841.com之类的网站,刚输到3个WWW就会发现浏览器输入框中有一大堆的网址记录,如下图所示:相关阅读:电脑收藏夹位置在哪? 如何将网址加入收藏夹!如此多上网记录该如何清除上网记录呢如上图,浏览器网址输入框下面就显示了一大堆我原来输入的一些查找的网址词条.我们知道浏览器中含有过多的网上记录..._清除外接网卡记录

事务故障、介质故障、系统故障恢复方法及区别_系统故障和介质故障的区别-程序员宅基地

文章浏览阅读1.1w次,点赞21次,收藏61次。1. 数据库的事务故障指的是什么,发生事务故障后,DBMS如何恢复数据库?事务故障指某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了。恢复方法:撤销事务。即清除该事务对数据库的所有修改,使得这个事务像根本没有启动过一样。(需要从后到前撤销,最新完成的操作的更新影响要先消失。因此,需要从后到前扫描日志文件。)2. ..._系统故障和介质故障的区别

ITK:从灰度图像计算直方图_itk 图片直方图-程序员宅基地

文章浏览阅读523次。ITK:从灰度图像计算直方图内容提要输入输出C++实现代码内容提要输入输出Frequency = [ 0,8593,17734,11515,5974,2225,2400,3422,3531,3283,2125,2628,1954,152,0,0 ]C++实现代码#include "itkImage.h"#include "itkImageFileReader.h"#include "itkImageToHistogramFilter.h"#include _itk 图片直方图

2006-2018全国省级以上开发区空间特征变化_全国开发区 四至 shp-程序员宅基地

文章浏览阅读194次。之前写过空间统计工具中的标准椭圆差,GIS的空间统计工具—标准椭圆差和线性方向平均值,这次用这个工具水一篇文章,结果不代表任何实际意义,感谢大家不取关之恩。开发区数据:全球变化科学研究出版系统,2006年、2018年全国省级以上开发区shp点数据,地理坐标为WGS84。行政区划数据:网络【省级以上开发区标准椭圆差】然后以下都是用一个标准椭圆差做的,即包含了68%的数据。打开属性表分别统计一下2006年和2018年的结果。XstdDist和YStdDist表示X轴的长度和Y轴的长度_全国开发区 四至 shp

【转载】笔记:计算机_体系结构_操作系统_软件_操作系统内核_GNU_Linux_C_Python_Latex_Java_TCP/IP_MacOS_Windows这些词语的历史,关系-程序员宅基地

文章浏览阅读381次。一、计算机的发明世上本无路,走的人多了,就有了路。世上本无计算机,琢磨的人多了……没有计算机,一切无从谈起。三个人对计算机的发明功不可没,居功至伟。阿兰·图灵(Alan Mathison Turing)、阿塔那索夫(John Vincent Atanasoff)、和冯·诺依曼(John von Neumann)。图灵从理论上证明了计算机的可行性;阿塔那索夫实践了图灵的理论;冯·诺依曼奠...

推荐文章

热门文章

相关标签