微机系统与接口--第5章-2.ppt

Similar documents
<4D F736F F F696E74202D20B5DA35D5C2CEA2B4A6C0EDC6F7B9A4D7F7D4ADC0ED2E707074>

第六章 微型计算机的输入输出

PowerPoint Presentation

untitled

幻灯片 1

Microsoft PowerPoint - Ch CPU总线及其形成.ppt [兼容模式]

中文手册

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

Ps22Pdf

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

DPJJX1.DOC

一、单选题(本大题共15小题,每小题1分,共15分)

微机原理与接口技术 郭玉洁

Microsoft Word - 实验4_IO控制_INT.doc

1 CPU

Microsoft PowerPoint - C15_LECTURE_NOTE_11

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

第七章 中断

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示

主要内容 微型机的构成 ( 回顾 ) 总线 接口 8086 CPU 的结构及工作原理 8086 存储器 8086 系统配置 2015 年 3 月 9 日星期一 3 时 38 分 16 秒 2

(2) Function 0BH: Function 0CH: (pixel, picture element) Function 0DH: Function 0FH: Function 13H:

《微机接口技术》总复习题.doc

本章内容 I/O 系统的工作原理 I/O 系统的构成 数据传输方式 : 通信协议 编址方式 数据传送方式 传输同步方式 数据传输控制方式 : 程序查询 中断 DMA... I/O 设备的工作原理 键盘 显示器 打印机等 2


