📄 ysf.c
字号:
/****************************************************************************
“天祥电子” 倾情奉献
www.txmcu.cn
www.txmcu.com
*****************************************************************************
程序功能: 比较循环移位与非循环移位。程序中,P1=m<<2;为非循环移位。
P1=_crol_(m,2);为循环移位。注意观察P1口相连的各发光led的亮灭变化,
进而比较两者间的差异。
当按键S2没有被按下时,执行的为循环移位;当按下时,执行非循环移位。
****************************************************************************/
#include <reg52.h>
#include <intrins.h>
sbit s2=P3^4;
void main()
{
unsigned char m=0xf3;
while(1)
{
if(s2==0)
P1=m<<2;//将左移运算结果送P1口,此运算符为不循环移动,即移出的数据将丢失,而后面的将补零
else
P1=_crol_(m,2);//这个为循环移位,即移出的那些位将被送入到低位。
//但是注意,调用这个_crol_(,)之前,要在头文件中包含intrins.h。
}
}
/*另外,>>为非循环右移运算符。而_cror_(,)为循环右移函数。
其包含于intrins.h头文件中,该文件还包含有其他移位函数,
有兴趣的同学可以查阅相关资料。*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -