第二十的作业
一,//暗灯前进
#include //添加头文件
void delay(unsigned int i) //延时函数
{
while(i--);
}
void main()
{
unsigned char n;
while(1)
{
for(;n<2;n++) //循环2次
{
P1=0X01; //除了P1^0口的灯灭,其他灯都亮
delay(60000); //延时
P1=0X02; //除了P1^1口的灯灭,其他灯都亮
delay(60000); //延时
P1=0X04; //除了P1^2口的灯灭,其他灯都亮
delay(60000); //延时
P1=0X08; //除了P1^3口的灯灭,其他灯都亮
delay(60000); //延时
P1=0X10; //除了P1^4口的灯灭,其他灯都亮
delay(60000); //延时
P1=0X20; //除了P1^5口的灯灭,其他灯都亮
delay(60000); //延时
P1=0X40; //除了P1^6口的灯灭,其他灯都亮
delay(60000); //延时
P1=0X80; //除了P1^7口的灯灭,其他灯都亮
delay(60000); //延时
}
P1=0XFF; //全部灯都熄灭
}
}
二,//乒乓灯
#include //添加头文件
void delay(unsigned int i) //延时函数
{
while(i--);
}
void main()
{
unsigned char n,led;
led=0xff;
while(1)
{
for(n=1;n<9;n++) //执行8次左移位,逐个亮灯
{
led=(led<1;n--) //执行8次右移位,逐个灭灯
{
led=(led>>1)|0x80;
P1=led; //将led的状态赋值给P1口
delay(30000); //延时
}
}
}
使用Proteus软件进行仿真