试卷代号 : 1061 座位号 I I I 中央广播电视大学 学年度第二学期 " 开放本科 " 期末考试 微计算机技术试题 题号 I - I 二 三 四 总 分 分数 I I I I I I 2011 年 7 月 得分 评卷人 一 选择填空 ( 每题 4 分, 共 6

Microsoft Word - BL5372_UMAN_V1.1.doc

2

組譯與連結(Ver6

习 题 一

2011国家司法考试试题(试卷一)

PCM-3386用户手册.doc

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2

TouchWin Human Machine Interface


Microsoft Word - 04.doc

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt

一 汇编语言计算机基础 从事计算机科学方面的工作, 汇编语言是我们必不可少缺的基础 我们的工作平台 研究对象都是机器, 而汇编语言是人和计算机沟通的最直接方式, 它描述了机器最终所要执行的指令序列 学习汇编语言可以让你充分获得底层编程的体验, 深刻理解机器运行程序的机理 二 基础知识 1. 汇编语言

Microsoft PowerPoint - C15_LECTURE_NOTE_08.ppt

第五章 独立审计存在的问题

本章主要内容 : A 的组成与工作原理 A 的时序 A 的编程和应用举例 2

微机第02章1(指令寻址)

untitled

Microsoft PowerPoint - C15_LECTURE_NOTE_08.ppt

Microsoft Word - 封面.doc

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

<4D F736F F D C4EAB9FABCD2B9ABCEF1D4B1D0D0D5FEC4DCC1A6B2E2D1E9A3A841C0E0A3A92E646F63>

2006年国家公务员招录考试行测真题(A)

E170C2.PDF

一、填空题

Tel:

第5章:汇编语言程序设计

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) ()

标题

4 / ( / / 5 / / ( / 6 ( / / / 3 ( 4 ( ( 2

12232A LED LED LED EL EL CCFL EL CCF

A. 城 市 化 是 我 国 发 展 的 必 由 之 路 B. 单 纯 发 展 大 城 市 不 利 于 城 市 化 的 推 进 C: 要 实 现 城 市 化, 就 必 须 让 城 市 充 分 吸 纳 农 村 人 口 D: 大 城 市 对 外 地 农 村 人 口 的 吸 引 力 明 显 低 于 中 小

Microsoft PowerPoint - os_4.ppt

untitled

微型计算机原理及应用试题 机电96

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

(Microsoft Word - \246D\252k\267\247\255n_\275\306\277\357_.docx)

SED-P3SEV

Microsoft Word - 第1章 MCS-51单片机基础.docx

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

!"#!$ %!$"" %%$&&''!(!)!*+,,!%*& -./ *##)' * %$" ',!*+/!*+ / - 0,1 #$*#2 #$*#2'' *($#3 *($#3'' -. 45,67!&$#6)*$ , ' 189

! "! "! # $ # # %#!# $# &# # ()*+, )-.) /# () () 0# 1,2.34, 4*.5)-*36-13)7,) ,9,.).6.(+ :# 13).+;*7 )-,7,<*7,-*=,>,7?#

欧洲标准胀紧套

li 侉 2. 在 下 列 加 点 字 的 正 确 读 音 旁 打 : (1) 我 看 见 路 边 有 一 条 蛇 A.sh 佴 B.sh 佶 C.sh 侑 D.sh 侉 (2) 外 面 的 泥 土 冻 得 很 硬 A.y 侏 n 倮 B.y 侃 n 倮 C.y 佾 n 倮 D.y 佻 n 倮 (3

NORCO-740 CPU M/00M NORCO-740 NORCO-740E NORCO-740G NORCO-740GE Intel 845GL Intel 845G

Andes Technology PPT Temp

2005.book


Ps22Pdf

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令

untitled

1 2 9

1. ( )( ) A. B. C. D. 2. ( )( ) A. : B. : C. : D. : 3. ( )( ) A. : B. : C. : D. : 1 D : 2

例 如, 一 个 含 有 2000 个 记 录 的 文 件, 每 个 磁 盘 块 可 容 纳 250 个 记 录, 则 该 文 件 包 含 8 个 磁 盘 块 然 后 对 该 文 件 作 二 路 归 并 的 外 排 序, 每 次 往 内 存 读 入 两 个 磁 盘 块, 排 序 后 再 写 回 磁

02所有分支机构的营业场所和电话.xls

标题

僑生(含港澳生)及外籍生參加全民健康保險實施要點

Microsoft Word - NHIS2013_C_130716_送印_.doc

7688使用手冊V10.doc

<4D F736F F D20A4A4A6A1C4D1ADB9A55BA475A4FEAFC5A7DEB34EA468A7DEAFE0C0CBA977B34EACECB4FAB8D5B0D1A6D2B8EAAEC62DB2C4A447B3A1A4C E646F63>

四位微控制器ML64168_ _.doc

民 國 105 年 大 專 程 度 義 務 役 預 備 軍 官 預 備 士 官 考 選 簡 章 目 錄 壹 考 選 依 據 1 貳 考 ( 甄 ) 選 對 象 1 參 資 格 規 定 1 肆 員 額 及 專 長 類 別 2 伍 報 名 及 選 填 志 願 日 期 方 式 3 陸 選 填 官 科 (

因 味 V 取 性 又 鸟 U 且 最 大 罗 海 惜 梅 理 春 并 贵 K a t h l ee n S c h w e r d t n er M f l e z S e b a s t i a n C A Fe rs e T 民 伊 ' 国 漳 尤 地 视 峰 州 至 周 期 甚 主 第 应

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>

单片机原理及应用实验指导书.doc

第七章 中断

<4D F736F F D20C1E3B5E3CFC2D4D8C4A3B0E52E646F63>

第二章 8086体系结构与80X86CPU

SIK) 者, 需 實 施 1 年 以 上, 經 體 格 檢 查 無 後 遺 症 者 5. 身 體 任 何 部 分 有 刺 青 紋 身 穿 耳 洞 者, 不 得 報 考, 各 項 檢 查 結 果 須 符 合 體 位 區 分 標 準 常 備 役 體 位 二 在 校 軍 訓 成 績 總 平 均 70 分

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

. v dx v d () () l s dl s d (_) d () v s v s () a dv a d (_) ( ) ( ) x- = v- = = v 0 = m/s a = = m/s 2 a- = ( ) x- v- a- Page 2 of 20

Application description

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

Transcription:

第五章 数字量输入输出接口 主 要 内 容 * 接口基本概念 * 接口电路 ( 芯片 ) 端口地址 * 数据传送方式 * 总线及其接口 * 中断电路及其处理 * 定时 / 计数器电路与应用 * 并行接口电路与应用 * 串行接口电路与应用 * DMA 电路与应用 1

总线基本概念 CPU 总线 地址总线 AB CPU 存储器 数字 I/O 接口 输入出设备 模拟 I/O 接口 输入出设备 数据总线 DB 控制总线 CB 2

总线基本概念 ( 续 ) 总线 (BUS) 一组性质相似的各部件共用的信息线的集合 分为 : 地址总线 (AB) 单向数据总线 (DB ) 双向控制总线 (CB) 每根线单向 3

总线基本概念 ( 续 ) 地址总线 AB CPU 存储器 数字 I/O 接口 输入出设备 模拟 I/O 接口 输入出设备 数据总线 DB 双向数据总线带来的问题 : 控制总线 CB 多个输出挂在同一总线上, 而正常情况下 BUS 如何控制只能接通一组信息? ( 数据 ) 三态缓冲器 4

总线分类 CPU 片内总线 CPU 内部, 各部件之间的连接总线 CPU 总线 计算机内部, CPU 与各芯片的连接总线 系统总线 ( PC 总线 ) 计算机内部, 插卡与插卡间的连接总线使计算机成为开放体系, 实现技术的兼容与共享 ; 设备级总线 计算机与外部设备之间的连接总线, 进一步使计算机真正成为开放体系 5

(8086 CPU) 片内总线 CPU 总线 寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP 地址加法器 数据暂存器 地址总线 AB 数据总线 DB 存储器 指令 1 地指令 2 指令 3 址指令 4 运算器 PSW 标志寄存器 指令队列 指令译码器 总线接口控制电路 执行部件控制电路 控制总线 CB 译码器 数据 1 数据 2 9Ah 6

8088( 最大模式 ) 结构下的 PC 总线 - 系统总线 +5V A15~A8 S6~S3/A19~A16 AD7~AD0 CLK RESET READY MN/MX VCC RD QS0 QS1 LOCK TEST HIGH NMI GND GND 8088 CPU S0 S1 S2 INTR RQ/GT0 RQ/GT1 DT/R DEN ALE 地址锁存器 8282( 两片 ) STB 数据收发器 OE 8286 T MRDC 8288 MWTC 总 线 IORC 控 制 器 IOWC 8259A 及有关电路 INTA 地址总线 数据总线 控制总线 PC 总 线 内存 I/O 接口 7

总线分类 CPU 片内总线 CPU 内部, 各部件之间的连接总线 CPU 总线 计算机内部, CPU 与各芯片的连接总线 系统总线 ( PC 总线 ) 计算机内部, 插卡与插卡间的连接总线使计算机成为开放体系, 实现技术的兼容与共享 ; 设备级总线 计算机与外部设备之间的连接总线, 进一步使计算机真正成为开放体系 8

系统总线 基本特性 同样分为 : 地址总线 (AB) 单向数据总线 (DB ) 双向控制总线 (CB) 每根线单向 总线信号 ( 定义说明 ) P279 总线周期 : 系统周期性操作 AB/DB/CB 时序配合 (BUS Cycle time) ( 指令 : 取指令 译码 执行操作 == 指令周期 ) CPU 控制 : MEM 读 / 写 ;I/O 读写 (Tw) DMAC: MEM-MEM; MEM-I/O 机电特性 ( 机械尺寸 电平 时序等 ) 9

系统 (PC) 总线标准 PC/XT 总线 62 线 (8 位数据总线 ) GND RESET +5V IRQ2-5V DRQ2-12V +12V GND MEMW MEMR IOW IOR DACK3 DRQ3 DACK1 DRQ1 DACK0 CLOCK IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 DACK2 T/C ALE +5V OSC GND I/O CH CK D7 D6 D5 D4 D3 D2 D1 D0 I/O CH RDY AEN A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 10

系统总线 (PC 总线 ) 标准 ( 续 ) PC/AT ISA 总线 (Industry Standard Architecture) 62 线与 PC/XT 总线兼容 ;+36 线扩展部分, ( 8 位 /16 位数据总线 ) EISA 总线 (Extended Industry Standard Architecture) 98 线与 PC/AT ISA 总线兼容 ; 插座加深, 二层插芯,+100 线插芯 EISA 专用信号, ( 32 位地址总线, 寻址 4G,16MB/s) PC /104 总线与 PC 总线兼容, 主要是小板结构, 适用于工业控制 11

系统总线 (PC 总线 ) 标准 ( 续 ) PCI 总线 (Peripheral Component Interconnect) 47 脚单 /49 主控 +51 脚可选, ( 32 位 /64 位数据总线, 数据 地址线复用, 速率 :32 位时 132MB/s, 62 位时 267MB/s ) 即插即用 (Plug & Play) 功能 12

PCI 总线及 ISA 总线 13

TPC2003A 实验装置 14

TPC2003A 实验装置 PCI 总线延伸卡 15

TPC2003A 实验装置 接口实验箱 16

第五章 数字量输入输出接口 主 要 内 容 * 接口基本概念 * 接口电路 ( 芯片 ) 端口地址 * 数据传送方式 * 总线及其接口 * 中断电路及其处理 * 定时 / 计数器电路与应用 * 并行接口电路与应用 * 串行接口电路与应用 * DMA 电路与应用 17

CPU( 总线 ) 与外设间的数据传送方式 四种传送方式一 无条件传送方式二 条件传送方式 ( 查询方式 ) 三 中断传送方式四 DMA 传送方式 ( Direct Memory Access ) 18

PC 总线 D7 ~ D0 A15 ~ A0 IOR 无条件传送方式接口电路 ( 输入 ) AB DB 地址译码 284H 0 0 三态缓冲器 与 非 开关状态 该电路在 CPU 执行指令 MOV DX, 284H IN AL, DX 将输入设备的数据 ( 开关状态 ) 读入 CPU 内 AL 中 0 19

PC 总线 D7 ~ D0 A15 ~ A0 IOW 无条件传送方式接口电路 ( 输出 ) 地址线 数据线 地址译码 288H 锁存器 该电路在 CPU 执行指令 MOV AL, 81H MOV DX, 288H OUT DX, AL CPU 内 AL 中的数据 81H 送至输出设备 0 0 74LS273 与 非 0 输出设备 20

无条件传送方式 ( 同步传送方式 ) 特点 1. CPU 不查询外设工作状态, 适用于外设动作时间已知 前提 :CPU 与外设进行数据传送时, 外设保证已准备好 2. 软硬件十分简单 21

条件传送方式 ( 查询传送方式 ) 特点 : 1. CPU 通过不断查询外设状态, 实现与外设的速度匹配 2. CPU 的工作效率低 实现流程 从状态端口读入状态信息 外设准备好否? Y N 从数据端口传送一个数据 22

PC 总线 查询方式输入例 外设 地址线 数据线 控制线 地址译码 数据缓冲 控制电路 28CH 端口状态端口 288H 端口数据端口 输入设备 设 : 外设的状态端口为 28C H, 其中 D7=1 时, 表示外设数据准备好外设的数据端口为 288 H 23

PC 总线 A15 ~ A0 D7 ~ D0 IOR MOV DX, 288H IN AL, DX 地址线 数据线 数据端口地址译码 状态端口地址译码 MOV DX, 28CH IN AL, DX 查询方式输入接口电路 IOR 288H D7 28CH 状态端口 D7=1 表示外设准备好 & READY & 三态缓冲器 三态缓冲器 Q R 锁存器 D +5v D0 : D7 STB BUSY GND 输入装置 24

条件传送方式 ( 查询传送方式 ) 严重缺点 : CPU 不断查询外设状态, 工作效率低 无条件传送方式 ( 同步传送方式 ) 严重缺点 CPU 与外设必须同步, 否则出错! 25

CPU( 总线 ) 与外设间的数据传送方式 四种传送方式一 无条件传送方式二 条件传送方式 ( 查询方式 ) 三 中断传送方式四 DMA 传送方式 ( Direct Memory Access ) 26

中断方式下 CPU 执行程序流程 外 设 发申请 中断服务程序 1 发申请 中断服务程序 2 中断概念 : CPU 与外设交换信息的一种方式 == 硬件手段, 改变 CPU 执行程序的顺序 ( 程序流 ) 27

中断传送方式 具体过程 1. 当外设准备好, 向 CPU 发出中断请求 2. CPU 在满足响应中断条件下, 发出中断响应信号 ; 3. CPU 暂停当前的程序, 转去执行中断服务程序, 完成与外设的数据传送 ; 4. CPU 从中断服务程序返回, 继续执行被中断的程序 28

中断传送方式的特点 1. CPU 和外设大部分时间处在并行工作状态, 只在 CPU 响应外设的中断申请后, 进入 I/O 数据传送的过程 2. 中断传送方式极大地提高了 CPU 的效率 29

中断实现与控制 中断源 中断请求 中断响应 中断服务 外 中断服务程序 1 设 中断恢复 中断服务程序 2 中断控制中断实现 : 中断向量中断源 --- --- 中断请求优先级 --- --- 中断屏蔽中断响应 --- --- 中断嵌套中断服务 --- 中断恢复 30

8088 中断结构 软件中断 指令执行结果 除零, 单步, 溢出 软件中断调用 (INT xxh) 硬件中断 非指令执行 非屏蔽中断 NMI(Non-MaskableInterrupt) 可屏蔽中断 INTR(IF=1) NMI 2 中断逻辑 n 4 0 1 中断控制 INTR 内部中断外部中断 IRQ0 IRQ7 INT n INTO 除法错单步 8259 中断请求触发信号 31

CPU 完整的中断响应和处理流程 ( 忽略单步中断处理 ) 详参考书 P296 当前指令结束? 软中断? NMI? INTR? Y Y Y Y 取类型码 IF=1? Y Y PSW 入栈 清 IF TF CS IP 入栈 调中断处理程序 ( 进入 ) 又有 NMI? N TF=1? 执行下一条指令 Y 硬件监测处理 执行中断子程序 IP CS PSW 出栈返回主程 32

中断指令 Interrupt INT n ; 软中断, n 为中断类型号 形成中断向量 (SP) (SP)-2,((SP)+1,(SP)) (FLAGS); (IF) 0 (TF) 0 (SP) (SP)-2,((SP)+1,(SP)) (CS); (CS) [0:n*4+2] (SP) (SP)-2,((SP)+1,(SP)) (IP); (IP) [0:n*4] IRET(Interrupt Return) ; 中断服务程序中最后一语句 (IP) ((SP)+1,(SP)), (SP) (SP)+2 (CS) ((SP)+1,(SP)), (SP) (SP)+2 (FALGS) ((SP)+1,(SP)) (IP), (SP) (SP)+2 33

0000:0~3FF 86 系列 PC: 最多 4 个活动段 SS:SP 栈底 DS ES CS:IP 中断向量 ( 区 ) 堆栈段 4 种中断 :NMI, INTR, 内部中断 软中断 中断类型号 n :0 ~ 255 中断向量表 4*n : 0-3FFH 0:4*n 存中断向量 CS:IP 中断向量区 数据段 代码段 FFFF:0 系统起始运行程序 34

8086/8088 中断过程 保护断点 (F 入栈 ;IF=0 TF=0; CS IP 入栈 ; 中断服务 ( 中断类型号 : n ) (0:4*n 取向量 CS:IP); 返回断点 (IRET: 依次弹出 IP CS F) 问题 : 中断源如何识别? 多中断源如何协调? 中断控制逻辑 专用 IC i8259 35

Top View 28PDIP +5V i8259a 可编程中断控制器 PIC Function Diagram 36

接口电路的典型结构 PC 总线 外设 AB DB CB 地址译码 数据缓冲 控制电路 I/O 端口 1 ( 状态端口 ) I/O 端口 2 ( 数据端口 ) I/O 端口 3 ( 控制端口 ) 输入出设备 37

i8259a 可编程中断控制器 PIC MPU 接口 : D0~D7,/RD /WR /CS, A0:2 个口地址,PC:20/21H INT 申请 /INTA 应答 ( 允许 ) IR0~IR7: 外部级中断源信号 38

8259 级联扩展 SP/EN 和 CAS0~CAS2( 级联 ) MASTER(SP=1,IR0~7 接各从片 INT, 输出编码 CAS0~2 8 片 ) Slave: SP=0, CAS 入, 通常模式下确定 MASTER 8259 39

8259A 编程 两步 : 1 初始化编程 一次写入 ( 编程 ) 初始化命令字 ICW1~4,P300 2 工作编程 可多次写入 ( 编程 ) 工作命令字 OCW1~3,P303 寄存器的寻址与读写 :(P300) 编程 ( 写 ) ICW1~4; OCW1~3 初始化编程顺序 : ICW1 ICW2 [ 多片时写 ICW3] [ 需要时写 ICW4] 40

8259A 初始化编程 ICW1: 标志 ( 口地址 )A0=0 特征位 D4=1: 工作方式 (ICW 标志 初始化开始 : 结果清中断屏蔽寄存器 OCW1=0; 优先级 IR0( 高 )--IR7 ( 低 ) 级联 ( 多片 ) 扩展位 D1 :D1=0 级联, 要送 ICW3 ( =1 单片, 不送 ICW3); 中断控制标志位 D0 :D0=1 要送 ICW4( 不送时 ICW4 各位 =0); 触发电平位 D3 : D3(LTIM)=1 高电平触发 =0 上升沿触发可忽略位 :D7~D5(A7~A5), 8080/85 用中断矢量 ; D2(ADI=1 间隔 4/0=8 80/85) 41

8259A 初始化编程 ( 续 ) ICW1 ICW2 ICW2: 标志 ( 口地址 ) A0=1 可称为中断类型号 ( 中断矢量 ) 寄存器中断类型号的高五位 : 编程时写入 D7~D3 ( T7~T3) 中断类型号的低三位 : 编程时不写 D2~D0, 响应时由外设自动填入中断源序号 000B 111B 总的中断类型号 : D7~D0 0 0 0B 1 1 1B 8 个中断矢量的地址是连续的! 42

ICW1 ICW2 ICW3 ( 此时 : ICW1 的 D1=0 级联, 要送 ICW3) ICW3: 级联命令字, 有主从片之分 : 对 MASTER 主片 : (S7~S0)D7~D0 对应 8 根中断请求线 IR7~IR0 某根中断请求线 IR 接 SALVE 从片, 则 =1; 对 SLAVE 从片 : 从片标识码 (ID2~ID0)D2~D0 对应 8 片从片 ( 中断响应时与 CAS 码比较, 相同为当前中断源 ) ( 注 : D7~D3=0 ) 注意 : 每片 ( 主从片 ) 均应顺序写入 ICW1 ICW2 ICW3 8259A 初始化编程 ( 续 ) 43

ICW1 ICW2 ICW4: 中断嵌套时的优先级控制 (D7~D5=0) 8259A 初始化编程 ( 续 ) [ICW3] ICW4( 此时 : ICW1 的 D0=1, 要送 ICW4) D4(SFMN)=0 一般嵌套 ( 已服务 SALVE 片屏蔽 高优先不能嵌套 )D4=1 特殊嵌套 ( 中断源屏蔽 可中断嵌套 ) D3 ( BUF ) 数据缓冲选择 (=0 无 BUFFER ; =1 有三态 BUFF, 单片 8259A 的 DB 系统总线间加 BUFFER 由 /SP/EN 控制, 发送时 /EN=0 ;D2=0SLAVE/=1MASTER; D1(AEOI)=1 自动 EOI 0 正常 EOI---- 中断结束信号 D0(μPM) =0 8080/85 系列 =1 8086/88 系列 例 :PC 00001001B 88/86, 非自动 EOI 44

8259A 工作编程 可多次编程 OCW1: 标志 ( 口地址 ) A0=1, 中断屏蔽字每位对应 1 根中断请求线 (=1 屏蔽, =0 允许 ) OCW2: 标志 ( 口地址 ) A0=0, 特征位 D3=D4=0 EOI(20H) 命定 / 中断优先权的旋转 (P304) OCW3: 标志 ( 口地址 ) A0=0, 特征位 D3=1,D4=0 辅助操作 ( 不常用 ) 特殊屏蔽 D2=1 查询方式 ( 读状态字 )/=0 非 ;D1D0 =10 随后读 IRR(D7=1 有效请求 ;D2~D0=IR 0~IR7 之一编码 ),D1D0=11 随后读 ISR( 中断服务 R 服务时相应位 =1) 45

PC/XT 中的 8259A 应用 对 PC/XT 系统总线 ( P305 ): 写 :20H:ICW1 OCW2 OCW3; 21H:ICW2 ICW3,ICW4 OCW1 读 :20H: 中断请求寄存器 IRR 中断服务寄存器 ISR 中断级编码 ( 查询方式时 ) 注 : 由写 OCW3 决定读何寄存器 ; D1D0=10 随后读 IRR; D1D0=11 随后读 ISR 21H: 中断屏蔽寄存器 IMR 46

PC/XT 中的 8259A 应用 对 PC/XT 系统总线 ( P305 ): 8259 中断请求输入连接 ( P460 ) 引脚 IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 用途定时器键盘保留通信网保留硬盘软盘打印机 中断类型 8 9 0AH 0BH 0CH 0DH 0EH 0FH 47

PC/XT 中的 8259A 应用 (BIOS) 初始化编程 ( P306 ) MOV AL,13H; OUT 20H,AL; (ICW1) MOV AL,8; OUT 21,AL; (ICW2) MOV AL, 9; OUT 21H, AL; (ICW4) MOV AL, 0FFH; OUT 21H, AL ; (OCW1) 48

可屏蔽中断应用 主程序要点 : 为中断做准备 : 保存系统中断向量 设置用户中断向量设置设备中断屏蔽位 [ 屏蔽 R 地址 21H( 在 8259 中 ) Di=1 屏蔽 ; Di=0 允许 ] 设置 CPU 中断允许位 STI 恢复系统中断向量设置 49

保护中断向量 保护原 1CH 矢量 (P308) Tvector_CS DW 0 ; 准备保护原矢量段地址 Tvector_IP DW 0 ; 准备保护原矢量偏移地址 intini PROC ;interrupt initializing CLI ; 以下保护矢量 MOV AH,35H; MOV AL,1CH; 原矢量中断类型码 INT 21H; 取原矢量 MOV Tvector_IP,BX; 保护原矢量偏移地址 MOV AX,ES; MOV Tvector_CS,AX; 保护原矢量段地址 50

修改中断向量 指向中断服务程序 修改 1CH 矢量 指向中断服务程序 (P307) PUSH DS ; 以下修改矢量 MOV DX,OFFSET INTR; 中断服务程序偏移地址 MOV AX, SEG INTR; 中断服务程序段地址 MOV DS,AX MOV AH,25H; MOV AL,1CH; 中断类型码 INT 21H; 修改矢量 POP DS 51

再次修改中断向量 原中断向量恢复 再次修改 1CH 矢量 恢复原中断向量 (P308) PUSH DS ; 以下修改矢量 MOV DX, Tvector_IP; 原偏移地址 MOV AX, Tvector_CS; 原段地址 MOV DS,AX MOV AH,25H; MOV AL,1CH; 中断类型码 INT 21H; 恢复原矢量 POP DS 52

可屏蔽中断应用 ( 续 ) 中断服务子程序要点 : 保存现场,R 内容如允许中断嵌套, 开中断 (STI) 处理中断关中断 ( 如允许中断嵌套 ) 送中断结束命令 EOI 给 8259 中断命令 R MOV AL,20H OUT 20H,AL 恢复现场,R 内容中断结束返回 IRET 53

关键 : 保护现场 中断服务程序 MYINT PROC FAR PUSH AX; PUSH BX ; 其他寄存器.... POP BX MOV AL,20H;EOI OUT 20H,AL; POP AX; IRET ( 注意结尾 ) MYINT ENDP 54

中断 (Interrupt) 小结 (1) 中断概念 : CPU 与外设交换信息的一种方式 == 硬件手段, 改变 CPU 执行程序的顺序 ( 程序流 ) (2) 中断控制 : 中断源 --- 中断请求 --- 中断响应 --- 中断服务 --- 中断恢复 ( 中断向量 --- 优先级 --- 中断屏蔽 --- 中断嵌套 ) (3) 中断控制器 : i8259a, 每片直接管理 8 级外部中断, 级联扩展 :64 级可编程 (4) 软件初始化 : a. 芯片级 b. 系统级 55