《计算机控制技术 (2)优秀PPT.ppt》由会员分享,可在线阅读,更多相关《计算机控制技术 (2)优秀PPT.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机控制技术现在学习的是第1页,共41页本章主要内容 引言引言5.1 5.1 键盘输入电路键盘输入电路5.2 5.2 非编码独立式键盘非编码独立式键盘5.3 5.3 非编码矩阵式键盘非编码矩阵式键盘5.4 5.4 编码键盘编码键盘 本章小结本章小结 思考题思考题现在学习的是第2页,共41页引言 在计算机控制系统中,除了与生产过程进行信息传递的过程输在计算机控制系统中,除了与生产过程进行信息传递的过程输入输出设备以外,还有与操作人员进行信息交换的常规输入设备入输出设备以外,还有与操作人员进行信息交换的常规输入设备和输出设备。和输出设备。键盘键盘是一种最常用的输入设备是一种最常用的输入设备,它是
2、一组按键的它是一组按键的集合,从功能上可分为数字键和功能键两种,作用是输集合,从功能上可分为数字键和功能键两种,作用是输入数据与命令,查询和控制系统的工作状态,实现简单入数据与命令,查询和控制系统的工作状态,实现简单的人机对话。的人机对话。键盘接口电路键盘接口电路可分为编码键盘和非编码键盘两种类型。可分为编码键盘和非编码键盘两种类型。编码键盘采用硬件编码电路来实现键的编码,每按下一编码键盘采用硬件编码电路来实现键的编码,每按下一个键,键盘便能自动产生按键代码。编码键盘主要有个键,键盘便能自动产生按键代码。编码键盘主要有BCDBCD码键盘、码键盘、ASCIIASCII码键盘等类型。非编码键盘仅提
3、供按键的通码键盘等类型。非编码键盘仅提供按键的通或断状态或断状态,按键代码的产生与识别由软件完成。按键代码的产生与识别由软件完成。现在学习的是第3页,共41页引言 编码键盘的特点编码键盘的特点是使用方便,键盘码产生速度是使用方便,键盘码产生速度快,占用快,占用CPUCPU时间少,但对按键的检测与消除抖动时间少,但对按键的检测与消除抖动干扰是靠硬件电路来完成的,因而硬件电路复杂、干扰是靠硬件电路来完成的,因而硬件电路复杂、成本高。而成本高。而非编码键盘非编码键盘硬件电路简单,成本低,但硬件电路简单,成本低,但占用占用CPUCPU的时间较长。的时间较长。现在学习的是第4页,共41页5.1 键盘输入
4、电路主要知识点主要知识点:5.1.1 5.1.1 键盘的抖动干扰键盘的抖动干扰5.1.2 5.1.2 抖动干扰的消除抖动干扰的消除现在学习的是第5页,共41页 5.1.1 键盘的抖动干扰 由由于于机机械械触触点点的的弹弹性性振振动动,按按键键在在按按下下时时不不会会马马上上稳稳定定地地接接通通而而在在弹弹起起时时也也不不能能一一下下子子完完全全地地断断开开,因因而而在在按按键键闭闭合合和和断断开开的的瞬瞬间间均均会会出出现现一一连连串串的的抖抖动动,这这称称为为按按键键的的抖抖动动干干扰扰,其其产产生生的的波波形形如如图图5-15-1所所示示,当当按按键键按按下下时时会会产产生生前前沿沿抖抖动
5、动,当当按按键键弹弹起起时时会会产产生生后后沿沿抖抖动动。这这是是所所有有机机械械触触点点式式按按键键在在状状态态输输出出时时的的共共性性问问题题,抖抖动动的的时时间间长长短短取取决决于于按按键键的的机机械械特特性性与与操操作作状状态态,一一般般为为1010100ms100ms,此为键处理设计时要考虑的一个重要参数。,此为键处理设计时要考虑的一个重要参数。现在学习的是第6页,共41页链接动画链接动画现在学习的是第7页,共41页 5.1.2 抖动干扰的消除 按按键键的的抖抖动动会会造造成成按按一一次次键键产产生生的的开开关关状状态态被被CPUCPU误误读读几几次次。为为了了使使CPUCPU能能正
6、正确确地地读读取取按按键键状状态态,必必须须在在按按键键闭闭合合或或断断开开时时,消消除除产产生生的的前前沿沿或或后后沿沿抖抖动动,去去抖抖动动的的方方法法有有硬硬件方法件方法和和软件方法软件方法两种。两种。1 1硬件方法硬件方法 硬件方法是设计一个滤波延时电路或单稳态电路等硬件电硬件方法是设计一个滤波延时电路或单稳态电路等硬件电路来避开按键的抖动时间。图路来避开按键的抖动时间。图5-25-2是由是由R R2 2和和C C组成的滤波延时组成的滤波延时消抖电路,设置在按键消抖电路,设置在按键S S与与CPUCPU数据线数据线D Di i之间。按键之间。按键S S未按下未按下时,电容两端电压为时,
7、电容两端电压为0 0,即与非门输入,即与非门输入V Vi i为为0 0,输出,输出V Vo o为为1 1。当当S S按下时,由于按下时,由于C C两端电压不能突变,充电电压两端电压不能突变,充电电压V Vi i在充电在充电时间内未达到与非门的开启电压,门的输出时间内未达到与非门的开启电压,门的输出V Vo o将不会改变,将不会改变,直到充电电压直到充电电压V Vi i大于门的开启电压时,与非门的输出大于门的开启电压时,与非门的输出V Vo o才变才变为为0 0,现在学习的是第8页,共41页 这这段段充充电电延延迟迟时时间间取取决决于于R R1 1、R R2 2和和C C值值的的大大小小,电电路
8、路设设计计时时只只要要使使之之大大于于或或等等于于100ms100ms即即可可避避开开按按键键抖抖动动的的影影响响。同同理理,按按键键S S断断开开时时,即即使使出现抖动,由于出现抖动,由于C C的放电延迟过程,也会消除按键抖动的影响的放电延迟过程,也会消除按键抖动的影响 图图中中,V V1 1是是未未施施加加滤滤波波电电路路含含有有前前沿沿抖抖动动、后后沿沿抖抖动动的的波波形形,V V2 2是施加滤波电路后消除抖动的波形。是施加滤波电路后消除抖动的波形。2 2软件方法软件方法 软软件件方方法法是是指指编编制制一一段段时时间间大大于于100ms100ms的的延延时时程程序序,在在第第一一次次检
9、检测测到到有有键键按按下下时时,执执行行这这段段延延时时子子程程序序使使键键的的前前沿沿抖抖动动消消失失后后再再检检测测该该键键状状态态,如如果果该该键键仍仍保保持持闭闭合合状状态态电电平平,则则确确认认为为该该键键已已稳稳定定按按下下,否否则则无无键键按按下下,从从而而消消除除了了抖抖动动的的影影响响。同同理理,在在检检测测到到按按键键释释放放后后,也也同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理。同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理。现在学习的是第9页,共41页图图5-2 5-2 滤波延时消抖电路滤波延时消抖电路链接动画链接动画现在学习的是第10页,共4
10、1页 5.2 非编码独立式键盘主要知识点主要知识点:5.2.1 5.2.1 查询法接口电路查询法接口电路5.2.2 5.2.2 中断法接口电路中断法接口电路现在学习的是第11页,共41页5.2.1 查询法接口电路 现现以以3 3个个按按键键为为例例,图图5-35-3即即为为独独立立式式键键盘盘查查询询法法接接口口电电路路。按按键键S S0 0、S S1 1、S S2 2分分别别通通过过上上拉拉电电阻阻与与CPUCPU的的数数据据线线D D0 0、D D1 1、D D2 2相相连连,当当按按键键S Si i闭闭合合时时,数数据据线线直直接接接接地地,因因而而CPUCPU读读入入D Di i=0=
11、0;当当按按键键S Si i断断开开时时,数数据据线线通通过过上上拉拉电电阻阻接接到到正正电电源,因而源,因而CPUCPU读入读入D Di i=1=1。该接口电路实现的功能为:查询检测是否有键按下,如有该接口电路实现的功能为:查询检测是否有键按下,如有键闭合,则消除抖动,再判断键号,然后转入相应的键处理。键闭合,则消除抖动,再判断键号,然后转入相应的键处理。其程序流程如图其程序流程如图5-45-4所示。所示。采用采用查询法查询法时,必须保证时,必须保证CPU每隔一定时间主动地去每隔一定时间主动地去扫描按键一次,该扫描时间间隔应小于两次按键的时间扫描按键一次,该扫描时间间隔应小于两次按键的时间间
12、隔,否则会有按键不响应的情形。显然这种方式占用间隔,否则会有按键不响应的情形。显然这种方式占用CPU时间比较多。时间比较多。现在学习的是第12页,共41页图图5-3 5-3 独立式键盘结构原理独立式键盘结构原理现在学习的是第13页,共41页图图5-45-4独立式键盘查询法程序流程图独立式键盘查询法程序流程图链接动画链接动画现在学习的是第14页,共41页 5.2.2中断法接口电路n 仍仍以以3 3个个按按键键为为例例,图图5-55-5是是一一个个炉炉温温控控制制系系统统的的功功能能键键分分配配图图,S S0 0、S S1 1、S S2 2分分别别代代表表自自动动/手手动动切切换换、炉炉温温参参数
13、数显显示示和和炉炉温温参参数数打打印印功功能能。这这是是在在上上述述查查询询法法接接口口电电路路的的基基础础上上,再再把把按按键键S S0 0、S S1 1、S S2 2的的数数据据输输出出线线经经过过与与非非门门和和反反相相器器后后与与8255A8255A的的选选通通输输入入信信号号PC4PC4相相连连,8255A8255A的的PC3PC3发发出出中中断断请请求求信信号号经经中中断断控控制制器器8259A8259A与与CPUCPU的的中中断断请请求求引引脚脚相相连连,这这是是一一种典型的种典型的中断法键盘接口电路中断法键盘接口电路。现在学习的是第15页,共41页 工作过程如下:当工作过程如下
14、:当CPUCPU对对8255A8255A初始化(初始化(8255A8255A的的A A口工作于口工作于方式方式1 1 输入)后,输入)后,CPUCPU即执行主程序。当按下即执行主程序。当按下S S0 0键即表示要进入键即表示要进入自动控制状态,此时与之相连的自动控制状态,此时与之相连的I/OI/O口线呈现为低电平的同口线呈现为低电平的同时,与非门输出为高电平,经反相器变为低电平,使时,与非门输出为高电平,经反相器变为低电平,使8255A8255A端口端口A A的选通输入信号的选通输入信号PC4 PC4 有效,则有效,则PAPA0 0PAPA2 2引脚接收并存入引脚接收并存入3 3个按键的个按键
15、的“0”0”或或“1”1”状态,当恢复成高电平后,经状态,当恢复成高电平后,经T TSITSIT时时间,间,8255A8255A的的PC3PC3发出发出INTRaINTRa中断请求信号,经中断控制器中断请求信号,经中断控制器8259A8259A向向CPUCPU申请中断,申请中断,CPUCPU响应中断后,即转到中断服务程序中。响应中断后,即转到中断服务程序中。中断服务程序依次查询按键的通断状态,当查询到是自动中断服务程序依次查询按键的通断状态,当查询到是自动/手动(即手动(即S S0 0=0=0)时,则转到自动)时,则转到自动/手动控制子程序的入口地址,手动控制子程序的入口地址,从而使系统进入自
16、动控制状态。如果没有键按下,则相应的从而使系统进入自动控制状态。如果没有键按下,则相应的I/OI/O口线均为高电平,也不会产生中断信号,口线均为高电平,也不会产生中断信号,CPUCPU继续运行主程序。继续运行主程序。现在学习的是第16页,共41页图图5-55-5独立式键盘中断法接口电路独立式键盘中断法接口电路链接动画链接动画现在学习的是第17页,共41页 键盘中断服务子程序,与查询方式相似,在保护现场后,首先键盘中断服务子程序,与查询方式相似,在保护现场后,首先调用调用100mS100mS延时子程序去除抖动,然后依次查键号,并转入键功延时子程序去除抖动,然后依次查键号,并转入键功能处理程序,最
17、后恢复现场、中断返回。显然,查询顺序代表了能处理程序,最后恢复现场、中断返回。显然,查询顺序代表了按键的排队优先级。按键的排队优先级。采采用用中中断断法法时时,CPUCPU对对按按键键而而言言是是被被动动方方式式,在在无无键键按按下下时不占用时不占用CPUCPU时间,因而时间,因而CPUCPU有更多的时间执行其他程序。有更多的时间执行其他程序。上上述述分分析析说说明明:独独立立式式键键盘盘接接口口电电路路简简单单灵灵活活,软软件件结结构构简简单单,但但每每个个按按键键必必须须占占用用一一根根I/OI/O口口线线,在在按按键键数数量量较较多多时时,需需要要占占用用较较多多的的I/OI/O口口线线
18、。比比如如6464个个按按键键,需需要要有有6464根根线线,不不仅仅连连线线复复杂杂,查查询询按按键键的的时时间间也也较较长长。故故这这种种键键盘盘电电路路只只适适合合于于按键数量比较少的小型控制系统或智能控制仪表中。按键数量比较少的小型控制系统或智能控制仪表中。现在学习的是第18页,共41页 5.3 非编码矩阵式键盘主要知识点主要知识点:5.3.1 5.3.1 矩阵式键盘的结构组成矩阵式键盘的结构组成5.3.2 5.3.2 矩阵式键盘的程序设计矩阵式键盘的程序设计现在学习的是第19页,共41页5.3.1 矩阵式键盘的结构组成v 矩矩阵阵式式键键盘盘又又叫叫行行列列式式键键盘盘,是是用用I/
19、O口口线线组组成成的的行行、列列矩矩阵阵结结构构,在在每每根根行行线线与与列列线线的的交交叉叉处处,二二线线不不直直接接相相通通而而是是通通过过一一个个按按键键跨跨接接接接通通。采采用用这这种种矩矩阵阵结结构构只只需需M根根行行输输出出线线和和N根根列列输输入入线线,就就可可连连接接MN个个按按键键。通通过过键键盘盘扫扫描描程程序序的的行行输输出出与与列列输输入入就就可确认按键的状态,再通过键盘处理程序便可识别键值。可确认按键的状态,再通过键盘处理程序便可识别键值。v 键键盘盘与与CPU的的接接口口可可采采用用并并行行端端口口8255A、锁锁存存器器或或缓缓冲冲器器一一类类。图图5-6给给出出
20、了了一一种种88非非编编码码矩矩阵阵式式键键盘盘的的接接口口电电路路。行行输输出出电电路路由由行行扫扫描描锁锁存存器器74LS273、反反相相器器与与行行线线X0X7连连接接组组成成,列列输输入入电电路路由由三三态态缓缓冲冲器器74LS244与与列列线线Y0Y7以以及及上上拉拉电电阻阻组组成成。X、Y线线的的每每一一个个交交叉叉处处跨跨接接一一个个键键,其其键键值值分分别别是是十十进进制制数数的的01,02,64。该键盘的接口地址为。该键盘的接口地址为PORT1。现在学习的是第20页,共41页n图图5-6 5-6 矩阵式键盘接口电路矩阵式键盘接口电路链接动画链接动画现在学习的是第21页,共41
21、页v 当当键键盘盘中中无无任任何何键键按按下下时时,所所有有的的行行线线和和列列线线被被断断开开且且相相互互独独立立,输输入入线线Y Y0 0Y Y7 7列列都都为为高高电电平平;当当有有任任意意一一键键按按下下时时,则则该该键键所所在在的的行行线线与与列列线线接接通通,因因此此,该该列列线线的的电电平平取取决决于于该该键键所所在在的的行行线线。基基于于此此,产生了产生了“行扫描法行扫描法”与与“线反转法线反转法”两种识别方法。两种识别方法。v 行扫描法行扫描法又称逐行零扫描查询法,即逐行输出行扫描信号又称逐行零扫描查询法,即逐行输出行扫描信号“0”0”,使各行依次为低电平,然后分别读入列数据
22、,检查此(低电平)行中是否使各行依次为低电平,然后分别读入列数据,检查此(低电平)行中是否有键按下。如果读得某列线为低电平,则表示此(低电平)行线与此列线有键按下。如果读得某列线为低电平,则表示此(低电平)行线与此列线的交叉处有键按下,再对该键进行译码计算出键值,然后转入该键的功能的交叉处有键按下,再对该键进行译码计算出键值,然后转入该键的功能子程序入口地址;如果没有任何一根列线为低电平,则说明此子程序入口地址;如果没有任何一根列线为低电平,则说明此(低电平低电平)行没有键按下。接着进行下一行的行没有键按下。接着进行下一行的“0”0”行扫描与列读入,直到行扫描与列读入,直到8 8行全行全部查完
23、为止,若无键按下则返回部查完为止,若无键按下则返回。v 有时为了快速判断键盘中是否有键按下,也可先将全部行线有时为了快速判断键盘中是否有键按下,也可先将全部行线同时置为低电平,然后检测列线的电平状态,若所有列线均为高同时置为低电平,然后检测列线的电平状态,若所有列线均为高电平,则说明键盘中无键按下,立即返回;若要有一列的电平为电平,则说明键盘中无键按下,立即返回;若要有一列的电平为低,则表示键盘中有键被控下,然后再如上那样进行逐行扫描。低,则表示键盘中有键被控下,然后再如上那样进行逐行扫描。现在学习的是第22页,共41页5.3.2 矩阵式键盘的程序设计n 在在计计算算机机控控制制系系统统中中,
24、键键盘盘扫扫描描只只是是 CPUCPU工工作作的的一一部部分分。因因此此在在设设计计键键盘盘扫扫描描程程序序时时,必必须须要要保保证证键键盘盘操操作作的的实实时时性性,又又不不能能占占有有CPUCPU太太多多的的时时间间,还还要要充充分分考考虑虑到到抖抖动动干干扰扰的的消消除除。一一般般可可根根据据情情况况选选用用编编程程扫扫描描、定定时时扫扫描描或或中中断断扫扫描描中中的的一一种种方式。方式。n 下下面面来来考考虑虑扫扫描描程程序序的的编编写写与与准准备备。逐逐行行输输出出行行扫扫描描信信号号“0”0”,即即是是CPUCPU依依次次使使行行线线X X0 0X X7 7为为低低电电平平,其其输
25、输出出数数据据代代码码分分别别为为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页,共41页v 为为消消除除按按键键的的抖抖动动干干扰扰,程程序序中中需需调调用用延延时时100ms100ms的的子子程程序序,以以便认定确有键按下再识别其键值。便认定确有键按下再识别其键值。v 求求十十进进制制键键值值的的方方法法是是分分别别设设一一个个行行值值寄寄存存
26、器器CLCL和和列列值值寄寄存存器器DLDL。接接口口电电路路中中跨跨接接在在行行列列线线上上的的6464个个键键,由由于于同同一一列列相相邻邻行行之之间间相相隔隔数数8 8,所所以以每每进进行行一一次次“0”0”行行扫扫描描后后,如如果果此此行行无无键键按按下下,则则行行寄寄存存器器CLCL应应加加0808再再进进行行下下一一行行的的“0”0”行行扫扫描描;若若有有键键按按下下则则不不加加0808而而转转求求列列值值,由由于于列列值值比比键键值值小小1 1,如如第第一一行行第第一一列列的的键键按按下下时时列列值值Y Y0 0(即即数数据据位位D D0 0)0 0比比0101键键值值小小1 1
27、,所所以以列列值值寄寄存存器器DLDL应应先先加加1 1,然然后后将将读读入入的的列列值值循循环环右右移移,判判断断进进位位位位CFCF是是否否等等零零即即有有否否键键按按下下,若若无无键键按按下下,再再继继续续加加1 1、右右移移、判判断断,重重复复上上述述过过程程直直到到有有键键按按下下。最最后把行值和列值相加并进行后把行值和列值相加并进行DAADAA修正,即可得到所求的十进制键值。修正,即可得到所求的十进制键值。现在学习的是第24页,共41页v 例如跨接在例如跨接在X2X2行与行与Y1Y1列的列的1818键按下,其键值计算方法如键按下,其键值计算方法如下:第一次下:第一次“0”0”行扫描
28、行扫描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再把读入的再把读入的列值循环移位,由于按下的键在列值循环移位,由于按下的键在Y1Y1列,所以需移位两次才能移列,所以需移位两次才能移出出0 0值,因此值
29、,因此DL=02DL=02,然后将行值寄存器与列值寄存器之值相加,然后将行值寄存器与列值寄存器之值相加,并进行并进行DAADAA修正,得到修正,得到AL=CL+DL=16+02=18AL=CL+DL=16+02=18,即键值为,即键值为1818。v 该键盘扫描及键处理程序流程图如图该键盘扫描及键处理程序流程图如图5-75-7所示,其程序所示,其程序如下:如下:现在学习的是第25页,共41页n图图 5-7 5-7 矩阵式键盘扫描及键处理程序流程图矩阵式键盘扫描及键处理程序流程图链接动画链接动画现在学习的是第26页,共41页程序设计nKEY:MOV AL,0nMOV CL,AL ;行值寄存器CL和
30、列值寄存器DL清零nMOV DL,ALnMOV AL,0FFHnOUT PORT1,AL ;使所有行线为低电平nIN AL,PORT1 ;读列键值nCMP AL,0FFH ;检查是否有键按下nJZ DONE ;无键按下转返回nCALL DELAY ;有键按下调延时100mA子程序nMOV AL,0FFHnOUT PORT1,AL nIN AL,PORT1 ;重复上述扫描,再次确认是否有键按下现在学习的是第27页,共41页nCMP ALCMP AL,0FFH0FFHnJZ DONE JZ DONE ;无键按下转返回无键按下转返回nMOV AHMOV AH,08 08 ;行数行数0808送计数器送
31、计数器AHAHnMOV BLMOV BL,01H 01H ;行扫描初值行扫描初值(即即X0X0线线)送送BLBLnKEY1KEY1:MOV ALMOV AL,BLBLnOUT PORT1OUT PORT1,AL AL ;输出使某行为低电平输出使某行为低电平nIN ALIN AL,PORT1 PORT1 ;读入列值读入列值nCMP ALCMP AL,0FFH 0FFH ;判断此行是否有键按下判断此行是否有键按下nJNZ KEY2 JNZ KEY2 ;有键按下转有键按下转KEY2KEY2nMOV ALMOV AL,CLCLnADD ALADD AL,08 08 ;无键按下无键按下,行值寄存器加行值
32、寄存器加0808nDAA DAA nMOV CLMOV CL,ALAL现在学习的是第28页,共41页nRCL BLRCL BL,1 1 ;求下一行为低电平的输出代码求下一行为低电平的输出代码 nDEC AH DEC AH ;判判8 8行全扫描完了吗行全扫描完了吗nJNZ KEY1 JNZ KEY1 ;若未完转若未完转KEY1KEY1,继续扫描下一行,继续扫描下一行nDONEDONE:IRET IRET ;若全完则返回若全完则返回nKEY2KEY2:INC DL INC DL ;列值寄存器加列值寄存器加1(1(与键值对应与键值对应)nRCR ALRCR AL,1 1 ;列值循环右移列值循环右移1
33、 1位位nJC KEY2 JC KEY2;判断该列是否为判断该列是否为1 1,为,为1 1则无键按下继查下一列则无键按下继查下一列nMOV ALMOV AL,CL CL ;为为0 0则有键按下则有键按下,获得列值获得列值nADD ALADD AL,DLDLnDAA DAA ;求键值;求键值nMOV BUFFMOV BUFF,AL AL ;键值送缓冲单元暂存;键值送缓冲单元暂存nJMP KEYADR JMP KEYADR ;转查找功能键的入口地址;转查找功能键的入口地址nEND KEY END KEY ;现在学习的是第29页,共41页n 对于键盘处理程序来说,求得键值并不是目的。如果对于键盘处理
34、程序来说,求得键值并不是目的。如果该按键是该按键是数字键数字键,就应把该键值直接送到显示缓冲区进行键,就应把该键值直接送到显示缓冲区进行键值的数字显示;如果该按键是值的数字显示;如果该按键是功能键功能键,则应找到该键子程序,则应找到该键子程序的入口地址,转而去执行该键的功能命令。的入口地址,转而去执行该键的功能命令。现在学习的是第30页,共41页5.4 编码键盘主要知识点主要知识点:n5.4.15.4.1 二进制编码器二进制编码器n5.4.2 5.4.2 编码键盘接口电路编码键盘接口电路现在学习的是第31页,共41页5.4.1 二进制编码器n 具有优先级的二进制具有优先级的二进制8位编码器位编
35、码器CD4532B 的真值表见表的真值表见表5-1。表示。表示芯片优先级的输入允许端芯片优先级的输入允许端Ei为为“0”时,无论编码器的信号输入时,无论编码器的信号输入I7 I0为何状态,编码器输出全为为何状态,编码器输出全为“0”,芯片处于屏蔽状态,同时,芯片处于屏蔽状态,同时Eo为为“0”,也屏蔽下一级芯片;当输入允许端也屏蔽下一级芯片;当输入允许端Ei为为“1”时,且编码器的信号输入时,且编码器的信号输入I7 I0全为全为“0”时,编码输出也为时,编码输出也为“0”,但输出允许端,但输出允许端Eo为为“1”,表明此,表明此编码器输入端无键按下,却允许优先级低的相邻编码器处于编码状态;这两
36、编码器输入端无键按下,却允许优先级低的相邻编码器处于编码状态;这两种情形下的工作状态端种情形下的工作状态端GS均为均为“0”。n 该芯片的该芯片的8个输入端当中,个输入端当中,I0的优先级最高,的优先级最高,I7的优先级最低。当有的优先级最低。当有多个键按下时,优先级高的被选中,同时自动屏蔽优先级低的各输入多个键按下时,优先级高的被选中,同时自动屏蔽优先级低的各输入端和下一级芯片端和下一级芯片(使使Eo端为端为“0”)。比如处于正常编码状态即。比如处于正常编码状态即Ei为为“1”时,时,当当I0端为端为“1”,其余输入端无论为,其余输入端无论为“1”或或“0”,编码输出均为二进制,编码输出均为
37、二进制000,同时,同时GS端为端为“1”,Eo端为端为“0”;而当;而当I0端为端为“0”,当,当I1端为端为“1”时,编码输出则为二进制时,编码输出则为二进制001;以此类推,输入端的键值号与二进以此类推,输入端的键值号与二进制编码输出一一对应。制编码输出一一对应。现在学习的是第32页,共41页n表表5-1 二进制二进制8位编码器位编码器CD4532B真值表真值表状状 态态 输输 入入编编 码码 输输 出出EiI7I6I5I4I3I2I1I0GSO2O1 O0 Eo000000100000000000011110000110100101100101001100010110110000110
38、00110000011010110000001110011000000011110现在学习的是第33页,共41页5.4.2 编码键盘接口电路n 图图5-8是一种采用两片是一种采用两片CD4532B构成的构成的16个按键的二个按键的二进制编码接口电路。其中由于进制编码接口电路。其中由于U1的的Eo作为作为U2的的Ei,所以按键,所以按键S0的优先级最高,的优先级最高,S15的优先级最低。的优先级最低。U1和和U2的输出的输出O2 O0经或门经或门A3 A1输出,以形成低输出,以形成低3位编码位编码D2 D0。而最。而最高位高位D3则由则由U2的的GS产生。当按键产生。当按键S8 S15中有一个闭
39、合时,中有一个闭合时,其输出为其输出为“1”。从而。从而S0 S15中任意一个键被按下,由编中任意一个键被按下,由编码位码位D3 D0均可输出相应的均可输出相应的4位二进制码。位二进制码。现在学习的是第34页,共41页n图图5-8 5-8 二进制编码键盘接口电路二进制编码键盘接口电路现在学习的是第35页,共41页5.4.2 编码键盘接口电路n 为了消除键盘按下时产生的抖动干扰,该接口电路还为了消除键盘按下时产生的抖动干扰,该接口电路还设置了由与非门设置了由与非门B1、B2、电阻、电阻R2、电容、电容C2组成的单稳电组成的单稳电路和由或门路和由或门A4、电阻、电阻R1、电容、电容C1组成的延时电
40、路,电路中组成的延时电路,电路中E、F、G、H和和I这五点的波形如图这五点的波形如图5-9所示。由于所示。由于U1和和U2的的GS接或门接或门A4的输入端,所以当按下某键时,的输入端,所以当按下某键时,A4 为高电平,其为高电平,其输出经输出经R1和和C1 延时后使延时后使G点也为高电位,作为与非门点也为高电位,作为与非门B3 的的输入之一。同时,输入之一。同时,U2的输出信号的输出信号Eo 触发单稳触发单稳(B1和和B2),在暂稳态持续时间在暂稳态持续时间T内,其输出内,其输出F点为低电位,也作为与非门点为低电位,也作为与非门B3的输入之一。的输入之一。现在学习的是第36页,共41页 由于暂
41、稳态期间由于暂稳态期间(T)E点电位的变化(即按键的抖动)点电位的变化(即按键的抖动)对其输出对其输出F点电位无影响,所以此时不论点电位无影响,所以此时不论G点电位如何,与非点电位如何,与非门门B3 输出输出(H点点)均为高电位。当暂稳延时结束,均为高电位。当暂稳延时结束,F点变为高点变为高电位,而电位,而G点仍为高电位点仍为高电位(即按键仍闭合即按键仍闭合),使得,使得H点变为低电点变为低电位,并保持到位,并保持到G点变为低电位为止点变为低电位为止(即按键断开即按键断开)。也就是说,。也就是说,按下按下S0 S15 中任意一个按键,就会在暂稳态期间中任意一个按键,就会在暂稳态期间T之后之后(
42、恰好避开抖动时间)产生选通脉冲(恰好避开抖动时间)产生选通脉冲(H点)或点)或STB(I点),点),作为向作为向CPU申请中断的信号,以便通知申请中断的信号,以便通知CPU读取稳定的按读取稳定的按键编码键编码D3D0。现在学习的是第37页,共41页图图 5-9 5-9 消抖电路波形图消抖电路波形图现在学习的是第38页,共41页本章小结n 键盘键盘是计算机与操作人员进行信息交换的一种常是计算机与操作人员进行信息交换的一种常用输入设备。用输入设备。n 键盘接口电路键盘接口电路可分为可分为非编码键盘非编码键盘和和编码键盘编码键盘两两种类型。非编码键盘仅提供按键的通或断状态种类型。非编码键盘仅提供按键
43、的通或断状态,按键按键代码的产生与识别是由软件完成的,当按键数量少代码的产生与识别是由软件完成的,当按键数量少时,一般采用独立式键盘结构;当按键数量较多时,时,一般采用独立式键盘结构;当按键数量较多时,常采用矩阵式键盘结构。而编码键盘是采用硬件编常采用矩阵式键盘结构。而编码键盘是采用硬件编码电路来实现键的编码,每按下一个键,键盘电路码电路来实现键的编码,每按下一个键,键盘电路便能自动产生按键代码,编码键盘主要有便能自动产生按键代码,编码键盘主要有BCDBCD码键码键盘、盘、ASCIIASCII码键盘等类型。码键盘等类型。现在学习的是第39页,共41页本章小结n 非编码键盘非编码键盘的硬件电路简
44、单,成本低,但占的硬件电路简单,成本低,但占用用CPUCPU的时间较长。的时间较长。编码键盘编码键盘与之相反,硬件电与之相反,硬件电路复杂、成本高,但使用方便,键盘码产生速度路复杂、成本高,但使用方便,键盘码产生速度快,占用快,占用CPUCPU时间少。对按键抖动干扰的消除,非时间少。对按键抖动干扰的消除,非编码键盘一般是靠软件而编码键盘一般是靠硬件电编码键盘一般是靠软件而编码键盘一般是靠硬件电路来实现。路来实现。n 在一般的小型单片机测控系统中主要使用非在一般的小型单片机测控系统中主要使用非编码键盘。编码键盘。现在学习的是第40页,共41页思考题n1 1简述键盘的两种类型及其特点。简述键盘的两
45、种类型及其特点。n2 2简述何为键盘的抖动干扰及其消除的两种方法。简述何为键盘的抖动干扰及其消除的两种方法。n3 3对比分析说明图对比分析说明图5-35-3与图与图5-55-5两种键盘接口电路两种键盘接口电路的异同。的异同。n4 4结合图结合图5-65-6,分析说明矩阵式键盘电路的逐行零,分析说明矩阵式键盘电路的逐行零扫描法的工作过程。扫描法的工作过程。n5 5分析说明图分析说明图5-85-8二进制编码键盘接口电路的工作原二进制编码键盘接口电路的工作原理。理。n6 6结合图结合图5-85-8与图与图5-95-9,分析说明硬件电路消除抖,分析说明硬件电路消除抖动干扰的过程。动干扰的过程。现在学习的是第41页,共41页