单片机中,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);
  • 9
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逗比小憨憨

欢迎打赏或者B站打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值