51单片机c语言 _nop_()是一个空指令?短时间延时的?空几个机器周期?

如题所述

这个_nop_()等效与汇编里面的,NOP指令,也就是空一个机器周期,如果是传统51单片机的话,等于空12个时钟周期【即一个机器周期】,操作方法如下:

1、首先,可以利用keil来进行模拟实验,观察软件所显示的数值,然后再进行相关的运算,即可得出结果。

2、在使用keil进行模拟之前,要“模拟”给单片机各个口上电,点击这里。

3、然后再点击这里,会出来一个对话框,全部勾选即可。

4、除了使用keil外,还可可以借助其他的软件,来进行测试运算。

5、最后要知道指令周期,指执行一条指令所需的时间。机器周期,由6个状态周期组成。状态周期,是时钟周期的两倍,如下图所示就完成了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-23
这个_nop_()等效与汇编里面的,NOP指令,也就是空一个机器周期,如果是传统51单片机的话,等于空12个时钟周期【即一个机器周期】本回答被提问者采纳
第2个回答  2010-02-05
我想你说的是汇编吧..
空指令机器码90
CPU不执行此指令,但占用一个指令周期,指令周期的长短因CPU不同等因素而不同
如果是c的函数_nop_() 那你就找到这个函数的声明定义的地方看看他的内容咯
第3个回答  2012-02-24
如果晶振是12MHZ的话这一条指令所用时间为 1us。
如果晶振是11.0592MHZ的话这一条指令所用时间为 1.08us。
第4个回答  2010-02-05
是的,好像是延时一个指令周期。
相似回答