智能车制作
标题: 按键扫描程序请教 [打印本页]
作者: 孔令超 时间: 2015-5-5 13:31
标题: 按键扫描程序请教
#define KEY_MODE0x01 // 模式按键
#define KEY_PLUS0x02 // 加
voidKeyProc(void)
{
if (Trg & KEY_MODE) // 如果按下的是KEY_MODE,而且你常按这按键也没有用,
{ //它是不会执行第二次的哦 , 必须先松开再按下
Mode++; // 模式寄存器加1,当然,这里只是演示,你可以执行你想
// 执行的任何代码
}
if (Cont & KEY_PLUS) // 如果“加”按键被按着不放
{
cnt_plus++; // 计时
if (cnt_plus > 100) // 20ms*100 =2S 如果时间到
{
Func(); // 你需要的执行的程序
}
}
}
如果“加”按键被按着不放 Cont为1 KEY_PLUS为2 Cont & KEY_PLUS为假 那下边计数程序咋执行呢 求大神指导
作者: zhou1994 时间: 2015-5-5 14:47
你用的是位相与。按照你的想法,你应该用&&。因为用&的话,1和2最后出来是一个真条件。
作者: 孔令超 时间: 2015-5-5 14:49
1不是01 2不是10吗 位运算后不是0吗
作者: 玩意Tc 时间: 2015-5-5 19:01
三行按键哈~
作者: 浅笑无痕 时间: 2015-5-6 19:53
哈哈。。。度娘搜索高效率矩阵按键就出来这个程序了。。。嘿嘿
欢迎光临 智能车制作 (http://dns.znczz.com/) |
Powered by Discuz! X3.2 |