搜索
bottom↓
回复: 13

诸位,同时按三个键,识别出来,有做过的么?

[复制链接]

出0入0汤圆

发表于 2010-4-2 15:07:38 | 显示全部楼层 |阅读模式
被要求做这样一个功能,有没有成熟的方案哪?

出0入0汤圆

发表于 2010-4-2 15:22:14 | 显示全部楼层
我想知道LZ如何做到“同时”,单片机可以区分到us级~~~
if((key1==0)&&(key2==0)&&(key3==9)){}

出0入4汤圆

发表于 2010-4-2 15:23:38 | 显示全部楼层
shift+alt+del

出0入0汤圆

 楼主| 发表于 2010-4-2 15:28:22 | 显示全部楼层
同时是指,用户一下按到三个键,并且三个键都各自有功能,然后要求一一实现每个键的功能

出0入0汤圆

发表于 2010-4-2 16:13:25 | 显示全部楼层
这个可能对你有用。
点击此处下载 ourdev_543134.doc(文件大小:32K) (原文件名:农民讲习所程序.doc)

出0入0汤圆

 楼主| 发表于 2010-4-19 21:52:11 | 显示全部楼层
谢谢楼上的,有参考价值的

出0入0汤圆

发表于 2010-4-19 22:39:43 | 显示全部楼层
8个都行
  key=PINB;
if(key!=0xff)
{ delay5ms();       //去抖动
    key=PINB;
  if(key!=0xff)
  {  
    if((key & (1<<0))==0) { }  //按键1
    if((key & (1<<1))==0) { }  //按键2
    if((key & (1<<2))==0) { }  //按键3
    if((key & (1<<3))==0) { }  //按键4
    if((key & (1<<4))==0) { }  //按键5
    if((key & (1<<5))==0) { }  //按键6
    if((key & (1<<6))==0) { }  //按键7
    if((key & (1<<7))==0) { }  //按键8
  }
}

出0入0汤圆

发表于 2010-4-20 00:37:23 | 显示全部楼层
楼上的,丢人啊。

这样一点也不可靠的东西还发出来。

出0入0汤圆

发表于 2010-4-20 01:40:35 | 显示全部楼层
你来个可靠的

出0入4汤圆

发表于 2010-4-20 08:36:22 | 显示全部楼层
不考虑浪费IO的话,6楼的算是比较可以的了。

帮6楼的稍改一下

8个都行
  key=PINB;
if(key!=0xff)
{ delay5ms();       //去抖动
    key2=PINB;      //改这里
  if(key==key2)     //改这里
  {  
    if((key & (1<<0))==0) { }  //按键1
    if((key & (1<<1))==0) { }  //按键2
    if((key & (1<<2))==0) { }  //按键3
    if((key & (1<<3))==0) { }  //按键4
    if((key & (1<<4))==0) { }  //按键5
    if((key & (1<<5))==0) { }  //按键6
    if((key & (1<<6))==0) { }  //按键7
    if((key & (1<<7))==0) { }  //按键8
  }
}

出0入0汤圆

发表于 2010-4-20 09:54:24 | 显示全部楼层
if(key1==0)
{
aa=1000;
}
if(key2==0)
{
aa=1000;
}
if(key3==0)
{
aa=1000;
}
if(key4==0)
{
aa=1000;
}
if(key5==0)
{
aa=1000;
}
if(key6==0)
{
aa=1000;
}
if(key7==0)
{
aa=1000;
}
if(key8==0)
{
aa=1000;
}


w...(bb<aa)
{
bb++;


if(key1==0)
{
aa=1000;
k1=1;
}
if(key2==0)
{
aa=1000;
k2=1
}
if(key3==0)
{
aa=1000;
k3=1
}
if(key4==0)
{
aa=1000;
k4=1;
}
if(key5==0)
{
aa=1000;
k5=1
}
if(key6==0)
{
aa=1000;
k6=1
}
if(key7==0)
{
aa=1000;
k7=1;
}
if(key8==0)
{
aa=1000;
k8=1;
}

}

if(k1==1)
{
;
k1=0;
}
.
.
.
.
.
.




解决 在用户 联续按下几个按键后  作出响应   不过还不能 按用户接下的 顺序来 运行

出0入0汤圆

发表于 2010-4-20 10:15:42 | 显示全部楼层
利用一个 for(cc=8;cc>2;cc--)
   配合 数组  

看能实现不 呵呵

出0入0汤圆

发表于 2010-4-20 10:20:22 | 显示全部楼层
使用AD

出0入0汤圆

 楼主| 发表于 2010-4-28 15:07:44 | 显示全部楼层
不是一根扫描线上的,任意三个键,可以做么
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 14:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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