嵌入式 Keil C51单片机流水灯

#include<reg51.h>
sbit KEY1=P0^0;//定义KEY1,KEY2,KEY3在单片机P0组接口
sbit KEY2=P0^1;
sbit KEY3=P0^3;
void Delayms(unsigned int m){              //定义一个Delayms ms级延时函数 ,Unsigned无符号整数m
    unsigned int a,b;                                //定义 整数 a,b
    for(b=m;b>0;b--)                                //使用for循环,如果b>0则b自减
    for(a=125;a>0;a--);                             //a=125 最大值为125 自减
}
void main(){                                //无返回值的函数入口
P1=0xff;                        //八进制的P1端口输出 1111 1111,所有灯熄灭
    while(1)
    {if(KEY1 == 0)                //判断按键状态,如果为低电平有可能是按键按下
    
    {Delayms(20);                //按键延时消抖
    if(KEY1 ==0)            //再次判断按键状态
    {P1 = 0x00;}                      //0000 0000,所有灯为带电状态,所有灯亮

 }        
    else if(KEY2 == 0)
{Delayms(20);
if(KEY2 == 0)
{P1 = 0x55;}                //01010101,交替亮灭
}
    else if (KEY3 == 0)
{    Delayms(20);
    if(KEY3 ==0)
{P1 = 0XF0;     //11110000,低电四位亮,高电四位灭

                        }

                }

        }

}

           

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值