实验三流水灯实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三:流水灯实验
一、实验目的
1、学习P1口的使用方法。
2、掌握C51语言的数据类型和基本运算。
3、掌握流水灯的工作原理。
二、实验环境
Keil和STC89C52实验板
三、实验内容
在STC89C52开发板上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象。
四、实验原理
当P1口有低电平输出时,相应的发光二极管就会点亮。应用这一原理我们可以容易的点亮一个数码管,例如令P1口输出11111110时LED1就会点亮。再利用移位思想,利用P1口输出,就会点亮LED2,以此类推。在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水”的现象。
五、实验原理图
六、实验步骤
1、在keil环境中,写好代码。
2、编译链接
3、下载在实验板上,观察流水灯现象。
七、实验源程序
#include <reg52.h>
char j=0x01;
void delay()
{
inti,ia;
for(i=5000;i>0;i--)
for(ia=10;ia>0;ia--);
}
void main()
{
Leabharlann Baiduinti;
while(1)
{
for(i=0;i<8;i++)
{
P1=~j;
j=j<<1;
delay();
}
j=0x01;
}
}
八、实验总结
在实验过程中,主要问题是在流水灯的移位问题上,需要了解符号”<<”的具体移位情况,这些通过查资料解决了。
一、实验目的
1、学习P1口的使用方法。
2、掌握C51语言的数据类型和基本运算。
3、掌握流水灯的工作原理。
二、实验环境
Keil和STC89C52实验板
三、实验内容
在STC89C52开发板上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象。
四、实验原理
当P1口有低电平输出时,相应的发光二极管就会点亮。应用这一原理我们可以容易的点亮一个数码管,例如令P1口输出11111110时LED1就会点亮。再利用移位思想,利用P1口输出,就会点亮LED2,以此类推。在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水”的现象。
五、实验原理图
六、实验步骤
1、在keil环境中,写好代码。
2、编译链接
3、下载在实验板上,观察流水灯现象。
七、实验源程序
#include <reg52.h>
char j=0x01;
void delay()
{
inti,ia;
for(i=5000;i>0;i--)
for(ia=10;ia>0;ia--);
}
void main()
{
Leabharlann Baiduinti;
while(1)
{
for(i=0;i<8;i++)
{
P1=~j;
j=j<<1;
delay();
}
j=0x01;
}
}
八、实验总结
在实验过程中,主要问题是在流水灯的移位问题上,需要了解符号”<<”的具体移位情况,这些通过查资料解决了。