产品选型

51单片机 延时1s 51单片机利用for语句嵌套实现简单的延时1s功能解说和视频教程

小编 2025-08-06 产品选型 23 0

51单片机利用for语句嵌套实现简单的延时1s功能解说和视频教程

51单片机利用for语句嵌套实现简单的延时1s功能

名词解释:

(1)时钟周期。定义为时钟频率的倒数,本例使用12MHz的时钟频率,它的时钟周期大约就是1/12μs。

(2)机器周期。单片机的基本操作周期,STC89C51系列的单片机来说,一个机器周期由12个时钟周期组成,也就是1μs。

(3)指令周期。指的是单片机执行一条指令需要的时间,一个指令周期需要1~4个机器周期。一个for循环需要8个指令周期。

假设单片机采用了12MHz的时钟频率,利用for语句嵌套实现简单的延时1s功能。

unsigned int i;

Unsigned char j; //定义两个循环变量i、j

for (i = 1000; i > 0; i--) //外层循环1000次

for (j = 124; j > 0; j--) ; //内层循环124次

内层循环代码含义:

在12MHz的时钟频率下,for循环124次所消耗的时间ntime是:

ntime= 124次 × 8个指令周期 × 1μs = 992μs

也就是内循环延时大概为1ms。

外层循环代码含义:

外层循环又将内层循环重复1000次:

for (i = 1000; i > 0; i--) //外层循环1000次

那么,全部执行完成花费的总时间T大约是:

T = 1000 × ( ntime + 8 × 1 ) = 1000 ms=1s,基本上达到延时1s的功能。这个延时程序中外层循环的变量是多少,整个for嵌套语句就延时大约多少毫秒,在以后的应用当中,会经常用到这个程序进行不需要精确时间的延时。

比如,要实现2s的延时,就把i=1000修改为i=2000就可以了。

视频教程如下:

视频教程

单片机新手入门系列视频集锦

单片机入门视频和文字等教程集锦,点击以下链接进入视频:

一、单片机视频教程:

1单片机入门-C51流程控制if-else-for-while综合电路应用实例 - 西瓜视频

2单片机入门-数组电路应用实例 - 西瓜视频

3单片机入门-移位运算符电路应用实例 - 西瓜视频

4单片机入门-if-else选择语句电路应用实例 - 西瓜视频

5单片机入门-C51语言for循环控制语句电路应用实例 - 西瓜视频

6单片机入门-利用for语句嵌套实现简单的延时1s功能 - 西瓜视频

7单片机入门-51系列单片机开发板使用简介 - 西瓜视频

8单片机入门-C51语言实现8个按键检测和数码管的控制 - 西瓜视频

9单片机入门-C51语言LCD12864液晶显示器的基本使用视频教程 - 西瓜视频

10单片机入门-C51语言采用定时器查询方法获取1秒精准定时 - 西瓜视频

11单片机入门-C51语言采用定时器查询方法设计LCD电子钟视频教程 - 西瓜视频

12单片机入门-C51语言采用定时器中断方法获取1秒精准定时 - 西瓜视频

13单片机入门-C51语言采用定时器中断方法设计LCD电子钟 - 西瓜视频

14单片机入门-C51语言采用外部中断调整电子钟时分秒 - 西瓜视频

15单片机入门-C51语言实现电子钟界面功能优化 - 西瓜视频

16单片机入门-C51语言用按键中断和查询两种方法调整电子钟参数 - 西瓜视频

17单片机入门-串行通信理论基础 - 西瓜视频

18单片机入门-C51语言实现串行通信用查询法发送数据控制数码管 - 西瓜视频

19单片机入门-C51语言实现单工双机通信用串行口中断方法控制数码管 - 西瓜视频

20单片机入门-C51语言实现双工方式的双机通信 - 西瓜视频

21单片机入门-C51语言实现双机串口通信发送机接按键接收机数码显示 - 西瓜视频

22单片机入门-数字电压表和模数转换知识基础 - 西瓜视频

