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)#include
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脚本中延迟时间...