第1节3 8255工作方式


对于端口A,内部中断触发器INTEA由PC6(ACKA)置 位,对于端口B,INTEB由PC2(ACKB)置位。当ACK 有效时,OBF被复位为高电平,并将相应端口的 INTE置“1”,于是INTR输出高电平,向CPU发出输 出中断请求,待CPU响应该中断请求,可在中断服 务程序中安排OUT指令继续输出后续字节。对于A组, 指定端口C的第3位(PC3)作为由端口A发出的INTR信 号;对于B组,指定端口C的第0位(PC0)作为由端口 B发出的INTR信号。 (书上有错!) 如果将8255A中的端口A和端口B均定义为工作方式1 完成输出操作功能,那么经这样定义的端口状态如 图7.4所示。
中断请求信号,高电平有效,8255A输 出的信号,可用于向CPU提出中断请 求,要求CPU读取外设数据
中断允许触发器 只有当INTE =1时,端口A才能向CPU 发出中断请求,用户可通过PC4的置位 (INTE=1),复位(INTE=0)来控制 中断的允许或禁止。(书上有错!)
B端口方式1输入:
方式1需借用端口C用做联络信号,端口 C还具有中断请求和屏蔽功能
INTRA
I/O
图 端口A方式 1 输入
STB:选通信号输入,外设 发出 IBF:输入缓冲器满,8255 发出 INTE:内部中断触发器, INTR:中断请求
① 当外设数据准备好,将数据送至 端口线PA7~PA0 ② 外设发出选通信号STB: (1) 将数据锁存在输入端口内。 (2) STB的下降沿使IBF变高,表 示输入端口满,用于阻止外设输入 新数据。 (3) STB的上升沿使INTE=1, 从而 INTR变高,发出中断请求。 ③ 中断处理程序中CPU 读取数据, 发出RD信号: (1) RD 的下降沿清除INTR (2) RD 的上升沿清除IBF (3) 端口内的数据进入CPU
ACKA OBFA
&
O WR PC3 INTRA I/O
PC4, PC5
图7.4 端口A方式 1 输出
ACK:外设应答 OBF:输出缓冲器满 INTE:中断允许, INTR:中断请求,
① CPU输出数据 ② CPU发出WR: (1) 数据写到 8255A的端口 (2) WR的低电平清除中断请求 信号INTR (3) WR的上升沿使OBF有效, 表示输出端口满,通知外设取数 据。 ③ 外设接受到数据后,发出 ACK信号: (1) ACK的下降沿使OBF变高, (2) ACK的上升沿使INTE=1, 则INTR变高,发出中断请求,请 求CPU输出新的数据。
④ IBFA——输入缓冲存储器满信号。向外部输 出,高电平有效。IBFA有效时,表示外部已将 数据输入到端口A的数据输入锁存器中,等待向 CPU输入,它实际上是对STBA的回答信号。 系统规定端口C的第5位(PC5)用作输出的IBFA 信号。 ⑤ INTR——中断请求信号。向本端CPU输入, 高电平有效。无论是进行输入还是输出操作, 都利用INTR向CPU发出中断请求。对于输出操 作,ACKA有效时将内部触发器INTE1置“1”, 当OBFA被置成无效时,表示输出缓冲存储器已 空,向CPU发出输出中断请求(INTRA有效),待 CPU响应该中断请求可在中断服务程序中继续 输出后续数据;对于输入操作,当STBA有效, 外部将数据送入端口A
3. STB 选通信号:由外设输入,低电平有效、
4. IBF 输入缓冲存储器满信号:向外部输出,高电平 有效。
5. INTR 中断请求信号:向CPU发出,高电平有效。
端口A工作于方式2所需控制信号如下: ① OBFA——输出缓冲存储器满信号。向外部 输出,低电平有效。OBFA有效,表示要求输 出的数据已锁存到端口A的输出锁存器中,正 等待向外部输出。CPU用OUT指令输出数据 时,由WR信号后沿将OBFA置成有效。系统 规定端口C的第7位(PC7)用作由端口A输出的 OBFA信号。
图7.5 8255方式1输出时序图(自学!)
3.工作方式2:带选通的双向传送方式。
8255A中只允许端口A处于工作方式2,可用来在两 台处理机之间实现双向并行通信。相关的控制信号由 端口C提供。 1. OBF 输出缓冲存储器满信号:向外部输出,低电平 有效。
2. ACK 外部应答信号:外部输入,低电平有效。
PC3
INTRA
中断允许触发器
中断请求信号,高电平有效,当输出设备已接受 数据后,8255A输出此信号向CPU提出中断请求, 要求CPU继续提供数据
B端口方式1输出:
输出缓冲器满信号,低电平有效 8255A输出给外设的一个控制信号, 当其有效时,表示CPU已把数据输 出给指定的端口,外设可以取走
PB7~PB0 INTEB PC1 PC2
A端口方式1输入:
选通送来的数据锁存至8255A的输 入锁存器
PA7~PA0 INTEA PC4 PC5 STBA
IBFA
输入缓冲器满信号,高电平有效8255A 输出的联络信号。当其有效时,表示 数据已锁存在输入锁存器
PC3
INTRA
② ACKA——应答信号。由外部输入,低电平 有效。ACKA有效,表示外部已收到端口A输 出的数据,由ACKA后沿将OBF置成无效(高电 平),表示端口A输出缓冲存储器已空,CPU 可继续向端口A输出后续数据。它实际上是 OBFA的回答信号。系统规定端口C的第6位 (PC6)用来接收输入的ACKA信号。 ③ STBA——数据选通信号。由外部输入,低 电平有效。STBA有效,将外部输入的数据锁 存到数据输入锁存器中,系统规定端口C的第 4位(PC4)用来接收输入的STBA信号。
OBFB
ACKB
响应信号,低电平有效,外设的 响应信号,指示8255A的端口 数据已由外设接受
PC0
INTRB
中断允许触发器
中断请求信号,高电平有效,当输出设备已接 受数据后,8255A输出此信号向CPU提出中 断请求,要求CPU继续提供数据
具体输出过程:
PA7 ~ PA0
INTE A
PC6 PC7
7.1.3
8255的工作方式
1.方式0—基本输入/输出方式 CPU与端口之间交换数据仅通过输入指令IN与输出指令OUT完成; 不提供任何“握手”信息 适合用于无条件传送和查询方式的接口电路中 适用于各种同步并行传送系统
1、工作方式0:是一种基本的输入/输出工作方式。没有固定 的用于应答的联络信号。其基本功能可概括如下:
中断允许触发器
只有当INTE =1时,端口B才能向CPU发出中断 请求,可由用户通过PC2的置位(INTE=1)/复 位(INTE=0)来控制。 (书上有错!)
高电平有效
高电平有效
图7.6
具体输入过程见下页:
PA7 ~ PA0 INTE A
PC4 PC5 STBA IBFA
&
RD
O
PC3
PC6 , PC7
7.1.3
8255的工作方式
8255A中各端口可具有三种基本工作方式:
方式0-基本的输入/输出方式 方式1-选通输入/输出方式 方式2-双向传输方式 端口A可处于3种工作方式:0、1、2 端口B只可处于2种工作方式:0、1 端口C常常分为高4位和低4位,分别传送数据和控制信息。
可用软件来分别定义3个端口的工作方式,可使用的控制 字有定义工作方式控制字和置位/复位控制字。
选通信号,低电平有效由外设提供的输入 信号,当其有效时,将输入设备送来的数 据锁存至8255A的输入锁存器
PB7~PB0
INTEB
PC2 PC1
STBB
IBFB
输入缓冲器满信号,高电平有效 8255A输出的联络信号。当其有效时, 表示数据已锁存在输入锁存器
PC0
INTRB
中断请求信号,高电平有效,8255A输出 的信号,可用于向CPU提出中断请求,要 求CPU读取外设数据
将OBF置为有效。对于A组,系统规定端口C的第 7位(PC7)用作从端口A输出的OBF信号,对于B组, 规定端口C的第1位(PC1)用作从端口B输出的OBF信
号。
② ACK ——外部应答信号。由外部输入,低电平有 效。 ACK有效,表示外部设备已收到由8255A输出的八 位数据,它实际上是对OBF信号的回答信号。对于A 组,指定端口C的第6位(PC6)用来接收向端口A输入 的ACK信号;对于B组,指定端口C的第2位(PC2)用 来接收向端口B输入的ACK信号。 ③ INTR——中断请求信号。向CPU输出,高电平有 效。
采用工作方式1也可完成输出操作(外设←接口 ← CPU) ,这时需要使用的控制信号如下: ① OBF——输出缓冲存储器满信号。向外部 输出,低电平有效。 OBF有效时,表示CPU已将数据写入该端口 正等待输出。当CPU执行OUT指令,WR有效 时,表示将数据锁存到数据输出缓冲寄存器, 由WR的上升沿
PB7 ~ PB0 INTE A PC2
PC1
STBB IBFB
&
RD
O
PC0
INTRB
当端口A和端口B均定 义为工作方式1完成输入操 作时,端口C的PC5~PC0被 用作控制信号,只有PC7和 PC6可以完成数据输入或输 出操作。
图 端口B方式 1 输入
IN AL , 数据端口地址
图7.7 8255方式1输入时序图P269(自学!)
IBF有效时,表示由输入设备输入的数据已占用该端 口的输入锁存器,它实际上是对STB信号的回答信 号,待CPU执行IN指令时,RD有效,将输入数据读 入CPU,其后沿把IBF置“0”,表示输入缓冲存储器 已空,外部设备可继续输入后续数据。对A组来说, 指定端口C的第5位(PC5)作为从端口A输出的IBF信 号;对B组来说,指定端口的第一位(PC1)作为从端 口B输出的IBF信号。 ③ INTR——中断请求信号。向CPU输出,高电平有 效。 在A组和B组控制电路中分别设置一个内部中断触发 器INTEA和INTEB,前者由STBA(PC4)控制置位,后 者由STBB(PC2)控制置位。 (书上有错!)
合集下载

