单片机C 语言中wei=_crol_(wei,2);; 是什么作用?

供稿:hz-xin.com     日期:2025-01-14
单片机中函数_crol_的功能是什么?源程序是怎样的?

循环左移函数
#include
void tst_crol (void) {
char a;
char b;
a = 0xA5;
b = _crol_(a,3); /* b now is 0x2D */
}
你可以在你安装Keil的目录下找D:\Keil\C51\HLP内的C51lib.chm中有

_crol_ (temp,1) 是带进位位左移一位,相当汇编里的RLC A
而>>1 是不带进位位的左移一位,相当汇编里的RL A。

把wei这个变量左移两位之后赋给wei
比如wei=0x01;执行wei=_crol_(wei,2);后wei=0x04;
0x04二进制是100,即把1向左移了两位
_cror_表示向右移,道理相同

crol是#include <intrins>头文件里面的函数,它在作用是将wei 这个变量 向左移动2个位;

  1.  wei=_crol_(wei,2);//将字符变量wei,循环左移2位 ,重新赋给wei变量。

  2.  _crol_   是 字符循环左移函数。

  3. 此外”<<“符号为左移命令符号。



没学过单片机

单片机C语言如何实现8个LED流水灯来回流动?
1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序:

用C语言编写一个在八个数码管上轮流显示1-8的程序
我这个程序是在PROTUES仿真上做的 你可以根据程序自己画电路图 很简单的 这里用到了两片74HC573 芯片 显示0---F#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit duan=P1^6;sbit wei=P1^7;uchar temp=0x01;uchar code tab[]={ 0xc0,0xf9,0xA4,0xb0,0x...

单片机C语言如何实现8个LED流水灯来回流动?
1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序: