- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 单片机的输入/输出设备接口;第一节 键盘接口;一、键盘接口概述
1.单片机实现键盘接口的常用方法
独立式键盘:由一组相互独立的按键组成,每个按键与一位I/O口相连,接口简单,但是占用I/O口较多。
矩阵式按键:键按行列组成矩阵,行和列相交处安放一个按键,每条行线或列线与一位I/O相连,节省I/O资源。 ;2.键盘输入接口解决的任务
⑴键盘扫描和去抖动
按键开关在电路中的连接图;硬件去抖动方法:;⑵键值或键号的计算
当确定有键按下时,需进一步根据行线和列线的状态确定按下键的值或键号,以实现键功能的程序。
⑶等待键释放
获得键值后在以延时或查询的方法等待键释放,以保证键的一次闭合只进行一次键功能的实现。
⑷确定键盘的监控方法
中断方式执行。当有键被按下时,向单片机发出中断请求,中断响应后执行键盘扫描工作。
定时方式执行。利用内部定时计数器完成一段时间的重复定时,每次定时完成执行一次键盘扫描工作。 ;二、独立式按键
独立式按键:每个按键单独占有一根I/O资源,当按键较多时,I/O资源占用较多。其优点是程序设计简单。
eg、三个按键与8031的连接电路,试编制按键扫
描子程序。 ;KEY:MOV P1,#07H
MOV A,P1
CPL A
ANL A,#07H
JZ GRET
JB ACC.0,KEY1
JB ACC.1,KEY2
JB ACC.2,KEY3
GRET:RET
KEY1:LCALL WORK1
KEY2:LCALL WORK2
KEY3:LCALL WORK3
RET;三、矩阵式按键
1.矩阵式键盘的工作原理
X0~X3为键盘的行线,通过电阻接+5V;Y0~Y3为键盘的列线,由单片机控制其输入信号。每条行线和列线处有一个按键结构,当所有键未被按下时,行线与列线断开,每条行线都呈现高电平。当有键被按下时,按键所在行线与列线短路,此时行线的电平由列线的电位所决定。;2.矩阵式键盘接口
4×8键盘、6位显示器和803l的接口逻辑。图中8031外接一片8155,8155的RAM地址为7E00~7EFFH,I/O口地址为7F00~7F05H,8155的PA口为输出口,控制键盘的列线Y0~Y7的电位作为键扫描口,同时又是6位显示器的扫描口,PB口作为显示器的段数据口,8155的C口作为输入口,PC0~PC3接行线Y0~Y3,称为键输入口。 ;3.键盘扫描程序
键输入程序的功能:
(1)判别键盘上有无键闭合:其方法为扫描口PA0~PA7输出全“0”,读PC口的状态,若PC0~PC3,为全“1”(键盘上行线全为高电平),则键盘上没有闭合键;若PC0~PC3不为全“1”,则有键处于闭合状态。
(2)去除键的机械抖动:其方法为判别到键盘上有键闭合后,延迟一段时间再判别键盘的状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期,否则,认为是键的抖动。
(3)判别闭合键的键号:方法为对键盘的列线进行扫描,扫描口PA0~PA7依次输出:
PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
1 1 1 1 1 1 1 0
1 1 1 1 1 1 0 1
:
0 1 1 1 1 1 1 1; 相应地顺次读出PC口的状态,若PC0~PC3为全“1”,则列线输出为“0”的这一列上没有键闭合;否则,这一列上有键闭合。闭合键的键号等于为低电平的列号加上为低电平的行的首键号。
eg、PA口的输出,读出PC0~PC3为1101,则1行1列相交的键处于闭合状态,第一行的首键号为8,列号为1,闭合键的键号为:
N:行首键号+列号=8+1=9
(4)使CPU对键的一次闭合仅作一次处理:采用的方法为等待闭合键释放以后再作处理。; 程序中把显示子程序作为去抖动延时子程序,这可使得进入键输入子程序后,显示器始终是亮的。
该程序返回后输入键的键号在A。
键输入子程序的框图:;键盘扫描程序如下:
KEY1:ACALL KS1 ;调用判
文档评论(0)