《第五章键盘及其接口技术优秀课件.ppt》由会员分享,可在线阅读,更多相关《第五章键盘及其接口技术优秀课件.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章 键盘及其接口技术第1页,本讲稿共77页本章主要内容 引言引言5.1 5.1 键盘输入电路键盘输入电路5.2 5.2 非编码独立式键盘非编码独立式键盘5.3 5.3 非编码矩阵式键盘非编码矩阵式键盘5.4 5.4 编码键盘编码键盘 本章小结本章小结 思考题思考题第2页,本讲稿共77页引言 在计算机控制系统中,除了与生产过程进行信息传递的过程输入在计算机控制系统中,除了与生产过程进行信息传递的过程输入输出设备以外,还有与输出设备以外,还有与操作人员进行信息交换的常规输入设备和操作人员进行信息交换的常规输入设备和输出设备输出设备。键盘是一种最常用的输入设备键盘是一种最常用的输入设备,它是一组
2、按键的集合,从功它是一组按键的集合,从功能上可分为数字键和功能键两种,作用是能上可分为数字键和功能键两种,作用是输入数据与命令,查询和控输入数据与命令,查询和控制系统的工作状态制系统的工作状态,实现简单的人机对话。,实现简单的人机对话。键盘接口电路可分为编码键盘和非编码键盘键盘接口电路可分为编码键盘和非编码键盘两种类型。编码键两种类型。编码键盘采用硬件编码电路来实现键的编码,每按下一个键,键盘便能盘采用硬件编码电路来实现键的编码,每按下一个键,键盘便能自动产生按键代码。编码键盘主要有自动产生按键代码。编码键盘主要有BCDBCD码键盘、码键盘、ASCIIASCII码键盘等码键盘等类型。非编码键盘
3、仅提供按键的通或断状态类型。非编码键盘仅提供按键的通或断状态,按键代码的产生与识按键代码的产生与识别由软件完成。别由软件完成。第3页,本讲稿共77页引言 编码键盘的特点编码键盘的特点是使用方便,键盘码产生速度是使用方便,键盘码产生速度快,占用快,占用CPUCPU时间少,但对按键的检测与消除抖时间少,但对按键的检测与消除抖动干扰是靠硬件电路来完成的,因而硬件电路复动干扰是靠硬件电路来完成的,因而硬件电路复杂、成本高。而杂、成本高。而非编码键盘非编码键盘硬件电路简单,成本低,硬件电路简单,成本低,但占用但占用CPUCPU的时间较长。的时间较长。第4页,本讲稿共77页5.1 键盘输入电路主要知识点主
4、要知识点:5.1.1 5.1.1 键盘的抖动干扰键盘的抖动干扰5.1.2 5.1.2 抖动干扰的消除抖动干扰的消除第5页,本讲稿共77页 5.1.1 键盘的抖动干扰 由由于于机机械械触触点点的的弹性性振振动,按按键在在按按下下时不不会会马上上稳定定地地接接通通而而在在弹起起时也也不不能能一一下下子子完完全全地地断断开开,因因而而在在按按键闭合合和和断断开开的的瞬瞬间均均会会出出现一一连串串的的抖抖动,这称称为按按键的的抖抖动干干扰,其其产生生的的波波形形如如图5-1所所示示,当当按按键按按下下时会会产生生前前沿沿抖抖动,当当按按键弹起起时会会产生生后后沿沿抖抖动。这是是所所有有机机械械触触点点
5、式式按按键在在状状态输出出时的的共共性性问题,抖抖动的的时间长短短取取决决于于按按键的的机机械械特特性性与与操操作作状状态,一一般般为10100ms,此此为键处理理设计时要考要考虑的一个重要参数。的一个重要参数。第6页,本讲稿共77页链接动画链接动画第7页,本讲稿共77页 5.1.2 抖动干扰的消除按按键的的抖抖动会会造造成成按按一一次次键产生生的的开开关关状状态被被CPU误读几几次次。为了了使使CPU能能正正确确地地读取取按按键状状态,必必须在在按按键闭合合或或断断开开时,消消除除产生生的的前前沿沿或或后后沿沿抖抖动,去去抖抖动的的方法有方法有硬件方法硬件方法和和软件方法件方法两种。两种。1
6、 1硬件方法硬件方法硬件方法是硬件方法是设计一个一个滤波延波延时电路或路或单稳态电路等路等硬件硬件电路来避开按路来避开按键的抖的抖动时间。图5-2是由是由R R2 2和和C C组成的成的滤波延波延时消抖消抖电路,路,设置在按置在按键S S与与CPU数据数据线D Di i之之间。按。按键S S未按下未按下时,电容两端容两端电压为0 0,即与非,即与非门输入入V Vi i为为0 0,输出出V Vo o为为1 1。当。当S S按下按下时,由于,由于C C两端两端电压不能突不能突变,充,充电电压V Vi i在充在充电时间内未达到与非内未达到与非门的开启的开启电压,门的的输出出V Vo o将不会改将不会
7、改变,直到充,直到充电电压V Vi i大于大于门的开启的开启电压时,与非,与非门的的输出出V Vo o才才变为0 0,第8页,本讲稿共77页图图5-2 滤波延波延时消抖消抖电路路链接动画链接动画第9页,本讲稿共77页 这段段充充电延延迟时间取取决决于于R R1 1、R R2 2和和C C值的的大大小小,电路路设计时只只要要使使之之大大于于或或等等于于100ms即即可可避避开开按按键抖抖动的的影影响响。同同理理,按按键S S断断开开时,即即使出使出现抖抖动,由于,由于C C的放的放电延延迟过程,也会消除按程,也会消除按键抖抖动的影响的影响 图中中,V V1 1是是未未施施加加滤波波电路路含含有有
8、前前沿沿抖抖动、后后沿沿抖抖动的的波波形形,V V2 2是施加是施加滤波波电路后消除抖路后消除抖动的波形。的波形。2 2软件方法件方法 软件件方方法法是是指指编制制一一段段时间大大于于100ms的的延延时程程序序,在在第第一一次次检测到到有有键按按下下时,执行行这段段延延时子子程程序序使使键的的前前沿沿抖抖动消消失失后后再再检测该键状状态,如如果果该键仍仍保保持持闭合合状状态电平平,则确确认为该键已已稳定定按按下下,否否则无无键按按下下,从从而而消消除除了了抖抖动的的影影响响。同同理理,在在检测到到按按键释放放后后,也也同同样要要延延迟一一段段时间,以消除后沿抖以消除后沿抖动,然后,然后转入入
9、对该按按键的的处理。理。第10页,本讲稿共77页 5.2 非编码独立式键盘主要知识点主要知识点:5.2.1 查询法接口法接口电路路5.2.2 中断法接口中断法接口电路路第11页,本讲稿共77页5.2.1 查询法接口电路现以以3 3个个按按键为例例,图5-3即即为独独立立式式键盘查询法法接接口口电路路。按按键S S0 0、S S1 1、S S2 2分分别通通过上上拉拉电阻阻与与CPU的的数数据据线D D0 0、D D1 1、D D2 2相相连,当当按按键S Si i闭合合时,数数据据线直直接接接接地地,因因而而CPU读入入D Di i=0;当当按按键S Si i断断开开时,数数据据线通通过上上拉
10、拉电阻阻接接到到正正电源源,因而因而CPU读入入D Di i=1。该接口接口电路路实现的功能的功能为:查询检测是否有是否有键按下,如按下,如有有键闭合,合,则消除抖消除抖动,再判断,再判断键号,然后号,然后转入相入相应的的键处理。其程序流程如理。其程序流程如图5-4所示。所示。采用采用查询法查询法时,必须保证时,必须保证CPU每隔一定时间主动地去扫每隔一定时间主动地去扫描按键一次,描按键一次,该扫描时间间隔应小于两次按键的时间间隔,该扫描时间间隔应小于两次按键的时间间隔,否则会有按键不响应的情形。显然这种方式占用否则会有按键不响应的情形。显然这种方式占用CPU时间比较时间比较多。多。第12页,
11、本讲稿共77页图图5-3 5-3 独立式键盘结构原理独立式键盘结构原理第13页,本讲稿共77页图图5-4独立式独立式键盘查询法程序流程法程序流程图链接动画链接动画第14页,本讲稿共77页 5.2.2中断法接口电路n仍仍以以3 3个个按按键为例例,图5-5是是一一个个炉炉温温控控制制系系统的的功功能能键分分配配图,S S0 0、S S1 1、S S2 2分分别代代表表自自动/手手动切切换、炉炉温温参参数数显示示和和炉炉温参数打印功能。温参数打印功能。n在在上上述述查询法法接接口口电路路的的基基础上上,再再把把按按键S S0 0、S S1 1、S S2 2的的数数据据输出出线经过与与非非门和和反反
12、相相器器后后与与8255A的的选通通输入入信信号号PC4相相连,8255A的的PC3发出出中中断断请求求信信号号经中中断断控控制制器器8259A与与CPU的的中中断断请求求引引脚脚相相连,这是是一一种种典典型型的的中中断断法法键盘接口接口电路路。第15页,本讲稿共77页图图5-5独立式独立式键盘中断法接口中断法接口电路路链接动画链接动画第16页,本讲稿共77页u当当CPUCPU对对8255A8255A初始化(初始化(8255A8255A的的A A口工作于方式口工作于方式1 1 输入)后,输入)后,CPUCPU即执行主程序。即执行主程序。u当按下当按下S S0 0键即表示要进入自动控制状态,此时
13、与之相连的键即表示要进入自动控制状态,此时与之相连的I/OI/O口线呈现为低电平的同时,与非门输出为高电平,经反相器变为口线呈现为低电平的同时,与非门输出为高电平,经反相器变为低电平,使低电平,使8255A8255A端口端口A A的选通输入信号的选通输入信号PC4 PC4 有效,则有效,则PAPA0 0PAPA2 2引脚接收并存入引脚接收并存入3 3个按键的个按键的“0 0”或或“1 1”状态,当恢复成高电平状态,当恢复成高电平后,经后,经T TSITSIT时间,时间,8255A8255A的的PC3PC3发出发出INTRaINTRa中断请求信号,经中中断请求信号,经中断控制器断控制器8259A
14、8259A向向CPUCPU申请中断,申请中断,CPUCPU响应中断后,即转到中断响应中断后,即转到中断服务程序中。服务程序中。u中断服务程序依次查询按键的通断状态,当查询到是自动中断服务程序依次查询按键的通断状态,当查询到是自动/手动手动(即(即S S0 0=0=0)时,则转到自动)时,则转到自动/手动控制子程序的入口地址,从而手动控制子程序的入口地址,从而使系统进入自动控制状态。使系统进入自动控制状态。u如果没有键按下,则相应的如果没有键按下,则相应的I/OI/O口线均为高电平,也不会产口线均为高电平,也不会产生中断信号,生中断信号,CPUCPU继续运行主程序。继续运行主程序。工作过程工作过
15、程第17页,本讲稿共77页键盘中断服中断服务子程序,与子程序,与查询方式相似,在保方式相似,在保护现场后,首后,首先先调用用100mS延延时子程序去除抖子程序去除抖动,然后依次,然后依次查键号,并号,并转入入键功能功能处理程序,最后恢复理程序,最后恢复现场、中断返回。、中断返回。显然,然,查询顺序代序代表了按表了按键的排的排队优先先级。采采用用中中断断法法时,CPU对按按键而而言言是是被被动方方式式,在在无无键按按下下时不占用不占用CPU时间,因而,因而CPU有更多的有更多的时间执行其他程序。行其他程序。上上述述分分析析说明明:独独立立式式键盘接接口口电路路简单灵灵活活,软件件结构构简单,但但
16、每每个个按按键必必须占占用用一一根根I/O口口线,在在按按键数数量量较多多时,需需要要占占用用较多多的的I/O口口线。比比如如64个个按按键,需需要要有有64根根线,不不仅连线复复杂,查询按按键的的时间也也较长。故故这种种键盘电路路只只适适合合于于按按键数量比数量比较少的小型控制系少的小型控制系统或智能控制或智能控制仪表中。表中。第18页,本讲稿共77页 5.3 非编码矩阵式键盘主要知识点主要知识点:5.3.1 矩矩阵式式键盘的的结构构组成成5.3.2 矩矩阵式式键盘的程序的程序设计第19页,本讲稿共77页5.3.1 矩阵式键盘的结构组成v 矩矩阵阵式式键键盘盘又又叫叫行行列列式式键键盘盘,是
17、是用用I/O口口线线组组成成的的行行、列列矩矩阵阵结结构构,在在每每根根行行线线与与列列线线的的交交叉叉处处,二二线线不不直直接接相相通通而而是是通通过过一一个个按按键键跨跨接接接接通通。采采用用这这种种矩矩阵阵结结构构只只需需M根根行行输输出出线线和和N根根列列输输入入线线,就就可可连连接接MN个个按按键键。通通过过键键盘盘扫扫描描程程序序的的行行输输出出与与列列输输入入就可确认按键的状态,再通过键盘处理程序便可识别键值。就可确认按键的状态,再通过键盘处理程序便可识别键值。v 键键盘盘与与CPU的的接接口口可可采采用用并并行行端端口口8255A、锁锁存存器器或或缓缓冲冲器器一一类类。图图5-
18、6给给出出了了一一种种88非非编编码码矩矩阵阵式式键键盘盘的的接接口口电电路路。行行输输出出电电路路由由行行扫扫描描锁锁存存器器74LS273、反反相相器器与与行行线线X0X7连连接接组组成成,列列输输入入电电路路由由三三态态缓缓冲冲器器74LS244与与列列线线Y0Y7以以及及上上拉拉电电阻阻组组成成。X、Y线线的的每每一一个个交交叉叉处处跨跨接接一一个个键键,其其键键值值分分别别是是十十进进制制数数的的01,02,64。该键盘的接口地址为。该键盘的接口地址为PORT1。第20页,本讲稿共77页n图图5-6 矩矩阵式式键盘接口接口电路路链接动画链接动画第21页,本讲稿共77页v 当当键键盘盘
19、中中无无任任何何键键按按下下时时,所所有有的的行行线线和和列列线线被被断断开开且且相相互互独独立立,输输入入线线Y Y0 0Y Y7 7列列都都为为高高电电平平;当当有有任任意意一一键键按按下下时时,则则该该键键所所在在的的行行线线与与列列线线接接通通,因因此此,该该列列线线的的电电平平取取决决于于该该键键所所在在的的行行线线。基于此,产生了基于此,产生了“行扫描法行扫描法”与与“线反转法线反转法”两种识别方法。两种识别方法。v 行扫描法行扫描法又称逐行零扫描查询法,即逐行输出行扫描信号又称逐行零扫描查询法,即逐行输出行扫描信号“0 0”,使各行依次为低电平,然后分别读入列数据,检查此(低电平
20、),使各行依次为低电平,然后分别读入列数据,检查此(低电平)行中是否有键按下。如果读得某列线为低电平,则表示此(低电平)行中是否有键按下。如果读得某列线为低电平,则表示此(低电平)行线与此列线的交叉处有键按下,再对该键进行译码计算出键值,行线与此列线的交叉处有键按下,再对该键进行译码计算出键值,然后转入该键的功能子程序入口地址;如果没有任何一根列线为低然后转入该键的功能子程序入口地址;如果没有任何一根列线为低电平,则说明此电平,则说明此(低电平低电平)行没有键按下。接着进行下一行的行没有键按下。接着进行下一行的“0 0”行扫描与列读入,直到行扫描与列读入,直到8 8行全部查完为止,若无键按下则
21、返回行全部查完为止,若无键按下则返回。v 有时为了快速判断键盘中是否有键按下,也可先将全部行线同时置有时为了快速判断键盘中是否有键按下,也可先将全部行线同时置为低电平,然后检测列线的电平状态,若所有列线均为高电平,则说明为低电平,然后检测列线的电平状态,若所有列线均为高电平,则说明键盘中无键按下,立即返回;若要有一列的电平为低,则表示键盘中有键盘中无键按下,立即返回;若要有一列的电平为低,则表示键盘中有键被控下,然后再如上那样进行逐行扫描。键被控下,然后再如上那样进行逐行扫描。第22页,本讲稿共77页5.3.2 矩阵式键盘的程序设计n 在在计计算算机机控控制制系系统统中中,键键盘盘扫扫描描只只
22、是是 CPUCPU工工作作的的一一部部分分。因因此此在在设设计计键键盘盘扫扫描描程程序序时时,必必须须要要保保证证键键盘盘操操作作的的实实时时性性,又又不不能能占占有有CPUCPU太太多多的的时时间间,还还要要充充分分考考虑虑到到抖抖动动干干扰扰的的消消除除。一一般般可可根根据据情情况况选选用用编编程程扫扫描描、定定时时扫扫描描或或中中断断扫扫描描中中的的一种方式。一种方式。n 下下面面来来考考虑虑扫扫描描程程序序的的编编写写与与准准备备。逐逐行行输输出出行行扫扫描描信信号号“0 0”,即即是是CPUCPU依依次次使使行行线线X X0 0X X7 7为为低低电电平平,其其输输出出数数据据代代码
23、码分分别别为为01H01H(X X0 0线线)、02H02H(X X1 1线线)、04H04H(X X2 2线线)、08H08H(X X3 3线线)、10H10H(X X4 4线)、线)、20H20H(X X5 5线)、线)、40H40H(X X6 6线)、线)、80H80H(X X7 7线)线)。第23页,本讲稿共77页u 为为消消除除按按键键的的抖抖动动干干扰扰,程程序序中中需需调调用用延延时时100ms100ms的的子子程程序序,以便认定确有键按下再识别其以便认定确有键按下再识别其键值键值。u 求求十十进进制制键键值值的的方方法法是是分分别别设设一一个个行行值值寄寄存存器器CLCL和和列
24、列值值寄寄存存器器DLDL。v接接口口电电路路中中跨跨接接在在行行列列线线上上的的6464个个键键,由由于于同同一一列列相相邻邻行行之之间间相相隔隔数数8 8,所所以以每每进进行行一一次次“0 0”行行扫扫描描后后,如如果果此此行行无无键键按按下下,则则行行寄寄存存器器CLCL应加应加0808再进行下一行的再进行下一行的“0 0”行扫描;行扫描;v若若有有键键按按下下则则不不加加0808而而转转求求列列值值,由由于于列列值值比比键键值值小小1 1,如如第第一一行行第第一一列列的的键键按按下下时时列列值值Y Y0 0(即即数数据据位位D D0 0)0 0比比0101键键值值小小1 1,所所以以列
25、列值值寄寄存存器器DLDL应应先先加加1 1,然然后后将将读读入入的的列列值值循循环环右右移移,判判断断进进位位位位CFCF是是否否等等零零即即有有否否键键按按下下,若若无无键键按按下下,再再继继续续加加1 1、右右移移、判判断断,重重复复上上述述过程直到有键按下。过程直到有键按下。v最最后后把把行行值值和和列列值值相相加加并并进进行行DAADAA修修正正,即即可可得得到到所所求求的的十十进进制制键键值。值。(计算过程中所有数为压缩型计算过程中所有数为压缩型BCDBCD码码)(0,8,16,24,32,40,48,56)(1,2,3,4,5,6,7,8)第24页,本讲稿共77页v 例如跨接在例
26、如跨接在X2X2行与行与Y1Y1列的列的1818键按下,其键值计算方法如下:键按下,其键值计算方法如下:第一次第一次“0 0”行扫描行扫描X0X0行,无键按下,行,无键按下,CL=00+08=08CL=00+08=08,接下来扫,接下来扫X1X1行,仍无键按下,加行,仍无键按下,加0808并进行并进行DAADAA修正,修正,CL=08+08=16CL=08+08=16,再扫,再扫X2X2行,此时读入的列值不等于行,此时读入的列值不等于FFHFFH即表明有键按下,则即表明有键按下,则CL=16CL=16不变。然后转求列值,列值寄存器先加不变。然后转求列值,列值寄存器先加1 1再把读入的列值循再把
27、读入的列值循环移位,由于按下的键在环移位,由于按下的键在Y1Y1列,所以需移位两次才能移出列,所以需移位两次才能移出0 0值,因此值,因此DL=02DL=02,然后将行值寄存器与列值寄存器之值相加,然后将行值寄存器与列值寄存器之值相加,并进行并进行DAADAA修正,得到修正,得到AL=CL+DL=16+02=18AL=CL+DL=16+02=18,即键值为,即键值为1818。v 该键盘扫描及键处理程序流程图如图该键盘扫描及键处理程序流程图如图5-75-7所示,其程所示,其程序如下:序如下:第25页,本讲稿共77页n图 5-7 矩矩阵式式键盘扫描及描及键处理程序流程理程序流程图链接动画链接动画第
28、26页,本讲稿共77页程序设计MOV AL,0 0MOV CL,AL ;行;行值寄存器寄存器CL和列和列值寄存器寄存器DL清零清零MOV DL,ALMOV AL,0FFHOUT PORT1,AL ;使所有行;使所有行线为低低电平平IN AL,PORT1 ;读列列键值CMP AL,0FFH ;检查是否有是否有键按下按下JZ DONE ;无无键按下按下转返回返回CALL DELAY ;有有键按下按下调延延时100mA子程序子程序MOV AL,0FFHOUT PORT1,AL IN AL,PORT1 ;重复上述重复上述扫描描,再次确再次确认是否有是否有键按下按下KEY:第27页,本讲稿共77页nCM
29、P AL,0FFHn JZ DONE ;无无键按下按下转返回返回n MOV AH,08 ;行数行数08送送计数器数器AHn MOV BL,01H ;行行扫描初描初值(即即X0线线)送送BLKEY1:MOV AL,BLn OUT PORT1,AL ;输出使某行出使某行为低低电平平n IN AL,PORT1 ;读入列入列值n CMP AL,0FFH ;判断此行是否有判断此行是否有键按下按下n JNZ KEY2 ;有有键按下按下转KEY2n MOV AL,CLn ADD AL,08 ;无无键按下按下,行行值寄存器加寄存器加08n DAA n MOV CL,AL第28页,本讲稿共77页nRCL BL,
30、1 ;求下一行求下一行为低低电平的平的输出代出代码 nDEC AH ;判判8 8行全行全扫描完了描完了吗nJNZ KEY1 ;若未完若未完转KEY1,继续扫描下一行描下一行nDONE:IRET ;若全完若全完则返回返回nKEY2:INC DL ;列列值寄存器加寄存器加1(与与键值对应)nRCR AL,1 ;列列值循循环右移右移1 1位位nJC KEY2 ;判断判断该列是否列是否为1 1,为1 1则无无键按下按下继查下一列下一列nMOV AL,CL ;为0 0则有有键按下按下,获得列得列值nADD AL,DLnDAA ;求;求键值nMOV BUFF,AL ;键值送送缓冲冲单元元暂存存nJMP K
31、EYADR ;转查找功能找功能键的入口地址的入口地址nEND KEY ;第29页,本讲稿共77页n 对于键盘处理程序来说,求得键值并不是目的。如果该按键是对于键盘处理程序来说,求得键值并不是目的。如果该按键是数字键数字键,就应把该键值直接送到显示缓冲区进行键值的,就应把该键值直接送到显示缓冲区进行键值的数字显示;如果该按键是数字显示;如果该按键是功能键功能键,则应找到该键子程序的,则应找到该键子程序的入口地址,转而去执行该键的功能命令。入口地址,转而去执行该键的功能命令。第30页,本讲稿共77页主要内容n编码键盘n电脑键盘原理n电脑鼠标原理第31页,本讲稿共77页5.4 编码键盘主要知识点主要
32、知识点:n5.4.1 二二进制制编码器器n5.4.2 编码键盘接口接口电路路第32页,本讲稿共77页n图图5-8 二二进制制编码键盘接口接口电路路第33页,本讲稿共77页5.4.1 二进制编码器具有优先级的二进制具有优先级的二进制8位编码器位编码器CD4532B 的真值表见表的真值表见表5-1。n表示芯片优先级的输入允许端表示芯片优先级的输入允许端Ei为为“0”时,无论编码器的信号输入时,无论编码器的信号输入I7 I0为何状态,编码器输出全为为何状态,编码器输出全为“0”,芯片处于屏蔽状态,同时,芯片处于屏蔽状态,同时Eo为为“0”,也屏蔽下一级芯片,也屏蔽下一级芯片,工作状态端工作状态端GS
33、均为均为“0”;n当输入允许端当输入允许端Ei为为“1”时,且编码器的信号输入时,且编码器的信号输入I7 I0全为全为“0”时,时,编码输出也为编码输出也为“0”,但输出允许端,但输出允许端Eo为为“1”,表明此编码器输入端无,表明此编码器输入端无键按下,却允许优先级低的相邻编码器处于编码状态;工作状态端键按下,却允许优先级低的相邻编码器处于编码状态;工作状态端GS均均为为“0”。n 该芯片的该芯片的8个输入端当中,个输入端当中,I0的优先级最高,的优先级最高,I7的优先级最低。当有多的优先级最低。当有多个键按下时,优先级高的被选中,同时自动屏蔽优先级低的各输入端和个键按下时,优先级高的被选中
34、,同时自动屏蔽优先级低的各输入端和下一级芯片下一级芯片(使使Eo端为端为“0”)。比如处于正常编码状态即比如处于正常编码状态即Ei为为“1”时,当时,当I0端为端为“1”,其余输入端无论为,其余输入端无论为“1”或或“0”,编码输出均为二进制,编码输出均为二进制000,同,同时时GS端为端为“1”,Eo端为端为“0”;而当;而当I0端为端为“0”,当,当I1端为端为“1”时,编码时,编码输出则为二进制输出则为二进制001;以此类推,输入端的键值号与二进制编码输以此类推,输入端的键值号与二进制编码输出一一对应。出一一对应。第34页,本讲稿共77页n表表5-1 二进制二进制8位编码器位编码器CD4
35、532B真值表真值表状状 态态 输输 入入编编 码码 输输 出出EiI7I6I5I4I3I2I1I0GSO2O1 O0 Eo00000010000000000001111000011010010110010100110001011011000011000110000011010110000001110011000000011110第35页,本讲稿共77页5.4.2 编码键盘接口电路n图图5-8是一种采用两片是一种采用两片CD4532B构成的构成的16个按键的二进制编个按键的二进制编码接口电路。码接口电路。n其中由于其中由于U1的的Eo作为作为U2的的Ei,所以按键,所以按键S0的优先级最高,的
36、优先级最高,S15的优先级最低。的优先级最低。nU1和和U2的输出的输出O2 O0经或门经或门A3 A1输出,以形成低输出,以形成低3位编码位编码D2 D0。而最高位而最高位D3则由则由U2的的GS产生产生,当按键当按键S8 S15中有一个闭合时,其输出为中有一个闭合时,其输出为“1”。n从而从而S0 S15中任意一个键被按下,由编码位中任意一个键被按下,由编码位D3 D0均可均可输出相应的输出相应的4位二进制码。位二进制码。第36页,本讲稿共77页n图图5-8 二二进制制编码键盘接口接口电路路第37页,本讲稿共77页消除键盘按下时产生的抖动干扰消除键盘按下时产生的抖动干扰n为了消除键盘按下时
37、产生的抖动干扰,该接口电路还设置了由为了消除键盘按下时产生的抖动干扰,该接口电路还设置了由与非门与非门B1、B2、电阻电阻R2、电容电容C2组成的组成的单稳电路单稳电路和由和由或门或门A4、电阻电阻R1、电容电容C1组成的组成的延时电路延时电路n电路中电路中E、F、G、H和和I这五点的波形如图这五点的波形如图5-9所示。所示。n由于由于U1和和U2的的GS接或门接或门A4的输入端,所以当按下某键时,的输入端,所以当按下某键时,A4 为高电平,其输出经为高电平,其输出经R1和和C1 延时后使延时后使G点也为高电位,点也为高电位,作为与非门作为与非门B3 的输入之一。的输入之一。n同时,同时,U2
38、的输出信号的输出信号Eo 触发单稳触发单稳(B1和和B2),在暂稳态持,在暂稳态持续时间续时间T内,其输出内,其输出F点为低电位,也作为与非门点为低电位,也作为与非门B3的输入的输入之一。之一。第38页,本讲稿共77页l由于暂稳态期间由于暂稳态期间(T)E点电位的变化(即按键的抖动)对点电位的变化(即按键的抖动)对其输出其输出F点电位无影响,所以此时不论点电位无影响,所以此时不论G点电位如何,与非点电位如何,与非门门B3 输出输出(H点点)均为高电位。均为高电位。l当暂稳延时结束,当暂稳延时结束,F点变为高电位,而点变为高电位,而G点仍为高电位点仍为高电位(即按即按键仍闭合键仍闭合),使得,使
39、得H点变为低电位,并保持到点变为低电位,并保持到G点变为低电位为点变为低电位为止止(即按键断开即按键断开)。l也就是说,按下也就是说,按下S0 S15 中任意一个按键,就会在暂稳态中任意一个按键,就会在暂稳态期间期间T之后之后(恰好避开抖动时间)产生选通脉冲(恰好避开抖动时间)产生选通脉冲(H点)或点)或STB(I点),作为向点),作为向CPU申请中断的信号,以便通知申请中断的信号,以便通知CPU读取稳定的按键编码读取稳定的按键编码D3D0。第39页,本讲稿共77页图 5-9 消抖消抖电路波形路波形图G=0按键断开第40页,本讲稿共77页电脑键盘工作原理 nIBM PC键盘分为键盘分为XT,A
40、T,PS/2,USB键盘.n PC系列机使用的键盘有系列机使用的键盘有83键、键、84键、键、101键、键、102键和键和104键等多种键等多种。XT和AT机的标准键盘分别为83键和84键,而286机以上微机的键盘则 普遍使用101键、102键或104键。n83键键盘键键盘是最早使用的一种PC机键盘,其键号与扫描码是一致的。这个扫描码被直接发送到主机箱并转换为 ASCII码;n84/101/102/104键键盘:键键盘:高档PC机的出现,键盘功能和按键数目得到了扩充,键盘排列也发生了变化,产生的扫描码与83键键盘的扫描码不同。为了保持PC系列微 机的向上兼容性,需将84/101/102/104
41、键键盘的扫描码转换为83键键盘的扫描码,一般将前者叫作行列位置扫描码,而将后者称为系统扫描码。显 然,对于83键键盘,这两种扫描码是相同的。第41页,本讲稿共77页PC/XT PC/ATnIBMPC/XT是美国国际商用机器公司(IBM)与1983年3月8日发布了PC的改进型,因为它带有一个容量为10MB的硬盘,这是硬盘第一次成为PC的标准配置。XT预装了DOS2.0系统,支持“文件”的概念并以“目录树”存储文件nIBMPC/AT是美国国际商用机器公司(IBM)于1984年发布、1987年停产的个人电脑产品,正式名称是IBM5170PCAT。“AT”是英文“先进技术”(AdvancedTechn
42、ology)的缩写,这是由于它引入了标准的16位ISA总线以及采用了当时最新的英特尔80286处理器。第42页,本讲稿共77页第43页,本讲稿共77页第44页,本讲稿共77页编码形式n键盘是由一组排列成矩阵方式的按键开关组成,通常有编码键盘和非编码键盘两种类型nIBM系列个人微型计算机的键盘属于非编码类型。微机键盘主要由单片 机、译码器和键开关矩阵三大部分组成。其中单片机采用了INTEL8048单片微处理器控制,这是一个40引脚的芯片,内部集成了8位 CPU、10248位的ROM、648位的RAM、8位的定时器计数器等器件。n第45页,本讲稿共77页与老式的编码式键盘相比,非编码键盘:n结构要
43、简单许多,省略了复杂的编码电路和蜘蛛网似的走线n而且更重要的是,由于非编码式键盘将按键结构和输出键码分离,所以当需要制造不同键位排列的键盘时,不需要重新设计键盘线路,而只要将控制电路中的键位排列表格重新刷新就可以了。n例如在德文键盘上,子母“Y”和“Z”的位置是互调的,那么如果要把一条英文键盘生产线改造成德文键盘生产线,什么都不用改变,只须在控制芯片中刷进一个新的排列表,将“上层导线1下 层导线4”的位置写作“Y”,“Z”字也作同样处理就行了,显然比重新布线要简单了很多。这也就是为什么非编码式键盘大行其道的原因。第46页,本讲稿共77页n由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产
44、生,是由 键盘内部的单片机通过译码器来实现的。单片机在周期性扫描行、列的同时,读回扫描信号线单片机在周期性扫描行、列的同时,读回扫描信号线结果结果,判断是否有键按下,并计算按键的位置以获得扫描码。n当有键按 下时,键盘分两次将位置扫描码发送到键盘接口;按下一次,叫接通扫描码接通扫描码;释放时再发一次,叫断开扫描码断开扫描码。因此可以用硬件或软件的方法对键盘的行、列分别进 行扫视,去查找按下的键,输出扫描位置码,通过查表转换为ASCII码返回。第47页,本讲稿共77页扫描识别按键n键盘键盘 在扫描过程中,在扫描过程中,7位计数器循环计数位计数器循环计数。当高5位(D6一D2)状态为全“0”时,经
45、译码器在0列线上输出一个“0”,其余均为“1”;而计数器的低二位(D1D0)通过4选1多路选择器控制03行的扫描。计数器计一个数则扫描一行,计4个数全部行线扫描一遍,同时由计数器内部向D2进位,使另一列线1 变低,行线再扫描一遍。只要没有键按下,多路选择器就一直输出高电平,则时钟一直使计数器循环计数,对键盘轮番扫描。当有一个键被按下时,若扫描到该键所 在的行和列时,多路选择器就会输出一个低电平,去封锁时钟门,使计数器停止计数。这时计数器输出的数据就是被按键的位置码(即扫描码)。n第48页,本讲稿共77页n8048利用程序 读取这个键码后,在最高位添上一个“0”,组成一个字节的数据,然后从P22
46、引脚以串行方式输出。在8048检测到键按下后,还要继续对键盘扫描检测,以 发现该键是否释放。n当检测到释放时,8048在刚才读出的7位位置码的前面(最高位)加上一个“1”,作为“释放扫描码”,也从 P22引脚串行送出去,以便和“按下扫描码”相区别。送出“释放扫描码”的目的是为识别组合键和上、下档键提供条件。第49页,本讲稿共77页n同时,主机还向键盘发送控制信号,主机CPU响应键盘中断请求时,通过外围接口芯片8255A一5的PA口读取键盘扫描码并进行相应转换处理和暂存;通过PB口的PB6和PB7来控制键盘接口工作。第50页,本讲稿共77页机械键盘、薄膜接触式键盘、电容键盘。n老机械键盘存在着开
47、关容易损坏、易污染、易老化的缺点,现已基本淘汰。n现在基本上用薄膜接触式键盘n电容键盘在可靠性上比前者有质的飞跃,使用寿命较长,。第51页,本讲稿共77页发展历史n早期的键盘是由美国IBM公司推出的,当时采用的计算机键盘为83键键盘。n不久IBM又推出了84键的键盘设计标准,将键盘分为三个区,即功能区、打字键 区及负责光标控制和编辑的副键盘区,这种键盘主要区域的划分标准一直沿用至今。n随着微软Windows视窗操作系统的广泛应用,IBM公司于1986年首 次推出了101键的标准键盘,除添加了F11、F12两个功能键之外,还在键盘的中部多加了一组专用的光标控制和编辑的键,使键盘功能得到了进一步扩
48、充,成为当时业界的标准键盘。n后来,为与微软的Win95操作系统相配合,IBM又推出了104键键盘,新增了3个功能键(亦称Windows快捷键或热键),使以前需要打开好几个窗口才能完成的某些功能,通过快捷键的设定直接启动菜单完成,而不必再点击鼠标,这样就使计算机的 操作更加便易。n目前,这种104键的键盘因其又被业界所通常采纳而又被业界通称为标准键盘。第52页,本讲稿共77页通信 nPS/2设备履行一种双向同步串行协议。换句话说,每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入。设备可以发送数据到主机,而主机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候抑制来自设
49、备的通信,只需把时钟线电平拉低即可。在稍后的鼠标接口中讲解在稍后的鼠标接口中讲解第53页,本讲稿共77页什么是键盘的键位冲突?什么是键盘的键位冲突?n简单的说,也就是当你同时按下键盘上的几个键的时候,这几个键不能同时反映出来,这就叫做键盘的键位冲突。例如说,你能想象当你按下CtrlAltDel时,系统只能接收到前两个键,而死活不承认你按了Del键吗?n当然,现实中是不会有这样的键盘的,按不下CtrlAltDel的键盘根本就没法出厂,但其他一些常见的键位冲突就不稀奇了。例如,经常有一些键盘不能同时对例如A-S-空格这样的按键组合作出反应,这样在FPS游戏中,使用者就会大为吃亏。第54页,本讲稿共
50、77页根据上层薄膜和下层薄膜所经过的按键,就可以排出一个类似下面的表格:上层导线1上层导线2上层导线3上层导线4上层导线5下层导线112345下层导线2QWERT下层导线3ASDFG下层导线4ZXCVB第55页,本讲稿共77页第56页,本讲稿共77页n在非编码键盘的接口控制电路中,就存储着这样一张表格,当按下某个按键,例如“Q”时,那么在这一点上,上下两个触点就会连通,反映到接口电路中,就会检 测到上层导线1与下层导线2被连通了。相对应在表中一查,就会知道,被按下的是字母“Q”,然后通过接口输出其ASCII码。第57页,本讲稿共77页但在同时按下3个或3个以上按键时,情况就复杂了。n在一种情况