一、实验目的
1、掌握KEIL51和proteus软件的使用方法
2、掌握51单片机并行口的输出方式的编程。
3、掌握延时程序的编写和应用。
二、实验设备及软件
1、PC机
2、KEIL51
3、proteus
三、实验任务
通过对AT89S52单片机P0口编程,实现对8个发光二极管的循环显示控制。
四、实验步骤
1、proteus原件清单表
表1 流水灯元件清单表
2、 电路原理图
流水灯电路图
3、实验源程序
4、仿真结果
读开关S1,若S1闭合,8个发光二极管开始全部熄灭,然后依次点亮,直到全亮。
若S1断开,8个发光二极管二极管开始全部亮,然后依次熄灭,直到全灭。
1、掌握KEIL51和proteus软件的使用方法
2、掌握51单片机并行口的输出方式的编程。
3、掌握延时程序的编写和应用。
二、实验设备及软件
1、PC机
2、KEIL51
3、proteus
三、实验任务
通过对AT89S52单片机P0口编程,实现对8个发光二极管的循环显示控制。
四、实验步骤
1、proteus原件清单表
表1 流水灯元件清单表
2、 电路原理图
流水灯电路图
3、实验源程序
#include<reg51.h>
#include<intrins.h>
sbit p1_0=P1^0;
void delay(unsigned int k)
{
unsigned int i,j;
for(i=0;i<k;i++)
for(j=0;j<100;j++);
}
void main()
{
unsigned int i;
while(1)
{
if(p1_0==0)
{
P0=0x00;
for(i=0;i<=7;i++)
{
delay(100);
P0=P0<<1;
P0=P0|0x01;
delay(100);
}
}
else
{
P0=0xff;
for(i=0;i<=7;i++)
{
delay(100);
P0=P0<<1;
delay(100);
}
}
}
}
4、仿真结果
读开关S1,若S1闭合,8个发光二极管开始全部熄灭,然后依次点亮,直到全亮。
若S1断开,8个发光二极管二极管开始全部亮,然后依次熄灭,直到全灭。