精编微型计算机原理8255资料

精编微型计算机原理8255资料

8255A的应用——并行接口
A、B、CH、CL4个端口可以被分别设置 或输入、或输出 简单的输入输出操作,可使用无条件数据读
写方式实现与外设的交互 可以将联络信号接入C口,实现查询方式
8255A的工作方式
8088
8255A的工作方式
方式1——选通输入输出
分为两组(A组、B组)实施 具有联络(握手)信号的数据传送 借用C口的引脚作为联络信号
三个八位I/O端口(标识为A、B、C)按 组进行编程
A组:端口A + 端口C的高4位 B组:端口B + 端口C的低4位
由CS引脚选中,进行端口编程、读或写 内部寄存器
A、B、C数据寄存器(读/写) 命令字寄存器
8255A的结构和功能
PA
八位输出锁存/缓冲器、八位输入锁存器
PB
八位输出锁存/缓冲器、八位输入缓冲器
PC
八位输出锁存/缓冲器、八位输入缓冲器 可以被分成两组4位的输入输出端口使用
8255A的结构和功能
8255A的结构和功能
8255A的控制字
8255A具有两类控制字
方式选择控制字
定义端口的工作方式
C口复位/置位控制寄存器
并行接口
简单I/O接口——方式0 需要联络信号——方式1 需要双向传送——方式2
8255A的应用——简单输入/输出
8255A的应用——键盘扫描
8255A的应用——LED显示
8255A的应用——LED显示
静态显示
需要较多的并行接口,向LED送显示数据 需要接口,向接口送控制信号
动态显示
一个并行接口向所有的LED送显示数据(分 时)

