实验一:流水灯实验

一、实验目的
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个发光二极管二极管开始全部亮,然后依次熄灭,直到全灭。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值