网站大量收购独家精品文档,联系QQ:2885784924

5_矩阵按键控制_1.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5_矩阵按键控制_1,矩阵按键,矩阵按键扫描程序,矩阵按键电路,单片机原理—矩阵按键,矩阵按键原理,矩阵按键程序,单片机矩阵按键赋值,矩阵按键原理图,矩阵按键扫描原理

AVR单片机技术 AVR Microcontroller 任课教师: 晏 凯 Address: 行政楼509 E-mail: yckaren@szpt.edu.cn 矩阵键盘使用的实战演练 Key Array Design 设计内容1:识别是否有矩阵键盘中任意按键按下,当有按键按下时,在LCD上显示“0”,若无键按下,则显示“no key”。(keyarray1.c) 知识点: 1.矩阵键盘接口电路 2.矩阵键盘扫描程序设计 矩阵键盘电路 键盘扫描程序 keyboard scan program 编程扫描方式 定时扫描方式 中断扫描方式 编程扫描方式 编程扫描方式是利用CPU完成其他工作的空余调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。 键盘扫描程序一般应包括以下内容: (1)判别有无键按下。 (2)键盘扫描取得闭合键的行、列值。 (3)用计算法或查表法得到键值。 (4)判断闭合键是否释放,如没释放则继续等待。 (5)将闭合键键号保存,同时转去执行该闭合键的功能。 矩阵键盘的接口实例 矩阵键盘的接口实例 矩阵键盘的接口实例 按键码值说明 独立键盘使用的实战演练 Single Key Design 设计内容2:根据按键扫描原理,编写程序实现16个按键的识别和显示;当按下键盘1时,用液晶显示1,当按下键盘2时,用液晶显示2……。(keyarray2.c) 扩展实训 Key Array Design 设计内容3:识别是否有矩阵键盘中任意按键按下,当有按键按下时,发出蜂鸣声。(keyarray1.c) 知识点: 1.矩阵键盘接口电路 2.矩阵键盘扫描程序设计 3. 蜂鸣器接口电路 蜂鸣器接口电路 扩展实训 Key Array Design 设计内容4:识别是否有按键盘按键按下,当有按键按下时,发出不同的蜂鸣声(如:哆、拉、咪、发……)。(keyarray5.c) C调音阶频率表(Hz) * * 1、PA口接矩阵键盘的列(column) and 行(row); 2、PA0~3接10K上拉电阻,作为矩阵键盘行线,设为输入口; 3、PA4~7接到矩阵键盘列线,设为输出口。 4、当没有按键按下,PA口的PA0-PA3是高电平。 5、从PA口的PA4-PA7上送出低电平,当有键按下时, PA0-PA3变低电平。 送出低电平 读低4位端口状态 按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。单片机根据行电平的变化,便能判定相应的行有键按下。8号键按下时,第1行一定为低电平,然而,第1行为低电平时,能否肯定是8号键按下呢?回答是否定的,因为5、6、7号键按下同样使第1行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。 键盘扫描程序 keyboard scan program (1)程序功能。若有键被按下,应识别出是哪一个键闭合。方法是对键盘的列线进行扫描。 (2)检测当前是否有键被按下。检测的方法是P1.4~P1.7输出全“0”,读取P1.0~P1.3的状态,若P1.0~P1.3为全“1”,则无键闭合,否则有键闭合。 (3)去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。 (4)P1.4~P1.7按下述4种组合依次输出:   P1.7 1 1 1 0   P1.6 1 1 0 1   P1.5 1 0 1 1   P1.4 0 1 1 1 在每组行输出时读取P1.0~P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值。 (5)为了保证键每闭合一次CPU仅做一次处理,必须去除键释放时的抖动。 (6)扫描程序的流程图 (7)键盘扫描程序 键扫描 消除抖动 有键按下? 键扫描 确有键按下? 求键值 按键处理 键释放? Y Y Y N N 等待键释放 N 开

您可能关注的文档

文档评论(0)

wdhao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档