您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 51单片机中断系统讲义含动态演示
BUSINESS单片机原理及应用技术主讲:张志刚部门:电力学院电话:18695464560第六章51单片机内部功能单元及应用第六章51单片机内部功能单元及应用6.3中断系统6.3.1中断系统概述1.中断的概念在计算机中,由于计算机内部的原因、软硬件的原因,使CPU暂停当前工作,转到需要处理的中断源的服务程序入口(中断响应),一般在入口处执行一跳转指令转去处理中断事件(中断服务)。执行完中断服务后,再回到原来程序被中断的地方继续处理执行程序(中断返回),这个过程称为中断。第六章51单片机内部功能单元及应用主程序中断服务子程序主程序主程序中断服务子程序断点中断过程示意中断源中断响应中断服务中断返回中断请求第六章51单片机内部功能单元及应用2.中断系统功能(1)实现中断并返回(2)实现优先排队(3)高级中断能中断低级中断主程序主程序高优先级中断服务断点1断点2低优先级中断服务第六章51单片机内部功能单元及应用3.中断的优点(1)分时操作可以使CPU和外设同时工作,使CPU的利用率大大提高(2)实时处理在实时控制系统中,可在任何时间发出中断申请,CPU可以马上响应加以处理。这样的及时处理在查询方式下几乎不可能。(3)故障处理计算机在运行过程中,往往会出现预料不到的情况或故障,计算机可以利用中断系统自行处理,而不必停机或报告工作人员。第六章51单片机内部功能单元及应用4.中断源分类及优先级51单片机中断源:外部中断、定时器中断、串口中断中断源外部中断定时器中断串口中断TXD(P3.1)RXD(P3.0)外部中断0INT0(P3.2)外部中断1INT1(P3.3)定时器中断0T0(P3.4)定时器中断1T1(P3.5)第六章51单片机内部功能单元及应用中断源的入口地址及优先次序中断源入口地址优先级外部中断00003H0最高级定时器中断0000BH1外部中断10013H2定时器中断1001BH3串口中断002BH4最低级第六章51单片机内部功能单元及应用6.3.2中断的控制与实现中断的控制与实现是通过4个与中断相关的特殊功能寄存器的配置来完成的。寄存器英文名中文名地址TCONtimercontrol定时器控制寄存器88HSCONserialcontrol串行口控制寄存器98HIEinterruptenable中断使能寄存器A8HIPinterruptpriority中断优先级寄存器B8H第六章51单片机内部功能单元及应用定时器控制寄存器TCON位定义位D7D6D5D4D3D2D1D0字节地址TCONTF1TR1TF0TR0IE1IT1IE0IT088H位地址8FH8EH8DH8CH8BH8AH89H88HIT0、IT1:外部中断0、1的触发方式控制位0:电平方式,低电平有效1:边沿触发方式,下降沿有效IE0、IE1:外部中断0、1的中断请求标志位1:表示INT0、INT1向CPU发出中断请求TR0、TR1:定时器0、1运行控制位(与中断无关)TF0、TF1:定时器0、1溢出中断请求标志位(可由软件或硬件清零)1:表示T0、T1向CPU发出中断请求第六章51单片机内部功能单元及应用串行口控制寄存器SCON位定义位D7D6D5D4D3D2D1D0字节地址SCONSM0SM1SM2RENTB8RB8TIRI98H位地址9FH9EH9DH9CH9BH9AH99H98HTI:串口发送中断请求标志位(硬件自动置1,软件清零)RI:串口接收中断请求标志位(硬件自动置1,软件清零)第六章51单片机内部功能单元及应用中断使能寄存器IE位定义位D7D6D5D4D3D2D1D0字节地址IEEAESET1EX1ET0EX0A8H位地址AFHAEHADHACHABHAAHA9HA8HEA:中断使能总控制位0:CPU关总中断,屏蔽所有中断请求1:CPU开总中断,可以相应任何使能的中断ES:串行口中断使能控制位ET0、1:定时器中断0、1使能控制位EX0、1:外部中断0、1使能控制位0:除能、禁止状态1:使能、允许状态中断使能总结0:禁止1:允许第六章51单片机内部功能单元及应用中断优先级寄存器IP位定义位D7D6D5D4D3D2D1D0字节地址IPPSPT1PX1PT0PX0B8H位地址BFHBEHBDHBCHBBHBAHB9HB8H1:高优先级0:低优先级系统复位后,IP各位为0,所有中断源设置为低优先级,(中断顺序按默认优先顺序响应)通过更新IP的值,就可以容易地改变中断源的优先级。INT0T0INT1T1TX/RXPX1=1INT0T0INT1T1TX/RX高优先级低优先级第六章51单片机内部功能单元及应用5.51单片机的中断优先原则•CPU同时接收到几个中断时,首先响应优先级最高的中断请求•正在进行的中断不能被新的同级或低级的中断请求所中断•正在进行低优先级的中断服务,能被高优先级中断请求所中断主程序主程序高优先级中断服务断点1断点2低优先级中断服务第六章51单片机内部功能单元及应用51单片机中断系统结构示意IE0TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF0IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然优先级矢量地址高级中断请求自然优先级矢量地址低级中断请求PX0PT0PX1PT1PSIEIP中断标志位中断源允许总允许中断优先级第六章51单片机内部功能单元及应用6.3.3中断的处理过程中断处理分为4个阶段:中断请求→中断响应→中断服务→中断返回其中,中断请求和中断响应是由中断系统硬件自动完成的。1.中断响应的条件•中断源有中断请求•此中断的中断使能为1•CPU总中断使能3个条件同时满足,CPU才有可能响应中断第六章51单片机内部功能单元及应用2.外部中断的响应时间在一个单一中断的系统里,外部中断响应时间总是在3~8个机器周期之间。3.中断的响应过程(1)将相应的优先级状态触发器置1,以阻断后来的同级或低级的中断请求。(2)执行一条硬件LCALL指令,即把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。(3)执行中断服务程序前两步由中断系统自动完成,中断服务程序由用户编写程序完成第六章51单片机内部功能单元及应用4.中断返回中断服务程序的最后一条指令必须是中断返回指令RETI,该指令能使CPU结束中断服务程序的执行,返回到曾经中断过的程序处,继续执行主程序。RETI指令的具体功能:(1)将中断响应时压入堆栈保存的地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序。(2)将相应的中断优先级触发器置0,通知中断系统服务已执行完毕。5.外部中断的触发方式:电平触发、边沿脉冲触发第六章51单片机内部功能单元及应用6.3.4中断服务程序的设计步骤1.中断的初始化(1)IE相应位置1,允许相应的中断源中断使能。(注意开启总中断EA=1)(2)当有多个中断源共存时,根据需要设置IP的相应位,确定中断优先级。(3)对于外部中断源,利用IT0、IT1设置触发方式。第六章51单片机内部功能单元及应用2.编写中断服务程序,处理中断请求(1)现场保护和现场恢复(2)关中断和开中断(3)中断处理(4)中断返回关中断现场保护开中断中断处理关中断现场恢复开中断中断返回第六章51单片机内部功能单元及应用C语言相应中断服务程序voidEX0_isr()interrupt0{//中断服务程序代码}voidEX1_isr()interrupt2{//中断服务程序代码}“interrupt+数字”来代替汇编中断入口地址第六章51单片机内部功能单元及应用C语言用关键字“interrupt+数字”来代替汇编中断入口地址的表示方法中断号中断源0外部中断01定时器中断02外部中断13定时器中断14串口中断6.3.5中断的应用实例1.外部中断的一般应用(例6-13,P163)2.多外部中断源系统设计(例6-11,P159)本节完!
本文标题:51单片机中断系统讲义含动态演示
链接地址:https://www.777doc.com/doc-5892084 .html