8255有三种工作模式

8255有三种工作模式
Solutions to final exam:
By Dr. M.L. Jin
1) 8255 有三種工作模式
a) 基本的 I/O 動作(工作模式 0): 採一般模式定義 A,B,C 埠的輸入與輸出。
b) 交握方式的 I/O 動作(工作模式 1):輸入資料時,送出中斷要求(INTR)信
號給 I/O 週邊設備,輸入鎖定(STB)信號至 8255,再送出輸入緩衝器已滿
outportb(porta,a[m%4]); delay(100); } }
(IBF)信號給 I/O 週邊設備;輸出資料時,也要送出中斷要求(INTR)信號
給 I/O 週邊設備,輸入認同(ACK)信號至 8255,再送出輸出緩衝器 (OBF)
已滿信號給 I/O I/O 動作(工作模式 2):可同時以交握方式進
行資料的輸入及輸出。
2) a) 控制字元暫存器的資料為 0x98 b) 0x92 代表 A 埠、B 埠輸入,HC 輸出、LC 輸入。
一、二相激磁法: a → ab → b → bc → c → cd → d → da → a → ⋅⋅ ,解析度為 0.9o / pulse
5) #include <stdio.h> #define cwr 0x373 #define porta 0x370 main() {
int a[4]={1,2,4,8}; /* one phase activation*/ int m; outportb(cwr,0x80); for(m=0;m<200;m++) {
3) 63=0011 1111 經反相器後,其輸出為 1100 0000,因為七段顯示器為共陽極,則 0 會亮,
故最後七段顯示器顯示 0

