9s12单片机-第六章 中断系统
- 格式:ppt
- 大小:1.16 MB
- 文档页数:34
单片机中断系统的结构一、引言在单片机的应用中,中断是一种非常重要的机制,它可以提高系统的响应速度和效率。
中断系统是指由硬件和软件共同组成的一套机制,用于处理外部事件的优先级和响应方式。
本文将介绍单片机中断系统的结构和工作原理,以及如何在程序设计中使用中断。
二、中断系统的基本原理中断系统是由中断源、中断控制器和中断服务程序三部分组成的。
其中,中断源是指产生中断请求的外部事件,如按键输入、定时器溢出等;中断控制器是负责接收和分发中断请求的硬件模块;中断服务程序是处理中断请求的一段特定程序代码。
三、中断源中断源是产生中断请求的外部事件,它可以是来自外部硬件设备的信号,也可以是由内部程序生成的软件中断请求。
常见的中断源包括按键输入、定时器溢出、串口通信等。
中断源通过触发相应的中断请求,将中断信号发送给中断控制器。
四、中断控制器中断控制器是负责接收和分发中断请求的硬件模块。
它通常包含多个中断通道,每个通道对应一个中断源。
当中断源触发中断请求时,中断控制器会根据中断源的优先级和中断屏蔽状态,确定是否接受该中断请求,并将中断信号发送给CPU。
中断控制器通常包括以下几个重要的部分:1. 中断请求线:用于接收中断源产生的中断请求信号;2. 中断屏蔽器:用于屏蔽或使能特定的中断源;3. 中断优先级编码器:用于确定中断源之间的优先级;4. 中断向量表:用于存储每个中断源对应的中断服务程序的入口地址。
五、中断服务程序中断服务程序是处理中断请求的一段特定程序代码。
当中断请求被接受后,CPU会暂停当前的任务,跳转到对应的中断服务程序执行。
中断服务程序通常包括以下几个重要的步骤:1. 保存现场:将当前程序的状态和寄存器值保存到栈中,以便在中断处理完成后恢复;2. 执行中断处理:根据中断源的类型和需求,执行相应的中断处理操作;3. 恢复现场:将之前保存的状态和寄存器值从栈中恢复,以继续执行被中断的程序。
六、中断优先级和嵌套中断在多个中断源同时产生中断请求时,中断控制器会根据中断源的优先级确定中断的处理顺序。
单片机中的中断系统原理与应用技术中断系统是单片机中非常重要的一部分,它为单片机提供了有效的处理外部事件的机制。
本文将介绍中断系统的原理、分类以及在单片机应用中的技术。
一、中断系统原理1. 中断概念中断是指在程序执行过程中,由于某个特定事件的发生,导致CPU暂时停止正在执行的程序,转而处理发生的中断事件。
中断事件可以是外部事件,如按键操作、定时器溢出等; 也可以是内部事件,如错误检测等。
2. 中断系统的作用中断系统的作用是提高系统的响应速度和处理能力。
当处理器空闲或执行低优先级任务时,中断系统可以迅速响应外部事件,不需要等待主程序的执行完成。
3. 中断系统的组成中断系统由中断源、中断请求、中断嵌套、中断优先级、中断响应和中断服务程序等组成。
中断源是指产生中断请求的外设或内部事件。
中断请求是指外设或事件向CPU 发送中断信号的请求。
中断嵌套是指当多个中断同时发生时,中断服务程序按照优先级顺序处理中断请求。
中断优先级是根据中断重要性和紧急程度设置的,具有更高优先级的中断会打断正在执行的低优先级中断。
中断响应是指CPU接收到中断请求后,根据中断优先级选择处理中断请求的方式。
中断服务程序是在中断响应之后执行的程序,用于处理中断事件。
二、中断系统的分类1. 外部中断外部中断是由外设引发的中断事件。
常见的外部中断包括按键中断、定时器中断、串口中断等。
外设产生中断请求信号时,会通过中断线路将中断请求信号发送给CPU,触发对应的中断服务程序。
2. 内部中断内部中断是由内部事件引发的中断事件。
内部事件可以是系统错误、数据溢出等。
内部中断无需外部中断源,一般通过异常或特殊指令触发中断服务程序的执行。
3. 软件中断软件中断是由程序内部指令触发的中断事件。
程序可以使用特殊的指令发送中断请求信号,使CPU执行对应的中断服务程序。
软件中断常用于程序自身需要主动暂停执行或调用某些特定功能的场景。
三、中断系统的应用技术中断系统在单片机应用中有着广泛的应用。
单片机中断系统的目的是为了让 CPU 对内部或外部的突发事件及时地作出响应并执行相应的程序在单片机的开发中它有着十分重要的作用那么单片机的中断是怎么回事它是如何工作的呢这一课就来讨论这个问题在讲解之前让我们先来介绍一下中断的原理一中断的基本原理什么是中断中断的过程是什么要搞清楚这个问题我们同样先从生活中的一个例子开始你正在家中看书突然电话铃响了你放下书去接电话和来电话的人交谈通完电话回来继续看你的书这就是生活中的中断现象就是正常的工作过程被外部的事件打断了仔细研究一下生活中的中断对我们学习单片机中断会很有帮助。
第一中断源什么可引起中断生活中很多事件都可以引起中断比如有人按了门铃电话铃响了你的闹钟响了你烧的水开了等等诸如此类的事件我们把可以引起中断的事件称之为中断源单片机中也有一些可以引起中断的事件比如按下键盘定时/计数器溢出报警等等89C51单片机中共有 5 个中断源两个外部中断两个定时/计数器中断和一个串行口中断。
第二中断的嵌套与优先级处理设想一下我们正在看书电话铃响了同时又有人按了门铃你先做那样呢如果你正在等一个很重要的电话一般是不会去理会门铃的而反之如果你正在等一个很重要的客人则可能就不会去理会电话了如果两者都不是既不等电话也不等人上门你可能会按你通常的习惯去处理总之这里存在一个优先级的问题单片机中也是如此也有优先级的问题优先级的问题不仅仅发生在两个中断同时产生的情况也发生在一个中断已产生又有另一个中断产生的情况比如你正在接电话又有人按门铃的情况或者你正开门与人交谈又有电话响了的情况仔细想一下我们一般会怎么处理不会吧这样就有点手忙脚乱了要是再来个 MM 这么办呵呵第三中断的响应与处理当有事件产生进入中断之前我们必须先记住现在的书看到第几页了或拿一个书签放在当前页的位置然后去处理不同的事情因为处理完了我们还要回来继续看书电话铃响我们要到放电话的地方去门铃响了我们要到门那边去也就是说不同的中断我们要在不同的地点处理而这个地点通常还是固定的单片机中采用的也是这种方法五个中断源每个中断产生后都要到一个固定的地址去找处理这个中断的程序当然在去之前首先要保存下面将执行的指令的地址以便处理完中断后回到原来的地方继续往下执行程序具体地说单片机中断响应可以分为以下几个步骤:1 停止主程序运行当前指令执行完后立即终止现在执行的程序2 保护断点把程序计数器 PC 的当前值压入堆栈保存终止的地址即断点地址以便从中断服务程序返回时能够继续执行该程序3 寻找中断入口,根据 5 个不同的中断源所产生的中断查找 5 个不同的入口地址4 执行中断处理程序这就不讲了5 中断返回执行完中断处理程序后就从中断处返回到主程序继续往下执行以上工作是由计算机自动完成的与编程者无关在这 5 个入口地址处存放有中断处理的程序这是程序编写时放在那儿的如果没把中断处理程序放在那儿可就错了因为中断程序无法被执行到那么执行中断程序有什么好处呢二实现中断的好处单片机为什么要有中断系统使用中断有什么好处呢日常生活中我们除了看书肯定还要做很多其他的事情比如听电话接待客人烧水吃饭等等单片机实行中断也有很多的好处具体来说1 实行分时操作提高 CPU 的效率只有当服务对象向 CPU 发出中断申请时才去为它服务这样我们就可以利用中断功能同时为多个对象服务从而大大提高了 CPU 的工作效率2 实现实时处理利用中断技术各个服务对象可以根据需要随时向 CPU 发出中断申请及时发现和处理中断请求并为之服务以满足实时控制的要求比如定时的时间到了就要 CPU 做相应的处理3 进行故障处理对难以预料的情况或故障比如掉电事故等可以向 CPU 发出请求中断由 CPU 作出相应的处理。