单片机应用技术 (C语言版) 第6章 中断系统.

Slides:



Advertisements
Similar presentations
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
Advertisements

第六章 中 断 本章学习目标 掌握单片机中断系统 掌握单片机中断处理过程 掌握中断程序设计 理解中断使用过程中需要注意的问题.
微型计算机原理及其应用 ——第8章:中断系统与中断控制器8259A
单片机技术及应用 河南信息工程学校 电子工程系.
5.1 中断的概述 5.2 MCS - 51中断系统 5.3 中断系统的应用
第5章 中断系统 5.1 中断的概述  5.2 AT89C51中断系统 5.3 中断系统的应用.
主讲人:刘利 交通大学网络控制课程系列 上海交通大学机电控制研究所 交通大学网络控制课程系列 考试课、专业基础课、必修课
2017年3月5日 单片机原理与应用 背景知识调查.
6 单片机的中断与定时系统 I/O设备必须通过I/O接口与计算机连接。 I/O接口的功能: 1.速度匹配: 锁存数据、传送联络信号。
项目二 中断应用系统设计 本项目学习目标: (1)制作一个单片机控制的彩灯电路。 (2) 理解中断的基本概念;
第4章 中断系统和定时/计数器 本章学习目标 : 理解中断概念,能正确描绘单片机中断响应过程
第8章 中 断 8.1 概 述 为什么要用中断 中断的出现,会带来以下好处。 (1)同步操作 (2)实现实时处理 (3)故障处理.
第5章 中断系统 5.1 中断的概念 5.2 MCS-51单片机的中断流程 5.3 MCS-51的中断响应条件和中断处理
KEIL C单片机设计与项目实践 课程主讲: 孙福成 张小义   王晓静 杨至辉 课件制作: 亢娟娜 王 淏.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
單晶片MCS-51 C語言入門實習 第1章 微電腦與單晶片MCS-51架構 作者:董勝源.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第二部分 微机原理 第8章 单片机的 定时/计数器 主讲教师:喻红.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
第5章 定时计数技术 单片机控制系统中常常用到的定时与计数问题。 5.1 定时计数概述 5.2 MCS-51单片机的定时计数器.
6.1 中断系统和外中断 6.2 定时器/计数器 6.3 串行通信 本章小结.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
單晶片微電腦控制實習 使用計時中斷作走馬燈 計時器的基礎實習 國立大甲高工 電機科 2018年11月21日
第8章 中断技术 8.1 概述 8.2 中断处理过程 8.3 中断优先级和中断嵌套 8.4 可编程中断控制器Intel 8259A.
第2章 单片机的结构原理与 简单应用 (课时:10学时).
第七章 定时/计数器.
第八章 数据通信.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
CPU结构和功能.
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
第5章 中断系统及其应用 ● 教学目标: 介绍中断、中断源、中断系统的概念 介绍MCS-51中断系统及中断控制
单元五 MCS-51单片机内部资源 5.1 任务九 单片机计数并显示 5.2 任务十 单片机流水灯控制 5.3 任务十一 两台单片机数据互传
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第2章 AT89C51单片机内部结构基础 2.1 内部结构和引脚功能 内部结构框图和主要部件
第五章 MCS-51中断与定时系统.
主要内容 定时/计数器的工作原理模式 定时/计数器的工作方式 定时/计数器的应用
第4章 中断技术 一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。
中 断 王 静 阜阳师范学院 计算机与信息工程学院.
C语言程序设计 主讲教师:陆幼利.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
单片机应用技术 项目一 循环彩灯装置 第3讲 8051单片机的存储器 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第五章 MCS-51中断系统 一、中断请求源 MCS-51提供5个中断请求源,即INT0、INT1、TF0、 TF1和串行口发送与接收中断请求源TI或RI。这些 中断请求源分别由TCON与SCON的相应位锁存。
数字电子技术 Digital Electronics Technology
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
5.2.3 中断请求的响应、撤除及返回 1.中断的响应 从前面介绍的中断允许控制寄存器IE中可看出,一个中断源发出请求后是否被CPU响应,首先必须得到IE寄存器的允许,即开中断。如果不置位IE寄存器中的相应允许控制位,则所有中断请求都不能得到CPU的响应。 在中断请求被允许的情况下,某中断请求被CPU响应还要受下列条件的影响。
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
第三章 MCS 51的硬件结构.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
第十章 输入输出程序设计 10.1 输入输出指令 输入输出(I/O)是指CPU与输入设备和输出设备之间进行的信息传送。CPU与外部设备之间通过输入输出接口相连接。各个设备在输入输出接口中分配了相应的端口。访问不同的设备就是访问其对应的端口。在指令系统中提供了访问输入输出端口的指令。 一、I/O端口寻址方式.
5. 1 中 断 概 述 单片机接通电源后将循环执行我们编制好的程序(一般称为主程序),当有外部设备或内部部件要求CPU为其服务时,计算机将被迫“中断”主程序的执行,并记录下暂停处程序地址(断点地址),然后转去为外部设备服务,即执行中断服务程序;在中断程序执行完毕后自动返回被迫中断主程序的地址,继续执行原主程序。
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
第7章 定时/计数器 教学目的:了解80C51系列单片机内部定时器/计数器的结构与工作原理;能够采用查询方式对定时器/计数器的4种工作模式编程、应用。 教学重点:1. 定时/计数器的工作原理; 2. 定时器方式1、2的编程、应用。 教学难点:1.定时/计数器控制寄存器的设置 2.定时初值的设置.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
第4章 定时器与计数器 本章内容 定时器/计数器工作原理 定时器/计数器的工作方式 定时器/计数器的应用.
College of Computer Science & Technology
单片机应用技术 (C语言版) 第7章 定时器/计数器
微算機(二) 's UART mode1 communication
定时中断与LED MCU起航 QQ:
6.1 定时器/计数器的结构及工作原理 定时器/计数器的结构 定时器/计数器T0、T1的逻辑结构如图6-1所示。
单片机原理与应用.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
单片机应用技术 (C语言版) 第8章 串行通信接口
得技通电子 问题 三 判断题:.
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第5章 80C51单片机的中断与定时 教学基本要求: (1)、了解单片机系统有关中断的概念; (2)、了解单片机定时器/计数器的功能;
第1章 微型计算机基础.
Presentation transcript:

单片机应用技术 (C语言版) 第6章 中断系统

第6章 MCS-51单片机中断系统 目 录 6.1 中断的概述 6.2 中断系统结构 6.3 中断控制系统 6.4 中断处理过程 03.06.2019

6.1 中断的相关概念 1、中断的概念 CPU正常运行,发生异常情况或特殊请求,暂时中断当前程序,处理发生的事件,处理完后,再返回继续运行。此过程称为中断。 03.06.2019

2、中断源 引起CPU中断的设备和事件就是中断源。 (1)外部设备中断源(打印机和键盘) (2)控制对象中断源(被控对象:电压、电流等) (3)故障中断源(掉电中断) (4)定时器中断源(定时器溢出) 03.06.2019

3、中断请求 中断源向CPU发出的请求处理信号,即中断请求或中断申请。 4、中断响应 包括:中断优先级、断点保护等 03.06.2019

中断系统:实现中断功能的部件,又称中断机构。 5、其他概念 中断系统:实现中断功能的部件,又称中断机构。 中断服务程序:CPU响应中断后,处理中断事件的程序。 断点:CPU响应中断请求,转去执行中断服务程序时的PC值,即为断点地址。 中断返回:CPU执行完中断服务程序后回到断点的过程。 03.06.2019

6、中断的功能 中断是计算机的一项重要技术,计算机引入中断后,大大提高了它的工作效率和处理问题的灵活性,主要功能有以下几个方面。 使CPU与外设同步工作 (多个外设,减少等待时间) 实现实时处理 (中断条件满足) 故障及时处理 (通过中断通知CPU) 03.06.2019

6.2 中断系统的结构 中断系统构成:基本型单片机主要提供5个中断源,2个中断优先级。 特殊功能寄存器主要用于:控制中断的开放和关闭、保存中断信息、设置中断的优先级别。 MCS-51增强型单片机的中断结构如图5-2所示。 03.06.2019

1、增强型单片机的中断系统结构 03.06.2019

2、 MCS-51的中断源 MCS-51基本型中断系统主要是对5个中断源进行管理,依次为: 外部中断0 外部中断1 定时器/计数器T0溢出中断 定时器/计数器T1溢出中断 串行口中断 03.06.2019

CPU主要是通过请求标志寄存器(TCON、SCON)、中断允许寄存器(IE)、优先级寄存器(IP)对中断源进行管理。 03.06.2019

