您好、欢迎来到现金彩票网!
当前位置:千旺彩票 > 赋值语句 >

单片机c语言中nop函数的使用方法和延时计算

发布时间:2019-05-10 14:49 来源:未知 编辑:admin

  作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。

  NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。

  第三、在dowhile,while语句中,循环体内变量也采用减减方法。

  其中,第二个循环语句C51编译后,就用DJNZ指令来完成,相当于如下指令:

  变量k的初值为l,则总延时时间为:l×(n×(m×T+2T)+2T)+3T,

  其中T为DJNZ和MOV指令执行的时间。当m=n=l时,精确延时为9T,最短;

  C语言最大的缺点就是实时性差,我在网上到看了一些关于延时的讨论,其中有篇文章

  写得不错,他是用while(--i);产生DJNZ 来实现精确延时,后来有人说如果while里面不能放其它语句,否则也不行,用do-while就可以,具体怎样我没有去试.所有这些都没有给出具体的实例程序来.还看到一些延时的例子多多少少总有点延时差.为此我用for循环写了几个延时的子程序贴上来,希望能对初学者有所帮助.(晶振12MHz,一个机器周期1us.)

  在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响.

http://csyuntao.net/fuzhiyuju/172.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有