延时方式

单片机控制应用中,延时必不可少。CPU过段时间再做某事,称为延时。延时有两种方法,即硬件延时和软件延时。

硬件延时是通过定时器/计数器实现的,软件延时一般通过执行循环程序实现。

硬件延时中,常用汇编指令及占用时间如下:

指令 占用机器时间
MOV Rn,#Data 1
DJNZ Rn,rel 2
RET 2
NOP 1

以12MHz晶振为例,机器周期为1us,则执行一个MOV指令所用时间为1us;6MHz晶振机器周期为2us,执行一句DJNZ指令所用时间为4us。

硬件延时程序中又分为单重循环延时程序、双重循环延时程序及多重循环延时程序。晶振及延时程序的不同决定了延时时间范围。

单循环延时程序

D2:   MOV    R0 ,  #X  ;将立即数X存到寄存器R0中,耗时1机器周期
D1:  DJNZ   R0 ,  D1  ;寄存器R0减1,不为零即跳转到D1,耗时2机器周期RET              ;耗时2机器周期

设机器周期为T,*延时时间=2XT+1T+2T=(3+2*X)T

R0为8位寄存器,X取值为0—256。

频率为6MHz晶振延时时间范围为10~1030us;频率为12MHz晶振延时时间范围为 50—515us。

双重循环延时程序*

     D3:  MOV     R1,#Y    ;1周期D2:   MOV     R0,#X    ;1周期D1:   DJNZ    R0,D1    ;2周期DJNZ R1,D2    ;2周期RET              ;2周期

延时时间=(2X+1+2)YT+T+2T=(2XY+3Y+3)*T

MCS51延时程序分析相关推荐

  1. c语言延时系统,基于VB的单片机C语言延时程序各参数计算系统

    仪器仪表用户 doi:10.3969/j.issn.1671-1041.2011.04.013 □科研设计成果□ 基于VB的单片机C语言延时程序各参数计算系统 刘 1 锋,林 奕 2 (1.武汉理工大 ...

  2. 【Pre蓝桥杯嵌入式】移植LCD程序+建立工程+LCD程序分析

    文章目录 工程建立 1 MCU型号选择 2 文件夹格式 3 工程树 4 在`Option of target...`选项中选中`Debug`标签将设置改为图中所示状态后点击.`Settings` 5 ...

  3. c51单片机时钟程序汇编语言,51单片机汇编语言--延时程序的延时时间

    请高手帮我分析以下延时程序所占的时钟周期. 求解释: DELAY:  MOV  R6, #13 DELAY1: MOV  R5, #250 DELAY2: NOP DJNZ  R5, DELAY2 D ...

  4. c51语言 延时程序值怎么算,C51的延时计算

    C语言的延时计算 今天碰到这个问题,想想大家也可能用得上,就转过来了,希望对大家有用 C51中精确的延时与计算的实现 C51由于其可读性和可移植性很强,在单片机中得到广泛的应用, 但在某些时候由于C5 ...

  5. Mini2440触摸屏程序分析

    mini2440驱动分析系列之 ---------------------------------------Mini2440触摸屏程序分析 By JeefJiang July,8th,2009 这是 ...

  6. 【C应用】红外遥控小车程序分析(下)——红外传输数据程序分析

    目录 红外遥控的概述: 程序分析: 红外遥控的概述: 引自:图解红外遥控的发射和接收原理 - Noble_ - 博客园 红外线的光谱位于红色光之外,波长是0.76-1.5μm,比红光的波长还长.红外遥 ...

  7. 编写10ms延时的子程序c语言,单片机定时器延时程序

    单片机定时器延时程序 单片机的延时程序(包括asm和C程序,都是我在学单片机的过程中用到的),在单片机延时程序中应考虑所使用的晶振的频率,在51系列的单片机中我们常用的是11.0592MHz和12.0 ...

  8. 程序分析工具gprof介绍

    程序分析是以某种语言书写的程序为对象,对其内部的运作流程进行分析.程序分析的目的主要有三点:一是通过程序内部各个模块之间的调用关系,整体上把握程序的运行流程,从而更好地理解程序,从中汲取有价值的内容. ...

  9. 字节跳动pest分析_字节跳动小程序分析:前景及优势都是什么?

    近几年小程序渐渐成为微信.百度.支付宝等巨头的标配,各大互联网巨头纷纷加码小程序,字节跳动自然也不甘落后.字节跳动小程序前景如何呢?我们来做一个详细的字节跳动小程序分析: 1.平台条件 小程序要想做起 ...

最新文章

  1. 团队任务3:每日立会(2018-10-18)
  2. 移动端自动化==什么是Appium
  3. 受JAAS保护的JAX-RS端点
  4. Bootstrap3 折叠插件的选项
  5. Echart 地图实例
  6. rust怎么造双层_DIY双层电路板 制作详解
  7. React redux
  8. python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换
  9. 阿里云张献涛:公共云不断向外延伸,一云多态是未来趋势
  10. macOS HBuilderX 使用安卓模拟器调试项目
  11. 中国东北到美洲比中国南边到美洲更近?
  12. uva 11137 Ingenuous Cubrency
  13. LeetCode 图解 | 237.删除链表中的节点
  14. 抗生素对微生物组和人体健康的影响
  15. 2019你好想跳槽了?程序员们谨记:哪里都不好混!
  16. 利用大数据打造智慧港航运
  17. 安装vim的最新版本
  18. 【Linux】数字ICer需要用到哪些Linux命令?
  19. Avamar 10007报错解决
  20. Epub解析 -- Pageturner

热门文章

  1. 计算机与管理科学的交叉与融合,计算机信息管理专业与其他专业的交叉融合论文...
  2. matlab查看俯视图,关于matlab:校准图像以获取位于同一平面上的点的俯视图
  3. Python @property 详解
  4. Windows 纤程/协程
  5. solidworks装配体改为柔性_Y型钣金通风管道用SolidWorks怎么建模?溪风实战讲解
  6. DHT21程序,DHT21与DHT11的不同处
  7. Leetcode 1037.有效的回旋镖
  8. 一起学设计模式 - 一起开始设计模式的修炼之路
  9. SQL Server查看库、表占用空间大小
  10. 最新流浪猫流浪狗H5完整运营源码下载/可封装APP