找回密码
 立即注册

QQ登录

只需一步,快速开始

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

按键长按短按问题

[复制链接]
跳转到指定楼层
楼主
ID:56355 发表于 2014-10-14 23:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在只有一个按键,当按键短按的时候,灯1亮,当按键长按的时候,灯2亮,不想使用定时器或者中断函数。这个应该怎么处理??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:19715 发表于 2014-10-15 10:29 | 只看该作者
#include "reg51.h"
#define d 5000
#define c 5*d
unsigned int cnt;
sbit key=P3^7;
sbit LED1=P2^0;
sbit LED2=P2^1;
void main()                              
{
   key=1;
  LED1=1;
  LED2=1;
  cnt=0;
  while(1)
  {
     if(key)
      {  
       if(cnt>d && cnt<c) LED1=!LED1;//短按&acute;
       cnt=0;
      }   
    else   
      {  
        cnt++;  
        if( cnt==c )LED2=!LED2;//长按
        if( cnt>c  )cnt=c+1;   
      }  
   }
}

评分

参与人数 2威望 +50 黑币 +65 收起 理由
wulin + 15 好贴,简练实用。
admin + 50 + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:51348 发表于 2014-10-16 00:51 | 只看该作者
主函数循环次数
回复

使用道具 举报

地板
ID:56355 发表于 2014-10-17 21:09 | 只看该作者
明白 发表于 2014-10-15 10:29
#include "reg51.h"
#define d 5000
#define c 5*d

不好用啊
回复

使用道具 举报

5#
ID:56355 发表于 2014-10-17 21:24 | 只看该作者
明白 发表于 2014-10-15 10:29
#include "reg51.h"
#define d 5000
#define c 5*d

不好用啊
回复

使用道具 举报

6#
ID:19715 发表于 2014-10-17 23:19 | 只看该作者
你用汇编语言,还是c语音?,
复制有错误吗
回复

使用道具 举报

7#
ID:88943 发表于 2017-9-26 00:25 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

8#
ID:235700 发表于 2017-9-26 11:14 | 只看该作者
延时一下在判断 不就行了,若按键还按着  说明是长按
回复

使用道具 举报

9#
ID:235741 发表于 2017-9-26 13:25 | 只看该作者
没看明白上面的程序
回复

使用道具 举报

10#
ID:213173 发表于 2017-9-26 13:49 | 只看该作者
xinxian 发表于 2014-10-17 21:24
**** 作者被禁止或删除 内容自动屏蔽 ****

好用啊,难道你不是用C语言?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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