工程科技微机接口技术-5-1-并行接口_第1页
工程科技微机接口技术-5-1-并行接口_第2页
工程科技微机接口技术-5-1-并行接口_第3页
工程科技微机接口技术-5-1-并行接口_第4页
工程科技微机接口技术-5-1-并行接口_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可编程并行接口18255A的功能与结构8255A的工作方式和编程8255A的应用教学要点2并行数据传输方式以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板上各部件之间3接口电路的基本结构0简单接口电路数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑4

数据输入/输出寄存器——暂存输入/输出的数据命令寄存器——存放控制命令,用来设定接口功能、工作参数和工作方式。状态寄存器——保存外设当前状态,以供CPU读取。5数据输入接口必须具有三态输出能力,以便与总线挂接外设有数据保持能力时—可用三态门实现外设无数据保持能力时—用三态输出的锁存器实现数据输出接口常用锁存器实现6

三态门:高电平、低电平、高阻态通常一个器件中包含8个三态门常用芯片:74LS244应用例子:开关接口工作波形图如下:A0~A15IOR#译码输出D0~D7开关状态地址有效7例1:83FCH~83FFH译码器8锁存器:由D触发器构成通常一个器件包含8个D触发器常用芯片:74LS27374LS374(具有三态输出的锁存器)应用例子:发光二极管接口例2:74LS273译码器=1=1.........+5VRD0|D7CPQ0Q7...D0~D7A0~A15IOW#R9例3:输入/输出接口综合应用根据开关状态在7段数码管上显示数字或符号共阳极7段数码管结构用74LS273作为输出接口,把数据送到7段数码管74LS273的地址假设为F0H用74LS244作为输入口,读入开关K0~K3的状态74LS244的地址假设为F1H当开关的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’(7段码表见下页)10

符号形状7段码.gfedcba符号形状7段码.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’0111000111O1I1O2I2O3I3O4I4E1#

K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7

abcdefgDP7406反相器74LS273Rx8≥174LS138D0~D7IOW#IOR#Y0Y1F0H=0000000011110000F1H=0000000011110001&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3译码器12相应程序段如下: ……Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H …… LEA BX,Seg7 ;取7段码表基地址

MOV AH,0GO: MOV DX,0F1H ;开关接口的地址为F1H IN AL,DX ;读入开关状态

AND AL,0FH ;保留低4位

MOV SI,AX ;作为7段码表的表内位移量

MOV AL,[BX+SI] ;取7段码

MOV DX,0F0H ;7段数码管接口的地址为F0H OUT DX,AL JMP GO131并行接口芯片8255A具有多种功能的可编程并行接口芯片最基本的接口电路:三态缓冲器和锁存器与CPU间、与外设间的接口电路:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路分3个端口,共24个外设引脚3种输入输出工作方式141.18255A的内部结构和引脚数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET15161)外设数据端口端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC3端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握172)与处理器接口CS*A1A0I/O地址读操作RD*写操作WR*00000101001160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字D0~D7数据线 A0~A1地址线RD*读信号 WR*写信号CS*片选信号 RESET复位信号181.28255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路19方式0输入时序datadata输入端口D0~D7RDCS,A1,A0请体会这里8255A的数据缓冲作用20方式0输出时序WRdatadata输出端口D0~D7CS,A1,A08255A对CPU通过它输出给外设的数据进行锁存21方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器22方式1输入引脚:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能23方式1输入联络信号STB*——选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据24方式1输入时序dataINTRIBF

data输入端口D0~D7STBRDSTB*和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据25方式1中断控制8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC226方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器27方式1输出引脚:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器28方式1输出联络信号OBF*——输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK*——响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR——中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口A的INTEA对应PC6端口B的INTEB对应PC229方式1输出时序

INTR

datadata输出端口D0~D7WROBFACK

OBF*和ACK*是外设和8255A间的一对应答联络信号,为的是可靠地输出数据30方式2双向方式方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据31方式2双向引脚PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号32方式2双向时序data-out

INTR

data-outdata-indata-inPA0~PA7D0~D7IBF

WROBFACKSTBRD331.38255A的编程初始化编程:一个方式控制字采用控制I/O地址:A1A0=11工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBMPC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H341)写入方式控制字:控制字格式35例:某系统要求使用8255的A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。控制字为:10111000B=0B8H初始化程序为:

MOVAL,0B8H

OUT63H,AL362)

