原标题: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。

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

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

比如,要实现4s的延时,就把i=1000修改为i=4000就可以了。返回搜狐,查看更多

责任编辑:

c51语言双层for循环延时2ms,51单片机利用for语句嵌套实现简单的延时1s功能相关推荐

  1. c51语言花样流水灯汇编程序,基于51单片机的各种花样的流水灯c51程序

    /*----------------------------------------------- 功能:流水灯对称移动闪烁(双闪烁) -------------------------------- ...

  2. 51单片机利用8266获取网络时间

    51单片机利用8266获取网络时间 我现在是成都一所不出名的二本院校大三学生,第一次来到CSDN,趁有时间,把我之前做的项目,其中一个模块拿出来和大家分享,我也是小白,希望提出宝贵意见.OK,废话不多 ...

  3. 51单片机银行自助排队叫号系统VIP热敏打印功能DY-SV17F语音播报

    实践制作DIY- GC0138-银行自助排队叫号系统VIP 基于51单片机设计---银行自助排队叫号系统VIP 二.功能介绍: STC89C52最小系统板+0.96寸OLED显示器+DY-SV17F语 ...

  4. 51c语言延时作用,51单片机C语言延时函数怎么定义和使用

    描述 51单片机C语言延时函数怎么定义 C语言定义延时函数主要通过无意义指令的执行来达到延时的目的.C程序中可使用不同类型的变量来进行延时设计.经实验测试,使用unsigned char类型具有比un ...

  5. 51单片机c语言延时库,51单片机c语言---延时

    1,_nop_()适用于us级的少量延时 标准的C语言中没有空语句.但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果. 这在汇编语言中很容易实现,写几个nop就行了.本文引用地址:htt ...

  6. c语言51单片机延时程序,51单片机c语言延时.doc

    1,_nop_() 适用于us级的少量延时 标准的C语言中没有空语句.但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果.这在汇编语言中很容易实现,写几个nop就行了. 在keil C51 ...

  7. keil流水灯c语言程序两个一起亮,51单片机学习之陆 —— 1.2 第一个c51程序(点亮流水灯)...

    原标题:51单片机学习之陆 -- 1.2 第一个c51程序(点亮流水灯) 由于学校的板子跟我买的板子有些差异,为了大家的阅读,以后的所有程序编写烧录都以老师发的板子为主. 1 事先准备 a 驱动安装, ...

  8. 数码管动态显示c语言,《手把手教你学51单片机-C语言》之六 中断与数码管动态显示...

    中断是单片机系统重点中的重点,因为有了中断,单片机就具备了快速协调多模块工作的能力,可以完成复杂的任务.本章将首先带领大家学习一些必要的C语言基础知识,然后讲解数码管动态显示的原理,并最终借助于中断系 ...

  9. c51adc0809c语言程序,用汇编语言写一个51单片机adc0809的程序

    匿名用户 1级 2011-08-15 回答 正好做过,就给你吧! ************************************* ;* * ;* 主程序和中断程序入口 * ;* * ;** ...

最新文章

  1. lisp 批量文字求差值_Python 超简单 提取音乐高潮(附批量提取)
  2. PHP 设计模式 笔记与总结(1)命名空间 与 类的自动载入
  3. php与java的关系_PHP基本语法以及和Java的区别
  4. 实际体验SpanT 的惊人表现
  5. opencv处理视频颠倒问题
  6. java replace 双引号到单引号
  7. 前端常见面试题-css篇
  8. 上大计算机专业在哪校区,好消息!成都理工大学在川扩招751人,宜宾校区新增计算机443人...
  9. matlab解全微分方程,通过MATLAB求二阶全微分方程解析解
  10. crxmouse在其他页面失效
  11. 计算机显示网络无权限访问权限,[系统知识]电脑显示无internet访问权限怎么办...
  12. 【源码阅读 | 04】update-notifier 检查包更新
  13. 开发JAVA第一步,教你选好JSP虚拟空间
  14. 如何计算根号之牛顿迭代法
  15. 电车难题和他的n个**变种分享
  16. 证件识别技术,OCR扫描识别
  17. JavaScript 指南 - 使用对象
  18. 计算机等级怎么查ip地址,ip查地址方法是什么【图文教程】
  19. 2020牛客暑期多校训练营Enigmatic Partition(数学,二阶隔项差分)
  20. [解读] You Only Train Once Loss-Conditional Training of Deep Networks

热门文章

  1. Python的replace()方法
  2. 腾讯汤道生:微信乘车码已全量上线昆明地铁
  3. 打造前端MAC工作站(一)简单系统配置
  4. linux 火焰检测,033_linux操作系统火焰图探测系统性能
  5. 《软件需求工程(第2版)》一1.5 需求工程定义
  6. 500+门java,python,js等常用语言入门,学习,实战,项目资料领取
  7. plt保存图像、去白边、去坐标轴、去刻度
  8. 开放式办公环境真是个糟糕的做法
  9. 为什么罗鹂选择了池海东——顺道自我反省
  10. 画一条线酬劳为1美元,知道在哪里画线酬劳为9999美元