按键控制1只发光二极管闪烁

STC15W4K32S4单片机

指示灯系列

任务二

按键控制1只发光二极管,当按键按下时,发光二极管闪烁,当按键释放时,发光二极管熄灭。

参考代码

#include <STC15.H>

void delay(unsigned int i)//延时函数
{
while(i--);
}

void main()//主函数
{
    P0M0=0x00;P0M1=0x00;
    P2M0=0x00;P2M1=0x00;
    P6M0=0x00;P6M1=0x00;//准双向口
    P27=0;
    P64=0;//按键
    while(1)
    {if(P60==0)//判断按键是否按下
        {
        P06=1;
        delay(50000);
        P06=0;
        delay(50000);
        }
        else
        P06=1;
    }
}

拓展练习:

两个按键控制两个LED灯,K1按下LED1亮,K2按下LED2亮,K1和K2同时按下或释放,LED灯均不亮。

K1按下,K2未按下,LED1点亮;

K1未按下,K2按下,LED2点亮;

否则,LED1和LED2熄灭。

#include <STC15.H>

void delay(unsigned int i)//延时函数
{
    while(i--);
}

void main()//主函数
{
    P0M0=0x00;P0M1=0x00;
    P2M0=0x00;P2M1=0x00;
    P6M0=0x00;P6M1=0x00;//准双向口
    P27=0;
	P64=0;//按键一端为低电平
    while(1)
    {if(P60==0&&P61==1)//判断k1按键是否按下
        {
        P06=1;
        delay(50000);
        P06=0;
        delay(50000);
        }
     else if(P60==1&&P61==0)//判断k2按键是否按下
    {
        P05=1;
        delay(50000);
        P05=0;
        delay(50000);
    }
    else//其余情况不亮
    P06=1;
    P05=1;
    }
}

如果发现程序存在问题,欢迎留言指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值