23单片机入门-C51实现数字电压表数模转换详细设计分步骤讲解 - 西瓜视频

24单片机入门-C51语言实现数字电压表ADC0808通道选择 - 西瓜视频

25单片机入门-C51语言实现数字电压表用LCD12864显示结果 - 西瓜视频

26单片机入门-C51实现用TLC549模数转换用LCD设计数字电压表 - 西瓜视频

27单片机入门-C51实现用TLC549模数转换用数码管设计电压表 - 西瓜视频

28单片机入门-数模转换和DAC0832芯片简单介绍第一节 - 西瓜视频

29单片机入门-C51语言用DAC0832实现正弦波的波形发生器第二节 - 西瓜视频

30单片机入门-C51语言用DAC0832实现三角波和方波波形发生器第三节 - 西瓜视频

31单片机入门-C51语言用DAC0832实现凸形波发生器第四节 - 西瓜视频

32 单片机开发实例1:颜色识别器和测色仪潘通劳尔色卡匹配色差计功能 - 西瓜视频

33单片机开发实例2:测色仪颜色识别详细视频教程含高级潘通劳尔色卡匹配和色差计功能 - 西瓜视频

二、单片机文字教程:

1单片机入门-Proteus绘制电路和Keil写代码视频教学

2单片机入门-C51语言实现单个LED数码管显示控制

3单片机入门-C51语言手动和自动控制红绿LED交通灯的实现视频教学

4单片机入门-C51语言实现单个LED数码管显示控制

5单片机入门-C51语言用函数和for简化代码实现数码管显示控制

6单片机入门-C51语言实现矩阵键盘按键检测和数码管显示

7单片机入门-C51语言实现矩阵键盘和数码管调整时钟的时分秒

8单片机入门-C51语言LCD12864液晶显示器的基本使用介绍

9单片机入门-C51语言采用定时器查询方法获取1秒精准定时解说

1051单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法

11单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例

12单片机入门-C51语言采用定时器中断方法获取1秒精准定时解说

13单片机入门-C51语言采用定时器中断方法设计LCD电子钟解说

14单片机收发Json数据格式与安卓手机双向通信实例附简要代码

15单片机入门-C51语言按键采用外部中断调整电子钟时分秒解说

16单片机入门-C51语言用按键中断和查询两种方法调整电子钟参数解说

17单片机入门-串行通信理论基础解说

18单片机入门-C51语言实现串行通信用查询法发送数据控制数码管解说

19单片机入门-C51语言实现双机通信用串行口中断方法控制数码管解说

20单片机入门-C51语言用单片机串口实现双向数据收发的双机通信

21单片机STC12C5A60S2常用C51代码-串口通信速度设置

22单片机STC12C5A60S2常用C51代码-定时器计算

23单片机STC12C5A60S2常用C51代码-软件延时计算

24单片机入门-C51语言实现双机串口通信发送机接按键接收机数码显示

25单片机入门-数字电压表和模数转换(ADC)知识基础解说

26单片机入门-C51实现数字电压表模数转换详细设计分步骤详细解说

27单片机入门-C51语言实现数字电压表ADC0808通道选择解说

28单片机入门-C51语言实现数字电压表用LCD12864显示结果解说

29单片机入门-C51语言实现数字电压表用LCD12864显示结果解说

30单片机入门-C51实现用TLC549模数转换用LCD设计数字电压表解说

31单片机入门-数模转换和DAC0832芯片简单介绍第一节解说

32单片机入门-C51语言用DAC0832实现正弦波的波形发生器第二节解说

33单片机入门-C51语言DAC0832实现三角波方波波形发生器第三节解说

34单片机入门-C51语言用DAC0832实现凸形波发生器第四节解说

35单片机HEX文件下载到单片机步骤

3651单片机用汇编语言让8个LED灯向左循环闪烁

3751单片机用汇编语言的查表法控制红绿交通灯

