找回密码
 立即注册

QQ登录

只需一步,快速开始

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

按键控制LED 按键K1总开,按键K2/K3/K4分别控制LED1/LED2/LED3,刚接触单片机,各...

[复制链接]
跳转到指定楼层
楼主
ID:78005 发表于 2015-5-26 15:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按键控制LED 按键K1总开,按键K2/K3/K4分别控制LED1/LED2/LED3,刚接触单片机,各位帮帮忙
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:81118 发表于 2015-5-26 16:19 | 只看该作者
#inlcude <reg51.h>
sbit LED1 =  P1^0;  // LED 高电平亮
sbit LED2 =  P1^1;
sbit LED3 =  P1^2;
sbit KEY1 =  P2^0;//按键低电平有效
sbit KEY2 =  P2^1;
sbit KEY3 =  P2^2;
sbit KEY4 =  P2^3;

char KEY1_T,KEY2_T,KEY3_T,KEY4_T;
void main()
{
   while(1)
{
    if       ( (KEY1 == 0)&&(KEY1_T == 0) ){LED1 = 1;LED2 = 1;LED3 = 1;KEY1_T = 1;} //总控开
   else if  ( (KEY1 == 0)&&(KEY1_T == 1) ){LED1 = 0;LED2 = 0;LED3 = 0;KEY1_T = 0;} //总控关

    if       ( (KEY2 == 0)&&(KEY2_T == 0) ){LED1 = 1;KEY2_T = 1;}  //LED1 开
   else if  ( (KEY2 == 0)&&(KEY2_T == 1) ){LED1 = 0;KEY2_T = 0;}  //LED1 关

   if        ( (KEY3 == 0)&&(KEY3_T == 0) ){LED2 = 1;KEY3_T = 1;} //LED2 开
   else if  ( (KEY3 == 0)&&(KEY3_T == 1) ){LED2 = 0;KEY3_T = 0;} //LED2关

   if        ( (KEY4 == 0)&&(KEY4_T == 0) ){LED3 = 1;KEY4_T = 1;} //LED3 开
   else if  ( (KEY4 == 0)&&(KEY4_T == 1) ){LED3 = 0;KEY4_T = 0;} //LED3关

}
}


自己在弄一下按键去抖!

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:78005 发表于 2015-5-26 16:38 | 只看该作者
谢谢!
回复

使用道具 举报

地板
ID:74441 发表于 2015-5-28 00:11 | 只看该作者
你的电路是自己焊的,还是买的,如果是买的,你可以投机取巧,直接接电源,sbit L1=Key1,按下去就会有反应,程序的话也比较简单,就是一个if(Key1==P)

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:78005 发表于 2015-5-28 14:17 | 只看该作者
时光溢彩 发表于 2015-5-28 00:11
你的电路是自己焊的,还是买的,如果是买的,你可以投机取巧,直接接电源,sbit L1=Key1,按下去就会有反应 ...

详细点
回复

使用道具 举报

6#
ID:81380 发表于 2015-5-28 17:16 | 只看该作者
每台看懂
回复

使用道具 举报

7#
ID:81380 发表于 2015-5-28 17:17 | 只看该作者
这里面都是51 单片机吗

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:74441 发表于 2015-5-28 23:58 | 只看该作者

在详细就只有程序
回复

使用道具 举报

9#
ID:78005 发表于 2015-6-15 08:08 | 只看该作者
回复

使用道具 举报

10#
ID:83246 发表于 2015-6-17 12:41 | 只看该作者
其实很简单,如果要学会,多看看那些视频教程,单独将如何点亮LED  如何扫描键盘,如何去抖,都有讲,这里回答你都不是很全面

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

11#
ID:83294 发表于 2015-6-17 20:41 | 只看该作者
是要源代码么?要是写的话就直接写K1按下后标志位置1,然后在标志位置1以后再判断其他按钮是不是按下就可以了啊

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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