单片机 左移函数是怎么用的

例如 P2=0xff; P2=_crol_(P2,1);

左循环本征函数:

函数原型:unsigned char _crol_(unsigned char a,unsigned char n);

单片机左移函数用法:

例如,P2=0xff; P2=_crol_(P2,1);//语法是对的,但这是没意义的,因为执行程序后P2还是原值0xff

P2=0xfe; P2=_crol_(P2,1);//执行程序后P2=0xfd

扩展资料:

单片机相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。单片机也被称为单片微控器,属于一种集成式电路芯片。

在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。 

参考资料来源:百度百科-单片机

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-08
左循环本征函数:
函数原型:unsigned char _crol_(unsigned char a,unsigned char n);
单片机左移函数用法:
例如,P2=0xff; P2=_crol_(P2,1);//语法是对的,但这是没意义的,因为执行程序后P2还是原值0xff

P2=0xfe; P2=_crol_(P2,1);//执行程序后P2=0xfd追问

也就是说,最后一位用0补上,右移也是同样的对么

追答

错了错了!补0的左右移C51有运算符>,直接使用就行了。
比如:
P2=P2>2;//P2右移2位,最高2位补0
但是,C51没有循环移位运算符,为弥补这一不足,才有了系统函数_crol_等。

_crol_(P2,1);将P2循环左移1位,最高位进最低位。

本回答被提问者和网友采纳
第2个回答  2015-05-25
这程序,有些不良。

参加移位的,是从 P2 读入的内容。

具体的东西,要取决于 P2 外部的引脚电平。光看程序,不能确定。
第3个回答  2018-12-19
个人觉得你上面这个程序左移没有意义,因为是11111111,左移之后还是原来的值,不知道我说的对不对
相似回答