搜索
bottom↓
楼主: raosibin

4*4按键,状态机思想:定时扫描+多键组合+连_发功能(具有实际应用意义)

  [复制链接]

出0入0汤圆

发表于 2010-8-16 14:33:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-16 19:16:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-16 22:01:38 | 显示全部楼层
mark!~

出0入0汤圆

发表于 2010-10-15 20:38:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-22 20:44:43 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2010-10-22 20:49:07 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2010-10-31 09:27:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-20 16:43:18 | 显示全部楼层
写的不错,正是我想要的

出0入0汤圆

发表于 2010-11-30 17:16:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-7 20:21:57 | 显示全部楼层
留个记号。

出0入0汤圆

发表于 2010-12-14 17:32:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-19 14:25:14 | 显示全部楼层
mark 学习

出0入0汤圆

发表于 2010-12-24 02:08:26 | 显示全部楼层
就冲楼主这精神也得收藏啊,谢谢分享!!慢慢品了

出0入0汤圆

发表于 2010-12-26 12:46:54 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-3-12 13:18:47 | 显示全部楼层
4*4按键,状态机思想

出0入0汤圆

发表于 2011-3-17 16:50:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-30 17:22:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-6 22:43:21 | 显示全部楼层
写的不错,顶一下

出0入0汤圆

发表于 2011-4-7 11:21:36 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-6-18 11:13:27 | 显示全部楼层
标记下

出0入0汤圆

发表于 2011-6-18 13:46:28 | 显示全部楼层
pass

出0入0汤圆

发表于 2011-6-18 14:01:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-18 14:06:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-20 15:20:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-20 21:53:41 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2011-6-20 22:50:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-26 22:37:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-24 19:58:48 | 显示全部楼层
正在学习键盘 有些还看不懂 努力中

出0入0汤圆

发表于 2011-8-2 23:37:33 | 显示全部楼层
55楼 eduhf_123 经历 那个图像丑死了,有点像猪头,看着恶心。

出0入0汤圆

发表于 2011-8-3 02:04:29 | 显示全部楼层
马老师的东西一定要顶的!呵呵

出0入0汤圆

发表于 2011-8-3 09:03:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-5 11:22:32 | 显示全部楼层
学习了,,,,,

出0入0汤圆

发表于 2011-8-11 09:54:01 | 显示全部楼层
mark一下,呵呵,以前没这么写过,学习了。哈哈~

出0入0汤圆

发表于 2011-8-20 09:27:58 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-9-4 23:08:24 | 显示全部楼层
回复【6楼】machao
-----------------------------------------------------------------------

马老师好,我一直有个疑问,我觉得LZ的状态1也是没有必要的。
我是这么想的,一旦状态0检测到变化,然后就转到状态1,这中间不是就延时了一定时间了么(不是就已经消抖了么)?这时候如果再检测到有按键按下,那应该就是真的有按键按下了。
不知道理解是否有误,请马老师赐教

出0入0汤圆

发表于 2011-9-5 09:29:15 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-10-21 11:49:05 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-10-21 12:21:52 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-10-30 10:31:54 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-10-30 11:15:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-31 12:12:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-5 19:21:35 | 显示全部楼层
不错,顶顶

出0入0汤圆

发表于 2011-11-5 19:34:07 | 显示全部楼层
mark 状态机 组合键

出0入0汤圆

发表于 2011-11-5 21:21:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-5 21:26:05 | 显示全部楼层
不错!

出0入0汤圆

发表于 2011-11-17 11:29:22 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-11-17 11:32:52 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-11-19 20:08:58 | 显示全部楼层
学习!

出0入0汤圆

发表于 2011-11-22 20:38:12 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2011-11-22 21:02:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-4 10:06:14 | 显示全部楼层
呵呵!新手,先做记号,现在正在摸索单片机键盘的输入!

出0入0汤圆

发表于 2011-12-4 10:46:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-4 11:22:24 | 显示全部楼层
学习 mark

出0入0汤圆

发表于 2011-12-4 11:29:25 | 显示全部楼层
mark.....不错的资料!

出0入0汤圆

发表于 2011-12-4 12:08:51 | 显示全部楼层
df

出0入0汤圆

发表于 2011-12-4 12:39:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-5 10:18:46 | 显示全部楼层
回复【158楼】weizhe15
-----------------------------------------------------------------------

学习了
头像被屏蔽

出0入0汤圆

发表于 2011-12-27 23:20:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-28 00:09:33 | 显示全部楼层
马克

出0入0汤圆

发表于 2012-2-2 23:40:07 | 显示全部楼层
学习了。

出0入0汤圆

发表于 2012-2-3 02:12:27 | 显示全部楼层
mark 4*4按键,状态机思想

出0入0汤圆

发表于 2012-2-16 19:59:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-27 16:30:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-4-9 10:45:28 | 显示全部楼层
留个记号

出0入8汤圆

发表于 2012-4-25 10:09:19 | 显示全部楼层
品味中~~~~~~~

出0入0汤圆

发表于 2012-4-25 10:39:35 | 显示全部楼层
学习标记

出0入0汤圆

发表于 2012-4-25 10:40:40 | 显示全部楼层
实际应用有些按键少些

