单片机流水灯实验报告
五实验原理图六、实验参考程序
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
sbit P00=P0^0;
单片机流水灯实验报告
一、实验目的
1、熟练掌握AT89S52-Ⅰ型开发板的使用方法和注意事项。
2、了解简单单片机应用系统的设计方法。
3、掌握应用KEIL软件编辑、编译源汇编程序的操作方法。
4、掌握应用USBISP烧录软件的操作方法。
5、帮助学生养成良好实验习惯。
二、实验内容
在AT89S52-Ⅰ开发板上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象。
sbit P01=P0^1;
void delay(uchar t)
{
uchar i,j;
for(i=0;i<t;i++)
for(j=0;j<110;j++);
}
void main()
{
uchar i;
while(1)
{
P00=1;
delay(2000);
P00=0;
for(i=0;i<8;i++)
{
P1=table[i];
P2=table[i];
delay(2000);
}
P01=1;
delay(2000);
P01=0;
}
}
实物展示:
(1)单片机最小系统板
(2)自己焊制的集成最小系统板
(3)自己制作的心形流水灯实验板
(4)系统板与实验板的连接展示
(5)环形流水灯效果展示
2011年12月15日
三、实验说明
当8255的PA口有低电平输出时,相应的发光二极管就会点亮。应用这一原理我们可以容易的点亮一个数码管,例如令PA口输出0111 1111时D1就会点亮。若再把0111 1111向右循环一位,利用PA口输出,就会点亮D2。在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水”的现象。