#include"reg52.h"
#include"intrins.h" //_crol_和_cror_移位函数的库函数,使用_crol_和_cror_移位函数必须要先声明库函数
#define uchar unsigned char
void Delay_1ms(unsigned int Time)
{
unsigned int x, y;
for(x = Time; x > 0; x--)
for(y = 120; y > 0; y--); //延时函数,老生常谈
}
void main(void)
{
uchar led1,led2;
led1=0xFE;
led2=0xFE;
while(1)
{
if(P1==0xFE) //定义按键K1,按键接P1^0口 1111 1110 接地变为低电平
{
Delay_1ms(50); //延时防抖动
while(P1==0xFE);
{
P2=led1; //P2口初始值
led1=_crol_(led1,1); //使用循环左移函数,一定要保持循环初始值有0。使用该函数使程序简单很多
Delay_1ms(50);
}
}
if(P1==0xFD) //定义按键K2,按键接P1^1口 1111 1101 接地变为低电平
{
Delay_1ms(50); //延时防抖动
while(P1==0xFD);
{
P2=led2; //P2口初始值
led2=_cror_(led2,1); //使用循环右移函数,一定要保持循环初始值有0。使用该函数使程序简单很多
Delay_1ms(50);
}
}
}
}
我的问题是,无法衔接左右移位,导致换向时混乱,请教一下改进方法,谢谢