您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机 第5章中断系统
上一张下一张1第六章中断系统•§6.1微机的输入/输出方式•§6.2中断的概念•§6.389C51中断系统结构及中断控制•§6.4中断响应及处理过程•§6.5中断程序举例•§6.6思考题与习题返回上一张下一张2§6.1微机的输入/输出方式•§6.1.1无条件传送方式•§6.1.2查询传送方式•§6.1.3直接存储器存取(DMA)方式返回上一张下一张3§6.1.1无条件传送方式CPU总是认为外设在任何时刻都处于“准备好”的状态。这种传送方式不需要交换状态信息,只需在程序中加入访问外设的指令,数据传送便可以实现。返回缺点:很容易丢失数据上一张下一张4§6.1.2查询传送方式(条件传送)一、什么是查询传送方式二、查询方式程序流程图三、查询方式的过程四、查询方式的特点返回上一张下一张5一、什么是查询传送方式在输入时,需要查询外设的输入数据是否准备好;在输出时,需要查询外设是否把上一次CPU输出的数据处理完毕。查询传送方式:通过查询外设的状态信息,确信外设已处于“准备好”,计算机才发出访问外设的指令,实现数据的传送。状态信息:一般为1位二进制码。返回上一张下一张6二、查询方式程序流程图输入状态信息准备好?传送数据返回N上一张下一张7四、查询方式的特点优点:通用性好,可以用于各类外设和CPU间的数据传送。缺点:CPU在完成一次数据传送后要等待很长时间才能进行下一次的传送。在等待过程中,CPU不能进行其他操作,所以效率比较低。返回上一张下一张8DMA:DirectMemoryAccessCPU让出数据总线(悬浮状态),使外设和存储器之间直接传送(不通过CPU)数据的方式。适用于外设和存储器之间有大量的数据需要传送及外设工作速度很快的情况。§6.1.3直接存储器存取(DMA)方式返回缺点:需要DMA控制器,设备复杂成本高。上一张下一张9返回有没有即不占用CPU资源,又能保证传送的快速和准确,结构又不复杂的方法呢?上一张下一张10一、中断•当CPU正在处理某事件的时候,外部发生的某一事件请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件后,再返回到原来被中止的地方继续原来的工作,这样的过程称为中断。•中断流程如图5-2所示。返回上一张下一张11主程序响应中断请求中断服务程序返回主程序继续执行主程序断点图5-2中断流程返回上一张下一张12§6.2中断的几个概念一、中断二、中断系统三、中断源四、中断请求五、中断响应过程六、中断服务七、中断返回八、中断方式的特点返回上一张下一张13二、中断系统•实现中断功能的部件称为中断系统,又称中断机构。返回上一张下一张14三、中断源•产生中断的请求源称为中断源。返回上一张下一张15四、中断请求•中断源向CPU提出的处理请求,称为中断请求或中断申请。返回上一张下一张16五、中断响应过程•CPU暂时中止自身的事物,转去处理事件的过程,称为CPU的中断响应过程返回上一张下一张17六、中断服务•对事件的整个处理过程,称为中断服务(或中断处理)。返回上一张下一张18七、中断返回•中断处理完毕,在返回到原来被中止的地方,称为中断返回返回上一张下一张19八、中断方式的特点•1、中断方式消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。•2、将从现场采集的数据通过中断方式及时传送给CPU,经过处理后可立即作出反应,实现现场控制。采用查询方式很难做到及时采集,实时控制。返回上一张下一张20九、中断技术实现的功能•1、分时操作•2、实时处理•3、故障处理返回上一张下一张211、分时操作•计算机的中断系统可以使CPU与外设同时工作。•CPU在启动外设后,便继续执行主程序;而外设被启动后,开始进行准备工作。当外设准备就绪时,就向CPU发出中断请求,CPU响应该中断请求并为其服务完毕后,返回原来的断点处继续运行主程序。外设在得到服务后,也继续进行自己的工作。•因此,CPU可以使多个外设同时工作,并分时为各外设提供服务,从而提高了CPU的利用率和输入和输出的速度。返回上一张下一张222、实时处理•当计算机用于实时控制时,请求CPU提供服务时随机发生的。有了中断系统,CPU就可以立即响应并加以处理。返回上一张下一张233、故障处理•计算机在运行时往往会出现一些故障,如断电、存储器奇偶校验出错、运算溢出等。•有了中断系统,当出现上述情况时,CPU可及时转去执行故障处理程序,自行处理故障而不必停机。返回上一张下一张24§6.389C51中断系统结构及中断控制•§6.3.189C51中断源•§6.3.2中断控制返回上一张下一张25§6.3.189C51中断源•一、89C51中断系统的五个中断源•二、通常情况的中断源返回上一张下一张26一、89C51中断系统的五个中断源1、INT0——外部中断0请求,低电平有效。通过P3.2引脚输入。2、INT1——外部中断1请求,低电平有效。通过P3.3引脚输入。3、T0——定时器/计数器0溢出中断请求。4、T1——定时器/计数器1溢出中断请求。5、TX/RX——串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。返回上一张下一张27二、通常情况的中断源•1、I/O外设•2、硬件故障•3、实时时钟•4、为调试程序而设定的中断源返回上一张下一张28§6.3.2中断控制返回上一张下一张29返回问题:当有一个中断请求时,CPU是如何知道,有中断请求的呢?每当有中断请求时,硬件会在某些存储器上坐标记,CPU在每个机器周期都会查看这些寄存器的,当看到这些标记的时候,就知道,有中断请求了。上一张下一张30一、中断请求标志1、定时器控制寄存器TCON中的中断标志位2、串行口控制寄存器SCON中的中断标志位返回上一张下一张311、TCON中的中断标志位TCON为定时器/计数器T0和T1的控制器,同时也锁存T0和T1的溢出中断标志及外部中断0和1的中断标志等。与中断有关的位如图5-4所示。各控制位的含义。返回上一张下一张32图5-4TCON中的中断标志位TF1TF0IE1IT1IE0IT0TCON(88H)8FH8EH8DH8CH8BH8AH89H88H返回上一张下一张33各控制位的含义1、TF1:定时器/计数器T1溢出中断请求标志位。当启动T1计数后,T1从初值开始加1计数,计数器最高位产生溢出时,由硬件使TF1置1,并向CPU发出中断请求。当CPU响应中断时,硬件将自动对TF1清0。2、TF0:定时器/计数器T0溢出中断请求标志位。含义与TF1类同。TF1TF0IE1IT1IE0IT0上一张下一张34各控制位的含义3、IE1:外部中断1的中断请求标志。INT1(P3.3)。当检测到外部中断引脚1上存在有效的中断请求信号时,由硬件使IE1置1。当CPU响应中断请求时,由硬件使IE1清0。4、IE0:外部中断0的中断请求标志。INT0(P3.2)。其含义与IE1类同。TF1TF0IE1IT1IE0IT0上一张下一张35各控制位的含义5、IT1:外部中断1的中断触发方式控制位。IT1=0时,外部中断1程控为电平触发方式。CPU在每一个机器周期S5P2期间采样外部中断请求引脚的输入电平。若外部中断1请求为低电平,则使IE1置1;若为高电平,则使IE1清0。TF1TF0IE1IT1IE0IT0上一张下一张36各控制位的含义5、IT1:外部中断1的中断触发方式控制位。IT1=1时,外部中断1程控为边沿触发方式。CPU在每一个机器周期S5P2期间采样外部中断请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断1请求引脚为高电平,接着的下一个机器周期采样到为低电平,则使IE1置1。直到CPU响应该中断时,才由硬件使IE1清0。TF1TF0IE1IT1IE0IT0上一张下一张37各控制位的含义6、IT0:外部中断0的中断触发方式控制位。其含义与IT1类同。返回TF1TF0IE1IT1IE0IT0上一张下一张38返回问题:当有些中断并不是程序设计者期望的,这些中断如何处理?对于不希望处理的中断,可以屏蔽。上一张下一张39二、中断允许控制1、中断允许寄存器IE的格式。2、中断允许寄存器IE中各位的含义。返回上一张下一张401、中断允许控制寄存器IEEAESET1EX1ET0EX0IE(A8H)AFHAEHADHACHABHAAHA9HA8H返回上一张下一张412、中断允许寄存器IE中各位的含义。①EA—中断允许总控制位。EA=0,屏蔽所有的中断请求;EA=1,CPU开放中断。对各中断源的中断请求是否允许,还要取决于各中断源的中断允许控制位的状态。这就是所谓的两级控制。EAESET1EX1ET0EX0上一张下一张422、中断允许寄存器IE中各位的含义。②ES—串行口中断允许位。ES=0,禁止串行口中断;ES=1,允许串行口中断。EAESET1EX1ET0EX0上一张下一张432、中断允许寄存器IE中各位的含义。③ET1—定时器/计数器T1的溢出中断允许位。ET1=0,禁止T1中断;ET1=1,允许T1中断。EAESET1EX1ET0EX0上一张下一张442、中断允许寄存器IE中各位的含义。④EX1—外部中断1的溢出中断允许位。EX1=0,禁止外部中断1中断;EX1=1,允许外部中断1中断。EAESET1EX1ET0EX0上一张下一张452、中断允许寄存器IE中各位的含义。⑤ET0—定时器/计数器T0的溢出中断允许位。ET0=0,禁止T0中断;ET0=1,允许T0中断。EAESET1EX1ET0EX0上一张下一张462、中断允许寄存器IE中各位的含义。⑥EX0—外部中断0的溢出中断允许位。EX0=0,禁止外部中断0中断;EX0=1,允许外部中断0中断。返回EAESET1EX1ET0EX0上一张下一张47例5-1假设允许片内定时器/计数器中断,禁止其他中断。试根据假设条件设置IE的相应值。解:(IE)=10001010B=8AH(a)用字节操作指令MOVIE,#8AH;或MOVA8H,#8AH;(b)用位操作指令SETBET0;定时器/计数器0允许中断SETBET1;定时器/计数器1允许中断SETBEA;CPU开中断返回上一张下一张48返回问题:假如CPU正在响应某个中断,又有一个中断发出请求,此时CPU如何处理?89C51把中断分了优先级别,先处理高优先级的中断请求。上一张下一张49三、中断优先级控制1、89C51的中断优先级2、中断优先级寄存器IP3、中断优先级排列顺序4、中断优先级控制实现的功能5、例5-2返回上一张下一张501、89C51的中断优先级�89C51有两个中断优先级。�每个中断请求源均可编程为高优先级中断或低优先级中断。�中断系统中有两个不可寻址的“优先级生效”触发器,分别指出CPU正在执行的高、低优先级的中断服务程序。当其为1时则分别屏蔽所有的中断请求。返回上一张下一张512、中断优先级寄存器IP中断优先级寄存器IP的格式中断优先级寄存器IP各控制位的含义返回上一张下一张52中断优先级寄存器IP的格式PSPT1PX1PT0PX0IP(B8H)BCHBBHBAHB9HB8H返回上一张下一张53中断优先级寄存器IP各控制位的含义①PS—串行口中断优先级控制位②PT1—定时器/计数器T1中断优先级控制位③PX1—外部中断1中断优先级控制位④PT0—定时器/计数器T0中断优先级控制位⑤PX0—外部中断0中断优先级控制位若某控制位为1,则相应的中断源规定为高级中断;反之,为0,则相应的中断源规定为低级中断。返回上一张下一张543、中断优先级排列顺序•当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序。•其优先级顺序排列如图5-8所示。返回上一张下一张55图5-8优先级排列顺序中断源同级内的中断优先级外部中断0中断高级定时器/计数器T0溢出中断外部中断1定时器/计数器T1溢出中断串行口中断低级返回上一张下一张564、中断优先级控制实现的功能•(1)按内部查询顺序排
本文标题:单片机 第5章中断系统
链接地址:https://www.777doc.com/doc-3219158 .html