几种周期介绍




周期名称 描述 时间
振荡(时钟) 单片机提供时钟脉冲信号的振荡源的周期 T=1/f
状态 振荡周期经二分频后得到的 2T
机器 在一个机器周期内,CPU可以完成一个独立的 操作 12T
指令 指CPU完成一条操作所需的全部时间 12-12nT

指令:

1、MUL、DIV:仅有的4周期指令

2、包含DPTR和PC的指令均为2周期指令

3、所有的绝对跳转和条件转移指令,均为2周期指令

4、所有包括A寄存器的指令,均为单周期指令

5、位操作指令中,ANL和ORL是2周期指令

6、所有包含立即地址的指令,除INC direct及DEC direct外,均为2周期指令

7、剩下的均为单周期指令。

STC-ISP软件查看各操作用时以及延时函数


_nop_函数可以在keil软件的C51->HLP->C51lib.chm文档中查阅  (授人以鱼不如授人以渔)

延时函数计算

示例:

void delay(uint z){uint i,j;for(i=z;i>0;i--)for(j=0;j<921;j++);}

分析:

1.先计算你单片机的振荡(时钟)周期 T= 1/晶振(11.0592MHZ)

2.一次i--操作为12T

3.忽略变量定义,上述延时函数共需时间:921*z*12T

4.带入T:921*12*T*z 约为 z ms

计算出现误差的原因


1.软件仿真时,函数调用的时候入栈出栈操作的耗时。

2.指令周期随指令的不同而不同导致的误差。

3.中断的影响。

4.变量的范围超过,从而与预计时间不一样。

所以实际上我们应该只能算出估计值,根据最开始周期的信息来计算延时函数中延时的时长。

【51单片机】延时函数计算问题以及如何准确延时相关推荐

  1. 51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次

    51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次 #include <reg51.h> #includ ...

  2. 51单片机定时器初值计算以及初值计算软件

    51单片机定时器初值计算以及初值计算软件 不想搞懂计算原理的直接跳到文章末尾,使用初值计算软件来解决有关初值计算的问题 51单片机定时器初值计算部分 时钟周期,也称为振荡周期:定义为时钟脉冲的倒数,在 ...

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

    原标题:51单片机利用for语句嵌套实现简单的延时1s功能 51单片机利用for语句嵌套实现简单的延时1s功能 名词解释: (1)时钟周期.定义为时钟频率的倒数,本例使用12MHz的时钟频率,它的时钟 ...

  4. 【单片机高阶编程】51单片机定义函数到指定的程序地址

    51单片机如何将函数 定义到指定程序地址 在单片机编程使用中,会涉及到将某些函数定义到指定的code区.此时需要对工程文件进行配置修改才可完成.本期针对单片机平台做出说明介绍 1.测试目标 将函数te ...

  5. 51单片机定时器频率计算

    频率是周期的倒数 51单片机定时器中TH与TL可以改变周期来改变频率. 举例如下 3000us=3ms=0.003s   T=0.003s频率=333HZ    2000us=2ms=0.002s   ...

  6. 51单片机定时器初值计算详解

    前言: 本文详细介绍了51单片机学习过程中定时器的初值计算问题以及相关概念,力求把每一个学习过程中的可能会遇到的难点说清楚,并举相关的例子加以说明.学习完毕,又顺手利用刚学到定时器的相关知识写了一个& ...

  7. 51单片机定时器初值计算

    **菜鸟关于51类单片机的定时器初值计算问题的计算**首先先来介绍单片机的几个周期: 1.时钟周期,也称为振荡周期:定义为时钟脉冲的倒数,在单片机中也就等于晶振的倒数. 51单片机中把一个时钟周期定义 ...

  8. 51单片机定时器参数计算

    文章目录 计算 相关文档 寄存器 TCON TMOD 模式0 模式1 模式2 模式3 15系列单片机计算 计算 晶振为:12MHz 定时器0,16位定时器模式 TMOD & = 0xF0; T ...

  9. 51单片机定时器中断按键消抖(无延时)

    单片机入门学习记录(二) 在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理.按键的抖动对于人类来说是感觉不到的,但对单片机来说,则是完全可以感应 ...

最新文章

  1. matlab固定床反应器,合成气完全甲烷化固定床反应器数值模拟
  2. winform 在指定目录下已经生成资源Image图片的方式
  3. 第一篇 献给一次线上100%CPU
  4. [lwip-users] memp_malloc: out of memory in pool TCP_PCB
  5. 算法分析中递推式的一般代数解法
  6. java高并发(十九)死锁、spring线程安全
  7. 论文浅尝 | 基于知识库的类型实体和关系的联合抽取
  8. HTML5-Tab标签
  9. DelayedOperation分析
  10. 笨办法学 Python · 续 练习 8:`cut`
  11. Java继承、封装、多态
  12. 1.6 回归评估准确性的指标
  13. 富士通Fujitsu DPK700S 打印机驱动
  14. iOS 不能播放远程视频(Android 可以)的问题
  15. UE4_Shader Compile 停在某一帧或者新建材质出现卡死
  16. 通过url获取域名和协议,一级域名,二级域名 python
  17. 计算机无法关闭开机密码,电脑开机密码怎么取消
  18. 22. CTF综合靶机渗透(十五)
  19. pptpd 安装步骤
  20. 金斧子银斧子和铁斧子

热门文章

  1. Discuz论坛附件下载权限绕过漏洞
  2. 解决无法从公司 Maven 私服下载依赖的问题
  3. windwos powershell
  4. Alibaba大牛常读的10本Java实战书籍,(Java开发进阶必备书单),可以白嫖了
  5. OBS无图像(黑屏)的终极解决办法(含切换集显无效办法)
  6. 有各组方差怎么算组间平方和_#excel单因素方差分析#excel如何计算组间离差平方和...
  7. Loadrunner分析
  8. sql server 2008 R2 与 sql server 2012 下载地址(包括x86、x64)
  9. 今天是国际数学日,既是爱因斯坦的生日又是霍金的忌日
  10. JavaScript Array数组slice方法的使用