1 / 30

任务 6 用 8255A 设计矩阵键盘 扫描 接口电路

任务 6 用 8255A 设计矩阵键盘 扫描 接口电路. 工作任务描述 :. 用实验箱上 8255A 可编程并行接口芯片设计 4X4 矩阵键盘,要求在键盘上每按一个数字键,用发光二极管将代码显示出来。. 学习内容:. 一、可编程 I/O 口 8255A 扩展技术 二、键盘扫描技术. 一、可编程 I/O 口 8255A 扩展技术. (一) 8255A 的概述 (二) 8255A 的内部结构及原理 (三) 8255A 的控制字 (四) 8255A 的工作方式. (一) 8255A 的概述.

Download Presentation

任务 6 用 8255A 设计矩阵键盘 扫描 接口电路

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 任务6用8255A设计矩阵键盘扫描 接口电路 微型计算机控制技术

  2. 工作任务描述: 用实验箱上8255A可编程并行接口芯片设计4X4矩阵键盘,要求在键盘上每按一个数字键,用发光二极管将代码显示出来。 微型计算机控制技术

  3. 学习内容: • 一、可编程I/O口8255A扩展技术 • 二、键盘扫描技术 微型计算机控制技术

  4. 一、可编程I/O口8255A扩展技术 • (一)8255A的概述 • (二)8255A的内部结构及原理 • (三) 8255A的控制字 • (四)8255A的工作方式 微型计算机控制技术

  5. (一)8255A的概述 • Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 微型计算机控制技术

  6. (二)8255A的内部结构及原理 8255A的内部结构 微型计算机控制技术

  7. (二) 8255A的内部结构及原理 • 1、数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。 • 2、3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出的数据端口,PC口用作数据传输或提供联络线的端口。在方式字的控制下,PC口可以分成两个4位的端口,其中PC7~PC4同端口A配合使用, PC3~PC0同端口B配合使用。 • 3、A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控制电路控制PB口和PC口低4位。 • 4、读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统总线发来的有关信号,并向A、B两组控制部件发送命令。 微型计算机控制技术

  8. (二)8255A的内部结构及原理 DIP封装,共40个引脚。 一、面向CPU一侧的引脚信号 ⑴D7~D0,8位,双向,三态数据线 ⑵RESET,复位信号 ⑶CS*,片选信号 ⑷RD*,读信号 ⑸WR*,写信号 ⑹A1 、A0,端口选择信号 二、面向外设一侧的引脚信号 (1)端口A:PA0~PA7;A组,支持工作方式0、1、2; (2)端口B:PB0~PB7;B组,支持工作方式0、1; (3)端口C:PC0~PC7;仅支持工作方式0;A组控制 高4位PC4~PC7;B组控制低4位PC0~PC3 功能: 端口A:PA0~PA7;常作数据端口,功能最强大。 端口B:PB0~PB7;常作数据端口。 端口C:PC0~PC7;可作数据、状态和控制端口;分 两个4位,每位可独立操作;控制最灵活,最难掌握。 微型计算机控制技术

  9. (二) 8255A的内部结构及原理 微型计算机控制技术

  10. (三) 8255A的控制字 • 1、工作方式控制字8255A的工作方式控制字的格式,如下图: 微型计算机控制技术

  11. (三) 8255A的控制字 • 2、C口按位置位/复位控制字C口按位置位/复位控制字的格式如图10-4所示。 (1)仅C口可按位置位/复位,且只对C口的输出 • 状态进行控制(对输入无作用)。 (2)一次只能设置C口1位的状态。 (3)这个控制字应写入控制口,而不是C口。 如下图: 微型计算机控制技术

  12. (四) 8255A的工作方式 • 方式0——基本输入/输出方式(A、B、C口) • 方式1——选通工作方式(A、B口) • 方式2——双向选通传送方式(仅A口) • 某端口工作于哪一种方式,可通过软件编程来指定。即向8255写入方式控制字来决定其工作方式。 • 8255A的工作方式——方式0(基本输入/输出方式) • 特点:8255A相当于三个独立的8位数据口。各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口。设置为输出口时有锁存能力,设置为输入口时无锁存能力。 • 适用于:无条件输入输出方式。查询输入输出方式:把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。 微型计算机控制技术

  13. (四) 8255A的工作方式 • 1、8255A的工作方式——方式0(基本输入/输出方式) • 在方式0下,A、B、C三个端口均用作输入/输出用,这种输入/输出只是简单的输入/输出,无联络信号。如下图所示。 微型计算机控制技术

  14. (四) 8255A的工作方式 • 2、方式1:带选通的输入/输出 • (1)方式1的输入 • A口和B口都设置为方式1输入时的情况,如下图1所示。当A口设定为方式1输入时,A口所用三条联络信号线是C口的PC3、PC4、PC5,B口则用了C口的PC0、PC1、PC2作为联络信号。各联络线的定义如下:STB:外设送来的输入选通信号,低电平有效。IBF:8255A送外设的输入缓冲器满信号,高电平有效。INTR:8255A送到CPU或系统总线的中断请求信号,高电平有效。该信号另外受INTE控制。INTE:中断允许信号。 微型计算机控制技术

  15. A口和B口在方式1输入时的情况 (四)8255A的工作方式 • (2)方式1的输出A口和B口都设置为方式1输出时的情况如下图2所示。当A口与B口设为方式1输出时,也分别指定C口的三条线为联络信号,A口所用三条联络信号线是C口的PC3、PC6、PC7,B口则用了PC0、PC1、PC2。各联络线的定义如下: 微型计算机控制技术

  16. (四) 8255A的工作方式 OBF:送外设的输出缓冲器满信号, 低电平有效。、 ACK:外设送来的响应信号, 低电平有效。INTR:中断请求信号,高电平有效。 该信号另受INTE控制。INTE:它功能和输入方式一样。 微型计算机控制技术

  17. (四) 8255A的工作方式 • 3、方式2:带选通的双向输入/输出方式2是一种双向选通输入/输出方式,只适用于A口,方式2下的引脚定义如图3所示。在方式2下,各联络信号的含义如下:INTR:中断请求信号,高电平有效。OBF:输出缓冲器满,低电平有效。ACK:来自外设的响应信号,低电平有效。INTE1:A口输出中断允许。STB:来自外设的选通输入,低电平有效。IBF:输入缓冲器满,高电平有效。INTE2:A口输入中断允许。 微型计算机控制技术

  18. (四) 8255A的工作方式 微型计算机控制技术

  19. (四) 8255A的工作方式 • ☆ 8255A的举例 • 【例】如图4所示,设8255端口地址为2F80~2F83H,编程设置8255 A组、B组均工作于方式0,A口输出,B口输出,C口高4位输入,低4位输出。然后,读入开关K的状态,若K打开,则使发光二极管熄灭;若K闭合,则使发光二极管点亮。 程序如下:MOV AL,88HMOV DX,2F83HOUT DX,ALMOV DX,2F82HIN AL,DXMOV DX,2F81HAND AL,20HJZ L1 ;条件成立时PC5=0,K闭合MOV AL,0 OUT DX,AL JMP END1 L1:MOV AL,40H OUT DX,AL END 微型计算机控制技术

  20. 二、键盘扫描技术 • (一)引入:(预备知识) • (二)独立式按键及其接口电路 • (三)矩阵式键盘及其接口电路 微型计算机控制技术

  21. (一)引入:(预备知识) • 1.键盘的作用: • 键盘在单片机系统中是个很重要的部件,为了输入数据、查询和控制系统的工作状态都要用到键盘,键盘是人工干预计算机的手段 • 2.键盘接口概述 • 〔1〕按键的分类 • 按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。 • 按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。 微型计算机控制技术

  22. (一)引入:(预备知识) • 全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。下面将重点介绍非编码键盘接口。 • 〔2〕键输入原理 • 在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。 • 对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将键输入并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。 微型计算机控制技术

  23. (一)引入:(预备知识) • 〔3〕按键开关去抖动问题 • 微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。 • 机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如下图所示,抖动时间的长短与开关的机械特性有关,一般为510ms。 微型计算机控制技术

  24. (一)引入:(预备知识) • 在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。   • 硬件去抖法:就是在键盘中附加去抖动电路,从根上消除抖动产生的可能性,在硬件上可采用在键输出端加 R-S 触发器 ( 双稳态触发器 ) 或单稳态触发器构成去抖动电路。 • 软件去抖法:在检测到有按键按下时,执行一个 10 ms 左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。 微型计算机控制技术

  25. (一)引入:(预备知识) • 〔4〕按键的连接方式 • 按键与CPU的连接方式可分为独立式按键和矩阵式键盘 • 独立式按键结构:独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。     • 矩阵式键盘:矩阵式键盘又称行列式键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,按键按下时,行线和列线连通。 • 〔5〕 键盘扫描控制方式 • CPU对键盘处理控制的工作方式有三种: • 程序控制扫描方式:是CPU在工作之余,调用键盘扫描子程序,响应键输入信号要求。 • 定时控制扫描方式:是利用定时计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描。 • 中断控制方式:是利用外部中断源,响应键输入信号。 微型计算机控制技术

  26. +5V 80C51 P1.0 P1.1 P1.2 K0 K1 K2 a (二)独立式按键及其接口电路 • 判断有无按键按下只需根据响应端口电平高低。 • 如下图,为80C51与3个独立式按键直接连接的电路,对于图a,当按键按下时输入低电平。 微型计算机控制技术

  27. (二)独立式按键及其接口电路 • 图a编程如下: • KEYA: ORL P1, #07H ;置P1.0-P1.2为输入态 • MOV A,P1 ;读键值,键闭合相应为0 • CPL A ;取反,键闭合相应为1 • ANL A,#00000111B ;屏蔽高5位,保留有键值信息的低3位 • JZ GRET ;全0,无键闭合,返回 • LCALL DY10MS ;非全0,有键闭合,延时去抖 • MOV A,P1 ;重读键值,键闭合相应位为0 • CPL A ;取反,键闭合相应为1 • ANL A,#0000011B ;屏蔽高5位,保留有键值信息的低3位 • JZ GRET ;全0,无键闭合,返回 • JB ACC.0,KA0 ;转K0键功能程序 • JB ACC.1,KA1 ;转K1键功能程序 • JB ACC.2,KA2 ;转K2键功能程序 • GRET: RET • KA0: LCALL WORK0 ;执行K0键功能子程序 • RET • KA1: LCALL WORK1 ;执行K1键功能子程序 • RET • KA2: LCALL WORK2 ;执行K2键功能子程序 • RET 微型计算机控制技术

  28. (三)矩阵式键盘及其接口电路 微型计算机控制技术

  29. (三)矩阵式键盘及其接口电路 • (1)键盘扫描子程序KEY:MOV A, #0F0HMOV P1,AXRL A,P1JZ KEYR ;无键按下返回ACALL DELAY ;延时去抖动MOV 30H,P1 ;读闭合键行位置MOV P1,#0FH ;反转MOV A,P1 ;读闭合键列位置ORL 30H,A ;合成键盘位置码LOOP:MOV A,P1 ;等待键释放XRL A, #0FHJNZ LOOPACALL DELAY ;延时去抖动KEYR :RET 微型计算机控制技术

  30. (三)矩阵式键盘及其接口电路 • (2)键值转换 • 键盘矩阵中各键的位置码的特点是:对应该键行、列的位为“ 0 ” ,其他各位均为“ 1 ” 。例如: S7 键的位置码是: 11010111B = 0D7H ; S12 键的位置码是: 01111110B = 7EH 。将各键的位置码顺序排列成键值表,用查表法进行键值转换。  键值转换子程序TRAN:MOV DPTR,#KEYTAB ; DPTR 指向键值表MOV R2,#0 ;键值初值送 R2MOV R3,#10H ;循环次数送 R3LOOPT:MOV A,R2MOVC A, @A+DPTR ;读键值表XRL A,30H ;与位置码比较JZ KTR ;相等返回,键值在 R2 中INC R2 ;键值 +1DJNZ R3,LOOPTKTR:RET ;若返回时 R2=10H 为错KEYTAB:DB 0EEH,0EDH,0EBH,0E7H ;键值表DB 0DEH,0DDH,0DBH,0D7HDB 0BEH,0BDH,0BBH,0B7HDB 7EH,7DH,7BH,77H 微型计算机控制技术

More Related