找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

看似简单的键扫描

[复制链接]
admin 发表于 2012-9-2 20:49:44 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
有点像标题党吧。嘿嘿
这里主要讲的不是键扫描是如何实现的,而是键散转,亦即键处理函数的调用。
函数指针数组是这篇资料的唯一看点了吧。没有看错,的确是函数指针数组,这看起来很奇怪,看过后就可能要大呼过瘾了。
另外,看了要顶!!!!
P.S.使用Adobe Acrobat Pro 9处理文档,如果下载回去打不开。试试升级一下PDF阅读器,推荐 Adobe Reader 9。
####################################################################
作点小小修改,编写代码的时候有点大意了。
主要是键扫描函数出现了一点逻辑问题,修改后代码体积变小了4B,结构也合理了一些。哈哈~~
现改进如下
uchar _key_scan(void)
{
uchar temp_row;//行状态暂存
uchar _key_no;//键值暂存

_ROW_INPUT;//置行输入

temp_row=_KEY_STATUE;//读行状态
if((temp_row&0x0F)!=0x0F)//无按键
{
_key_delay(100);

temp_row=_KEY_STATUE;//再次读行状态
if((temp_row&0x0F)!=0x0F)//抖动
{
_COL_INPUT;//置列输入

for(_key_no=0;_key_no<16;_key_no++)//出错
if(_key_table[_key_no]==temp_row+(_KEY_STATUE&0xF0))
{
return _key_no+0x30;//键值已查找正确
}
}
}
else
return _ERROR;//无按键或抖动或出错

}
[ 此贴被wookongbun在2009-11-09 23:52重新编辑 ]


单片机键盘接口电路简.pdf (626.8 KB, 下载次数: 0)
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-29 10:45 , Processed in 0.059531 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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