51单片机基础之流水灯(一)

代码:

#include <reg52.h>        //不再赘述

#define LED P2                //宏定义P2端口,偏于直接操作

void delay(unsigned int u16)    //不再赘述
{
        while(u16--);
}

void main(void)
{        
        int i;            //定义一个变量
        while(1)
        {
                for(i=0;i<8;i++)    //循环执行八次
                {
                        LED=~(0x01<<i);  

 //第一次执行的时候左移一位,第二次左移两位,第三次左移三位,以此类推
                        delay(50000);            //不再赘述
                }    
                for(i=0;i<6;i++)        //循环执行六次
                {                                        
                        LED=~(0x40>>i);    //第一次执行右移一次,第二次右移两次,以此类推。
                        delay(50000);        //不再赘述
                }                    
        }
}

//这个流水灯用左移右移实现,效果还是可以的。

运行结果:

LED从左往右逐个亮灭,再逐个从右往左亮灭。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值