第4章 中断技术 一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。

Slides:



Advertisements
Similar presentations
5.1 中断的概述 5.2 MCS - 51中断系统 5.3 中断系统的应用
Advertisements

主讲人:刘利 交通大学网络控制课程系列 上海交通大学机电控制研究所 交通大学网络控制课程系列 考试课、专业基础课、必修课
第7章 AT89S51单片机的 串行口 1.
6 单片机的中断与定时系统 I/O设备必须通过I/O接口与计算机连接。 I/O接口的功能: 1.速度匹配: 锁存数据、传送联络信号。
项目二 中断应用系统设计 本项目学习目标: (1)制作一个单片机控制的彩灯电路。 (2) 理解中断的基本概念;
第5章 中断系统 5.1 中断的概念 5.2 MCS-51单片机的中断流程 5.3 MCS-51的中断响应条件和中断处理
KEIL C单片机设计与项目实践 课程主讲: 孙福成 张小义   王晓静 杨至辉 课件制作: 亢娟娜 王 淏.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
邵阳学院 信息工程系电子实践教学中心 江世明
8051 指令.
題目:LED電子數位時鐘 第 二組 組員: 陳柏霖 李育昇.
單晶片MCS-51 C語言入門實習 第1章 微電腦與單晶片MCS-51架構 作者:董勝源.
第四章 指令系统及汇编语言程序设计.
本章分为四节,主要介绍: 4.1 程序编制的方法和技巧 4.2 源程序的编辑和汇编 4.3 基本程序结构 4.4 常用程序举例.
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
单片机原理与应用.
第9章 串行扩展技术 (课时:6学时).
第9章 数模转换器与模数转换器 本章学习目标 了解数模转换器的工作原理及性能指标 掌握模数转换器的应用 掌握数模转换器的应用.
第2章 MCS-51单片机指令系统与汇编语言程序设计
報告者:朱耿育 紀翔舜 組員:詹以群 張永傑 指導老師:梁新潁
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
单片机应用技术 项目一 循环彩灯装置 第6讲 指令功能及汇编语言程序设计(一) 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
6.3 定时器/计数器的应用 初始化 初始化的内容如下:
第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口.
第二部分 微机原理 第3章 MCS-51的 指令系统 主讲教师:喻红.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第二部分 微机原理 第8章 单片机的 定时/计数器 主讲教师:喻红.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
單晶片微電腦控制實習 使用計時中斷作走馬燈 計時器的基礎實習 國立大甲高工 電機科 2018年11月21日
本章分为三节,主要介绍: 6.1 计算机串行通信基础 C51的串行口 6.3 单片机串行口应用举例.
第七章 MCS-51系统扩展 一、程序存储器扩展
单片机原理及应用 MCS-51系列单片机的基本硬件结构 MCS-51指令系统 MCS-51单片机的系统扩展与应用.
第七章 MCS-51并行口的扩展 MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展.
第2章 单片机的结构原理与 简单应用 (课时:10学时).
第八章 MCS-51与数码显示器和键盘的接口 一、MCS-51与数码显示器接口 数码显示器是单片机应用产品中最常用的廉价的输 出设备,它由8个发光二极管按一定规律排列而成, 当某一发光二极管导通时,则会被点亮,控制不同 组合的二极管导通,就能显示出各种字符。 1.显示器的结构.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
第七章 定时/计数器.
第八章 数据通信.
第三章 指令系统.
第3章 指令系统及程序设计举例 3.1 指令格式与寻址方式 一、指令格式 1. 指令 操作码 目标操作数,源操作数
第10章 综合实训 课题一 水温控制系统设计 一、实训目的 二、课题要求 熟悉常用温度传感器AD590的特性及接口电路的设计方法;
第8章 MCS-51串行口 8.1 串行口及其通信方式 8.2 IBM-PC系列机与 单片机 的通信技术.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第2章 单片机系统组成原理 2.1 MCS-51单片机组成原理 2.2 单片机复位电路设计 2.3 MCS-51存储器配置
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
单元五 MCS-51单片机内部资源 5.1 任务九 单片机计数并显示 5.2 任务十 单片机流水灯控制 5.3 任务十一 两台单片机数据互传
本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时.
主要内容 定时/计数器的工作原理模式 定时/计数器的工作方式 定时/计数器的应用
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第四章 指令系统及汇编语言程序设计.
数码管数字时钟电路的设计 1. 系统硬件电路的设计
第3章 MCS-51指令系统 介绍MCS—51系列单片机的寻址方式 介绍MCS—51系列单片机的指令系统
第4章 80C51系列指令系统 教学目的:熟悉80C51系列单片机的寻址方式及 每一种寻址方式对应的寻址空间;掌 握每一条指令功能。
本章内容 MCS-51单片机指令系统的格式 MCS-51单片机寻址方式 指令系统的分析
5-6 串列埠模式0輸出埠擴充實習.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
3.1 指令系统简介 一、几个概念 二、汇编语言指令格式 三、指令的分类 四、指令的符号说明 主讲:吴政江 下一页.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
微算機(二) 's UART mode1 communication
单片机原理与应用.
单片机应用技术 (C语言版) 第8章 串行通信接口
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
单片机应用技术 (C语言版) 第3章 MCS-51指令系统及 汇编程序设计
第二章 MCS-51单片机程序设计 第一章 8086程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
第2章 80C51单片机的硬件结构 教学基本要求: (1)、熟悉单片机的定义、名称、分类方法;
第1章 微型计算机基础.
Presentation transcript:

