按键控制led灯亮灭c语言原理,4个独立按键控制4个LED亮灭的单片机程序问题

本文讨论如何使用C语言编写单片机程序,实现4个独立按键即时控制4个LED灯的亮灭。目前的问题在于,程序设计为按键松手后LED灯才响应,而希望在按键按下时立即响应。文中给出了包含按键抖动消除的代码示例,并请求帮助优化以实现按键即时响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本帖最后由 ll13536121668 于 2017-11-2 17:32 编辑

a558bb88a82966b0a4f7c574ca41bc97.png

4只独立按键控制4只LED亮和灭,按下按键,LED亮,再按下,LED灭。因为我们很多都是按完按键,松开手LED才亮。 我现在是想一按按键,LED就亮或灭,这个又怎么写呢?while(!key1)   ,while(!key2)   ,while(!key3)   ,while(!key4  )这句是松手之后,LED亮或灭,但是,如果去掉这一句松手检测,那按键就不灵活了,有时行,有时不行,有时要按很多次才亮或者灭,请朋友们帮帮忙,要怎样改才正确?谢谢。下面是程序

#include

//定义一下,方便使用

#define uchar unsigned char

#define uint  unsigned int

sbit key1=P2^4;                //按键1定义

sbit key2=P2^5;                //按键2定义

sbit key3=P2^6;                //按键3定义

sbit key4=P2^7;            &nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值