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

2024年10月30日 18:09
有5个网友回答
网友(1):

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

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

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

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

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

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

网友(2):

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

网友(3):

我想你说的是汇编吧..
空指令机器码90
CPU不执行此指令,但占用一个指令周期,指令周期的长短因CPU不同等因素而不同
如果是c的函数_nop_() 那你就找到这个函数的声明定义的地方看看他的内容咯

网友(4):

如果晶振是12MHZ的话这一条指令所用时间为 1us。
如果晶振是11.0592MHZ的话这一条指令所用时间为 1.08us。

网友(5):

是的,好像是延时一个指令周期。