标准的 C 语言中没有空语句。但在单片机的 C 语言编程中,经常需要用几个空指令产生短
延时的效果。
这在汇编语言中很容易实现,写几个 nop 就行了。
在 keil C51 中,直接调用库函数:
#includeintrins.h // 声明了 void _nop_(void);
_nop_(); // 产生一条 NOP 指令
作用:对于延时很短的,要求在 us 级的,采用“ _nop_ ”函数,这个函数相当汇编 NOP
指令,延时几微秒。
NOP 指令为单周期指令,可由晶振频率算出延时时间,对于 12M 晶振,延时 1uS。
对于延时比较长的,要求在大于 10us,采用 C51 中的循环语句来实现。
在选择 C51 中循环语句时,要注意以下几个问题
第一、定义的 C51 中循环变量,尽量采用无符号字符型变量。
第二、在 FOR 循环语句中,尽量采用变量减减来做循环。
第三、在 do, while ,while
原创力文档

文档评论(0)