51单片机---延时函数(有参与无参)

51单片机 (四)延时函数 接下来我们要讲单片机的延时函数,那什么是延时函数呢,其实在我们单片机代码中,每次执行一条代码是很快的,也就几微秒左右,那有时候我们想让某一条代码执行后等待一阵子,再去执行下一条,这时候就需要用到延时函数了。花括号{}:花括号{}内部的内容为循环执行的内容,循环条件成立的情况下会一次有一次的执行花括号{}内部的代码,直到循环条件不成立(此循环为i 阅读详情

一、无参延时函数

1.1无参延时函数代码

该代码有烧录工具stc-isp-v6.91R所写,下面代码是单片机在12MHZ条件下延时 
100ms的无参延时函数。
void Delay100ms()		//@12.000MHz
{
	unsigned char data i, j;
	i = 195;
	j = 138;
	do
	{
		while (--j);
	} while (--i);
}

1.2烧录工具—stc-isp-v6.91R

在这里插入图片描述

下载链接:烧录软件stc-isp-v6.91R

在这里插入图片描述

二、有参延时函数

2.1相关代码

/******************************************************************************************
函数名:delay
功能:延时函数
参数:unsigned char xms
返回值:无
******************************************************************************************/
void delay(unsigned char xms) //可以自己设置延时时间
{
	unsigned char i,j;
	for(i=xms;i>0;i--)
	  for(j=124;j>0;j--);
}

这里是利用多个for循环进行延时,,该延时数误差<1%,读者可自行引用。

三、无参、有参延时的优缺点

(1)无参延时函数

可以使用烧录软件获得无参延时函数,精度相对于有参延时函数更高,但要换延时时间时显得太麻烦。

(2)有参延时函数

修改延时时间方便快捷,主要修改参数即可,但是误差较大。

在这里插入图片描述

                  各位大佬们,今天分享到这里,☺ ☺ ☺
                 下次更精彩,我们敬请期待!!!☺ ☺ ☺
                 对了,请叫我---林先生☺ ☺ ☺
                 喜欢我写的,多多点赞,好运降临☺ ☺ 
4-0 51单片机的延时函数 接下来我们要讲单片机的延时函数,那什么是延时函数呢,其实在我们单片机代码中,每次执行一条代码是很快的,也就几微秒左右,那有时候我们想让某一条代码执行后等待一阵子,再去执行下一条,这时候就需要用到延时函数了。最简单的延时函数也就是让cpu处于跑空的状态,也就是利用一段while函数来跑空,什么都不干,等while跑完了,再来执行下一条,我们本章先讲这种最简单吗,也是最浪费cpu资源的一种办法。已知用while循环执行一次自减运算约为2微秒,因此我们只需要将其执行50次就可以达成延时100微秒的目的。... 阅读详情

相关推荐

【51单片机】定时器产生指定延迟的delay函数

可以自己输入的延迟时间,灵活性高 下面代码定时1ms,用户可以自行更改定时器初值 void delay(unsigned int n)//STC89C52,晶振:11.0592MHZ { int i; for(i=0;i<n;i++) { TMOD &= 0xF0; TMOD |= 0x01; //定时器0,工作模式1 TH0 = 0xFC; //至初值 TL0 = 0x66; //定时1ms TF0 = 0; //清除溢出标志 TR0 =.

文武好呆吖的博客 1万+

51单片机100倒计时

100秒倒计时,附代码

m837265706的博客 5481

只需两步便可生成 51 单片机最精准的延时函数

我们在学习 51 单片机的过程中会用到延时,比如一个简单的流水灯就需要延时来控制依次点亮的时间,或者一些模块在单片机发出读数据指令后,需要延时几十微秒才可以读出数据等等,这些都离不开延时,所以我们需要一个精准的延时函数来满足我们的需求。本篇介绍一个最简单并且延时最精准的 51 单片机延时函数的生成方法。

2401_86940371的博客 2273

【代码收藏夹 · C51】51单片机延时函数

51单片机延时函数

不定时分享与嵌入式有关的知识 1万+

51单片机延时函数、如何计算

延时计算方法、及函数使用

Strange_Head的博客 1万+

保姆级教程:用Java和HslCommunication库搞定三菱PLC数据读写(附完整代码)

本文提供了一份详细的Java与三菱PLC通信教程,通过HslCommunication库实现高效数据读写。内容涵盖环境配置、通信模式选择、数据类型操作、异常处理及性能优化,并附有完整代码示例,帮助开发者快速掌握工业自动化中的PLC数据交互技术。

weixin_28731223的博客 227

51单片机的延时计算

51单片机的延时计算前言正文首先是时钟周期的算法:时钟周期(T)=1(秒)/晶振频率。(比如:上面代码的时钟周期为1/12M(秒))。其次是机器周期:机器周期是由时钟周期组成的,机器周期是单片机完成一个基本操作所需要的时间。1 传统的8051单片机:2 STC单片机:最后是指令周期:这个是单片机执行一条指令所需要的时间,它是由机器周期组成的。 前言 我使用51,STC这一类的单片机做控制好几年,一...

weixin_43858743的博客 4万+

Spring Boot Swagger未授权访问漏洞:原理、风险与修复方案详解

在微服务架构中,API文档管理是开发与运维的重要环节。Swagger作为RESTful API文档生成与调试的标准化工具,通过OpenAPI规范自动生成交互式接口文档,极大提升了开发效率。然而,其默认配置往往缺乏访问控制,导致文档端点直接暴露,形成未授权访问漏洞。从技术原理看,该漏洞源于Spring Boot等框架集成Swagger时,相关端点未纳入安全框架的拦截范围,攻击者可通过扫描常见路径获取完整的接口定义与数据结构。这不仅会造成敏感信息泄露,更可能成为越权操作、数据篡改等深度攻击的入口点。在工程实践中

weixin_42524171的博客 494

51单片机C语言延时函数

关键字:51单片机 C语言 延时函数      C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。 以某晶振为12MHz的单片机为例,晶振为12MHz即一个机器周期为1us。 一. 500ms延时子程序 程序: void delay500ms(void)

shawsun的专栏 4万+

MUSIC算法翻车?Toeplitz矩阵重构如何解决DOA估计中的相干信源难题

本文深入探讨了MUSIC算法在相干信源DOA估计中失效的根本原因,并详细介绍了基于Toeplitz矩阵重构的协方差矩阵修复技术。该方法通过凸优化恢复协方差矩阵的理想结构,有效解决了信号子空间秩亏损问题,从而显著提升了MUSIC算法在相干和多径场景下的分辨精度与稳健性。

a2b3c4d5e的博客 249

IEC103协议实战指南:报文解析与传输优化策略

本文深入解析IEC103协议在电力自动化系统中的核心应用,重点拆解其固定帧与可变帧两种报文格式,并详细阐述了主从问答与非平衡传输机制。文章结合实战经验,针对报文解析中的常见问题(如字节序、超时重发)提供了解决方案,并探讨了传输层优化策略,旨在帮助工程师实现更可靠、高效的通信链路。

r2s3t4的博客 541

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

C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。

软件领域 10万+

流量PID控制(开度前馈量计算+辅助PID)

PLC通过伯努利方程近似计算水箱流量(FC)-优快云博客文章浏览阅读1.6k次。本文介绍了如何使用PLC通过伯努利方程近似计算水箱中的液体流量,主要涉及流量计算、模型验证、梯形图编程及STL代码实现。适合自动化领域的学习者参考。单容双容水箱建模(simulink仿真+PLC代码)_水箱系统的建模方法-优快云博客文章浏览阅读2k次。该博客介绍了如何使用伯努利方程建立单容和双容水箱模型,详细阐述了从理论建模到PLC编程的实现过程。

RXXW_Dor的博客 845

51单片机延时程序

延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指令周期的区别和联系、相关指令的用法等用图解法的形式详尽的回答读者。

FreshMan 3万+

简要介绍 | 雷达穿墙成像及其应用场景

本文简要介绍了雷达穿墙成像技术的原理、研究现状、挑战与未来展望,希望能为相关领域的研究与应用提供参考。具有广泛的应用前景。本文将详细介绍雷达穿墙成像的原理,以及其在不同应用场景中的实践。逆时偏移算法(Reverse-Time Migration, RTM)雷达穿墙成像技术是一种先进的遥感技术,具有。的能力,可用于探测室内目标。安全与救援、建筑结构检测等领域。雷达穿墙成像技术的核心原理是。是Green函数,表示从接收点。雷达穿墙成像及其应用场景。雷达穿墙成像及其应用场景。目标识别与定位准确性。

NLOS的博客 2232

DPABISurf使用教材

严老师的官方教程:http://rfmri.org/Course DPABISurf版本:dpabi50docker.tar.gz MATLAB版本:2018b 一、数据准备 (1)如果是数据的DICOM格式,整理成以下格式(注意文件夹的命名方式): 如果觉得不是很清楚,可以在官网下载Demo数据(http://rfmri.org/DemoData),参照里面的文件格式进行整理即可。 (2)如果数据是nii格式,整理成以下格式: 这里没有使用官网的demo数据进行学习,而是..

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 8515

51单片机的几种精确延时

实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行。 今天主要介绍软件延时,关于硬件延时,之后定时器部分再做详细说明。首先介绍单片机的几个周期在电子技术中,脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。脉冲信号之间的时间间隔称为周期;而将在单位时间(如1秒)内所产生的脉冲个数称

feike24的博客 10万+

输入过欠压保护电路分析

输入过欠压保护电路仿真分析

HW-BASE的博客 6903

51单片机延时函数

指令周期 :几个机器周期能完成一项基本操作,但一条指令常常是需要多项基本操作结合才能完成,完成一条指令所需的时间就是指令周期,当然不同的指令,其指令周期就不一样。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。 机器周期:8051系列单片机的机器周期=12*时钟周期,之所以这样分是因为单个时钟周期根本干不了一件完整的事情(如取指令、写寄存器、读寄存器等),而12个时钟...

****mey********的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

51单片机精确延时

关于51单片机精确延时的问题 时钟信号的作用及产生原理 在使用51单片机时,以前只会用while()等循环语句进行粗略的延时,但在很多时候这种方法不太nice。最近刚学习了51单片机的精确延时,来做一个笔记。好了,闲言少叙。 要想实现精确延时,首先我们要有一个准确的振荡信号,即时钟源。我们知道一个单片机要想正常运行程序就需要①电源电路,②复位电路,③时钟电路。对于电源电路,供电嘛,没什么可说的。复...

qq_18360881的博客 8041

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 目录一. 延时函数的生成 1.通过延时计算器得到延时函数 2.可赋值改变的延时函数 二. LED模块编写原理 1.LED模块图 2.编写原理(1)编写原理(2)快捷编程 (3)十六进制编程 三. 具体编写程序 1.通过生成没有改写的延时函数 2.可赋值延时函数编写 四. LED流水灯视频 步骤:1.打开STC-ISP找到软件延时计算器2.先了解所用51单

2302_80260350的博客 6359

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【51单片机】延时函数计算问题以及如何准确延时

几种周期介绍 周期名称 描述 时间 振荡(时钟) 单片机提供时钟脉冲信号的振荡源的周期 T=1/f 状态 振荡周期经二分频后得到的 2T 机器 在一个机器周期内,CPU可以完成一个独立的操作 12T 指令 指CPU完成一条操作所需的全部时间 12-12nT 指令: 1、MUL、DIV:仅有的4

我在等那么一天的博客 5万+

c51单片机汇编语言1秒延时,51单片机汇编延时程序算法详解

将以12MHZ晶振为例,详细讲解MCS-51单片机中汇编程序延时的精确算法。指令周期、机器周期与时钟周期指令周期:CPU执行一条指令所需要的时间称为指令周期,它是以机器周期为单位的,指令不同,所需的机器周期也不同。时钟周期:也称为振荡周期,一个时钟周期 =晶振的倒数。MCS-51单片机的一个机器周期=6个状态周期=12个时钟周期。MCS-51单片机的指令有单字节、双字节和三字节的,它们的指令周期不...

weixin_36000501的博客 1万+

51单片机:生成精准的软件延时函数——以STC8演示

毕业设计涉及IOT的内容,目前什么也不会,只能从复习单片机开始。在用STC官方工具STC-ISP(V6.87B)生成软件延时函数时,发现它有两个错误: 1)一个是最多只能生成循环变量为3的延时函数,延时长达多秒时显然三个循环变量已经不足,给出的是错误的延时函数。 2)检查发现当初始化循环变量为0时,Keil C51 编译器会编译为: CLR A MOV Rx,A 而非直...

Belous的博客 1万+

Delay1000ms()——51系列单片机的延时函数

延时函数是一个常用的功能,它使得程序能够在特定时间内暂停执行,从而实现某些控制需求。51系列单片机作为嵌入式系统开发中的经典机型,其延时函数的掌握对于开发者来说至关重要。

MD_XINGYU的博客 2947

51单片机精确延时设计

在我们使用单片机的时候,很多情况下需要用到精确的延时。比如在跟DS18B20进行通讯的时候需要遵循严格的时序,这就需要我们严格把控程序执行的时间。 一般我们都是通过执行空语句的方式来使程序延时。这种方法是用循环嵌套的方式使程序执行空操作,达到延时的目的;除此之外还有使用中断的方式等。 我们可以通过debug来验证我们的函数延时是否准确。本次实验采用12M的晶振进行仿真模拟,应当对软件进行一些设...

zhoodn的博客 7223
下一篇: 单片机流水灯(常规版)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值