单片机主中断原理概念.docx
《单片机主中断原理概念.docx》由会员分享,可在线阅读,更多相关《单片机主中断原理概念.docx(6页珍藏版)》请在知海网上搜索。
中断:当外围设备需要通信服务时,主动告诉CPU停止当前工作来处理中断程序,从而提高CPU的工作效率。
1、单片机中的CPU(暂时称为CPU)会检查中断源(如外部中断、定时器溢出等。
)在每个程序周期中。
2、一旦发现中断,会立即停止当前程序(一般高级单片机会仲裁中断级别),保护现场不被V卸载。
3、单片机中的中断是指当中断源信号的触发条件满足时,触发中断机制的动作,PC跳转到中断向量,原上下文放入堆栈,是一种工作机制。
4、中断是指当处理器运行过程中出现一些需要主机干预的意外情况时,机器可以自动停止正在运行的程序,切换到处理新情况的程序,处理完后再回到原来暂停的程序继续运行。
5、中断的意思是“中断”,即允许正常运行的程序被一些紧急事务中断,前提是你允许中断发生,并且中断条件已经满足,比如定时器计时到期或者外部引脚来到低电平。
单片机中断分为外部中断和定时器中断。
定时器/计数器中断0/1,串行端口中断!比如你可能更容易理解。
定时中断:比如你计时1ms,主程序正在运行。
6、当1ms的时间到了,你会运行到定时中断子程序去执行,执行完后再返回主程序。
7、中断:MCS-C51单片机的CPU在处理某件事情时,在单片机外部或内部的某个时间请求CPU立即处理,于是CPU暂时挂起当前的工作,去终端服务处理程序处理事件。
8、编号:时间:2021年X月X日这是一条通往书籍之山的道路,学习永无止境页码:第6页,共6页单片机的主要中断原理中断的概念什么是中断?我们从一个生活实例来介绍。
你正在家里看书,突然电话响了。
你放下书,接电话,和打电话的人说话,然后放下电话,回来继续看你的书。
这就是生活中的“中断”现象,即正常的工作过程被外界事件打断仔细研究一下生活中的中断,对我们学习单片机的中断也是非常有益的。
第一,什么会导致中断?生活中的许多事件都会造成中断:有人按门铃,电话铃响,你的闹钟响,你烧开的水开了,等等。
我们把那些能够引起中断的事件称为中断源。
还有一些事件会导致单片机中断。
8031中有五个:两个外部中断、两个计数器/定时器中断和一个串行端口中断。
第一次中断的嵌套和优先级处理:想象一下,我们正在看书,电话响了,同时有人按门铃。
你应该先做什么?如果你在等一个重要的电话,你通常不会注意门铃。
相反,如果你在等一个重要的客人,你可能不会注意电话。
如果不是这两种(也就是不等电话,不等人上门),你可能会按照你平时的习惯来处理。
总之这里有个优先级问题,单片机也是,也有个优先级问题。
优先级的问题不仅发生在两个中断同时发生的时候,还会发生在一个中断已经发生而另一个中断已经发生的时候,比如你正在接电话,有人按门铃,或者你正在开门和人说话,电话又响了。
想想我们要做什么。
第一次中断的响应过程:当事件发生时,进入中断前一定要记住现在正在读的书的哪一页,或者在当前页的位置放一个书签,然后处理不同的事情(因为处理完了还要回去继续读):电话响了,我们就去放电话的地方,门铃响了,我们就去开门,代表不同的中断。
我们要异地处理,这个地方一般都是固定的。
这种方法也用于计算机。
每个中断产生后,五个中断源去一个固定的地方寻找处理这个中断的程序。
当然,在去之前,要先保存下一条要执行的指令的地址,这样在处理完中断之后,他们就可以回到原来的地方继续执行程序。
具体来说,中断响应可以分为以下几个步骤:保护断点,即保存下一条要执行的指令的地址,即将这个地址发送到堆栈。
找到中断入口,根据五个不同中断源产生的中断,找到五个不同的入口地址。
以上工作由计算机自动完成,与程序员无关。
中断处理程序存储在这五个入口地址(这是写程序时放在那里的。
如果中断程序没有放在那里,那就是错误的,中断程序无法执行)。
执行中断处理程序。
中断返回:执行完中断指令后,从中断点返回主程序,继续执行。
单片机到底是怎么找到中断程序的位置,又是怎么返回的?我们以后再谈。
MCS-51中断系统的结构:它由与中断、中断条目、顺序查询逻辑电路等相关的特殊功能寄存器组成。
,包括五个中断请求源,以及用于中断控制的四个寄存器IE、IP、ECON和SCON,以控制中断分类、中断打开和关闭以及各种中断源的优先级确定。
中断请求源:(外部中断请求源:通过外部引脚引入的外部中断0和1,在单片机上有两个引脚名为INTINT1,即PP3。
内部TCON中有4位与外部中断相关。
IT触发模式的控制位可以通过软件设置和复位。
IT0=0,IT0为低电平触发模式,IT0=1,INT0为负跳变触发模式。
这两种方法的区别将在后面讨论。
IEINT0中断请求标志位。
当有外部中断请求时,该位将被置1(这由硬件完成)。
CPU响应中断后,硬件将清除IE0。
ITIE1的目的与ITIE0的目的相同。
(内部中断请求源TF定时器T0的溢出中断标志。
当T0计数溢出时,TF0由硬件设置。
当CPU响应中断时,TF0被硬件清除。
TF类似于TF0。
TI,RI:串口发送和接收中断,会在串口中解释。
中断使能寄存器IE在MCS-51中断系统中,中断的允许或禁止是由芯片上的位寻址的8位。
中断使能寄存器IE控制。
请参见下表电子艺界游戏公司xx萨尔瓦多ET1EX1ET0EX0其中EA是主开关,如果它等于0,则不允许所有中断。
es-允许串行端口中断ET1-允许定时器1中断EX1-外部中断1中断允许。
允许ET0-定时器0中断EX0-外部中断0中断允许。
如果我们想允许外部中断1,定时器1中断允许,而其他不允许,即可以电子艺界游戏公司xx萨尔瓦多ET1EX1ET0EX0一个000一个一个00也就是8CH。
当然,我们也可以用位来操作指令。
SETB电子艺界SETBET1SETBEX1去实现它。
五个中断源的自然优先级和中断服务入口地址外部中断0003h计时器000小时外部中断0013h计时器001小时串口:0023H他们的自然优先级从高到低排列。
写到这里,你应该明白为什么前面有一些程序一开始要这样写:ORG0000HLJMP启动ORG0030H开始:。
这样写的目的是放弃中断源所占用的向量地址。
当然,在程序没有中断的情况下,直接从0000H开始写程序原则上没有错,但实际工作中最好不要这样做。
优先级:MCU采用自然优先级和手动设置高低优先级的策略,即程序员可以设置哪些中断是高优先级,哪些中断是低优先级。
因为只有两级,所以一定会有一些同级的中断,而同级的中断是由自然优先级决定的。
启动时,每个中断都处于低优先级,我们可以用指令来设置优先级。
请看表2如果中断优先级寄存器IP将中断优先级设置为高,相应地,IP中的一个位将被设置为1。
的中断为高优先级,否则为低优先级。
xxx附言(同postscript);警官(policesergeant)PT1PX1PT0PX0例:设置如下要求:将T1外的中断设为高优先级,其他设为低优先级,求IP的值。
IP的前3位是没用的,可以取任意值,设为000,然后按要求写。
xxx附言(同postscript);警官(policesergeant)PT1PX1PT0PX000000一个一个0所以最后IP的值是06H。
例子:在上面的例子中,如果五个中断请求同时发生,求中断响应的顺序。
响应顺序为:定时器0-外部中断1-外部中断0-实时中断1-串行中断。
MCS-51单片机的中断响应过程:中断响应的条件:在这一点上,我们仍然惊讶于计算机对中断的响应。
我们可以对外部事件做出反应,因为我们有各种各样的“传感器”眼睛和耳朵可以接受不同的信息。
计算机是如何做到这一点的?其实说白了,一点都不奇怪。
MCS51工作时,会在每个机器周期检查每个中断标志,看它们是否为“1”。
如果都是1,说明有中断请求,所以所谓的中断其实就是查询,只是每个周期检查一次。
对于成年人来说,这相当于你在看书的时候,每秒钟都要抬头,问是不是有人按门铃,有电话。
很蠢,不是吗?但是电脑就是这样,根本没人聪明。
了解了上面的中断过程,就不难理解中断响应的条件了。
在以下三种情况之一时,CPU将阻止对中断的响应:CPU正在处理同一级别或更高级别的中断请求。
当前机器周期不是当前正在执行的指令的最后一个周期。
我们知道,单片机有单周期、双周期、三周期指令,电流指令是不是单字节无关紧要。
如果是双字节或者四字节,那就要等到整个指令执行完之后才能响应中断(因为每个机器周期都可以找到中断查询)。
当前正在执行的指令是返回批处理指令(RETI)或访问IP或IE寄存器的指令,那么CPU应该仅在执行至少一个以上的指令后被中断。
这些都和中断有关。
如果你正在访问IP或IE,你可能会打开或关闭中断,或者改变中断的优先级,而中断返回指令意味着中断还没有被处理,所以你必须等到这个指令被处理后,再执行另一个指令来响应中断。
中断响应过程CPU响应中断时,首先将当前指令(即中断返回后要执行的指令)的下一条指令的地址发送到堆栈,然后根据中断标志将相应的中断入口地址发送到PC。
PC是程序指针,CPU会根据PC里的值和PC里的值是什么来取指令,所以程序会去中断入口继续执行。
这些任务都是硬件完成的,我们不用去想。
这里还有一个问题。
大家有没有注意到每个中断向量地址只隔了8个单位,比如0003-000B?如何在这么小的空间内完成中断程序?很简单。
你在中断处安排了一个LJMP指令,所以你可以在任何地方跳转中断程序。
一个完整的主程序应该是这样的:ORG0000HLJMP启动ORG0003HLJMPINT0传出中断0ORG000BH。
RETI;定时器0不是用来中断的,所以在这里放一个RETI。
万一“意外”中断,也不会有什么大的后果。
中断程序完成后,必须执行RETI指令。
执行完这条指令后,CPU会取出存储在堆栈中的地址,并发送给PC,这样程序就会从主程序的中断点继续执行。
注意:CPU所做的保护工作是非常有限的,只有一个地址受到保护,其他的都不受保护。
所以,如果用a,PSW等。
在主程序中,你需要在中断程序中使用它们,并确保在返回主程序后,里面的数据仍然不是中断前的数据,你得自己保护它。
第6页共6页。
- 下载必读:
1、word格式文档无特别注明外均可编辑修改;预览文档经过压缩,下载后原文更清晰!
2、纯PPT格式课件,可能不包含音视频文件,无法播放。请谨慎下单,否则后果自负。
3、试题类资料,若没标明(含答案),则可能不含答案。对于标明含答案的试题,其主观题也可能无答案。请谨慎下单,否则后果自负。- 版权声明:
该资料为 【上传人(卖家):盘川A】主动上传,所获收益归该上传人。本站对所上传内容,不做编辑和修改!知海网作为网络服务提供商,仅对该作品提供存储保护!我们不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 机主 中断 中止 间断 原理 概念
- 本文标题:
单片机主中断原理概念.docx
- 链接地址:
https://www.zhwenku.com/edit/40058.html
最新DOC
最新PPT
- 日常防火巡查内容及方法
- 火场逃生十二诀总结
- 电气火灾的原因、预防及扑救方法
- 9.4.3深部真菌病曲霉病儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 9.4.2深部真菌病隐球菌病儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 9.4.1深部真菌病假丝酵母菌病儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 9.3.3小儿急性粟粒性肺结核儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 9.3.4结核性脑膜炎儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 9.3.2小儿原发性肺结核儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 9.3.1小儿结核病概述儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 9.2.1猩红热儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 9.2.2-流行性脑脊髓膜炎儿科学人卫版第10版教材PPT课件下载龙殿法第十版
- 安全风险分级管控和事故隐患排查治理双重预防机制建设
- 安全漫画-作业现场违章分析
- 安全生产应知应会