第4章 中断技术 一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。 4.1 中断概述 4.2 MCS-51中断系统

4.1 中断概述 返回 通过指令引起的中断。 1、中断的定义: 4.1 中断概述 通过指令引起的中断。 1、中断的定义: 中断是指如下过程:CPU与外设同时工作,CPU执行主程序,外设做准备工作,当外设准备好时向CPU发中断请求信号,若条件满足,则CPU终止主程序的执行,转去执行中断服务程序,在中断服务程序中CPU与外设交换信息,待中断服务程序执行完后,CPU再返回刚才终止的主程序继续执行。 2、中断系统的定义: 中断系统是指为了实现中断传送过程在CPU内外设置的硬件和有关中断的指令。 3、中断源: ⑴中断源的定义:中断源是指引起中断请求的来源。 ⑵中断源的分类: ①软中断和 ②硬中断 4、中断处理的全过程 中断处理的全过程分成3个阶段:中断请求、中断响应和中断服务。 5、多重中断与中断优先级 ⑴ 当系统中有多个设备提出中断请求时,多个外设的中请信号要通过门电路送到CPU的中请输入端,使CPU能收到多个外设提出的中请。 ⑵ CPU在收到多个外设的请求后,按中断处理原则处理中断。 ⑶ 确定优先级的方法解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法(采用可编程的中断控制器芯片,如Intel8259A)。 可以发中断请求信号的外设或过程。如打印机、驱动器、故障源和A/D转换器等。 返回

对于非屏蔽中请输入线上的中请,CPU无条件的响应。 中断请求 1.CPU都有中请输入线。 中请输入线有2类:非屏蔽中请输入线和可屏蔽中请输入线;有的CPU只有可屏蔽中请输入线,而有的CPU则2种都有。 2.CPU的开、关中断。 CPU内有1个中断请求触发器IFF,当IFF=1时,称CPU开中断,此时CPU可以处理收到的可屏蔽中请;当IFF=0时,称CPU关中断,虽然 CPU收到了可屏蔽中请,但不处理(响应)它。 3.CPU内有中断请求检测电路。 CPU每执行一条指令,其内的中断请求检测电路都要检测中断请求输入端的状态: ①先测NMI,若NMI有效,则CPU进入非屏蔽中响阶段。 ②若NMI无效,则检测INT的状态。 ③若INT有效且CPU开中断,则CPU进入可屏蔽中响阶段。 ④若INT有效但CPU关中断,则CPU执行下一条指令。 ⑤若INT无效,则CPU执行下一条指令。 返回

