收藏 分享(赏)

8255a用法课件.ppt

上传人:天天快乐 文档编号:1100249 上传时间:2018-06-11 格式:PPT 页数:65 大小:657KB
下载 相关 举报
8255a用法课件.ppt_第1页
第1页 / 共65页
8255a用法课件.ppt_第2页
第2页 / 共65页
8255a用法课件.ppt_第3页
第3页 / 共65页
8255a用法课件.ppt_第4页
第4页 / 共65页
8255a用法课件.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

1、5.5 可编程并行输入/输出接口芯片8255A,并行接口的特点可编程并行通信接口芯片8255,一、并行接口的特点,并行接口是在多根数据线上,以字节/字为单位与I/O设备交换数据,二、可编程并行通信接口芯片8255,8255芯片引脚定义与功能,Intel系列的8位并行接口芯片通用性强,使用灵活可用程序设置和改变芯片的工作方式是一种典型的可编程并行接口芯片,40个引脚,双列直插式,二、可编程并行通信接口芯片8255,二、可编程并行通信接口芯片8255,8255芯片引脚定义与功能,1. 数据端口 A、B、C,每个端口8位,通过编程设定其为输入口或输出口可用来和外设传送信息,端口A有 3 种工作方式(

2、 方式 0、方式 1、方式 2)对外 8 根引脚 PA7 PA0,二、可编程并行通信接口芯片8255,8255芯片引脚定义与功能,1. 数据端口 A、B、C,端口B 有 2 种工作方式:方式 0、方式 1对外 8 根引脚 PB7 PB0,端口C,对外引脚PC0 PC7,二、可编程并行通信接口芯片8255,8255芯片引脚定义与功能,1. 数据端口 A、B、C,当端口 A 在方式 1 或方式 2、端口 B 在方式 1 时, 端口 C 的某些位用于传送联络信号, 以适应CPU与外设间的各种数据传送方式的要求, 如查询传送的应答信号、中断传送的中断申请信 号等; C口未被用作联络信号的其它位可工作在

3、方式 0下。,二、可编程并行通信接口芯片8255,8255芯片引脚定义与功能,2. 控制端口D (A组和B组控制电路),8位端口,无对外引脚可用来和外设传送信息控制端口的内容决定A口、B口、C口的工作状态(输入或输出) 和工作方式(方式 0、1、2), 起控制作用。,二、可编程并行通信接口芯片8255,8255芯片引脚定义与功能,3. 数据总线缓冲器(引脚D0D7),由1个8位双向三态缓冲器构成 8255A内各端口通过数据缓冲器与系统总线相连。 CPU与端口A、B、C间传送的数据, 以及CPU写入控制端口D中的控制字均通过数据缓冲器传送。,二、可编程并行通信接口芯片8255,8255芯片引脚定

4、义与功能,4. 读写控制电路 (引脚CS、 RD、 WR),控制数据总线缓冲器的状态。 数据总线缓冲器有3种状态:输入、输出、高阻态,二、可编程并行通信接口芯片8255,8255芯片引脚定义与功能,5. 片内译码电路 (引脚A1、 A0),选择被操作的端口,二、可编程并行通信接口芯片8255,8255芯片引脚定义与功能,由CS、A1、A0、RD、WR引脚的不同组合,实现各种不同的功能。,在8255A内部硬件结构中: A口和B口之间没有硬件关系, 即可分别作为独立的输入或输出端口; C口和A口,C口和B口之间有硬件联系, 通过向控制口设置控制字可以改变这种联系。,三、 三种工作方式,三、 三种工

5、作方式,根据A口和C口、B口和C口之间硬件关系的不同, 可以有三种不同的工作方式, 分别称为方式 0、方式 1、方式 2。,A口或B口工作在方式 0: 与C口之间没有硬件联系。 A口或B口工作在方式 1: C口的某3根引脚作为端口与外设的联络信号。A口工作在方式 2: C口的某5根引脚作为端口与外设的联络信号。,三、 三种工作方式,1. 方式0(基本输入输出方式) A口工作在方式 0 时,A口和C口之间没有硬件联系 B口工作在方式 0 时,B口和C口之间没有硬件联系,三、 三种工作方式,1. 方式0(基本输入输出方式),工作在方式 0 的端口,为单向传送端口, 输入或输出 作为输入口相当于普通

6、的三态门 作为输出口相当于普通的锁存器 CPU可利用工作在方式 0 的端口,直接对端口进行读写操作,实现CPU与外设间的数据传送。,三、 三种工作方式,2. 方式1(选通输入输出方式) A口工作在方式1时,C口的某3根引脚作为A口的联络信号。 B口工作在方式1时, C口的某3根引脚作为B口的联络信号。,工作在方式 1 的端口,为单向传送端口。 在方式 1 下,C口作为A口、B口联络信号的引脚,其动作关系在芯片设计和制造时已固定, 不由用户自己安排,也不能编程改变。,三、 三种工作方式,3方式2 (双向传送方式),端口工作在方式 2时,C口的某5根引脚作为端口的 联络信号 8255A 只有A口可

