《片机原理与接口技术-键盘接口技术.ppt》由会员分享,可在线阅读,更多相关《片机原理与接口技术-键盘接口技术.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、键盘接口原理生物医学091班键盘具有向单片机输入数据、命令等功能,是人与单片机对键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。下面介绍键盘的工作原理和键盘的工作方式话的主要手段。下面介绍键盘的工作原理和键盘的工作方式。键盘由一组规则排列的按键组成,一个按键实际上是一个开键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就是说键盘是一组规则排列的开关。单片机使关元件,也就是说键盘是一组规则排列的开关。单片机使用的按键是一种常开型的开关,平时按键的两个触点处于用的按键是一种常开型的开关,平时按键的两个触点处于断开状态,按下键时它们才闭合断开状态,按下键时它们才闭合(
2、一)键盘输入应解决的问题一)键盘输入应解决的问题1 1键盘的任务键盘的任务(1)(1)判别是否有键按下?若有,进入下一步工作。判别是否有键按下?若有,进入下一步工作。(2)(2)识别哪一个键被按下,并求出相应的键值。识别哪一个键被按下,并求出相应的键值。(3)(3)根据键值,找到相应键值的处理程序入口根据键值,找到相应键值的处理程序入口2键盘输入的特点键盘输入的特点常见键盘:触摸式键盘、薄膜键盘和按键式键盘常见键盘:触摸式键盘、薄膜键盘和按键式键盘,最常用的是常用的是按键式键盘按键式键盘。如图(图(a)所示,按键开关的两端分别连接在行线和列线上,通过键盘开关机械触点的断开、闭合,其行行线电压输
3、出波形如图(线电压输出波形如图(b)所示)所示。3按键的识别按键的识别 键的闭合与否键的闭合与否,行线输出电压行线输出电压上就是呈现高电平或低电呈现高电平或低电平平。高电平高电平,表示键断开键断开,低电平低电平则表示键闭合键闭合,通过对对行线电平的高低状态的检测行线电平的高低状态的检测,可确认按键按下可确认按键按下以及按键释按键释放与否放与否。为了确保对一次按键动作只确认一次按键有效,必须消除抖动期抖动期t1和和t3的影响。4如何消除按键的抖动如何消除按键的抖动 单片机系统中应用的一般是由机械触点构成的按键。当机械触点断开、闭合时,会有抖动,如下图所示。在触点抖动期间检测按键的通与断状态,可能
4、导致判断出错。即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。按键去抖动的方法有两种两种:一种软件延时;软件延时;另一种是采用专用的采用专用的键盘键盘/显示器接口芯片显示器接口芯片,这类芯片中都有自动去抖动的硬件电路自动去抖动的硬件电路。(二)键盘的工作原理二)键盘的工作原理1 1非编码键盘非编码键盘常见的为两种结构:独独立式键盘立式键盘和矩阵式键矩阵式键盘盘(1 1)独立式键盘)独立式键盘特点是:一键一线一键一线,各各键相互独立键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可容易地判断哪个按键被按下哪个按键被按下2 2)矩阵式键盘)矩阵式键盘矩阵式
5、(也称行列式)键盘用于按键数目较多按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上,在按键数目较多按键数目较多的场合,要节省较多的节省较多的I/OI/O口线。口线。由于矩阵式键盘中行、列行、列线为多键共用线为多键共用,各按键彼各按键彼此将相互发生影响此将相互发生影响,所以必须将行、列线信号配合行、列线信号配合,才能确定闭合键位置。下面讨论矩阵式键盘按键的识别方法。扫描法。第扫描法。第1步,步,识别键盘有无键按下;第第2步步,如有键被按下,识别出具体的键位。扫描法的思想扫描法的思想是,先把某一列置为低电平,其余各列置为高电平,检查各行线电平的变化,如果某行线电平为低电平,则可确可确
6、定此行此列交叉点处的按定此行此列交叉点处的按键被按下键被按下 线反转法。线反转法。扫描法要逐列扫描查询,有时则要多多次扫描次扫描。而线反转法则很线反转法则很简练简练,无论被按键是处于第一列或最后一列,均只只需经过两步需经过两步便能获得此按键所在的行列值,让行线让行线编程为输入线,列线编程编程为输入线,列线编程为输出线,再把行线编程为输出线,再把行线编程为输出线,列线编程为输为输出线,列线编程为输入线入线键盘的工作方式键盘的工作方式单片机在忙于其他各项工作任务忙于其他各项工作任务时,如何兼顾键盘如何兼顾键盘的输入,这取决于键盘的工作方式的输入,这取决于键盘的工作方式。工作方式选取原则是,既要保证
7、及时响应按键操作,又不过多占用单片机工作时间。键盘工作方式有3 3种种,即编程扫描、定时扫描和中断扫描。中断扫描。编程扫描方式编程扫描方式1 1编程扫描方式编程扫描方式也称查询方式,利用单片机空闲时,调用键盘扫描子程序,反复扫描键盘。如果单片机的查询的频率过高查询的频率过高,虽能及时响应键盘的输入,但也会影响其他任务会影响其他任务的进行。查询的频率过低查询的频率过低,可能会键键盘输入漏判盘输入漏判。所以要根据单片机系统的繁忙程度单片机系统的繁忙程度和键盘的操作频率,来调整键盘扫描的频率定时扫描方式定时扫描方式2 2定时扫描方式定时扫描方式每隔一定的时间对键盘扫描一次。在这种方式中,通常利用利用
8、单片机内的定时器单片机内的定时器产生的定时中断定时中断,进入中断子程序来对进入中断子程序来对键盘进行扫描键盘进行扫描,在有键按下时识别出该键,并执行相应键的处理程序。为了不漏判有效的按键,定时中断的周期一般应小于100ms。中断扫描方式中断扫描方式3 3中断扫描方式中断扫描方式为提高单片机扫描键盘的工作效率工作效率,可采用中断扫描方式,如图图10-1110-11所示。图中的键盘只有在键盘有按键按下时,发出中断请求信号只有在键盘有按键按下时,发出中断请求信号,单片机响应中断,执行键盘扫描程序中断服务子程序。如如无键按下,单片机将不理睬键盘无键按下,单片机将不理睬键盘。此种方式的优点优点是,只有按
9、键按下时,才进行处理,所以其实时性强,工作效率高实时性强,工作效率高。图图10-11 10-11 采用线反转法的矩阵式键盘采用线反转法的矩阵式键盘非编码矩阵式键盘非编码矩阵式键盘所完成的工作分为工作分为3 3个层次个层次。(1)单片机如何来监视键盘的输入如何来监视键盘的输入,体现在键盘的工作方式上就是:编程扫描;编程扫描;定时扫描;定时扫描;中断扫描。中断扫描。(2)确定按下键的键号键号。体现在按键的识别方法上就是:扫描法;线反转法。(3)根据按下键的键号,实现按键的功能,即跳向对应的向对应的键处理程序键处理程序。编程扫描方式编程扫描方式编程扫描方式是利用CPU完成其他工作的空余调用键盘扫描子
10、程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。键盘扫描程序一般应包括以下内容:键盘扫描程序一般应包括以下内容:(1)判别有无键按下。(2)键盘扫描取得闭合键的行、列值。(3)用计算法或查表法得到键值。(4)判断闭合键是否释放,如没释放则继续等待。(5)将闭合键键号保存,同时转去执行该闭合键的功能。定时扫描方式定时扫描方式定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断,CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。中断扫
11、描方式中断扫描方式 当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。中断扫描方式可以提高CPU工作效率。图中的4输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5V电源,输出端接至8051的外部中断输入端。具体工作如下:当键盘无键按下时,与门各输入端均为高电平,保持输出端为高电平;当有键按下时,端为低电平,向CPU申请中断,若CPU开放外部中断,则会响应中断请求,转去执行键盘扫描子程序。UpDown ;上下行标志StartEnd ;启动及停止标志LAMPCODE ;存放流动的数据代码程序中用到的变量和常量的定义程序中
12、用到的变量和常量的定义程序中调用的子程序程序中调用的子程序 KEY ;键盘程序 KEYPROC ;键盘处理程序 LAMP ;灯显示程序 DELAY ;延时程序,键盘处理中调用 82798279可编程键盘可编程键盘/显示器接口技术显示器接口技术82798279的工作原理的工作原理键盘部分键盘部分 提供提供6464按键阵列按键阵列(可扩展为可扩展为128)128)的扫描接口,也可的扫描接口,也可以接传感器阵列。键的按下可以是双键锁定或以接传感器阵列。键的按下可以是双键锁定或N N键互锁。键盘键互锁。键盘输入经过反弹跳电路自动消除前后沿按键抖动影响之后,被输入经过反弹跳电路自动消除前后沿按键抖动影响
13、之后,被选通送入一个选通送入一个8 8字符的字符的FIFO(FIFO(先进先出栈先进先出栈)存储器。如果送入的存储器。如果送入的字符多于字符多于8 8个,则溢出状态置位。按键输入后将中断输出线升个,则溢出状态置位。按键输入后将中断输出线升到高电到高电平向平向CPUCPU发中断申请。发中断申请。显示部分显示部分 对对7 7段段LEDLED、白炽灯或其他器件提供显示接口。、白炽灯或其他器件提供显示接口。82798279有一个内部的有一个内部的168168显示显示RAMRAM,组成一对,组成一对164164存储器。显存储器。显示示RAMRAM可由可由CPUCPU写入或读出。显示方式有从右进入的计算器方写入或读出。显示方式有从右进入的计算器方式和从左进入的电传打字方式。显示式和从左进入的电传打字方式。显示RAMRAM每次读写之后,其地每次读写之后,其地址自动加址自动加1 1。