单片机的中断系统

中断概念



正常的工作过程被外部的事件打断了,EX 你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。

中断源

引起中断的事件称之为中断源,51中一共有5五个:两个外部中断,两个计数/定时器中断,一个串行口中断。

中断优先级与嵌套

  • 当两个中断同时产生时,就要考虑优先级。
  • 当一个中断已发生,又一个中断产生了,又要考虑另一种嵌套优先级。

中断的响应过程

  1. 保护断点:保存下面将要执行的指令地址送人堆栈,以便中断处理完之后回到原来地方继续执行
  2. 寻找中断入口:根据5个不一样的中断源所产生的中断,到5个不一样的入口地址找处理中断的程序
  3. 执行中断处理程序
  4. 中断返回:执行完中断指令后,就从中断处返回到主程序

51中断系统的结构



5个中断源的符号、名称及产生:

  • INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。
  • INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。
  • T0:定时器/计数器0中断,由T0计满回零引起。
  • T1:定时器/计数器0中断,由T1计满回零引起。
  • TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。

整个中断系统结构框图

中断请求源 

  • 外部:IT(0/1)为INT(0/1)触发方式控制位,可由软件置位和复位,IT(0/1)=0,INT0为低电平触发方式 IT(0/1)=1,INT0为负跳变触发方式。IE(0/1):INT(0/1)中断请求标志位。当有外部的中断请求时,自动置1,在CPU响应中断后,自动清0.
  • 内部:TF(0/1)为定时计数器T(0/1)的溢出中断标记,自动置位清零。T1R1串行口发送、接收中断。

中断允许寄存器IE

EA是总开关,其他的是与之对应的中断源的中断允许。

中断优先级寄存器IP

单片机采用了自然优先级和人工设置

五个中断源的自然优先级与中断服务入口地址:(由高到低)

  • 外中断0:0003H
  • 定时器0:000BH
  • 外中断1:0013H
  • 定时器1:001BH
  • 串行口:0023H。

人工设置只有两级,处于同一级由自然优先顺序确定,IP置1为高级否则低级。

中断系统的控制寄存器



中断允许寄存器 IE

在特殊功能寄存器中,字节首地址为A8H,用来打开或关断各中断源的中断请求。

中断优先寄存器 IP

在特殊功能寄存器中,字节第一个单元地址为B8H,用来设定各个中断源优先级

串行端口的控制寄存器 scon

字节第一地址是98H,用以设置串行端口的工作方式、接收/发送的运行状态、数据的特征、波特率的大小,以及作为中断标志等。

              

  • 这些位功能都是方式2、3的
  • T1/R1在使用前必须用软件清零

电源控制寄存器 PCON

字节地址为87H,无位地址

(方式123时的波特率)

中断的响应过程



CPU在每一个周期扫描每一个中断源置位并采样,如果没被下述条件阻止,将在下一机器周期响应最高的中断请求

  1. CPU正在处理同级或更高级的中断
  2. 当前周期不是所执行指令未的最后周期
  3. 正在执行RETI或是访问IE、IP指令,至少需要再执行一条指令才能响应新的中断请求

处理中断程序从该地址开始一直到RETI结束,由于各个中断入口地址相隔甚近,不便于存放各个较长的中断服务程序,故通常在中断入口地址开始的二三个单元中,安排一条转移类指令,以转入到安排在那儿的中断服务程序。

时间: 2024-10-10 12:41:17

单片机的中断系统的相关文章

51单片机中断系统

51中断系统 1.什么是中断 中断是CPU在执行程序是不需要管中断源的状态,当中断源满足中断触发条件时CPU再去进行终端处理 2.中断源 80C51共五个中断源分别是两个外部中断源:INT0.INT1,两个定时中断源T0.T1,一个串行口中断源 每个中断源对应着一个中断入口地址 中断源 入口地址 外部中断源INT0 0003H 定时器T0 000BH 外部中断源INT1 0013H 定时器T1 001BH 串行口中断 0023H 3.中断控制 3.1.     定时控制寄存器TCON 控制对象

单片机扩展中断的4种方法

