第8章常见外设接口及应用-1

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.1.4
8255A的工作方式
方式0
方式 0 :基本的输入/输出工作方式,只能完成简单的并 行输入/输出操作。
方式 0 的特点:
(1)没有固定的联络信号,一般采用无条件传送或查询方式 传送与CPU交换数据。
(2)有4个独立的并口,16种不同的输入/输出组态。
(3)所有端口都是单向传输端口。
;置PC6=0,禁止发中断请求
8.1.4
825Hale Waihona Puke BaiduA的工作方式
方式2
方式2为选通双向传输,仅适用于端口A。
方式2控制字格式及含义:
INTRA:中断请求信号,高电平有效。端口A完成一次输入 或输出数据操作后,可通过INTRA向CPU发中断请求。
STBA#:输入选通信号,低电平有效。当STBA有效时,把 外设输入的数据信号锁存入端口A。
8.1.4
8255A的工作方式
INTR:中断请求信号,高电平有效。
ACK#信号结束(回到高电平),8255A便向CPU发 中断请求信号INTR。 写信号WR#上升沿使INTR复位,变为低电平。 INTE:中断允许信号。 端口A的输出中断请求INTRA可以通过对PC6的置位 或复位来加以允许或禁止。
IBFA:输入缓冲器满,高电平有效。当IBFA有效时,表示 已有一个数据送入端口A,等待CPU读走。此信号可供CPU作输入 查询用。
8.1.4 8255A的工作方式
OBFA#:输出缓冲器满,低电平有效。当OBFA有效时,表 示CPU已将一个数据写入端口A,通知外设,可以将其取走。
ACKA#:外设应答信号,低电平有效。当ACKA有效时,表示 端口A输出的数据已送到外设。 INTE1:A口输出中断允许信号(在片内)。可以由软件通 过对PC6的置位或复位来加以允许或禁止。
8.1.2 8255A寻址方式
8255A有3个I/O端口和一个控制端口,它们通过地 址线A1、A0,读写控制线RD#、WR#以及片选线CS#进行 寻址并实现相应的操作。
8.1.2
8255A寻址方式
8.1.2 8255A寻址方式
8.1.3
8255A的控制字
8255A在初始化编程时,是利用OUT指令由CPU输出 一个控制字到控制端口的控制寄存器来控制其工作的。
8.1 可编程并行通信接口芯片8255A
8255A是Intel生产的一种典型的可编程并行通信 接口芯片,其功能与通用性都较强,使用也很灵活。
8.1
可编程并行通信接口芯片8255A
8.1.1 8255A芯片引脚定义与功能 8.1.2 8255A寻址方式 8.1.3 8255A的控制字 8.1.4 8255A的工作方式
8.1.4
8255A的工作方式
PC4
查询
STB#:选通输入信号 IBF:输入缓冲器满信号 INTR:中断请求信号 INTE:中断允许信号
中断方式 查询方式
8.1.4
8255A的工作方式
PC2
8.1.4
8255A的工作方式
8.1.4
8255A的工作方式
端口A和端口B为输入方式
STB#:选通输入信号,低电平有效。
8255A芯片引脚定义与功能
8.1.1
8255A芯片引脚定义与功能
1、数据端口A、B、C 8255A的3个8位I/O端口A、B、C是和外设一边相连 的输入/输出接口。 在实际使用中,A口和B口通常只作为独立的输入 或输出数据端口使用。 C口的功能和使用比较特殊。它除了可以作数据口 使用外,还可以用来配合A口和B口工作,作为专用联 络信号线,可以实现按位控制。
效。
当它有效时,表示CPU已把数据写入端口A或B的 输出缓冲器等待输出。当CPU执行OUT指令WR#有效时, 表示将数据锁存到输出缓冲器。 由WR#的上升沿把OBF#信号置成低电平。 由ACK#的下降沿把OBF#信号复位为高电平。 ACK#:外设应答信号,低电平有效。
当ACK#有效时,表示8255A中的数据已被外设取走。
8.1.1
8255A芯片引脚定义与功能
3、读/写控制逻辑电路 读/写控制逻辑电路是和CPU一边相连的控制电路, 负责管理8255A的数据传输过程。
它接收片选信号CS#与来自地址总线的地址信号A1、 A0以及控制总线的信号RESET、WR#、RD#,将它们组合 后,得到对A组控制部件和B组控制部件的控制命令, 并将命令送给这两个部件,再由它们完成对数据信息、 状态信息和控制信息的传输。
8.1.1
8255A芯片引脚定义与功能
8255A芯片内部包含3个8位端口,其中: 端口A:包含一个8位数据输出锁存/缓冲存储器和一个8位数 据输入锁存器 端口B:包含一个8位数据输入/输出、锁存/缓冲存储器和一 个8位数据输入缓冲存储器;
端口C:包含一个8位输出锁存/缓冲存储器和一个输入缓冲 存储器(输入无锁存)。
MOV AL,00001110B ;由C口置位/复位控制字设定PC7=0
OUT DX,AL
NOP NOP
;送控制字到控制口
;延长负脉冲宽度
MOV AL,00001111B ;由C口置位/复位控制字设定PC7=1 OUT DX,AL
8.1.3 8255A的控制字
8.1.4
8255A的工作方式
8255A有3种工作方式:
端口B的中断请求INTEB可以通过对PC2的置位或 复位加以控制。
8.1.4
8255A的工作方式
PC6
查询
OBF#:输出缓冲器满信号 ACK#:外设应答信号 INTR:中断请求信号 INTE:中断允许信号
8.1.4
8255A的工作方式
8.1.4
8255A的工作方式
端口A与B为输出方式
OBF#:输出缓冲器满信号,输出信号,低电平有
两种类型的控制字:
1、方式选择控制字
2、端口C置位/复位控制字
8.1.3
8255A的控制字
8.1.3
8255A的控制字
8.1.3
8255A的控制字
例1、将8255A设定为: 1、A组为方式0,组B为方式1。
2、A口输入,B口输出,PC7~PC4输出,PC3~PC0输入。
3、设8255A的4个端口地址范围为0060H~0063H。 则初始化编程时的程序段为: MOV DX,0063H ; 8255A控制口地址
MOV AL,00001011B;由C口置位/复位控制字设定PC5=1 OUT DX,AL ;送控制字到控制口
8.1.3 8255A的控制字
例3、设8255A控制端口地址为037FH,若要使8255A的PC7产 生一个负脉冲,用作打印机接口的选通信号,则设置端口C置位 /复位控制字的程序段为: MOV DX,037FH ;8255A控制口地址
方式0(基本输入/输出方式);
方式1(选通输入/输出);
方式2(双向选通输入/输出,仅适合于A口)。 这些工作方式由初始化编程时设置方式选择控制字来选择。
8.1.4
8255A的工作方式
A口可选择方式0、方式1和方式2; B口可选择方式0和方式1; C口只能以方式0工作。
当A口方式1/方式2或B口选择方式1时,C口某些位配合A口 或B口工作,作为A口/B口与外设联络用的输出控制信号或输入 状态信号,而C口的其余各位仍用方式0工作。
外设送给8255A的选通信号,当它有效时,就把来 自外设的一个8位输入数据送到8255A的端口A或端口B 的输入缓冲器中。
8.1.4
8255A的工作方式
IBF:输入缓冲器满信号,输出信号,高电平有效。
IBF是8255A输出的状态信号,当它有效时,表示 当前已有一个新的数据进入端口A或端口B的输入缓冲 器中,即缓冲器已满,8255A此刻不能再接收别的数据。 IBF信号是对STB#的响应信号,由STB#信号置位。
8.1.5 时序关系
8.1.6 8255A的应用举例
8.1.1
8255A芯片引脚定义与功能
8255A是一个40脚 封装双列直插式芯片。
8.1.1
8255A芯片引脚定义与功能
D7-D0:8位双向数据线,连接CPU 与8255A片内的三态双向数据总线缓 冲器。 A1-A0:2位地址线,用于选择3个 I/O端口和一个控制端口。
它可以由CPU通过查询C口的PC5或PC1位获得。当 CPU查得PC5(或PC1)=1时,表示输入缓冲器数据已 满,CPU可以从A口(或B口)读入输入数据。 IBF将由RD#信号的上升沿复位(变为低电平)。
8.1.4
8255A的工作方式
INTR:8255送往CPU的中断请求信号,高电平有效。
当STB#结束(回到高电平时)和IBF为高电平,且 有相应的中断允许信号(即INTE为高电平)时,则 8255A就把INTR变为有效,以向CPU发中断请求。 由RD#信号的下降沿使INTR复位(变为低电平)。
INTR通常和8259A的一个中断请求输入端IR相连, 通过8259A的输出端INT向CPU发中断请求。
8.1.4
8255A的工作方式
INTE:中断允许信号。它是在8255A内部的一个控 制中断允许或禁止的控制信号。
INTE没有外部引出端,即没有对片外输入或输出 的功能,它只能由软件通过对C口某位的置位或复位来 实现对中断请求的允许或禁止。 端口A的中断请求INTRA可以通过对PC4的置位或复 位加以控制,PC4置1,允许INTRA工作; PC4置0,则 屏蔽INTRA 。
实际使用时,可以把A口、B口、C口分成两个控制组:A组 和B组。 A组控制电路控制端口A和端口C的高4位(PC7~PC4)。 B组控制电路控制端口B和端口C的低4位(PC3~PC0)。
8.1.1
8255A芯片引脚定义与功能
8255A的内部结构分为3部分: CPU接口、内部逻辑、外设接口
8.1.1
8.1.4
8255A的工作方式
8.1.4
8255A的工作方式
方式1
方式 1 :选通输入/输出方式或应答方式。 它在使用端口A和端口B进行输入/输出时,一定要利用端口 C所提供的选通信号和应答信号来配合输入/输出操作。
8.1.4
8255A的工作方式
方式1的特点:
(1)需要固定的联络线(联络信号)配合A口和B口使用。 (2)如果A口和B口都工作在方式1,则C口中就有6位(分为两 组3位)联络线来联络与控制操作,各联络信号线之间有着固定 的时序关系。C口的其余2位,仍可作为输入或输出线。 (3)联络信号可供CPU查询或向CPU申请中断。 (4)所有端口都是单向传输端口。
端口B的输出中断请求INTRB可以通过对PC2的置位 或复位来加以允许或禁止。
8.1.4
8255A的工作方式
8.1.4
8255A的工作方式
8.1.4
8255A的工作方式
例1:设8255A为工作方式1,A口为输出。设置中 断允许信号(端口的地址范围为300H~303H)。
MOV DX, 303H MOV AL, 00001101B OUT DX, AL MOV AL, 00001100B OUT DX,AL ;置8255A控制口 ;置C口按位控制字,使PC6=1, ;允许发中断请求
MOV AL,10010101B ;设定初始化方式选择控制字
OUT DX,AL
;送控制字到控制口
8.1.3
8255A的控制字
例2、设8255A端口地址范围为300H~303H,若要置8255A PC5的状态为1,则设置端口C置位/复位控制字的程序段为: MOV DX,0303H ; 8255A控制口地址
RD#:读控制线,低电平有效。
WR# :写控制线,低电平有效。 CS#:片选端,低电平有效。 RESET:复位信号,高电平有效。
它清除控制寄存器并将8255A的A、B、C 三个端口均置为输入方式;输出寄存器和 状态寄存器被复位,并且屏蔽中断请求; 24条面向外设的信号线呈现高阻悬浮状态。 这种势态一直维持,直到用方式命令才能 改变,使其进入用户所需的工作方式。
8.1.1
8255A芯片引脚定义与功能
2、A组控制和B组控制部件 这两组控制部件是8255A的内部控制逻辑,其内部 有控制寄存器与状态寄存器,它们完成两个功能: 一是接收来自CPU通过内部数据总线送来的控制字, 以选择两组端口的工作方式; 二是接收来自读/写控制逻辑电路的读/写命令, 以决定两组端口的读/写操作。
8.1.1
8255A芯片引脚定义与功能
4、数据总线缓冲器 数据总线缓冲器是连通CPU数据总线的一个双向三 态8位数据缓冲器,8255A正是通过它来输入/输出数据 的; 此外,CPU发给8255A的控制字以及由外设输入CPU 的状态信息等,也都是通过该部件传递的。
8.1.1 8255A芯片引脚定义与功能
相关文档
最新文档