8255工作方式

8255工作方式

而灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。

1、芯片初始化,写8255的方式字MOV DX,MY8255_MODE ;定义8255工作方式MOV AL,80H ;工作方式0,A口和B口为输出OUT DX,AL2、延时,延时是通过设置指令的循环次数实现的DALLY PROC NEAR ;软件延时子程序PUSH CXPUSH AXMOV CX,0FFFH ;循环次数D1: MOV AX,0FFFFHD2: DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALLY ENDPDALLY1 PROC NEAR ;软件延时子程序,延时20秒PUSH CXPUSH AXMOV CX,1EH ;循环次数D3: CALL DALLYLOOP D3POP AXPOP CXRETDALLY1 ENDPDALLY2 PROC NEAR ;软件延时子程序,黄灯闪烁(即亮与灭)的时间间隔, PUSH CXPUSH AXMOV CX,02H ;循环次数D4: CALL DALLYLOOP D4POP AXPOP CXRETDALLY2 ENDPLOOP1:MOV DX,MY8255_A ;写A口发出的数据,东方向绿灯亮,南方向红灯亮 MOV AL,3CHOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,西方向绿灯亮,北方向红灯亮 MOV AL,3CHOUT DX,ALCALL DALLY1 ;延时20秒4、东西方向黄灯闪烁,南北方向红灯亮5秒MOV CX,08H ;黄灯闪烁的次数L1: MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯亮,南方向红灯亮 MOV AL,0FCHOUT DX,ALMOV DX,MY8255_B ;写A口发出的数据,西方向黄灯亮, 北方向红灯亮 MOV AL,0FCHOUT DX,ALCALL DALLY2MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯灭,南北方向红灯亮 MOV AL,30HOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,西方向黄灯灭,南北方向红灯亮 MOV AL,30HOUT DX,ALCALL DALLY2LOOP L1MOV DX,MY8255_A ;写A口发出的数据,东方向红灯亮,南方向绿灯亮MOV AL,0C3HOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,西方向红灯亮,北方向绿灯亮 MOV AL,0C3HOUT DX,ALCALL DALLY16、东西方向红灯亮,南北方向黄灯闪烁5秒MOV CX,08H ;黄灯闪烁的次数L2: MOV DX,MY8255_A ;写A口发出的数据,南方向黄灯亮,东方向红灯亮 MOV AL,0F3HOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,北方向黄灯亮,西方向红灯亮 MOV AL,0F3HOUT DX,ALCALL DALLY2MOV DX,MY8255_A ;写A口发出的数据,南北方向黄灯灭,东方向红灯亮 MOV AL,0C0HOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,南北方向黄灯灭,西方向红灯亮 MOV AL,0C0HOUT DX,ALCALL DALLY2LOOP L27、判断是否有键按下MOV AH,1 ;1号功能调用INT 16H ;ROM BIOS 功能调用JZ LOOP1 ;无按键则跳回继续循环,有则退出,8 、返回到DOSMOV AX,4C00H ;结束程序退出INT 21H ;DOS 系统功能调用IOY0 EQU 0DA00H ;片选IOY0对应的端口始地址;***************************************************************** MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTLA DB ? ;定义数据变量LB DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,MY8255_MODE ;定义8255工作方式MOV AL,80H ;工作方式0,A口和B口为输出OUT DX,ALLOOP1: MOV DX,MY8255_A ;写A口发出的数据,东方向绿灯亮,南方向红灯亮 MOV AL,3CHOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,西方向绿灯亮,北方向红灯亮 MOV AL,3CHOUT DX,ALCALL DALLY1MOV CX,08HL1: MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯亮,南方向红灯亮 MOV AL,0FCHOUT DX,ALMOV DX,MY8255_B ;写A口发出的数据,西方向黄灯亮, 北方向红灯亮 MOV AL,0FCHOUT DX,ALCALL DALLY2MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯灭,南北方向红灯亮 MOV AL,30HOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,西方向黄灯灭,南北方向红灯亮 MOV AL,30HOUT DX,ALCALL DALLY2LOOP L1MOV DX,MY8255_A ;写A口发出的数据,东方向红灯亮,南方向绿灯亮 MOV AL,0C3HOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,西方向红灯亮,北方向绿灯亮 MOV AL,0C3HOUT DX,ALCALL DALLY1MOV CX,08HL2: MOV DX,MY8255_A ;写A口发出的数据,南方向黄灯亮,东方向红灯亮 MOV AL,0F3HOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,北方向黄灯亮,西方向红灯亮 MOV AL,0F3HOUT DX,ALCALL DALLY2MOV DX,MY8255_A ;写A口发出的数据,南北方向黄灯灭,东方向红灯亮 MOV AL,0C0HOUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,南北方向黄灯灭,西方向红灯亮 MOV AL,0C0HOUT DX,ALCALL DALLY2LOOP L2MOV AH,1 ;判断是否有按键按下,调用功能号1INT 16H ;ROM BIOS 功能调用JZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出INT 21H ;DOS 系统功能调用DALLY PROC NEAR ;软件延时子程序PUSH CXPUSH AXMOV CX,0FFFHD1: MOV AX,0FFFFHD2: DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALLY ENDPDALLY1 PROC NEAR ;软件延时子程序,东西方向红灯亮,南北方向绿灯亮 PUSH CXPUSH AXMOV CX,1EHD3: CALL DALLYLOOP D3POP AXPOP CXRETDALLY1 ENDPDALLY2 PROC NEAR ;软件延时子程序,黄灯闪烁(即亮与灭)的时间间隔, PUSH CXPUSH AXMOV CX,02HD4: CALL DALLYLOOP D4POP AXPOP CXRETDALLY2 ENDPCODE ENDSEND START。

