单片机中,intrins.h头文件中各函数详解:空指令_nop_(),移位函数_crol_、_cror_

**

intrins.h

**
在 C51单片机编程中,我们经常使用到 nop():延时一个机器周期。如果晶振是12M,则延时1 us,该空函数在头文件intrins.h中

头文件 INTRINS.H 中的函数使用很方便 。
内部函数 描述
crol 字符循环左移
cror 字符循环右移
irol 整数循环左移
iror 整数循环右移
lrol 长整数循环左移
lror 长整数循环右移
nop 空操作 8051 NOP 指令
testbit 测试并清零位 相当于8051汇编中的 JBC 指令

函数名:

 _crol_ ,_irol_ ,_lrol_ 

原 型

unsigned char _crol_(unsigned char val,unsigned char  n); 
unsigned int  _irol_(unsigned int val,unsigned char n); 
unsigned int  _lrol_(unsigned int val,unsigned char n); 

功 能crolirollrol 以位形式将 val 左移 n 位.

举例:
设变量v=0x55
v=crol(v,1) 执行完后:v=0xaa

函数名:

_cror_ ,_iror_ ,_lror_

原 型

unsigned char _cror_(unsigned char val,unsigned char n); 
unsigned int  _iror_(unsigned int val,unsigned char n); 
unsigned int  _lror_(unsigned int val,unsigned char n); 

功 能crorirorlror 以位形式将 val 右移 n 位.

函数名:

_nop_ 

原 型void _nop_(void);

功 能: _nop_产生一个 NOP 指令 ,延时一个机器周期
NOP 指令。

函数名:

_testbit_

原 型bit _testbit_(bit x);
功 能: testbit 产生一个 JBC 指令,该函数测试一个位,当置位时返
回 1,否则返回 0。如果该位置为 1,则将该位复位为 0。8051 的 JBC 指令
即用作此目的。 testbit 只能用于可直接寻址的位;在表达式中使用是不
允许的。

_chkfloat_:
原型:unsigned char  _chkfloat_(float);

 功能:函数检查浮点数 val 的类型
 
_push_:
 void  _push_ (unsigned char _sfr);
_pop_:
void  _pop_ (unsigned char _sfr);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章