《MCS-51单片机的中断系统和定时计数器.docx》由会员分享,可在线阅读,更多相关《MCS-51单片机的中断系统和定时计数器.docx(12页珍藏版)》请在第壹文秘上搜索。
1、MCS-Sl单片机的中断鬃统和定时,计数叁中断系统在计算机应用系统中起着非常垂要的作用,良好的中断系统能提高计兑机对外界异步W务的处理实力和响应速度,从而扩大计豫机的应用范国。本点介绍MCS-51的单片机的中断系统和定时器/计数器.1.1 中断系统结构1.1.1 MCS-51中断系统的总体结构在单片机中,为了实现中断功能而配置的软件和硬件.称为中断系统.中断系统的处理过程包括中断恳求、中断响应、中断处理和中断返回.如图5所示,MCS5l中断系统的总统结构,图中包括:5个中断思求海:,4个用于中断限制和管理的可编程和可位寻址的特别功能奇在器(中断恳求源标记奇仔器TCON及SCON,中断允许限制寄
2、存器IE和中断优先级限制寄存器IP),供应两个中断优先级,可实现二级中断嵌套,且斑一个中断源可编程为开放或屏蔽.1.1.2 中断息求源及相关的特别功能寄存器TCON和SCoN所谓中断源就是引起中断的缘由或发出中断思求的中厮来源.在51子系列中有五个中断源52干系列为6个)它们是:Into一一外部中断。层求,低电平或脉冲卜降沿有效。由p&2引脚输入.INT一一外部中断I总求.低电平或脉冲下降沿有效.由p33引脚输入.TO定时器/计数器0溢出中断感求。外部计数脓冲由P3.4引脚输入。Tl定时器/计数器1溢出中断恳求.外那计数脓冲由P35引脚场入.TXRX本行中断总求,当事行门完成一帧发送或接受时.
3、思求中断.好一个中断源都对应有一个中断恳求标记位来反映中断恳求状态,这些标记位分布在特别功能寄存涔TcON和SCON中.I.定时器/计数器限制寄存器TCoNTeoN为定时器/计数器的限制寄存器.它同时也锁在TO、Tl涌出中断源标记、外部中断恳求标记,与这些中断恳求源相关的位含义如下:TCON8811):D7.D6D5,D4.D3D2.Dl.DoTFlITH)IIIEI【ITlIEoITOITO(TeoN.0):选择外部中断地求0(INTO)为边沿触发或电平触发方式的限制位.ITO=O.为电平触发方式,INTO引脚位低电平常向CPU中请中断;ITgI,为边沿触发方式,WrO八入脚上的高到低的负跳
4、变时向CPU申请中断no可由软件置*r或清“。二IE(XTCON-I):外部中断0的中断申请标记。当ITO=O即电平触发方式时,每个机器周期的S5P2采样INTO,若INTO为低电平.则置“0IEU.当ITft=I,即INTO程控为边沿触发方式时,则置“IIEO.IEO为1表示外部中断0正在向CTU申请中断.当CPU响应当中断,转向中断服务程序时,由硬件清-OIEO,1TKTCON.2):选择外部中断恳求”而1)为边沿触发方式或电平触发方式的限制位.其作用和ITO类似.IEKTCON.3):外部中断I的中断申请标记。其意义和IEO相吼THXTCoN5):8031片内定时罂川嗷器O溢出中断申请标
5、记。当启动To计较后,定时器/计数器O从初始(ft起先1计数.当最高位产生溢出时.市硬件置TR).向CPU申请中断.CPU响应TFo中断时,会自动清“0”TRKTFKTCON.7):8031片内定时器/计数器I溢出中断申请标记,功能和TH)类似,当MCSjl系统双位后,TCON各位被清O.2.串行口限制寄存器SCONSCON为串行I1双洌寄存器,SCON的低二位,锁存中行11的接收中断和发送中断标记,其格式如下:SCON(98H)D7D6D5D4D3D2Dl1.X)IIllITIlTl(SCON.l):8031串行口的发送中斯标记,TI=I表示串行口发送器正在向CpU申请中断,向中行11的数据
6、缓冲器SBUF写入一个数据后,就马上启动发送涔接著发送.值得留痣的是,CPU响应发生器中断层求,转向执行中断服务程序时,并不清-0Tl.TI必需由用户的中断服务程序清-owRl(SCONO):串行I接收中阍标记.RI为I表示小行I接收器正在向CPU申请中阍.同样Rl0需由用户的中断服务程序清O.一般状况,以上五个中断源的中断恳求标记是由中断机构硬件电路自动湿位的,但也可以人为的通过指令(SETBBIT),而以上两个限制寄存器的中断标记位置位,即“软件代请中断这是单片机中断系统的一大特点.1.2中断限制1.2.1 中断允许寄存器IEMCS-5I检片机对中断的开放或屏蔽,是由片内的中断允许寄存器I
7、E限制的.IE的格式如下图所示:IE(0A8H)Dl.D6D5,D4.D3D2.Dl.DOEAl-I-IESlETIlEXIlEroEXOIE寄存器各位功能如下:EA(IE-7:CPU的中断开物禁止总限制位。EA=O时禁止全部中断:EA=I时,开放中断,但每个中断还受各自的限制位限制。ES允许或禁止串行口中断。ES=O时,禁止中断:ES=IWf.允许中断*ES:允许或禁止定时,计数器1溢出中断,ETl=OBt,禁止中断:EXi=IBt,允许中断。ET!(IE.2:允许或禁止外部中断1MTI)中断。EXl=O时,禁止中断:EXI=IBj.允许中断。EXIIE.1);允许或禁止定时器,计数器0溢出
8、中断。ETO=O时,禁止中断,ETO=I时允许中断。EXO:外部中断I中断优先级限制位。PXl=I.为高优先级中断.PXl=O.为低优先级中断.PTOdP.I):定时器/计数器TO中断优先级限制位.PTO=I,为高优先级中断,PTl=O,为低优先级中断,PXO(IP.0:外部中断0中断优先级限制位。PXO=I.为高优先级中断.PXO=O.为低优先级中断.中断申请源的中断优光级的凹凸,由中断优先级限制寄存器IP的各位Ri制.IP的各位由用户用指令来设定。发位操作后,IP=XXOOOO(X)B,即各中断源均设为低优先级中断,2.中断系统规定(1)若CPU正在对某一个中断用务.则级别低的或同级中断申
9、请不能打断正在进行的服务.而级别高的中断申请则能中止正在进行的服务.使CPU转去更高级的中断服务,传服务处理完毕后,CPU再返回原中断限务程序接着执行.(2)若多个中断海同时申请中断,则级别高的优先侬先服务。(3)若同时收到几个同一级别的中断恳求时.中断服务取决于系统内部协助优先依次.在每个优先欲内,存在著一个协助优先级,其优先依次如下:中断源中断姒别IEO外部中断0最高级别TH)定时印数器0溢出中断IIEl外部中断1TFl定时器/计数器1溢出中断Rl.H串行口中断最低优先级综上所述,可对中断系统的规定概括为以下两条基本规则:低优先级中断系统的规定被高级中断系统中断,反之不能;当多个中断源同时
10、发出巾诂时,级别高的优先级先眼务(先按凹凸优先级区分,再按协助优先级区分).1.3中断响应1.3.1CPU病校中断的条件及过程1 .响应条件MCS-5I单片机在每个机器周期的S5P2期间依次采样各中断恩求标记位,如有置位,I1.下列三种状况都不存在,那么,在下一周期的都期间响应中断。否则,采样的结果被取消,CPU不能马上响应中断CPU不响应中断的三种状况是:(1) CPU正在处理同级或诙优先级的中断.现行的机涔周期不是所执行指令的最终一个机器周期.(3)正在执行的指令是RETI或访问IE、IP的指令,CPU在执行RETI或访问IE、IP的指令后,至少须要再执行条其他指令后才会响应中断恳求,2.
11、中断响应过程CPU响应中断后,由硬件执行下列操作序列:(1)依据中断恳求源的优先级凹凸,使相应的优先级状态触发器置I。(2)保刷断点,即把程序计数器PC的内容推入堆栈保存。(3)清相应的中断恳求标记位IEO、IEl、TH)或TF1.(4)把被响应的中断服务程序的入11JiWt送入PC.从而转入相应的中断服务程序.各中断源所对应的中研服务程序的人口地址如下;入口地址OOo3H(XX)BH0013HOOlBII0023H中BfiS外部中断O定时揶计数器TO外部中断I定时器/计数器Tl串行口中断从上述地址起先执行中断服务程序,中断服务程序的最终一条指令必需玷中断返I可指今RETlCPU执行该指令时,
12、先将相应的优先级状态触发器清零,然后从堆栈中弹出的两个字节到PC,从而返回到主程序断点处。爱护现场及更原现场的匚作必需由用户设计的中阍服务程序处理.532中断崽求的撤除CPU响应中断的同时,该中断尽求标记应被清除,否则将会引起另一次中断,中断标记的清除分为二种状况:1 .对于定时器溢出的中断标记TFo(或TFI)及负跳变触发的外部中断标记IEO(或IEl).中断响应后,中断标记由硬件自动清除.2 .对于电平触发的外部中断息求,中断恳求标记不由CPlI限制,在中断结束前必御由中断就撤清中断恳求信号.3 .串行1.l中断标记TI和Rl在中断晌应后不能Ill坡件自动消除.这就现要在中断眼务程序中,由
13、软件消除中断恳求标记.5.3.3外部中断的响应时间外就中断/NTO和/W0的电平在斑一个机器周期都被采祥,并锁存在IEo和IEl中,这个置入的IEo和IEl的状态到下一个机器Wi期才被查询.假如中断被激活,井口满意响应条件,CPU接着执行-条硬件子程序调用指令,以转到相应的眼务程序入口,该调用指令本身球要两个机涔周期这样.从产生外部中断恩求到起先执行中断服务程序的第一条指令之间最少须要三个完整的机器周期,假如中断恳求遇到了上面所列三种状况之一,使CPU不能马上响应中断时,则中断响应的时间将更长。黄如CPU正在处理同级或高级中断,而外的等待时间取决于中断服务程序的处理时间,假如正在执行的指令没有
14、执行到该指令的机器周期,所制的额外的等传时间不会多于3个机器周期(柒法指令和除法指令是最长的指令,需4个机器周期)。假如正在处理的指令为RETl或访问IE,IP的指令,额外的等待时间不会多于5个机器周期(执行这些指令最多需一个机器周期,再执行一条指令最多为4个机耦同期).由此看来,外部中断响应时间总是3-8个机器周期(不包括等待中断服务程序处理状况在内)1.4 定时/计数潜的结构及工作原理MCS-5I单片机内部有两个16位可编程定时器用做器,即定时器TO和定时器Tl(8052供应3个,这第三个称为定时器T2)它们既可用作定时器方式,又可用作计数器方式,可编程设定4种不同的工作方式.1.4.1 定时,计数器的结构定时/计数涔TO、Tl的结构如图所示,它由加法计数器、TMOD.TCON夺存器等组成。定时/计数器的核心是16位加法计数落,图中定时/计数落TO的加法计数潺用特别功能寄存得THOJ山),.、.UHN小加青卷的S.,HJ.l.ii,A.V-.