MCS—51系列单片机内部只有两个外部中断源输入端,当外部中断源多于两个时 ,就必须进行扩展,下面介绍两种简单的扩展方法: 一.采用硬件请求和软件查询的方法: 这种方法是:把各个中断源通过硬件“或非(高有效,如CD4002)”(与,低有效)门引入到单片机外部中断源输入 端(INT0或INT1),同时再把外部中断源送到单片机的某个输入输出端口,这 样当外部中断时,通过“或非”(与)门引起单片机中断,在中断服务程序中再通 过软件查询,进而转相应的中断服务程序.显然,这种方法的中断优先级取决于 软件查

Linux中断(interrupt)子系统之一:中断系统基本原理

这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层.内核版本基于3.3.虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变. /*****************************************************************************************************/ 声明:本博内容

Linux中断(interrupt)子系统之一:中断系统基本原理【转】

转自:http://blog.csdn.net/droidphone/article/details/7445825 这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层.内核版本基于3.3.虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变. /***************************************************

【CC2530入门教程-03】CC2530的中断系统及外部中断应用

第3课  CC2530的中断系统及外部中断应用 广东职业技术学院  欧浩源 一.中断相关的基础概念  内核与外设之间的主要交互方式有两种:轮询和中断. 轮询的方式貌似公平,但实际工作效率很低,且不能及时响应紧急事件:中断系统使得内核具备了应对突发事件的能力. 在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转而去执行另外一段特殊程序来处理出现的紧急事务,处理结束后,CPU自动返回到原来暂停的程序中去继续执行. 这种程序在执行过程中由于外界的原因而被中间打断的

TMS320F28335项目开发记录9_28335之中断系统

28335中断系统 1.中断系统 在这里我们要十分清楚DSP的中断系统.C28XX一共有16个中断源,其中有2个不可屏蔽的中断RESET和NMI.定时器1和定时器2分别使用中断13和14.这样还有12个中断都直接连接到外设中断扩展模块PIE上.说的简单一点就是PIE通过12根线与28335核的12个中断线相连.而PIE的另外一侧有12*8根线分别连接到外设,如AD.SPI.EXINT等等. 这样PIE共管理12*8=96个外部中断.这12组大中断由28335核的中断寄存器IER来控制,即IER确

51单片机的最小系统

自己焊的51单片机的最小系统包括:CUP(STC89C52),晶振与谐振电容(22pF,晶振加电容的主要目的是滤波,这样可以使得晶振输出的波形更加平滑),复位电路(最简单的复位电路:电解电容10uF.25V正极接VCC,负极接单片机Reset引脚,电阻一端接地,另一端接Reset引脚)和电源(5V). 要往单片机下载程序生成的hex文件,需要加一个串口以及电平转换芯片Max232.如图所示,C1.C2.C3.C4以及V+.V-是电源变换电路部分.接收发送部分,T1IN,T2IN可直接连接TTL/

zynq7000 中断系统及在UCOSIII中的中断处理接口

一.zynq7000中断处理概述 详见zynq7000的用户指导手册UG585相关章节. zynq7000的中断系统整体架构如下图所示: 中断源有三种类型的中断: 私有外设中断PPI:每个CPU有5个PPI,使用中断ID 27~31. 共享外设中断SPI:共60个 软件产生中断SGI:每个CPU都可以使用SGI中断自身.其他CPU,或两个CPU,各自16个SGI,使用中断ID 0-15. GIC集中管理来自PS和PL的中断,包括使能.禁用.掩码.优先级.发送到不同的CPU.zynq的GIC基于A

【007】AVR单片机中断系统

AVR单片机的21个中断源 I/O端口的第二功能 AVR单片机共有单个定时器,定时/计数器1是16bit的,其余的定时/计数器0和定时/计数器2都是8bit的定时器. 定时器的工作模式 普通模式 CTC模式 快速PWM模式 相位修正PWM模式 相位频率修正PWM模式 输入捕获模式 和51单片机的定时计数器类似,根据设定的时钟频率,每过一个时钟,计数寄存器数值加1. 用到的寄存器 T/C1控制寄存器B:(控制时钟的来源和频率) 后三位的设置,1表示定时器停止,2~6表示不同频率的内部时钟,7~8表