出0入0汤圆

发表于 2012-5-1 14:53:50 | 显示全部楼层
mark                        

出0入0汤圆

发表于 2012-5-4 08:25:38 | 显示全部楼层
MARK下   

出0入0汤圆

发表于 2012-5-4 09:19:35 | 显示全部楼层
mark,作个参考,想必有用处

出0入0汤圆

发表于 2012-5-13 16:29:49 | 显示全部楼层
学习

出0入0汤圆

发表于 2012-5-25 23:20:06 | 显示全部楼层
#include<reg52.h>
unsigned char delay=0;
sbit key=P3^5;
void init();
main()
{
unsigned char lp=0,time=0,num=0,flag=0,value=0,ldat=0,ndat=0;
init();
P0=0xfe;
P1=0;
while(1){
if(delay){
delay=0;
switch(lp)
{
        case 0:P2=0xf0;if(P2!=0xf0)lp++;if(num++>40)ldat=0;break;
        case 1:if(P2!=0xf0){ndat=P2;P2=ndat|0x0f;ndat=P2;lp++;}else lp=0;num=0;break;
        case 2:if(P2==ndat){if(num++>99)P1=~ndat;}else lp++;break;
        case 3:if(num>99);else{if(ldat!=ndat){ldat=ndat;}else{P0--;}P1=ndat;}num=0;lp=0;break;
}
}
}
}
void init()
{
EA=1;
RCAP2H=55536/256;  
RCAP2L=55536%256;  
TH2=RCAP2H;  
TL2=RCAP2L;
ET2=1;  //开启定时器2中断
TR2=1;  //启动定时器

}
void timer()interrupt 5
{
TF2=0;
delay=1;
}
我感觉4步应该就能实现。具体连发和组合,在最后一步增加对ndat和ldat的判断就可以了

出0入0汤圆

发表于 2012-5-25 23:45:44 | 显示全部楼层
mark标志

出0入0汤圆

发表于 2012-5-30 23:55:11 | 显示全部楼层
组合键操作,mark

出0入0汤圆

发表于 2012-5-31 00:05:43 | 显示全部楼层
收下了,下楼主

出0入0汤圆

发表于 2012-5-31 00:07:30 | 显示全部楼层
顶一下啊

出0入0汤圆

发表于 2012-5-31 06:11:53 | 显示全部楼层
谢谢,学习了/

出0入0汤圆

发表于 2012-6-8 12:51:43 | 显示全部楼层
shouqiang_zhang 发表于 2012-5-31 06:11
谢谢,学习了/

正在研究状态机矩阵键盘。多谢分享!

出0入0汤圆

发表于 2012-6-13 09:34:05 | 显示全部楼层
mark,方便查找!

出0入4汤圆

发表于 2012-6-13 09:55:00 | 显示全部楼层
mark 一下  

出0入0汤圆

发表于 2012-6-24 17:02:20 | 显示全部楼层
mark一下~用到再仔细体会

出0入0汤圆

发表于 2012-6-24 17:26:25 | 显示全部楼层
mark 备用

出0入0汤圆

发表于 2012-6-24 18:32:07 | 显示全部楼层
不错 留个记号

出0入0汤圆

发表于 2012-7-28 14:40:41 | 显示全部楼层
了解下状态机

出0入0汤圆

发表于 2012-8-3 15:58:11 | 显示全部楼层
看看先,回头再仔细看看

出0入0汤圆

发表于 2012-8-9 16:27:05 | 显示全部楼层
mark,,,,,,,

出0入0汤圆

发表于 2012-8-10 00:41:21 来自手机 | 显示全部楼层
嗯嗯,谢谢了!                                             

出0入0汤圆

发表于 2012-9-4 15:53:48 | 显示全部楼层
mark。。。。

出0入0汤圆

发表于 2012-9-14 00:04:09 | 显示全部楼层
严重学习4X4组合按键!

出0入0汤圆

发表于 2012-9-15 08:08:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-10-16 11:34:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-11-23 14:54:24 | 显示全部楼层
不错    学习                           

出0入0汤圆

发表于 2012-11-28 14:36:07 | 显示全部楼层
代码就应该这样写,按照大部分教科书上那样,太浪费mcu 时间了。希望楼主能发个有关 NEC 红外解码的程序,工程上能用的。

出0入0汤圆

发表于 2012-11-30 20:29:41 | 显示全部楼层
MARK    前段时间一直苦于如果一个矩阵键盘内有三个按键同时按下,该如何扫描出来是哪三个按键按下

出0入0汤圆

发表于 2012-12-22 16:05:53 | 显示全部楼层
原来是CASE、SWITCH

出0入0汤圆

发表于 2012-12-22 16:50:08 | 显示全部楼层
收藏下,多谢了     

出0入0汤圆

发表于 2012-12-27 11:27:09 | 显示全部楼层
太帅了,标记

出0入0汤圆

发表于 2012-12-27 11:52:28 | 显示全部楼层
谢谢收下

出0入0汤圆

发表于 2013-1-4 00:06:44 | 显示全部楼层
谢谢楼主!

出0入0汤圆

发表于 2013-1-4 00:56:26 来自手机 | 显示全部楼层
mark一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-6-30 21:14

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

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