微机原理 第10章 微型计算机并行接口技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第10章并行接口技术10.1概述•CPU与接口的数据传输总是并行的•接口与外设间的数据传输则可分为两种方式:串行传送与并行传送。•8255A是Intel86系列微处理器的配套并行接口芯片10.2可编程并行接口芯片8255A•10.2.18255A引脚定义与功能•10.2.28255A的控制字•10.2.38255A工作方式10.2.18255A引脚定义与功能8255A芯片是一个40引脚双列直插式(DIP)封装组件,其引脚排列如图14023933843753663573483393210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PB6PB5PB4PB3PB7VCCD7D6D5D4D3D2D1D0RESETWRPA7PA6PA5PA4一、8255A的引脚定义1、与微处理器连接的信号线D7~D0:数据线,三态双向8位,与系统的数据总线相连。CS:片选信号,低电平有效。WR:写信号,低电平有效。RD:读信号,低电平有效。RESET:复位信号,高电平有效。为高电平时,8255A所有的寄存器清0,所有的输入/输出引脚均呈高阻态,3个数据端口置为方式0下的输入端口。A1,A0:端口地址选择信号。用于选择8255A的3个数据端口和一个控制端口。一、8255A的引脚定义2、8255A与外部设备连接的信号线PA7~PA0:A口与外部设备连接的8位数据线,由A口的工作方式决定这些引脚用作输入/输出或双向。PB7~PB0:B口与外部设备连接的8位数据线,由B口的工作方式决定这些引脚用作输入/输出。PC7~PC0:C口8位数据线,可分别设置高4位和低4位进行输入/输出。二、8255A功能1、8255A主要特性(1)8255A具有3个8位的数据口(A口、B口和C口),其中C口还可当作两个4位口来使用。三个数据口均可用来输入或输出。(2)8255A具有3种工作方式:方式0、方式1和方式2。可适应CPU与外设间的多种数据传输方式,如无条件传送方式、查询传送方式、中断方式等。(3)8255A的C口还具有按位清0和置1功能。二、8255A功能2、8255A内部结构A组端口A(8位)A组端口C(高4位)B组端口C(低4位)B组端口B(8位)PA7~PA0PC7~PC4PB7~PB0PC3~PC0A组控制B组控制数据总线缓冲器读/写控制逻辑数据总线D7~D0RDWRA1A0RESETCS8255A内部结构(1)数据总线缓冲器该缓冲器为8位、双向、三态的缓冲器,直接与系统数据总线相连,是CPU与8255A间传送数据的必经之路。各种命令字的写入及状态字的读取,也是通过该数据总线缓冲器进行的。(2)读/写控制逻辑CPU通过输入和输出指令,将地址信息和控制信息送至该部件,由该部件形成对端口的读/写控制,并通过A组控制和B组控制电路实现对数据、状态和控制信息的传输。8255A内部结构(3)A组和B组控制这两组控制部件是8255A的内部控制逻辑,其内部有控制寄存器与状态寄存器,它们完成两个功能:一是接收来自CPU通过内部数据总线送来的控制字,以选择两组端口的工作方式;二是接收来自读/写控制逻辑电路的读/写命令,以决定两组端口的读/写操作。8255A内部结构(4)数据端口A、B、CA口:输入锁存器,输出锁存器/缓冲器。B口:输入缓冲器,输出锁存器/缓冲器。作为输入口时,它不具备锁存能力,因此外设输入的数据必须维持到被微处理器读取为止。C口:输入缓冲器,输出锁存器/缓冲器。C口除用作输入和输出口外,在方式1及方式2下,其部分引脚要作为A口及B口的联络信号用。实际使用时,可以把A口、B口、C口分成两个控制组:A组和B组。A组控制电路控制端口A和端口C的高4位(PC7~PC4)。B组控制电路控制端口B和端口C的低4位(PC3~PC0)。10.2.28255A的控制字8255A有两类控制字:方式选择控制字和C口置位/复位控制字。这二类控制字写入同一端口地址(A1A0=11),为了进行区分,控制字的D7位作为标志位,D7=1表示是方式选择控制字;D7=0表示是C口置位/复位控制字。一、方式选择控制字D7D6D5D4D3D2D1D0特征位=11:C口低4位输入0:C口低4位输出1:B口输入0:B口输出B组方式选择0:方式01:方式11:C口高4位输入0:C口高4位输出1:A口输入0:A口输出A组方式选择00:方式001:方式11×:方式2B组控制A组控制设8255A的端口地址为60H~63H,要求A组工作在方式0,A口输出,C口高4位输入;B组工作在方式1,B口输出,C口低4位输入,则对应的工作控制方式字为:10001101B或8DH。初始化程序如下:MOVAL,8DH;设置方式选择字OUT63H,AL;送到8255A控制字寄存器中二、C口置位/复位控制字C口置位/复位控制字的作用是使C口的某一引脚输出特定的电平状态(高电平或低电平),控制字的格式D7D6D5D4D3D2D1D0特征位=0不使用(通常取0)0=复位1=置位C口位选择PC0:000PC1:001PC2:010PC3:011PC4:100PC5:101PC6:110PC7:111二、C口置位/复位控制字使用C口置位/复位控制字时应注意以下几点:1、仅C口可按位置位/复位,且只对C口的输出状态进行控制,对输入状态无作用。2、一次只能设置C口一位的状态。3、该控制字写入控制口,而不是C口。要使PC5置1,PC2清0,设8255A的地址为320H~323HMOVAL,00001011B;PC5置1的控制字MOVDX,323HOUTDX,AL;输出到控制口MOVAL,00000100B;PC2清0的控制字OUTDX,AL;输出到控制口设8255A控制端口地址为037FH,若要使8255A的PC7产生一个负脉冲,用作打印机接口的选通信号,则设置端口C置位/复位控制字的程序段MOVDX,037FH;8255AMOVAL,00001110B;由C口置位/复位控制字设定PC7=0OUTDX,ALNOPNOPMOVAL,00001111B;由C口置位/复位控制字设定PC7=1OUTDX,AL10.2.38255A工作方式8255A有3种工作方式:方式0、方式1和方式2,这些工作方式由初始化编程时设置方式选择控制字来选择。A口可选择方式0、方式1和方式2;B口可选择方式0和方式1;C口只能以方式0工作。当A口选择方式1/方式2或B口选择方式1时,C口某些位配合A口或B口工作,作为A口/B口与外设联络用的输出控制信号或输入状态信号,而C口的其余各位仍可以工作在方式0。一、方式0•基本输入/输出方式:(1)没有固定的联络信号,输出具有锁存能力,输入只有缓冲能力,而无锁存功能。(2)所有端口都是单向传输端口。(3)可指定C口中的部分位来完成联络功能。二、方式1•选通输入/输出方式或应答方式•数据的输入/输出都有锁存能力•C口的部分位作为固定的联络线二、方式11、输入时的联络信号线及时序(PC4)PC4PC5PC3&PC7~PC6IBFASTBAINTRA(PC2)PC2PC1PC0&IBFBSTBBINTRBA口B口1101×1/0××方式1A口输入PC7~PC6I/O控制0=输出1=输入A组方式选择控制字1×××1××1方式1B口输入B组方式选择控制字PA7~PA0PB7~PB0RDRDINTEAINTEB二、方式1•STB:外设给8255A的输入选通信号,低电平有效。•IBF:8255A给外设的输入缓冲器满信号,高电平有效。•INTR:8255A送到CPU的中断请求信号,高电平有效。INTR变高的条件是:STB=1;IBF=1;INTE=1。•INTE:中断允许触发器,通过C口的置位/复位命令设置。二、方式1STBIBFINTRRD从外设来的输入数据tSTtSIB①tPStPHtSITtRITtRIB②③④二、方式12、输出时的联络信号线及时序(PC4)PC6PC7PC3&PC4~PC5OBFAACKAINTRA(PC2)PC2PC1PC0&INTRBA口B口1100×1/0××方式1A口输出PC7~PC6I/O控制0=输出1=输入A组方式选择控制字1×××1××0方式1B口输出B组方式选择控制字OBFAACKAPA7~PA0PB7~PB0WRWRINTEAINTEB二、方式1•OBF:该信号是8255A输出给外设的输出缓冲器满信号,低电平有效。•ACK:响应信号,低电平有效,由外设送来。•INTR:中断请求信号,高电平有效。INTR变高的条件是:OBF=1;ACK=1;INTE=1。•INTE:中断允许触发器,通过C口的置位/复位命令设置。二、方式1WROBFINTRACK①②③④输出数据tWITtWOBtAOBtWBtAKtAIT三、方式2•双向输入/输出选通方式•只适用于A口•B口可工作在方式0或方式1•时序是方式1输入和输出两种操作的组合10.38255A应用举例-1设8255A端口地址为280H~283H,要求读入开关的状态,若断开,则使发光二极管熄灭;若闭合,则使发光二极管点亮。电路如图所示。8255APB6PC510.38255A应用举例-1根据题意可知,8255A工作于方式0,B口输出,C口高4位输入,其控制字为88H(未用位写0),则程序段如下:MOVAL,88HMOVDX,283HOUTDX,ALMOVDX,282HINAL,DXANDAL,20HJZL1;条件成立时PC5=0,开关闭合MOVAL,0MOVDX,281HOUTDX,AL;熄灭发光二极管JMPEND1L1:MOVAL,40HOUTDX,AL;点亮发光二极管END1:…10.38255A应用举例-2打印机内有一个以8位专用微处理器为核心的打印机控制器,负责打印功能的处理,以及打印机本身的管理,并通过机内一个标准接口(Centronics并行接口)与主机进行通信,接收主机送来的打印数据和控制命令,该接口位于打印机内,采用多芯电缆与主机内的打印机接口电路(打印机适配器)相连。多芯电缆上的信号有数据信号、CPU的命令信号和打印机状态信号等,主要信号如表10.4所示。10.38255A应用举例-2STBACK信号含义方向说明DATA7-0数据线输入主机送给打印机的8位数据选通脉冲输入负极性脉冲,主机发出,用于将DATA7~DATA0上的数据写入打印机的缓冲器BUSY忙输出若为高电平,表示打印机忙,不能接收数据应答输出负脉冲,宽度约为5μs,作为打印已接收到一个数据的应答信号,并准备好接收下一个数据10.38255A应用举例-2CPU8255A打印机DATA7-0A7-0PC4STBPC2BUSY地地10.38255A应用举例-28255A的端口地址80H~83H,能打印一个字符的程序如下:MOVAL,81HOUT83H,AL;8255A工作方式控制字MOVAL,09HOUT83H,AL;置PC4为1,即使=1BUSY:INAL,82H;读C口ANDAL,4;查询PC2是否为0JNZBUSY;忙则继续查询,不忙则向A口发送数据MOVAL,’A’;被打印字符为’A’OUT80H,AL;送出打印数据MOVAL,8OUT83H,AL;置PC4为低NOPNOPMOVAL,9OUT83H,AL;使PC4为高,形成负脉冲10.38255A应用举例-38255A的A口和B口工作在方式0,A口接有4个开关;B口接一个7段数码管(共阳极),其电路结构如图10.12所示,8255A的端口地址范围为:208H~20BH。试编写程序,要求7段数码管显示开关所拨通的数字。10.38255A应用举例-3PA0PA1PA2PA3PB0PB1PB2PB3PB4PB5PB6PB7+5V+5V8255AabcdefgDP10.38255A应用举例-3显示数字字形码03FH106H25BH34FH466H56DH67DH707H87FH96FHA

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功