资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章 单片机的中断系统,5.1,中断的概念,5.2,中断控制系统,5.3,中断处理过程,5.4,中断的编程及应用举例,5.1,中断的概念,5.2,中断控制系统,5.3,中断处理过程,5.4,中断的编程及应用举例,第,5,章 单片机的中断系统,日常生活的中断现象举例,某人正在看报,电话铃响了,去接电话,继续接电话,继续看报,跑向厨房,关煤气、灌开水,水开了,第,5,章 单片机的中断系统,中断,是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。,第,5,章 单片机的中断系统,中断响应过程,:由中断管理系统处理突发事件的过程;,中断源,:中断管理系统能够处理的突发事件,;,中断请求,:中断源向,CPU,提出的处理请求,;,中断函数,:针对中断源和中断请求提供的服务函数,;,中断嵌套,:在中断服务过程中执行,更高级别的中断服务。,中断的一般概念,二级中断系统,第,5,章 单片机的中断系统,中断过程与调用一般函数过程的,相似性,:,两者都需要保护断点,都可实现多级嵌套等。,中断过程与调用一般函数过程的,差异性,:,1,、前者是程序设计者事先安排的(断点位置是明确的),而后者却是系统根据工作环境随机决定的(断点位置是随机的)。,2,、主函数与一般函数之间具有主从关系,而主函数与中断函数之间则是平行关系(中断函数只能被系统调用);,3,、一般函数调用是纯粹软件处理过程,而中断函数调用却是需要软、硬件配合才能完成的过程。,第,5,章 单片机的中断系统,1,、,分时操作,:,CPU,可以使多个外设同时工作,并分时为各外设提供服务,从而大大提高了,CPU,的利用率和输入,/,输出的速度。,2,、,实时处理,:当计算机用于实时控制时,请求,CPU,提供服务是随机发生的。有了中断系统,,CPU,就可以立即响应并加以处理。,3,、,故障处理,:当计算机运行中出现如电源断电、存储器校验出错、运算溢出等错误时,,CPU,可及时转去执行故障处理程序,减小或消除故障产生的影响。,中断实现的功能:,实例,1,单片机开关状态检测,要求:若有按键压下,D1,状态反转。,第,5,章 单片机的中断系统,查询法,中断法,运行效果,第,5,章 单片机的中断系统,问题:,1,、中断函数为何能自动执行?,2,、主函数中变量赋值语句的作用?,解释,:,1,、当,P3.2,引脚出现负脉冲时,系统调用了该中断函数;,2,、进行中断初始化工作。,第,5,章 单片机的中断系统,5.1,中断的概念,5.2,中断控制系统,5.2.1,中断系统的结构,5.2.2,中断控制,5.3,中断处理过程,5.4,中断的编程及应用举例,第,5,章 单片机的中断系统,1,、中断源,(哪些信号可以作为,51,单片机中断源?),中断源数量和种类越多,,MCU,处理突发事件的能力就越强。,80C51,单片机共有,5,种中断源。,第,5,章 单片机的中断系统,外部中断,内部中断*,*并非很严格,中断向量,中断程序入口地址(,ROM,内),第,5,章 单片机的中断系统,汇编程序,0000H,0003H,000BH,0013H,001BH,0030H,主程序首条指令,0023H,ROM,SJMP 30H,用于汇编程序,第,5,章 单片机的中断系统,中断号,与中断向量对应的编号,用于,C51,程序,2,、中断请求标志,(单片机如何得知中断信号出现?),第,5,章 单片机的中断系统,当中断信号出现时,单片机中某些寄存器位(,中断请求标志位,)可被硬件置,1,。,CPU,通过定期查看中断请求标志位是否为,1,,便可知道有无中断请求。,第,5,章 单片机的中断系统,中断请求标志的置1原理,1、外部中断源(和 ),逻辑开关,IT0,和,IT1,用于选择触发信号类型:,ITx=0,选择,电平触发(,低电平,经非门,IEx,置,1,),ITx=1,选择,脉冲触发(,负脉冲,经施密特触发器,IEx,置,1),P3.3,P3.2,电平信号,脉冲信号,3,4,1,2,第二输入功能,V,(第,5,章),第,5,章 单片机的中断系统,2、内部中断源(T0和T1),当,T0,或,T1,被,充满溢出,向寄存器位,TF0,、,TF1,“进位”置,1,(第,6,章),第,5,章 单片机的中断系统,3、内部中断源(TX和RX),(发送,SUBF,中的数据输出门,TXD,端口),发送控制器,寄存器位,TI,置,1,;,(,RXD,引脚的数据移位寄存器接收,SBUF,),接收控制器寄存器位,RI,置,1,。,RX,TX,(第,7,章),5.1,中断的概念,5.2,中断控制系统,5.2.1,中断系统的结构,5.2.2,中断控制,5.3,中断处理过程,5.4,中断的编程及应用举例,第,5,章 单片机的中断系统,中断系统的组成,(影响中断的因素?),第,5,章 单片机的中断系统,中断信号分别沿5条水平路径由左向右进行传送。,其中,TCON、SCON、IE、IP是相关SFR。,P3.3,P3.2,中断信号,中断号,中断号,1,、,TCON,寄存器,第,5,章 单片机的中断系统,定时,/,计数器的控制寄存器,(,T,imer/Counter,Con,trol Register,),,,字节地址为,88H,,,可位寻址。,T1,的中断请求标志,T0,的中断请求标志,INT1,的中断请求标志,INT0,的中断请求标志,INT1,的中断触发信号选择,INT0,的中断触发信号选择,与中断无关第,6,章介绍,与中断无关第,6,章介绍,【,注意,】,51,单片机复位后,,TCON,初值为,0,默认没有上述中断请求,默认采用电平触发方式。,=1,,有中断请求,=0,,无中断请求,=1,,脉冲触发,=0,,电平触发,第,5,章 单片机的中断系统,2,、,SCON,寄存器,串口控制寄存器,(,S,erial,con,trol register),,字节地址为,98H,,可位寻址。,TX,的,中断请求标志,RX,的,中断请求标志,【,注意,】,TI,和,RI,虽然是,2,个中断请求标志位,但在,SCON,之后经或门电路合成为,1,个信息,统一接受中断管理。,=1,,有中断请求,=0,,无中断请求,第,5,章 单片机的中断系统,中断允许寄存器(,I,nterrupt,E,nable Register,),字节地址为,A8H,,可位寻址。,【,注意,】,禁止中断并不能阻止中断请求标志值的硬件刷新;,单片机复位后,,IE,的初值为,0,默认为整体禁止中断。,3,、,IE,寄存器,T0,的中断允许标志,INT0,的中断允许标志,INT1,的中断允许标志,T1,的中断允许标志,TX/RX,的中断允许标志,总,中断允许标志,=1,,允许中断,=0,,禁止中断,第,5,章 单片机的中断系统,4,、,IP,寄存器,中断优先级寄存器(,I,nterrupt,P,riority Registers,),字节地址为,B8H,,可位寻址。,T0,的中断优先级标志,INT0,的中断优先级标志,INT1,的中断优先级标志,T1,的中断优先级标志,TX/RX,的,中断优先级标志,=1,,高优先级,=0,,低优先级,优先级原则:,1,)高级中断请求可以打断正在执行的低级中断;,2,)同级或低级中断请求不能打断正在执行的中断;,3,)同级中断源同时提出请求时按,自然优先级,响应:,INT0 T0 INT1T1TI/RI,4,)单片机复位时,,IP,初值为,0,默认,所有中断源均为低级中断。,第,5,章 单片机的中断系统,第,5,章 单片机的中断系统,实例,4,中断嵌套演示,功能:,LED0,代表主函数的功能;,K0,产生,INT0,中断请求,调用,LED1,显示功能;,K1,产生,INT1,中断请求,调用,LED2,显示功能;,设置,INT1,为高级中断,,INT0,为低级中断;,高级中断运行时,若有低级中断请求,则,D1,点亮;高级中断结束后,低级中断才能运行。,第,5,章 单片机的中断系统,实例,4,软件编程,第,5,章 单片机的中断系统,实例,4,仿真运行,中断标志汇总,中断源名称 中断请求标志 中断允许标志 中断优先标志 中断触发方式标志 中断号,INT0 IE0 EX0 PX0 IT0 0,T0 TF0 ET0 PT0 1,INT1 IE1 EX1 PX1 IT1 2,T1 TF1 ET1 PT1 3,TI/RI TI/RI ES PS 4,第,5,章 单片机的中断系统,中断管理寄存器汇总,TCON,88H,IE,A8H,IP,B8H,SCON,98H,第,5,章 单片机的中断系统,中断系统汇总,第,5,章 单片机的中断系统,5.1,中断的概念,5.2,中断控制系统,5.3,中断处理过程,5.4,中断编程及应用,第,5,章 单片机的中断系统,中断处理包括中断请求、中断响应、中断服务等环节。,第,5,章 单片机的中断系统,1,、中断响应,CPU,响应中断的基本条件为:,(,1,)有中断源发出中断请求;,(,2,)中断总允许位,EA=1,,即,CPU,开中断;,(,3,)申请中断的中断源的中断允许位为,1,。,第,5,章 单片机的中断系统,CPU,响应中断后的操作过程:,中断优先级查询,阻止后来的同级或低级中断请求。,保护断点,即把程序计数器,PC,的内容压入堆栈保存。,清除中断请求标志位。,调用中断函数并开始运行。,返回断点继续运行。,除中断函数运行是软件方式外,其余中断处理过程都是由单片机硬件自动完成的。,【,注意,】,第,5,章 单片机的中断系统,2,、响应时间,从查询中断请求标志到执行中断函数第一条语句所经历的时间,称为中断响应时间。,CPU,在每个机器周期的,S6,期间查询每个中断请求的标志位。,中断响应时间,=1,个查询机器周期,+2,个调用中断函数周期,=3,个机器周期,这也是对中断请求做出响应所需的最短时间。,C51,中断函数的声明格式:,void,函数名,(,v,oid,),interrupt n,using m,i,nterrupt,n,,表示是关于中断源,n,的中断服务函数;,u,sing,m,,表示该中断函数将使用第,m组,工作寄存器。缺省为当前工作寄存器组。,第,5,章 单片机的中断系统,【,注意,】,1,、中断服务函数既没有返回值,也没有调用参数;,2,、中断服务函数只能由系统调用,不能被其他函数调用。,3,、中断服务函数,C51,中断函数的声明格式:,void,函数名,(,v,oid,),interrupt n,using m,i,nterrupt,n,,表示是关于中断源,n,的中断服务函数;,C51,中断函数的声明格式:,void,函数名,(,v,oid,),interrupt n,using m,u,sing,m,,表示该中断函数将使用第,m组,工作寄存器。缺省为当前工作寄存器组。,i,nterrupt,n,,表示是关于中断源,n,的中断服务函数;,C51,中断函数的声明格式:,void,函数名,(,v,oid,),interrupt n,using m,5.1,中断的概念,5.2,中断控制系统,5.3,中断处理过程,5.4,中断编程及应用,5.4.1,中断的编程和应用举例,5.4.2,扩展外部中断源,第,5,章 单片机的中断系统,第,5,章 单片机的中断系统,重新认识实例,1,的程序,【,注意,】,中断允许设置也可采用位变量实现,即,EX0=1,,,EA=1,;,实例,2,将第,4,章实例,3,改用中断方式实现,中断法,有键闭合时才检测键盘(获取闭合键号),问题:,查询法,需占用大量,CPU,机时,如何降低按键检测开销?,主函数,获取键值,key,key=-1?,P0,键值显示码,N,Y,P0,黑屏显示码,第,5,章 单片机的中断系统,硬件更改,:,增加一个,4,输入与门器件,U3,行线分接
展开阅读全文