51单片机中断概述和中断源以及中断寄存器的详细资料概述
- 格式:doc
- 大小:21.50 KB
- 文档页数:4
51单片机中断知识总结如下:一、中断概念中断是一种特殊的事件处理机制,当单片机在执行程序时,如果发生某种突发事件(如外部中断请求、定时器溢出等),需要立即处理,这时单片机就会暂时中断当前的工作,转去处理这个突发事件。
处理完后再回到原来被中断的地方继续执行程序。
这个过程就称为中断。
二、51单片机的中断系统结构51单片机的中断系统由中断允许寄存器IE控制。
IE寄存器可以控制所有中断以及某个中断源的开放和屏蔽。
三、中断标志位中断标志位是用于标识某个事件是否发生的中断信号。
当发生某个事件时,硬件会自动置位相应的中断标志位。
四、中断响应条件中断响应条件包括两个:1)允许中断标志位为1;2)相应中断的优先级最高。
只有当这两个条件都满足时,单片机才会响应中断。
五、中断处理中断处理是对中断源进行有针对性的服务。
用户需要编写相应的中断处理程序,以便在发生中断时执行相应的操作。
六、中断返回中断返回是指返回到主程序断点处,继续执行主程序。
这个过程由硬件自动完成。
七、外部中断外部中断是由外部设备产生的中断请求。
在51单片机中,外部中断可以通过INT0和INT1引脚输入。
外部中断的触发方式可以是下降沿触发或电平触发。
八、定时器中断定时器中断是由定时器溢出产生的中断请求。
当定时器溢出时,硬件会自动置位相应的中断请求标记,并产生中断请求。
九、串口中断串口中断是由串行口接收完一帧数据后产生的中断请求。
当串行口接收完一帧数据后,硬件会自动置位相应的中断请求标记,并产生中断请求。
以上就是关于51单片机中断的知识总结,希望能够帮助到您。
一、中断的概念CPU在处理某一事件A时,发生了另一事件B请求C PU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待C PU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断二、中断源在51单片机中有5个中断源中断号优先级中断源中断入口地址0 1(最高)外部中断0 0003H1 2 定时器0 000BH2 3 外部中断1 0013H3 4 定时器1 0018H4 5 串口总段0023H三、中断寄存器单片机有10个寄存器主要与中断程序的书写控制有关1.中断允许控制寄存器IE2.定时器控制寄存器TC ON3.串口控制寄存器SCON4.中断优先控制寄存器IP5.定时器工作方式控制寄存器TMOD6.定时器初值赋予寄存器(TH0/TH1,TL0/TL1)四、寄存器功能与赋值说明注:在用到中断时,必须要开总中断EA,即EA=1。
//开总中断1.中断允许控制寄存器IEEX0(EX1):外部中断允许控制位EX0=1 外部中断0开关闭合//开外部0中断EX0=0 外部中断0开关断开ET0(ET1):定时中断允许控制位ET0=1 定时器中断0开关闭合//开内部中断0ET0=0 定时器中断0开关断开ES: 串口中断允许控制位ES=1 串口中断开关闭合//开串口中断ES=0 串口中断开关断开2.定时器控制寄存器TCON //控制外部中断和定时器中断外部中断:IE0(IE1):外部中断请求标志位当INT0(INT1)引脚出现有效的请求信号,此位由单片机自动置1,cpu开始响应,处理终端,而当入中断程序后由单片机自动置0.//外部中断,即外部中断相应的引脚接入低电平或下降沿信号时,中断开始响应。
IT0(IT1):外部中断触发方式控制位//选择有效信号IT0(IT1)=1:脉冲触发方式,下降沿有效。
IT0(IT1)=0:电平触发方式,低电平有效。
51 单片机中断1 中断整体介绍
简单介绍--[高手绕过这一段;心急的直接跳到下一部份]
>_>_外部中断请求源:即外部中断0 和1,经由外部引脚引入,在单片机上有两个引脚,外称为INT0、INT1,也就是P3.2、P3.3 这两个引脚
>_单片机内部的中断模块在每个CPU 周期都查询各个中断源的状态,当其
发生预期的中断事件时,通知CPU 将程序跳转到中断服务程序所在的程序存
储器(ROM)地址。
该地址称为中断向量。
中断的实质仍然是查询,只是不需要用户程序查询,不占用CPU 运行时间
而已。
51 系列只有5 个中断向量,5X 系列还增加一个定时器2 的中断向量
地址中断入口中断编号0x0 复位0x3 外部中断00 0xB 定时器01 0x0013 外部中断1 2 0x001B 定时器1 3 0x0023 串口4 0x002B 定时器2(5x 系列新增的)5
>_以INT0 为例:中断模块在每个CPU 时钟周期都查询P3.2 的状态,当输
入的电平由高电平变为低电平时,CPU 的程序运行会立即跳转的到地址
0x03。
处理INT0 中断的代码放在地址为0x03 开始的ROM 区域。
c 语言中采
用一类特殊的函数来实现此代码定位的功能,叫做中断服务函数,格式如下:
void 函数名()interrupt N
函数名可以任意,但一般要用一个有意义的函数名,N 代表中断向量编号。
>_MCS51 中断系统中,中断的允许或禁止是由片内可以进行位寻址的8 位
中断允许寄存器IE 来控制的。
EX0 :外中断0 中断允许。
51单片机中断原理中断是指当51单片机在执行一些指令的过程中,又接收到一个来自外部的中断请求信号时,暂停当前正在执行的指令,转去执行与中断请求相关的处理程序,待处理程序执行完毕后再返回原来的执行点继续执行原来的指令。
中断机制可以使得单片机能够及时响应外设的请求,提高系统的实时性和可靠性。
首先是中断请求源,可以有外部中断源和内部中断源。
外部中断源一般包括外部中断0和外部中断1,通过将中断请求源的引脚与外部设备连接,当外部设备有中断请求时,将引脚的电平变化传递给单片机。
内部中断源一般包括定时器中断和串口中断,通过配置相关的寄存器来使得定时器或者串口产生中断请求。
其次是中断优先级控制,根据中断优先级控制寄存器的配置,可以对各个中断源的优先级进行设置。
当多个中断源同时请求中断时,根据优先级控制寄存器的设置,选择较高优先级的中断源进行响应。
最后是中断服务程序,当中断源发出中断请求时,单片机会自动跳转到该中断源对应的中断向量表中的中断向量地址,并将PC(程序计数器)寄存器的值更新为该地址,开始执行中断服务程序。
中断服务程序是被程序员事先编写好的,用于处理中断请求的具体逻辑。
当中断服务程序执行完毕后,通过中断返回指令RET,将PC寄存器的值恢复为中断发生前的值,从而继续执行原来的指令。
中断的处理流程如下:1.启用中断前,需要设置中断优先级控制寄存器的值,来决定哪些中断源具有更高的优先级,哪些中断源具有较低的优先级。
2.当中断源发出中断请求时,单片机会暂停当前的执行,保存现场,即将PC、PSW等相关寄存器的值保存在堆栈中。
3.单片机会将PC的值更新为中断源对应的中断向量表中的中断向量地址。
4.执行中断服务程序,处理中断请求的具体逻辑。
5.中断服务程序执行完毕后,通过中断返回指令RET,将PC寄存器的值恢复为中断发生前的值。
6.恢复现场,将保存在堆栈中的值恢复到相应的寄存器中。
7.继续执行原来的指令。
总结起来,51单片机的中断机制是通过配置中断请求源、中断优先级和中断服务程序来实现的。
51单片机中断原理
单片机中断原理是指在程序运行过程中,可以通过外部信号的触发,中断当前的执行流程,转而去执行相应的中断服务程序。
其工作原理主要包括中断源、中断控制器和中断服务程序三个部分。
1. 中断源:中断源是指能够产生中断信号的外部设备或事件。
常见的中断源包括定时器溢出中断、外部中断、串口接收中断等。
当中断源发生中断事件时,会向中断控制器发送中断请求。
2. 中断控制器:中断控制器是用来管理和响应中断请求的硬件电路。
当中断请求到达时,中断控制器首先会检查当前的中断优先级,然后决定是否响应中断请求。
如果响应中断请求,中断控制器会将中断信号发送给单片机核心,告知其发生了中断事件。
3. 中断服务程序:当单片机核心接收到中断信号时,会中断当前的执行流程,转而去执行与中断源对应的中断服务程序。
中断服务程序是为了处理中断事件而编写的特定功能的程序代码。
执行完中断服务程序后,单片机核心会返回到中断发生时的原始执行位置,继续执行原来的程序。
通过中断的方式,单片机可以在进行其他任务的同时,及时响应重要的中断事件,提高系统的响应速度和实时性。
在中断服务程序中,可以实现对中断事件的处理,以满足不同应用的需求。
同时,通过合理设置中断优先级,可以确保重要的中断得到及时处理。
51单片机中断原理在单片机的世界里,中断就像是一个随时待命的“紧急事务处理员”。
当单片机正在执行主程序,忙得不可开交时,突然来了一些紧急情况,比如外部设备发来的数据需要立刻处理,或者定时时间到了需要执行特定的操作,这时候中断就发挥作用了。
要理解 51 单片机的中断原理,咱们得先从几个基本概念说起。
首先是中断源。
这可以想象成是引起中断的“源头”。
在 51 单片机中,常见的中断源有外部中断 0、外部中断 1、定时器/计数器 0 溢出中断、定时器/计数器 1 溢出中断,还有串行口中断。
这些中断源就像是不同的“紧急事务”,各自有着特定的触发条件。
比如说外部中断 0 和 1,通常是由外部引脚的电平变化引起的。
当设定的引脚从高电平变为低电平(或者反过来),就会触发相应的外部中断。
定时器/计数器的溢出中断呢,则是当定时器/计数器累计到设定的值时产生的。
这就好比一个闹钟,设定的时间一到,就会响铃提醒。
串行口中断则是在串行通信过程中,出现特定的通信事件时触发。
接下来是中断允许控制寄存器 IE。
它就像是一个“总开关”,决定哪些中断源被允许响应。
如果某个中断源对应的位被设置为 1,就表示允许这个中断源产生中断;如果是 0,就表示禁止。
然后是中断优先级控制寄存器 IP。
在多个中断源同时请求中断时,中断优先级就决定了哪个中断先被处理。
优先级高的中断会先得到响应,处理完后再处理优先级低的中断。
当一个中断发生时,单片机可不是手忙脚乱地随便处理。
它有着一套严格的中断响应流程。
首先,单片机在执行主程序时,会不断检测是否有中断请求。
一旦检测到有中断请求,并且中断是被允许的,单片机会暂停当前正在执行的主程序,把当前主程序的断点地址(也就是接下来要继续执行主程序的位置)保存起来。
这就像是在一张纸上记下当前做到哪一步了,等处理完中断回来还能接着做。
然后,单片机就会跳转到相应的中断服务程序去执行。
中断服务程序就像是专门处理紧急事务的“小分队”,有着特定的任务和处理逻辑。
外部中断要回答这个问题首先要清楚什么是中断。
中断是处理器(一般是我们常说的CPU)处理外部突发事件的一个重要技术。
它能使处理器在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行处理器原来的工作。
引起中断的原因或者说发出中断请求的来源叫做中断源。
根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。
对于单片机来说,中断是单片机的一个重要功能之一,是学习单片机必须掌握的一个知识点。
51单片机有五个中断源,即有五种情况发生时单片机会产生中断。
为了助于大家理解中断这个概念,我们举个生活中的例子。
你烧上一壶水,然后去洗衣服,洗衣过程中忽然听到水开了的壶哨声,你要先停下洗衣服的动作去关火,然后把水放在暖壶中,灌完开水后还要接着去洗衣服。
这个停下一件事去干另一件事的过程就是一次中断的发生过程,其流程图如图7.1.2所示。
因为CPU在一个时间内只能处理一件事,对于单片机来讲,CPU在执行A时间时,应中断源要求(中断发生)CPU停止当前工作(中断响应)去执行B事件(中断服务),待B执行完后接着返回执行A事件(中断返回)这一过程称为中断,其流程图如图7.1.1所示。
图7.1.1单片机中断过程图7.1.2生活中的中断事例再回来看前面讲的生活事例,与单片机中断结合分析,你的主任务是洗衣服,水开报警这是一个中断请求,这一时刻相当于断点处,你响应中断去关火,然后将开水灌入暖水瓶中,这一动作实际上就是处理中断程序,灌完开水后再回去继续洗衣服,相当于处理完中断程序后再返回主程序继续执行主程序。
这里需要注意的是,水开是随时都有可能的,但是无论什么时候开,只要一开你将立即去处理它,处理完后再回来继续接着洗刚才那件衣服。
单片机在执行程序时,中断也随时有可能发生,但无论何时发生,只要一旦发生,单片机将立即暂停当前程序,赶去处理中断程序,处理完中断程序后再返回刚才暂停处接着执行原来的程序。
单片机:第七章 51单片机中断系统在单片机的世界里,中断系统就像是一个高效的“调度员”,能够让单片机在处理多个任务时灵活应对,避免出现混乱和延误。
在 51 单片机中,中断系统更是发挥着至关重要的作用。
首先,咱们来了解一下什么是中断。
想象一下,单片机正在专心致志地执行着一个任务,比如说计算一系列的数据。
这时候,突然有一个更紧急、更重要的事情发生了,比如外部设备传来了一个需要立即处理的信号。
这时候,单片机就得暂时放下手头的工作,先去处理这个紧急的事情,处理完之后再回来继续之前的工作。
这个过程就是中断。
51 单片机的中断系统有 5 个中断源,分别是外部中断 0、外部中断1、定时器/计数器 0 中断、定时器/计数器 1 中断和串行口中断。
每个中断源都有自己独特的标志位和中断入口地址。
外部中断 0 和外部中断 1 通常是由外部的信号触发的。
比如说,你可以将一个按键连接到单片机的引脚,当按下按键时,就会产生一个外部中断信号,让单片机去执行相应的中断服务程序。
定时器/计数器 0 和定时器/计数器 1 中断则是基于单片机内部的定时器/计数器模块。
你可以设置定时器/计数器的工作模式和计数初值,当计数值达到设定的值时,就会产生中断。
这在很多需要定时操作的场景中非常有用,比如定时采集数据、定时发送数据等。
串行口中断则是在单片机进行串行通信时产生的。
当串行口完成发送或接收数据时,就会触发中断,让单片机进行相应的处理。
那么,51 单片机是如何管理这些中断的呢?这就要提到中断优先级了。
51 单片机有两个中断优先级,分别是高优先级和低优先级。
高优先级的中断可以打断正在执行的低优先级中断,而低优先级的中断则不能打断高优先级的中断。
通过设置中断优先级,可以确保重要的中断能够及时得到处理。
要使用 51 单片机的中断系统,首先需要进行初始化设置。
这包括设置中断允许寄存器 IE,确定哪些中断源是允许中断的;设置中断优先级寄存器 IP,确定各个中断源的优先级;还要设置相关的控制寄存器,比如定时器/计数器的控制寄存器等。
51单片机中断概述和中断源以及中断寄存器的详细资料概述
一、中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU 迅速去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断
二、中断源
在51单片机中有5个中断源
三、中断寄存器
单片机有10个寄存器主要与中断程序的书写控制有关
1.中断允许控制寄存器IE
2.定时器控制寄存器TCON
3.串口控制寄存器SCON
4.中断优先控制寄存器IP
5.定时器工作方式控制寄存器TMOD
6.定时器初值赋予寄存器(TH0/TH1,TL0/TL1)
寄存器详细说明:http://blog.sina/s/blog_a05b986d0101545cl
四、寄存器功能与赋值说明
注:在用到中断时,必须要开总中断EA,即EA=1。
//开总中断
1.中断允许控制寄存器IE
EX0(EX1):外部中断允许控制位
EX0=1 外部中断0开关闭合 //开外部0中断 EX0=0 外部中断0开关断开
ET0(ET1):定时中断允许控制位
ET0=1 定时器中断0开关闭合 //开内部中断0
ET0=0 定时器中断0开关断开 ES: 串口中断允许控制位。