《2022年a简介.docx》由会员分享,可在线阅读,更多相关《2022年a简介.docx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -第九章并行通信接口与 8255A 【回忆】微机系统结构及掌握信号的名称和作用;【本讲重点】 I/O 接口概述, CPU 与 I/O 接口,I/O 接口与系统的连接; 8255A 芯片的使用;9.1 CPU 与外设之间的数据传输一 CPU 与 I/O 接口接口电路按功能可分为两类: 使微处理器正常工作所需要的帮助电路:时钟信号或中断恳求等; 输入/输出接口电路: CPU 与外部设备信息的传送(接收、发送) ;最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入 /输出接口和总线相连的, 完成检测和掌
2、握的外表装置也属于外部设备之列,连;1为什么要用接口电路:也是通过接口电路和主机相需要分析一下外部设备的输入 /输出操作和储备器读 /写操作的 不同之处 :储备器 都是用来储存信息的, 功能单一,传送方式单一 (一次必定是传送 1 个字节或者 1 个字),品种很有限 只有只读类型和可读 /可写类型 ,存取速度基本上和 CPU 的工作 速度匹配 .;外部设备 的功能多种多样 的(输入设备,输出设备,输入设备/输出设备),信息多样 (数字式的,模拟式的),信息 传输的方式 (并行的,串行的),外设的 工作速度 通常比 CPU 的速 度低得多,而且各种外设的工作速度互不相同,这也要求通过接口电路对输
3、入 /输出过程起 一个 缓冲和联络 的作用;注:接口电路完成相应的 信号转换、速度匹配、数据缓冲 等功能 2接口的功能( 8 种):寻址才能: 对送来的片选信号进行识别;输入 /输出功能: 依据读 /写信号打算当前进行的是输入操作仍是输出操作;数据转换功能: 并行数据向串行数据的转换或串行数据向并行数据的转换;联络功能: 就绪信号,忙信号等;中断治理: 发出中斯恳求信号、接收中断响应信号、发送中断类型码的功能;并具有优先 级治理功能;复位: 接收复位信号,从而使接口本身以及所连的外设进行重新启动;可编程: 用软件来打算其工作方式,用软件来设置有关的掌握信号;1 细心整理归纳 精选学习资料 -
4、- - - - - - - - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -错误检测: 一类是传输错误;另类是掩盖错误;注:一些接口仍可依据详细情形设置其它的检测信息;二 I/O 接口与系统的连接1CPU 与 I/O 设备之间的信号(三类)1 数据信息包括三种形式:数字量、模拟量、开关量2状态信息是外设通过接口往CPU 传送的3掌握信息如:“ 预备好”READY 信号、“ 忙”(BUSY)信号是 CPU 通过接口传送给外设的如:外设的启动信号、停止信号就是常见的掌握信
5、息2接口部件的 I/O 端口:数据端口、掌握端口、状态端口CPU 和外设进行数据传输时 ,各类信息在接口中进入不同的寄存器,一般称这些寄存器为 I/O 端口,每个端口有一个 端口地址 ;用于对来自 CPU 和内存的数据或者送往 CPU和内存的数据起缓冲作用的,这些端口叫数据端口 ;用来存放外部设备或者接口部件本身的状态,称为 状态端口 ;用来存放 CPU 发出的命令,以便掌握接口和设备的动作,这类端口叫 掌握端口 ;如下图注: 输入仍是输出,所用到的地址总是对端口 而言的,不是对接口部件而言的; 为了节约地址空间,将数据输入端口和数据输出端口对应 同一个端口地址 ;同样,状态端口和掌握端口也常
6、用 同一个端口地址 ; CPU 对外设的输入 /输出操作就归结为对接口芯片各 3接口与系统的连接 . 端口的读 /写操作 ;接口电路位于 CPU 与外设之间,从结构上看,可以把一个接口分为 两个部分, 用来和 I/O 设备相连;2 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -用来和系统总线相连,这部分接口电路结构类似,连在同一总线上;下图是一个典型的 I/O 接口和外部电路的连接图:联络信号:读 /写信号
7、,以便打算数据传输方向;地址译码器,片选信号:地址译码器除了接收地址信号外,仍用来区分 I/0 地址空间 和内存地址空间的信号 M/ IO 用于译码过程;注:一个接口通常有 如干个寄存器 可读 /写,一般用 1-2 位低位地址 结合读 /写信号来实现对接口内部寄存器的寻址;4输入输出的寻址方式 CPU 对外设的寻址方式通常有两种:1 储备器对应输入输出方式每一个外设端口占有储备器的一个地址;优点: CPU 对外设的操作可使用全部的储备器操作指令,寻址方式多,使用便利敏捷,且可寻址的外设数量多;缺点:由于外设占用了储备单元的地址,2 端口寻址的输入输出方式使内存的容量减小, 同时,程序的可读性下
8、降;CPU 有特地的输入输出指令 ( IN , OUT),通过这些指令中的地址来区分不同的外设;优点:简洁把握,编出的程序可读性好;设;缺点:可寻址的范畴较小,仍必需有相应的掌握线(M/IO)来区分是寻址内存仍是外细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -9.2 可编程并行接口芯片 8255A 一并行通信与接口并行通信 就是把一个字符的 各位同时用几根线进行传输;传输速度快,信息率高;电缆要多,随着传输
9、距离的增加,电缆的开销会成为突出的问题,所以,并行通信用在 传输速率要求较高,而传输距离较短的场合;Intel 8255A 是一个通用的可编程的并行接口芯片,它有三个并行 I/O 口,又可通过编程设置 多种工作方式 ,价格低廉,使用便利,可以直接与 Intel 系列的芯片连接使用,在中小 系统中有着广泛的应用;二 8255A 的编程结构8255A 由以下几部分 组成 :见图 9-1 图 9-1 8255A 的编程结构1三个数据端口 A,B,C 这三个端口均可看作是 I/O 口,但它们的结构和功能也稍有不同;A 口: 是一个独立的 8 位 I/O 口,它的内部有对数据 输入/输出的锁存功能;B
10、口: 也是一个独立的 8 位 I/O 口,仅对 输出数据的锁存功能 ;C 口:可以看作是 一个独立的 8 位 I/O 口;也可以看作是 两个独立的 4 位 I/O 口;也是 仅对 输出数据进行锁存 ;4 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -2A 组和 B 组的掌握电路 这是两组依据 CPU 命令掌握 8255A 工作方式的电路,这些掌握电路内部设有掌握寄存器,可以依据 CPU 送来的编程命令来掌握
11、8255A 的工作方式,也可以依据编程命令来对C口的指定位进行置 /复位的操作;A 组掌握电路用来掌握 A 口及 C 口的高 4 位;B 组掌握电路用来掌握 B 口及 C 口的低 4 位;3数据总线缓冲器 8 位的双向的三态缓冲器; 作为 8255A 与系统总线连接的界面, 输入/输出的数据, CPU 8255A 传送的工作状态等信息,都是通过它来传输的;的编程命令以及外设通过 4读/写掌握规律 读/写掌握规律电路负责治理 8255A 的数据传输过程; 它接收片选信号 CS 及系统读信号 RD 、写信号 WR 、复位信号 RESET,仍有来自系统地址总线的口地址挑选信号 A 0 和 A1;三
12、8255A 的引脚功能8255A 的引脚信号可以分为 两组:一组是 面对 CPU 的信号,一组是 面对外设 的信号;1面对 CPU 的引脚信号及功能D0-D 7:8 位,双向,三态数据线,用来与系统数据总线相连;RESET:复位信号,高电平有效,输入,用来清除8255A 的内部寄存器,并置A 口,B 口, C 口均为输入方式; CS :片选,输入,用来打算芯片是否被选中; RD :读信号,输入,掌握 8255A 将数据或状态信息送给 CPU; WR :写信号,输入,掌握 CPU 将数据或掌握信息送到 8255A;A 1,A O:内部口地址的挑选,输入;这两个引脚上的信号组合打算对 8255A
13、内部的哪 一个口或寄存器进行操作;8255A 内部共有 4 个端口: A 口,B 口, C 口和掌握口,两个引 脚的信号组合选中端口见下表;CS , RD , WR ,A 1,A 0 这几个信号的组合打算了8255A 的全部详细操作,CSRD0 WR1 A1 表 7-1 8255A 的操作功能表A0 操作数据传送方 式0 0 0 读 A 口A 口数据 数据总线5 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - -
14、-0 0 1 0 1 读 B 口B 口数据 数据总线0 0 1 1 0 读 C 口C 口数据 数据总线0 1 0 0 0 写 A 口数据总线数据 A 口0 1 0 0 1 写 B 口数据总线数据 B 口0 1 0 1 0 写 C 口数据总线数据 C 口0 1 0 1 1 写掌握口数据总线数据 掌握口2面对外设的引脚信号及功能 . PA0PA7:A 组数据信号,用来连接外设;. PB0PB7:B 组数据信号,用来连接外设;. PC0PC7:C 组数据信号,用来连接外设或者作为掌握信号;四 8255A 的工作方式8255A 有三种工作方式 ,用户可以通过编程来设置;方式 0 简洁输入 /输出查询方
15、式;A,B,C 三个端口均可;方式 1 选通输入 /输出中断方式;A ,B,两个端口均可;方式 2 双向输入 /输出中断方式;只有A 端口才有;6 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -工作方式的挑选可通过向掌握端口写入掌握字来实现;在不同的工作方式下, 8255A 三个输入 /输出端口的排列示意图如上图所示;1方式 0 方式 0 是一种简洁的输入 /输出方式,没有规定固定的应答联络信号,可用 A,
16、B,C 三个口的任一位充当查询信号,其余I/O 口仍可作为独立的端口和外设相连;方式 0 的应用场合有两种: 一种是 同步传送 ;一种是 查询传送 ;2方式 1 方式 1 是一种选通 I/O 方式, A 口和 B 口仍作为两个独立的 8 位 I/O 数据通道 ,可单独连接外设,通过编程分别设置它们为输入或输出;而C 口就要有 6 位分成两个 3 位分别作为 A 口和 B 口的应答联络线,其余2 位仍可工作在方式0,可通过编程设置为输入或输出;1 方式 1 的输入组态和应答信号的功能图 9-2 给出了 8255A 的 A 口和 B 口方式 1 的输入组态;图 9-2 方式 1 输入组态C 口的
17、PC3-PC5用作 A 口的应答联络线,PC0-PC2就作用 B 口的应答联络线,余下的 PC6PC 7 就可作为方式 0 使用;应答联络线的功能如下: STB :选通输入;用来将外设输入的数据打入8255A 的输入缓冲器;IBF:输入缓冲器满;作为 STB 的回答信号,;INTR :中断恳求信号; INTR 置位的条件是 STB 为高且 IBF 为高且 INTE 为高;INTE :中断答应;对 A 口来讲,是由 PC4 置位来实现,对 B 口来讲,就是由 PC0置位来实现;事先将其置位;STB:A 口B 口PC4 PC27 细心整理归纳 精选学习资料 - - - - - - - - - -
18、- - - - - 第 7 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -IBF:PC5 PC1 INTR :PC3 PC0 INTE :PC4 置 1 PC2 置 12 方式 1 的输出组态和应答信号功能图 9-3 方式 1 的输出组态C 口的 PC3、PC6、PC7 用作 A 口的应答联络线,PC0-PC2 就作用 B 口的应答联络线,余下的 PC4PC5 就可作为方式 0 使用;应答联络线的功能如下:OBF:输出缓冲器满;当CPU 已将要输出的数据送入8255A 时有效,用来通知外设可以从 82
19、55A 取数; ACK :响应信号; 作为对 OBF 的响应信号, 表示外设已将数据从 8255A 的输出缓冲器中取走;INTR :中断恳求信号; INTR 置位的条件是 ACK 为高且 OBF 为高且 INTE 为高;INTE :中断答应;对 A 口来讲,由 PC6的置位来实现,对 B 口仍是由 PC2 的置位来实现;OBF :A 口B 口PC6 PC2 ACK :PC7 PC1 INTR :PC3 PC0 INTE :PC6 置 1 PC2 置 13方式 2 方式 2 为双向选通 I/O 方式,只有 A 口才有此方式;这时, C 口有 5 根线用作 A口的应答联络信号,其余3 根线可用作方
20、式 0,也可用作 B 口方式 1 的应答联络线;方式 2:就是方式 1 的输入与输出方式的组合 ,各应答信号的功能也相同;而 C 口8 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -余下的 PC0PC2 正好可以充当 B 口方式 1 的应答线,如 B 口不用或工作于方式 0,就这三条线也可工作于方式 0;1 方式 2 的组态STB :PC4 IBF:PC5 OBF :PC6 ACK :PC7 INTR :P
21、C32 方式 2 的应用场合方式 2 是一种双向工作方式, 假如一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行;3 方式 2 和其它方式的组合 方式 2 和方式 0 输入的组合:掌握字: 11XXX01T 方式 2 和方式 0 输出的组合:掌握字: 11XXX00T 方式 2 和方式 1 输入的组合:掌握字: 11XXX11X 方式 2 和方式 1 输出的组合:掌握字: 11XXX10X 其中 X 表示与其取值无关,而 五 8255A 的编程及应用 18255A 的编程T 表示视情形可取 1 或 0;对 8255A 的编程涉及到 两个内容:写掌握字设置 工
22、作方式 等信息,使 C 口的指定位 置位 /复位 的功能;9 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -注:均 写入掌握端口1 掌握字格式掌握字要写入 8255A 的掌握口,写入掌握字之后,8255A 才能按指定的工作方式工作;8255A 的掌握字格式与各位的功能如图9-4 所示;D2D11D00D7D6D5D4D31 控 制0 00 11 x10101010方方输 入输输输输 入输 出输输方 式0方
23、式1方 式2字 标 志式 1式 0出入出入出A 口 方式、 I/OC口 高4位B口 方式、 I/OC口 低 4位图 9-4 8255A的掌握字格式【例 1】 某系统要求使用 8255A 的 A 口方式 0 输入, B 口方式 0 输出, C 口高 4 位方式 0输出, C 口低 4 位方式 0 输入;就掌握字为:10010001B 即 91H 初始化程序为:MOV AL ,91H OUT CTRL_PORT,AL 2 C 口的置位 /复位功能只有 C 口才有 ,它是通过向掌握口写入按指定位置位/复位的掌握字来实现的; C 口的这个功能可用于设置方式D70控 制 字 标 志1 的中断答应,可以设
24、置外设的启/停等;按位置位 /复位的掌握字D6D5D4D3D2D1D0000 - PC0 001 - PC110;任意值110 - PC6 111 - PC7置 位复 位图9-5 8255A 的复位 /置位掌握字格式10 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -格式如图 9-5 所示;【例 2】 A 口方式 2,要求发两个中断答应, 即 PC4 和 PC6 均需置位;B 口方式 1 要求使 PC2置
25、位来开放中断;初始化程序可补充完整如下;MOV AL ,0C4H OUT CTRL_PORT,AL ;设置工作方式MOV AL ,09H OUT CTRL_PORT,AL ;PC4 置位, A 口输入答应中断MOV AL ,ODH OUT CTRL_PORT,AL ;PC6 置位, A 口输出答应中断MOV AL , 05H OUT CTRL_PORT,AL ;PC2 置位; B2【例 3】 利用 8255A 的 A 口方式 0 与微型打印机相连,将内存缓冲区 BUFF 中的字符打印输出;试完成相应的软硬件设计; (CPU 为 8088)第一我们分析一下打印机的工作;微型打印机和主机之间的接口
26、采纳并行接口;图 9-6 打印机数据传输时序它的工作流程: 主机将要打印的数据送上数据线,然后发选通信号; 打印机将数据读入,同时使 BUSY 线为高,通知主机停止送数; 这时,打印机内部对读入的数据进行处理;处理 完以后使 ACK 有效,同时使 BUSY 失效,通知主机可以发下一个数据;硬件连线如下图:11 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -表 7-2 Centronics标准引脚信号引脚名
27、称方向功能1 STROBE 入数据选通,有效时接收数据2-9 DATA1-DA TA8 入数据线10 ACKNLG 出响应信号,有效时预备接收数据11 BUSY 出忙信号,有效时不能接收数据12 PE 出纸用完13 SLCT 出挑选联机,指出打印机不能工作14 AUTOLF 入自动换行31 INIT 入打印机复位32 ERROR 出出错36 SLCTIN 入有效时打印机不能工作说明:由 PC0 充当打印机的选通信号 ,通过对 PC0 的置位 /复位来产生选通;同时,由 PC7 来接收打印机发出的“BUSY” 信号作为能否输出的查询;8255A 的掌握字 为:10001000 即 88H A 口
28、方式 0,输出; C 口高位方式 0 输入,低位方式 0 输出PC0置位 : 00000001 即 01H PC0复位:00000000 即 00H 8255A 的 4 个口地址分别为: 00H,01H,02H,03H;编制程序如下:DADA SEGMENT BUFF DB This is a print program.,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START:MOV AX , DATA MOV DS, AX MOV SI,OFFSET BUFF MOV AL , 88H ;8255A 初始化, A 口方式 0,输出12
29、细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -OUT 03H, AL ; C 口高位方式 0 输入,低位方式 0 输出MOV AL , 01H;OUT 03H,AL ;使 PC0 置位,即使选通无效WAIT : IN AL , 02H TEST AL , 80H ;检测 PC7 是否为 1 即是否忙JNZ WAIT ; 为忙就等待MOV AL ,SICMP AL ,$ ;是否终止符JZ DONE ; 是就
30、输出回车OUT 00H,AL ;不是终止符,就从 A 口输出MOV AL ,00H OUT 03H, AL MOV AL , 01H OUT 03H,AL ;产生选通信号INC SI ;修改指针,指向下一个字符JMP WAIT DONE: MOV AL ,0DH OUT 00H,AL ;输出回车符MOV AL , 00H OUT 03H,AL MOV AL , 01H OUT 03H,AL ;产生选通WAIT1 : IN AL , 02H TEST AL , 80H ;检测 PC7 是否为 1 即是否忙JNZ WAIT 1 ; 为忙就等待1,采纳中断方式将BUFF 开头的缓冲区中MOV AL
31、,0AH OUT 00H,AL ;输出换行符MOV AL , 00H OUT 03H,AL MOV AL , 01H OUT 03H,AL ;产生选通MOV AH,4CH INT 21H CODE ENDS END START 【例 4】 将上例中 8255A 的工作方式改为方式的 100 个字符从打印机输出; (假设打印机接口仍采纳Centronics 标准);分析:仍用 PC0作为打印机的选通,打印机的 ACK 作为 8255A 的 A 口, ACK 8255A 的中断13 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 20 页
32、- - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -恳求信号(PC3)接至系统中断掌握器8259A 的 IR 3,其它硬件连线同上例, 如图 7-15 所示;图 9-6 中断方式硬件连线8255A 的掌握字为: 1010XXX0 PC0置位 : 00000001 即 01H PC0复位:00000000 即 00H PC6置位 : 00001101 即 0DH ,答应 8255A 的 A 口输出中断由硬件连线可以分析出, 8255A 的 4 个口地址分别为: 00H,01H,02H,03H;假设 8259A 初始化时送 IC
33、W 2 为 08H,就 8255A A 口的中断类型码是 0BH,此中断类型码对应的中断向量应放到中断向量表从 主程序:MAIN : MOV AL , 0A0H 2CH 开头的 4 个单元中;OUT 03H,AL ;设置 8255A 的掌握字MOV AL ,01H ;使选通无效OUT 03H,AL ;送中断向量XOR AX ,AX MOV DS,AX MOV AX ,OFFSET ROUTINTR MOV WORD PTR 002CH ,AX MOV AX ,SEG ROUTINTR MOV WORD PTR 002EH ,AX MOV AL ,0DH ;使 8255A A 口输出答应中断OU
34、T 03H,AL MOV DI,OFFSET BUFF ;设置地址指针MOV CX,99 ;设置计数器初值MOV AL ,DI ;输出一个字符OUT 00H,AL 14 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -INC DI MOV AL ,00H ;产生选通OUT 03H,AL INC AL ;撤消选通OUT 03H,AL STI ;开中断NEXT : HLT ;等待中断LOOP NEXT HLT
35、中断服务子程序如下:;修改计数器的值,指向下一个要输出的字符ROUTINTR :MOV AL ,DI OUT 00H,AL :从 A 口输出一个字符MOV AL ,00H :产生选通OUT 03H,AL INC AL ;撤消选通MOV 03H,AL INC DI :修改地址指针IRET :中断返回【摸索】 是否可以采纳 A 口的OBF作为打印机的选通信号?如可以的话, 软件该如何修改?是否可用打印机的BUSY 作为 8255 的 A 口 ACK?【习题与摸索】1试分析 8255A 方式 0、方式 1 和方式 2 的主要区分,并分别说明它们适合于什么应用场 合;2当 8255A 的 A 口工作在
36、方式 2 时,其端口 B 适合于什么样的功能?写出此时各种不同组 合情形的掌握字;3如 8255A 的端口 A 定义为方式 0,输入;端口 B 定义为方式 1,输出;端口 C 的上半部 定义为方式 0,输出;试编写初始化程序; (口地址为 80H83H)4假设一片 8255A 的使用情形如下: A 口为方式 0 输入, B 口为方式 0 输出;此时连接的CPU 为8086, 地 址 线 的A 1、 A 2 分 别 接 至 8255A 的 A 0 、 A 1 , 而 芯 片 的CS来 自A 3A 4A 5A 6A7=00101,试完成 8255A 的端口地址和初始化程序;15 细心整理归纳 精选
37、学习资料 - - - - - - - - - - - - - - - 第 15 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -9.3 微机与键盘的接口一、矩阵式键盘的结构 在微型机系统中,键盘是一种最常用的外设,它由多个开关组合而成;可以用来制 造键盘的按键开关有好多种, 最常用的有机械式、 薄膜式、电容式和霍尔效应式等 4 种;机械式开关较廉价,但压键时会产生触点抖动,即在触点牢靠地接通前会通断多次,而 且长期使用后牢靠性会降低;薄膜式开关可做成很薄的密封单元,不易受外界潮气或环 境污染,常用于微波
38、炉、医疗仪器或电子秤等设备的按键;电容式开关没有抖动问题,但需要特制电路来测电容的变化;霍尔效应按键是另一种无机械触点的开关,具有很好的密封性,平均寿命高达1 亿次甚至更高,但开关机制复杂,价格很贵;运算机上用的键盘一般都用机械式开关;对于大多数的键盘,按键被排成行和列的矩阵;下面以机械式开关构成的 16 个键的键盘为例,来争论键盘接口的工作原理,这种原理对采纳其它类型的开关的键盘也是适用的;设 16 个键分别为 16 进制数字 09 和 AF,键盘排列、连线及接口电路如下图所示; 16 个键排成 4 行4 列的矩阵,接到微型机的一对端口上;端口由 8255A 构成,其中端口 A 作输出,端口
39、 B 作输入;矩阵的 4 条行线接到输出端口 A 的 PA3PA0,用程序能转变这 4 条行线上的电平; 4 条列线连到输人端口B 的 PB3PB0,4 条行线仍同时接到输人端口 B 的 PB7PB4 上;这样,用输入指令读取 B 口状态时,可同时读取键盘的行列信号;16 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 16 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -在无键压下时,由于接到 +5V 上的上拉电阻的作用,列线被置成高电平;压下某一键后,该键
40、所在的行线和列线接通;这时,假如向被压下键所在的行线上输出一个低电平信号,就对应的列线也出现低电平;当从B 口读取列线信号时,便能检测到该列线上的低电平;读取 B 口的状态时,仍能读到行线上的低电平信号;这样,依据读入的行和 列状态中低电平的位置,便能确定哪个键被压下了;二、键盘与微机的接口及处理方式 1. 行扫描方式 识别键盘上哪个键被压下的过程称为键盘扫描,上述键盘的扫描包含以下几步:1 检测是否全部键都松开了,如没有就反复检测;2 当全部键都松开了,再检测是否有键压下,如无键压下就反复检测;3 如有键压下,要排除键抖动,确认有键压下;4 对压下的键进行编码, 将该键的行列信号转换成16 进制码,由此确定哪个键被压下了;如显现多键重接的情形,只有在其它键均释放后,仅剩一个键闭合时,才把此 键当作本次压下的键;5 该键释放后,再回到( 2);检测