最新南邮微机原理课件第11章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STBA 口之后,A口即工作在选通型 IBFA 输入,此时:
PC3 PC7~6
PA7~PA0即为输入线 INTRA PC4自动定义为入线,称为STBA 空闲 PC5自动定义为出线,称为IBFA
PC3自动定义为出线,称为INTRA
它们是输出线?输入线?不再受方式字D3、D0控制
PC7、PC6空闲,输出线?输入线?受方式字D3控制
一、 方式0与时序
tRR RD
tIR
tHR
输入
端口数据有效
tAR
tRA
CS,A1,A0
D7~D0 方式0 输入时序
数据有效
tRD
tDF
WR
D7~D0(CPU输出数据) tAW
CS,A1,A0 输出(端口输出)
方式0 输出时序
tWW tDW tWD
数据有效 tWA
数据有效 tWB
二、 方式1输入(选通型输入)及时序
A口选通型输入
2. A口方式1输入时,A口的中
PA7~0
INTEA
PC4 PC5
STBA IBFA
断管理 INTEA为A口的中断允许
触发器,当A口定义为方 式1输入时:
用C口置0/置1命令字使PC4=1,
PC3 INTRA 则INTEA=1,允许A口中断 PC7~6 空闲 用C口置0/置1命令字使PC4=0,
INTEB PC2 PC1
PC0
3. B口方式1输入的预置
STBB IBFB
INTRB
当方式字=86H写入控制 口之后,B口即工作在选通 型输入, 此时:
PB7~PB0即为输入线 PC2自动定义为入线,称为STBB PC1自动定义为出线,称为IBFB PC0自动定义为出线,称为INTRB
出 两类信号
设
备
数据线PB7~PB0
联络线OBFB、ACKB
OBF(Output Buffer Full) 输 出 缓 冲 器 满 状态线
ACK(Acknowledge)确认应答
8255B口 PB7~0 OBFB ACKB
CPU对B口执行OUT指令,把一
个数→8255
输 出 设
OBFB=
,通
知外设输出缓冲器已满
方式选择命令字
A口选通型输入
1 0 1 1 1/0 X X X
PA7~0
A口 1=PC7、6为入线 方式1 0=PC7、6为出线
输入
INTEA PC4 PC5
STBA IBFA
PC3 PC7~6
INTRA 空闲
A口选通型输入 PA7~0
INTEA PC4 PC5
1. A口方式1输入的预置 当方式字 =B0H写入控制
B组
C口PC3~PC0 1=输入 0=输出
B口 1=输入 0=输出
方式选择 0=方式0 1=方式1
注意:
A口工作在方式1、方式2,B口工作在方 式1时,D3、D0只能定义部分PC线的入/出
A口工作在方式2时,D4不起作用 C口上、下半部可以选择不同的入/出 (都是方式0)
C口按位置0/1命令字
D3D2D1 000 001 010 011 100 101 110 111
什么是基本型输出(以A口为例)
D7 CPU
DQ CP
PA7 当 A 口 定 义 为 基 本 型 输出时,它为一个输 出锁存器
D0
DQ
PA0 CPU 对 A 口 执 行 一 条
CP
OUT 指 令 把 数 据 锁 存
在端口
对A口执行一条OUT指令锁存数据 总之:基本型输入/出时,8255和外设之间没有联
络信号
11.3 8255控制字与初始化编程
1. 8255控制字
8255有2个控制字,方式选择控制字,C 口按位置0/置1命令字,控制字必须写入控 制口才能有效
方式选择控制字
1 D6 D5 D4 D3 D2 D1 D0
A组
C口PC7~PC4 1=输入 0=输出
A口 1=输入 0=输出
方式选择 00=方式0 01=方式1 1X=方式2
例:要求置A口为方式0输出,B口为方式0输 入,PC7~4为输出,PC3~0为输入
解:方式选择命令字
1 0 0 0 0 0 1 1 MOV AL,83H
PC ~ PC ~
A A B B OUT 控口地址,AL
口 方 式
0
口7
输
出
4 为
输
口 方 式
0
口
输 入
3 0 为 输
出
入
11.4 8255工作方式及时序
位选择 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
0 X X X D3 D2 D1 D0
D0 功能 1 PCX置1 0 PCX置0
注意:C口按位置0/1命令字 必须写入控制口
2. 8255初始化编程步骤
方式选择命令字→控制口,目的选择 某一口的工作方式 根据需要:把C口置0/置1命令字→控制 口,目的是禁止/允许某一口提中断
PA7~0
输
通信号。
IBFA STBA
入 设 备
当 STB=
时完成
数据锁存。
端口收到数据后,再
通知CPU来取
IBF=1,通知外设输入缓冲器已满,请不
要再送数据
只有在IBF=0时,外设才能写入数据
什么是选通型输出(以B口为例)
8255B口 PB7~0 OBFB ACKB
当端口定义为选通型输出
输 时,端口与外设之间也有
南邮微机原理课件第11 章
结构框图
CPU 8 DB
数据 总线 缓冲器
A组 控制
内部总线
RD
WR A1 A0 RESET
读/写 控制
B组 控制
Leabharlann Baidu
CS
A组 A口
A组C口 上半部
B组 B口
B组C口 下半部
PA7~PA0 PC7~PC4 PB7~PB0 PC3~PC0
什么是选通型输入?(以A口为例)
8255A口 PA7~0
IBFA STBA
A口定义为选通型输入时,
输 入
端口和外设之间有两类信 号线
设
备
数据线PA7~PA0
联络线IBFA、STBA
IBF(Input Buffer Full)输入缓冲器满 状态线
STB(Strobe)选通信号输入
8255A口
当外设把数据放在端口 线上时必须伴随一个选
则INTEA=0,禁止A口中断 当INTEA=1之后,若IBFA=1,则A口提出中断请求
注意:中断允许触发器只能受CPU控制,外设信
号STBA不能使其置0/1
方式选择命令字 1XXXX11X
B口方式1输入
B口选通型输入 PB7~0
INTEB PC2 PC1
PC0
STBB IBFB
INTRB
B口选通型输入 PB7~0
备 (即数据线上信息可用了)
外设取走数据之后,使
ACKB=
, 通 知 CPU
端口数据已取走,可再送
一个数
什么是基本型输入(以B口为例)
D7 至CPU
D0
PB7
当B口定义为基本型 输入时,它相当于一
个输入缓冲器,对B口
PB0 执 行 一 条 IN 指 令 , 就
把输入数据→CPU
对B口执行一条IN指令打开控制门
PC3 PC7~6
PA7~PA0即为输入线 INTRA PC4自动定义为入线,称为STBA 空闲 PC5自动定义为出线,称为IBFA
PC3自动定义为出线,称为INTRA
它们是输出线?输入线?不再受方式字D3、D0控制
PC7、PC6空闲,输出线?输入线?受方式字D3控制
一、 方式0与时序
tRR RD
tIR
tHR
输入
端口数据有效
tAR
tRA
CS,A1,A0
D7~D0 方式0 输入时序
数据有效
tRD
tDF
WR
D7~D0(CPU输出数据) tAW
CS,A1,A0 输出(端口输出)
方式0 输出时序
tWW tDW tWD
数据有效 tWA
数据有效 tWB
二、 方式1输入(选通型输入)及时序
A口选通型输入
2. A口方式1输入时,A口的中
PA7~0
INTEA
PC4 PC5
STBA IBFA
断管理 INTEA为A口的中断允许
触发器,当A口定义为方 式1输入时:
用C口置0/置1命令字使PC4=1,
PC3 INTRA 则INTEA=1,允许A口中断 PC7~6 空闲 用C口置0/置1命令字使PC4=0,
INTEB PC2 PC1
PC0
3. B口方式1输入的预置
STBB IBFB
INTRB
当方式字=86H写入控制 口之后,B口即工作在选通 型输入, 此时:
PB7~PB0即为输入线 PC2自动定义为入线,称为STBB PC1自动定义为出线,称为IBFB PC0自动定义为出线,称为INTRB
出 两类信号
设
备
数据线PB7~PB0
联络线OBFB、ACKB
OBF(Output Buffer Full) 输 出 缓 冲 器 满 状态线
ACK(Acknowledge)确认应答
8255B口 PB7~0 OBFB ACKB
CPU对B口执行OUT指令,把一
个数→8255
输 出 设
OBFB=
,通
知外设输出缓冲器已满
方式选择命令字
A口选通型输入
1 0 1 1 1/0 X X X
PA7~0
A口 1=PC7、6为入线 方式1 0=PC7、6为出线
输入
INTEA PC4 PC5
STBA IBFA
PC3 PC7~6
INTRA 空闲
A口选通型输入 PA7~0
INTEA PC4 PC5
1. A口方式1输入的预置 当方式字 =B0H写入控制
B组
C口PC3~PC0 1=输入 0=输出
B口 1=输入 0=输出
方式选择 0=方式0 1=方式1
注意:
A口工作在方式1、方式2,B口工作在方 式1时,D3、D0只能定义部分PC线的入/出
A口工作在方式2时,D4不起作用 C口上、下半部可以选择不同的入/出 (都是方式0)
C口按位置0/1命令字
D3D2D1 000 001 010 011 100 101 110 111
什么是基本型输出(以A口为例)
D7 CPU
DQ CP
PA7 当 A 口 定 义 为 基 本 型 输出时,它为一个输 出锁存器
D0
DQ
PA0 CPU 对 A 口 执 行 一 条
CP
OUT 指 令 把 数 据 锁 存
在端口
对A口执行一条OUT指令锁存数据 总之:基本型输入/出时,8255和外设之间没有联
络信号
11.3 8255控制字与初始化编程
1. 8255控制字
8255有2个控制字,方式选择控制字,C 口按位置0/置1命令字,控制字必须写入控 制口才能有效
方式选择控制字
1 D6 D5 D4 D3 D2 D1 D0
A组
C口PC7~PC4 1=输入 0=输出
A口 1=输入 0=输出
方式选择 00=方式0 01=方式1 1X=方式2
例:要求置A口为方式0输出,B口为方式0输 入,PC7~4为输出,PC3~0为输入
解:方式选择命令字
1 0 0 0 0 0 1 1 MOV AL,83H
PC ~ PC ~
A A B B OUT 控口地址,AL
口 方 式
0
口7
输
出
4 为
输
口 方 式
0
口
输 入
3 0 为 输
出
入
11.4 8255工作方式及时序
位选择 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
0 X X X D3 D2 D1 D0
D0 功能 1 PCX置1 0 PCX置0
注意:C口按位置0/1命令字 必须写入控制口
2. 8255初始化编程步骤
方式选择命令字→控制口,目的选择 某一口的工作方式 根据需要:把C口置0/置1命令字→控制 口,目的是禁止/允许某一口提中断
PA7~0
输
通信号。
IBFA STBA
入 设 备
当 STB=
时完成
数据锁存。
端口收到数据后,再
通知CPU来取
IBF=1,通知外设输入缓冲器已满,请不
要再送数据
只有在IBF=0时,外设才能写入数据
什么是选通型输出(以B口为例)
8255B口 PB7~0 OBFB ACKB
当端口定义为选通型输出
输 时,端口与外设之间也有
南邮微机原理课件第11 章
结构框图
CPU 8 DB
数据 总线 缓冲器
A组 控制
内部总线
RD
WR A1 A0 RESET
读/写 控制
B组 控制
Leabharlann Baidu
CS
A组 A口
A组C口 上半部
B组 B口
B组C口 下半部
PA7~PA0 PC7~PC4 PB7~PB0 PC3~PC0
什么是选通型输入?(以A口为例)
8255A口 PA7~0
IBFA STBA
A口定义为选通型输入时,
输 入
端口和外设之间有两类信 号线
设
备
数据线PA7~PA0
联络线IBFA、STBA
IBF(Input Buffer Full)输入缓冲器满 状态线
STB(Strobe)选通信号输入
8255A口
当外设把数据放在端口 线上时必须伴随一个选
则INTEA=0,禁止A口中断 当INTEA=1之后,若IBFA=1,则A口提出中断请求
注意:中断允许触发器只能受CPU控制,外设信
号STBA不能使其置0/1
方式选择命令字 1XXXX11X
B口方式1输入
B口选通型输入 PB7~0
INTEB PC2 PC1
PC0
STBB IBFB
INTRB
B口选通型输入 PB7~0
备 (即数据线上信息可用了)
外设取走数据之后,使
ACKB=
, 通 知 CPU
端口数据已取走,可再送
一个数
什么是基本型输入(以B口为例)
D7 至CPU
D0
PB7
当B口定义为基本型 输入时,它相当于一
个输入缓冲器,对B口
PB0 执 行 一 条 IN 指 令 , 就
把输入数据→CPU
对B口执行一条IN指令打开控制门