51单片机LED流水灯实验报告.docx
51单片机LED流水灯实验报告
51单片机是一种常用的单片机,具有广泛的应用领域。流水灯实验是51单片机学习中的基础实验之一,通过实验可以学习到51单片机的输入输出端口的控制方法,以及基本的程序设计和调试技巧。
实验器材:
1.51单片机开发板
2.8个LED灯
3.杜邦线若干
实验原理:
该实验的原理较为简单。通过控制51单片机的IO口输出高低电平,从而控制LED灯的亮灭。流水灯实验的原理是,通过51单片机的8个IO口依次输出高电平,然后通过一个循环,每个IO口依次输出高电平的同时,前一个IO口输出低电平,从而形成LED灯的流水效果。
实验步骤:
1.将8个LED灯与51单片机的8个IO口连接。注意连接的顺序,第一个LED灯连接到P0.0口,第二个连接到P0.1口,以此类推,最后一个LED灯连接到P0.7口。
2.编写流水灯的控制程序。以下是一个简单的流水灯控制程序的例子:
```
#includereg52.h//包含51单片机的库文件
sbitLED0=P0^0;//定义LED0连接的IO口,即P0.0
sbitLED1=P0^1;//定义LED1连接的IO口,即P0.1
sbitLED2=P0^2;//定义LED2连接的IO口,即P0.2
sbitLED3=P0^3;//定义LED3连接的IO口,即P0.3
sbitLED4=P0^4;//定义LED4连接的IO口,即P0.4
sbitLED5=P0^5;//定义LED5连接的IO口,即P0.5
sbitLED6=P0^6;//定义LED6连接的IO口,即P0.6
sbitLED7=P0^7;//定义LED7连接的IO口,即P0.7
voidmain(){
while(1){//无限循环
LED0=0;//将LED0点亮
LED1=1;//将LED1熄灭
LED2=1;//将LED2熄灭
LED3=1;//将LED3熄灭
LED4=1;//将LED4熄灭
LED5=1;//将LED5熄灭
LED6=1;//将LED6熄灭
LED7=1;//将LED7熄灭
delay();//延时一段时间
LED0=1;//将LED0熄灭
LED1=0;//将LED1点亮
delay();//延时一段时间
LED1=1;//将LED1熄灭
LED2=0;//将LED2点亮
delay();//延时一段时间
LED2=1;//将LED2熄灭
LED3=0;//将LED3点亮
delay();//延时一段时间
LED3=1;//将LED3熄灭
LED4=0;//将LED4点亮
delay();//延时一段时间
LED4=1;//将LED4熄灭
LED5=0;//将LED5点亮
delay();//延时一段时间
LED5=1;//将LED5熄灭
LED6=0;//将LED6点亮
delay();//延时一段时间
LED6=1;//将LED6熄灭
LED7=0;//将LED7点亮
delay();//延时一段时间
}
}
voiddelay(){//延时函数
inti,j;
for(i=0;i255;i++)
for(j=0;j255;j++);
}
```
3.将写好的程序下载到51单片机开发板中,并连接好电源。通过下载器将程序下载到开发板中,然后开启开关,即可看到8个LED灯的流水效果。
实验结果:
经过实验,我们可以看到8个LED灯依次亮起,并形成了一个流水的效果。LED灯依次亮起的速度和流水的效果可以通过调整延时时间来实现。
实验总结:
通过这次实验,我们学习到了51单片机的基本控制方法,了解了51单片机的输入输出端口的控制方式。同时,通过编写简单的程序,我们也巩固了基本的程序设计和调试技巧。这次实验是51单片机学习中的一次基础实践,对于后续的学习和项目开发起到了很好的开端。
参考内容:
《51单片机原理与接口技术实验教程》