8255工作原理

8255工作原理

8255工作原理
8255是一种常用的并行输入/输出设备,它可以连接到微处理器系统并扩展其输入和输出的数量。

8255的工作原理如下:
1. 模式设置:8255有三个可编程的I/O模式,分别是模式0、模式1和模式2。

模式0是最简单的模式,它将所有的I/O端口设置为输出端口。

模式1将端口设置为输入或输出,而模式2将端口分为两个8位I/O端口。

2. 控制寄存器:8255有一个控制寄存器用于设置I/O模式和其他参数。

寄存器的位代表不同的控制功能,可以通过写入特定的二进制位组合来设置相应的功能。

3. 数据传输:当8255设置为输入模式时,它可以将外部设备的数据读取到内部存储器中。

当设置为输出模式时,它可以将内存中的数据传输到外部设备。

数据的传输是通过读取或写入指定的I/O端口地址来实现的。

4. 端口地址选择:8255有三个8位的端口地址寄存器,用于访问特定的I/O端口。

这些寄存器可以用来选择要读取或写入的端口。

总的来说,8255的工作原理是通过设置模式和控制寄存器来控制数据传输,然后通过读取或写入特定的I/O端口地址来实现与外部设备之间的通信。

在8255a中的工作方式控制字

在8255a中的工作方式控制字

