微机原理与接口技术第8章
8255A与键盘接口电路
图8-11 8255A与键盘接口电路
1)行扫描法 首先判别是否有键被按下。其次,确定哪个键被按下。采用逐行扫描
的办法来确定究竟是哪一个键被按下。先扫描第一行,让它输出0电平, 其余的行线为高电平1,然后读入列值。如果读入的列值中有一位为低电 平0,则说明在此行的一个行、列交叉处有键被按下。如果读入的列值全 是1,说明这一行所有按键都未被按下。接着扫描第二行。依此类推,逐 行扫描,直到扫完全部的行线为止。若在扫描的过程中,发现非全1的列 值,就能找出被按下的键。
8.2 并行接口的应用
8.2.1 并行接口在键盘中的应用
1.键盘的种类 键盘是微型计算机中最常用的输入设备之一,通过键盘把数据和
操作命令输入计算机,实现人机对话。目前计算机中使用的键盘分为 编码键盘和非编码键盘。 2.8255A在键盘接口中的应用
非编码键盘的键盘开关排呈行与列的形式,构成矩阵结构的键盘。 例如,64个按键的键盘,只需要8根行线和8根列线,组成矩阵式结构。 对于矩阵结构的键盘,在计算机运行的过程中,必须用软件程序循环 不断地监视键盘,识别被按下的操作键,产生相应的键值,消除抖动, 等等,这个过程称为键盘扫描。
8.3.1 串行接口与通信概述
1.串行通信 串行通信是指计算机主机与外设之间以及主机系统与主机系统
之间数据的串行传送。使用串行通信时,发送和接收到的每一个字 符实际上都是一次一位进行传送的,每一位为1或为0。从不同的角 度来分类,串行通信有多种方式。 1)按照数据传输时发送过程和接收过程来划分
按照数据传输时发送过程和接收过程来划分,串行通信有全双 工方式、半双工方式和单双工方式。全双工方式下系统可同时进行 发送和接收;半双工方式中输入过程和输出过程使用同一通道,因 此两者不能同时进行;而单双工方式下系统只能在一个方向传输信 息。
第8章 通用可编程接口芯片
8.1 并行通信接口8255A 8.2 并行接口的应用 8.3 串行通信接口8251A 8.4 定时器/计数器82538.1 并行Fra bibliotek信接口8255A
8.1.1 8255A的内部结构及外部引脚
1.内部结构 8255A内部结构如
图8-1所示,主要包括 数据输入/输出端口 (即A口、B口和C口)、 A组控制逻辑和B组控制 逻辑、数据总线缓冲器 和读/写控制逻辑等。
需解决的问题: (1)键抖动; (2)重键; (3)按一次键产生多次处理; (4)键值的确定。
8.2.2 并行接口在LED显示中的应用
1.LED的工作原理
图8-14 七段发光二极管显示部件
2.8255A在LED显示接口中的应用(共阴极)
图8-15 8255A与LED的共阴极连接
8.3 串行通信接口8251A
图8-1 8255A的内部结构图
2.外部引脚 8255A是一个40引脚双
列直插式芯片,如图8-2所 示。除了电源和地线引脚 之外,其他引脚信号可以 分为两类:与外设相连的 引脚和与CPU相连的引脚。
图8-2 8255A芯片引脚信号
8.1.2 8255A控制字的设置
1.方式选择控制字
图8-3 8255A方式选择控制字格式
3.方式2 方式2又称为选通双向输入/输出方式,这种方式只适用
于端口A。在方式2下,外设在8位数据线上,既能往CPU发送 数据,又能从CPU接收数据。此外,和工作于方式1的情况类 似,端口C在端口A工作于方式2时,自动提供相应的控制信号 和状态信号。
A口方式2选通联络信号:
图8-8 A口方式2下选通联络信号
信号与输入/输出数据一起传送,由选通信号对数据进行选通。 8255A工作在方式1时,A口和B口皆可独立地设置成这种工作
方式,输入/输出有着各自规定的联络信号和中断信号。
A口方式1输入选通联络信号:
图8-6 A口方式1输入方式下选通联络信号
A口方式1输出选通联络信号:
图8-7 A口方式1输出方式下选通联络信号
2)行反转法 将行线接并行口输出;将列线接并行口输入。程序使CPU通过
输出口,向各行线上全部送0,然后读入列线的值,此时若有某键 被按下,则定会使某一列线为0,输入的列值中,某一位为0。然后, 使行线输入,列线输出。利用输出指令,使列线全部输出为0值, 再从行线输入行线值。行值中闭合键所对应的位必然为0。此时得 到一对行和列值,一个按键对应一组行和列值,行和列值组合起来 可形成一个按键的识别码。
2.端口C置位/复位控制字 端口C经常配合端口A和B工作,为它们提供控制信号和状态信号,因此端
口C的各位经常作为控制位或状态位来使用。为了方便用户单独设置某一个控 制位或状态位,8255A提供了端口C置位/复位控制字,其格式如图8-5所示。
图8-5 端口C置位/复位控制字格式
端口C置位/复位控制字中,D7=0是它的标志位。D3、D2、D1指 明了对端口C哪一位进行操作,而D0则指明对端口C相应位的操作是 置位还是复位,D6、D5、D4为任意值(一般设为0)。
端口A可以工作于3种方式中的任何一种,端口B只能工作于方式 0和方式1,端口C分为两个4位端口,可作普通的输入/输出端口使 用,也可配合端口A和端口B工作,为它们提供控制信号和状态信号。 另外,工作于同一组的两个端口(如端口A和端口C的高4位)可以 分别工作在输入方式和输出方式,并不要求同为输入方式或输出方 式。
2)按时钟对通信过程的定时方式来划分 按时钟对通信过程的定时方式,串行通信可分为同步通信和
异步通信。 (1)同步通信是指在约定的数据通信速率下,发送方和接收
方的时钟信号频率和相位始终保持一致,这就保证了通信双方在 发送数据和接收数据时具有完全一致的定时关系。
8.1.3 8255A的工作方式
1.方式0 方式0又称为基本的输入/输出工作方式。A口、B口、C口均可
以工作在方式0,这是一种基本的输入/输出方式。此方式下,外 设始终处于传送数据准备就绪的状态,无须用专门的联络应答信 号,CPU就可通过8255A随时与外设间进行数据的输入/输出。
2.方式1 方式1是选通输入/输出工作方式,在这种工作方式下,选通