中断响应 1.中断响应定义 中断源向CPU发出中断请求,若其优先级别最高,CPU在满足一定的条件下,可以中断当前程序的运行,保护好被中断的主程序的断点及现场信息。然后,根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行新的程序段,这就是中断响应。 2.中断响应条件 CPU响应中断是有条件的,如内部允许中断、中断未被屏蔽、当前指令执行完等。 3.任何CPU在中断响应阶段一定做如下工作: ①保护断点和②给出中断服务程序入口地址(将中断服务程序的首地址送给PC,为CPU执行装段服务程序创造条件);有的CPU还会做自动关中断等操作 4.给出中断服务程序入口地址的方法有2种: ⑴ 固定入口式(中断服务程序的首地址固定,直接将此规定地址送给PC) ⑵ 矢量式。 返回

中断服务 中断服务子程序是由用户根据自己的需要编制的,编制时要注意如下问题: 1.保护现场: 由一系列的PUSH指令完成。目的是为了保护那些与主程序中有冲突的寄存器,(如A,PSW,工作寄存器等),如果中断服务子程序中所使用的寄存器与主程序中所使用的寄存器等没有冲突的话,这一步骤可以省略。 2.开/关中断: 由SETB或CLR指令实现。目的是为了能控制中断。 3.中断服务: 与中断源实现信息交换。 4.恢复现场: 由一系列的POP指令完成。是与保护现场对应的,但要注意数据恢复的次序,以免混乱。 5.返回: 使用中断返回指令RETI。不能使用一般的子程序返回指令RET,因为RETI指令除了能恢复断点地址外,还能恢复中断响应时的标志寄存器的值,而这后一个动作是RET指令不能完成的。 中断服务子程序结构图 返回

中断服务子程序结构图 保护现场 开中断 与外设交换信息 恢复现场 中断返回 返回

中断处理原则 返回 1.当多个中断源同时提出中请时,CPU按优先级的高低有高到低依次为外设服务。

4.2.1 MCS-51中断系统结构 4.2.2 MCS-51中断处理过程 4.2.3 MCS-51中断系统应用 返回

4.2.1 MCS-51中断系统结构 MCS51系列单片机上集成有中断系统,从使用者的角度出发,MCS51的中断系统就是一些SFR,如IE、IP、TCON、SCON。 中断源 TCON IE IP 高 INT0 EA EX0 PX0 0003H 外设 1 000BH IE0 0013H 001BH EX1 PX1 1 0023H 定时器0 TF0 INT1 外设 ET0 PT0 PC 1 IE1 ET1 PT1 1 定时器1 TF1 0003H 000BH 0013H RI & ES PS 串行口 1 001BH TI 0023H 返回 SCON 低

MCS-51中断源 MCS51单片机有5个中断源。5个中断源分为2种:2个外中断(由P3.2和P3.3引入)和3个内中断(T0、T1和串口)。每个中断源对应一个中断标志位,当某个中断源有中请时,相应的中断标志位置1,各个中断源的中断标志位在TCON和SCON中。 中断源 TCON IE IP 高 INT0 EA EX0 PX0 0003H 外设 1 000BH IE0 0013H 001BH EX1 PX1 1 0023H 定时器0 TF0 INT1 外设 ET0 PT0 PC 1 IE1 ET1 PT1 1 定时器1 TF1 0003H 000BH 0013H RI & ES PS 串行口 1 001BH TI 0023H 返回 SCON 低