在8255a中的工作方式控制字8255A是一种通用并行输入输出端口芯片,它具有多种工作方式,其中通过控制字来选择不同的工作方式。

本文将详细介绍8255A的工作方式控制字,帮助读者深入了解该芯片及其应用。

8255A芯片具有三种工作方式:模式0、模式1和模式2。

每种工作方式都可以通过控制字来进行设置。

首先,我们来看模式0。

模式0是最简单的工作方式,它将8255A 芯片配置为三个8位输入/输出端口。

通过控制字的位设置,我们可以分别将三个端口配置为输入或输出。

例如,将控制字的位0设置为1,则相应的端口A将被配置为输出端口;同样地,如果位0设置为0,则端口A将被配置为输入端口。

通过这种方式,我们可以轻松地控制芯片的输入和输出状态。

接下来是模式1。

模式1将8255A芯片配置为两个8位输入/输出端口和一个4位双向输入/输出端口。

与模式0类似,我们可以通过控制字的位设置来选择每个端口是输入还是输出。

与模式0的不同之处在于,模式1包含一个双向端口,可以通过控制字的位来选择该端口的输入或输出模式。

例如,将控制字的位4设置为1,该双向端口将被配置为输出模式;同样地,如果位4设置为0,则该端口将被配置为输入模式。

最后,是模式2。

模式2将8255A芯片配置为一个8位输入/输出端口和两个4位双向输入/输出端口。

通过控制字的位设置,我们可以选择每个端口是输入还是输出,并且选择双向端口的输入或输出模式,与模式1相似。

总结一下,8255A芯片的工作方式控制字对于配置芯片的输入和输出端口非常重要。

通过合理设置控制字的位,我们可以选择不同的工作模式,并灵活地控制芯片的输入和输出状态。

掌握8255A芯片的工作方式控制字,将有助于我们更好地应用该芯片,满足各种实际需求。

8255工作方式

8255工作方式

12/6/2016
Page 10
问题: 当 8255A 工作在中断方式 2 时, CPU 是如 何来区分输入或输出的? 答:在输入、输出均允许的情况下,判 断 OBF 和 IBF 位的状态,来区分是输入中断还 是输出中断,OBF高电平无效时,是输出中断, IBF高电平有效时,是输入中断。
12/6/2016
12/6/2016
Page 9
2方式联络信号的设置
• 1.联络信号的设置
• 2方式是一种双向选通输入/输出方式,把C端口的5根线(PC3~PC7)作 为专用应答线(联络线),所以,82C55A只有A端口才有2方式。
• 2方式下为双向传送所设置的专用联络线,实质上就是A端口在1方式下 输入和输出时两组联络信号线的组合。其引脚定义如图10.19所示。
3.2方式—双向选通输入/输出方式
• 2方式的特点:一次初始化可将A端口置成既输入 又输出,具有双向性;要求有两对专用的联络信 号,有固定的工作时序和专用的工作状态字;适 用于查询和中断方式与CPU交换数据,特别是在 要求与I/O设备进行双向数据传输时很有用。 • 2方式的功能:A端口做双向数据端口(8位并行 );B端口做数据端口(8位并行);C端口有4种 功能,与1方式类似。
• 输出时,如果采用中断方式,则产生中断请求INTR的条件是 、 、 和 INTE都为高电平,分别表示CPU已写完一个数据( =1)、输出缓冲器已 变空( =1)、回答信号已结束( =1),I/O设备已收到数据,并且允许中 断(INTE=1)。当上述条件都满足时才能产生中断请求。
12/6/2016
Page 8
12/6/2016
Page 5
1方式下联络信号线的设置
• 1方式设置了专用联络线和中断请求线, 并且这些专用线在输入和输出时各不相同, A端口和B端口的也不相同。 • 下面分别进行讨论。

8255接口

