版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章 并行接口与基本人机交互接口(邹逢兴)7.1 教学要求并行接口是微机系统中最常用的接口,而8255A又是微机中应用最广泛和最重要的可编程并行接口芯片,因此要求重点和熟练掌握。人机交互设备及接口是基本微机系统和任何微机应用系统中必不可少的外设及接口,其中键盘、LED显示器、打印机等基本人机交互设备的接口大多是并行接口的应用,因此对这几种人机交互接口的原理和方法也要求熟练掌握。具体要求见表7.1。7.2 内容提要7.2.1 并行接口和串行接口微机与IO设备的接口按照数据传送方式划分,有并行接口和串行接口两种。前者使传送数据的各位同时在总线上传输,后者则使数据一位一位地传输。掌握并行接口和串行
2、接口,要正确理解:所谓并行与串行,仅指在I0接口与IO设备之间有并行、串行之分;就I/O接口和MPU之间而言,都是并行的。正因为这样,所以两种接口在结构和功能上的主要差别在于:串行接口需进行并行与串行之间的相互变换,而并行接口无需进行这种变换。7.2.2 简单的并行接口简单的并行接口是指一些不可编程的并行接口芯片,由数据锁存器和(或)三态门组成。单纯的三态门只能在各种接口中作为单向或双向的总线缓冲器/驱动器使用;锁存器只能用作输出接口,决不允许作为输入接口使用;只有带三态门输出的锁存器才既可作输入接口用,又可作输出接口用。7.2.3 可编程并行接口芯片8255A本节着重介绍8255A的内部结构
3、与引脚功能、三种工作方式和控制字。8255A的寻址与连接,编程及应用则在典型例题中讨论。1内部结构与引脚功能8255A内部由三大部分组成,即:与外设接口部分、与CPU接口部分和内部控制部分(参阅有关书籍)。从外部接口特性上看,其外部引线分成两半,如图8.1所示。左边是与系统总线相连的信号线,与8259、82538254等其他芯片原则上没什么不同,不再赘述。右边则是与外设相连的信号线,其中A口、B口外部引线为PA7PA0和PB7PB0,用作输入或输出的数据端口线,C口对应的外部引线分为PC7PC4和PC3PC0两部分,既可用于传送数据,又可与A口和B口配合使用,用于传送控制信号或状态信号。282
4、55的工作方式8255有三种工作方式:方式0、方式1和方式2,均可通过编程设定。(1)方式0方式0又称为基本输入输出方式。A、B两组均可工作于方式0。在此方式下,A、B、C三个端口均为数据输入输出口,其中A口、B口、C口高4位、C口低4位可通过编程选择分别工作于输入或输出状态,所以共有16种不同组合。方式0既可实现无条件传送,也可使用查询式传送,还可对C口实现按位操作。无条件传送的特点是只要 或 有效,就在8255与MPU之间交换数据,而不管此时数据是否稳定。方式0查询式传送时,使用A口或B 口作为数据口,没有固定的应答线,而是由程序设定C口作为应答的控制和状态信息通道。对C口的按位置位复位操
5、作则是通过写控制端口实现的。需要说明的是,在方式0下,A口、B口和C口的输出均有锁存能力,但它们工作于输入时全无锁存能力,也就是说外设的数据要一直加在这些接口上,必须保持到被CPU读走。(2)方式1方式1又称为选通或应答输入输出方式。A、B两组都有此种工作方式。在此方式下,A口和B口为输入或输出数据端口;C口的某些位固定为A口和B口的应答控制线和中断请求线,不能用程序加以改变,但要注意输入和输出使用的应答控制线有所不同,且输入与输出、A口与B口所用信号对应于C口的引脚也各不相同。方式1输入使用、和INTR三个信号,其中: 是外设给8255的选通信号,表示外设的数据已准备好,当变为低电平时,数据
6、锁存入A口或B口。 IBF是8255给外设的应答信号,表示输入缓存器满,它由信号的下降沿置位,由CPU发出的信号复位。 INTR为中断请求输出信号,高电平有效。数据锁存后,可发中断请求,但该中断请求能否发生要由内部中断允许位INTE控制。 INTE的开启可由对C口的按位置复位操作完成,但要注意A口是对PC4置位,而B口是对PC2置位。方式1输出则使用、和INTR三个信号,其中: 是输出缓存器满。该信号是8255发给外设的数据选通信号, 变低电平表示CPU已将数据送至8255,并锁存在相应端口上。 是响应输入。这是外设对8255发出的 的响应信号,变低,表明外设已从8255的端口接收到CPU输出
7、的数据。 INTR与输入时相同,为中断请求输出信号,高电平有效。当和同时变高时,INTR变高可发出中断信号,但中断请求能否发生还受内部中断允许位INTE控制。此时,INTE的开启,A口是对PC6、B口是对PC2置位而实现的。方式1既可用中断方式传送数据,也可用查询方式传送数据。(3)方式2方式2又称为应答式双向输入输出方式、只有A组具有这种方式。方式2的功能相当于是方式1的输入和输出功能的结合。在此方式下,C口的PC3PC7五条线固定作为应答控制线和中断请求线,各应答信号线功能与方式1下同名信号线相同。当A口工作于方式2时,B口可按方式0或方式1工作;而C口剩余线的功能则因B口工作方式的不同而
8、异:B口按方式1工作时,用作应答控制线和中断请求线;B口按方式0工作时,可用作数据端口线。方式2的数据传送,也是既可用中断方式,亦可用查询方式。38255的控制字和状态字8255内部有两种控制字,即工作方式控制字和C口按位置位复位控制字。工作方式控制字用于设置各端口的工作方式、规定接口功能;而按位置位复位控制字是专门用于对C口的任何一位实现置“1”或置“0”的控制字。格式分别如图7.2、图7.3所示。当8255工作在方式1或方式2时,从C口可以读出各有关信号的状态。状态字格式可参阅有关书籍,此处从略。 关于控制字要说明几点: 设置方式控制字时,A口、B口作为整体设置,而C口要分成上、下两部分分
9、别设置。但三个端口的工作方式均由一个控制字规定。 C口按位置位复位控制字不是送到C口地址,而是送到控制寄存器地址;且一个控制字只能使C口一位置位或复位。方式控制字和按位置位复位控制字均写入同一个控制寄存器地址,二者通过最高位D7来区别。D71为方式控制字,D70为按位置位复位控制字。7.2.4 基本人机交互接口1键盘与键盘接口键盘是微型计算机中最基本的输入设备,是人机交互的纽带。按功能差别,键盘分为编码键盘和非编码键盘。编码键盘能自动检测按键,并以串并方式将按键所对应的功能码自动送给CPU。而非编码键盘只提供键盘的行列矩阵,按键的识别和键值的确定、输入等均由主机软件完成。对上述两种键盘,要求重
10、点和熟练掌握非编码键盘的接口方法。而对有触点按键组成的非编码键盘,其接口必须具备去抖动、防串键、识别被按键和产生键码四个基本功能。其中关键是放按键的识别和键码的产生,它们一般合在一起完成,即只要识别到有键按下,就通过计算或查表产生该键的键码。按键的识别方法主要有两种:线反转法:通过行、列颠倒两次扫描来识别闭合键。此法需两个可编程双向IO端口。行列扫描法:由程序逐行/列对键盘进行扫描,通过检测列行状态来确定闭合键。此法需输入、输出端口各一个。实际中以行列扫描法应用较广,因此主要要求掌握它。2LED显示器接口IED显示器是指由发光二极管LED显示字段构成的显示器件,常用的有7段/8段LED显示器。
11、LED显示器接口有一位和多位之分。前者较简单,只需在8段LED显示器与MPU之间加一个8位锁存器即可。而多位LED显示器接口通常有两种方法:静态显示法和动态显示法。(1)静态显示法静态显示法是各位独立驱动的显示方式,相当于多个一位LED显示器接口的组合。按字段译码方式不同又有软件译码和硬件译码之分,软件译码每位用一个8位并行输出口驱动,而硬件译码每两位用一个8位并行输出口和2个7段8段译码器驱动。(2)动态显示法即动态扫描、分时循环显示的一种多位显示方法。其原理是利用人眼视觉的滞后效应,使各个数码管轮流显示,每个数码管每次显示1ms左右,造成视觉上的稳定显示。实现人眼看上去的各位“同时”显示。
12、以8位LED显示器为例,接口只需两个8位输出口。一个用于输出显示段码,另一个用于输出显示位码。这种方法的优点是可简化硬件,降低成本,减小功耗,应用最广泛,因此要求熟练掌握。3打印机接口打印机是微机系统中主要的硬拷贝输出设备,种类繁多,不同打印机的内部结构、打印原理和控制电路有所不同,但接口的原理是相似的。要求重点掌握并行打印机的接口原理及方法。(I)Centronics并行接口标准打印机从外部接口特性看,可分为串行打印机和并行打印机两类。前者采用RS232C串行接口标准,后者采用Centronics并行接口标准。目前多数打印机为并行打印机,所以主要要求学握基于Centronics标准的并行打印
13、机接口原理与方法。Centronics标准定义了36芯插头座。其中最主要的是8位并行数据线,两根握手联络信号线、和一根忙线BUSY。它们的工作时序如图7.4所示。图7.4 并行打印机接口时序(2)并行打印机接口方法由图7.4可知,采用Centronics接口标准的并行打印机工作过程为:当主机往打印机输出打印数据时,首先查询“忙”信号(BUSY),如果“不忙”,才能向打印机输出数据。在把数据送到数据线上后,先发信号通知打印机;打印机接到选通信号后,先发出“忙”信号,再从接口接收数据。当数据接收完并存入内部的打印缓冲器后,便送出信号,表示打印机已准备好接收新数据,同时在 脉冲的后沿使BUSY撤消。
14、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
15、组工作于方式2时,B组可以工作于(方式0或方式1)。3.当8255A的PC4PC7全部为输出线时,表明8255A的A端口的工作方式是(方式0)。4.8255A工作于方式0时,(A、B和C)口输入没有锁存能力。5.8255芯片工作于方式1的输入模式时,该芯片与外设的联系信号有(和IBF)。6.当数据从8255的端口C往数据总线上读出时,8255的几个控制信号、A1、A0、分别是(0、1、0、0、1)。7.现行PC机中,台式打印机与主机的接口大多采用(Centronics)接口。设计算机的每个I/O端口为8位。现有一个64健的键盘,如果采用线性键盘结构,至少需要(8)个端口;如果采用矩阵键盘结构,
16、至少需要(2)个端口。分析:如果采用线性键盘结构,64个键就是64位。因此需要8个8位的端口。如果采用矩阵键盘结构,用88矩阵结构,则只需要两个端口,一个用作行列输出,一个用作列/行输入。9在矩阵式键盘结构中,识别被按键位置的方法有(行列扫描法和线反转法)。10. 对于共阴极连接的7段数码显示器,如果要使某一段发光,则需要在对应的段输入引脚上输入(TTL高电平)。例7.2 选择题1. 并行接口和串行接口的区别主要表现在 之间的数据传输前者是并行,后者是串行。A接口与MPU B接口与外设 C接口与MPU和外设28255A工作方式中具有中断请求功能的是: 。A、方式0 B、方式1 C、方式23一台
17、微机化仪器采用8255A芯片作数据传送接口,并规定使用I/O地址的最低两位作芯片内部寻址,已知芯片A口地址为0F4H,则当CPU执行输出指令访问0F7H端口时,其操作为 。 A数据从端口C送数据总线 B数据从数据总线送端口C C控制字送控制寄存器 D数据从数据总线送端口B4并行接口芯片8255A与打印机的连线如图7.5所示,当A15A20000 0000 1100 00时,经地址译码器输出使 0。(1) 口A的工作方式应为 A. 方式0 B.方式1 C.方式2 D.方式0或方式1均可(2) 口C的工作方式应为 A方式0 B方式1 C方式2 D方式0或方式2均可(3)IO传送的控制方式为 方式。
18、 A无条件传送 B查询或中断 C中断 D查询(4)8255口C的地址为 。A00C0H B00C1H C00C2H D. 00C3H(5)8255口A的地址为 。 A00C0H B00C1H C00C2H D00C3H分折:根据图中打印机与8255A的握手信号线的连接关系,可知8255A并没有用固定的应答线,也未使用中断,所以口A只可能工作在方式0;而口C在作为一个独立端口时,只有方式0一种工作方式。所以A口、C口均工作在方式0。在方式0下,I/O同步控制方式可以是无条件传送或查询式传送,由图中打印机与8255A使用两条非固定握手信号线,可知I/O同步控制方式是查询式,即只有打印机非“忙”时,
19、才能输出数据。关于口地址的计算方法参见上题,但此题中要注意:最低两位地址线A1、A0并没有对应地接到芯片的内部端口选择线A1A0上,而是颠倒了顺序。5当8255A被设定成方式1时,其功能相当于 。 A0线握手并行接门 B. 1线握手并行接口 C2线握手并行接口 D. 多线握手并行接口分析:8255A在方式1下,无论输入还是输出均使用二根握手联络信号,输入使用和IBF;而输出使用和。6. 8255A有两种控制字,其中工作方式控制字一定 。A . 不等于80H B小于等于80H C大于等于80H78255A工作在方式1的输入状态时,可以通过信号 知道端口是否已经准备好了输入的数据。AREADY B
20、 C DINTR分折:当外部输入设备通过工作在方式1的8255A与CPU相连接时,如果外部设备的输人数据已经送到端口的数据输入缓冲器锁存,则IBF变高,此时若中断是允许的,即INTE为高时,则INTR也变高,可通过INTR向CPU发出中断请求或查询INTR状态,来判明外设数据是否难备好,所以选D。8当8255A的端口A和端口B都工作在方式1输入时,端口C的PC7和PC6 。 A. 被禁止使用 B只能作为输入使用 C只能作为输出使用 D可以设定为输入或输出使用9. PC系列机键盘常采用单片机作为键盘控制器,它通过一条5芯电缆向主机提供键的 。 ABCD码 B二进制码 C. 扫描码 DASCII码
21、分折:PC系列机键盘是属于非编码键盘与编码键盘之间的一种键盘,内部的单片机能自动识别键的按下与释放,自动生成相应的扫描码,并以串行方式送往主机箱。需要说明的是这种扫描码只是键的行列位置码,并没有提供与键的含义和功能直接对应的键值或键码,键码(ASCII码)的产生需由主机通过软件完成。所以,从这个角度看,PC键盘又不具备编码键盘的特征。例8.3 判断题18255A工作于方式2时,A口、B口均作为双向数据传送端口,C口各位作为它们的应答控制线。()2 在微机系统中,一般都要为键盘、显示器、打印机等人机交互设备在内存或接口中建立一个相应的数据缓冲区。这类IO缓冲区的操作与堆栈一样,也是先进后出、后进
22、先出。()分析:键盘、显示器、打印机等人机交互设备的数据缓冲区采用的是队列结构,其进出原则是先进先出。3. 8255工作在方式1或方式2时,其状态字通过读控制端口获得。()分析:8255的状态字应通过读C端口获得。4微机系统中,各模块发出的总线请求、总线忙、中断请求之类的控制信号,一般采用OC门作为输出驱动电路。()分析:IO端口线不外乎有OC输出的I/O端口线、三态输出的I/O端口线和伪双向I/O端口线三类。其中OC输出的I/O端口线有一个十分重要的特性,即多个信号在端口总线上直接相连时能够实现几个低电平有效信号的“线或”功能,也即不管哪个模块的输出端有低电平(有效)输出,这根线上的信号状态
23、都有效。所以,特别适合于传输低电平有效的“多源合一”式总线信号。因此,微机系统中,各模块发出的总线请求、总线忙、中断请求之类的控制信号,一般采用OC门作为输出驱动电路。而与OC输出的I/O端口相比,三态输出的I/O端口在没有IO操作时其输出端是处于第三态高阻态,对所连的外总线没有影响,这一特性特别适合于多数据源利用公共总线传输数据的需要。所以,对于总线的接口,数据总线、地址总线和大部分控制总线都是采用三态方式。5对多位LED显示器,既可采用各位独立驱动的显示方式,又可采用各位动态扫描、分时显示的方法。()例7.4 接口电路8255A工作于方式1中,CPU如何以中断形式将输入设备的数据读入。答:
24、当外设涟备好数据送至8255A的端口数据线时,向8255A发选通信号;8255A利用该信号把端口数据锁存至锁存器,并使IBF变为高送给外设,表明数据已经锁存但尚未读走。同时,在INTR允许中断状态下,IBF变高也使INTR变高,向CPU发中断请求。CPU接受中断请求后,在中断服务程序中,执行一条读端口指令,将存于缓冲器中的数据读走。同时,信号的下降沿使INTR复位,上升沿使IBF复位。又可开始下个输入过程。例7.5 如图7.6所示,CPU检测开关S0S7的通断状态,并在LED0LED7对应位上显示(开关闭合时对应灯亮),问:(1) Ul是 ,U2是 。 A译码器 BDA转换器 C. 三态缓冲器
25、 D. 采样保持器 E锁存器 F光藕(2) 编写完成检测开关状态并显示的子程序片段(U1、U2均为同相IO口)。解:(1)由图可知U2用于输入开关状态,其输出直接与数据总线相连,所以要采用三态缓冲器,以避免总线冲突。U1用于输出控制LED7LED0显示,应具有锁存功能,以保证正确显示。所以,U1是锁存器(E)、U2是三态缓冲器。(2)MOV DX,80HIN AL,DX ;读人S0S7的通断状态NOT AL ;状态位按位求反OUT DX,AL ;状态写入,驱动LED例7.6 分析图7.7所示的电路,指出其中的错误并说明其后果,图中三态门为PC微型机的输入接口,其地址为100H。解:这是一个用三
26、态门接口输入开关状态的接口电路。图中存在三处错误:(1)使用参数译码,得到的是一个输出口,而不是输入口。 应改为。(2)图中使用“或非”门进行地址译码,除了A9A0100H这种状态外,其他组合均使“或非”门输出低电平,即大部分时间,三态门是直通的,这将使开关输入状态直接送上数据总线,从而导致总线冲突。应将“或非”门改为“或”门。(3)开关K的位置接错。当开关K闭合时,反向器输入为高电平;开关K打开时,反向器输入端悬空,而悬空亦常解释为高电平且状态不稳定,因而无法获得正确的开关状态。正确接法见图7.8。例7.7 两按钮K1和K2如图7.9所示。若给定接口地址E000HE00FH可任意选用。(1)
27、 试自定接口芯片,将此两按钮接到80868088的系统总线上,画出连接图。(2) 编写程序,实现如下功能:若K1、K2均未按下,则程序等待;若K1按下,则程序转向PGR1;若K2按下,则程序转向PGR2;若Kl、K2同时按下,则程序转向NEXT。当Kl、K2同时按下时,允许有30ms的时间差。解:这是一个简单的接口问题,可选用三态门作输入接口、门电路作地址译码。电路连接如图7.10所示。由图可知,此接口占用E000HE00FH 范围的地址,编程时可任选其中一个地址。当按钮未按下时,三态门输入为高电平;而当按钮按下时,三态门输入则为低电平。由此可编制识别按键,控制程序转移的驱动程序如下:STAR
28、T:MOVDX,0E000H;读按钮状态NOTALTESTAL,03H;有按钮按下?JZSTART;无,等待CALLDELAY;延时20ms去抖动INAL,DX;读按钮状态NOTALANDAL,03H;有按钮按下?JZSTART;无,等待CMPAL,03H;K1、K2同时按下?JZNEXT;是,转NEXTCMPAL,01H;K1按下?JZPRG1;是,转PRG1JMPPRG2;K2按下,转PRG2分析:设计按钮或键盘接口时,要考虑去抖动问题。同样考虑两个按钮同时按下时,也需要延时检测,因为两个按钮实际上不可能做到真正的同时,总有十几到几十ms的时间差。这是一个实际的工程问题,在真正的工程应用中
29、必须加以考虑。例7.8 PC系列微机应用系统以8255A作为接口,采集一组开关 S7S0的状态,然后它通过一组发光二极管LED7LED0显示出来,(Si闭合,对应LEDi亮;Si断开,对应LEDi灭),电路连接如图7.11所示。已知8255A的A、B两组均工作在方式0。(1)写出8255A四个端口地址;(2)写出8255A的工作方式控制字;(3)画出实现给定功能的汇编语言程序流程图,并编写程序。解:由图可知:8255A的A口工作在方式0出,B口工作在方式0入。当:A9A8A7A6A5A4A3A2时,74LS138的输出低电平,选中8255A。由此可解:(1)8255A A口、B口、C口和控制口
30、地址分别为:320H,321H、322H、323H。(2)8255A的工作方式控制字:82H(未用的位为0)。(3)程序流程图如图7.12所示,程序如下:MOVAL,100001BMOVDX,323HOUTDX,AL;8255A初始化DECDXDECDXINAL,DX;读B口NOTAL;状态值按位求非DECDXOUTDX,AL;状态写入A口,驱动LEDHLT例8.9 某由软件译码的多路复用4位LED显示器接口电路,如图7.13所示。图中4个7段LED复用一个8255A的端口A和一个反向驱动器。为使LED显示器的各位能显示不同的数字,各个显示器不同时发亮,每个LED显示器的公共阴极由8255A端
31、门B的一条输出线控制,只有阴极为低电平时,该LED显示器才能发亮。在接口电路中数据和数位控制均有规律地不断更新(即扫描或刷新)。对每个LED显示器来说只按顺序固定显示某一定的短暂时间(例如1ms),当刷新速度够大时,由于视觉暂留现象,感觉4个LED显示器同时发亮且无闪烁感。若待显示字符为分离的BCD代码(在数据段DISBUF为首的存贮单元),其相应的显示代码表已存贮在数据段中DISCODE为首的存贮单元,试分析该接口电路,回答问题,完成该接口电路的刷新显示程序的编程(若每个LED显示器的固定显示时间为1ms,并由编制好的DIMS软件延时lms子程序实现)。(1)该接口电路中8255A的地址是什
32、么?其中各端口的地址又是什么?由哪些引脚选择确定?(2)分析该接口电路中端口A、端口B应工作在什么方式下?试完成对8255A的初始化编程。(3)如何将要显示的字符代码(如分离的BCD数)转换为显示代码?用软件译码的原理方法是什么?请简单说明?(4)根据图示接口原理,试定义一个过程,编程实现将DISBUF缓冲区的4个字符代码(分离BCD数)显示于图示LED显示器上(即刷新显示程序)。试说明是否尚有其他的方法刷新显示?简述其实现原理,并与软件译码方法比较有何优点?解:(1)8255A的地址是200H203H。其中A口、B口、C口、控制口分别为200H、201H、202H和203H。8255A的片选
33、由高位地址线A2Ai通过译码得到的。内部各端口由地址总线A1、A0选择确定的。(2)由图可知,端口A是段码输出端口,通过驱动电路送出显示代码到数码管相应段;而B口是位码输出端口,用作位控制,用于决定哪个数码管点亮,可以显示数据。这是最基本的无条件输出方式。所以,端口A、端口B都应工作在方式0输出。其初始化程序片段为:MOVDX,203H;控制寄存器地址MOVAL,B;A口和B口均为方式0输出OUTDX,AL(3)采用软件译码将要显示的字符代码转换为LED显示段码。软件译码的原理是使用查表法。以分离BCD数显示为例,在内存中按BCD数从小到大(09)的顺序预先建立各显示字符的LED显示段码表,当
34、要显示某个分离BCD数时,以该BCD数为表项序号查表获取对应的LED显示段码。(4)软件译码动态显示DISBUF缓冲区中4个字符的驱动程序如下:DISPLAYPROCMOVDI,DISBUFMOVCL,08HMOVAL,00HMOVDX,201HOUTAL,DXDISP:MOVAL,DIMOVBX,DISCODEXLATDECDXOUTDX, ALMOVAL,CLINCDXOUTDX ,ALCALLDIMSCMPCL,01JZDISENDINCDISHRCL,1JMPDISPDISEND:RETDISPLAYENDP除此动态显示法外,还有静态显示法,见内容提要。也可采用硬件译码的动态扫描、分时
35、显示接口电路。例8.10 设系统机外扩一片8255以及相应的实验电路,如图8.14所示。要求:先预置开关K3K1为一组状态,然后按下自复按钮K产生一个负脉冲信号,输入到PC4()。用发光二极管LEDi亮,显示K3K1的状态。重复以上操作,直到主机键盘有任意键按下时结束演示。要求:K3K2K1000时,LED1亮,K3K2 K1001时,LED2亮; K3K2K1010时,LED3亮,K3K2K1011时,LED4亮;K3K2K1100时,LED5亮,K3K2 K1101时,LED6亮; K3K2K1110时,LED7亮,K3K2K1111时,LED8亮;K3Kl闭合为0,断开为1。(1)该接口
36、电路中8255的地址是什么?其中各端口的地址又是什么?(2)分析该接口电路中A端口、B端口应工作在什么方式下?(3)试完成对8255的初始化编程。(4)试完成下列程序主体,实现题中要求。DATASEGMENTMESGDB 8255READY,0DH,0AH,$TABDB BDB BDB BDB BDB BDB BDB BDB BDATAENDSCODESEGMENTASSUME CS: CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXCALLI8255;8255初始化MOVAH,9MOVDX,OFFSET MESGINT21H;给出操作提示SCAN:MOVAH,1;读键
37、盘INT16HJNZRETURN;有键按下,结束MOVDX,21AH;读方式1状态字INAL,DXTESTAL,20H;有数据输入(IBFA1)?JZSCAN;无,继续查询等待MOVDX,218H;读开关状态(A口)INAL,DXMOVBX,OFFSET TAB;查表,将开关状态转换成显示码ANDAL,07HXLATINCDXOUTDX,ALJMPSCANRETURN:MOVAH,4CHINT21HI8255:MOVDX,21BHMOVAL,HOUTDX,ALMOVAL,08HOUTDX,ALRETCODEENDSENDSTART例7.11 IBMPC总线上有一键盘输入接口,如图7.15所示,
38、请问: (1)该I0口的基地址是唯一的吗?试列出个有效的基地址 ; (2)要判断是否有键按下,扫描地址应是 ; (3)如按下9键,扫描地址是 ;(4)从该地址读入的值是 。解:分析图7.15,这是一个采用行扫描法的键盘接口电路。扫描信号由地址总线A0A3提供,输入端口由三态门组成,端口地址由对高端地址A4A9译码产生,当A9A8A7A6A5A4时,端口被选中。由此可知,扫描地址为一地址范围:100H10FH,而对不同行的扫描,是通过对不同地址执行读操作完成的。如要判断是否有键按下,对端口100H执行读操作,地址总线A0A3输出均为0,相当于同时产生4个行扫描信号,若此时读到的数据D0D3111
39、1,则表明有键按下;若要识别按键,4个行扫描地址分别为:10EH、10DH、10BH和107H。由此可解:(1)不唯一,100H;(2)100H;(3)10DH;(4)x x x x1011B。例7.12 在上题基础上,假定行的编号从上到下为03,列的编号从左到右为03,要求任意一键按下后,将其所在的行、列按高4位、低4位组合成一个字节,放入KEY单元,编写用扫描法识别按键的程序。解:根据上述分析编写的扫描程序如下:START:MOVDX,100HINAL,DX;读所有按键状态NOTALTESTAL,0FH;有键按下?JZSTART;无,继续扫描CALLDELAY;软件延时20ms,去抖动IN
40、AL,DX;读所有按键状态NOTALTESTAL,0FH;有键按下?JZSTART;无,表明是干扰信号,继续扫描MOVCH,FEH;行扫描信号,从第3行开始MOVBL,3;记录信号AGAIN:MOVCL,CHANDCL,0FHCMPCL,0FH;扫描完4行?JZSTART;扫描完转START,继续等待MOVDX,100HORDL,CL;形成扫描行地址INAL,DX;读当前行按键状态ANDAL,0FHCMPAL,0FH;当前行有键按下?JNZNEXT;有,转NEXTROLCH,1;指向下一扫描行DECBL;行号减一JMPAGAIN;继续行扫描NEXT:MOVCL,4SHLBL,CL;行号送高4位
41、MOVCL,0;计算列号,初值为0KEYMA:TESTAL,01H;当前列有键按下?JZEXIT;有键按下,CL为列号SHRAL,1;指向下一列INCCL;列号加1JMPKEYMAEXIT:ORBL,CL;形成键值MOVKEY,BLHLT7.4 习题精选题7.1 选择题1并行通信与串行通信相比,具有 的优点。 A接口简单、数据传输距离远 B接口简单、数据传输速度高 C. 数据传输速度高、传输距离远2键盘、显示器、打印机等接口中都有相应的I/O数据缓存器,对它们都是按 的方式进行访问的。A 先进先出 B 先进后出 C 随机进出3采用线反转方法识别被按键时,接口电路必须提供 。 A 一个输出端口和
42、一个输入端口 B二个输出端口 C 二个输入端口 D二个可编程的双向I/O端口4微机系统中,各模块发出的总线请求、总线忙、中断请求等多线合一的控制信号,一般均采用 作为输出驱动电路。 AOC门 B三态门 C或门 D异或门5. 对8255A的C口执行按位置位复位操作时,写入的端口地址是 。 AC端口 B控制端口 C. A端口 DB端口6. 8255的A口工作在方式1输入时,其中断允许控制位INTE的置复位是通过对 的位操作进行的。A. PC2 B. PC4 C.PC6 D. PC07. 8255在方式0工作时,端口A、B和C的输入/输出可以有 种组合。 A4 88 C16 D688255的端口A或
43、端口B工作在方式1输出时,与外部设备的联络信号将使用 。AIBF和 B和INTR C和 DIBF和 9可用作简单输入接口的电路是 。 A. 译码器 B锁存器 C反向器 D三态缓冲器10. 8255工作在方式1输入、不使用中断、采用查询方式输入数据,则用于IO同步控制的状态信号是 。AIBF BINTR C DINTE题7.2 填空题1. 8255A的三个端口中只有端口 C 没有输入锁存功能。2发光二极管(LED)组成的8段数码显示器有 共阴极 和 共阳极 两种接法。不同接法显示段码之间的关系是 互为反码 。3非编码键盘接口应具备的4个基本功能是去抖动、防串键、 识别被按键 和 键码产生 。4消
44、除按键抖动影响的常用方法有 软件延时法 和 硬件消抖法 两种。58255工作方式1或方式2时,INTE为 中断允许位 ,它的置1清0由 C口置/复位控制字 进行控制。题7.3 判断题1. 8255的B口工作于方式1时,对PC2的按位置位复位操作仅影响INTE的置位复位,对端口线本身无影响。()2线反转法识别被按键的基本思想是由程序逐列对健盘进行扫描,通过检测行状态来确定闭合键。()3. 锁存器既可作为输出接口,又可作为输入接口使用。()48255A有三种工作方式,在任一种方式下,都可以分别设置A口、B口、C口高4位和C口低4位这四部分的输入、输出状态。()5. 利用8255A的C口按位置位/复位功能,一次可使C口的几位同时置1或置0。()6所谓并行接口和串行接口,顾名思义,就是指I/O接口与MPU和外设之间的通信方式都是一个为并行,一个为串行。()78255工作于方式0时,不能使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江省丽水市莲都区人力社保局招聘8人考试参考题库及答案解析
- 2026年长沙电力职业技术学院单招职业倾向性考试题库附参考答案详解(考试直接用)
- 2026年陕西警官职业学院单招职业倾向性测试题库附参考答案详解(a卷)
- 2025年砂子塘街道社区卫生服务中心公开招聘备考题库及答案详解一套
- 2026年集美大学诚毅学院单招综合素质考试题库附参考答案详解(综合卷)
- 2026年集美大学诚毅学院单招职业倾向性考试题库及1套完整答案详解
- 2025年广州市天河区培艺学校招聘美术老师备考题库及一套答案详解
- 中国东方航空2026全球校园招聘(春季招聘)热招职位合集已上新!笔试模拟试题及答案解析
- 2026年马鞍山职业技术学院单招职业适应性考试题库及一套参考答案详解
- 2026年青海省海东地区单招职业适应性测试题库附参考答案详解(黄金题型)
- 移植血管内瘘的护理
- GJB9001C-2017国军标标准培训讲义
- 人教版数学一年级下册第一单元《十几减9》真题同步测试3(含解析)
- 校园网网络工程分析需求报告
- 《杀死一只知更鸟》读书分享PPT
- 级自制书119本13黑今天穿什么
- Premiere 认证题库(整理版)
- 01厨房组织人员管理篇
- 考研考博-英语-华东理工大学考试押题卷含答案详解1
- 胆囊切除术 胆总管切开取石术
- 灭火器消防栓检查维护记录表
评论
0/150
提交评论