4x4按键c语言,最简好用的反转法查表法c语言4x4矩阵键盘程序

P1 外接 4x4 键盘的反转法扫描 V4 扦测程序无错但有 三处警告 2009 11 07 10 53 P1 口外接 4 4 按键 常用的读出键值的方法有 查表法 和 反转法 查表法的程序最为简短 但是稍多占用一点存储空间 反转 法的程序执行速度最快 只是要求接口是双向的 下面分别给出了使用查表法和反转法读取键值的程序 include include define uint unsigned int define uchar unsigned char 名称 Key Tab 功能 P1 外接 4 4 按键 按照查表法读出键值 返回 按键值 0 15 如无键按下 返回 16 uchar Key Tab void uchar code K Tab 4 4 0 xee 0 xde 0 xbe 0 x7e 0 xed 0 xdd 0 xbd 0 x7d 0 xeb 0 xdb 0 xbb 0 x7b 0 xe7 0 xd7 0 xb7 0 x77 uchar temp1 0 xfe temp2 i j for i 0 i 4 i 扫描低四位 P1 temp1 输出一行 0 temp2 P1 马上就读入 if temp2 j 4 j 就扫描高四位 if temp2 K Tab i j 查表 return i 4 j 查到了就返回按键的 数值 else temp1 crol temp1 1 return 16 没有查到 返回按键 松开的代码 呵呵 实质性的语句不过 9 行 就是这么简练 名称 KeyRvs 功能 P1 外接 4 4 按键 按照反转法读出键值 输出 按键值 0 15 如无键按下 返回 16 uchar KeyRvs void uchar temH temL key P1 0 xf0 temH P1 低四位先输出 0 读入 高 四位含有按键信息 P1 0 x0f temL P1 然后反转输出 0 读入 低 四位含有按键信息 两次读入的时间间隔 必须尽量的小 以尽量避免按键状 态发生变化 有些人给出的程序 就没有注重这些 有些程序甚至还有 间隔几个毫秒的 要知道 按键是会抖动的 夜长梦多 真不知道读出些什 么 呵呵 做而论道给出的这个程序 读键的准确性最高 switch temH case 0 xe0 key 0 break case 0 xd0 key 1 break case 0 xb0 key 2 break case 0 x70 key 3 break default return 16 按下的不是上述按键 就当 是没有按键 switch temL case 0 x0e return key case 0 x0d return key 4 case 0 x0b return key 8 case 0 x07 return key 12 default return 16 按下的不是上述按键 就当 是没有按键 本程序虽然稍多几行 但是没有循环 还可以提前返回 所以执行的速度最快

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值