6.3 中断控制系统 定时器控制寄存器 TCON可位寻址。复位后TCON=00H。 1、 T0、T1及外中断的控制寄存器TCON D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 定时器控制寄存器 TCON可位寻址。复位后TCON=00H。 03.06.2019

IT0:外中断0触发方式设置位 IT0=0,外中断0为低电平触发 IT0=1,外中断0为下降沿触发 IT1:外中断1触发方式控制位。 03.06.2019

IE1的清0方式问题:与外中断的触发方式有关 (1)低电平触发,则P3.3引脚为高电平自动对IE1清0; 外部中断1引脚有请求信号置1; IE1的清0方式问题:与外中断的触发方式有关 (1)低电平触发,则P3.3引脚为高电平自动对IE1清0; (2)下降沿触发,则CPU响应中断由硬件自动对IE1清0。 IE0:外部中断0中断请求标志位 功能同IE1。 03.06.2019

外中断触发方式的选择(P119) 1、电平触发。适合于外部中断输入为低电平,且中断服务程序能清除外部中断请求源。 2、跳变触发(下降沿触发)。适合于以负脉冲形式输入的外部中断请求,这种触发方式可靠性高,不宜连续被中断响应。 03.06.2019

TF1(TCON.7):T1溢出标志位 当T1计满溢出时,由内部硬件置位; 中断响应后自动清0。 TF0:T0溢出标志位 功能同TF1。 03.06.2019

TR0:定时/计数器T0允许(启/停)控制位 TR0=1,定时器T0立即开始计数; TR0=0,定时器T0立即停止计数; TR1作用同TR0。 TR0和TR1状态可由用户通过程序设定。 03.06.2019

2、串行口控制寄存器SCON 字节地址98H。可以位寻址, 格式如下: TI(SCON.1):串行口发送中断标志。 串行口控制寄存器 RI(SCON.0):串行口接收中断标志。 SCON (98H) D7 D6 D5 D4 D3 D2 D1 D0 TI RI 串行口控制寄存器 03.06.2019

串行口接收完一帧,由硬件置位。响应中断后,必须用软件清0。 例如: RI=0; 复位后,SCON=00H 03.06.2019

3、中断允许寄存器IE 可以位寻址,其格式如图所示: 单片机复位后,IE=00H IE (A8H) D7 D6 D5 D4 D3 D2 D1 — ES ET1 EX1 ET0 EX0 中断允许寄存器 03.06.2019

MCS-51中断的开放和关闭是通过IE进行两级控制的。 两级控制:①中断允许总控制位EA,②各中断源的中断允许控制位 03.06.2019

两级控制 例 假设允许T0中断,试设置IE的值。 解: (1)用C语言字节操作: IE=0x82; (2)用C语言位操作指令 IE EA=1; //开总中断控制 ET0=1; //允许定时/计数器0中断 两级控制 IE (A8H) D7 D6 D5 D4 D3 D2 D1 D0 EA — ET2 ES ET1 EX1 ET0 EX0 中断允许寄存器 03.06.2019

4、中断优先级控制寄存器IP MCS-51单片机有5个中断源,每个中断源有两级优先级控制:高优先级和低优先级, 以便CPU对所有的中断实现两级中断嵌套。 对 IP设置可让中断源处于不同的优先级。 03.06.2019

IP复位后为00H。即所有中断源均为低优先级。 其格式如下图所示。( 不能位寻址) IP (B8H) D7 D6 D5 D4 D3 D2 D1 D0 — PS PT1 PX1 PT0 PX0 中断优先级控制寄存器 IP复位后为00H。即所有中断源均为低优先级。 03.06.2019

中断优先级同级顺序 中断源 同级优先级顺序 外部中断0 定时器/计数器0 外部中断1 定时器/计数器1 串行口中断 最 高 最 低 03.06.2019

中断嵌套 中断优先级规则: (1)对同时发生多个中断申请 相同优先级的中断同时申请:按序执行 (2)不同时发生多个中断申请 不同优先级的中断同时申请:先高后低 相同优先级的中断同时申请:按序执行 (2)不同时发生多个中断申请 正处理低优先级中断又接到高级别中断:高打断低 正处理高优先级中断又接到低级别中断:高不理低 中断嵌套 03.06.2019

注:51单片机只可实现两级中断嵌套 03.06.2019

