**
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);
功 能:crol,irol,lrol以位形式将 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);
功 能:cror,iror,lror以位形式将 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);