读数据产生ibf信号03方式1的使用场合在采用中断方式进行输入输出的场合如果外部设备能为8255a提供选通信号或数据接收应答信号那么通常使用8255a的端口工作方式1的情况
第八章 可编程并行接口8255A
第一节 可编程并行接口8255A
8255A是INTEL系列的并行接口芯片。它是可编程 的,可以通过软件来设置芯片的工作方式。
MOV DX,PCTR MOV AL,00001110B ;置PC7=0,禁止A/D OUT DX,AL MOV DX,POT_A ;送A口地址 IN AL,DX ;读数据,产生IBF信号(0)
3)方式1的使用场合 在采用中断方式进行输入/输出的场合, 如果外部设备能为8255A提供选通信号或 数据接收应答信号,那么,通常使用8255A 的端口工作方式1的情况。
LP:
思考题:用8255A控制三个发光二极管依秩序循 环显示。假设开关闭合时,点亮发光二极管,开 管断开时息灭二极管。
+5V
200 D7 ~D0 8086 CPU A1 A2 译 地 码 址 A 线 0 器 A0 A1 CS
PA0 PA1 PA2
8255A
PB0
2K +5V
例2:计数器2输出600HZ方波,送扬声器。工作 于模式3.8255A控制8253的门控信号与扬声器的 开启。
输 入 0=输出
A口方式1输入有关信号的规定
中断允许信号,INTE由STB(PC4)置“1”,INTR有效 RD
INTE
数据输入口
PC4
A
PC5 PC3 PC6.PC7
PA7~PA0 选同信号输入端,低电平有效 STBA 输入缓冲区满信号, IBFA 它是8255送往CPU的中断请求 信号,高电平有效。 INTRA I O

微机原理接口课件6(8255)


PA7PA7-PA0
INTEA PC6 PC7
B口
I/O /ACK /OBF D7D7-D0
INTEB
PB7PB7-PB0
PC1 PC2
I/O /ACK /OBF
D7D7-D0
&
PC3
&
INTRA
PC0
INTRB
/WR
PC4 PC5
I/0 /WR
8255A方式1 8255A方式1输出时序 方式
/WR D7-D0 /OBF /ACK INTR
tAK
tAD
6.3.6 、8255的编程应用 的编程应用
A口作为双向数据总线 口工作于方式2 口有5根线作为A A口工作于方式2时,C口有5根线作为A口 的握手线和中断请求线 工作场合:外设可是输入设备, 工作场合:外设可是输入设备,也可是 输出设备, 输出设备,但不会同时发生
8255A同CPU的连接 同 的连接
A口
CPU
+
& &
PA7PA7-PA0
PC3 PC2 PC7 PC6
I/O INTRA /OBFA /ACKA /STBA IBFA I/0
D7D7-D0
INTE 2 INTE 1
/WR /RD
PC4 PC5 PC2---- PC0
方式2 方式2的输入输出时序
WR OBF INTR ACK tST STB IBF 外部总线 PA7~PA0 RD tPH tSIB tPS tKD tRIB tWOB tAOB
二、方式1(选通的输入/输出方式) 方式1 选通的输入/输出方式)
1、输入、输出均要通过应答关系来完成。 、输入、输出均要通过应答关系来完成。 2、A、B端口作为数据口,C口部分引脚作为 端口作为数据口, 口部分引脚作为 、 、 端口作为数据口 握手线和中断请求线。 握手线和中断请求线。 3、 A、B中只有一个工作于方式 时,C口有 中只有一个工作于方式1时 口有3 、 、 中只有一个工作于方式 口有 根配合,其余作为I/O口使用。 口使用。 根配合,其余作为 口使用 A、B中均工作于方式 时,C口有 根配合, 中均工作于方式1时 口有6根配合 、 中均工作于方式 口有 根配合, 其余作为I/O口使用。 口使用。 其余作为 口使用 4、应用场合:中断方式控制的I/O方式,外 、应用场合:中断方式控制的 方式, 方式 设可以为8255A提供选通信号和应答信号。 提供选通信号和应答信号。 设可以为 提供选通信号和应答信号

8255工作方式接口编程

