c51独立按键程序,按下k1按键后对应的灯亮,但松开k1按键后灯还亮,k2也是如此,求大侠!

 我来答 举报
jiangzuq
推荐于2020-02-28 · TA获得超过120个赞
知道答主
回答量:37
采纳率:0%
帮助的人:32.6万
展开全部
这个程序中没有熄灭的程序,单片机当然不会有熄灭的操作。修改如下:
if(k1==0)
P2=0xee;
else
P2=0xff;
if(k2==0)
P2=0xfd;
else
P2=0xff;
这是按住就亮,松开就灭的程序。
如果想实现按一次亮,再按一次熄灭。程序如下:
bit a=0,b=0;//做按键点亮熄灭标志
while(1)
{
if(k1==0&&a==0)
{
P2=0xee;
a=1;
}
else if(k1==0&&a==1)
{
P2=0xff;
a=0;
}
if(k2==0&&b==0)
{
P2=0xfd;
b=1;
}
else if(k1==0&&b==1)
{
P2=0xff;
b=0;
}
}
本回答被提问者采纳
12 已赞过 已踩过<
你对这个回答的评价是?
评论(1) 举报 收起
hck2llj
2012-08-29 · TA获得超过2198个赞
知道小有建树答主
回答量:1196
采纳率:75%
帮助的人:1105万
展开全部
不用这么复杂,这样写就好了。
#include <reg51.h>
sbit LED1 = P1 ^ 0;
sbit LED2 = P1 ^ 1;
sbit KEY1 = P3 ^ 0;
sbit KEY2 = P3 ^ 1;
void main( void )
{
LED1 = 1;
LED2 = 1;
while(1)
{
if( KEY1 == 0 )
{
LED1 = ~LED1;
while( !KEY1 );
}
if( KEY2 == 0 )
{
LED2 = ~LED2;
while( !KEY2 );
}
}
}
本回答被网友采纳
5 已赞过 已踩过<
你对这个回答的评价是?
评论(2) 举报 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式