■ Di位为1表示IRi中断止在服务中;为0表示没有被服务
■中断屏蔽寄存器IMR
■保存对屮断请求信号IR的屏蔽状态
■ Di位为1表示IRi中断被屏蔽(禁止);为0表示允许
初始化命令字1CW见P201
第一个周期
第二个周期
Ti T2 T3 T4
Tj T2 T3 T4
ALE n n ______________
LOCK | ____________
陆-
1 r Do ?D: ------------------ SP/EN
CAS0 ?CAS? ------------- <
IRo?IR; -----
「 L 」 CPU响应周期
1 1 8259A工作波形
1第一个前保持为高电平
INT ---------------------------------------- 1
mov al, llh ;写入 ICW1
out 20h,al jmp intrl
intrl: mov al, 08h ;写入 ICW2
out 21h, al jmp intr2
intr2: mov al, 04h ;写入 ICW3
out 21h,al jmp intr3
intr3: mov al, lh ;写入 ICW4
out 21h,al
mov al, llh ;写入 ICW1 OaOh, al
out intr5 al,70h ;写入 jmp ICW2 Oalh, al intr6
intr5: mov al,02h ;写入 ICW3
out Oalh, al jmp intr7
intr6: mov al, Olh ;写入 ICW4
out Oalh, al jmp
intr7: mov
out
第九章.8253:
减法计数器的值不断递减,而预置寄 存器中的预置不变。输出锁存器用于写入锁存命令吋,锁定当前计数值。
■ CLK时钟输入信号——在计数过程
中,此引脚上每输入一个时钟信号(下 降沿),计数器的计数值减1 ■ GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制
两种类型
■ OUT计数器输出信号——当一次计数过程结束(计数值减为0), OUT引脚
上将产生一个输岀信号 每种工作方式的过程类似:
⑴设定工作方式 (2)设定计数初值 ((3)硬件启动)
⑷计数初值进入减1计数器 (5)每输入一个时钟计数器减1的计数过程
计数过程结束
? T
一 _方斗0 CLK GATE OUT
: ~~~~:
WR
4
? T
方 _ 4 LJ~LJ
④
(1)?设定工作方式(2)设定计数初值(4)计数值送入计数器(5)计数过程
计数器 读写格式
(6)计数结束
方式2 4
工作方式 数制
丽
方式3 4
WR-
LTTr
! i 1 田3国”0! | | 432, OVI 1 ... ..... 1 编程(详见P221):
TrLnTLnnnru |!|!°| | !艸叩3cLKfinnjinw
? ? GATE
■
o\?……i~~rt
nrum2? w ih= !
9 9 9 9
? ? ? ? ? ? ? ?
IW. lilt
TTT 3\\2i Ij 2\\ ij 0 ■ ■ ■
< f < ■ ■ ? ■ ? ?
? ? ? ? im
? ? HU ? ? sH! o!
D7 D6 D5 D4
\\ \\ \\
D3 D2 DI DO
00计数器0 01计数器1 10计数器2 11非法
00计数器锁存命令 01只读写低字节 10只读写高字节 11先低后高
000方式0 001方式1
0二进制 1十进制
xlO方式2 xll方式3 100方式4 101方式5
定时屮断:mov al,36h
;计数器0为方式3,采用二进制计数,
;先低后高写入计数值 out 43h, al ;写入方式控制字 mov al, 0 ;计数值为0 out 40h, al ;写入低字节计数值 out 40h, al ;写入高字节计数值
定时刷新:mov al, 54h
;计数器1为方式2,采用二进制计数,只写低8位计数值
out 43h, al ;写入方式控制字 mov al, 18 ;计数初值为18 out 41h, al ;写入计数值
注意:编程例子见书P223起
第H—章。8255A: 并行数据传输方式
■以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个 字
长的数据
■适合丁?外部设备与微机Z间进行近距离、大量和快速的信息交换
PA0—PA7
PC4-PC7
PB° ?PB,
s B组
端口 C 下部
PC。?PC3
外设数据端口:
■端口 A: PAO?PA7
A组,支持工作方式0、1、2
■端口 B: PBO?PB7 B组,支持工作方式0、1 ■端口 C: PCO?PC7
仅支持工作方式0 A组控制高4位PC4?PC7 B组控制低4位PCO?PC3 ■端口 A: PAO?PA7 常作数据端口,功能最强大
■端口 B: PBO?PB7 常作数据端口
■端口 C: PCO?PC7可作数据、状态和控制端口 分两个4位,每位可独 立操
作控制最灵活,最难掌握
2. 与处理器接口
DO ~ D7数据线AO ~ A1地址线 CS*片RD*读信号WR*写信号 选信号 RESET复位信号 工作方式: 方式0输入时序
方式0输出时序 RD ----------------- ------------------------------ 蔽
■ STB*——选通信号,低电平有效。由外设提供的输入信号,当其有效时,
将输入设备送來的数据锁存至8255A的输入锁存器
■ 1BF——输入缓冲器满信号,高电平冇效。8255A输出的联络信号。当其 有
效时,表示数据已锁存在输入锁存器
■ INTR——屮断请求信号,高电平有效。8255A输出的信号,可用于向CPU
提出中断请求,要求CPU读取外设数据
方式1输出时序 方式1输入时序
WR OBF
INTR ]/
ACK
输入端口 ——
Do?6 ----------------------- dal” 二> I I ~ data 二>\ 输出端口 X dag DO~D7 方式1输出联络信号 OBF*——输岀缓冲器满信号,低冇效。8255A输岀给外设的一个控制信号,当其 有效时,表示CPU己把数据输出给指定的端口,外设可以取走 ACK*——响应信号,低有效。外设的响应信号,指示8255A的端口数据已曲外设 接 受 1NTR——中断请求信号,高有效。当输岀设备已接受数据后,8255A输岀此信号 向CPU提出中断请求,要求CPU继续提供数据. 8255A的编程见P250 写入方式控制字:示例 耍求:A端口:方式1输入。C端口上半部:输出,C 口下半部:输入B端口: 方式0输岀 方式控制字:10110001B或B1H 初始化的程序段: mov dx, Offfeh ;假设控制端口为 FFFEH mov al, Oblh ;方式控制字 out dx, al ;送到控制端口 2. 读写数据端口 初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得 到外设数据。当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送 给输出设备 8255A具冇锁存输岀数据的能力 对输出方式的端口同样可以输入。不是读取外设数据。读取的是上次CPU给外设 的数据 2. 读写数据端口: 示例利用8255A的输出锁存能力,可实现按位输出控制 对输岀端口 B的PB7位置位的程序段: mov dx, Offfah ;B 端口假设为 FFFAH in al,dx ;读出B端口原输出内容 or al,80h ;使 PB7 = 1 out dx, al ;输出新的内容 3. 读写端口 C:归纳1 C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输 出