51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法

发布时间:2023-08-15  

  中断是为使单片机具有对外部或内部随机发生的事件进行处理而设置的。51单片机有5种中断源,即有5种对应的情况发生时会使单片机去处理中断程序(中断函数)。


  此篇主要整理定时器中断笔记。采用定时器中断会涉及中断寄存器,定时器/计数器相关寄存器(TCON,TMOD),中断函数等知识点。


  其中,中断寄存器,定时器/计数器相关寄存器本身或者相关位用来做初始化,中断函数的内容主要是体现发生中断后所需要的操作(在中断函数内写代码)。


  1.中断允许寄存器IE

  51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法

  图1.中断寄存器IE

  中断寄存器用来设定各个中断源的打开和关闭,IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H~AFH,该寄存器运行位寻址,即可对该寄存器的每一位进行单独操作。单片机复位时IE全部被清零。下面列举各位的在不同状态下的具体含义:

  EA-------全局中断允许位

  EA = 1,打开全局中断控制,在此条件下由各个中断控制位(TCON寄存器中的TRn位)控制相应中断的打开和关闭。

  EA = 0,关闭全部中断。

  -- 无效位

  ET2--定时器/计数器2中断允许位

  ET2 = 1,打开T2中断。

  ET2 = 0,关闭T2中断。

  ES--串行口中断允许位

  ES = 1,打开串行口中断。

  ES = 0,关闭串行口中断。

  ET1--定时器/计数器中断允许位

  ET1 = 1,打开T1中断。

  ET1 = 0, 关闭T1中断。

  EX1--外部中断1中断允许位

  EX1 = 1,打开外部中断1中断。

  EX1 = 0,关闭外部中断1中断。

  ET0--定时器/计数器0中断允许位

  ET0 = 1, 打开T0中断。

  ET0 = 0,关闭T0中断。

  EX--外部中断0中断允许位

  EX0 = 1,打开外部中断0中断。

  EX0 = 0,关闭外部中断0中断。

  2.定时器/计数器相关寄存器(TMOD,TCON)

  定时器/计数器工作方式寄存器(TMOD)

  51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法

  图2.定时器/计数器工作方式寄存器

  定时器/计数器工作方式寄存器在特殊功能寄存器中,字节地址为89H,不能位寻址。TMOD用来确定定时器的工作方式及功能选择。单片机复位时TMOD全被被清零。下面介绍各位在不同值下的含义:

  GATE --门控制位。

  GATE = 0,定时器/计数器启动与停止仅受TCON寄存器中TRn(n = 0, 1)来控制。

  GATE = 1,定时器/计数器启动与停止由TCON寄存器中的TRn(n=0, 1)和外部中断引脚(INT0或INT1)的电平状态来共同控制。

  C/T`--定时器模式和计数器模式选择位。

  C/T` = 1,为计数器模式;C/T` = 0,为定时器模式。

  M1M0--工作方式选择位(见下表)

  51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法

  图3.定时器/计数器的4中工作方式

  定时器/计数器控制寄存器TCON

  定时器/计数器控制寄存器在特殊功能寄存器中,字节地址为88H,位地址(由低到高)分别为88H~8FH,该寄存器可进行位寻址。TCON寄存器用来控制定时器启,停,标志寄存器溢出和中断情况。单片机复位时TCON全部被清零。各位被赋不同值的含义如下:

  51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法

  图4.定时器/计数器控制寄存器TCON

  TF1--定时器1溢出标志位

  当定时器1计满溢出时,由硬件使TF1置1,并申请中断。进入中断程序后由硬件自动清零。如使用定时器中断,则该位不用人为操作;但如用软件查询方式,当查询到该位为1时,需用软件清零。

  TR1--定时器1运行控制位

  由软件清0关闭定时器1。当GATE = 1,且INT1为高电平时,TR1置1启动定时器1;当GATE = 0时,TR1置1时即可启动定时器1.

  TF0--定时器0溢出标志位,功能和操作方式和TF1相同。

  TR0--定时器0运行标志位,其功能和操作方式同TR1。

  IE1--外部中断1请求标志

  当IT1 = 0,时为电平触发方式,每个机器周期的S5P2采样INT1引脚;若INT1引脚为低电平,则置1,否则IE1清0。

  当IT1 = 1,INT1为跳变沿触发方式,当第一个机器周期采样到INT1为低电平时,则IE1置1。IE1=1时,表示外部中断1正在向CPU申请中断。当CPU响应中断,转向中断服务程序时,该位由硬件清0.

  IT1--外部中断1触发方式选择位

  IT1= 0,为电平触发方式,引脚INT1上低电平有效。

  IT1 = 1,为跳变沿触发方式,引脚INT1上的电平从高到低的负跳变有效。

  IE0--外部中断0请求标志,其功能及操作方式同IE1。

  IT0--外部中断0触发方式选择位,其功能及操作方式同IT1。


  51单片机中断系统

  第一、什么可经引起中断,生活中很多事件能引起中断:有人按了门铃了,电话铃响了,你的闹钟闹响了,你烧的水开了…。等等诸如此类的事件,我们把能引起中断的称之为中断源,单片机中也有一些能引起中断的事件,8031中一共有5个:两个外部中断,两个计数/定时器中断,一个串行口中断。

  第二、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃响了,同时又有人按了门铃,你该先做那样呢?如果你正是在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个重要的客人,则可能就不会去理会电话了。如果不是这两者(即不等电话,也不是等人上门),你可能会按你常常的习惯去处理。总之这里存在一个优先级的问题,单片机中也是如此,也有优先级的问题。优先级的问题不仅仅发生在两个中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生的情况,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又有电话响了情况。考虑一下我们会怎么办吧。

  第三、中断的响应过程:当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不一样的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不一样的中断,我们要在不一样的地点处理,而这个地点常常还是固定的。计算机中也是采用的这种办法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。具体地说,中断响应能分为以下几个步骤:1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。2、寻找中断入口,根据5个不一样的中断源所产生的中断,查找5个不一样的入口地址。以上工作是由计算机自动完成的,与编程者无关。在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。3、执行中断处理程序。4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。究竟单片机是怎么样找到中断程序所在位置,又怎么返回的呢?我们稍后再谈。

  MCS-51单片机中断系统的结构:

  5个中断源的符号、名称及产生的条件如下。

  INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。

  INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。

  T0:定时器/计数器0中断,由T0计满回零引起。

  T1:定时器/计数器l中断,由T1计满回零引起。

  TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。

  整个中断系统的结构框图见下图一所示。

  51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法


  51单片机扩展中断的四种方法

  一、采用硬件请求和软件查询的方法:

  这种方法是:把各个中断源通过硬件“或非(高有效,如CD4002)”(与,低有效)门引入到单片机外部中断源输入

  端(INT0或INT1),同时再把外部中断源送到单片机的某个输入输出端口,这

  样当外部中断时,通过“或非”(与)门引起单片机中断,在中断服务程序中再通

  过软件查询,进而转相应的中断服务程序。显然,这种方法的中断优先级取决于

  软件查询的次序。其硬件连接和软件编程如下:

  Void zhongduan (void) interrupt 0 using 3 //中断函数

  {

  EX0=0;//关中断

  If(P0_0=1) { *****}//中断查询

  If(P0_1=1) { *****}//中断查询

  If(P0_2=1) { *****}//中断查询

  EX0=1;开中断

  }

  二、用普通二极管构成中断选择

  51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法

  扩展的8个外部中断源均通过二极管向I N T(x=0或I)请求中断。当某个外部中断源请求中断服务时输出低电平,单片机的I NT 经二极管接地电平,单片机满足响应外部中断(I N T)请求条件,响应中断,程序立即转向I NT 对应的中断入口地址处开始执行中断服务程序,通过软件查询PI.0~P1.7口外中断源的状态,以识别提出请求的外扩中断源,并转向中断服务程序为其服务,其查询顺序即为外部扩展中断源的中断优先级顺序。在图中,是选用PI.0~PI.7作为外扩中断源请求的状态信息输入端口。

  有点类似第一种方法。

  三、用定时器/计数器作外部中断

  单片机的定时器/计数器是一个加一计数器,每当计数输入端有一个“1—0”的负

  跳变时,计数器加一,当加一计数器溢出时,就向CPU发出中断,利用这个特性

  来扩展中断的方法是:首先把定时器/计数器设置成计数方式,并预置满值,把

  外部中断源输入到P3口第4引脚或第5引脚(计数器输入端),这样就可以利用

  定时器/计数器作为单片机外部中断了。注意这种方法的中断服务的入口地址应

  在000BH或001BH。

  四、用专用中断扩展芯片8259A

  8259A是可编程中断控制接口,单片机控制八级中断。在系统中还可采用级联方式,一个主片可级联8个从片,构成64级中断处理系统。

  这样在程序小于8K的情况,就可以用一片单片机实现了,而不需要用两片单片机控制,还要进行单片机点对点通讯。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法;  中断是为使单片机具有对外部或内部随机发生的事件进行处理而设置的。51单片机有5种中断源,即有5种对应的情况发生时会使单片机去处理中断程序......
    51单片机的扩展中断方法;  MCS—51系列单片机内部只有两个外部中断源输入端,当外部中断源多于两个时,就必须进行扩展,下面介绍两种简单的扩展方法:   一、采用......
    STM32单片机外部中断配置讲解;01单片机外部中断简介所谓外部中断,就是通过外部信号所引起的中断,如单片机引脚上的电平变化(高电平、低电平)、边沿变化(上升沿、下降沿)等。51单片机有5个中断......
    51单片机外部中断实验;前面,我们讲了51单片机的输入和输出功能,今天讲点不一样的,外部中断测试。 首先,关于中断的作用,我们要讲一下,处理内部外部随机事件,应对紧急事件的发生。CPU在执行程序......
    STM32外部中断解决方法;01 单片机外部中断简介 所谓外部中断,就是通过外部信号所引起的中断,如单片机引脚上的电平变化(高电平、低电平)、边沿变化(上升沿、下降沿)等。51单片机有5个中断......
    51单片机外部中断点亮LED;外部中断软件设计原理 中断发生的三个条件 ①中断源有中断请求; ②此中断源的中断允许位为 1; ③CPU 开中断(即 EA=1)。 比如我们配置外部中断 0,对应的配置程序......
    一文详解MCS-51单片机的中断系统;MCS-51中断系统:5个中断源(两个外部中断, 两个定时器, 一个串口),2个优先级 中断相关概念 中断:当CPU正在处理某件事情时,单片机外部......
    定时器中断是什么意思,定时器中断的工作原理;定时器中断是由单片机中的定时器溢出而申请的中断51单片机中有两个定时器T0和T1。STM32中共有11个定时器。 一、定时器中断是什么意思 定时器中断是由单片机中的定时器溢出而申请的中断......
    单片机的应用与开发,实际上就是通过单片机的三个重要外设,即外部中断、定时器/计数器和串口来实现对寄存器的操作。 三、中断结构图 四、特殊功能寄存器 IE :中断控制寄存器 IP :中断......
    较为复杂。 但51单片机这个过程被大大简化了,51系列基本型单片机只有5个中断源,这5个中断源的中断程序入口地址是固定的。 2)断点保护 在处理器找到中断程序的入口地址后,就会暂停主程序的执行,转去执行终端服务子程序......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>