第七章并行接口与基本人机交互接口-1-第七章并行接口与基本人机交互接口(邹逢兴)7.1教学要求并行接口是微机系统中最常用的接口,而8255A又是微机中应用最广泛和最重要的可编程并行接口芯片,因此要求重点和熟练掌握。人机交互设备及接口是基本微机系统和任何微机应用系统中必不可少的外设及接口,其中键盘、LED显示器、打印机等基本人机交互设备的接口大多是并行接口的应用,因此对这几种人机交互接口的原理和方法也要求熟练掌握。具体要求见表7.1。7.2内容提要7.2.1并行接口和串行接口微机与I/O设备的接口按照数据传送方式划分,有并行接口和串行接口两种。前者使传送数据的各位同时在总线上传输,后者则使数据一位一位地传输。掌握并行接口和串行接口,要正确理解:所谓并行与串行,仅指在I/0接口与I/O设备之间有并行、串行之分;就I/O接口和MPU之间而言,都是并行的。正因为这样,所以两种接口在结构和功能上的主要差别在于:串行接口需进行并行与串行之间的相互变换,而并行接口无需进行这种变换。7.2.2简单的并行接口简单的并行接口是指一些不可编程的并行接口芯片,由数据锁存器和(或)三态门组成。单纯的三态门只能在各种接口中作为单向或双向的总线缓冲器/驱动器使用;锁存器只能用作输出接口,决不允许作为输入接口使用;只有带三态门输出的锁存器才既可作输入接口用,又可作输出接口用。第七章并行接口与基本人机交互接口-2-7.2.3可编程并行接口芯片8255A本节着重介绍8255A的内部结构与引脚功能、三种工作方式和控制字。8255A的寻址与连接,编程及应用则在典型例题中讨论。1.内部结构与引脚功能8255A内部由三大部分组成,即:与外设接口部分、与CPU接口部分和内部控制部分(参阅有关书籍)。从外部接口特性上看,其外部引线分成两半,如图8.1所示。左边是与系统总线相连的信号线,与8259、8253/8254等其他芯片原则上没什么不同,不再赘述。右边则是与外设相连的信号线,其中A口、B口外部引线为PA7~PA0和PB7~PB0,用作输入或输出的数据端口线,C口对应的外部引线分为PC7~PC4和PC3~PC0两部分,既可用于传送数据,又可与A口和B口配合使用,用于传送控制信号或状态信号。2.8255的工作方式8255有三种工作方式:方式0、方式1和方式2,均可通过编程设定。(1)方式0方式0又称为基本输入/输出方式。A、B两组均可工作于方式0。在此方式下,A、B、C三个端口均为数据输入输出口,其中A口、B口、C口高4位、C口低4位可通过编程选择分别工作于输入或输出状态,所以共有16种不同组合。方式0既可实现无条件传送,也可使用查询式传送,还可对C口实现按位操作。无条件传送的特点是只要RD或WR有效,就在8255与MPU之间交换数据,而不管此时数据是否稳定。方式0查询式传送时,使用A口或B口作为数据口,没有固定的应答线,而是由程序设定C口作为应答的控制和状态信息通道。对C口的按位置位/复位操作则是通过写控制端口实现的。需要说明的是,在方式0下,A口、B口和C口的输出均有锁存能力,但它们工作于输入时全无锁存能力,也就是说外设的数据要一直加在这些接口上,必须保持到被CPU读走。(2)方式1方式1又称为选通或应答输入/输出方式。A、B两组都有此种工作方式。在此方式下,A口和B口为输入或输出数据端口;C口的某些位固定为A口和B口的应答控制线和中断请求线,不能用程序加以改变,但要注意输入和输出使用的应答控制线有所不同,且输入与输出、A口与B口所用信号对应于C口的引脚也各不相同。方式1输入使用STB、IBF和INTR三个信号,其中:●STB是外设给8255的选通信号,表示外设的数据已准备好,当STB变为低电平时,数据锁存入A口或B口。●IBF是8255给外设的应答信号,表示输入缓存器满,它由STB信号的下降沿置位,由CPU发出的RD信号复位。●INTR为中断请求输出信号,高电平有效。数据锁存后,可发中断请求,但该中断请求能否发生要由内部中断允许位INTE控制。INTE的开启可由对C口的按位置/复位操作完成,但要注意A口是对PC4置位,而B口是对PC2置位。方式1输出则使用ACK、OBF和INTR三个信号,其中:●OBF是输出缓存器满。该信号是8255发给外设的数据选通信号,OBF变低电平表示CPU已将数据送至8255,并锁存在相应端口上。●ACK是响应输入。这是外设对8255发出的OBF的响应信号,ACK变低,表明外设已从8255的端口接收到CPU输出的数据。●INTR与输入时相同,为中断请求输出信号,高电平有效。当OBF和ACK同时变高时,INTR变高可发出中断信号,但中断请求能否发生还受内部中断允许位INTE控制。此时,INTE的开启,A口是对PC6、B口是对PC2置位而实现的。方式1既可用中断方式传送数据,也可用查询方式传送数据。(3)方式2第七章并行接口与基本人机交互接口-3-方式2又称为应答式双向输入/输出方式、只有A组具有这种方式。方式2的功能相当于是方式1的输入和输出功能的结合。在此方式下,C口的PC3~PC7五条线固定作为应答控制线和中断请求线,各应答信号线功能与方式1下同名信号线相同。当A口工作于方式2时,B口可按方式0或方式1工作;而C口剩余线的功能则因B口工作方式的不同而异:B口按方式1工作时,用作应答控制线和中断请求线;B口按方式0工作时,可用作数据端口线。方式2的数据传送,也是既可用中断方式,亦可用查询方式。3.8255的控制字和状态字8255内部有两种控制字,即工作方式控制字和C口按位置位/复位控制字。工作方式控制字用于设置各端口的工作方式、规定接口功能;而按位置位/复位控制字是专门用于对C口的任何一位实现置“1”或置“0”的控制字。格式分别如图7.2、图7.3所示。当8255工作在方式1或方式2时,从C口可以读出各有关信号的状态。状态字格式可参阅有关书籍,此处从略。关于控制字要说明几点:①设置方式控制字时,A口、B口作为整体设置,而C口要分成上、下两部分分别设置。但三个端口的工作方式均由一个控制字规定。②C口按位置位/复位控制字不是送到C口地址,而是送到控制寄存器地址;且一个控制字只能使C口一位置位或复位。③方式控制字和按位置位/复位控制字均写入同一个控制寄存器地址,二者通过最高位D7来区别。D7=1为方式控制字,D7=0为按位置位/复位控制字。7.2.4基本人机交互接口1.键盘与键盘接口键盘是微型计算机中最基本的输入设备,是人机交互的纽带。按功能差别,键盘分为编码键盘和非编码键盘。编码键盘能自动检测按键,并以串/并方式将按键所对应的功能码自动送给CPU。而非编码键盘只提供键盘的行列矩阵,按键的识别和键值的确定、输入等均由主机软件完成。对上述两种键盘,要求重点和熟练掌握非编码键盘的接口方法。而对有触点按键组成的非编码键盘,其接口必须具备去抖动、防串键、识别被按键和产生键码四个基本功能。其中关键是放按键的识别和键码的产生,它们一般合在一起完成,即只要识别到有键按下,就通过计算或查表产生该键的键码。按键的识别方法主要有两种:·线反转法:通过行、列颠倒两次扫描来识别闭合键。此法需两个可编程双向I/O端口。·行/列扫描法:由程序逐行/列对键盘进行扫描,通过检测列/行状态来确定闭合键。此法需输入、输出端口各一个。实际中以行/列扫描法应用较广,因此主要要求掌握它。2.LED显示器接口IED显示器是指由发光二极管LED显示字段构成的显示器件,常用的有7段/8段LED显示器。LED显示器接口有一位和多位之分。前者较简单,只需在8段LED显示器与MPU之间加一个8位锁第七章并行接口与基本人机交互接口-4-存器即可。而多位LED显示器接口通常有两种方法:静态显示法和动态显示法。(1)静态显示法静态显示法是各位独立驱动的显示方式,相当于多个一位LED显示器接口的组合。按字段译码方式不同又有软件译码和硬件译码之分,软件译码每位用一个8位并行输出口驱动,而硬件译码每两位用一个8位并行输出口和2个7段/8段译码器驱动。(2)动态显示法即动态扫描、分时循环显示的一种多位显示方法。其原理是利用人眼视觉的滞后效应,使各个数码管轮流显示,每个数码管每次显示1ms左右,造成视觉上的稳定显示。实现人眼看上去的各位“同时”显示。以8位LED显示器为例,接口只需两个8位输出口。一个用于输出显示段码,另一个用于输出显示位码。这种方法的优点是可简化硬件,降低成本,减小功耗,应用最广泛,因此要求熟练掌握。3.打印机接口打印机是微机系统中主要的硬拷贝输出设备,种类繁多,不同打印机的内部结构、打印原理和控制电路有所不同,但接口的原理是相似的。要求重点掌握并行打印机的接口原理及方法。(I)Centronics并行接口标准打印机从外部接口特性看,可分为串行打印机和并行打印机两类。前者采用RS—232—C串行接口标准,后者采用Centronics并行接口标准。目前多数打印机为并行打印机,所以主要要求学握基于Centronics标准的并行打印机接口原理与方法。Centronics标准定义了36芯插头座。其中最主要的是8位并行数据线,两根握手联络信号线STROBE、ACK和一根忙线BUSY。它们的工作时序如图7.4所示。图7.4并行打印机接口时序(2)并行打印机接口方法由图7.4可知,采用Centronics接口标准的并行打印机工作过程为:当主机往打印机输出打印数据时,首先查询“忙”信号(BUSY),如果“不忙”,才能向打印机输出数据。在把数据送到数据线上后,先发STROBE信号通知打印机;打印机接到选通信号后,先发出“忙”信号,再从接口接收数据。当数据接收完并存入内部的打印缓冲器后,便送出ACK信号,表示打印机已准备好接收新数据,同时在ACK脉冲的后沿使BUSY撤消。7.3典型题型及例题精解本单元内容主要涉及可编程并行接口芯片8255A的接口特性、工作方式、应用编程,以及几种常用人机交互设备的基本工作原理和接口原理、方法。其考核题型主要是有关8255A的接口特性、工作方式和常用人机交互接口基本原理的简答题、选择题、填空题、判断题,以及8255A的编程、应用和人机交互接口分析、设计等方面的综合应用题。例7.1填空题1.8255A把(A口和C口的上半部分)和(B口和C口的下半部分)分别称为A组和B组,可组成两个独立的并行接口。2.8255A中,A组有(3)种工作方式,它们是(方式0、方式1和方式2),B组有(2)种工作方式,它们是(方式0和方式1)。当A组工作于方式2时,B组可以工作于(方式0或方式1)。第七章并行接口与基本人机交互接口-5-3.当8255A的PC4~PC7全部为输出线时,表明8255A的A端口的工作方式是(方式0)。4.8255A工作于方式0时,(A、B和C)口输入没有锁存能力。5.8255芯片工作于方式1的输入模式时,该芯片与外设的联系信号有(STB和IBF)。6.当数据从8255的端口C往数据总线上读出时,8255的几个控制信号CS、A1、A0、RD、WR分别是(0、1、0、0、1)。7.现行PC机中,台式打印机与主机的接口大多采用(Centronics)接口。设计算机的每个I/O端口为8位。现有一个64健的键盘,如果采用线性键盘结构,至少需要(8)个端口;如果采用矩阵键盘结构,至少需要(2)个端口。分析:如果采用线性键盘结构,64个键就是64位。因此需要8个8位的端口。如果采用矩阵键盘结构,用8×8矩阵结构,则只需要两个端口,一个用作行/列输出,一个用作列/行输入。9.在矩阵式键盘结构中,识别被按键位置的方法有(行/列扫描法和线反转法)。10.对于共阴极连接的7段数码显示器,如果要使某一段发光,则需要在对应的段输入引脚上输入(TTL高电平)。例7.2选择题1.并行接口和串行接口的区别主要表现在之间的数据传输前者是并行,后者是串行。A.接口与MPUB.接口与外设C.接口与MPU和外设2.8255A工作方式中具有中断请求功能的是:。A、方式0B、方式1C、方式23.一台微机化仪器采