/*****************************************
*用P1口接LED
*****************************************/
#include
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint); //声明延时函数
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P1^=temp;
delay(500); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P1^=temp;
delay(500); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P1=temp;
delay(500); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P1=temp;
delay(500); //调用延时函数
temp>>=1;
}
}
}
void delay(uint t) //定义延时函数
{
register uint bt; //register为寄存器变量 即将无符号整形变量bt放在CPU的寄存器中而不是放在内存中 因为该
变量使用频率高 这样可以提高执行效率
for(;t;t--)
for(bt=0;bt<255;bt++);
}
delay(unsigned int t)
{while(t--);}
main()
{unsigned char a=0x01,b=0xfe,i,j;
while(1)
{
b=0xfe;
for(i=0;i<7;i++)
{a=0x01 ;
for(j=0;j<8;j++)
{P1=a;
a<<=1;
P3=b;
delay(5000);
}
b<<=1;
b|=1;
}
}
}
如果这么简单的单片机程序都不会写,建议你看看书。