單片機中,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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章