xiongxie007
发表于 2013-1-4 00:06:44
谢谢楼主!
chenhua1991
发表于 2013-1-4 00:56:26
mark一下
asong14437546
发表于 2013-2-3 22:38:00
mark{:handshake:}
John_123
发表于 2013-2-20 20:27:49
keep it for referance
SCS_Super
发表于 2013-2-28 19:06:39
个人更改的简单版矩阵键盘读键程序static BYTE key_state = 0,key_press;
BYTE key_return = key_no,Key_Read_Data = 0;
// 读按键I/O电平
sw5 = 1;
sw6 = 0;
Nop();
Nop();
set_keyport(); //读IO口 矩阵排1
Key_Read_Data = key_port.portbits;
Key_Read_Data = Key_Read_Data<<4;
key_press = Key_Read_Data&key_mask;
//-------------------------------------
sw5 = 0;
sw6 = 1;
Nop();
Nop();
set_keyport(); //读IO口 矩阵排2
Key_Read_Data+= key_port.portbits;
key_press = Key_Read_Data&key_mask;
//********************************************
switch (key_state)
{
case key_state_0: // 按键初始态
if (key_press != key_mask)key_state = key_state_1; // 键被按下,状态转换到键确认态
break;
case key_state_1: // 按键确认态
if (key_press == (Key_Read_Data&key_mask)) // 与原电平比较(消抖处理)
{
if(key_press == 0b11111110) key_return = key_1;
if(key_press == 0b11111101) key_return = key_2;
if(key_press == 0b11111011) key_return = key_3;
if(key_press == 0b11110111) key_return = key_4;
if(key_press == 0b11101111) key_return = key_5;
if(key_press == 0b11011111) key_return = key_6;
if(key_press == 0b10111111) key_return = key_7;
if(key_press == 0b01111111) key_return = key_8;
key_state = key_state_2; // 状态转换到判键释放态
}
else
key_state = key_state_0; // 按键已抬起,转换到按键初始态(消抖)
break;
case key_state_2:
if (key_press == key_mask)
key_state = key_state_3;
break;
case key_state_3:
if(key_press == key_mask)
key_state = key_state_0;
break;
}
return key_return;
khuohuo
发表于 2013-3-6 15:27:54
收下看看,谢谢楼主
SevenWans
发表于 2013-4-11 16:24:14
mark!{:sad:}{:sad:}{:sad:}{:sad:}
jimmyfan
发表于 2013-4-13 10:43:28
挺不错的,刚接触状态机思想
monkerman
发表于 2013-4-13 11:11:50
留名马可…
韦斯克拉
发表于 2013-7-12 14:48:50
有用,记下
Rainfieldwood
发表于 2013-8-12 11:03:59
好东西 mark!
pisgah
发表于 2013-8-12 11:34:19
标记一下
滴答滴答下雨啦
发表于 2013-9-3 13:15:41
学习了……
不进则退
发表于 2013-9-3 13:21:32
来学习的!
dangeranimal
发表于 2013-9-5 16:24:54
标记一下
dangeranimal
发表于 2013-9-10 10:11:11
先记号~,谢谢
6091820503
发表于 2013-9-10 13:46:51
好复杂,好强大啊~
二进制
发表于 2013-9-25 16:50:19
老帖了学习 一下
_Funnnn
发表于 2013-11-9 23:35:17
记号{:lol:}
osesemi
发表于 2013-11-10 14:07:55
mark mark mark
soniclidi
发表于 2013-11-12 13:16:53
支持支持
baifern
发表于 2014-3-20 16:06:26
标记学习一下
机器人天空
发表于 2014-3-20 16:19:36
mark.....{:lol:}
yytyu
发表于 2014-7-31 15:41:08
mark!!!
ZYBing
发表于 2014-8-27 21:38:58
mark,学习!
DepravedLucien
发表于 2014-9-25 13:50:10
mark ddddddd
ZXF_CUG
发表于 2014-9-25 13:54:56
学习~~~~~
yfgww
发表于 2014-11-10 16:45:01
{:smile:}{:smile:}{:smile:}{:smile:}
mk_avatar
发表于 2014-11-11 10:38:57
mark~~~~~~
DF状元宏
发表于 2014-12-11 16:25:12
有没有在工程中应用过啊,实际效果咋样?
374533905
发表于 2014-12-11 16:59:22
看来需要仔细研读下
a673261839
发表于 2018-11-3 10:10:17
马克,感谢分享!!!
wowangru
发表于 2018-11-3 11:18:02
这个有用!!!!!
changshs
发表于 2019-1-6 11:00:49
学习了,谢谢!~