首页>>科技 >>内容

中断系统控制流水灯,中断系统

发布时间:2023-12-21 21:58:14编辑:温柔的背包来源:

很多朋友对中断系统控制流水灯,中断系统不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

中断系统控制流水灯,中断系统

请想象一个场景:你在公司码字,老板说要开会。你有两个选择,一是继续码字,二是去会议室开会。大脑很有可能会停下手头的事情去开会。这是一个简单的中断。假设系统没有中断,你继续码字结局也不会很好。没有中断系统,世界将变得不可想象,人们只会先完成一件事,再去做另一件事。

如果有人在吃饭,厨房炉子里的水不间断地沸腾,可能会酿成大祸。这只是一个被打断的小场景。中断系统的重要性是众所周知的。单片机是微处理器,它也有中断系统。下面介绍一下89c52的中断系统。

定义当cpu正在处理一件事A时,另一件事B发生了,要求cpu快速处理(中断发生);cpu暂时停止当前工作(中断响应),转而处理事件B(中断服务);cpu处理完事件B后,会返回原来事件A被中断的地方继续处理事件A(中断返回)。流程图如下:单片机中断流程。

中断嵌套当CPU响应一个中断时,如果一个高优先级的中断源发出中断请求,CPU可以中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高级中断,高级中断处理完成后再继续中断的中断服务程序。这个过程称为中断嵌套。

如果发出新中断请求的中断源的优先级与正在处理的中断源的优先级相同或更低,则CPU不会响应该中断请求,直到正在处理的中断服务程序被执行。流程图如下

中断嵌套流程图结构看完了中断的知识点,我们来了解一下中断的内部结构。中断系统有四个特殊功能寄存器:定时器控制寄存器TCON串行端口控制寄存器SCON中断允许寄存器IE中断优先级寄存器IP。我们来分解一下特殊功能寄存器中的定时器控制寄存器TCON,字节地址为88H,位地址为。

从88h到8fh(低到高)可以进行位寻址(对地址中的内容进行微操作的寻址方式称为位寻址)。当微控制器复位时,TCON全部清零,其位定义如下。定时器控制寄存器TF1:定时器1溢出标志。定时器/计数器1溢出时,由硬件设置;当主机响应中断并转向中断服务程序时,它被硬件清除。TR1:定时器1运行控制位,该位由软件设置/复位,以开启或关闭定时器1。

TF0:计时器0溢出标志。定时器/计数器0溢出时,由硬件设置;当主机响应中断并转向中断服务程序时,它被硬件清除。TR0:定时器0运行控制位,定时器/计数器0通过软件设置/复位打开或关闭。IE1:外部中断1转换中断请求标志,当在INT1中检测到从1到0的转换时由硬件设置;当主机响应中断并转向中断服务程序时,它被硬件清除。

IT1:外部中断1的触发模式控制位,由软件置位或清零,以选择外部中断1的跳变/电平触发中断请求。当IT1=0时,外部中断1由电平触发,当INT1输入低电平时,IE1置1。当采用电平触发模式时,外部中断源必须保持低电平有效,直到CPU响应中断,并且在执行中断服务程序之前必须清除外部中断源,否则将产生另一个中断。

当IT1=1时,外部中断1是边沿触发的。在INT1的两个相邻采样中,如果一个周期为高电平,下一个周期为低电平,则IE1置位,表示外部中断1正在向CPU申请中断。直到中断被CPU响应,它才被硬件清除。

IE0:外部中断0转换中断请求标志,当检测到INT1从1到0的转换时,由硬件置位;当主机响应中断并转向中断服务程序时,它被硬件清除。IT0:外部中断0触发模式控制位,应用同IT1。串口控制寄存器SCON串口控制寄存器SCON是一个特殊功能寄存器,字节地址为98H,可以位寻址。单片机复位时,SCON全部清零,你定义如下。串行端口控制寄存器SCON

SM0:串口工作模式的控制位。SM1:串口工作模式控制位,SM0用于选择工作模式。SM2:多机通信控制位。REN:允许串行接收控制位。它由软件设置。该位置1时,允许接收;该位置0时,禁止接收。TB8:串行传输数据的第9位,置0或1。RB8:串行接收数据的第9位。

TI:传输中断标志位由片内硬件在模式0下串行传输的第8位结束时设置,或者在其他模式下串行传输的停止位开始时设置。在中断服务程序中,必须将其清零才能发送下一个数据。RI:接收中断标志位,由片内硬件在模式0下串行接收第8位结束时设置,或者在其它模式下串行接收停止位的中途设置。在中断服务程序中,必须将其清零才能接收下一个数据。

中断使能寄存器IE中断使能寄存器IE用于设置每个中断源的开启和关闭。即在特殊功能寄存器中,字节地址为A8H。IE寄存器可以是位寻址的。单片机复位时,所有寄存器清零,各位定义如下。中断使能寄存器IEEA:CPU的中断打开标志,EA=1,打开所有中断;EA=0,所有中断被屏蔽。

ET2:定时器/计数器T2溢出中断使能位,et2=1,允许T2中断;Et2=0,t2中断被禁止。C51、S51和C2051中没有T2,所以C51、S51和C2051中的IE寄存器ET2位未定义。ES:串行端口中断使能位。Es=1,允许串口中断;Es=0,串行端口中断被禁止。ET1:定时器/计数器T1溢出中断使能位,ET1=1,允许T1中断;Et1=0,t1中断被禁止。

EX1:外部中断1中断使能位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断。ET0:定时器/计数器T0溢出中断许可位,eT0=1,允许T0中断;Et0=0,t0中断被禁止。EX0:外部中断0中断使能位。EX0=1,允许外部中断0中断;EX0=0,外部中断0中断被禁止。

中断优先级寄存器IP的IP字节地址为B8H,用于设置每个中断源属于两级中断的哪一级。中断优先级寄存器IP是可寻址的。当微控制器复位时,中断优先级寄存器IP全部清零。中断优先级寄存器IP

如果IP中的某个位为1,则该位对应的中断被定义为高优先级中断;另一方面,如果IP中的某个位为0,则该位对应的中断被定义为低优先级中断(PT2、PS,PT1、PX1、PT0,PX0分别对应定时器T2中断、串口中断、定时器T1中断和外部中断1、Timet0中断。其中,PT2位在C51、S51和C2051中未定义。中断优先级如下。中断优先级

这里说明一下中断优先级,两个中断同时发生,那么应该先执行哪个中断呢?这取决于中断源优先级。这些寄存器的位置和功能不需要记忆,只要能用,都会在数据手册中说明。内部结构读完寄存器后,我们可以了解中断系统的内部结构。内部结构如图所示。内部结构

不要怕看电路图,慢慢看你会发现很容易。先明白数据为1时开关闭合,为0时开关打开。以T1定时器为中断源看电路图。1.打开总中断(EA),全局中断许可位置12。打开定时器中断,定时器中断允许位置13。T1定时器数据溢出,导致TF1置1,并申请中断。4.如果两个中断同时发生,判断中断优先级,选择发生哪个中断请求。5.中断请求。

总结一下单片机的中断系统已经介绍过了,相信大家都或多或少的了解了一些内容。只要你认真读,这些都不难。只有一个中断系统什么都做不了。还需要其他功能,比如计数器,串口等等。

以上知识分享希望能够帮助到大家!