7、以工作在方式 2 下。与方式0和方式1不同的是: 工作在方式 2 的端口,为双向传送端口,既可输入又可输出。,方式选择控制字,四、8255A的控制字,所以, 方式控制字为 1000 0010B, 即82H,由于对 C口无要求,控制C口的相应位D4, D0可为任意值,假设取0,例 假设8255A 控制端口的地址为203h,编程设置控制字,使A口方式0输出; B口方式0输入,设置控制字的程序段如下: MOV DX,203h ;置DX为控制口地址 MOV AL,82h ;置控制字于AL中 OUT DX, AL ;将控制字写入控制口,例 假设8255A 控制端口的地址为203h,编程设置控制字,使A口

8、方式0输出; B口方式0输入,端口C置位/复位控制字,注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口,例 假设8255A的控制口地址为203h, 通过控制口置 PC2 为 0,置 PC4 为 1,MOV DX,203H ;置DX为控制口地址MOV AL,0000 0100B ;置PC2为0OUT DX, AL MOV AL,0000 1001B ;置PC4为1OUT DX, AL,例:设 A、B、C数据口地址分别位60H、 61H、62H、控制口端口地址 63H,1:A口方式0,输出、B口方式0,输入,C口高4位输出,C口低4位入,MOV AL,10000011

9、BOUT 63H,AL,2:PC7置1,PC3置0MOV DX,63HMOV AL,0000,1111B;PC7置1OUT DX,ALMOV AL,0000,0110B;PC3置0OUT DX,AL,8255的工作方式0,8255作为打印机接口,工作于方式0,1. 方式0(基本输入输出方式,单向传送端口, 输入或输出 ),程序设计:设PA、PB、PC口地址分别为0D0H、0D2H、0D4H控制口地址:0D6HMOV AL,81H;OUT 0D6H,ALMOV AL,0DH; PC6置1,0DH=0000,1101OUT 0D6H, ALLPST:IN AL,0D4H;读PC口AND AL,04

10、D; 打印机忙否(PC2 =BUSY=?)JNZ LPST ;PC2=1,打印机忙,等待MOV AL, CLOUT 0D0H, AL; CL中的字符送PA口MOV AL, 0CHOUT 0D6H, AL; 置PC6=0,即=0;00001100=0CHINC ALOUT 0D6H, AL;置PC6=1,即=1,00001101=0DH,8255的工作方式1选通输入输出方式,A口工作在方式1时,C口的某3根引脚作为A口的联络信号 B口工作在方式1时, C口的某3根引脚作为B口的联络信号。 工作在方式 1 的端口,为单向传送端口。由方式控制字决定是输入还是输出。 C口作为联络信号的引脚,不受方式控

11、制字的控制。该出则出,该入则入, 不受C口按位置位/复位控制字控制。,8255的工作方式1选通输入输出方式,利用方式 1 下的联络信号, 可方便地实现查询或中断方式的硬件设计, 使CPU能够有效、可靠地与外设进行数据传送。 A口、B口在输入或输出不同的工作状态时, C口联络信号的引脚和意义也不同。,8255的工作方式1选通输入输出方式,8255的工作方式1选通输入输出方式,对方式1输入的端口,C口提供与外部联络的信号有: STB 选通信号(低电平有效)由外设发出,送给8255A,作用是将外设送来的数据锁存到8255A的输入端口。 IBF 输入缓冲器满信号(高电平有效) 8255A 发出,表示外

12、设送来的数据已进入输入端口。 当外设送来的数据送入输入端口后,8255A自动发出。 INTR 中断申请信号(高电平或上升沿有效)8255A 发出,用来向CPU发出中断申请。STB、IBF、INTE均为时,8255A自动发出INTR。,8255的工作方式1选通输入输出方式,对方式1输入的端口,8255A内部的控制信号有: INTE 中断允许控制信号, 作用是控制是否允许8255A的中断申请信号INTR发出。,此信号无引出,通过控制口对C口相应位的置位/复位设置允许或不允许。 A口,对PC4置位, 使INTEA=1, 允许中断 对PC4复位, 使INTEA=0, 不允许中断 B口,对PC2置位,

13、使INTEB=1, 允许中断 对PC2复位, 使INTEB=0, 不允许中断,8255的工作方式1选通输入输出方式,方式1的输入时序:从工作在方式1下的输入端口输入数据时,有关信号的变化关系。,外设送来数据,当INTE=1时,8255的工作方式1选通输入输出方式, 当外设准备好数据,将数据送至端口线PA7PA0或PB7PB0 外设发出选通信号STB: (1) 将数据锁存在输入端口内。 (2) 使IBF变高,表示输入端口满,可用于阻止外设输入新数据。(3) 如果INTE=1, STB的上升沿使INTR变高,发出中断请求。 转中断处理程序,执行IN指令,CPU 读取数据,发出RD信号: (1) R

