51单片机汇编语言教程:18课单片机中断系统.pdf
《51单片机汇编语言教程:18课单片机中断系统.pdf》由会员分享,可在线阅读,更多相关《51单片机汇编语言教程:18课单片机中断系统.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HLMCU.COM淘宝网:http:/ 18课-单片机中断系统(基于 HJ-1G、HJ-3G 实验板)有关单片机中断系统的概念:什么是中断,我们从一个生活中的例程引入。你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。仔细研究一下生活中的中断,对于我们学习单片机的中断也很有好处。第一、什么可以引起中断,生活中很多事件能引起中断:有人按了门铃了,电话铃响了,你的
2、闹钟闹响了,你烧的水开了.等等诸如此类的事件,我们把能引起中断的称之为中断源,单片机中也有一些能引起中断的事件,8031中一共有 5个:两个外部中断,两个计数/定时器中断,一个串行口中断。第二、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃响了,同时又有人按了门铃,你该先做那样呢?如果你正是在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个重要的客人,则可能就不会去理会电话了。如果不是这两者(即不等电话,也不是等人上门),你可能会按你常常的习惯去处理。总之这里存在一个优先级的问题,单片机中也是如此,也有优先级的问题。优先级的问题不仅仅发生在两个中断同时产生的情况,也发生
3、在一个中断已产生,又有一个中断产生的情况,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又有电话响了情况。考虑一下我们会怎么办吧。第三、中断的响应过程:当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不一样的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不一样的中断,我们要在不一样的地点处理,而这个地点常常还是固定的。计算机中也是采用的这种办法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回
4、到原来的地方继续往下执行程序。具体地说,中断响应能分为以下几个步骤:1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。2、寻找中断入口,根据 5个不一样的中断源所产生的中断,查找 5个不一样的入口地址。以上工作是由计算机自动完成的,与编程者无关。在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。3、执行中断处理程序。4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。究竟单片机是怎么样找到中断程序所在位置,又怎么返回的呢?我们稍后再谈。51 单片机汇编语言教程-慧净电子会员收集整理(全部
5、 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HLMCU.COM淘宝网:http:/ 单片机中断系统的结构:5个中断源的符号、名称及产生的条件如下。INT0:外部中断 0,由P32端口线引入,低电平或下跳沿引起。INT1:外部中断 1,由P33端口线引入,低电平或下跳沿引起。T0:定时器计数器 0中断,由T0计满回零引起。T1:定时器计数器l 中断,由T1计满回零引起。TIRI:串行I O 中断,串行端口完成一帧字符发送接收后引起。整个中断系统的结构框图见下图一所示。文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H1
6、0X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4
7、K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N
8、1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6
9、H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6
10、Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F
11、8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8
12、C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N151 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HLMCU.COM淘宝网:http:/ SCON 来控制中断类弄、中断的开、关和各种中断源的优先级确定。中断请求源:(1)外部中断请求源:即外中断0和1,经由外部管脚引入的,在单片机上有两个管脚,名称为 INT0、INT1,也就是P3.2、P3.3这两个管脚
13、。在内部的TCON 中有四位是与外中断有关的。IT0:INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。这两种方式的差异将在以后再谈。IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在 CPU响应中断后,由硬件将 IE0清0。IT1、IE1的用途和IT0、IE0相同。(2)内部中断请求源TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0。当 CPU响应中断后,再由硬件将TF0清0。TF1:与 TF0类似。TI、RI:串行口发送、接收中断,在串行口中再讲解。2、中
14、断允许寄存器 IE 在 MCS 51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器 IE 来控制的。见下表EAX其中 EA是总开关,如果它等于 0,则所有中断都不允许。ES 串行口中断允许ET1 定时器1中断允许EX1 外中断 1中断允许。ET0 定时器 0中断允许EX0 外中断 0中断允许。如果我们要设置允许外中断 1,定时器 1中断允许,其它不允许,则IE 能是 EAX即8CH,当然,我们也能用位操作指令SETB EASETBET1SETBEX1来实现它。3、五个中断源的自然优先级与中断服务入口地址外中断0:0003H定时器 0:000BH外中断 1:0013H 定时
15、器 1:001BH 串行口:0023H 它们的自然优先级由高到低排列。写到这里,大家应当明白,为什么前面有一些程序一始我们这样写:ORG0000HLJMPSTARTORG0030HSTART:。这样写的目的,就是为了让出中断源所占用的向量地址。当然,在程序中没用中断时,直接从0000H 开始写程序,在原理上并没有错,但在实际工作中最好不这样做。优先级:单片机采用了自然优先级和人工设置高、低优先级的策略,即能由程序员设定那些中断是高优先级、文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F
16、8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8
17、C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1
18、J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C
19、1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3
20、P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9
21、O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z
22、8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N151 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HLMCU.COM淘宝网:http:/ 来高置的,IP 中某位设为 1,对应的中断就是高优先级,不然就是低优先级。XXXPSPT1PX1PT0PX0例:设有如下要求,将T0、外中断 1设为高优先级,其它为低优先级,求IP 的值。IP 的首3位没用,可任意取值,设为000,后面根据要求写就能了XX因此,最终
23、,IP的值就是 06H。例:在上例中,如果 5个中断请求同时发生,求中断响应的次序。响应次序为:定时器0外中断 1外中断 0实时器 1串行中断。MCS 51的中断响应过程:1、中断响应的条件:讲到这儿,我们依然对于计算机响应中断感到神奇,我们人能响应外界的事件,是因为我们有多种“传感器“眼、耳能接受不一样的信息,计算机是如何做到这点的呢?其实说穿了,一点都不希奇,MCS51 工作时,在每个机器周期中都会去查询一下各个中断标记,看他们是否是“1“,如果是 1,就说明有中断请求了,所以所谓中断,其实也是查询,不过是每个周期都查一下而已。这要换成人来说,就相当于你在看书的时候,每一秒钟都会抬起头来看
24、一看,查问一下,是不是有人按门铃,是否有电话。很蠢,不是吗?可计算机本来就是这样,它根本没人聪明。了解了上述中断的过程,就不难解中断响应的条件了。在下列三种情况之一时,CPU将封锁对中断的响应:CPU正在处理一个同级或更高级别的中断请求。现行的机器周期不是当前正执行指令的最后一个周期。我们知道,单片机有单周期、双周期、三周期指令,当前执行指令是单字节没有关系,如果是双字节或四字节的,就要等整条指令都执行完了,才能响应中断(因为中断查询是在每个机器周期都可能查到的)。文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J
25、6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1F8N1文档编码:CQ3P8C6H10X5 HY9O1J6Y4K3 ZP2Z8C1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 汇编语言 教程 18 中断 系统
限制150内