一.实验目的掌握8255工作方式的编程设计;8255与外部设备(压力和温度平台)进行连接的应用;二.实验器材教学实验系统一台,扁平插线若干条,PC机一台,压力和温度平台一个;三.实验内容和要求a)设计内容A、用温度和压力的平台,读入温度的值,并显示在发光二极管上。

并用加热器实现温度的调节和报警。

B、要求发光二极管上用BCD码显示出温度或压力的值,用一个按键来选择显示哪种数据。

b)设计要求A、要求发光二极管上用BCD码显示出温度或压力的值,用一个按键来选择显示哪种数据。

B、用一个双色二极管显示温度达到了最高的值,并将加热器关闭;C、另一个双色二极管亮显示温度达到了最低的值,打开加热器。

D、用一个双色灯指示加热器的状态。

E、用按键或开关设定最高温度值和最低温度值。

F加热器也可以手动控制,用开关控制其关闭和打开。

四.实验内容及其步骤利用实验仪上的模数转换器,将程序中的一组波形的数据转换为电压的变化曲线,用示波器测量模数转换器的输出端可以看见转换波形。

1.连接电路图•PA0-PA7 接到RL0-RL7 八列键的列值。

•PC0,PC1,PC2接到Y0 Y1 Y2 三行键的行码。

•PB0-PB7 接到DL1-DL8,显示数/模转换的数值。

•PC3接到DR1显示低温到。

•PC4接到DR2 显示高温到。

•PC5接到DR3 显示加热的状态。

2.8255的选通输入,输出方式图 1-1本系统中的8255芯片8255的数据线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,本实验通过对 8255A方式控制字的设置(如图1-1),设置为10010000,即PA为输入口,PB、PC为输出口。

对A、B、C端口地址的设置如图1-2;图1-23.8255接口的应用键盘扫描及显示接线图(图1-3)图1-3 注:圆圈处是要求接的连线图中用并行接口8255A作为微机与键盘间的接口,采用逐行扫描法识别键。

将键盘中的列与PA0—PA7相连,A口为输入;将行与C口的PC0—PC2相连,C口为输出口; PB0—PB7与发光管连接B口为输出。

8255A的工作方式概述

8255A的工作方式概述8255A有三种工作方式:方式0、方式1和方式2。

1.方式0方式0为基本的输入/输出方式,传送数据时不需要联络信号。

A口、B口和C口(或C高4位口及C低4位口)均可独立设置成方式0输入口或方式0输出口。

2.方式1方式l为选通输入/输出方式,即需要进行联络的输入/输出。

A组、B组的8位口(A口或B口)可被设置为方式1输入口或方式1输出口,而这时要用相应C口的3根线作联络线。

3.方式2方式2为双向传送。

该方式要使用C口的5根线作联络线。

由于C口只有8根线,因此只能有一组使用方式2确定为A组。

当A组被设置成方式2时,A口被设置成双向端口,即既可以输入数据,也可以输出数据,C口的5根线被指定为联络线。

4.方式1、2用到的联络信号当将8255A设置为方式1或方式2时,要使用C口中的一些线传输联络信号。

这些信号可归结为五种(方式1仅使用其中的三种):(1)STB#选通,输入信号,由外设提供,低电平有效。

该信号将外设提供的数据送入端口的输入缓冲器。

(2)IBF输入缓冲器满,输出信号,高电平有效。

该信号有效表示来自外设的数据已经进入输入缓冲器,但CPU尚未取走,外设暂时不要送新的数据。

(3)OBF#输出缓冲器满,输出信号,低电平有效。

为低时表示CPU已把数据送到指定端口,该端口外围引线上的数据有效,外设可以利用了。

(4)ACK#来自外设的回答,输入信号。

为低时表示输出的数据已被外设接收,CPU可以输出下一个数据。

(5)INTR中断请求,送往CPU。

输入和输出都可以引起中断。

对于输入,外设的数据进入输入缓冲器后8255A产生INTR,请求CPU取走数据;对于输出,当外设利用完输出缓冲器中的数据之后会发出一个回答信号ACK#,8255A产生INTR,请求CPU输出下一个数据。

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