14、D 的下降沿清除INTR (2) RD 的上升沿清除IBF (3) 端口内的数据进入CPU,8255的工作方式1选通输入输出方式,8255的工作方式1选通输入输出方式,对方式1输出的端口,C口提供与外部联络的信号有: OBF 输出缓冲器满信号(低电平有效)当数据送至8255A输出缓冲器后,8255A自动发出。 表示CPU送来的数据已进入8255A输出端口,可用来通知外设把数据取走。 ACK 外设响应信号(低电平有效) 由外设发出,送给8255A。作用是通知 8255A输出端口的数据已被外设取走,可以传送下一个数据。,8255的工作方式1选通输入输出方式, INTR 中断申请信号(高电平或上升沿

15、有效) 8255A 发出, 用来向CPU发出中断申请。当OBF 、ACK、INTE均为时,8255A自动发出INTR。,8255的工作方式1选通输入输出方式,对方式1输出的端口,8255A内部的控制信号有: INTE 中断允许控制信号,作用是控制是否允许中断申请信号INTR发出。,此信号无引出,通过控制口对C口相应位的置位/复位设置允许或不允许。 A口,对PC6置位, 使INTEA=1, 允许中断 对PC6复位, 使INTEA=0, 不允许中断 B口,对PC2置位, 使INTEB=1, 允许中断 对PC2复位, 使INTEB=0, 不允许中断,8255的工作方式1选通输入输出方式,方式1的输出

16、时序:向工作在方式1下的输出端口输出数据时,有关信号的变化关系。,8255的工作方式1选通输入输出方式, CPU执行OUT指令,输出数据 CPU发出WR (1) 数据写到 8255A的端口 (2) 使OBF有效(OBF=0) ,表示输出端口满,可作为外设的选通信号,通知外设取数据。 (3) 清除中断请求信号INTR 外设接受到数据后,发出ACK信号 (1) ACK的下降沿使OBF变高, (2) 当INTE=1, ACK的上降沿使INTR变高,发出中断请求,请求CPU输出新的数据。,8255的工作方式1选通输入输出方式,主程序:MAIN:MOV AL,0A0H ;方式选择控制字OUT 0C6H,

17、ALMOV AL,01H ;OUT 0C6H,ALCLI ;替换中断向量前关中断MOV AH,25H ;替换中断向量的典型方式MOV AL,0BH ;IR3的类型码为0BHMOV DX,OFFSET ROUTINTRPUSH DSMOV AX,SEG ROUTINTRMOV DS,AXINT 21HPOP DSMOV AL,0DH ;PA方式1输出,“置PC6=1的操作”OUT 0C6H,AL ;使8255允许中断(INTEA=1)STI ;CPU开中断,假设:A口地址 0C0HB口地址 0C2HC口地址 0C4H控制口 0C6H,中断处理程序ROUTINTR:MOV AL,DI ;DI为打印

18、字符缓冲区地址OUT 0C0H,ALMOV AL,00H ;置PC0=0OUT 0C6H,ALINC AL ;置PC0=1IRET,8255的工作方式2选通双向传输方式,端口工作在方式 2时,C口的某5根引脚作为端口的联络信号 8255A 只有A口可以工作在方式 2 下。 与方式 0、方式 1的单向传送不同,工作在方式 2下的端口,具有双向传送功能。 A口工作在方式 2 下,C口未做联络信号的3条引脚 可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。 由方式控制字决定其输入/输出。,8255的工作方式2选通双向传输方式,工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下A

19、口输入、输出联络信号的组合。,8255A在IBM PC/XT主板上的应用,键盘接口,键盘,键盘中断申请,8259A,IR1,INTA,INT,8088,INTR,INTA,60H端口,61H端口,8255A,应答信号,扫描码,辅助电路,IR0,18.2Hz方 波,扬声器,8255A与系统的连接,8255A在IBM PC/XT主板上的应用,各端口的地址分别为: A口:60H B口: 61H C口:62H 控制口: 63H 正常工作时,A、B、C三个端口均工作在方式0, A口输入、B口输出、C口输入 ,方式控制字为:1001 1001 B(99H)( 8255A的控制字在系统初始化中已设置 ),8

