#include <reg51.h> //此文件中定义了51的一些特殊功能寄存器
#include <intrins.h>
// 延时子程序
void delayms(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
main()
{
unsigned char LED;
LED = 0xfe; //0xfe = 1111 1110
while(1)
{
P2 = LED;
delayms(250);
LED = LED << 1; //循环左移1位,点亮下一个LED "<<"为左移位
if(LED == 0x00 ) {LED = 0xfe; } // 0xfe = 1111 1110
}
}
LED = 0xfe;和 LED = LED << 1; 是什么意思?
请详细解释一下语句,谢谢
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-12-01
oxfe是16进制数
LED = 0xfe 代表让最后一个灯亮 LED = LED << 1; 意思是让赋给led的16进制数左移一,在电路上表现为倒数第二个灯亮本回答被提问者采纳
LED = 0xfe 代表让最后一个灯亮 LED = LED << 1; 意思是让赋给led的16进制数左移一,在电路上表现为倒数第二个灯亮本回答被提问者采纳
第2个回答 2010-12-01
LED = 0xfe 第一位不亮
LED = LED << 1 不亮的左移一位本回答被网友采纳
LED = LED << 1 不亮的左移一位本回答被网友采纳
第3个回答 2010-12-01
#include <reg52.h>
#include <intrins.h>//循环移位头文件
#define uchar unsigned char
sbit key=P3^4;//???????????
delay(uchar t) //t*200ms延迟函数
{
uchar i,j;
for(i=t;i>0;i--)
for(j=200;j>0;j--);
}
main()
{
uchar led;
led=0xfe;
while(1)
{
P1=led;
led=_crol_(led,1);
delay(200);
}
}
#include <intrins.h>//循环移位头文件
#define uchar unsigned char
sbit key=P3^4;//???????????
delay(uchar t) //t*200ms延迟函数
{
uchar i,j;
for(i=t;i>0;i--)
for(j=200;j>0;j--);
}
main()
{
uchar led;
led=0xfe;
while(1)
{
P1=led;
led=_crol_(led,1);
delay(200);
}
}
第4个回答 2015-07-21
oxfe是16进制数 LED = 0xfe 代表让最后一个灯亮 LED = LED