C7 键盘

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

键盘接口技术•键盘是十分重要的人机对话的组成部分,是人向机器发出指令、输入信息的必需设备。•一个按键实际上就是一个开关元件。键盘是由若干独立的键组成,键的按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动过程。抖动必须消除,去抖动的方法主要有以下两种:硬件去抖动软件去抖动前沿抖动稳定后沿抖动按键抖动信号波形单片机中的键盘可以分为:独立式键盘、矩阵式键盘、编码式键盘、串口扩展式等。独立式键盘矩阵键盘编码式键盘(1)独立式键盘每一个按键的电路是独立的,占用一条数据线。这种键盘占用硬件资源多,适合少量按键的情况。1、键盘的形式独立式键盘结构独立式键盘与单片机接口通过检测输入线的电平状态判断否有键按下。(2)矩阵式(行列式)键盘(a)键盘的行线一端经电阻接+5V电源,另一端接单片机的输入口。各列线一端接单片机的输出口,另一端悬空。行线与列线在交叉处不相通,而是通过一个按键来连通。矩阵式键盘结构(b)判断有无键被按下无键按下时,行线处于高电平,如果让列线处于低电平,当有键按下时,按键所在的行电平将被拉成低电平,通过判断行电平的变化,可以判定此行有键按下。以4×4键盘为例:使列线D0~D3都输出0,检测行线D4~D7的电平。如果D4~D7上的电平全为高,则表示没有键被按下。如果D4~D7上的电平不全为高,则表示有键被按下。如果没有键闭合,就返回扫描。(c-1)判断哪个按键被按下(扫描法)具体方法是,以列线作为扫描输出,以行线作为接收输入,依次将列线置为低电平,并在行线上逐次接收数据。扫描完成后,如果发现接收到的某一行线有低电平,则表示该列线与行线连接的按键已经闭合。以4×4键盘为例:如果有键闭合,再进行逐列扫描,找出闭合键的键号。先使D0=0,D1~D3=1,检测D4~D7上的电平,如果D4=0,表示S1键被按下;同理,如果D5~D7=0,分别表示S5、S9、S13键被按下;如果D4~D7=1,则表示这一列没有键被按下。再使D1=0,D0、D2、D3为1,对第二列进行扫描,这样依次进行下去,直到把闭合的键找到为止。(c-2)判断哪个按键被按下(线反转法)具体方法是,先将行线全部置为低电平,列线全部置为高电平,从列线对应的I/O口线接收数据,如果发现有口线变低,则证明该列线与闭合的按键连接。反之,将列线全部置为低电平,行线全部置为高电平,从行线对应的I/O口线接收数据,如果发现有口线变低,则证明该行线与闭合的按键连接。(d)确定键码(键值)假设矩阵键盘连接到P2口,D0对应P2.0,D7对应P2.7,若是S8键被按下,则键码是11010111(0xD7),程序中如果读回的P2口的值为D7,等待按键释放之后,则装入相应的服务程序。行D7D6D5D4列D3D2D1D01110E1110E1101D1101D1011B1011B0111701117键号:行×列EEEDEBE7DEDDDBD7BEBDBBB77E7D7B77键值N=行首键号+列号矩阵式键盘与单片机接口矩阵式键盘与单片机接口程序扫描方式三个步骤:判断有无键按下;软件延时10ms去抖动;求键的位置(行、列)。有键闭合吗?开始软件延时10ms有键闭合吗?键释放了吗?逐列逐行扫描确定键的位置调键值处理程序返回YYYNNN程序键盘扫描程序框图XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C5201011121231341526374EI5EO15A09A17A26GS14U274LS148(3)编码式键盘2.键盘识别原理•对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。键盘识别原理1)编程扫描方式编程扫描方式是利用CPU完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。2)定时扫描方式定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。•键盘识别原理3)中断扫描方式采用上述两种键盘扫描方式时,无论是否按键,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入,因此,CPU经常处于空扫描状态。为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。••行线经过“与门”与外中断相接,当有键按下时,与门输出低电平,向CPU发出中断申请,若CPU开放外部中断,则CPU转入中断服务程序,进行键码识别。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52R11kR21kR31kR41k12456U2:A74HC21+5V中断方式键盘接口电路+5V&&QQ(1)硬件消抖法:就是在键盘中附加去抖动电路,从根上消除抖动产生的可能性。右图所示电路实际上是由R-S触发器构成的单脉冲电路。当按钮开关按下时Q端输出低电平,当开关松开时Q端恢复高电平,即输出一个负脉冲,以此消除抖动。硬件去抖动电路3.键盘消抖动(2)软件消抖法:键按下的时间与操作者的按键动作有关,约为十分之几到几秒不等。而键抖动时间与按键的机械特性有关,一般为5~10ms不等。软件消抖法即是采用延时(一般延时10~20ms)的方法,以避开按键的抖动,即在按键已稳定地闭合或断开时才读出其状态。100ms10ms10ms键抖动时间软件消抖法延时区间示意图4.键盘控制流程键扫描消除抖动有键按下?键扫描确有键按下?求键值按键处理键释放?YYYNN等待键释放N开始返回键扫描去抖动求键码等待释放按键处理矩阵式键盘与单片机接口要点与思考:1.独立式键盘的特点与优点。2.矩阵式键盘的扫描过程,键是如何识别出来的?3.写出图5.10所示的中断扫描方式的程序。

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功