流水灯循环左移右
c51中的intri
_crol_ 字符循环左移
_cror_ 字符循环右移
_irol_ 整数循环左移
_iror_ 整数循环右移
_lrol_ 长整数循环左移
_lror_ 长整数循环右移
_nop_ 空操作8051 NOP 指令
_testbit_ 测试并清零位8051
详解:
函数名: _crol_,_ir
原 型: unsigned char _crol_(uns
unsigned int _irol_(uns
unsigned int _lrol_(uns
功 能:_crol_,_
例:
#include
main()
{
unsigned int y;
C-5 1 程序设计 37
y=0x00ff;
y=_irol_(y
}
函数名: _cror_,_ir
原 型: unsigned char _cror_(uns
unsigned int _iror_(uns
unsigned int _lror_(uns
功 能:_cror_,_
例:
#include
main()
{
unsigned int y;
y=0x0ff00;
y=_iror_(y
}
函数名: _nop_
原 型: void _nop_(void
功 能:_nop_产生一
函数工作期间不产生函
例:
P()=1;
_nop_();
P()=0;
函数名: _testbit_
原 型:bit _testbit_(
功 能:_testbit
如果该位置为1,则将
_testbit_只
至于>>=,>>
比如将a=0x45循环左移二位。
a循环左移n位,即将原来右面(8-n)位左移n位,而将原来左端的n位移到最右面n位。
1、将a的左端n位先放到b中的低n位中
b=a>>(8-n);
2、将a左移n位,其右面低n位被补0
c=a< 3、将b,c进行或运算 a=c|b; 程序如下: main() { unsigned char a=0x45,b,c; unsigned int n=2; b=a>>(8-n) c=a< a=c|b; }
上一篇:单片机开发中的几个基本技巧
下一篇:基于STM8S的Atomthreads低功耗的深度思考
推荐阅读最新更新时间:2024-03-16 15:10