在c语言里没有这个_nop_函数,这个函数是在51单片机里使用的。
创新互联专注于大观网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供大观营销型网站建设,大观网站制作、大观网页设计、大观网站官网定制、小程序开发服务,打造大观网络公司原创品牌,更为您提供大观网站排名全网营销落地服务。
作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。
NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。
扩展资料
nop指令在C语言中的使用
示例:
#inlucestdio.h
assemblyinlinevoidinsert_nop()
{
asm_begin
nop
asm_end
}
1、C语言中没有_nop_()函数,该函数是在51单片机中用的延时函数,延时一个指令周期。一般包含在
intrins.h
头文件当中。
2、例如用6MHz的晶振,则如下for循环大约延时1秒。
int
i;
for(i=0;
i6000000;
i++)
_nop_();
//
延时一个指令周期,相当于执行一条无意义的语言
在单片机c语言中直接调用库函数即可,具体如下:
#includeintrins.h // 声明了void _nop_(void);
_nop_(); // 产生一条NOP指令。
该函数的作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
在单片机C语言中_nop_()包含在头文件intrins.h中。
_nop_()是一个空操作,对应于汇编语言中的NOP语句。执行该函数,将占用1个机器周期的时间,常用于局部短暂延时。比如执行以下程序段,12M晶振的情况下,将在P0口产生频率为250K的方波。
while(1)
{
P0=0x00;
_nop_();
_nop_();
P0=0xff;
_nop_();
_nop_();
}
这个函数是延时一个机器周期的意思,它包含在头文件intrins.h中,只要程序应用到_nop_(),就需要有头文件intrins.h的声明。