C51中 _crol_ 的使用问题
方式A:unsignedinttemp=0x01;voiddelay();while(1){delay();P1=temp;temp=_crol_(temp,1);}方式...
方式A:
unsigned int temp=0x01;
void delay();
while(1)
{
delay();
P1=temp;
temp=_crol_(temp,1);
}
方式B:
void delay();
while(1)
{
delay();
P1=_crol_(P1,1); // 没用中间变量,直接左移
}
A和B在C51中调试都没问题,打开P1口查看,都是左移
在Proteus中仿真时,A没问题,但B出现问题,P1口全是蓝色的低电平。
把8个LED全删掉,直接观察P1口,又发现红色的高电平能够左移循环。
怎么回事?怎么用方式B左移,P1口连上LED后就出问题了? 展开
unsigned int temp=0x01;
void delay();
while(1)
{
delay();
P1=temp;
temp=_crol_(temp,1);
}
方式B:
void delay();
while(1)
{
delay();
P1=_crol_(P1,1); // 没用中间变量,直接左移
}
A和B在C51中调试都没问题,打开P1口查看,都是左移
在Proteus中仿真时,A没问题,但B出现问题,P1口全是蓝色的低电平。
把8个LED全删掉,直接观察P1口,又发现红色的高电平能够左移循环。
怎么回事?怎么用方式B左移,P1口连上LED后就出问题了? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询