20、255A在IBM PC/XT主板上的应用,8255A在IBM PC/XT主板上的应用,发声程序中 通过61H端口控制发声键盘中断子程中 通过60H端口读入键盘扫描码,执行:OUT 61H, AL,执行:OUT 61H, AL,8255A在IBM PC/XT主板上的应用,50,例9.1 某系统要求使用8255的A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。, 控制字为:10111000B=0B8H 初始化程序为: MOVAL,0B8H OUT63H,AL,51,2C口按位置/复位控制字(写,A1A011 ),C口按位置/复位控制字,

21、例9.2如上例,若A口工作于方式1作输入,要使用中断传送方式,则应当写PC4的按位置位字: MOVAL,00001001B OUT63H,AL,52, 方式1下8255状态字中INTE位的置位和复位, 若禁止PA口输入中断请求 MOV DX,303H ;8255命令口 MOV AL,00001000B ;置PC4=0,禁止中断请求 OUT DX,AL, 若允许PA口输入中断请求 MOV DX,303H ;8255命令口 MOV AL,00001001B ;置PC4=1,允许中断请求 OUT DX,AL, 若允许PA口输出中断请求 MOV DX,303H ;8255命令口 MOV AL,0000

22、1101B ;置PC6=1,允许中断请求 OUT DX,AL,53, 若允许PB口输入中断请求 MOV DX,303H ;8255命令口 MOV AL,00000101B ;置PC2=1,允许中断请求 OUT DX,AL, 若禁止PB口输入中断请求 MOV DX,303H ;8255命令口 MOV AL,00000100B ;置PC2=0,禁止中断请求 OUT DX,AL, 若允许PB口输出中断请求 MOV DX,303H ;8255命令口 MOV AL,00000101B ;置PC2=1,允许中断请求 OUT DX,AL,54,例9.3下图采用一个8255芯片和软盘控制器相连,箭头标明了I/

23、O的方向,根据该图,试写出8255的初始化程序。设8255端口地址为0300-0303H。,8255用作软盘基本接口,55, A口工作在方式2,PC4-PC7作应答联络信号线,PC3用作A组中断请求,B口和PC0-PC2作输出,工作在方式0。 工作方式控制字为:11XXX000B, 初始化程序为: MOVDX,303H MOVAL,0C0H OUTDX,AL MOVAL,00001001B OUTDX,AL ;PC4置位,开放输入中断 MOVAL,00001101B OUTDX,AL ;PC6置位,开放输出中断,56,例9.4某应用系统以8255A作为接口,采集一组开关S7S0 的状态,然后通

24、过一组发光二极管LED7LED0显示开关状态,(Si闭合,则对应LEDi亮,Si断开,则对应的LEDi灭)电路连接如下图,已知8255A、B两组均工作在方式0。,写出8255四个端口的地址。写出8255工作方式控制字。写出实现给定功能的汇编语言程序。,57,LED7,LED0,S7,S0,PB7,PB0,PA7,PA0,8255A,D7D0,D7D0,WR#,RD#,IOW#,IOR#,Y0 #,G1,G2A#,G2B#,C,B,A,74LS138,CS#,A9,AEN,&,A8,A7,A6,A5,A4,A3,A2,A1,A0,A1,A0,58,答:,A口、B口、C口和控制口的地址分别是320

25、H、321H、322H和323H。A口工作在方式0输出,B口工作在方式0输入,C口空闲,所以其控制字是10000010b82H程序如下:,MOVAL, 82H;置方式字MOVDX, 323H;置控制端口地址OUTDX, ALL1:MOVDX, 321H;置B口地址INAL, DX;读开关状态(1断,0通)NOTAL;状态取反MOVDX, 320H;置A口地址OUTDX, AL;输出(1亮,0灭)JMPL1,59,思考题:如果上题要求修改成:不用查询方式,而是每50ms来一次中断,在中断中读B口,输出A口,请问电路和程序要怎么改动?假设系统提供一个2KHz的脉冲。,60,例9.5 假设利用825

26、5的A口方式0与打印机相连,将内存缓冲区BUFF中的字符打印输出。,61,打印机时序,返回,62,8255与打印机接口,63,DATA SEGMENTBUFF DB HELLO,WORLD!,13,10,$PORTA EQU60HPORTB EQU61HPORTC EQU62HPORTCN EQU63HDATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETBUFFMOVAL,88H;8255初始化,A口方式0输出,C口上半部输入,64,OUTPORTCN,AL ;C口下半部输出 MOVAL,01H ;置位PC0,STB无效 OUTPORTCN,ALWAIT:INAL,PORTC ;读打印机状态,若“忙”则等待 TESTAL,80H JNZWAIT MOVAL,SI CMPAL,$ JZPRINT_OVER,65,OUTPORTA, AL;数据送出MOVAL, 00H ;产生选通信号,打印机接收数据,开始打印。OUT PORTCN,AL MOV AL,01H OUT PORTCN,AL INC SI JMP WAITPRINT_OVER: MOV AH,4CH INT 21HCODE ENDSENDSTART,看图,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报