关于 NOP()的延时时间问题

NOP()相当于在汇编语言中的nop伪指令,用来表示延时,但是具体延时时长是多少呢??

首先需要掌握单片机晶振周期、系统时钟周期、机器周期各是什么?它们之间的联系是什么

  1. 时钟周期: 晶振的振荡周期就是时钟周期,比如12M晶振时钟周期是 1/12M;
  2. 机器周期:是单片机执行指令所消耗的最小时间单位。比如51是12分频,51的1个机器周期划分为6个状态周期、12个节拍;12M晶振机器周期是 1/12M*12=1uS;
  3. 机器周期:单片机完成一次完整的具有一定功能的动作所需的时间周期。如一次完整的读操作或写操作对应的时间。一个机器周期=6个状态周期。
  4. 指令周期: 执行完某条指令所需要的时间周期,一般需要1~4个机器周期,如MUL AB指令是四机器周期指令。一个指令周期=1~4个机器周期。

它们之间的关系为

  • 时钟周期,是晶振频率的倒数。
  • 状态周期,是时钟周期的二倍。
  • 机器周期,是时钟周期的 12 倍。 如:晶振频率是 12MHz, 时钟周期就是,(1/12)us。 状态周期就是,(2/12)us。 机器周期就是,(12/12)=1us。
  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值