找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6217|回復: 0
收起左側

單片機中很給力的庫函數(shù)

[復制鏈接]
ID:80436 發(fā)表于 2015-5-22 00:24 | 顯示全部樓層 |閱讀模式

C51庫函數(shù) intrins.h


C51中的intrins.h庫函數(shù)
_crol_ 字符循環(huán)左移
_cror_ 字符循環(huán)右移 //這個在寫流水燈時相當方便
_irol_ 整數(shù)循環(huán)左移
_iror_ 整數(shù)循環(huán)右移
_lrol_ 長整數(shù)循環(huán)左移
_lror_ 長整數(shù)循環(huán)右移
_nop_ 空操作8051 NOP 指令
_testbit_ 測試并清零位8051 JBC 指令


詳解:
函數(shù)名: _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 位,該函數(shù)與8051“RLA”指令相關,上面幾個函數(shù)不同于參數(shù)類型。

例:
#i nclude
main()
{
unsigned int y;
C-5 1
程序設計37
y=0x00ff;
y=_irol_(y,4); //結果y=0x0ff0
}


函數(shù)名: _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 位,該函數(shù)與8051“RRA”指令相關,上面幾個函數(shù)不同于參數(shù)類型。

例:
#i nclude
main()
{
unsigned int y;
y=0x0ff00;
y=_iror_(y,4); //結果y=0x0ff0
}


函數(shù)名:_nop_
原 型:
void _nop_(void);
功 能:_nop_產生一個NOP 指令,該函數(shù)可用作C 程序的時間比較。C51 編譯器在
_nop_
函數(shù)工作期間不產生函數(shù)調用,即在程序中直接執(zhí)行了NOP指令。如果晶振為12MHZ,執(zhí)行一個NOP指令為1US。

例:
P()=1;
_nop_();
P()=0;


函數(shù)名:_testbit_
原 型:
bit _testbit_(bit x);
功 能:_testbit_產生一個JBC 指令,該函數(shù)測試一個位,當置位時返回1,否則返回0。

如果該位置為1,則將該位復位為0。8051 的JBC 指令即用作此目的。
_testbit_只能用于可直接尋址的位;在表達式中使用是不允許的



回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表