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