**
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);