中断标志与TCON和SCON 1、MCS51单片机内部的中断检测电路检测到有中请后,将检测结果存于TCON、SCON中;每个中断源对应一个中断标志位,当某个中断源有中请时,相应的中断标志位置1,各个中断源的中断标志位在TCON和SCON中。 TCON:88H 可以按字节操作,也可以按位操作。 TCON:98H 可以按字节操作,也可以按位操作。 2、在每条指令结束时,CPU检测各个中断标志位,若中断标志位置1,则认为有中断请求。 3、外中断有2种触发方式:低电平和下降沿,由TCON中的TI0和 TI1决定。 ⑴ 当IT0=1,INT0为脉冲方式,后沿负跳变有效;当IT0=0,低电平有效。此位,可由软件置1或清0。 ⑵ 当IT1=1,INT1为脉冲方式,后沿负跳变有效;当IT1=0,低电平有效。此位可由软件置1或清0。 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TI RI 返回

中断开放与中断允许控制寄存器 IE MCS-51单片机的5个中断源都是可屏蔽中断,也就是说用户可以通过软件方法来控制是否允许CPU去响应中断。CPU对中断源的中断开放(也称中断允许)或中断屏蔽(也称中断禁止)的控制是通过中断允许控制寄存器IE来实现的。 IE:A8H 可以按字节操作,也可以按位操作。 EA: 当EA=0时, 称CPU关中断。当EA=1时,称CPU开中断。 EX0:当EX0=0时,禁止INT0 申请中断;当EX0=1时,允许INT0 申请中断。 EX1:当EX1=0时,禁止INT1申请中断;当EX1=1时,允许INT1申请中断。 ET0:当ET0=0时, 禁止T0中断;当ET0=1时,允许T0中断。 ET1:当ET1=0时, 禁止T1中断;当ET1=1时,允许T1中断。 ES: 当ES=0时, 禁止串行口中断;当ES=1时,允许串行口中断 8051复位后IE=00H,说明CPU和各个中断源都关中断。 注意:单片机在响应中断后不会自动关中断,因此,如果在转入中断服务处理程序后,如果想禁止更高级的中断源的中断申请,可以用软件方式关闭中断。 例如:假定要开放外中断1和T1的溢出中断,屏蔽其他中断,则对应的中断允许控制寄存器内容应为10001100B,即中断允许控制字为8CH。 ①使用字节操作指令,可用一条指令MOV IE,#8CH完成。 ②使用位操作指令,则需三条指令SETB EX1;SETB ET1;SETB EA实现。 EA ES ET1 EX1 ET0 EX0 返回

返回 中断优先级与中断优先级寄存器 IP PS PT1 PX1 PT0 PX0 MCS-51单片机的中断系统对优先级的控制比较简单,只规定了两个中断优先级,对于每一个中断源均可编程为高优先级中断或低优先级中断,各中断源的优先级由中断优先级控制寄存器IP设定。 IP:B8H 可以按字节操作,也可以按位操作。 PX0:当PX0=0时,INT0 处于低级;当PX0=1时,INT0 处于高级。 PX1:当PX1=0时,INT1 处于低级;当PX1=1时,INT1 处于高级。 PT0:当PT0=0时,T0 处于低级;当PT0=1时,T0 处于高级。 PT1:当PT1=0时,T1 处于低级;当PT1=1时,T1处于高级 PS: 当PS=0时, 串行口处于低级;当PX0=1时,串行口处于高级。 8051复位后IP=00H,说明各个中断源都处于低级。 注意: 1、当五个中断源在同一个优先级的情况下INT0优先权最高,串行口优先权最低。在同一个优先级中,对五个中断源的优先次序安排如下: INT0→T0→INT1→T1→串口 (中断优先级从高到低) 2、对于外中断来说,可以用软件查询法和硬件排队电路法确定优先级。 3、通过对IP寄存器的编程,可以把五个中断源分别定义在两个优先级中,软件可以随时对IP的各位清0或置1。 例如 某软件中对寄存器IE、IP设置如下:MOV IE,#10001111B MOV IP,#00000110B 此时该系统中: ①CPU中断允许;允许外部中断0、外部中断1、定时/计数器0、定时/计数器1发出的中断申请。 ②允许中断源的中断优先次序为:定时/计数器0>外部中断1>外部中断0>定时/计数器1。 PS PT1 PX1 PT0 PX0 返回

