1 / 40

并行接口芯片 8255A 应用设计

并行接口芯片 8255A 应用设计. 教师:王晓甜 Email : xtwang@mail.xidian.edu.cn. 1. 2. 3. 4. 5. 8255A 简介. 8255A 的应用设计. 8255 A 的引脚及结构功能. 8255 A 的控制字及工作方式. 8255 A 与系统总线的连接. Contents. 8255 A 学习重点. 如何通过控制字的设置把内部逻辑部件协调起来,完成指定的功能 如何把芯片的各个引脚于系统的输入输出总线连接起来. 重点学习:. 8255 A 的结构和工作原理 8255 A 的工作方式

mateja
Download Presentation

并行接口芯片 8255A 应用设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 并行接口芯片8255A应用设计 教师:王晓甜 Email: xtwang@mail.xidian.edu.cn

  2. 1 2 3 4 5 8255A 简介 8255A 的应用设计 8255A 的引脚及结构功能 8255A的控制字及工作方式 8255A 与系统总线的连接 Contents

  3. 8255A学习重点 • 如何通过控制字的设置把内部逻辑部件协调起来,完成指定的功能 • 如何把芯片的各个引脚于系统的输入输出总线连接起来 重点学习: 8255A的结构和工作原理 8255A的工作方式 8255A的初始化编程及应用 应用设计中注意:

  4. 8.1 8255A简介 系统总线BUS 地址总线AB 系 统 总 线 形 成 数据总线DB CPU 控制总线CB 主存 I/O接口 外设 I/O设备 主机

  5. 8.1 8255A简介 数据2 数据 数据 数据 数据2 数据 数据

  6. 8.1 8255A 简介 8255A 是: • Intel 8086/8088 系列的可编程外设接口电路 • 可以进行编程控制的通用并行输入/输出接口电路。 • 它是一片使用单一+5V电源的40脚双列直插式DIP封装的大规模集成电路。 • 8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。 • 8255A有A、B、C三个端口,24条I/O线。它可以通过编程的方法来设定的各种I/O功能。 • 由于它的功能强,又能方便地与各种8/16位微机系统相配,所以应用较为普遍。

  7. 8.2 8255A 的引脚功能

  8. 8.2 8255A 的结构功能 CPU +5V 外设1 8 位 外设2 8 位 A1A0 00 端口A PA 01 端口B PB 10 端口C PC 11 控制寄存器 CPU与外设之间的握手信号 PA口和PB口:双向数据输入输出端口 PC口:双向数据输入输出端口 或 控制/状态端口

  9. 8.2 8255A 的结构功能 三个8位端口:PA,PB和PC 被分为两组12位端口 A组和B组 +5V PA (PA7~PA0) A组 PCA(PC7~PC4) 工作方式 0,1, 2 8 位 PB (PA7~PA0) B组 PCB(PC3~PC0) 工作方式0:基本输入或输出 工作方式1:有联络信号的输入或输出 工作方式2:双向传送 工作方式 0,1 8 位

  10. 8.3 8255A 的工作方式 三种基本工作方式: 方式0:基本的输入/输出;(A、B、C) 方式1:有联络信号的输入/输出;(A、B) 方式2:双向传送(A) 具体的工作方式由发送给控制寄存器的方式控制字决定 工作方式控制字 PC口置位复位控制字 8255A的控制字 方式控制字:CPU通过编程写控制字可以完成对 A、B、C口的方式控制和对C口的按位置零或置1

  11. 8.3 8255A 的控制字 向方式控制寄存器发送一个D7=1的控制字为,为写方式控制字 注意: 1.D7=1 是方式控制字的标志位 2.所有的方向控制: 0,输出(Out); 1,输入(In)

  12. 8.3 8255A 的控制字 • 向方式控制寄存器发送一个D7=0的控制字为,为写置位控制字 • 端口C的数位常用作控制或应答信号,在基于控制的应用中,经常希望在某一位上产生一个TTL电平的控制信号,利用端口C的这个特点,只需要用简单的程序就能形成这样的信号,从而简化了编程。 • 通过对8255A的控制口写入置位/复位控制字,可使端口C的任意一个引脚的输出单独置1或清0。

  13. EG:8255A的地址范围为380H~383H,编写程序段,实现将PC7置1,将PC3置0EG:8255A的地址范围为380H~383H,编写程序段,实现将PC7置1,将PC3置0 MOV DX, 383H; MOV AL, 00001111B ;PC7置1 OUT DX, AL MOV AL, 00000110B ;PC3清0 OUT DX,AL

  14. 8.3 8255A 的工作方式 • 方式0----基本输入输出(无条件工作方式) 不需要应答信号的简单输入输出场合 硬件设计简单 程序直接控制输入输出 常用于 同步式传送和查询式传送两种场合 写8255A的控制字: 93H 分析其工作方式: 1.A口与B口的数据传送方向独立设置 2.PCA和PCB的数据传送方向独立设置 10010011B A口:方式0 输入 PCA:方式0输出 B口: 方式0输入 PCB:方式0输入

  15. 8.3 8255A 的工作方式 重点 • EG,方式0工作应用举例 在8086最小方式系统中,利用8255A某端口输入8位开关量,并通过另一个端送出,以发光二极管指示数据,灯亮表示数据“1”,灯灭表示数据“0”。8255A的端口地址为80H~87H中的奇地址,设计系统总线与8255A的连接电路,并编程实现。 MOV AL, 10010000B OUT 87H, AL IN AL, 81H NOT AL OUT 83H, AL 编程: 1.写初始化程序 2.写功能实现程序 读PA口:IN AL,81H 写PB口:OUT 83H,AL

  16. 8.3 8255A 的工作方式 方式0 的举例 8段译码管控制 思考,设计8255A电路及程序 实现从0-8的循环显示

  17. 8.3 8255A 的工作方式 例10.3 在8088最大方式系统中,有一片8255A,其端口地址为20H、22H、24H、26H,设计译码电路及其与系统总线的连接图,并编程实现使端口A的低4位产生如图所示的信号(各个信号的节拍不必严格相等)。 PA0 PA3 PA2 PA1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1

  18. MOV DX, 26H ;设定8255A的工作方式 MOV AL, 1000 0000B OUT DX, AL MOV DX, 20H ;产生指定的信号 REP1: XOR AL, AL OUT DX, AL MOV CX, 6 REP2: INC AL OUT DX, AL LOOP REP2 ADD AL, 9H;(1001B) OUT DX, AL JMP REP1 0000 0000 0000 0001 0000 0010 0000 0011 0000 0100 0000 0101 0000 0110 0000 1111

  19. EG3:在8088最大方式系统中,由一片8255A构成输入输出接口,端口地址为240H~243H,外设准备好的8位数据已送入8255A的某端口,要求将这一数据的低4位取反(高4不变)后,从另一端口送出。要求:EG3:在8088最大方式系统中,由一片8255A构成输入输出接口,端口地址为240H~243H,外设准备好的8位数据已送入8255A的某端口,要求将这一数据的低4位取反(高4不变)后,从另一端口送出。要求: (1)说明各端口的工作方式; (2)编写8255初始化及输入输出程序段。 MOV DX, 243H ;设定8255A的工作方式 MOV AL, 10110000B OUT DX, AL MOV DX, 240H ;从端口A读数据 IN AL, DX XOR AL, 0FH ;低4位取反,高4不变 MOV DX, 242H ;从端口B送出 OUT DX, AL

  20. CPU 8255 外设 STB IBF INTR 8.3 8255A 的工作方式 • 方式1----有联络信号的输入输出(应答式工作) • PA口:数据输入或输出 • PB口:数据输入或输出 • PC口: 做联络信号线 A口:PC4,PC5用作与外设的联络,PC3用作与CPU的连接INTR B口:PC2,PC1用作与外设的联络,PC0用作与CPU的连接INTR 方式1输入 STB:选通输入信号, 外设将数据准备好,准备发给8255 IBF: 缓冲区满信号, 数据已经给了8255A,等待CPU来取, 高电平有效时,外设不能发新的数据来 INTR:8255发向CPU的中断请求信号 8255数据准备好,通知CPU来读数据 方式1在输入时接口连接示意图

  21. PA0 ~ PA7 PB0 ~ PB7 INTE A INTE B STB PC4 STB PC2 IBF PC5 PC1 IBF RD INTR PC3 RD O O PC0 INTRB PC6 PC7 I / O 8.3 8255A 的工作方式 输入选通信号,由外设送往8255A。 A口 方式 1 输入 输入缓冲器满信号,是8255发出的状态信号,供CPU查询 中断请求信号,只有当STB、IBF、INTE三者都高时,INTR才能被置为高电平 中断允许信号。这是一个控制8255A是否能向CPU发中断请求的信号,它没有外部引出脚。是通过软件设置的。

  22. CPU 8255 外设 STB IBF INTR 8.3 8255A 的工作方式 1.外设准备好数据,向PC4发送STB低电平数据选通信号,表示数据准备好; 2.8255A接到STB低电平,将数据读入PA口 3. 8255A 向外设发送IBF(PC5)高电平表示数据接收好,端口缓冲区满,并将STB撤销(变成高电平); IBF信号: 告诉外设暂时不能再送新数据来; 在程序查询方式下,作为CPU查询的信号 4. 在中断方式下,IBF和STB都为高电平时,PC3向CPU发出INTR信号 5. CPU接到INTR后,利用RD将数据读回内部寄存器 6. 将IBF撤销(低电平)准备进入下一轮传送 A口做方式1输入 PC4 PC5 PC3

  23. CPU 8255 外设 STB IBF INTR 8.3 8255A 的工作方式 1.外设准备好数据,向PC2发送STB低电平数据选通信号,表示数据准备好; 2.8255A接到STB低电平,将数据读入PB口 3. 8255A 向外设发送IBF(PC1)高电平表示数据接收好,端口缓冲区满,并将STB撤销(变成高电平); IBF信号: 告诉外设暂时不能再送新数据来; 在程序查询方式下,作为CPU查询的信号 4. 在中断方式下,IBF和STB都为高电平时,PC0向CPU发出INTR信号 5. CPU接到INTR后,利用RD将数据读回内部寄存器 6. 将IBF撤销(低电平) 准备进入下一轮传送 B口做方式1输入 PC2 PC1 PC0

  24. 8.3 8255A 的工作方式 第一步:当外设来的输入数据出现之后,选通信号STB有效。第二步:经过tSIB时间后,输入缓冲区满信号IBF有效,此信号可供CPU查询,这为 CPU工作在查询方式下输入数据提供了条件。在使用中断请求的情况下,8255在选通信号结束以后,经过tSIT时间,便会发出中断请求信号INTR,这样为CPU工作在中断方式下输入数据提供了条件。 第三步:不管是用查询方式还是中断方式,当8255读入数据时,都会发出读信号RD。若工作在中断方式,当RD有效以后,经过tRIT时间,就将中断请求信号清除。第四步:RD信号结束之后,数据已经读到CPU的寄存器中,经过tRIB时间,输入缓冲区满信号IBF变低。从而可以开始下一个数据输入过程。

  25. CPU 8255 外设 ACK OBF INTR 8.3 8255A 的工作方式 方式1输出 A口:PC7,PC6用作与外设的联络,PC3用作与CPU的连接INTR B口:PC2,PC1用作与外设的联络,PC0用作与CPU的连接INTR OBF:输出缓冲器满 数据已经由CPU写到8255,等待外设来取 ACK: 外设发给8255的回执信号 外设已经将数据取走 INTR:8255发向CPU的中断请求信号 8255发给CPU的准备就绪信号, CPU可以再次发送数据 方式1在输入时接口连接示意图

  26. PA0 ~ PA7 INTE A ACK PC6 OBF PC7 WR O INTR PC3 I / O PC4 PC5 8.3 8255A 的工作方式 外设的回答信号,由外设送给8255A A口 方式 1 输出 PA0 ~ PA7 输出缓冲器满信号 INTE A ACK PC2 OBF PC1 中断请求信号 WR O INTR PC0 中断允许信号。在中断是允许的情况下,当输出设备已受到CPU输出的数据之后,该信号变高,可用于向CPU提出中断请求,要求CPU再输出一个数据给外设。

  27. 8255 CPU 外设 ACK INTR OBF 8.3 8255A 的工作方式 1.CPU在写周期里(WR有效)将数据写入8255数据端口; 2.8255A发出OBF信号(PC7低电平)给外设,通知外设来取数据; 3. 外设将数据取走之后,反馈一个ACK(PC6持续一段时间的低电平)信号给8255A,表示数据已取走; 4.撤销OBF(PC7电平变高) OBF信号: 低电平告诉外设来取数据; 在程序查询方式下,高电平作为CPU查询的信号 4. 在中断方式下,OBF和ACK都为高电平时,PC3向CPU发出INTR信号 5. CPU接到INTR后,开始下一轮数据输出 A口做方式1输出 WR PC6 PC3 PC7

  28. 8255 CPU 外设 ACK INTR OBF 1.CPU在写周期里(WR有效)将数据写入8255数据端口; 2.8255A发出OBF信号(PC1低电平)给外设,通知外设来取数据; 3. 外设将数据取走之后,反馈一个ACK(PC2持续一段时间的低电平)信号给8255A,表示数据已取走; 4.撤销OBF(PC1电平变高) OBF信号: 低电平告诉外设来取数据; 在程序查询方式下,高电平作为CPU查询的信号 4. 在中断方式下,OBF和ACK都为高电平时,PC0向CPU发出INTR信号 5. CPU接到INTR后,开始下一轮数据输出 B口做方式1输出 WR PC2 PC0 PC1

  29. 8.3 8255A 的工作方式 第一步:在使用中断请求情况下,CPU响应中断以后, 便往8255输出数据,并发出写信号 WR。把数据送给8255,写信号WR的上升沿一方面清除中断请求INTR ,表示CPU已经响应了中断; 第二步:另一方面,WR使OBF有效,通知外设接收数据。 第三步:在CPU发出写信号后经过tWB时间,数据就出现在端口的输出缓冲器中。当外设接收数据后,便发出ACK信号。ACK信号一方面使OBF无效,表示数据已经取走,当前输出缓冲区为空; 第四步:另一方面,又使INTR有效,即向CPU发出中断请求,从而可以开始一个新的输出过程。

  30. EG.在8088最大方式的扩充槽上,利用8255A和8位A/D变换器开发数据采集系统如图10.16所示。要求计算8255A占用的四个端口地址,并编写程序完成N点数据的采集工作。 为了完成一个字节的数据采集,需要给A/D变换器产生START正脉冲信号,当变换结束时,会产生EOC信号,经单稳电路后,可以将A/D变换器产生的数据锁存到8255A的端口A,因此,8255A的A组为方式1

  31. L1: MOV DX, P8255D MOV AL, 0000 1110B OUT DX, AL OR AL, 01H OUT DX, AL AND AL, 0FEH OUT DX, AL MOV DX, P8255C L2: IN AL, DX TEST AL, 20H JZ L2 MOV DX, P8255A IN AL, DX MOV [SI],AL INC SI LOOP L1 P8255A=81D1H P8255A=81D3H P8255A=81D5H P8255A=81D7H MOV DX, P8255D MOV AL, 1011 0000B OUT DX, AL LEA SI, BUF MOV CX,N 生成START信号 查询PC5 读A口数据

  32. 8.3 8255A 的工作方式 • 方式2----有联络信号的双向数据收发 • 方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据。适用于双向传送数据的外设。 • 只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同。 • PC4: STB • PC5: IBF • PC6: ACK • PC7: OBF • PC3: INTR • B口及C口的PC2-PC0可正常工作于方式0或方式1

  33. 8.3 8255A 的工作方式 • 方式0:基本输入/输出方式 • 适用于无条件传送接口电路 • 方式1:有联络信号的输入/输出方式 • 适用于查询和中断方式的接口电路 • 方式2:有联络信号的双向传送方式 • 适用于双向传送数据的外设 • 适用于查询和中断方式的接口电路

  34. 8.3 8255A 的工作方式 读取端口C状态 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0

  35. 8.4 8255A与总线的连接 8086最小方式系统总线与8255的连接图

  36. 8.4 8255A与总线的连接 8086最大方式系统总线与8255的连接图

  37. 8.4 8255A与总线的连接 IBM PC机系统总线与8255A的连接框图

  38. 学习指导网站: http://course.cug.edu.cn/21cn/微机原理与应用/site-map.htm • 大作业: • 稍后等课代表通知

  39. Thank You ! www.themegallery.com

More Related