微机原理课件 第8章 接口技术(8255)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
25
方式1输入端口对应的控制信号:
中断允许信号 选通信号 输入缓冲器 中断满请信求号信号
中断允许信号 选通信号 输入缓冲器 中断满请信求号信号
26
方式1输出 :
中断允许信号
Fra Baidu bibliotek
外输设出响缓应冲信器号 满信号
中断请求信号
27
⑶ 方式2——双向传输方式(只适用于端口A )
输出中断允许信号
INTE1通过PC6的置位/输复入位中操断作允设许信置号 INTE2通过PC4的置位/复位操作设置
A1 A0 A2 A1 A0=0
17
3. 8255A的控制字 根据D7位的状态来决定控制字分两类。
两类
各端口的方式选择控制字 C端口按位置1/置0控制字
18
⑴ 方式选择控制字
A组(D6D5D4D3)
1
B组(D2D1D0)
19
8255A方式选择注意: 方式0:基本输入/输出方式
(1)三种基本工作方式 方式1:选通工作方式 方式2:双向传送方式
28
注意: 1)方式2 的I/O均为锁存 2)端口A工作于方式2时, 端口B可工作于方式0
或方式1 3)端口C用5个数位提供控制和状态信号
29
5.8255A应用举例
(1)8255A工作方式0 某接口设计采用一片8255A实现。其端口A连接并行打
印机, 端口B连接纸带读入机。8255A工作于方式0,以查 询方式传送数据。对8255A初始化并编写相关的程序。
7
典型的并行接口和外设连接的示意外图设使寄的把:其存 控数成C制据为P命送U高令给对电接接平口口时,
暂存I/O数据
提供各种状态位 接供口CP收U到查数询据后将其 置1 发给外设,外设 接到后,撤销数据和
准备好信号
C清 号P除,U“使收输数到入据数准总据接“状备线后口输态好处,收入寄”于接到准存信高口数备器据好中后”设,信置在号 阻
INC BX MOV DATAPTR,BX
POP BX
MOV AL,20H ;向8259A发EOI
OUT 20H,AL
POP AX
STI ;开中断
IRET
; 中断返回
38
DRIVE RIGHT──此信号驱动纸带前进一步,并读 一个字符。它是8255A给外设的启动信号。由PC5 位输出。
DATA READY──纸带读入器的状态信号。其为高电 平表示纸带读入器已将数据准备好。由PC3位读入。
31
设8255A的端口地址为: 端口A:00E0H 端口B:00E2H
端口C:00E4H 控制口:00E6H
例:把端口C的PC7位置“0”,其控制字为00001110B, 即十六进制的0EH
端口C的PC5位置“1”,其控制字为00001011, 即十六进制的0BH
设8255A控制口地址为0E6H,则可用下列程序实现:
MOV AL,0EH ;PC7清0,控制字送AL MOV DX,00E6H ;控制口地址送DX
解:8255A的方式选择控制字
1 0 0 0 0 0 1 1 83H
以下指令完成工作方式的选择: MOV AL,83H ;方式选择控制字送AL OUT 0E6H,AL;方式选择控制字输出给8255A控制端口
21
(2)端口C置位/复位控制字(D7=0)
00 00
此控制字必须写入8255A的控制口
22
(2)只有端口A能工作在方式2
端口A
方式0 方式1 方式2
端口B
方式0 方式1
(3)同一组的两端口可分别工作在输入和输出方式
20
例: 已知8255A芯片的四个端口地址是0E0H、0E2H、 0E4H和0E6H,要求工作方式如下:端口A—方式 0,输出;端口B—方式0,输入;端口C高四位— 输出;端口C低四位——输入
INC AL OUT 0E6H,AL ; 再使PC4=1,形成一个负3脉3 冲
3)纸带读入机驱动程序段
RDST:MOV AL,0AH ; 使PC5=0,启动纸带读入机 OUT 0E6H,AL
RDLP:IN AL,0E4H; 读入端口C的内容 AND AL,08H JZ RDLP ; 未准备好,则等待 IN AL,0E2H; 已准备好,则从端口B输入数据 MOV CL,AL ; 将输入数据保存到CL中 MOV AL,0BH OUT 0E6H,AL; 使PC5=1,断开纸带输入机
解:据题意 : 端口A:输出
端口B:输入
端口C上:输出 端口C下:输入
8255A方式控制字应该为:10000011B=83H
1) 8255A初始化程序段
MOV AL,83H OUT 0E6H,AL 方式控制字写入8255A控制口
MOV AL,09H OUT 0E6H,AL
PC4=1,打印机选通无效
MOV AL,0BH OUT 0E6H,AL PC5=1,断开纸带读入机
37
中断服务子程序如下:
PUSH AX
PUSH BX MOV BX,DATAPTR ;将DATAPTR处内容取到BX中
MOV AL,[BX] OUT 0D0H,AL ;从A口送出一字节数据
MOV AL,0 OUT 0D6H,AL ;使PC0=0,产生选通信号
INC AL OUT 0D6H,AL ;使PC0= 1,撤消选通信号
11
② 两组控制 A组控制电路 端口A PA7-PA0 端口C的高4位 PC7~PC4 B组控制电路 端口B PB7-PB0 端口C的低4位 PC3~PC0
12
(2)CPU接口部分 ① 读/写控制逻辑电路 功能:管理数据传输过程。
② 数据总线缓冲器(双向三态的8位数据缓冲器 )
功能:通过它与系统数据总线相连。
8
8.2.2可编程并行通信接口芯片8255A的应用 1. 8255A的内部结构
9
(1)外设接口部分: ① 3个8 位数据端口A、B、C
端口A:PA7-PA0
1个8位数据输入锁存器 1个8位数据输出锁存/缓冲器
端口B:PB7-PB0
1个8位数据输入缓冲器 1个8位数据输出锁存/缓冲器
端口C:PC7-PC0
35
设8255A的四个端口地址为: 端口A:0D0H 端口B:0D2H 端口C:0D4H 控制口:0D6H
端 口 A 工 作 于 方 式 1 , 且 为 输 出 , PC0 也 用 作 输 出 , 8255A的方式控制字为A0H(10100000)。
设中断服务子程序入口地址为3200:0100H。需要向 打印机输出的字符已经存放在输出数据缓冲区中,该 缓冲区的首地址存放在DS段DATAPTR中。
OUT DX,AL ;对PC7清0操作
MOV AL,0BH OUT DX,AL
;PC5置1控制字送AL ;对PC5置1操作
23
4. 8255A的工作方式 ⑴ 方式0——基本输入/输出方式 特点 : 1)端口A、端口B、端口C上、下均可作为输入或输
出口,且各端口均是独立的。 2)四个端口的输入或输出,可以有16种不同的组合。 3)各端口输入时无锁存,输出时锁存。 使用场合: 1)同步传送 (无条件传送方式) 2)查询式传送
24
⑵ 方式1——选通的输入/输出方式 必须利用端口C提供的选通信号和应答信号等
特点: 1)端口A和B要在端口C 的配合下工作。 2)端口C中有三位用于端口A的I/O控制,另有三位
用于端口B的I/0控制,并且提供中断逻辑。 3)若只有一个数据端口工作在方式1,则另一个数据
端口及端口C余下的五位可工作于方式0; 若两个数据端口都工作于方式1,那么端口C余下 的两位可作I/O位,也可进行置位/复位操作。
13
2.8255A的引脚及功能
14
⑴ 与外设相连的引脚 24个 PA7~PA0——端口A数据线 PB7~PB0——端口B数据线 PC7~PC0——端口C数据线
15
⑵ 与CPU相连的引脚 14个
1)RESET——复位信号
2)D7~D0——8255A的数据线
3)CS——片选信号
4)RD——读信号
5)WR——写信号
6)A1、A0——端口选择信号
A1 A0 00 01 10 11
端口A 端口B 端口C 控制端口
16
注意: 因为低8位和偶地址端口相连,所以在8086系统
中,将8255A的A1、A0引脚分别接向系统总线A2、 A1,并且CPU对8255A的端口进行访问时,应将其地 址最低位A0设置为0。
8255A CPU
5
8.2 并行通信和并行接口芯片
8.2.1 并行通信 1. 并行通信——就是把一个字符的全部n个数据位用
n条线同时进行传输。 特点:传输速度快
效率高 用电缆多 适用场合:数据传输率要求较高,而传输距离较短的 场合。
6
2. 并行接口 实现并行通信的接口 输入接口:负责输入信息 分为 输出接口:负责输出信息 双向通信接口:既负责输入信息,又 负责输出信息
34
⑵ 8255A工作于方式1应用举例 8255A工作于方式1,可以支持CPU以中断方式和外
设进行通信。下图是一个使用8255A的接口电路,其中字 符打印机以中断方式工作。
中断类型号为0BH, 0 BH×4=002CH, 中 断 向 量 在 0000:002CH开始的4个单元中。 假设8259A已完成初始化。
1个8位数据输入缓冲器 1个8位数据输出锁存/缓冲器
10
端口A:输入输出均锁存,数据不易丢失 端口B:输入不锁存,输出锁存 端口C:输入不锁存,输出锁存
通常使用方法: (1) 端口A、B作为独立的输入或者输出端口 (2) 端口C配合端口A、B 。通过方式控制命令分成2
个4位端口,传送控制和状态信息。
第8章 接口技术与常见接口芯片的应用
8.1 概述 8.2 并行通信和并行接口芯片 8.3 串行通信和串行接口芯片 8.4 计数器/定时器接口电路 8.5 模拟通道接口
习题
1
8.1 接口概述
输入/输出接口电路,是微处理器和外部设备交 换信息的通道,是微型计算机的重要组成部分
输入/输出接口电路,一方面要接收来自CPU的 地址信号、数据信号和控制信号,另一方面还要与 各种类型的外设相连接,以实现CPU与外设之间的 数据传送。
本 章 主 要 介 绍 : 8 2 5 5 A 并 行 I/O 接 口 芯 片 ; 8251A串行I/O接口芯片;8253计数器/定时器芯片; ADC0809和DAC0832等模/数、数/模转换芯片。
2
8.1.1 接口的功能 1.地址译码和I/O设备的选择 2.信息的输入与输出 3.信息的转换功能 4.联络和中断管理功能 5.可编程功能 6.错误检测功能
纸带读数入据器选的通状信号 态信号
8255A给外设的 启动信号
30
各控制信号的意义为:
DATA STROBE ──数据选通信号。打印机要有一个 宽度为0.5μs的脉冲,作为数据选通信号。由PC4位 输出。
BUSY── 当 其 有 效 时 为 高 电 平 , 此 时 表 示 打 印 机 “忙”,不能接收新的输出数据。这是打印机的状 态信号。由PC2位读入。
36
主程序中有关8255A初始化及设置中断矢量程序段如下: MAIN:MOV AL,0A0H
OUT 0D6H,AL ;设置8255A方式控制字 MOV AL,01H OUT 0D6H,AL ;置PC0=1,使选通无效 MOV AX,0 MOV ES,AX ;ES为0,指向中断向量表 MOV AX,0100H ;取中断服务子程序入口地址偏移量 MOV ES:[002CH],AX MOV AX,3200H ;取中断服务子程序入口地址段值 MOV ES:[002EH],AX MOV AL,0DH OUT 0D6H,AL ;置8255A的INTEA=1,允许端口A中断 STI ;8086CPU开放中断
32
2) 打印机驱动程序段 LPST:IN AL,0E4H ; 将端口C各位状态读入AL
AND AL,04H ; 通过PC2测试BUSY状态 JNZ LPST ; 结果不为0,说明忙信号为“1”,应等

MOV AL,CL OUT 0E0H,AL ; 如不忙,则把CL中字符通过端口A
输出
MOV AL,08H OUT 0E6H,AL ; 使PC4=0,即为低
3
传输错误:是由传输线路上的噪声干扰所致,可
两类错误
通过奇/偶校验进行检测;
覆盖错误:如果接口中已有一个外设送来的数
据,而CPU还没有来得及取走,此
时外设又向接口中送来一个新的数据
4
8.1.2 接口与系统的连接
一个接口可分成两部分: 第一部分用来与系统总线相连, 第二部分用来与I/O设备相连。
输入/ 输出 设备
相关文档
最新文档