单片机中断系统结构
- 格式:pptx
- 大小:495.14 KB
- 文档页数:24
MCS-51单⽚机的中断系统单⽚机中断技术概述在任何⼀款事件驱动型的CPU⾥⾯都应该会有中断系统,因为中断就是为响应某种事件⽽存在的。
中断的灵活应⽤不仅能够实现想要的功能,⽽且合理的中断安排可以提⾼事件执⾏的效率,因此中断在单⽚机应⽤中的地位是⾮常重要的。
单⽚机中断(Interrupt)是硬件驱动事件,它使得CPU暂停当前的主程序,转⽽去执⾏⼀个中断服务⼦程序。
为了更形象地理解中断,下⾯以学⽣上⾃习时接电话为例阐述⼀下中断的概念。
单⽚机的中断系统有5个中断源、2个中断优先级,可实现两级中断服务程序嵌套。
如果单⽚机没有中断系统,单⽚机的⼤量时间可能会浪费在查询是否有服务请求发⽣的定时査询操作上。
采⽤中断技术完全消除了单⽚机在査询⽅式中的等待现象,⼤⼤地提⾼了单⽚机的⼯作效率和实时性。
单⽚机中断系统结构及中断控制中断系统结构图如图5-2所⽰。
由图5-2可见,MCS-51中断系统共有5个中断请求源:INT0——外部中断请求0,中断请求信号由INT0引脚输⼊。
定时/计数器T0计数溢出发出的中断请求。
INT1——外部中断请求1,中断请求信号由INT1引脚输⼊。
定时/计数器T1计数溢出发出的中断请求。
串⾏⼝中断请求。
中断优先级从⾼到底排列。
单⽚机如何知道有中断请求信号?是否能够响应该中断?若5个中断源请求信号同时到来,单⽚机如何响应?这些问题都可以由中断寄存器来解决。
单⽚机中断寄存器有中断标志寄存器TCON和SCON、中断使能寄存器IE和中断优先级寄存器IP,这些寄存器均为8位。
中断标志寄存器5个中断请求源的中断请求标志分别由TCON和SCON的相应位锁存,单⽚机通过这些中断标志位的状态便能知道具体是哪个中断源正在申请中断。
TCON寄存器TCON寄存器为定时/计数器的控制寄存器,字节地址为88H,可位寻址。
特殊功能寄存器TCON的格式如图5-3所⽰。
TCON各标志位功能如下。
TF1——定时/计数器T1的溢出中断请求标志位。
单片机中断系统一、单片机中断系统的概念单片机中断系统是指在程序运行过程中,由于出现特殊情况(如外部设备的输入信号、定时器溢出等),使得单片机暂时停止当前任务的执行,转而执行相应的中断服务程序(ISR),以处理中断事件。
中断处理完毕后,再返回到中断点继续执行原来的任务。
这种特殊的中断机制,使得单片机能够同时处理多个任务,实现了实时性较高的应用程序设计。
二、单片机中断系统的结构单片机中断系统主要由以下几个部分组成:1、中断源:产生中断的外部设备或内部定时器。
2、中断请求寄存器:用于存储各个中断源的中断请求状态。
3、中断优先级寄存器:用于确定多个中断源的优先级。
4、中断服务程序(ISR):用于处理中断事件,执行相应的操作。
5、中断返回:中断处理完毕后,返回原程序继续执行。
三、单片机中断系统的处理过程当单片机检测到某个中断源发出中断请求时,会暂停当前任务的执行,按照优先级顺序执行相应的中断服务程序(ISR)。
在ISR中,程序会读取中断源的中断请求状态,并对相应的中断源进行处理。
处理完毕后,程序会返回原程序继续执行。
如果此时还有其他的中断源发出中断请求,则根据优先级顺序再次执行相应的ISR。
四、单片机中断系统的应用单片机中断系统在实时控制、数据采集、通信等领域有着广泛的应用。
例如,在工业控制中,当某个传感器发出中断请求时,单片机可以暂停当前任务的执行,转而执行相应的中断服务程序(ISR),对传感器数据进行采集和处理。
处理完毕后,再返回原程序继续执行。
这样,单片机可以在不丢失任何数据的情况下,实时地响应外部设备的请求。
五、总结单片机中断系统是实现实时控制和数据处理的重要手段之一。
通过合理的配置和使用中断系统,可以提高单片机的实时性能和数据处理能力。
在实际应用中,需要根据具体的需求和硬件条件选择合适的单片机型号和中断系统配置方案,以满足系统的实时性和稳定性要求。
单片机的中断系统在嵌入式系统设计中,单片机因其体积小、性价比高、可靠性强等特性被广泛应用。
1.简述中断、中断源、中断源的优先级及中断嵌套的含义。
答: 当CPU 正在处理某项事件的时,如果外界或内部发生了紧急情况,要求CPU 暂停正在处理的工作转而去处理这个紧急情况,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。
单片机采用中断主要有如下几个优点:①可以提高CPU 工作效率;②具有实时处理能力;③具有故障处理能力;④实现分时操作,可控制多个外设同时工作。
向CPU 提出中断请求的源称为中断源;当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU 在一个时刻只能响应并处理中断优先高的请求;在实际应用系统中,当CPU 正在处理某个中断源,即正在执行中断服务程序时,会出现优先级更高的中断源申请中断。
为了使更紧急的级别高的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理级别更高的中断源,待处理完以后,再返回到被中断了的中断服务程序继续执行,但级别相同或级别低的中断源不能中断级别高的中断服务,这就是所谓的中断嵌套。
3.MCS-51 单片机能提供几个中断源?几个中断优先级?各个中断的源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?答: 51 单片机有5 个中断源,两个中断优先级:INT0 、T0、INT1 、T1、串行口中断(包括串行接收中断RI 和串行发送中断TI)。
这 5 个中断源的中断入口地址分别是0003H、000BH、0013H、001BH、0023H。
中断优先级是由片内的中断优先级寄存器IP(特殊功能寄存器)控制的。
PS:串行口中断优先级控制位。
PS=1,串行口定义为高优先级中断源;PS=0,串行口定义为低优先级中断源;PT1:T1 中断优先级控制位。
PT1=1,定时器/计数器 1 定义为高优先级中断源;PT1=0,定时器/计数器 1 定义为低优先级中断源;PX1:外部中断 1 中断优先级控制位。
8051单片机的中断系统在单片机的世界里,8051 单片机的中断系统就像是一个有条不紊的交通指挥中心,能够让单片机在应对各种复杂任务时做到有条不紊、高效快捷。
什么是中断呢?打个比方,你正在家里专心致志地看书,突然门铃响了,这时候你就得放下手中的书去开门,处理完开门这件事之后再回来继续看书。
对于单片机来说,中断就像是这个突然响起的门铃,它会打断单片机正在进行的主程序,让单片机先去处理更紧急、更重要的任务,处理完后再回到原来的主程序继续执行。
8051 单片机的中断系统有 5 个中断源,分别是外部中断 0(INT0)、外部中断 1(INT1)、定时/计数器 0 溢出中断(TF0)、定时/计数器1 溢出中断(TF1)和串行口中断(RI 或 TI)。
外部中断 0 和 1 通常是由外部信号触发的。
比如说,连接一个传感器,当传感器检测到特定的条件时,就会产生一个信号触发外部中断,让单片机去处理相应的操作。
定时/计数器 0 和 1 溢出中断则是在定时/计数器计满溢出时产生中断。
这就好比你设定了一个闹钟,时间到了闹钟就响,单片机就知道该去执行相应的任务了。
串行口中断是在串行通信过程中,当接收或发送完一帧数据时产生的中断。
每个中断源都有自己的中断标志位。
当相应的中断事件发生时,中断标志位就会被置位。
单片机通过查询这些中断标志位来判断是否有中断请求。
为了有效地管理这些中断,8051 单片机设置了中断允许寄存器 IE和中断优先级寄存器 IP。
中断允许寄存器 IE 就像是一个总开关,决定了哪些中断源可以被响应。
如果某个中断源对应的位被设置为 1,那么它就是被允许的;如果是 0,就会被禁止。
中断优先级寄存器 IP 则决定了多个中断同时请求时的响应顺序。
就像在一个拥挤的路口,警车、救护车等具有更高优先级的车辆会先通过。
在 8051 单片机中,默认的中断优先级顺序是:外部中断 0 >定时/计数器 0 溢出中断>外部中断 1 >定时/计数器 1 溢出中断>串行口中断。
单⽚机中断系统中断系统的概念和基本结构中断发⽣:CPU正在处理某⼀程序时,发⽣了另⼀突发事件请求CPU迅速去处理;中断响应: CPU暂时停⽌当前的⼯作,转到需要处理的中断源的服务程序的⼊⼝,⼀般在⼊⼝处执⾏⼀跳转指令转去处理中断事件(中断服务);中断返回:待CPU将中断事件处理完毕后,再回到原来程序被中断的地⽅继续处理执⾏程序,这⼀处理过程称为中断返回。
当CPU与外设交换信息时,由于外设的速度⽐较慢,若⽤查询的⽅式,则CPU就要浪费很多时间去等待外设。
这样就存在⼀个快速的CPU与慢速的外设之间的⽭盾。
为了解决这个问题,就引⼊了“中断”的概念中断的优点分时操作有了中断功能,就可以使CPU和多个外设同时⼯作。
提⾼了CPU的利⽤率。
实时处理实时控制时,需要现场的各种参数、信息,可在任何时间发出中断申请,CPU就可以马上响应加以处理。
故障处理计算机在运⾏过程中,往往会出现事先预料不到的情况,或出现⼀些故障。
中断源引起中断的原因,或能发出中断申请的来源,称为中断源。
通常中断源有以下⼏种:外部输⼊、输出设备故障源控制对象定时/计数脉冲,当定时/计数器溢出时产⽣中断请求。
对于每种中断事件,要求其能够发出中断请求信号,⽽且要符合CPU响应中断的条件,即要明确属于哪种中断源。
中断源是系统规定的可引起中断的部件或来源。
中断系统的功能实现中断及返回能实现优先权排队⾼级中断源能中断低级的中断处理MCS-51单⽚机的中断系统提供5个中断申请源外部中断0和外部中断1;定时/计数器(T0)和(T1)的溢出中断;串⾏接⼝的接收和发送中断。
这5个中断源可分为两个优先级,可实现两级中断服务程序嵌套。
MCS-51单⽚机的中断系统可以提供5个中断申请源,它们的控制与实现由⽚内4个SFR来完成。
定时/计数器的控制寄存器(TCON)和串⾏接⼝控制寄存器(SCON)的相应位规定中断类型和触发⽅式;中断允许寄存器(IE)控制CPU是否响应中断请求;中断优先级寄存器(IP)安排各中断源的优先级,同⼀优先级内各中断同时提出中断请求时,由内部的查询逻辑按规定的⾃然优先级确定其响应次序。
51单⽚机中断系统概念及结构————————————————————————————————————————————中断的过程:对于单⽚机来讲,中断是指CPU在处理某⼀时间A时,发⽣了另⼀事件B请求CPU⽴刻去处理(中断发⽣);CPU暂时停⽌当前的⼯作(中断响应),转⽽去处理事件B(中断服务),待CPU处理事件B完成后,再回到原来事件A被中断的地⽅继续处理事件A(中断返回)。
①中断源// 5个中断源都有⼀个中断⼊⼝地址,当某个中断源产⽣中断时,CPU响应中断便到相应的中断⼊⼝地址执⾏中断服务程序②中断的嵌套与优先级处理③中断的响应过程- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -中断系统结构外部中断请求源:INT0、INT1外部中断0(INT0)由外部引脚P3.2引⼊,外部中断1(INT1)由外部引脚P3.3引⼊内部中断请求源:T0、T1、串⼝中断- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -程序定义⽅式定义中断函数的⼀般形式void 函数名() interrupt 中断号 using 寄存器⼯作组p.s.如果中断函数中调⽤了其他函数,则被调⽤函数所使⽤的寄存器组必须与中断函数相同。
中断函数不能参数传递,没有返回值,不能直接被调⽤。
中断序号- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -中断优先级- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -中断系统寄存器TCON:低4位给外部中断请求源使⽤,⾼4位给内部中断请求源定时器T0 T1使⽤外部请求源IT0:INT0触发⽅式控制位,可由软件进⾏置位和复位。
单片机中断系统详细教程单片机中断系统是一种用来处理外部事件的机制,它可以在程序执行过程中,根据外部事件的发生而立即打断程序的执行,转去执行相应的中断服务程序,处理完毕后再回到原来的程序代码继续执行。
在微控制器中,中断系统广泛应用于各种外部事件的处理,包括定时器中断、外部中断、串口中断等。
本文将详细介绍单片机中断系统的原理和使用方法。
一、中断系统的基本原理在单片机中,中断系统由中断源、中断向量和中断服务程序三部分组成。
中断源是指引发中断的外部事件,例如定时器计数溢出、外部输入电平变化等。
中断向量是一个特殊的地址,用于存储中断服务程序的入口地址。
中断服务程序是一段用于处理中断事件的程序代码,它会在中断发生时被自动调用执行。
当单片机在运行程序的过程中发生中断事件时,会首先保存当前的程序状态,包括程序计数器、寄存器等,然后跳转至中断向量中存储的中断服务程序的入口地址开始执行。
中断服务程序执行完毕后,会恢复之前保存的程序状态,返回到原来的程序代码继续执行。
这样的机制可以有效地处理外部事件,提高系统的响应速度和处理效率。
二、中断系统的使用方法使用中断系统需要具备以下步骤:1.初始化中断系统:根据需要选择中断源,并设置中断控制寄存器的相应位,使能或禁止中断。
2.编写中断服务程序:根据中断源的不同,编写相应的中断服务程序。
例如,对于定时器中断,可以在中断服务程序中进行定时事件的处理。
3.设置中断向量表:中断向量是一个特殊的表格,存储着中断服务程序的入口地址。
需要将中断服务程序的入口地址写入中断向量表的相应位置。
4.在主程序中启用中断:在主程序中,需要将中断使能位设置为1,从而使得中断能够被触发并执行中断服务程序。
5.在主程序中处理中断事件:根据需要,在主程序中处理中断事件。
可以通过判断特定的中断标志位来确定中断源,然后执行相应的处理逻辑。
三、中断系统注意事项在使用中断系统时,需要注意以下几点:1.中断服务程序需要尽量简短,避免过多的延时或占用过多的系统资源,否则会影响主程序的执行效率。