intrins.h

生活百科 2023-01-25 21:22生活百科www.aizhengw.cn

intrins.h

intrins.h,函式,套用于程式设计,一般出现在C51单片机编程中,一般程式中需要使用到空指令_nop_();字元循环移位指令_crol_等时使用。

基本介绍

  • 中文名头档案
  • 外文名intrins.h
  • 套用C51单片机编程
  • 类型函式
  • 学科程式设计

概念

在C51单片机编程中,头档案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_,_cror_将char型变数循环向左(右)移动指定位数后返回
_testbit_ 相当于JBC bitvar测试该位变数并跳转清除。
_chkfloat_ 测试并返回源点数状态。
就是彙编中的子函式。
_crol_,_cror_如果二进制数为01010101 那幺_crol_(1) 左移1位后将高位补低位。
结果10101010。
功 能_crol_,_irol_,_lrol_以位形式将val 左移n 位,该函式与8051“RLA”指令相关,上面几个函式不同于参数类型。
#include <intrins.h>
main()
{
unsigned int y;
y=0x00ff;
y=_irol_(y,4);
}
函式名 _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 long val,unsigned char n);
功 能_cror_,_iror_,_lror_以位形式将val 右移n 位,该函式与8051“RRA”指令相关,上面几个函式不同于参数类型。
#include <intrins.h>
main()
{
unsigned int y;
y=0x0ff00;
y=_iror_(y,4);
}
函式名 _nop_
原 型 void _nop_(void);
void_tuzi_(void);
void _nop_(void);
功 能_nop_产生一个NOP 指令,该函式可用作C 程式的时间比较。C51 编译器在_nop_函式工作期间不产生函式调用,即在程式中直接执行了NOP 指令。
P()=1;
_nop_();
P()=0;
函式名 _testbit_
原 型bit _testbit_(bit x);
功 能_testbit_产生一个JBC 指令,该函式测试一个位,当置位时返回1,否则返回0。如果该位置为1,则将该位复位为0。8051 的JBC 指令即用作此目的。_testbit_只能用于可直接定址的位;在表达式中使用是不允许的。

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有