如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第7章中断7.1中断的概念7.2MCS-51单片机的中断系统及其管理IT0:选择外部中断请求0为边沿触发方式或电平触发方式的控制位。IT0=0,为电平触发方式,低电平有效;IT0=1,为边沿触发方式,输入脚上电平由高到低的负跳变有效。IT0可由软件置“1”或清“0”。IE0:外部沿触发中断0请求标志。当IT0=0即电平触发方式时,每个机器周期的S5P2采样,若为低电平,将直接触发外部中断。当IT0=1即为边沿触发方式时,当第一个机器周期采样到为高电平,第二个机器周期采样到为低电平时,由硬件置位IE0,并以此来向CPU请求中断。当CPU响应中断,转向中断服务程序时由硬件清“0”IE0。IT1:外部中断1触发方式控制位,和IT0类似。IE1:外部沿触发中断1请求标志,其意义和IE0相同。外部中断与IEx之间的关系如下图所示SCON:串行口控制寄存器,字节地址为98H。SCON的低二位锁存串行口的接收中断和发送中断标志,其格式如下。TI:8051串行口的发送中断标志。TI=1表示串行口发送器正在向CPU申请中断。CPU响应发送器中断请求,转向执行中断服务程序时并不清“0”TI,TI必须由用户在中断服务程序中清“0”,即中断服务程序中必须有CLRTI或ANLSCON,#FDH等清“0”TI的指令。RI:串行口接收中断标志。RI为1表示串行口接收器正向CPU申请中断,同样RI必须由用户的中断服务程序清“0”。2.中断的开放、禁止及优先级对于每个中断源,其开放与禁止由专用寄存器IE中的某一位控制。中断次序(优先级)可由专用寄存器IP中相应位是置1还是清0决定其为高优先级还是低优先级,这在硬件上有相应的优先级触发器予以保证。IE:中断允许寄存器EA:开放或禁止所有中断。如EA=0,则不响应中断。如EA=1,每个中断源分别由各自的允许位的置位或清除确定开放或禁止。ES:开放或禁止串行通道中断。如ES=0,则禁止串行通道中断。ET1:开放或禁止定时器1溢出中断。如ET1=0,则禁止定时器1中断。EXl:开放或禁止外部中断源1。如果EXl=0,则禁止外部中断1。ET0:开放或禁止定时器0溢出中断。如果ET0=0,则禁止定时器0中断。EX0:开放或禁止外部中断源0。如果EX0=0,则禁止外部中断0。用户可据需要置“1”或清“0”IE相应的位,来允许或禁止各中断源的中断申请。欲使某中断源允许中断,必须同时使EA=1,首先使CPU开放中断。所以EA相当于中断允许的“总开关”。IP:中断优先级寄存器PS:决定串行通道中断优先级。PS=1,则编程为高优先级。PT1:决定定时器1中断优先级。PT1=1,则编程为高优先级。PX1:决定外中断1优先级。PX1=1,则编程为高优先级。PT0:决定定时器0中断优先级。PT0=1,则编程为高优先级。PX0:决定外中断0优先级。PX0=1,则编程为高优先级。8051单片机的中断系统MCS-51单片机对中断优先级的处理原则:不同级的中断源同时申请中断时:先高后低;处理低级中断又收到高级中断请求时:停低转高;处理高级中断却收到低级中断请求时:高不睬低;同一级的中断源同时申请中断时:事先规定。对于同—优先级,单片机对其中断次序安排如下:中断源同一级的中断优先级外部中断0最高定时/计数器T0溢出中断外部中断1定时/计数器T1溢出中断串行口中断最低7.2.2单片机响应中断的条件及响应过程2.中断的响应过程单片机一旦响应中断,首先置位相应的优先级有效触发器(中断系统包含了两个不可编程的“优先等级生效”触发器,一个用于指明已进行高优先级的中断服务,以阻止其他的中断请求,另一个用于指明已进入低优先级的中断服务,阻止除高优先级以外的全部其他中断请求),然后执行一个硬件子程序调用,把断点地址压人堆栈,再把与各中断源对应的中断服务程序的首地址送程序计数器PC,同时清除中断请求标志(TI和RI除外),从而控制程序转移到中断服务程序。以上过程均由中断系统自动完成。由上述过程可知,单片机响应中断后,只保护断点而不保护现场(如标志位寄存器PSW的内容),且不能清除串行口中断请求标志TI和RI,也无法清除外中断输入电平申请信号,所有这些应在用户编制中断处理程序时予以考虑。各中断源所对应的中断服务程序首地址如下:中断源入口地址外部中断00003H定时器计数器T0000BH外部中断10013H定时器计数器T1001BH串行口中断0023HCPU从此地址开始执行中断服务程序直至遇到一条RETI指令为止。RETI指令表示中断服务程序的结束,CPU执行该指令,一方面清除中断响应时所置位的优先级有效触发器,一方面由栈顶弹出断点地址送程