函数库
函数库
LiQiWenC语言函数库
公共函数库
Keil C51 的扩展库
intrins.h
1. nop()
功能: 执行一个空操作(No Operation)指令,通常用于时间延迟或指令间隙。
原型:
void _nop_(void);示例:
1
_nop_(); // 执行一个空指令
2. cror()
功能: 对字节数据进行循环右移。
原型:
unsigned char _cror_(unsigned char data, unsigned char count);参数:
data: 待操作的字节。count: 右移的位数。
示例:
1
unsigned char result = _cror_(0x85, 2); // 0x85 右移2位得到 0x61
3. crol()
功能: 对字节数据进行循环左移。
原型:
unsigned char _crol_(unsigned char data, unsigned char count);参数:
data: 待操作的字节。count: 左移的位数。
示例:
1
unsigned char result = _crol_(0x85, 2); // 0x85 左移2位得到 0x14
4. testbit()
功能: 测试某个位是否为 1。
原型:
bit _testbit_(bit b);参数:
b: 指定的位变量。
返回值:
1: 如果该位为高。0: 如果该位为低。
示例:
1
2
3if (_testbit_(P1^0)) {
// 如果P1.0为高电平,执行此处代码
}
5. setbit()
功能: 设置某个位为 1。
原型:
void _setbit_(bit b);参数*:
b: 指定的位变量。
示例:
1
_setbit_(P1^0); // 将P1.0置为高电平
6. clrbit()
功能: 将某个位清零(置为0)。
原型:
void _clrbit_(bit b);参数:
b: 指定的位变量。
示例:
1
_clrbit_(P1^0); // 将P1.0置为低电平
7. changebit()
功能: 反转某个位的状态(0变为1,1变为0)。
原型:
void _changebit_(bit b);参数:
b: 指定的位变量。
示例:
1
_changebit_(P1^0); // 如果P1.0为0,变为1;反之亦然
8. swap()
功能: 将字节的高 4 位和低 4 位互换。
原型:
unsigned char _swap_(unsigned char data);参数:
data: 输入的字节数据。
示例:
1
unsigned char result = _swap_(0xAB); // 0xAB 交换后变为 0xBA
9. norm()
功能: 归一化操作,将字节数据中最高位的1右移到最低有效位(MSB移到LSB)。
原型:
unsigned char _norm_(unsigned char data);参数:
data: 输入字节。
示例:
1
unsigned char result = _norm_(0x10); // 返回值为 0x01
10. high()
功能: 获取 16 位数据的高字节。
原型:
unsigned char _high_(unsigned int data);参数:
data: 输入的 16 位数据。
示例:
1
unsigned char high = _high_(0x1234); // 返回值为 0x12
11. low()
功能: 获取 16 位数据的低字节。
原型:
unsigned char _low_(unsigned int data);参数:
data: 输入的 16 位数据。
示例:
1
unsigned char low = _low_(0x1234); // 返回值为 0x34
12. bittest()
功能: 测试一个字节中特定位是否为 1。
原型:
bit _bittest_(unsigned char data, unsigned char bit);参数:
data: 输入字节。bit: 位的索引(0-7)。
返回值:
1: 如果该位为高。0: 如果该位为低。
示例:
1
2
3if (_bittest_(0x85, 2)) {
// 如果0x85的第2位为1,执行代码
}
13. bitset()
功能: 设置一个字节中特定位为 1。
原型:
unsigned char _bitset_(unsigned char data, unsigned char bit);参数:
data: 输入字节。bit: 位的索引(0-7)。
返回值:
- 设置指定位后的新字节。
示例:
1
unsigned char result = _bitset_(0x85, 2); // 设置第2位后,结果为 0x8D
14. bitclear()
功能: 将一个字节中特定位清零。
原型:
unsigned char _bitclear_(unsigned char data, unsigned char bit);参数:
data: 输入字节。bit: 位的索引(0-7)。
返回值:
- 清零指定位后的新字节。
示例:
1
unsigned char result = _bitclear_(0x8D, 2); // 清除第2位后,结果为 0x85