思考:当系统正在处理定时器0中断的过程中,定时器1和外部中断0有中断请求,描述CPU的中断处理过程? 中断优先级同级顺序 中断源 同级优先级顺序 外部中断0 定时器/计数器0 外部中断1 定时器/计数器1 串行口中断 最 高 最 低 03.06.2019

例 设定时器和串行口中断为高优先级,两个外部中断为低优先级,试设置IP的值。 解:C语言程序 IP=0x1a; IP (B8H) D7 D6 D5 D4 D3 D2 D1 D0 — PS PT1 PX1 PT0 PX0 中断优先级控制寄存器 03.06.2019

6.4 中断处理过程 一、中断响应条件 (1)中断源有中断请求; (2)中断总允许位EA=1; 6.4 中断处理过程 一、中断响应条件 (1)中断源有中断请求; (2)中断总允许位EA=1; (3)发出中断请求的中断源的中断允许控制位为1。 在满足以上条件的基础上,若有下列任何一种情况存在,不能响应中断。 03.06.2019

(1)CPU正在执行一个同级或高优先级的中断服务程序; (2)正在执行的指令尚未执行完; (3)正在执行中断返回指令RETI或者对寄存器IE、IP进行读/写的指令。 CPU在执行完上述指令之后,才能响应中断请求。 03.06.2019

二、中断响应过程 从中断请求发生直到被响应,准备去执行中断服务程序,此过程即中断响应过程。 03.06.2019

优先级查询,将相应的优先级状态触发器置1,以阻止后来同级或低级中断源的中断请求; 清除可清除的中断请求标志位 中断响应过程的操作步骤: 优先级查询,将相应的优先级状态触发器置1,以阻止后来同级或低级中断源的中断请求; 清除可清除的中断请求标志位 硬件自动生成长调用指令LCALL addr16(中断程序入口地址)。 PC的内容(即断点地址)压入堆栈。先低位地址,后高位地址,并修改堆栈指针SP。 将中断源的中断入口地址装入程序计数器PC,准备执行中断服务程序。 03.06.2019

中断响应时间:从中断请求标志位置位到CPU开始执行中断服务程序的第一条指令所需的时间。 三、中断响应的时间 中断响应时间:从中断请求标志位置位到CPU开始执行中断服务程序的第一条指令所需的时间。 一般来说,中断的响应时间最短为3个机器周期,最长为8个机器周期。 03.06.2019

四、 中断处理和返回过程 1、中断处理过程 当CPU响应中断后,做中断处理。首先获得中断服务程序的入口地址。 其次:执行中断服务程序。 中断源 中断入口 外部中断0 0003H 定时器/计数器0 000BH 外部中断1 0013H 定时器/计数器1 001BH 串行口 0023H 定时器/计数器2 002BH 03.06.2019

2、中断返回 使用RETI指令 RETI指令包含两个功能: 首先将相应的优先级状态触发器清0,以开放同级别中断源的中断请求; 其次,从堆栈区把断点地址弹出给程序计数器PC。 注意:不能用RET指令代替RETI指令。 因为RET没有优先级状态触发器清0功能。 C51编程时,编译器自动加上 03.06.2019

void Int0(void) interrupt 0 6.6 C51中断程序设计 m:工作寄存器采用的组号 省略为 using 0 C51中断程序设计格式: 返回值类型 函数名 interrupt n using m 编号 n 所代表的中断源 外部中断0 1 定时/计数器0 2 外部中断1 3 定时/计数器1 4 串口 void Int0(void) interrupt 0 03.06.2019

C51处理中断程序设计 #include <reg51.h> sbit P1_0=P1^0; INT0 P1.0 5V #include <reg51.h> sbit P1_0=P1^0; void main(void) //主程序 { IT0=1; //负跳变触发中断 EA=1; //开总允许中断 EX0=1; //开INT0中断 while(1); //等待下一次中断 } void Int0(void) interrupt 0 //中断服务程序,工作寄存器采用0组 // (省略了using 0) P1_0=~P1_0; //P1.0取反,改变LED亮灭的状态 03.06.2019

本章小结 本章介绍了中断的基本概念,中断系统的逻辑结构,中断控制的过程、以及中断的应用。 89C51单片机内部有5个中断源,它们分别是外部中断0、外部中断1、定时器0,1,串行口。对应4个特殊功能寄存器(中断标志,中断允许、优先级控制位。) 03.06.2019