版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MCS-512什么是中断什么是中断?生活的例子:我们从一个生活中的例子引入。你正在家生活的例子:我们从一个生活中的例子引入。你正在家中看书,突然电话铃响了,你放下书本,去接电话,中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的书。这就是生活中的“中断中断”的现象,就是正常的工的现象,就是正常的工作过程被外部的事件打断了。作过程被外部的事件打断了。3正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序中断处理中
2、断处理中断请求及响应中断请求及响应实际场景实际场景计算机计算机中断返回中断返回 当计算机用于实时控当计算机用于实时控制时,中断是一个十分制时,中断是一个十分重要的功能。现场的各重要的功能。现场的各个参数、信息,需要的个参数、信息,需要的话可在任何时候发出中话可在任何时候发出中断申请,要求断申请,要求CPUCPU处理;处理;CPUCPU就可以马上响应就可以马上响应(若中断是开放的话)(若中断是开放的话)加以处理。这样的及时加以处理。这样的及时处理在查询的工作方式处理在查询的工作方式是做不到的。是做不到的。 计算机在运行过程中,往往会出现计算机在运行过程中,往往会出现事先预料不到的情况,或出现一些
3、故障:事先预料不到的情况,或出现一些故障:如电源突跳,存储出错,运算溢出等等。如电源突跳,存储出错,运算溢出等等。计算机就可以利用中断系统自行处理,计算机就可以利用中断系统自行处理,而不必停机或报告工作人员。而不必停机或报告工作人员。5 仔细研究一下生活中的中断,对于我们学习单片机的仔细研究一下生活中的中断,对于我们学习单片机的中断也很有好处。中断也很有好处。第一、什么可以引起中断第一、什么可以引起中断,生活中,生活中很多事件可以引起中断:有人按了门铃了,电话铃响很多事件可以引起中断:有人按了门铃了,电话铃响了,你的闹钟闹响了,你烧的水开了了,你的闹钟闹响了,你烧的水开了. .等等诸如此类等等
4、诸如此类的事件,我们的事件,我们把可以引起中断的事件称之为把可以引起中断的事件称之为中断源中断源单片机中也有一些可以引起中断的事件,单片机中也有一些可以引起中断的事件,80518051中一共中一共有有5 5个:个:两个外部中断,两个外部中断, 两个计数两个计数/ /定时器中断,定时器中断, 一个串行口中断一个串行口中断。6设想一下,我们正在看书,电话铃响了,同时又有人设想一下,我们正在看书,电话铃响了,同时又有人按了门铃,你该先做那样呢?如果你正是在等一个很按了门铃,你该先做那样呢?如果你正是在等一个很重要的电话,你一般不会去理会门铃的,而反之,你重要的电话,你一般不会去理会门铃的,而反之,你
5、正在等一个重要的客人,则可能就不会去理会电话了。正在等一个重要的客人,则可能就不会去理会电话了。总之这里存在一个总之这里存在一个优先级优先级的问题,单片机中也是如此,的问题,单片机中也是如此,也有优先级的问题。优先级的问题也有优先级的问题。优先级的问题不仅仅发生在两个不仅仅发生在两个中断同时产生的情况,也发生在一个中断已产生,又中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生的情况有一个中断产生的情况,比如你正接电话,有人按门,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又有电话响了情况。铃的情况,或你正开门与人交谈,又有电话响了情况。考虑一下我们会怎么办吧。考虑一下我们
6、会怎么办吧。7中断嵌套:中断嵌套:当当CPUCPU正在处理一个中断请求,又发生了另正在处理一个中断请求,又发生了另一个优先级比它高的中断请求,一个优先级比它高的中断请求,CPUCPU暂时中止对前一中暂时中止对前一中断的处理,转而去处理优先级更高的中断请求,待处断的处理,转而去处理优先级更高的中断请求,待处理完以后,再继续执行原来的中断处理程序。理完以后,再继续执行原来的中断处理程序。80518051五个中断源有两个优先级,可实现二级中断嵌套,五个中断源有两个优先级,可实现二级中断嵌套,二级中断嵌套的中断过程如二级中断嵌套的中断过程如图图所示。所示。8低级中断请求低级中断请求RETI主程序主程序
7、高级中断服务子程序高级中断服务子程序返主程序返主程序高级中断请求高级中断请求返返低级中断低级中断RETI低级中断服务子程序低级中断服务子程序低级中断服务子程序低级中断服务子程序9具体地说,中断响应可以分为以下几个步骤:具体地说,中断响应可以分为以下几个步骤:1、保护断点,、保护断点,即保存下一将要执行的指令的地址,就即保存下一将要执行的指令的地址,就 是把这个地址送入堆栈。是把这个地址送入堆栈。2、寻找中断入口,、寻找中断入口,根据根据5个不同的中断源所产生的中个不同的中断源所产生的中断,查找断,查找5个不同的入口地址。以上工作是由计算机自个不同的入口地址。以上工作是由计算机自动完成的,与编程
8、者无关。在这动完成的,与编程者无关。在这5个入口地址处存放有个入口地址处存放有中断处理程序(已经编写好并存放在那儿的)。中断处理程序(已经编写好并存放在那儿的)。3、执行中断处理程序、执行中断处理程序。4、中断返回、中断返回:执行完中断指令后,就从中断处返回到:执行完中断指令后,就从中断处返回到主程序,继续执行。主程序,继续执行。10;* ME500单片机开发系统演示程序单片机开发系统演示程序 - K5中断,中断,LED灯灯P0.0点亮一次点亮一次 * K5 EQU P3.3 LED BIT P0.0 ;LED灯位灯位;- ORG 0000H JMP MAIN ORG 0013H JMP IN
9、T1_EX1 ORG 0030H;-MAIN: MOV SP,#60H MOV TCON, #04H ;INT1为下降沿触发为下降沿触发 SETB EA SETB EX1MAIN1: MOV P0, #0FFH JMP MAIN1;-;INT1中断服务子程序中断服务子程序;-INT1_EX1: MOV P0,#0FEH ;D00灯亮灯亮 RETI;- END11121314n每一个中断请求对应一个中断请求标志位每一个中断请求对应一个中断请求标志位n分别在特殊功能寄存器分别在特殊功能寄存器TCON和和SCON中相应中相应的位中表示的位中表示151617n中断的允许或禁止是由片内的中断允许寄存器中
10、断的允许或禁止是由片内的中断允许寄存器IE控控制的制的18nMCS-51的中断优先级只定义了高、低两个优先级的中断优先级只定义了高、低两个优先级19在同级的几个中断源中同时发生请求时,在同级的几个中断源中同时发生请求时,内部对同级的各中断源的优先级别有一个规内部对同级的各中断源的优先级别有一个规定的查询顺序:定的查询顺序:20 总结中断源的各个触发器总结中断源的各个触发器 寄存器:寄存器: TCON、SCON 、IE 、IP8FH88HTF1TF0IE1IT1IE0IT09FH98HTIRI99HAFHA8HEAESET1 EX1 ET0 EX0BFHB8HPSPT1 PX1 PT0 PX02
11、1设设8051的片外中断为高优先级,片内中断为低优先级。请的片外中断为高优先级,片内中断为低优先级。请设置设置IP相应值。相应值。 课堂练习课堂练习:解:(解:(A)用字节操作指令用字节操作指令 MOV IP,#05H 或或 MOV 0B8H,#05H(B)用位操作指令用位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1BFHB8HPSPT1 PX1 PT0 PX022MCS-51MCS-51的中断响应的基本条件:的中断响应的基本条件: 首先要有中断源发出中断申请;首先要有中断源发出中断申请; 中断总允许位中断总允许位EA=1EA=1,即即CPUCPU
12、允许所有中断源允许所有中断源 申请中断;申请中断; 在中断源寄存器在中断源寄存器TCONTCON和和SCONSCON中,申请中断中,申请中断 的中断允许位为的中断允许位为1 1, 即此中断源可以向即此中断源可以向CPUCPU申请中断。申请中断。231.1.CPUCPU正在处理一个同级或更高级别的中断请求。正在处理一个同级或更高级别的中断请求。 2.2.当前的机器周期不是正在执行指令的最后一个周期,即正当前的机器周期不是正在执行指令的最后一个周期,即正在执行的指令还未完成前,任何中断请求都得不到响应。在执行的指令还未完成前,任何中断请求都得不到响应。3.3.当前正执行的指令是返回指令(当前正执行
13、的指令是返回指令(RETIRETI)或者对专用寄存器或者对专用寄存器IPIP、IEIE进行读、写的指令,此时,在执行进行读、写的指令,此时,在执行RETIRETI或者读写完或者读写完IEIE或或IPIP后,不会马上响应后,不会马上响应中断请求,至少中断请求,至少再执行一条指令后才再执行一条指令后才响应中断。响应中断。24。25中断源中断源 入口地址入口地址 同级中断同级中断优先级优先级 IE0 0003H TF0 000BH IE1 0013H TF1 001BH TI/RI 0023H 26保护中断服务程序保护中断服务程序中用到的寄存器和中用到的寄存器和状态标志的内容状态标志的内容相应的中断
14、源服务,相应的中断源服务,完成一定的完成一定的I/OI/O操作操作完成中断服务后,完成中断服务后,将保存在堆栈中的将保存在堆栈中的现场数据恢复现场数据恢复RETI(RETI(中断返回指令)中断返回指令)27中断系统初始化步骤为:中断系统初始化步骤为: 1 1)CPUCPU开中断或关中断;开中断或关中断; 2 2)某中断源中断请求的允许或禁止(屏蔽);)某中断源中断请求的允许或禁止(屏蔽); 3 3)设定所用中断的中断优先级;)设定所用中断的中断优先级; 4 4)若为外部中断,则应规定低电平还是负边沿的中断)若为外部中断,则应规定低电平还是负边沿的中断触发方式。触发方式。 (1)(1)主程序主程
15、序 主程序除了用来对主程序除了用来对MCS-51MCS-51本身本身中断系统初始化外,还经中断系统初始化外,还经常用来对具有中断功能的常用来对具有中断功能的外部扩展外部扩展的可编程的可编程I/OI/O接口、可编接口、可编程内部定时器程内部定时器/ /计数器计数器T0T0、T1T1和可编程内部串行口等初始化,和可编程内部串行口等初始化,程序如下:程序如下:复位后,其复位后,其PCPC的内容被强迫置成的内容被强迫置成00000000H H 上电启动,上电启动,CPUCPU就执行就执行00000000H H单元的指令单元的指令必须在必须在00000000H H单元放一条跳转到单元放一条跳转到主程序的
16、跳转指令主程序的跳转指令, , 实现了上实现了上电自动转向主程序电自动转向主程序 (2) (2)中断服务程序中断服务程序 中断服务程序是一种具有特定功能的独立程序段,它为中断中断服务程序是一种具有特定功能的独立程序段,它为中断源的特定要求服务,其一般低级中断源程序编写格式如下:源的特定要求服务,其一般低级中断源程序编写格式如下: ORG ZDRK AJMP INTVS INTVS:CLR EA PUSH ACC PUSH 01H SETB EA 中断服务中断服务 CLR EA POP 01H POP ACC SETB EA RETIRETIRETI32中断源中断源 撤消中断标志的方法撤消中断标
17、志的方法外部中断外部中断0/1当边沿触发中断,则硬件置位,硬件清除当边沿触发中断,则硬件置位,硬件清除当低电平触发中断,硬件置位,当低电平触发中断,硬件置位,必须人为撤消中断请求信号必须人为撤消中断请求信号定时定时/计数器计数器0/1由硬件置位和复位,硬件自动撤消由硬件置位和复位,硬件自动撤消 CPUCPU必须在中断返回前,把它的响应中断标志位必须在中断返回前,把它的响应中断标志位复位成复位成“0 0”状态。状态。80318031单片机的单片机的5 5个断源,撤除中断个断源,撤除中断请求的方法是不相同请求的方法是不相同。 MCS-51MCS-51中断请求的撤除中断请求的撤除33“0”“0”34
18、例例1 1 用中断实现如下功能:累计用中断实现如下功能:累计INT0INT0引脚上出现的负跳变信号存入累加器引脚上出现的负跳变信号存入累加器A A中。(设此数不超过中。(设此数不超过255255)ORGORG0000H0000HAJMPAJMPMAINMAINORGORG0003H0003HAJMPAJMPIP0IP0ORGORG0030H0030HMAIN:MAIN:MOVMOVSP, #60HSP, #60HSETBSETBIT0IT0SETBSETBEAEASETBSETBEX0EX0MOVMOVA, #00HA, #00HHERE:HERE:AJMPAJMPHEREHEREIP0:IP
19、0:INCINCA ARETIRETIENDEND35例例2 2 单片机读单片机读P1.0P1.0状态,把这个状态送到状态,把这个状态送到P1.7P1.7的指示灯去,当的指示灯去,当P1.0P1.0为高电为高电平,指示灯亮,否则,指示灯灭。要求用中断控制这一输入输出过程。平,指示灯亮,否则,指示灯灭。要求用中断控制这一输入输出过程。 ORG ORG0000H0000HAJMPAJMPMAINMAINORGORG0003H0003HAJMPAJMPIP0IP0ORGORG0030H0030HMAIN:MAIN:SETBSETBIT0IT0SETBSETBEAEASETBSETBEX0EX0MOV
20、MOVA, #00HA, #00HHERE:HERE:AJMPAJMPHEREHEREIP0:IP0:MOVMOVA, #0FFHA, #0FFHMOVMOVP1, AP1, AMOVMOVA, P1A, P1RRRRA AMOVMOVP1, AP1, ARETIRETIENDENDP1.789C51P1.0K1P3.2+5V+5V+5V36例例3 3:用中断实现如下功能:用中断实现如下功能: 2 2个开关个开关K1K1和和K2K2,1 1个数码管,当个数码管,当K1K1按下时按下时数码管加数码管加1 1,K2K2按下时数码管减按下时数码管减1 1。P1.0P1.1P1.2P1.389C51P1.4P1.5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2421-2026表面等离子体共振生物分子相互作用分析仪校准规范
- 健康培训课件分享
- 防治领域就业前景与发展路径-标准模板
- 缫丝工诚信水平考核试卷含答案
- 盔帽工安全文化能力考核试卷含答案
- 德国汽车人工智能技术
- 锅炉管阀检修工安全强化知识考核试卷含答案
- 脚轮制作工冲突管理考核试卷含答案
- 应急救援员班组考核水平考核试卷含答案
- 铁合金转炉冶炼工岗前安全管理考核试卷含答案
- 2026年云南省楚雄州大姚县融媒体中心招聘编外聘用制人员笔试试题及答案解析
- 2026人教版三年级上册数学暑假预习每日一练(30天)
- 2026年下半年教师资格证考试《幼儿园综合素质》真题及答案解析
- 庐山文旅笔试题目及答案
- 2026年福建省福州市法官检察官遴选试题及答案
- 江苏省无锡市2025-2026学年四年级下学期6月数学期末调研试题(试卷+答案)
- 2026年国际汉语教师证书CTCSOL笔试真题及答案解析
- 胃全切术后血糖管理
- (2026)继续教育公需课必修课考试题与参考答案(完整版)
- 2026年医师定期考核中医试题(附答案)
- 2026江安宜江通公交客运有限公司员工招聘60人笔试历年常考点试题专练附带答案详解
评论
0/150
提交评论