您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > MCS51系列单片机的中断系统及定时计数器
Copyright中断的基本概念日常生活中断的例子单片机中的中断概念中断技术的优点什么是中断,我们从生活中的例子引入。看书的例子:你正在看书,突然电话铃响了,......。中断就是正常的工作被外部事件打断了。Copyright日常生活中的中断仔细研究一下生活中的中断,对于我们学习计算机中的中断也很有好处。1、什么可以引起中断?生活中有很多事件可以引起中断:有人按了门铃,电话铃响了,你的闹钟铃响了,你烧的水开了,你内急了....等等诸如此类的事件,我们把可以引起中断的事件称之为中断源。计算机中也有一些可以引起中断的事件,像MCU51单片机就有5个中断源。Copyright、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃突然响了,同时又有人按了门铃,你该先做那样呢?如果你正在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个很重要的客人,则可能就不会去理会电话了。如果不是这两者(即不等电话,也不等人上门)你可能会按你通常的习惯去处理。总之这里存在一个优先级问题。优先级问题不仅仅发生在两个或以上的中断同时产生的情况,也发生在一个中断已经产生,又有一个中断产生的情况。如你正在接电话,有人按门铃的情况,或你正在开门与人交谈,又有电话铃了的情况。考虑一下我们会怎么办吧。Copyright、中断的响应过程:(看书的例子)当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要来继续看书)。(接电话的例子)电话铃响了我们要到放电话的地方去,门铃响了,我们要到门那边去,也就是说,不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的,这也和计算机中的中断类似,如51MCU的5个中断源都有各自的中断入口地址,当某个中断源产生中断时,CPU响应中断便到相应的中断入口地址执行程序。Copyright计算机中的中断计算机执行正常程序时,系统出现某些急需处理的异常情况和特殊请求,CPU暂时中止现在正在执行的的指令,转去对随机发生的更紧迫事件处理;处理完后,CPU会自动返回原来的程序继续执行。就如:你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。计算机中的中断Copyright计算机中的中断中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源。CPU现行运行的程序称为主程序。处理随机事件的程序称为中断服务子程序。Copyright中断技术的优点分时操作——CPU可以同多个外设“同时”工作实时处理——CPU及时处理随机事件故障处理——电源掉电、存储出错、运算溢出Copyright的中断系统——中断源8051单片机有5个中断请求源:单片机INT0或外部输入中断源INT0(P3.2)INT1或外部输入中断源INT1(P3.3)T0片内定时器T0的溢出T1片内定时器T1的溢出串行口片内串行口发送或接收中断源Copyright的中断系统——中断标志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断标志位每一个中断源都有相应的中断标志位;某一个中断源申请中断,相应中断标志位置1。Copyright的中断系统——中断允许CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断标志位EA——总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断;某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。中断允许ESET0EX0EX1ET1EACopyright=0IT0=1INT1IT1=0IT1=1TF0IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然优先级矢量地址高级中断请求自然优先级矢量地址低级中断请求PX0PT0PX1PT1PSIEIPMCS-51的中断系统结构图中断标志位中断源允许总允许中断优先级Copyright溢出中断标志(TCON.7):T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。76543210TCON寄存器——T0和T1控制寄存器Copyright中断标志位(TCON.3):IE1=1,外部中断1向CPU申请中断外部中断INT1触发方式控制位(TCON.2):IT1=0,电平触发方式IT1=1,下降沿触发方式76543210TCON寄存器——T0和T1控制寄存器注意:该寄存器可以位寻址。Copyright:定时器1的溢出中断标志。T1被启动计数后,从初值做加1计数,计满溢出后由硬件置位TF1,同时向CPU发出中断。TF0:定时器0溢出中断标志。其操作功能同TF1。IE1:外部中断1标志。IE1=1,外部中断1向CPU申请中断。IT1:外中断1触发方式控制位。当IT1=0时,外部中断1控制为电平触发方式。当IT1=1时,外部中断1控制为电平触发方式。IE0:外部中断0中断标志。其操作功能与IE1相同。IT0:外中断0触发方式控制位。其操作功能与IT1相同。Copyright返回TI(SCON.1)——串行发送中断标志。RI(SCON.0)——串行接收中断标志。TIRISCON寄存器——串行口控制寄存器SCON98H76543210注意:该寄存器可以位寻址。Copyright:串行发送中断标志CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使TI置位。注意:CPU响应中断时并不清除TI,必须由软件清除。RI:串行接收中断标志在串行口允许接收时,每接收完一个串行帧,硬件将使RI置位。注意:CPU在响应中断时不会清除RI,必须由软件清除Copyright例:允许定时器T0中断:SETBEASETBET0或MOVIE,#82H76543210注意:该寄存器可以位寻址。IE寄存器—中断允许寄存器Copyright:总中断允许控制位。EA=1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA=0,禁止所有中断。ES:串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。ET1:定时器1中断允许位。ET1=1,允许定时器1中断;ET1=0,禁止定时器1中断。EX1:外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。ET0:定时器0中断允许位。ET0=1,允许定时器0中断;ET0=0,禁止定时器0中断。EX0:外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。Copyright51单片机有两个中断优先级——高级和低级专用寄存器IP为中断优先级寄存器,用户可用软件设定相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级系统复位时,均为低优先级该寄存器可以位寻址PSPT1PX1PT0PX0IP寄存器——中断优先级寄存器IPB8H76543210Copyright:串行口中断优先控制位PS=1,设定串行口为高优先级中断;PS=0,设定串行口为低优先级中断。PT1:定时器T1中断优先控制位PT1=1,设定定时器T1中断为高优先级中断;PT1=0,设定定时器T1中断为低优先级中断。PX1:外部中断1中断优先控制位PX1=1,设定外部中断1为高优先级中断;PX1=0,设定外部中断1为低优先级中断。PT0:定时器T0中断优先控制位PT0=1,设定定时器T0中断为高优先级中断;PT0=0,设定定时器T0中断为低优先级中断。PX0:外部中断0中断优先控制位PX0=1,设定外部中断0为高优先级中断;PX0=0,设定外部中断0为低优先级中断。当系统复位后,所有中断源均设定为低优先级中断。Copyright中断的处理过程中断处理过程分为三个阶段:中断响应、中断处理和中断返回。中断响应中断处理(又称中断服务)中断返回中断请求的撤除中断响应中断返回Copyright中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程:保护断点地址;中断响应把程序转向中断服务程序的入口地址(通常称矢量地址)。特别注意:这些工作是硬件自动完成的!断点地址中断服务子程序的入口地址外部中断0入口地址0003AJMPZD0ZD0中断响应Copyright中断服务子程序入口地址又称为中断矢量或中断向量。中断响应单片机中5个中断源的矢量地址是固定的,不能改动。断点地址中断服务子程序的入口地址中断响应Copyright:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!Copyright:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH包含T0中断服务子程序的程序结构:
本文标题:MCS51系列单片机的中断系统及定时计数器
链接地址:https://www.777doc.com/doc-5500862 .html