第六章输入/输出及中断系统 6T/O信号及寻址方式 62/O控制方式 63中断技术 ↓MCS-51中断系统
第六章 输入/输出及中断系统 6-1 I/O信号及寻址方式 6-2 I/O控制方式 6-3 中断技术 6-4 MCS-51中断系统
第六章输入/输出及中断系统 I/O设备必须通过1/O接口与计算机连接。 I/O接口的功能: 1速度匹配 微 I/O I/O 型 锁存数据、传送联络信号机 接 设备 2数据格式转换: 并-串转换、A/D、D/A转换 3电平转换: I/O I/O 电平幅值或正/负逻辑转换 接 设备 4隔离: 多个设备信号通过接口三态 门隔离干扰信号。 5缓冲驱动:驱动多个逻辑部件或大功率执行部件
第六章 输入/输出及中断系统 I/O设备必须通过I/O接口与计算机连接。 I/O接口的功能: 1.速度匹配: 锁存数据、传送联络信号。 2.数据格式转换: 并-串转换、A/D、D/A转换。 3.电平转换: 电平幅值或正/负逻辑转换。 4.隔离: 多个设备信号通过接口三态 门隔离干扰信号。 微 型 机 I/O 接 口 I/O 接 口 I/O 设 备 I/O 设 备 5.缓冲驱动:驱动多个逻辑部件或大功率执行部件
6-1I/O接口信号及寻址方式 每个I/O接口分配有对应的I/O地址。 6-1-1CPU与I/O之间接口信号 1数据信息 DB D IOD 微型机与外设交换的数据AB A OS ready 经接口数据缓冲器传送。 RD RD IOC 2.状态信息 WR R 反映外设工作状态的信号NT INT 3控制信息 设定I/O电路工作方式的 信号。 数据总线传递三种信号,用不同I/O地址区别: 输入/输出数据缓冲器共用一个I/O地址:数据端口。 状态/控制寄存器共用一个I/O地址:控制/状态端口
6-1 I/O接口信号及寻址方式 每个I/O接口分配有对应的I/O地址。 6-1-1 CPU与I/O之间接口信号 1.数据信息 微型机与外设交换的数据, 经接口数据缓冲器传送。 2.状态信息 反映外设工作状态的信号。 3.控制信息 设定I/O电路工作方式的 信号。 数据总线传递三种信号,用不同I/O地址区别: 输入/输出数据缓冲器共用一个I/O地址:数据端口。 状态/控制寄存器共用一个I/O地址:控制/状态端口。 DB AB RD WR INT 微型机 D IOD A IOS RD IOC WR INT I/O接口 D Ready STB I/O设备
6-1-2I/0寻址方式 存储器地址方式 I/O接口共用存储器的地址空间,每个I/0端口视为一个存 储单元 专用I/O地址方式 有专用I/O控制信号和I/O指令。I/O接口独立编址,不占用 存储器的地址空间。 MCS-51、96为存储器地址方式。 MCS=51单片机有片内I/O接口和扩展I/O接口。 片内I/O接口寄存器在SFR中,使用片内数据存储器空间,扩 展I/O接口使用片外数据存储器地址空间: 输出指令: 输入指令: 片内寻址:MOVP1,A MOV A, P1 片外寻址: MOVX DPTR, A MOVX A, aDPTR MOVX ORO, A MOVX A, aRO
6-1-2 I/O寻址方式 一.存储器地址方式 I/O接口共用存储器的地址空间,每个I/O端口视为一个存 储单元。 二.专用I/O地址方式 有专用I/O控制信号和I/O指令。I/O接口独立编址,不占用 存储器的地址空间。 MCS-51、96为存储器地址方式。 MCS-51单片机有片内I/O接口和扩展I/O接口。 片内I/O接口寄存器在SFR中,使用片内数据存储器空间,扩 展I/O接口使用片外数据存储器地址空间: 输出指令: 输入指令: 片内寻址:MOV P1,A MOV A,P1 片外寻址:MOVX @DPTR,A MOVX A,@DPTR MOVX @R0,A MOVX A,@R0
62I/0控制方式 无条件传送方式 已知I/O设备准备就绪,可直接进行数据传送。 二.查询式传送 DB 数据 先查询I/O设备当前状态,若 端口 准备就绪,则交换数据,否则循 AB 微型机 外部设备 环查询状态。 状态 1.硬件查询电路 端口 AB 设置状态锁存和数据锁存电路。 IO接口 2.软件查询程序 先输入状态,决定是否进行数据传送。匚查询状态 INPUT: MOV DPTR,# SATUS;状态口地址 WAIT: MOvX A, @DPTR 准备就绪? Y JB ACC. 6, WAIT MOV DPTR,#DATA:数据口地址输入输出数据 MOVX A, @DPTR
6-2 I/O控制方式 一.无条件传送方式 已知I/O设备准备就绪,可直接进行数据传送。 二.查询式传送 先查询I/O设备当前状态,若 准备就绪,则交换数据,否则循 环查询状态。 1.硬件查询电路 设置状态锁存和数据锁存电路。 查询状态 输入/输出数据 准备就绪? Y N INPUT:MOV DPTR,#SATUS;状态口地址 WAIT: MOVX A,@DPTR JB ACC.6,WAIT MOV DPTR,#DATA ;数据口地址 MOVX A,@DPTR DB AB 微型机 AB 数据 端口 状态 端口 外 部 设 备 I/O接口 D6 2.软件查询程序 先输入状态,决定是否进行数据传送
中断传送 大多数时间计算机与外设并行工作,计算机不必因等 待而浪费资源。当外设准备就绪,向CPU发出中断请求信 号。CPU暂停当前程序,执行I/O操作。当I/O操作结束, CPU仍继续被中断的工作。 四 直接存储器存取方式传送 (DMA--Direct Memory Access) 用于计算机与高速外设进行大批量数据交换,由 DMA控制器接管总线控制权,RAM与外设之间直接数据 传输,不需CPU的介入
三.中断传送 大多数时间计算机与外设并行工作,计算机不必因等 待而浪费资源。当外设准备就绪,向CPU发出中断请求信 号。CPU暂停当前程序,执行I/O操作。当I/O操作结束, CPU仍继续被中断的工作。 四.直接存储器存取方式传送 (DMA—Direct Memory Access) 用于计算机与高速外设进行大批量数据交换,由 DMA控制器接管总线控制权,RAM与外设之间直接数据 传输,不需CPU的介入
63中断技术 中断系统是计算机 的重要指标之 6-3-1中断概念 日常事务程序 断服务程序 某人看书执行主程序 日常事务 电话铃响中断信号INT=0中断请求 暂停看书暂停执行主程序中断响应 书中作记号当前PC入栈保护断点 电话谈话执行I/O程序中断服务 继续看书返回主程序中断返回
中断系统是计算机 的重要指标之一。 6-3-1 中断概念 某人看书 执行主程序 日常事务 电话铃响 中断信号INT=0 中断请求 暂停看书 暂停执行主程序 中断响应 书中作记号 当前PC入栈 保护断点 电话谈话 执行I/O程序 中断服务 继续看书 返回主程序 中断返回 日 常 事 务 程 序 中 断 服 务 程 序 6-3 中断技术
两种中断 1.可屏蔽中断 INT 可程控“开中断/关中断”。软件设置 允许/禁止CPU响应中断。 EMIl 2.非屏蔽中断 微型机 不可程控“关中断”。有中断请求信 号,CPU必须响应。 日常事务中断服务中断服务 中断优先权 程序程序1程序2 1.当同时有多个中断请求信号 先响应优先级别高的中断请求。 2.高优先级中断请求信号可中 断低优先级中断服务。 中断源 能发出中断请求信号的各种事件。如I/O设备、定时时钟、 系统故障、软件设定等
一.两种中断 1.可屏蔽中断 可程控“开中断/关中断” 。软件设置 允许/禁止CPU响应中断。 2.非屏蔽中断 不可程控“关中断”。有中断请求信 号,CPU必须响应。 二.中断优先权 1.当同时有多个中断请求信号, 先响应优先级别高的中断请求。 2.高优先级中断请求信号可中 断低优先级中断服务。 三.中断源 能发出中断请求信号的各种事件。如I/O设备、定时时钟、 系统故障、软件设定等。 INT NMI 微型机 日常事务 程序 中断服务 程序1 中断服务 程序2
6-3-2中断处理过程 中断响应条件 1.有中断请求信号 2.系统处于开中断状态 中断响应过程 1.关中断:屏蔽其它中断请求信号。 2.保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 3.寻找中断源:中断服务程序入口→PC,转入中断服务 4.保护现场:将中断服务程序使用的所有寄存器内容入栈。 5.中断处理:执行中断源所要求的程序段。 6.恢复现场:恢复被使用寄存器的原有内容。 7.开中断:允许接受其它中断请求信号。 8.中断返回:执行RETI指令,栈顶内容→PC,程序跳转回断点 处
6-3-2 中断处理过程 一.中断响应条件 1.有中断请求信号 2. 系统处于开中断状态 二.中断响应过程 1.关中断:屏蔽其它中断请求信号。 2.保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 3.寻找中断源:中断服务程序入口→PC,转入中断服务。 4.保护现场:将中断服务程序使用的所有寄存器内容入栈。 5.中断处理:执行中断源所要求的程序段。 6.恢复现场:恢复被使用寄存器的原有内容。 7.开中断:允许接受其它中断请求信号。 8.中断返回:执行RETI指令,栈顶内容→PC,程序跳转回断点 处
6-3-3寻找中断源与确定优先级 寻找中断源:每个中断源对应一个中断服务程序 多个中断源按优先级别排队。硬件上排队顺序 DMA、NMI、INT。 PHINT 中断请求1 单片机 软件查询方式中断请求2 1.中断源查询电路: 中断源寄存器 HPI 2.软件查询程序 中断请求7 INTS:MOVA,P1;读中断源寄存器 JB ACC.0,SV1;查询高级中断请求 JB ACC.1,SV2;查询低级中断请求 SVI ;中断服务程序1 Sv2: ;中断服务程序2
6-3-3 寻找中断源与确定优先级 寻找中断源:每个中断源对应一个中断服务程序。 多个中断源按优先级别排队。硬件上排队顺序: DMA、NMI、INT。 一.软件查询方式 1.中断源查询电路: 中 断 源 寄 存 器 ≥1 INT 单片机 P1 中断请求1 中断请求2 中断请求7 2.软件查询程序 INTS:MOV A,P1;读中断源寄存器 JB ACC.0,SV1 ;查询高级中断请求 JB ACC.1,SV2 ;查询低级中断请求 … SV1: … ;中断服务程序1 … SV2: … ;中断服务程序2