找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2966|回复: 9
打印 上一主题 下一主题
收起左侧

菜鸟求单片机按键控制led灯的程序编写思路

[复制链接]
跳转到指定楼层
楼主
ID:399179 发表于 2019-3-10 16:36 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位老师好!本菜鸟求个程序,用两个按键控制一个led灯,要求两个按键同时按下或同时放开时led灯不亮,只要有一个按键按下去led灯才亮。望老师们不吝赐教!我用的是if(key1!=key2)  led==0但不能实现!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:399179 发表于 2019-3-10 20:06 来自手机 | 只看该作者
不好意思,标题打错了,应该是led,不是lef
回复

使用道具 举报

板凳
ID:475444 发表于 2019-3-11 07:06 | 只看该作者
快乐眼泪 发表于 2019-3-10 20:06
不好意思,标题打错了,应该是led,不是lef

思路快差不多了,再加把劲

评分

参与人数 1黑币 +8 收起 理由
struct00 + 8 很给力!

查看全部评分

回复

使用道具 举报

地板
ID:164602 发表于 2019-3-11 09:48 | 只看该作者
根据你的要求,我不知道:一个键按下灯亮,那么一个键放开后是什么结果。
按你的要求,我有了一个程序:一个键按下灯亮,放开灯不亮,两个键按下或放开都不亮。
程序不是最好的,但能达到你说的要求。
#include<reg51.h>

sbit k1=P3^1;
sbit k2=P3^0;
sbit LED=P2^2;

void Delay10ms(unsigned int c);

void main(void)
{
        while(1)
        {       
                if((k1==0)&&(k2==1))//扫描键盘k1
                {
                        Delay10ms(1);
                        if((k1==0)&&(k2==1))
                        {
                                LED=0;
                        }
                }
                if((k1==1)&&(k2==0))//扫描键盘k1
                {
                        Delay10ms(1);
                        if((k1==1)&&(k2==0))
                        {
                                LED=0;
                        }
                }
                if(((k1==1)&&(k2==1))||((k1==0)&&(k2==0)))//扫描键盘k1
                {
                        Delay10ms(1);
                        if(((k1==1)&&(k2==1))||((k1==0)&&(k2==0)))
                        {
                                LED=1;
                        }
                }

        }               
}

void Delay10ms(unsigned int c)
{
    unsigned char a,b;
    for(c;c>0;c--)
        for(b=38;b>0;b--)
            for(a=130;a>0;a--);
}
回复

使用道具 举报

5#
ID:488368 发表于 2019-3-11 10:27 | 只看该作者
你现在用的是什么单片机
回复

使用道具 举报

6#
ID:213173 发表于 2019-3-11 20:02 | 只看该作者
if(key1!=key2)
led=0;
else led=1;
回复

使用道具 举报

7#
ID:269381 发表于 2019-3-11 21:53 | 只看该作者
哪个单片机?
回复

使用道具 举报

8#
ID:399179 发表于 2019-3-12 18:49 来自手机 | 只看该作者
Crazyxiaomen 发表于 2019-3-11 21:53
哪个单片机?

stc的89c51
回复

使用道具 举报

9#
ID:399179 发表于 2019-3-12 18:49 来自手机 | 只看该作者
HC6800-ES-V2.0 发表于 2019-3-11 09:48
根据你的要求,我不知道:一个键按下灯亮,那么一个键放开后是什么结果。
按你的要求,我有了一个程序:一 ...

谢谢!!!
回复

使用道具 举报

10#
ID:399179 发表于 2019-3-12 19:14 来自手机 | 只看该作者
ledao 发表于 2019-3-11 10:27
你现在用的是什么单片机

谢谢!用的stc89
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表