读写数据端口初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备8255A具有锁存输出数据的能力对输出方式的端口同样可以输入不是读取外设数据读取的是上次CPU给外设的数据37例:利用8255A的输出锁存能力,可实现按位输出控制对输出端口B的PB7位置位的程序段:

movdx,0fffah ;B端口假设为FFFAH

inal,dx ;读出B端口原输出内容

oral,80h ;使PB7=1

outdx,al ;输出新的内容383)

读写端口CC端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用其余引脚仍可设定工作在方式039对端口C的数据输出有两种办法:通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器40端口C的位控制字位控制字写入控制端口特别便于置位/复位内部中断允许触发器INTE41例:(接上例)若A口工作于方式1作输入,要使用中断传送方式,则应当写PC4的按位置位字。控制字为:00001001B=09H

MOVAL,00001001B

OUT63H,AL

42读取的C端口数据有两种情况未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字43D7D6D5D4D3D2D1D0方式1输入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1输出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2双向OBFAINTE1IBFAINTE2INTRA×××端口C的状态字A组B组44例:下图采用一个8255芯片和软盘控制器相连,箭头标明了I/O的方向,根据该图,试写出8255A口的初始化程序。设8255端口地址为0300-0303H。

8255用作软盘基本接口45例:

A口工作在方式2,PC4-PC7作应答联络信号线,PC3用作A组中断请求,PC0-PC2作输出。工作方式控制字为:11XXX000B=0C0H初始化程序为:

MOVDX,303H

MOVAL,0C0H ;工作方式控制字

OUTDX,AL

MOVAL,00001001B

OUTDX,AL

;PC4置位,开放输入中断

MOVAL,00001101B

OUTDX,AL

;PC6置位,开放输出中断4628255A的应用作为通用的并行接口芯片,8255A具有广泛的应用:应用在IBMPC/XT微机上应用于打印机接口电路连接简易键盘驱动LED数码管……472.18255A在IBMPC/XT上的应用工作在基本输入/输出方式0端口A为方式0输入,用来读取键盘扫描码端口B工作于方式0输出,例如控制扬声器等端口C为方式0输入,读取系统状态和配置系统的初始化编程:

moval,10011001b

;方式控制字99H

out63h,al482.2用8255A方式0与打印机接口BUSY

DATA0~78255APC7PC2PA0~PA7打印机STROBE49打印机接口的信号与时序(Centronics)主机把数据送给引脚DATA0~DATA7同时送出数据选通信号STROBE*打印机在BUSY信号线上发出忙信号打印机处理好输入的数据时撤消忙信号同时又送出一个响应信号ACK*50Centronics并行打印接口标准518255A的初始化

movdx,0fffeh ;控制端口地址:FFFEH

moval,10000001B ;方式控制字:91H outdx,al ;A端口方式0输出,C端口上输出、下输入

moval,00001111B ;端口C的复位置位控制字,使PC7=1 outdx,al例152打印子程序:查询printc proc pushax pushdxprn: movdx,0fffch ;读取端口C inal,dx ;查询打印机状态

andal,04h ;PC2=BUSY=0?

jnz

prn

;PC2=1,打印机忙,则循环等待例153打印子程序:输出

movdx,0fff8h ;PC2=0,打印机不忙,则输出数据

moval,ah outdx,al ;将打印数据从端口A输出例154打印子程序:打印

movdx,0fffeh ;从PC7送出控制低脉冲

moval,00001110B ;置STROBE*=0 outdx,al

nop ;产生一定宽度的低电平

nop moval,00001111B ;置=1

outdx,al ;最终,STROBE*产生低脉冲信号例155打印子程序:返回

popdx

popax retprintc

endp例1562.3用8255A方式1与打印机接口1000pf2K15321441LS123单稳电路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印机ACKACKOBFSTROBE578255A方式1与打印机接口时序配合PA0~PA7(DATA0~7)ACKOBFSTROBE588255A的初始化

movdx,0fffeh

moval,0a0h outdx,al

moval,0ch ;使INTEA(PC6)为0,禁止中断

outdx,al ……

mov

cx,counter ;打印字节数送CX

mov

bx,offsetbuffer ;取字符串首地址

callprints ;调用打印子程序例259打印子程序:输出prints proc pushax ;保护寄存器

pushdxprint1: moval,[bx] ;取一个数据

movdx,0fff8h outdx,al ;从端口A输出例260打印子程序:查询

movdx,0fffchprint2: inal,dx

testal,80h ;检测(PC7)为1否?

jzprint2 ;为0,说明打印机没有响应,继续检测例261打印子程序:返

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论