谁能帮我解释一下下面这个程序每句话的意思...急

2024-11-07 13:22:54
推荐回答(1个)
回答1:

#include
#define uchar unsigned char
#define uint unsigned int
void delay(uint);
void main(void)
{
uint i;
uchar temp;//定义变量
while(1)
{
temp=0x01;//0000 0001赋初值
for(i=0;i<8;i++) //循环八次
{ P1=~temp;//变量赋给P1口
delay(100); //延时
temp<<=1;// 左移一位
} //整一个函数实现的是PI0点亮之后移位将P2-7依次点亮
temp=0x80;//1000 0000 P8口
for(i=0;i<8;i++)
{ P1=~temp;
delay(100);
temp>>=1;//右移一位
} //整个函数和上一个相反方向一次点亮LED
temp=0xFE;//1111 1110
for(i=0;i<8;i++)
{ P1=temp;
delay(100);
temp<<=1; //左移一位
} //实现功能从P1点亮再将所有P1口按顺序点亮
temp=0x7F;//0111 1111
for(i=0;i<8;i++)
{
P1=temp;
delay(100);
temp>>=1;
}}}
void delay(uint t) //延时函数 可按自己要求写
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++) ;
}
没整个函数实现了四种LED流水等效果,for循环执行一次就将temp值进行一位操作