返回 4.2.2 MCS-51中断处理全过程 1、中断请求 ⑴ MCS51单片机内部的中断检测电路随时检测各个中断源,检测到有每个中断源有中请后,将相应的中断标志位置1。 ⑵ CPU在每条指令结束时,检测各个中断标志位,若中断标志位置1,则认为有中断请求。 ⑶ CPU读取IE和IP的内容,若中断允许且满足如下条件,则在下一个机器周期进入中断响应阶段。 ① 没有同级或更高级的中断正在执行(否则必须等CPU为它们服务完之后,才能响应新中断请求。) ② 执行完的指令不是RETI或访问IE和IP的指令(否则必须另外执行一条指令后才能响应。) 2、中断响应 在中断响应阶段单片机做2件工作: ⑴ 断点地址压栈。 ⑵ 根据不同的中断源,将不同的固定地址送PC,从而转到不同的地方执行程序。 各个中断源的入口地址是:0003H、000BH、0013H、001BH、0023H。 INT0 T0 INT1 T1 串行口 注意:8051在响应了INT0、INT1、T0、T1的中断之后会自动清除它们的中断标志位,但不会清除串口的中断标志位。 3、中断服务 CPU响应中断后即转至中断服务程序的入口,执行中断服务程序。针对中断源的具体要求进行不同处理,不同的中断源其中断处理内容可能不同。中断服务(子)程序的最后一条指令是RETI,RETI指令使程序返回被中断的(主)程序继续执行。 CPU执行该指令,一方面清除中断响应时所置位的优先级有效触发器;另一方面从堆栈栈顶弹出断点地址送入程序计数器PC,从而返回主程序。

返回 4.2.3 MCS-51中断系统的应用 1、中断系统初始化 在使用MCS51单片机内部的中断系统时,需要对其初始化,89C51的中 断系统的初始化包括:开中断、确定优先级、若是外中断,应确定触发方式。 例 设引脚P3.2接有一个开关,当开关按下并抬起时,产生一次中断,试对中 断系统初始化。 MOV SP,#60H MOV IE,#81H SETB IT0 2、中断系统应用举例 例1 用中断实现如下功能:将30H—60H单元的内容送微型打印机打印。 例2 用中断实现如下功能: 2个开关K1和K2,1个数码管,当K1按下时数码管 加1,K2按下时数码管减1。 返回

ORG 0000H 返回 例1 用中断实现如下功能:将30H—60H单元的内容送微型打印机打印。 AINT0: INC R0 LJMP MAIN ORG 0003H LJMP AINT0 MAIN:MOV SP,#60H SETB EA SETB EX0 SETB IT0 MOV R0,#30H MOV P1,@R0 SETB P2.0 CLR P2.0 SJMP $ AINT0: INC R0 CJNE R0,#61H,AINT00 MOV P1,@R0 SETB P2.0 CLR P2.0 AINT00: RETI 89C51 微型打印机 P1.0 D0 P1.1 D1 P1.2 D2 P1.3 D3 P1.4 D4 P1.5 D5 P1.6 D6 P1.7 D7 STB P2.0 ACK BUSY 返回 P3.2

返回 例2:用中断实现如下功能: 2个开关K1和K2,1个数码管,当K1按下时数码管 加1,K2按下时数码管减1。 +5V 89C51 ORG 0000H LJMP MAIN ORG 0003H LJMP AINT0 ORG 0013H LJMP BINT1 MAIN:MOV SP,#60H MOV IE,#83H SETB IT0 SETB IT1 MOV R7,#0 UP: MOV A,R7 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A SJMP UP +5V 89C51 共阴极LED P1.0 a P1.1 b P1.2 c K1 P1.3 d COM P3.2 P1.4 e K2 P1.5 f P3.3 P1.6 g P1.7 BINT1: DEC R7 CJNE R7,#0FFH,BINT11 MOV R7,#9 BINT11:RETI AINT0: INC R7 CJNE R7,#10,AINT01 MOV R7,#0 AINT01:RETI TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 返回