第八章(1) 并行接口8255
可编程并行接口实验(8255A方式1)
可编程并行接口实验(8255A方式1)实验目的掌握8255A工作方式1的使用方法;进一步掌握编写中断服务程序的方法。
实验内容1.8255A选通行输出实验,具体要求:(1)设置8255A的A 口工作在方式1输出;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:依次输出01H,02H,04H,08H,10H,20H,40H,80H。
使L0—L7依次发光。
2.8255A选通行输入实验,具体要求:(1)设置8255A的A 口工作在方式1输入;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:读取开关表示的ASCII码,在屏幕上显示其对应的字符。
实验连线1实验内容1连线(1)8255A芯片的A口PA7~PA0连发光二极管L7~L0;(2)PC3连接IRQ;(3)PC6连接单脉冲发生器。
2实验内容2连线(1)8255A芯片的A口PA7~PA0连逻辑开关K7~K0;(2)PC3连接IRQ;(3)PC4连接单脉冲发生。
流程图这是试验2的流程图,实验1相似实验代码试验2的代码是在试验1的代码基础上稍作改动,这里只列出试验2的代码:ASSUME CS:CODE,DS:DATADATA SEGMENT ;数据段定义IOPORT EQU 5400H-280HIOPORT_CENT EQU 5000H ;9054芯片的I/O起始地址MASKZ EQU 0FBH ;8259A主片屏蔽码MASKC EQU 0F7H ;8259A从片屏蔽码INTNUM DW 0 ;保存ES的定义量INTNUMSE DW 0 ;保存BX的定义量DA TA ENDSSTACK1 SEGMENT STACK ‘STACK1’DB 50 DUP(?)STACK1 ENDSCODE SEGMENT ;代码段定义START:MOV DX,IOPORT+28BH ;根据实验连线,此次实验控制口为540BH MOV AL,0B0H ; 设置8255A的控制关键字(设置成方式1,端口A输入) OUT DX,ALCLI ;关中断MOV DX,IOPORT_CENT+68H ;设置9054芯片使能寄存器IN AX,DXOR AX,0900HOUT DX,AX;得到原中断向量并保存MOV AH,35H ;取中段向量MOV AL,73H ;针对本台计算机查表得出中断类型号为73HINT 21HMOV INTNUMSE,BX ;保存BXMOV AX, ES ;保存ESMOV INTNUM, AX;设置新中断向量MOV AX,CSMOV DS,AXMOV DX,OFFSET INTPROC ;设置新的中断向量MOV AL,073HMOV AH,25HINT 21H;设置中断屏蔽寄存器IN AL,21H ;8259A主片的中断屏蔽寄存器端口地址为21HAND AL,MASKZ ;中断屏蔽寄存器中主片相应位置1,本实验中第三位置1 OUT 21H,ALIN AL,0A1H ;8259A从片的中断屏蔽寄存器端口地址为0A1HAND AL,MASKCOUT 0A1H,AL ;中断屏蔽寄存器中从片相应位置1,本实验中第四位置1 STI ;开中断MOV AL,00001001B ;设置PC4为1MOV DX,IOPORT+28BHOUT DX,ALOUTER:MOV AH,01H ;判断是否有任意键按下INT 16HJZ OUTER ;没有键按下程序重复MOV AX, INTNUM ;恢复原中断向量MOV DS,AXMOV DX, INTNUMSEMOV AL,073HMOV AH,25HINT 21H;恢复中断屏蔽寄存器IN AL,21HOR AL,04HOUT 21H,ALIN AL,0A1HOR AL,08HOUT 0A1H,ALMOV DX,IOPORT_CENT+68H ;关闭9054IN AX,DXOR AX,0F6FFHOUT DX,AXMOV AH,4CH ;有键按下,程序结束,返回DOS界面INT 21H;中断服务子程序INTPROC:PUSH AX ;寄存器入栈保护PUSH BXPUSH CXPUSH DXPUSH DSSTI ;开中断MOV CX,0FFFFHH: LOOP HMOV DX,IOPORT+288H ;A口输入IN AL,DXMOV DL,AL ;输出开关所对应的字符MOV AH,02HINT 21HMOV AL,20H ;发出EOI结束中断OUT 20H,ALOUT 0A0H,ALCLI ;关中断POP DS ;寄存器出栈POP DXPOP CXPOP BXPOP AXIRET ;中断返回CODE ENDSEND START结果描述试验1:每按一次单脉冲,L0~L7依次发光。
第八章8255A并行接口
端口B
对应 PC2 对应 PC1 对应 PC0 PC2置位
8255A工作在方式1下的输入时序
(3)端口A方式1作输出:
D7~D0 PA7~PA0
输出缓冲器满信号 表示CPU已经输出了数据
INTEA PC6
PC7 PC6
与门
WR
PC3
OBFA ACKA
INTRA
外设响应信号 表示外设已经接收到数据
3. A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字 来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的 “命令”,接收来自内部数据总线的“控制字”,并向与其相连的端 口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控 制电路控制PB口和PC口低4位。
4. 读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统 总线发来的有关信号,并向A、B两组控制部件发送命令。
? 8255A输出给外设的一个控制信号,当其有效时, 表示CPU已把数据输出给指定的端口,外设可以取走
? ACK*——响应信号,低有效
? 外设的响应信号,指示 8255A的端口数据已由外设 接受
? INTR——中断请求信号,高有效
? 当输出设备已接受数据后 , 8255A 输出此信号向 CPU提出中断请求,要求CPU继续提供数据
8255A的内部结构
A组控制
A组 A口 (8位)
D0~D7
RD WR A1 A0 CS RESET
数据总线 缓冲器
读/写 控制逻辑
A组 C口高位 (4位)
B组 C口低位 (4位)
B组控制
B组 B口 (8位)
PA 0~PA 7 PC4~PC 7 PC0~PC3 PB0 ~PB 7
并行IO扩展芯片8255
1
1
1
PC7
8255与单片机的连接
74LS373
AT89C51
P0.0-P0.7 ALE P2.7 WR RD RESET 8D G Q0 Q1 OE
D0-D7
PA
A0 A1
8255
CS WR RD RESET
PC
PB
EA
+5V
接片选/CS端,8255的(一组)寄存器地址可以是:
PA口:7000H PB口:7001H PC口:7002H 命令口:7003H
8255与单片机的连接
74LS373
AT89C51
P0.0-P0.7 ALE 8D G Q0 Q1 Q7 OE WR RD RESET
D0-D7 PA A0 A1 CS PC7 PC0
微型 打印机
8255
WR RD RESET
EA
+5V
Q7接片选/CS端,8255的(一组)寄存器地址可以是:
PA口:0000H PB口:0001H PC口:0002H 命令口:0003H
CPU向PA口输出数据
CPU向PB口输出数据 CPU向PC口输出数据 对控制寄存器写控制字 初始化8255时必须做的工作 没有选中,8255不工作 非法状态 非法状态 8255对系统总线呈高阻态 控制寄存器只能写不能读 8255对系统总线呈高阻态 向8255的I/O口写有效
注意:对PA,PB,PC三个口的任何读/写操作,就是对 PA,PB,PC这三个寄存器进行I/O操作.第4个寄存器是 控制字寄存器(命令字寄存器)
K0 K1 K2 K3 K4 K5 K6 K7
图8.5 简单I/O接口扩展电路
74HC244
简单并行I/O扩展(锁存器扩展) 在单片机的I/O口线不够用的情况下,可以借助 外部器件对I/O口进行扩展。可资选用的器件很 多,方案也有多种。
8章 并行接口和8255芯片
数据线 地址线 片选 定时 R/W INT
数据线
并行 接口
输入准备好
输入响应
输出缓冲空
输出响应
外部 设备
可编程并口作用:扩充数据总线的数量和适应性
CPU
数据线 地址线 片选 定时 R/W INT
l INTEL8255A芯片
数据线
并行 接口
输入准备好
输入响应
输出缓冲空
可编程 并行 接口
输出响应 数据线
MOV DX,39FH ;控制端口地址
MOV AL,80H
OUT DX,AL
MOV DX,39EH ;PC端口地址
MOV AL,0000 0001B ; 设定PC的值
AGAIN:OUT DX,AL
;点亮LED
DELEY_1000MS ;延时1秒
ROL AL,1
;逻辑左移(LED下行),改变PC值
JMP AGAIN
l 需要完成的工作
n 选定8255工作方式 n 设计8255的电路 n 完成程序编写
并行打印接口
DATA1~8
CPU
需要完善的 电路
8255A
STB BUSY 地
l 工作方式0:8位并行数据输出+2个联络信号(1个输出1个输入)
l 硬件设计电路
8255A
打印机接口
PA 0~7
DATA1~8
CPU PC7
STB
PC2
BUSY
地
地
n PA输出,输出8位打印数据;
n PC7输出。数据选通信号(STB); n PC2输入。接收忙信号(BUSY) 。 n 注意:PC7和PC2并非固定作控制用。这是0方式特点。
软件实现【8255地址300H~303H】
8255并行接口电路
总线
reset
D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7
~
8255A
端口A
数据 缓冲器
PA7 ~ PA0 PC7 ~ PC0
D0 RD WR
外
端口C
读写 控制
片内 译码
片选 译码
CS A1 A0
端口B
PB7 ~ PB0
+5V GND
设
控制口 D
2. 控制端口D (A组和B组控制电路)
8位端口,无对外引脚。控制端口的内容决定A口、B 口、C口的工作状态(输入或输出)和工作方式(方式 0、 1、2), 起控制作用。
3. 数据总线缓冲器(引脚D0~D7) 由1个8位双向三态缓冲器构成。8255A内 各端口通过数据缓冲器与系统总线相连。 CPU与端口A、B、C间传送的数据,以及 CPU写入控制端口D中的控制字均通过数 据缓冲器传送。
端口A
数据 缓冲器
PA7 ~ PA0 PC7 ~ PC0 PB7 ~ PB0 +5V GND
D0
RD WR 片选 译码 CS A1 A0
外
端口C
读写 控制 片内 译码
端口B
设
式( 方式 0、方式 1、方式 2) 对外 8 根引脚 PA7 ~ PA0 总线
reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7
输出过程
输出 :每当外设从接口取走一个数据以后, CPU往接口中输出数据 →接口中状态寄存器发中断请求; (“输出准备好”=1,表示CPU可以往接口中输出数据) → CPU向接口输出数据,数据到接口缓冲寄存器; →接口自动清除“输出准备”好。 将数据送往外设: 接口向外设发送一个“驱动信号”,启动外设接收数据。 →外设收到数据向接口发一个“数据输出回答”信号; →接口收到的信号将状态寄存器中“输出准好”=1; → CPU输出下一个数据。
常用IO接口芯片
(5)并行接口可直接设置成用硬布线方式连接旳接口,也 可用可编程接口芯片构成可编程接口。
并行接口电路8255A
具有多种功能旳可编程并行接口电路芯片
最基本旳接口电路:三态缓冲器和锁存器 与CPU间、与外设间旳接口电路:状态寄存器
用PC6设置INTE1(输出) 用PC4设置INTE2(输入)
输入和输出中断经过
或门输出INTRA信号
PC3
INTRA
方式2双向时序
WR OBF INTR ACK
STB
IBF RD PA0~PA7 D0~D7
data-in data-out
data-out data-in
8255A旳应用
作为通用旳并行接口电路芯片, 825A具有广泛旳应用
方式2旳数据输入过程与方式1旳输入方式一样
方式2旳数据输出过程与方式1旳输出方式有一点 不同:数据输出时8255A不是在OBF*有效时向 外设输出数据,而是在外设提供响应信号ACK* 时才送出数据
方式2双向引脚
PA7~PA0
INTE1
PC6
PC7
INTE2 PC4 PC5
ACKA OBFA STBA IBFA
PC0
STBB IBFB
INTRB
输入缓冲器满信号 表达A口已经接受数据
中断允许触发器 PC2=1时 B口允许中断
中断祈求信号 祈求CPU接受数据
方式1输入联络信号
STB*——选通信号,低电平有效
由外设提供旳输入信号,当其有效时,将输入设备送 来旳数据锁存至8255A旳输入锁存器
IBF——输入缓冲器满信号,高电平有效
《微机原理与接口》知识点第7章 并行接口8255
接受CPU发送的读写信号,其中A0 , A1寻址8255内部寄 存器,共有3个数据端口,1个控制端口。
2. 8255的引脚信号
CPU DB CPU CB D0~D7 RESET CPU AB
RD WR
A0 A1
I/O PA7~PA0 I/O PC7~PC4 8255A I/O PC3~PC0 I/O PB7~PB0
3) 8255数据总线缓冲器中的数据必须保持到读信号消失 后才结束。 4) 读脉冲宽度至少大于300ns。 5) 在整个输入数据期间,地址信号保持有效。
输出时序
WR
CPU
CS A1 A0
D7~D0
地址有效 数据有效 数据有效
I/O口 输出数据
1) 地址信号必须先有效; 2) 写脉冲大于400ns; 3) 数据在写信号结束前有效,且能在写信号结束后保持 一段时间;
CPU DB CPU CB
D0~D7
RESET CPU AB
RD WR
A0 A1
I/O PA7~PA0 I/O PC7~PC4 8255A I/O PC3~PC0 I/O PB7~PB0
外 设
CS
A1 , A0:8255内部寄存器地址寻址信号,8255内部有4个 端口,A,B,C与控制口。
A1 0 0 1 1 A0 0 1 0 1 端口 A口 B口 C口 控制口
CS
A1 A0J1 D7 D0
CS
J1,J2地址
A7 A6 A5 A4 A3 J1 J2 A2 A1 A0
A1 A0J2 D7 D0
1 1
× 0 × 0
0 0
1 0
0 0
0 0 0 0
88H~8EH
80H~86H
并行通信和并行接口8255A-PPT精选文档
§6-2 8255A的控制字
8255A的控制字分两类 方式选择控制字: 用于定义各端口的工作方式。
置位/复位控制字: 用于对C端口的任一位进行置位或复位操作。 这两种控制字都被写入控制字寄存器端口,
用标志位(D7位)来区分:
D7=1 为方式选择控制字
D7=0 为置位/复位控制字
14
方式选择控制字的格式:(方式字)
第六章
主要内容:
并行通信与并行接口8255A
8255A引脚功能及内部结构 端口寻址 控制字和命令字 初始化及编程 工作方式 应用举例
1
并行通信和并行接口
并行通信:把一个字符的各数位用几根线同时进行传输 并行接口:实现并行通信的接口。
并行接口的特点:
在多根数据线上以字节或字为单位传递信息。
CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2
RD
WR
PA4 PA5 PA6 PA7
RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
8255A
5
引脚信号可分为两组:
和外设一边相连的 PA7~PA0 PB7~PB0 PC7~PC0
15
端口C的置/复位控制字格式:
D7 D6 D5 D4 D3 D2 D1 D0
0 | x
|
端 口 无 C 的 置 /复 位 命 令
8
8255A的寻址
A1 A0 0 0 0 1 1 0 1 1 访问的端口 端口A 端口B 端口C 控制字寄存器
9
微机原理11-并行接口8255
-G
K0
74LS244
K1
三态
缓冲器
K7
… …
D0~D7
4
CLK
74LS273
8D 锁存器
74LS06
反相 驱动器
LED0
LED7
+5V
11.1 并行接口电路8255A
➢ 8255A是具有多种功能的可编程并行接口电路 芯片
➢ 8255有3个8位的数据端口(A/B/C),共24个 I/O引脚,各端口共有3种输入输出工作方式
➢ 基本输入/输出(A/B/C口) ➢ 选通输入或选通输出(A/B口) ➢ 双向选通(A口)
8255A引脚及功能示意图 (a) 引脚;(b) 功 能示意图
PA3 1 PA2 2
PA1 3
40 PA4 39 PA5 38 PA6
PA0 4
37 PA7
RD 5
36 WR
CS 6 GND 7
35 34
Hale Waihona Puke RESET D0D7~D0
A1 8
33 D1
A0 9
32 D2
PC7
10 8255A 31 D3
PC6 11
30 D4
PC5 12
29 D5
PC4 13
28 D6
PC0 14
27 D7
PC1 15
26 VCC
PC2 16
25 PB7
PC3 17
24 PB6
PB0 18
23
PB 5
PB1 19
22
PB 4
PB2 20
端口A:PA0-PA7 (A组控制)
常作数据端口使用,功能最强大
端口B:PB0-PB7 (B组控制)
微机原理实验报告 可编程并行IO接口8255
《微机原理及应用技术》课程实验报告实验五可编程并行I/O接口8255【预习内容】1.怎样选中可编程I/O接口?怎样实现I/O端口的寻址?8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。
通过地址/数据总线,按照指定地址进行读写操作直接选中8255。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片。
CPU与外设交换的数据是以字节为单位进行的。
因此一个外设的数据端口含有8位。
而状态口和命令口可以只包含一位或几位信息,所以不同外设的状态口允许共用一个端口,命令口也可共用。
数据信息、状态信息和控制信息的含义各不相同,按理这些信息应分别传送。
但在微型计算机系统中,CPU通过接口和外设交换数据时,只有输入(IN)和输出(OUT)两种指令,所以只能把状态信息和命令信息也都当作数据信息来传送,且将状态信息作为输入数据,控制信息作为输出数据,于是三种信息都可以通过数据总线传送了。
但要注意,这三种信息被送入三种不同端口的寄存器,因而能实施不同的功能。
CPU对外设的访问实质上是对I/O接口电路中相应的端口进行访问,也需要由译码电路来形成I/O端口地址。
I/O端口的编址方式有两种·存储器映象寻址方式·I/O指令寻址方式2.8255A接口芯片内含几个I/O端口?它们的名称分别是?这些I/O口地址有何特点?三个数据端口,三种工作方式A口可工作于方式0、方式1和方式2中的任一种B口可工作于方式0和方式1,但不能工作于方式2C口只能工作于方式08位数据端口:A口、B口、C口A口:PA7~PA0B口:PB7~PB0C口:PC7~PC0连接外部设备A口与B口为一个8位的输入口或输出口C口单独作为一个8位的输入口或输出口配合A口和B口使用,作为控制信号和状态信号3.8255A有几个控制字?怎样设置?它有两个控制字,一个是方式选择控制字,一个是对C口进行置位或复位控制字。
第8章 8255A并行接口
方式1的 输出过程
1)CPU通过输出指令将数据送至并口的输出缓冲器; 2)8255A收到数据后在OBF#上输出低电平,通知外设接收数据; 3)外设在收到OBF#的低电平后,接收并行接口的数据 4)外设向并口送ACK#低电平,通知8255A收到数据并禁止8255送
出下一个数据; 5 ) 8255A 在 收 到 ACK# 的 低 电 平 后 , 将 OBF# 置 为 高 电 平 ; 若
微机原理与接口技术
第 8 章 并/串行通信接口
8.1 并行通信接口
8.1.1 8255的内部结构 8.1.2 8255的工作方式 8.1.3 8255的编程设置 8.1.4 8255的应用例
8255A芯片知识点:
可编程并行接口芯片8255A的结构与功能 8255A的三种工作方式与初始化编程 8255A的应用
并行通信(I/O)接口
D7 ~D0
并
Dn-1 ~D0
计
计 算
行 n根数据线 I/O
算 机
机
接
或
口
外
控制/联络线 设
可编程并行口的一般构成
一个重要概念----联络
联络:CPU通过接口向外设输出一个控制 信 号 ; 外 设 通 过 接 口 向 CPU 输 入 一 个 “ 状 态”信号,这“一入一出”的一对信号用 来 协 调 CPU 与 外 设 处 理 信 息 的 同 步 问 题 。 这一对信号就是“联络”信号。
方式1的 输入过程
1)外设送数据至外设与接口相连的数据线上; 2)外设送选通信号STB#给8255A; 3)8255A利用STB#的低电平锁存数据至并口的输入缓冲器; 4)IBF引脚输出高电平通知外设收到数据,禁止外设发送下一
个数据; 5)8255A在IBF=1且INTE=1时使INTR输出高电平,向CPU提
第8章 并行通信和并行接口8255A
2.8255A的内部结构 8255A的内部结构框图如图8-2所示,它由四个部分组成: (1)输入输出接口 从图8-2中可以看到,左边的信号与系统总线连接,而右边是与外设相连接的3个 口,即PA、PB、PC,3个口均为8位,将这三个口分为两组:A组(A口的8位和C口的高4 位)、B组(B口的8位和C口的低4位),每个端口都可由程序设定为各种不同的工作方 式。 端口A(PA口)有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器,所以, 用端口A作为输入或输出时,数据均受到锁存; 端口B(PB口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器; 端口C (PC口) 有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。 (2)数据总线缓冲器 数据总线缓冲器是8位双向三态缓冲器, 8255A与系统总线之间的命令、数据、 控制字等信息都是通过它来完成的,它是系统总线与8255A之间交换信息的必经之路。 (3)读/写控制逻辑 用来管理数据信息、控制字和状态字的传送,地址线A1、A0,片选信号()和读、 写控制信号(、),完成内部端口的选择和读写操作。 (4)A组和B组控制电路 这两组控制电路根据CPU发出的方式控制字来控制8255A的工作方式,每个控制组 都接受来自读/写控制逻辑的命令,接受来自内部数据线的控制字,然后向各有关端口 发出相应的控制命令。
(二) 方式1的输入工作过程
当外设准备好数据,在送出数据的同时,送一个选通信号,使8255A的 IBF 为高电平,告诉外设当前输入缓冲器已满,暂时不要送入数据。再由后沿将INTE 置“1”,它使输出的 INTR 有效,向CPU 发出中断请求信号,待CPU响应这一中断请 求时,可以在中断服务程序中安排IN指令读取数据,然后将IBF置“0”,外设才可 以继续输入后面的数据。 ②方式1的输出 当A口与B口设定为方式1输出时,也各指定了C口的3根线为信号线,其引脚 定义和端口结构如图8-4所示。
第8章 并行接口8255A第二节
当A1A0=11时
选择控制端口
表8.1 8255A的读写操作控制
§8.2 并行接口8255A
8.2.3 8255A的控制字及来自工作方式8255A共有两个控制字:即工作方式控 制字和对C口置位/复位控制字。
1. 控制字
(1)工作方式控制字: 控制字和各位的含义如图所示。
D7
D6 D5
D4 D3
D2 D1 D 0
过8255A把数据送给打印机接口的数据引脚
DATA 0 ~ DATA 7 ,同时送出一个数据选通信号 STROBE 给打印机。打印机收到该信号后,把 数据锁存到内部缓冲区,同时在BUSY信号线上 发出忙信号。待打印机处理好输入数据时,打
印机撤消忙信号,同时向主机送出一个响应信
号 ACK 。主机根据 BUSY 信号或信号 ACK 决定
通道 A
D7 A0 A1
CS RD WR
27
PA7 PB0
RESE T
9 8 6 5 35 36
8255 APPI
. . .
通道 B
电 源 线
VCC GND
CPU接口
25 14 15 16 17 13 12 11 10
PB7 PC0
. . .
通道 C
PC7 外设接口
8255A引脚定义
§8.2 并行接口8255A
§8.2 并行接口8255A
② 方式1选通输出
当端口 A 或端口 B 为方式 1 输出时,各
指定PC的3条线作为8255A与外设及CPU之 间应答信号。下图为方式1选通输出操作的 内部结构图。
方式1输出控制字格式
方式1输出端口A
PA7~0
方式1输出端口B
04-教学课件__可编程并行接口8255
可编程并行接口82551. 并行接口8255的特点:⏹通道型接口⏹主要用于数据的输入或输出⏹含3个独立的8位并行输入/输出端口⏹2个为8位端口(PA,PB);⏹1个可拆分为两个4位端口(PC口)⏹各端口均具有数据的控制和锁存能力⏹既可作为输入端口,也可以作输出端口。
⏹可通过编程,设置各端口工作在某一确定状WRD0D1D2D3D4D5D6D7V CCPB7 RDCSGNDA1A0PA4PA5PA6PA7PB5PB6PB4PB3RESETPB1PB2PB0PC3PC2PC1PC0PC4PC5PC6PC7PA2PA1PA05101535302521PA32. 结构RD 数据总线缓冲器WR A 0A 1RESETCS读/写控制逻辑B 组控制DB8位内部数据总线A 组控制A 组端口C 高4位B 组端口C 低4位B 组端口B (8)PA 7PA 0~ PC 7 PC 4~ PC 3PC 0~PB 7PB 0~A 组端口A (8)A 组控制A 端口,C 口高4位B 组控制:B 端口,C 口低4位针对A 、B 组的控制字存放在控制寄存器3.引线连接系统端的主要引线:⏹D0----D7⏹#CS⏹#RD⏹#WR⏹A0,A1⏹REAST A1 A00 0 A端口0 1 B端口1 0 C端口1 1 控制寄存器引线连接外设端的引脚:⏹PA0 —— PA7 ⏹PB0 —— PB7 ⏹PC0 ——PC7分别对应A、B、C三个端口8255与系统的连接示意图D0~D7WR RD A1 A0CSDBIOW IOR A1 A0译码器8255A 口B 口C 口D0~D7 外 设4.工作方式基本输入/输出方式(方式0)选通工作方式(方式1)双向传送方式(方式2)方式0:⏹相当于三个独立的8位简单接口⏹各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出⏹C端口可以是一个8位的简单接口,也可以分为两个独立的4位端口⏹常用于连接简单外设,适于无条件或查询方式方式0的应用:⏹习惯上:⏹A端口和B端口作为8位数据的输入或输出口⏹C口的某些位作为状态输入⏹注:⏹若使C端口低4位中某一位作为输入口,则低4位中其他位都应作为输入口。
第8章 并行通信和并行接口8255A
8.2 并行I/O接 口芯片8255A
8.2.1 8255A的外部 引脚及内部结构 1. 8255A的外部引脚
8255A的外部引脚布局如 图8-1所示。它有40根引脚, 可分为与系统总线(如8086) 连接的引脚和与外部设备连接 的引脚。
图8-1 8255A的外部引脚
D7 ~ D0 为双向数据信号线,用于 8255A 与系统数据线相连,传送 CPU与8255A之间的数据、控制信息、状态信息。 (输入): 8255A 读信号,低电平有效。当有效时, CPU 从 8255A 的指定端口读取数据或状态信息。通常接系统总线的信号。 (输入): 8255A 写信号,低电平有效。当有效时, CPU 向 8255A CS 指定端口写入控制字或数据。通常接系统总线的信号。 (输入):片选信号,当它为低电平(有效)时,才能选中该 8255A芯片,使8255A正常工作。 A1 、 A0 (输入)为片内地址选择信号。当有效选中 8255A 时,由 A1A0的编码来决定是选中A口、B口、C口,还是选中控制字寄存器,如 表8-1所示
(二) 方式1的输入工作过程
当外设准备好数据,在送出数据的同时,送一个选通信号,使8255A的 IBF 为高电平,告诉外设当前输入缓冲器已满,暂时不要送入数据。再由后沿将INTE 置“1”,它使输出的 INTR 有效,向CPU 发出中断请求信号,待CPU响应这一中断请 求时,可以在中断服务程序中安排IN指令读取数据,然后将IBF置“0”,外设才可 以继续输入后面的数据。 ②方式1的输出 当A口与B口设定为方式1输出时,也各指定了C口的3根线为信号线,其引脚 定义和端口结构如图8-4所示。
循环检测codeendsendstart图898086cpu8255a和开关的接口电路可编程并行接口芯片8255a与数模转换器dac连接可以控制输出模拟量的大小这个模拟量可以是电压的高低电流的大小速度的快慢声音的强弱等等而模数转换器adc可将它们变换为数字量通过8255a送回到微机系统中这种闭环式的调节系统在实践中应用非常广泛
8255并行接口实验(1)
8255工作前必须初始化,初始化时需设置: 工作前必须初始化,初始化时需设置: 工作前必须初始化
工作方式 低电平) 输入 置0(低电平 低电平 高电平) 输出 置1(高电平 高电平 数据传送方向 PC口各数据线的状态(必要时) 口各数据线的状态(必要时) 口各数据线的状态
通过向8255写入控制字实现: 写入控制字实现: 通过向 写入控制字实现
方式控制字
用于控制8255各端口的工作方式和数据传输方向 各端口的工作方式和数据传输方向 用于控制
位控字
控制PC端口在方式 (输出) 控制 端口在方式0(输出)时每一根输出线的状态 端口在方式
二、实验目的
掌握8255A的编程原理及使用方法 掌握8255A的编程原理及使用方法 8255A
三、实验内容
PA A组 组 控制 PCH PCL B组 组 控制 PB
PA0~ ~ PA7
B组 组
PB, PCL
数据 总线 缓冲 器 读写 控制 电路
部 总立控制
见方式控制字
RD# WR# A1 A0 RESET CS#
PB0~ ~ PB7
8255与系统的电路连接 与系统的电路连接
本实验中8255的地址分配如下: 的地址分配如下: 本实验中 的地址分配如下 端口A 04A0H 端口 端口B 04A2H 端口 端口C 04A4H 端口 04A6H 控制口
六、实验程序流程图
七、实验程序
code segment assume cs:code org 0100h start: mov dx, 04a6h ;控制寄存器地址 控制寄存器地址 mov al, 90h ; A口输入,B口输出,方式 口输入, 口输出 方式0 口输出, 口输入 out dx, al start1: mov dx, 04a0h ;A口地址 口地址 in al, dx ;输入 输入 mov dx, 04a2h ;B口地址 口地址 out dx, al ;输出 输出 jmp start1 code ends end start
8255可编程并行接口知识点总结
可编程并行接口8255知识点总结8255A 是INTEL系列的并行接口芯片,由于它是一种可编程的外部接口部件,通常作为微机系统总线与外部设备的接口控制部件,可通过软件来设置芯片的工作方式,用8255A 连接外部设备时,通常不需要附加外部电路,给使用带来很大的方便。
1、内部结构2、引脚说明8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
(1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0、A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:总线分类:(2)与外设接口部分8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。
①数据端口A、B、C端口A(PA0-PA7):对应了1个8位的数据输入锁存器和1个数据输出锁存/缓冲器。
所以A 作为输入或输出时,数据均受到锁存。
端口B(PB0-PB7):对应了1个8位的数据输入缓冲器和1个数据输出锁存器/缓冲器。
所以B 输入锁存,输出不受到锁存。
端口C(PC0-PB7):对应1个8位数据缓冲器和1个数据输出锁存/缓冲器,所以C输入不锁村,输出锁存。
当8255工作于应答I/O方式时,C口用于应答信号的通信。
A、B组的逻辑控制功能A组:组成:端口A(PA0-PA7)和端口C的高4位(PC4-PC7)这几个端口由A组统一进行逻辑控制。
B组:组成:端口B(PB0-PB7)和端口C的低4位(PC0-PC3)(3)A、B组分配:A组由端口A作为与外设交换数据的输入/输出接口,C口的高4位作为外设连接的控制信号线和状态信号线,以配合A口工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方式1:带选通的输入方式
INTE:中断允许信号,可通过对C口的相应位按位置 位/复位来控制。INTE置位表示允许中断。
输入时: 允许中断:PC4(A口)=1,PC2(B口)=1 禁止中断:PC4(A口)=0,PC2(B口)=0 输出时: 允许中断:PC6(A口)=1,PC2(B口) =1 禁止中断:PC6(A口)=0,PC2(B口) =0
2.端口C按位置位/复位控制字 它可使端口C中的任何一位进行 置位或复位。 这两类控制字通过控制端口的最 高位即D7位为0或1来区别。方式选 择控制字的最高位为1,而端口C置 1/置0的控制字最高位为0。
端口C按位置位/复位控制字
注意:C口控制字虽然是对端口C操作,但应 写入到控制口地址,而不是写入到C数据口
8.1.4 8255A初始化编程
P226
8.1.5 8255A应用举例
P227 例 8-1 利用8255A作为简单的输入/输出接 口,实现同步传送。
例8-2 8255作为打印机接口,工作于方式0
打印机正在处理一个字符时,打印机忙信号BUSY=1, 否则,BUSY=0。向打印机送数前,应先查询打印机状 态,当BUSY=0时,可以向打印机送数。 当 STB 有效(负脉冲)时,把数据线的数据送入打 印机内。
8255A的控制字
例1:设 A、B、C数据口地址分别为60H、 61H、 62H、控制口端口地址 63H。A口方式0,输出、B口 方式0,输入,C口高4位输出,C口低4位输入。 MOV AL,10000011B OUT 63H,AL
例2: PC7置1,PC3置0
MOV DX,63H MOV AL,0000,1111B;PC7置1 OUT DX,AL MOV AL,0000,0110B;PC3置0 OUT DX,AL
练习:
1.8255A的工作方式控制字和C口的按位置位/复 位控制字共用一个地址,如何区分这两种控制字? 分 别 写 入 C 口 置 位 / 复 位 命 令 , 将 PC7 复 位 、 PC0 置 位 , ( 设 8255 的 端 口 地 址 为 260H ~ 263H)。
2. 设 8255A 的 4 个 端 口 地 址 分 别 为 0C0H 、 0C1H、0C2H和0C3H,要求用按位置位/复位 控制字使PC6输出方波信号,试编程实现。
8255A方式1输入组态
A组方式控制字 D5 D4 D3 D2 1 1 I/O ×
端口A
INTE A PA0~PA7 PC4 PC5
D7 D6 1 0
D1 DC3 PC6 /PC7
INTRA I/O
方式1输入组态
B组方式控制字
端口B PB0~PB7 INTE B PC2 PC1 D7 D6
方式2:双向传送数据方式 在这种方式下,外设可在单一的8位数据总线上 ,既能发送,又能接收数据。此时可工作于程序查 询方式,也可工作于中断方式。 方式2只限于A口使用,此时端口B可用于方式0 或方式1。端口C的其它三位做I/O用或做端口B控 制状态信号线用。 在中断时: PC3INTR, PC4STB, PC5IBF PC6ACK, PC7OBF INTE:由PC6的置位/复位来控制
方式1:带选通的输出方式
OBF(PC7),ACK(PC6),INTR(PC3)(A通道) OBF(PC1),ACK(PC2),INTR(PC0)(B通道) OBF:输出缓冲器满信号,低电平有效。为8255输 出给外设的联络信号。CPU把数据写入指定端口的输 出锁存器后,该信号有效,表示外设可以把数据取 走。它由ACK的前沿(下降沿)外设取走数据后,使其 恢复为高。 ACK:低电平有效,是外设发出的响应信号,该信 号的前沿取走数据,使OBF无效,后沿使INTR有效。 INTR:中断请求信号,高电平有效。当输出装置已 经接收了CPU输出的数据后,它用来向CPU提出中断 请求,要求CPU继续输出数据。
8.2.5 8255A的工作方式 方式0:基本的输入输出方式 PA,PB,PC均可提供简单的输入和输出操 作。CPU用简单的输入或输出指令进行读或 写,认为外设总是处于准备好状态。
1) 方式0一般用于无条件传送方式。 2) 方式0也可用作查询式输入输出,此时端口A和B 可以分别作为数据端口,而用端口C的某些位作 为这两个数据端口的控制和状态信息。
本章重点:
了解可编程接口芯片的一般结构 掌握可编程并行接口8255A的主要性能及应用 掌握可编程定时/计数器8253的主要性能及应用 理解串行通信的基本概念,熟悉可编程串行接口 8250的主要性能及应用
本章难点: 8255A的工作方式、编程及综合应用 8253的工作方式、编程及综合应用 8250的工作方式、编程及典型应用
设A、B、C口和控制口的端口地址为0D0H~0D3H
MOV AL,81H;A口输出,上C口输出,下C口输入 OUT 0D3H,AL MOV AL,0DH ;PC6置1,0DH=0000,1101 OUT 0D3H, AL LPST: IN AL,0D2H ;读PC口 AND AL,04D ; 打印机忙否(PC2 =BUSY=?) JNZ LPST ;PC2=1,打印机忙,等待 MOV AL, CL OUT 0D0H, AL ;CL中的字符送PA口 MOV AL, 0CH OUT 0D3H, AL ;置PC6=0,即STB=0; 00001100=0CH INC AL OUT 0D3H, AL ;置PC6=1,即STB=1, 00001101=0DH ┆
PB0~PB2 PC0~PC3 PC7~PC4
A0
20 19 18 17 16 15 14 13 12 11 10 9
GND A1
8 7
PA0~PA3
RD CS
6 5 4
3
2
1
8255A
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
方式1:带选通的输入输出方式(中断方式)
它将三个端口分为1、2两组: 1组:PA,PC3~PC7 (3位~5位) 2组:PB,PC0~PC2 (3位)
此时端口A和B都可以由程序设定为输入或输出。 端口C的某些位作为状态信号,用于联络和中断,某 些位用作控制信号,如INTE,这几位的功能是固定的 ,不能用程序改变。 C口余下的位仍可作为基本输入 或输出用。
1 ×
D5 D4 D3 D2
× × × 1
D1 D0
1 ×
STBB IBFB
PC0
INTRB
方式1:带选通的输入方式 STB(PC4),IBF(PC5),INTR(PC3)(A口) STB(PC2),IBF(PC1),INTR(PC0)(B口) STB:选通信号,低电平有效。这是由外设发出的 输入信号,信号的下降沿把输入装置送来的数据送 入输入锁存器。 IBF:输入缓冲器满,高电平有效,为8255输出给 外设的联络信号。外设将数据送至输入锁存器后该 信号有效;RD的上升沿将数据送至数据线后,该信 号无效。 INTR:中断请求信号,高电平有效,为8255的输 出信号,用作向CPU申请中断的请求信号,以要求 CPU服务。它是当STB为高,IBF为高和INTE(中断允 许)为高时被置为高。RD信号的下降沿CPU读取数据 前清除为低电平。
1方式选择控制字
它可使8255A的3个数据端口工作在不同的工 作方式。
方式选择控制字总是将3个数据端口分为两 组来决定工作方式,即端口A和端口C的高4位 为1组,端口B和端口C的低4位为1组。 工作方式0:基本型输入/输出方式 工作方式1:选通型输入/输出方式 工作方式2:双向数据传送方式
方式选择控制字
8.2.5 8255A的工作方式 方式0:基本的输入输出方式 PA,PB,PC均可提供简单的输入和输出操 作。CPU用简单的输入或输出指令进行读或 写,认为外设总是处于准备好状态。
1) 方式0一般用于无条件传送方式。 2) 方式0也可用作查询式输入输出,此时端口A和B 可以分别作为数据端口,而用端口C的某些位作 为这两个数据端口的控制和状态信息。
MOV DX,0C3H MOV AL,80H OUT DX,AL L1:MOV AL,0CH OUT DX,AL NOP NOP MOV AL,0DH OUT DX,AL NOP NOP JMP L1
作业:
已知8255A的端口地址范围为300H到303H, 8255A的A端口、B端口均工作于方式0,请编 写程序,从B端口输出数据30H,并将从A端口 输入的数据放入寄存器BL中。
8255A可通过指令在控制端口中设置控制字来
决定它的工作方式。其控制字可分为两类:
一个是方式选择控制字,用于8255A的初始化; 另一个是C口按位置位/复位控制字,用于C口的位 操作。这两个控制字使用同一端口地址,由最高位
D7区分,若D7为1,此控制字为8255A的工作方式控
制字;若D7为0,此控制字为8255A的C口的位控制 字。
WR
RESET
PB7~PB3
D0~D7
PA4~PA7
40PIN、DIP封装,芯片体积较大
8255A内部有3个数据端口和1个控制端口, 共4个端口, 由端口选择信号A1~A0选择:
A1 A0 选中端口
0
0 1 1
0
1 0 1
A口
B口 C口 控制口
若是8086系统,要求4个端口地址全为偶地址。
8.1.3 8255A的控制字
8.1并行I/O接口芯片8255A
并行通信是计算机与I/O设备进行数据传送的一种 方式。 8255A 是一种可编程的外部接口芯片,可通过软件 来设置芯片的工作方式,用8255A连接外部设备 时,通常不需要附加外部电路,给使用带来很大的 方便。
8.1.1 8255A的内部结构
8.1.2. 8255A的外部引脚