3851单片机用汇编语言的控制LED灯闪烁

39单片机汇编语言常见错误和解决办法

4051单片机用汇编语言实现存储器块清零

4151单片机用汇编语言实现ASCII码转换

4251单片机用汇编语言实现BCD码转换

4351单片机用汇编语言实现程序跳转表

4451单片机用汇编语言实现内存块移动

4551单片机用汇编语言实现数据排序

4651单片机用汇编语言的查表法控制任意LED闪烁

4751单片机主要汇编指令集

4851单片机用C51语言实现I2C24C02存储器用法和实例

三:单片机入门知识:

1单片机Keil开发软件常见编译错误解释及解决办法

2单片机怎么防止代码拼写错误

3学好单片机的作用和怎么学好单片机

4单片机汇编语言利用查找表法实现任意LED闪烁

5单片机汇编语言循环指令实现LED左循环闪烁

651系列单片机汇编语言实现简单的交通灯控制

751系列单片机汇编语言利用查找表方法实现简单的交通灯控制

8单片机入门-C51语言实现简单的红绿LED交通灯控制

9单片机入门-C51语言指针的LED灯闪烁控制电路应用实例

10单片机Keil软件常见语法和拼写错误原因和处理办法

相关问答

单片机 怎么设置LED点阵亮的时间长度?

要设置LED点阵亮的时间长度,可以通过控制单片机的IO口输出信号来实现。首先,需要确定所使用的单片机型号和开发环境,然后编写相应的程序代码。在程序中,可以...

单片机 驱动交流接触器的方法

[回答]在各种自动控制设备中,都存在一个低压的自动控制电路与高压电气电路的互相连接问题,一方面要使低压的电子电路的控制信号能够控制高压电气电路的执...

C语言肿么写 延时1s 程序-ZOL问答

1S讨论回答(3)#includeSleep(1000);楼上错了,它的单位是毫秒的我认为最好的办法是,用示波器实测,不断的调整,这样才能行,不然,就不好...

单片机 代码编程时如何嵌入汇编语言?

Keil软件设置Keil工程建立好以后进行工程的汇编语言混编设置软件编写51单片机12MHZ晶振延时1S为例汇编程序写在#pragmaasm·······//写汇编语...

蓝牙键盘和机子有 1s 左右延迟正常吗?是键盘问题还是机子问题?

首先,你得先测试是机子问题还是键盘问题,一般蓝牙键盘在没有受到其他较强无线信号干扰的情况下,不会有明显的延时效果,例如以下3中情况:1、当wifi高速传输...

单片机 怎么从矩阵键盘中提取一个按键来实现“按一下键切换一个LED灯亮”?

可以啊,可以根据按键时间的长短,和高低电平来实现。比如,长按1s为高电平是一个功能,长按2s是另一个功能。步骤为:先读取某个io口的值,若为高电平(if按...可...

ppt发布会倒计时动画应该怎么做?

一直觉得PPT动画很有难度,重点是认为不够实用。但深入学习后发现,简单好看的动画还是很受欢迎的,确实能带动现场的气氛。比如发布会倒计时5、4、3、2、1,配...

在《刺激战场》中,有大神主播利用空投飞机吃鸡,效果非常逆天,这是如何做到的?

利用空投飞机隐藏脚步声,是很多主播大神攻楼的独家技巧。对大多数刺激战场的玩家来说,最苦恼的事情莫过于好好地摸着房子,突然就被敌人阴死了;或者是悠哉的...

关于西门子断电 延时 定时器?

M0.0接通时,T37首先开始计时,1步:T37是接通延时,1S后T37接通,同时T38得电,程序扫描的下一周期,T38将T37复位。这一阶段T37得到的只是一个程序扫描周期的...

sleep命令用法?

linux命令中sleep可以用来将目前动作或指令延迟一段时间,时间的单位有:秒s,分钟m,小时h,天d。用途说明sleep命令常用于在Linuxshell脚本中延迟时间...

猜你喜欢