搜索
bottom↓
12
返回列表 发新帖
楼主: eagle_avr

两个I/O口可以实现五个按键吗?请大家帮忙!

[复制链接]

出0入0汤圆

发表于 2011-10-24 12:47:41 | 显示全部楼层
用AD的可以同时按吗?
用几个RC网络不是也一样?

出0入0汤圆

发表于 2011-10-24 12:54:51 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-10-26 14:08:41 | 显示全部楼层
三菱键盘,先作个标记。

出0入0汤圆

发表于 2011-11-9 21:47:26 | 显示全部楼层
三菱。。艺术。

出0入0汤圆

发表于 2011-11-20 21:20:25 | 显示全部楼层
用AD的方式,可以很多个

出0入0汤圆

发表于 2011-11-21 08:40:52 | 显示全部楼层
三菱形的思路比较新颖,而且比用AD的软件也简单的多,很好的思路

出0入0汤圆

发表于 2011-11-25 10:54:47 | 显示全部楼层
挺新鲜的三菱键盘。。。学习了

出0入0汤圆

发表于 2011-11-25 19:47:14 | 显示全部楼层
回复【2楼】AVR-BIN LED照明/灯饰
-----------------------------------------------------------------------

大才

出0入0汤圆

发表于 2011-11-28 14:32:29 | 显示全部楼层
回复【楼主位】eagle_avr
-----------------------------------------------------------------------

三菱键盘,不错。。。

出0入0汤圆

发表于 2011-11-30 18:42:40 | 显示全部楼层
三菱的好想法,但是ADC的是怎么实现呢?请问下哈

出0入0汤圆

发表于 2012-2-1 11:10:06 | 显示全部楼层
三菱键盘扫描方法:
其实【13楼】 h2feo4 无机酸  的两个贴子中已经对各种键盘的扫描方式作了很详尽,很深入的介绍,这里再简单地重复一下。
以51单片机准双向口的IO为例,采用定时中断对两口线分三次扫描,扫描结果记录于静态变量Key_state中。对照下图,对于按下K1~K6,Key_state可以分别得到不同的值:0x06,0x09,0x00,0x0e,0x0d,0x0c
主程序中只要根据Key_state的值,并加以消抖,即可进行判断并执行相应的动作。

void Key_scan() interrupt 1         //定时器T0中断函数
{
    TH0 = 0xd9;                     //重装定时器,10ms@12MHz OSC
    TL0 = 0xf0;
    Key_state = 0;                  //初始化按键状态变量
    if (GPIO1) Key_state |= 0x08;   //检测两口线状态,并记录
    if (GPIO2) Key_state |= 0x04;   
    前面判断的是GPIO口都设置为输入的情况下,下面一个语句应该是把GPIO口设置为输出后在进行清零吧????
    GPIO1 = 0;                      //将口线1置0
    _nop();
    _nop();                         //等待口线2状态稳定
    if (GPIO2) Key_state |= 0x02;   //记录口线2状态
    GPIO1 = 1;                      //恢复口线1为1
    GPIO2 = 0;                      //将口线2置0
    _nop();
    _nop();                         //等待口线1状态稳定
    if (GPIO1) Key_state |= 0x01;   //记录口线1状态
    GPIO2 = 1;                      //恢复口线1为1
}

出0入0汤圆

发表于 2012-5-7 22:03:26 | 显示全部楼层
还是没明白,先标记吧

出0入0汤圆

发表于 2012-5-7 22:15:51 | 显示全部楼层
作个记号,学习

出0入0汤圆

发表于 2012-5-7 22:29:02 | 显示全部楼层
AD按键在潮湿的环境下故障率很高。喜欢用二极扩展的。

出0入0汤圆

发表于 2012-5-7 22:40:46 | 显示全部楼层
精彩  三菱键盘!

出0入0汤圆

发表于 2012-5-7 22:48:28 | 显示全部楼层
不错,学习了。。。

出0入0汤圆

发表于 2012-5-9 10:06:51 | 显示全部楼层
AD和三凌都是好办法,不过这个三凌有更具体些的资料吗?还是有些不明白.
哪位朋友提供一下好吗.

出0入0汤圆

发表于 2012-5-9 10:35:14 | 显示全部楼层
不过AD法,如果采用并联加串联的方式,这样应该可以用复合按键了,因为复合按下去的又是另外的电压值了.

出0入0汤圆

发表于 2012-5-11 12:37:40 | 显示全部楼层
谢谢分享。。。

出0入0汤圆

发表于 2012-5-11 12:44:35 | 显示全部楼层
一个按键都能玩成这样,牛呀

出0入0汤圆

发表于 2012-5-15 17:35:52 | 显示全部楼层
学习了,

出0入0汤圆

发表于 2012-5-17 09:59:52 | 显示全部楼层
用个74LS148扩展一下,然后跟LCD共用几个引脚就可以了
其实LCD用6个引脚就可以了,RW直接接地

出0入0汤圆

发表于 2012-7-3 11:03:54 | 显示全部楼层
hexixiaomao 发表于 2009-10-23 22:47
这个三菱键盘好像有个BUG吧   

3个IO口就可以实现九个按键了!

出0入0汤圆

发表于 2012-7-3 13:59:45 | 显示全部楼层
MARK!作个记号

出0入0汤圆

发表于 2012-7-6 23:27:15 | 显示全部楼层
学习了。。。

出0入0汤圆

发表于 2012-7-8 21:07:21 | 显示全部楼层
cowboy 发表于 2008-12-27 11:41
三菱键盘

加两个二极管就可以扩展成6个按键了

好想法,有创意!

出0入0汤圆

发表于 2012-7-10 15:14:09 | 显示全部楼层
1602液晶可以用4线啊,坛子里有很多例子

出0入0汤圆

发表于 2012-7-10 17:11:39 | 显示全部楼层
太牛皮了,三菱按键,塔式按键的升级版

出0入0汤圆

发表于 2012-7-10 17:12:10 | 显示全部楼层
我怎么不能加好友啊

出0入0汤圆

发表于 2012-7-25 14:26:26 | 显示全部楼层
记号!!

出0入0汤圆

发表于 2012-8-3 15:16:38 | 显示全部楼层
溜达溜达看看

出0入0汤圆

发表于 2012-8-3 17:26:51 | 显示全部楼层
好牛掰的方法

出0入0汤圆

发表于 2012-8-3 22:57:26 | 显示全部楼层
三菱键盘,真好!

出0入0汤圆

发表于 2012-8-3 23:17:35 | 显示全部楼层
牛X的一个贴,MARK

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-10-7 13:11

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

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