MCS51延时程序分析
延时方式
单片机控制应用中,延时必不可少。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延时程序分析相关推荐
- c语言延时系统,基于VB的单片机C语言延时程序各参数计算系统
仪器仪表用户 doi:10.3969/j.issn.1671-1041.2011.04.013 □科研设计成果□ 基于VB的单片机C语言延时程序各参数计算系统 刘 1 锋,林 奕 2 (1.武汉理工大 ...
- 【Pre蓝桥杯嵌入式】移植LCD程序+建立工程+LCD程序分析
文章目录 工程建立 1 MCU型号选择 2 文件夹格式 3 工程树 4 在`Option of target...`选项中选中`Debug`标签将设置改为图中所示状态后点击.`Settings` 5 ...
- c51单片机时钟程序汇编语言,51单片机汇编语言--延时程序的延时时间
请高手帮我分析以下延时程序所占的时钟周期. 求解释: DELAY: MOV R6, #13 DELAY1: MOV R5, #250 DELAY2: NOP DJNZ R5, DELAY2 D ...
- c51语言 延时程序值怎么算,C51的延时计算
C语言的延时计算 今天碰到这个问题,想想大家也可能用得上,就转过来了,希望对大家有用 C51中精确的延时与计算的实现 C51由于其可读性和可移植性很强,在单片机中得到广泛的应用, 但在某些时候由于C5 ...
- Mini2440触摸屏程序分析
mini2440驱动分析系列之 ---------------------------------------Mini2440触摸屏程序分析 By JeefJiang July,8th,2009 这是 ...
- 【C应用】红外遥控小车程序分析(下)——红外传输数据程序分析
目录 红外遥控的概述: 程序分析: 红外遥控的概述: 引自:图解红外遥控的发射和接收原理 - Noble_ - 博客园 红外线的光谱位于红色光之外,波长是0.76-1.5μm,比红光的波长还长.红外遥 ...
- 编写10ms延时的子程序c语言,单片机定时器延时程序
单片机定时器延时程序 单片机的延时程序(包括asm和C程序,都是我在学单片机的过程中用到的),在单片机延时程序中应考虑所使用的晶振的频率,在51系列的单片机中我们常用的是11.0592MHz和12.0 ...
- 程序分析工具gprof介绍
程序分析是以某种语言书写的程序为对象,对其内部的运作流程进行分析.程序分析的目的主要有三点:一是通过程序内部各个模块之间的调用关系,整体上把握程序的运行流程,从而更好地理解程序,从中汲取有价值的内容. ...
- 字节跳动pest分析_字节跳动小程序分析:前景及优势都是什么?
近几年小程序渐渐成为微信.百度.支付宝等巨头的标配,各大互联网巨头纷纷加码小程序,字节跳动自然也不甘落后.字节跳动小程序前景如何呢?我们来做一个详细的字节跳动小程序分析: 1.平台条件 小程序要想做起 ...
最新文章
- 团队任务3:每日立会(2018-10-18)
- 移动端自动化==什么是Appium
- 受JAAS保护的JAX-RS端点
- Bootstrap3 折叠插件的选项
- Echart 地图实例
- rust怎么造双层_DIY双层电路板 制作详解
- React redux
- python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换
- 阿里云张献涛:公共云不断向外延伸,一云多态是未来趋势
- macOS HBuilderX 使用安卓模拟器调试项目
- 中国东北到美洲比中国南边到美洲更近?
- uva 11137 Ingenuous Cubrency
- LeetCode 图解 | 237.删除链表中的节点
- 抗生素对微生物组和人体健康的影响
- 2019你好想跳槽了?程序员们谨记:哪里都不好混!
- 利用大数据打造智慧港航运
- 安装vim的最新版本
- 【Linux】数字ICer需要用到哪些Linux命令?
- Avamar 10007报错解决
- Epub解析 -- Pageturner
热门文章
- 计算机与管理科学的交叉与融合,计算机信息管理专业与其他专业的交叉融合论文...
- matlab查看俯视图,关于matlab:校准图像以获取位于同一平面上的点的俯视图
- Python @property 详解
- Windows 纤程/协程
- solidworks装配体改为柔性_Y型钣金通风管道用SolidWorks怎么建模?溪风实战讲解
- DHT21程序,DHT21与DHT11的不同处
- Leetcode 1037.有效的回旋镖
- 一起学设计模式 - 一起开始设计模式的修炼之路
- SQL Server查看库、表占用空间大小
- 最新流浪猫流浪狗H5完整运营源码下载/可封装APP