《第九章 可编程外围接口芯片8255A及其应用0.ppt》由会员分享,可在线阅读,更多相关《第九章 可编程外围接口芯片8255A及其应用0.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院第9章 可编程并行接口芯片Intel 8255A微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 9.1 8255A的工作原理 9.1.1 功能 1.Intel 8255A是一个通用的可编程的并行接口芯片,内部有2个8位I/O口(PA、PB),两个4位I/O口(PC74、PC30).2.通过编程可设置3种工作方式,可适用于CPU与I/O设备之间的多种数据传送方式的要求。3.C口可作为数据口,可作为信号线(CPU与I/O设备之间的应答信号),可作为状态口,可按位置位/复位。4.
2、价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 9.1.2 8255A 的内部结构和管脚1.引脚(DIP40)2.(1)D0D7:8位,双向,三态数据线,用来与系统数据总线相连;(2)端口A、B、C:PA0PA7(端口A,用来连接外设);PB0PB7(端口B,用来连接外设);PC0PC7(端口C,用来连接外设或者作为控制信号)。(3)CS、RESET、WR、RD、A1、A0(内部4个端口)。(4)VCC、GND。微型计算机原理与接口技术第9章 可编程并行接口芯片Inte
3、l 8255A山东工商学院2.内部结构微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 1三个数据端口A,B,C 三个端口均可看作I/O口,但它们的结构和功能稍有不同。A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。可编程实现8位输入、输出或双向传送。B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。可编程实现8位输入、输出,但不能实现双向传送。C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口(用于输入、输出),也是仅对输出数据进行锁存。可按位置位/复位。也可作为A口(C口的高5位)、B口(C口的低3位
4、)选通或双向传送的状态、控制信号。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 2.A组和B组的控制电路 这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。3.数据总线缓冲器 8位的双向的三态缓冲器,与系统总线相连,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。4读/写控制逻辑 读/
5、写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 8255A的操作功能表 CS RD WR A1 A0 操 作 数 据 传 送 方 式 0 0 1 0 0 读 A 口 A口数据 数据总线 0 0 1 0 1 读 B 口 B口数据 数据总线 0 0 1 1 0 读 C 口 C口数据 数据总线 0 1 0 0 0 写 A 口 数据总线数据 A口 0 1 0 0 1 写 B 口 数据总线数据 B口 0 1 0 1 0
6、 写 C 口 数据总线数据 C口 0 1 0 1 1 写控制口 数据总线数据 控制口 1 无效 数据总线进入高阻微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 9.1.3 8255A的编程命令 8255A的编程包括两个内容:工作方式控制字设置,C口的按位置位/复位功能。这两个命令均写入控制端口(A1A0=11),用特征位D7区分,D7=1,为工作方式控制字,D7=0,为C口的按位置位/复位。1.工作方式控制命令字 控制字要写入8255A的控制口,写入控制字之后,8255A才能按指定的工作方式工作。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel
7、 8255A山东工商学院B口工作方式 0:方式0 1:方式1D7=1特征位D0D1 D2 D3 D4 D5 D6 D7PC3 PC01:输入0:输出B口 1:输入 0:输出PC7 PC4 1:输入 0:输出A口 1:输入 0:输出A口工作方式00:方式001:方式11:方式2B组A组工作方式控制命令字格式微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 A口:3种工作方式(0、1、2)B口:2种工作方式(0、1)C口:分成两个4位端口,除了可以用作输入输出端口外,还能用来配合A口和B口工作,提供联络信号。8255有3个8位并行口(2个8位口,2个4位口)例1
8、 某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入。设8255的口地址为60H-63H。则控制字为:10010001 即 91H 初始化程序为:MOV AL,91H OUT 63H,AL 微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 2.C口的置位/复位功能 只有C口才有,它是通过向控制口写入按指定位置位/复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。可以产生矩形波或方波。功能:指定PC口的某一位(某一个引脚)输出高电平或低电平。D0D1D2 D3 D4 D5
9、D6 D71:置位0:复位C口选择 000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7任选(可1可0)D7=0(特征位)微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 例2:一片8255A的口地址为60H63H,PC5平时为低电平,要求编程使从PC5引脚输出一个正脉冲。MOV AL,00001011B MOV 63H,AL;PC5为高电平 MOV AL,00001010B MOV 63H,AL;PC5为低电平注:C口的置位/复位命令写入命令口,不能写入C口。微型计算机原理与接口技术第9章 可编程
10、并行接口芯片Intel 8255A山东工商学院 9.1.4 8255A的工作方式 8255A有三种工作方式,可以通过编程来设置。方式0:简单输入/输出查询方式;A,B,C端口均可。方式1:选通输入/输出中断方式;A,B,两个端口均可。方式2:双向输入/输出中断方式。只有A端口才有。工作方式的选择可通过向控制端口写入控制字来实现。1.方式 0 一种简单的输入/输出方式,无需应答联络信号。A,B,C三个口都可工作在这种方式下,可以通过方式选择命令字定义他们是作为输入还是作为输出。这些端口与CPU交换数据时,可直接使用输入输出指令从指定端口读取或写入数据。比如PA口地址为60H,CPU可通过指令直接
11、读取或写入数据:IN AL,60H|OUT 60H,AL微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 2.方式 1 方式 1 是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。(1)方式1的输入组态和应答信号的功能 下图给出了8255A的A口和B口方式1的输入组态。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 C口的PC3PC5用作
12、A口的应答联络线,PC0-PC2则作用B口的应答联络线,余下的PC6PC7则可作为方式0使用。应答联络线的功能如下:STB:选通输入。用来将外设输入的数据从PA口或PB口写入8255A的输入缓冲器。IBF:输入缓冲器满。作为STB的回答信号。CPU读取数据后将其复位。INTR:中断请求信号,向 CPU发出中断请求。INTR置位的条件是STB=1且IBF=1且INTE=1。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 INTE:中断允许。无外部引脚。对A口来讲,是由PC4置位来实现,对B口来讲,则是由PC2置位来实现。事先通过C口置位/复位命令字将其置位。
13、输入过程:外设准备好数据放在端口数据线上 外设向8255发STB 将数据输入8255 IBF=1,输入缓冲器满(在INTE=1,中断允许时)INTR=1,向CPU提出中断申请 CPU在允许的情况下相应中断 转入中断服务,将输入缓冲器的数据取走,同时,清INTR,IBF=0,输入缓冲器空,允许外设输入数据。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院(2)方式1的输出组态和应答信号功能(3)CPU通过8255向外设发送数据微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 C口的PC3、PC6、PC7用作A口的应答联络线,
14、PC0-PC2则作用B口的应答联络线,余下的PC4 PC5则可作为方式0使用。应答联络线的功能如下:OBF:输出缓冲器满。当CPU已将要输出的数据送入8255A时有效,用来通知外设可以从8255A取数。收到ACK后恢复为高电平。ACK:响应信号。作为对OBF的响应信号(负脉冲),表示外设已将数据从8255A的输出缓冲器中取走。INTR:中断请求信号。INTR置位的条件是ACK为高且OBF为高且INTE为高。即外设已经取走数据,便向CPU发中断,CPU可以发下一字节的数据了。INTE:中断允许。对A口来讲,由PC6的置位来实现,对B口仍是由PC2的置位来实现。微型计算机原理与接口技术第9章 可编
15、程并行接口芯片Intel 8255A山东工商学院 输出过程:CPU向8255写数据 OBF=0,输出缓冲器满 外设读完数据 ACK=0有效,表明外设已收到数据(在INTE=1时)INTR=1,向CPU提出中断申请 CPU在允许时响应中断 CPU向8255写下一个数据。(3)选通输入/输出方式组合 8255A工作于方式1时,允许对PA口和PB口分别定义其输入输出方向,可以定义一个端口作为输入,另一个端口作为输出。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 3方式 2 方式2为双向选通I/O方式,只有A口才有此方式。这时,C口有5根线用作A口的应答联络信号
16、,其余3根线可用作方式0,也可用作B口方式1的应答联络线。方式2就是方式1的输入与输出方式的组合,各应答信号的功能也相同。而C口余下的PC0PC2正好可以充当B 口方式1的应答线,若B口不用或工作于方式0,则这三条线也可工作于方式0。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院(1)方式2的组态 微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院(2)方式2的应用场合 方式2是一种双向工作方式(半双工),如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行。PA口既可输入又可输出。(3
17、)方式2和其它方式的组合 方式2和方式0输入的组合:控制字:11XXX01T 方式2和方式0输出的组合:控制字:11XXX00T 方式2和方式1输入的组合:控制字:11XXX11X 方式2和方式1输出的组合:控制字:11XXX10X 其中X表示与其取值无关,而T表示视情况可取1或0。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 9.1.5 8255与8086CPU之间的连接电路 简单的连接电路如下:D0D7WRRDA1A0CSDBIOWIORA2A1译码器8255A口B口C口D0D7外 设RESETRESETA0微型计算机原理与接口技术第9章 可编程并行
18、接口芯片Intel 8255A山东工商学院 9.2 8255A接口应用举例 9.2.1 基本输入/输出 8个开关K7 K0,要求不断检测它们的通断状态,并随时在发光二极管LED7 LED0上显示出来。开关断开,相应的LED点亮;开关合上,LED熄灭。我们选用8086 CPU,8255A和74LS138译码器等芯片。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 设计8255A的A口作输人口,8个开关K7K0分别接PA7 PA0。B口为输出口,PB7 PB0分别接显示器LED 7LED0。8255A的和RESET引脚分别与CPU的相应输出相连。8255A的数
19、据线D7 D0与8086的低8位数据总线D7 D0相连,8255A的4个口地址都应为偶地址,A0必须总等于0。当A7 A6 A5=111,A4 A3 A0=100时,选中8255A。这样,8255A 的4个端的地址分别为F0H、F2 H、F4H和F6 H,对应于8255A的A口、B口、C口和控制字寄存器。其硬件电路如下图所示。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 程序设计:方式选择控制字:A口工作于方式0、输人,B口工作于方式0、输出,C口未用。控制字中与C口对应
20、的位可以被置为0,则控制字为100100000。具体程序如下:MOV DX,0F6H;控制字寄存器 MOV AL,10010000B;控制字 OUT DX,AL;写人控制字TEST-IT:MOV DX,0F0H;指向A口 IN AL,DX;从A口读人开关状态 MOV DX,0F2H;指向B口 OUT DX,AL;B口控制LED,指示开关状态 JMP TEST_ IT;循环检测 如果开关合上,LED点亮;开关断开,LED熄灭;程序该作如何改动?微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 MOV DX,0F6H;控制字寄存器 MOV AL,10010000
21、B;控制字 OUT DX,AL;写人控制字TEST-IT:MOV DX,0F0H;指向A口 IN AL,DX;从A口读人开关状态 MOV DX,0F2H;指向B口 NOT AL;AL内容取反 OUT DX,AL;B口控制LED,指示开关状态 JMP TEST_ IT;循环检测或使用 XOR AL,0FFH微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院9.2.2 8255外扩打印机例 利用8255A的A口方式0与微型打印机相连,将CPU内存缓冲区BUFF中的字符打印输出。试完成相应的软硬件设计。首先我们分析一下打印机的工作。微型打印机和主机之间的接口采用并行
22、接口。打印机数据传输时序 微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院打印机 Centronics标准引脚信号 引脚 名 称 方向 功 能 1 STROBE 入 数据选通,有效时接收数据 2-9 DATA1-DATA8 入 数据线 10 ACKNLG 出 响应信号,有效时准备接收数据 11 BUSY 出 忙信号,有效时不能接收数据 12 PE 出 纸用完 13 SLCT 出 选择联机,指出打印机不能工作 14 AUTOLF 入 自动换行 31 INIT 入 打印机复位 32 ERROR 出 出错 36 SLCTIN 入 有效时打印机不能工作微型计算机原理
23、与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 工作流程:主机将要打印的数据送上数据线,然后发选通信号。打印机将数据读入,同时使BUSY线为高,通知主机停止送数。这时,打印机内部对读入的数据进行处理。处理完以后使ACK有效,同时使BUSY失效,通知主机可以发下一个数据。硬件连线如下图:微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院说明:由PC0充当打印机的选通信号,通过对PC0的置位/复位来产生选通。同时,由PC7来接收打印机发出的“BUSY”信号作为能否输出的查询。8255A的方式控制字为:10001000 即88H A口方式0,
24、输出;C口高位方式0输入,低位方式0输出PC0置位:00000001 即 01H PC0复位:00000000 即 00H 8255A的4个口地址分别为:60H,61H,62H,63H。程序如下:DADA SEGMENT BUFF DB This is a print program!,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUFF MOV AL,88H;8255A初始化,A口
25、方式0,输出 OUT 63H,AL;C口高位方式0输入,低位方式0输出 MOV AL,01H;C口置位/复位控制字 OUT 63H,AL;使PC0置位,使选通无效WAIT:IN AL,62H TEST AL,80H;检测PC7是否为1,即是否忙 JNZ WAIT;为忙则等待 MOV AL,SI CMP AL,$;是否结束符 JZ DONE;是则输出回车、换行 OUT 60H,AL;不是结束符,则从A口输出(此时打印机;还不能接收数据)MOV AL,00H OUT 63H,AL;使PC0复位,使选通有效,有效后接收数据 MOV AL,01H OUT 63H,AL;使PC0置位,使选通无效 INC
26、 SI;修改指针,指向下一个字符 JMP WAIT微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院DONE:MOV AL,0DH OUT 60H,AL;输出回车符 MOV AL,00H OUT 63H,AL;选通有效 MOV AL,01H OUT 63H,AL;选通无效WAIT1:IN AL,62H TEST AL,80H;检测PC7是否为1即是否忙 JNZ WAIT 1;为忙则等待 MOV AL,0AH OUT 60H,AL;输出换行符 MOV AL,00H OUT 63H,AL;选通有效 MOV AL,01H OUT 63H,AL;选通无效 MOV AH
27、,4CH INT 21H CODE ENDS END START微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院例 将上例中8255A的工作方式改为方式1,采用中断方式将BUFF开始的缓冲区中的100个字符从打印机输出。(假设打印机接口仍采用Centronics标准)分析:仍用PC7作为打印机的选通,打印机的回应接PC6,数据口为8255A的A口,8255A的中断请求信号(PC3)接至系统中断控制器8259A的IR3,其它硬件连线同上例,如下页图所示。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院PC7PC6微型计算机原
28、理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 8255A的控制字为:1010XXXX PC6置位:00001101 即 0DH,允许8255A的A口输出中断请求信号INTR(置INTE=1)。设8255A的4个口地址分别为:60H,61H,62H,63H。假设8259A初始化时送ICW2为08H,则8255A A口的中断类型码是0BH,此中断类型码对应的中断服务程序的入口地址应放到中断向量表从0002CH开始的4个单元中。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 段定义、段分配、段初始化语句(略)8259A初始化语句(略)
29、MAIN:MOV AL,0A0H;PA口方式1输出 OUT 63H,AL;设置8255A的控制字 PUSH DS XOR AX,AX MOV DS,AX;段基址为0000H,中断向量的段基址 MOV AX,OFFSET ROUTINTR;中断子程序入口 MOV 002CH,AX;中断向量IP MOV AX,SEG ROUTINTR MOV 002EH,AX;送中断向量CS POP DS MOV AL,0DH;PC6置位 OUT 63H,AL;使8255A允许A口输出中断微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院 MOV DI,OFFSET BUFF;设
30、置地址指针 MOV CX,99;设置计数器初值 MOV AL,DI OUT 60H,AL;从A口输出一个字符 INC DI;修改地址指针NEXT:STI;开中断 HLT;等待中断 LOOP NEXT;修改计数器,指向下一个要输出的字符 HLTROUTINTR:MOV AL,DI OUT 60H,AL;从A口输出一个字符 INC DI;修改地址指针 IRET;中断返回微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院阅读教材P339 键盘接口举例。阅读教材P342 8255A在PC/XT机中的应用。微型计算机原理与接口技术第9章 可编程并行接口芯片Intel 8255A山东工商学院作业:P354 3 5 6 9(1)(不要求每隔0.5秒检测一次)