- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.终极目标 制作一个单片机控制的矩阵键盘识别系统。 2.促成目标 ① 掌握单片机的键盘接口电路的工作原理及其应用。 ② 掌握单片机键盘接口的程序设计方法。 ③ 初步掌握单片机应用系统分析和软硬件设计的基本方法,建立单片机系统设计的基本概念。 【教学目标】 设计一个单片机控制的矩阵键盘识别系统。 每按下一个按键,在数码管上显示相应的键号“0~F”,按键布局如图?3-1?所示。 图3-1 按键布局图 【工作任务单】 键盘是计算机最常用的输入设备,是实现人机对话的纽带,按其结构形式可分为非编码键盘和编码键盘。 编码键盘采用硬件方法产生键码。每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC机所用键盘即为编码键盘。 非编码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统。按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。 本项目主要介绍非编码键盘的设计与应用。 任务1 相关知识 独立式键盘相互独立,每个按键占用一根?I/O?口线,每根?I/O?口线上按键的工作状态不会影响其他按键的工作状态。这种按键的软件程序简单,但占用?I/O?口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中。 图?3-2为?4?个独立式按键的应用电路。下面介绍其键盘程序的设计思路。 图?3-2 独立式键盘的应用电路 3.1.1 独立式键盘 1.键盘程序设计流程 (1)键闭合测试 检查是否有键闭合的函数如下: int KCS() { P1=0xff; A=P1; A=A~; A=A0x0f; return A; } 若有键闭合,则?A≠0;若无键闭合,则?A=0。 (2)去抖动 当测试到有键闭合后,需要进行去抖动处理。由于按键闭合时的机械弹性作用,按键闭合时不会马上稳定接通,按键断开时也不会马上断开,由此在按键闭合与断开的瞬间会出现电压抖动,如图?3-3所示。键盘抖动的时间一般为?5~10?ms,抖动现象会引起?CPU?对一次键操作进行多次处理,从而可能产生错误,因此必须设法消除抖动的不良后果。通过去抖动处理,可以得到按键闭合与断开的稳定状态。 图?3-3 键抖动示意图 去抖动的方法有硬件与软件两种:硬件方法是加去抖动电路,例如可通过?RS?触发器实现硬件去抖动;软件方法是在第一次检测到键盘按下后,执行一段10?ms?的延迟函数后再确认该键是否确实按下,躲过抖动,待信号稳定之后,再进行键扫描。去抖动通常多采用软件方法。 (3)采用查询方式确定键位 若某键闭合,则相应单片机引脚输入为低电平。 (4)键释放测试 键盘闭合一次只能进行一次键功能操作,因此必须等待按键释放后再进行键功能操作,否则按键闭合一次系统会连续多次重复相同的键操作(对于开关式按键,可不必等待键释放)。 矩阵式键盘又称行列式键盘,如图?3-4?所示。 图?3-4 矩阵式键盘 3.1.2 矩阵式键盘 图?3-4?中,P1?口的?8?根口线分别作为?4?根行线与?4?根列线,在其行、列交汇点接有?16?个键盘。与独立式键盘相比,单片机口线资源利用率提高了一倍。 但若需要更多的键盘,可采用接口扩展的方式,见图?3-5。图中利用?8155芯片进行键盘扩展,利用?PA?口作为输出口,8?根口线作为列线,利用?PC?口作为输入口,4?根口线作为行线,由此产生?32?键的矩阵式键盘。这种键盘采用扫描方式检测按键闭合情况及识别确定键码,因此又称为扫描方式键盘。 图?3-5 32?键矩阵式键盘的应用电路 1.扫描方式键盘的程序设计流程 (1)键闭合测试 图?3-5?中,键盘的行线一端经电阻接+5?V?电源,另一端通过?8155 PC?口接单片机。各列线的一端通过?8155 PA?口连至单片机,另一端悬空。首先由?PA?口向所有列线输出低电平,然后再由?PC?口输入各行线状态。若行线状态皆为高电平,则表示无键闭合;若行线状态中有低电平则表明有键闭合。 (2)去抖动 仍采用软件延时的方法。 (3)键位识别 为了准确判断闭合键的位置,要对每个按键进行编码。根据矩阵式键盘的结构,采用行扫描的键位识别方法。使某条列线为低电平,如果这条列线上没有闭合键,则各行线的状态都为高电平;如果列线上有键闭合,则相应的那条行线即变为低电平,于是就可以根据行线号与列线号计算出闭合键的键码。 扫描时由第一列开始,即由?PA?口先输出?0xFE,然后由?PC?口输入行线状态,判断哪一行有键闭合,若无键闭合,再输出?0xFD?检测下一列各行键闭合状态,由此一直扫描下去。 根据图?3-5?中各
原创力文档


文档评论(0)