单片机语言的延时计算.pdf

标准的 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)

1亿VIP精品文档

相关文档