欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    MCS-51单片机的中断系统和定时计数器.docx

    • 资源ID:1468523       资源大小:110.59KB        全文页数:12页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MCS-51单片机的中断系统和定时计数器.docx

    MCS-Sl单片机的中断鬃统和定时,计数叁中断系统在计算机应用系统中起着非常垂要的作用,良好的中断系统能提高计兑机对外界异步W务的处理实力和响应速度,从而扩大计豫机的应用范国。本点介绍MCS-51的单片机的中断系统和定时器/计数器.1.1 中断系统结构1.1.1 MCS-51中断系统的总体结构在单片机中,为了实现中断功能而配置的软件和硬件.称为中断系统.中断系统的处理过程包括中断恳求、中断响应、中断处理和中断返回.如图5所示,MCS5l中断系统的总统结构,图中包括:5个中断思求海:,4个用于中断限制和管理的可编程和可位寻址的特别功能奇在器(中断恳求源标记奇仔器TCON及SCON,中断允许限制寄存器IE和中断优先级限制寄存器IP),供应两个中断优先级,可实现二级中断嵌套,且斑一个中断源可编程为开放或屏蔽.1.1.2 中断息求源及相关的特别功能寄存器TCON和SCoN所谓中断源就是引起中断的缘由或发出中断思求的中厮来源.在51子系列中有五个中断源52干系列为6个)它们是:Into一一外部中断。层求,低电平或脉冲卜降沿有效。由p&2引脚输入.INT一一外部中断I总求.低电平或脉冲下降沿有效.由p33引脚输入.TO定时器/计数器0溢出中断感求。外部计数脓冲由P3.4引脚输入。Tl定时器/计数器1溢出中断恳求.外那计数脓冲由P35引脚场入.TXRX本行中断总求,当事行门完成一帧发送或接受时.思求中断.好一个中断源都对应有一个中断恳求标记位来反映中断恳求状态,这些标记位分布在特别功能寄存涔TcON和SCON中.I.定时器/计数器限制寄存器TCoNTeoN为定时器/计数器的限制寄存器.它同时也锁在TO、Tl涌出中断源标记、外部中断恳求标记,与这些中断恳求源相关的位含义如下:TCON<8811):D7.D6D5,D4.D3D2.Dl.DoTFlITH)IIIEI【ITlIEoITOITO(TeoN.0):选择外部中断地求0(INTO)为边沿触发或电平触发方式的限制位.ITO=O.为电平触发方式,INTO引脚位低电平常向CPU中请中断;ITgI,为边沿触发方式,WrO八入脚上的高到低的负跳变时向CPU申请中断no可由软件置*r或清“。二IE(XTCON-I):外部中断0的中断申请标记。当ITO=O即电平触发方式时,每个机器周期的S5P2采样INTO,若INTO为低电平.则置“0"IEU.当ITft=I,即INTO程控为边沿触发方式时,则置“I"IEO.IEO为1表示外部中断0正在向CTU申请中断.当CPU响应当中断,转向中断服务程序时,由硬件清-O"IEO,1TKTCON.2):选择外部中断恳求”而1)为边沿触发方式或电平触发方式的限制位.其作用和ITO类似.IEKTCON.3):外部中断I的中断申请标记。其意义和IEO相吼THXTCoN5):8031片内定时罂川嗷器O溢出中断申请标记。当启动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的数据缓冲器SBUF写入一个数据后,就马上启动发送涔接著发送.值得留痣的是,CPU响应发生器中断层求,转向执行中断服务程序时,并不清-0"Tl.TI必需由用户的中断服务程序清-owRl(SCONO):串行I接收中阍标记.RI为I表示小行I接收器正在向CPU申请中阍.同样Rl0需由用户的中断服务程序清"O".一般状况,以上五个中断源的中断恳求标记是由中断机构硬件电路自动湿位的,但也可以人为的通过指令(SETBBIT),而以上两个限制寄存器的中断标记位置位,即“软件代请中断这是单片机中断系统的一大特点.1.2中断限制1.2.1 中断允许寄存器IEMCS-5I检片机对中断的开放或屏蔽,是由片内的中断允许寄存器IE限制的.IE的格式如下图所示:IE(0A8H)Dl.D6D5,D4.D3D2.Dl.DOEAl-I-IESlETIlEXIlEroEXOIE寄存器各位功能如下:EA(IE-7:CPU的中断开物禁止总限制位。EA=O时禁止全部中断:EA=I时,开放中断,但每个中断还受各自的限制位限制。ES<IE.4>允许或禁止串行口中断。ES=O时,禁止中断:ES=IWf.允许中断*ES<IE.3>:允许或禁止定时,计数器1溢出中断,ETl=OBt,禁止中断:EXi=IBt,允许中断。ET!(IE.2>:允许或禁止外部中断1<MTI)中断。EXl=O时,禁止中断:EXI=IBj.允许中断。EXI<IE.1);允许或禁止定时器,计数器0溢出中断。ETO=O时,禁止中断,ETO=I时允许中断。EXO<1E.0)s允许或禁止外部中断0(WrO)中断.EXO=O时,禁止中断;EXO=I时,允许中断。当MCS-Sl系统复位后,IE各位均被清0,全部中断被禁止。12.2中阍优先级寄存器【PMCS-Sl单片机设有两级优先级.高优先级中断和低优先级中断.中断源的中断优先级分别由中断限制寄存器IP的各位来设定.IP的格式如下:IP(0B8H):D7D6D5D4D3D2DlDOIIIPS11IPXlIPTolpoI.IP寄存器各位功能如下:PS(1R.4):串行口中断优先皴限制位。PS=I.为高优先级中断,PS=(),为低优先级中断.PTI(IP.3):定时/计数涔Tl中断优先级限制位.PTl=I,为高优先级中断,PTI=O,为低优先级中断,PXl(IP.2>:外部中断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正在对某一个中断用务.则级别低的或同级中断申请不能打断正在进行的服务.而级别高的中断申请则能中止正在进行的服务.使CPU转去更高级的中断服务,传服务处理完毕后,CPU再返回原中断限务程序接着执行.(2)若多个中断海同时申请中断,则级别高的优先侬先服务。(3)若同时收到几个同一级别的中断恳求时.中断服务取决于系统内部协助优先依次.在每个优先欲内,存在著一个协助优先级,其优先依次如下:中断源中断姒别IEO外部中断0最高级别TH)定时印数器0溢出中断IIEl外部中断1TFl定时器/计数器1溢出中断Rl.H串行口中断最低优先级综上所述,可对中断系统的规定概括为以下两条基本规则:低优先级中断系统的规定被高级中断系统中断,反之不能;当多个中断源同时发出巾诂时,级别高的优先级先眼务(先按凹凸优先级区分,再按协助优先级区分).1.3中断响应1.3.1CPU病校中断的条件及过程1 .响应条件MCS-5I单片机在每个机器周期的S5P2期间依次采样各中断恩求标记位,如有置位,I1.下列三种状况都不存在,那么,在下一周期的都期间响应中断。否则,采样的结果被取消,CPU不能马上响应中断CPU不响应中断的三种状况是:(1) CPU正在处理同级或诙优先级的中断.<2>现行的机涔周期不是所执行指令的最终一个机器周期.(3)正在执行的指令是RETI或访问IE、IP的指令,CPU在执行RETI或访问IE、IP的指令后,至少须要再执行条其他指令后才会响应中断恳求,2.中断响应过程CPU响应中断后,由硬件执行下列操作序列:(1)依据中断恳求源的优先级凹凸,使相应的优先级状态触发器置I。(2)保刷断点,即把程序计数器PC的内容推入堆栈保存。(3)清相应的中断恳求标记位IEO、IEl、TH)或TF1.(4)把被响应的中断服务程序的入11JiWt送入PC.从而转入相应的中断服务程序.各中断源所对应的中研服务程序的人口地址如下;入口地址OOo3H(XX)BH0013HOOlBII0023H中BfiS外部中断O定时揶计数器TO外部中断I定时器/计数器Tl串行口中断从上述地址起先执行中断服务程序,中断服务程序的最终一条指令必需玷中断返I可指今RETlCPU执行该指令时,先将相应的优先级状态触发器清零,然后从堆栈中弹出的两个字节到PC,从而返回到主程序断点处。爱护现场及更原现场的匚作必需由用户设计的中阍服务程序处理.532中断崽求的撤除CPU响应中断的同时,该中断尽求标记应被清除,否则将会引起另一次中断,中断标记的清除分为二种状况:1 .对于定时器溢出的中断标记TFo(或TFI)及负跳变触发的外部中断标记IEO(或IEl).中断响应后,中断标记由硬件自动清除.2 .对于电平触发的外部中断息求,中断恳求标记不由CPlI限制,在中断结束前必御由中断就撤清中断恳求信号.3 .串行1.l中断标记TI和Rl在中断晌应后不能Ill坡件自动消除.这就现要在中断眼务程序中,由软件消除中断恳求标记.5.3.3外部中断的响应时间外就中断/NTO和/W0的电平在斑一个机器周期都被采祥,并锁存在IEo和IEl中,这个置入的IEo和IEl的状态到下一个机器Wi期才被查询.假如中断被激活,井口满意响应条件,CPU接着执行-条硬件子程序调用指令,以转到相应的眼务程序入口,该调用指令本身球要两个机涔周期这样.从产生外部中断恩求到起先执行中断服务程序的第一条指令之间最少须要三个完整的机器周期,假如中断恳求遇到了上面所列三种状况之一,使CPU不能马上响应中断时,则中断响应的时间将更长。黄如CPU正在处理同级或高级中断,而外的等待时间取决于中断服务程序的处理时间,假如正在执行的指令没有执行到该指令的机器周期,所制的额外的等传时间不会多于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<'-.-iJSb'IHl.TI.I则表示定时/计数器Tl的加法计数器的面8位和低8位.这些寄存着可依据须要由程序读写.当16位加法计数器的输入雄林输入一个脓冲,16位加法计数器的值自动加I,当计数器的计数值超过加法计数器字长所能表示的2进制数的范用而向第17位进位,即计数溢舟时,置位定时中断恳求标记,向CPu申请中断.16位M法计数涔然程选择对内部时钟脓冲诳行计数或对外部输入脓冲计数,对内部脓冲计数时称定时方式,对外部脓冲计数晡称计数方式。1.5 定时普/计数涔的J1.作方式I.工作方式寄存器TMoDTMoD用于限制TO和TI的工作方式,其各位定义如卜:IMOD(89H)D7D6D5D4D3D2DlDOGAlEICTTMlIMOGAlECIMlIMO京卅粥Tl定时器TO-各位功能如下:MhMO工作方式限制位.可构成以下4种工作方式:MlMO工作方式说明O0013位计数器O1I16位计数器102可自动再奘毂的8位计数渊I13TO分成两个独立的8位计数器:Tl在此方式下是关闭状态,GT;计数工作方式/定时工作方式选用位,CT=O.设置为定时工作方式.f=.设置为计数工作方式。GATE:门控位.用以确定是由软件还是硬件启动,停止计数.GATE=O,而B祈1被封锁只要用软件对TRO(或TRl)置1就启动了定时器.GATE=I,定时器/计数器的计数受外部引脚输入电平的限制,在TRO(或TRl)H1时,若INTO(或JNTI)引脚为高电平.启动定时器计数:为低电平常停止计数.TMOD的全部位在取位后泄0.TMOD不能位寻址,只能按字节操作设置工作方式。1.5.2限制寄存渊TCONTCON的高4位用于限制定时器的人口动、容止以及标明定时器的溢出和中断状况TCON的低4位用于两个外部中断源限制。各位的含义如下:TCON(88H)8EH8EH«DHXCH8BH8AH89HSWHITFlITRlITt)ITRolIEIITl|1mITOTF1:定时器1溢出标记,Tl溢也时由硬件置1,并申说中断,CPU响应中断后,又由硬件清O.TFl也可由软件清0.THh定时器O溢出标记,功能与FTI相同.TRI:定时器1运行限制位,可由软件田I或消O来启动或停止Tl,TRO:定时器O运行限制位,功能与TRl相同.DEh外部中断1恳求标记.IEO:外部中断O恳求标记.ITI;外部中断I触发方式选择位。ITO:外部中断0触发方式选择位.TCON中的低4位用于中断I:作方式.在讲斛并描述中断的章节中已具体探讨过.单片机狂位后,TooN中的各位均为0.下面分别介绍4种工作方式的特点及工作状况,1 .工作方式O13位计数器TU在工作方式O的逻辑结构如图53所示,在这种工作方式下.16位的计数器(THo和T1.0)只用了13位构成13位定时/计数器(为与MCS-48赦容).TI.0的高3位未用,当TIjO的低5位计满时,向THo进位,而THo溢出后对中断标记位FTO而1.并申请中断。TO是否溢出可用软件查询TFO是否为1.中*图5.3工作方式O一13位计数器的设辑结构图当=O时,多路开关打到上位,定时用数器的黝入端接内部振荡器的12分版,即工作在定时方式,每个计数脉冲的周期等于机器周期,当定时/计数器溢出时,其定时时间为:T=计数次数X机器周期=<2,?-To初值)X机器周期f=iBt,多路开关打到下位,定时/计数器接外部TO引脚输入信号,即工作在计数方式.当外部蛤入信号电平发生从“1"到”O"跳变时.加1计数器加1.2 .工作方式I16位计数器图5.4工作方式I的逻辑结构TO在工作方式1的龙轼结构如图5.4所示,它与工作方式。的差别仅在于工作方式I是以16位计数零参与计数.且定时时间为T=计数次数X机器网期=(22-TO初值X机器周期3工作方式28位自动重装初值计数零TO在工作方式2的逻辑结构如图55所示,TIJo用作8位计数涔,THO用来保存初值,每当T1.O计满溢出时.硬件自动符IHO中的值装入T1.O中.工作方式2的定时时间为:t=计数次数X机器冏期=(2'-To初值)X机器周Wl-J:国H%z<j蒯W'tcTll1jT1.OTRO图55工作方式2的道卷结何图3 .工作方式3-2个独立8位计数8工作方式3的逻辑结构如图5.6所示.该工作方式只适用于定时/计数涔TO.TO在Jl作方式3被拆成两个相互独直的计数器,其中T1.o运用原TO的各限制位、引脚和中断源:CtT.GATE.TR(h而5和Tro.而TWJ则只能作为定时器熔用,但它占用了TI的TRI和TF1.即占用了Tl的中断标记和运行限制位。一般在系统需增加-个额外的8位定时器时,TO可设置为工作方式3,此时TI虽仍Ur定义为工作方式0、工作方式1和工作方式2、但只能用在不需中阍限制的场合.图5.6工作方式3的选辑结构图1.6绘合举例定时/计数器的应用编程应留意两点:I,初始化(正确写入限制字2.时间弗.数(初伯)的计算.5.6.1初始化步骤为:(1)向TMoD写工作方式限制字.(2)向计数器T1.、TH装入初值,<3)WTRx=I.启动计数。(4)SETx=I,允许定时桥数器中断(若须要时)(5)置EA=1.CPU开中蜥.1.6.2 装我初值的计算:当定时器,计数器工作于定时状态时对机器周期进行计数.设单片机的品振频率为。“Hz则:个机器周期:?=£若定时时间为t,则对应的计数次数N="出二机器周期由于MCS-Sl单片机的定时器/计数器是加I计数器,计满回零,故对应定时时间应袋入的计数初伯为:2n-N<n为工作方式选择所确定的定时器位数1.6.3 编程举例例1:设To为工作方式1.设置为定时时间为2ms,旬当2ms到,申请中断,在中断眼务程序中将P1.0的内容取反送出,即在Pl.0引脚产生2S0Hz的方波(假设品版为6MHz).下面先计尊定时的TO初始值.以即总:ZW=6x10"t=2ms12|2则:机器阳期T=乎=2uSfu6×IO6计数次数N=t2×l()机器周期1.S=KK)O对应的计数初值为:2ki-I(MX)=645A6D=FC18H编程如下:ORG(XXX)H*AJMPMAIN«ORG(XX)BHMOVIU).#18H:TO中断服芬程序MOVTH0.#()FCH:送2ms计数初(ftCP1.PI.O:输出取反RETl(MAIN:MOSP#63H:置堆栈指针MOVTMOD,#01:To初始化MOVT1.O:#18HMOVTH0:WOFCH:SETBTRO:后动TD计数SETBETO:允许TO中断SETBEA:CPU开中断SJMPS:等待例2:GATE=I,TRO=IBf,只有Wn)引脚上出现高电平常,TO才被允许计数.试利用这功能测试/NTO弓I脚上脉冲的宽度(机器屏期数),设外部待测脉冲由WTO<ra.2)输入.TO工作在方式】.设置为定时状态.GATES为r”,测试时,在.INTO苑为“0”时置TRO为“1",当;/N70然变为-1”时启动计版WrO端冉次变为“o”时停止计数.此时的计数值就是被测正脉冲的宽度.编程如下:ORGOooOHMOV!MOD,揪为HMOVT1.O-«»HMOVTHO.WK)HJBP32$SETBTRoJNBP32SJBP3.2.SC1.RTROMOVA.T1.OMOVBJHOC程序include<rcg51.h>main():To1作方式1定时,GAIE=I*(;等待/NTO变低:启动To:等带WTO变高:等待而再变低:TO停止计数:存放计数值*TMoD=OXO9/设X定时/计数器的工作方式*,IHO=O:TU)=0;八设置初值WhiIe(P3,2=D;/*等待P3.2变底*/TRO=I;/*起先计数*/WhilC<P32=O):/等待E3.2变高叩WhiIC(P3.2=1);/等待P3.2变低”/TKl=O;/*停止计数*/*数据处理程序略*/注,以上程序没考.虑定时/计数器在脉冲测量过程中由于脓冲周期过大而引起的定时/计数器的溢出向题,这个问题留给读者思索。思定题与习题1什么叫中断源?MCS-51有哪些中断源?各有什么特点?2什么叫中断嵌套?什么叫中断系统?中断系统的功能是什么?38031的I1.个中断标记代号是什么?位地址是什么?它们在什么状况下被附位和复位?4写出并记住8031八级中断的入口地址,8031响应中断的最知时间是多少?5试写出INIU为边沿触发方式的中断初始化程序.6 MCS-5I有现三种扩展外部中断海方法?各有什么特点?7 8051单片机内部有几个定时/计数器?它们由哪些专用寄存器祖成?8 8051平片机的定时/计数器有哪几种工作方式?各有什么特点?9定时/计数曙作定时用时,其定时时间与哪些因素有关?作计数用时,对输入信号频率有何限制?IO编程,利用定时器TO(工作方式D产生-个50HZ的方波,由的Q输出,晶振频率为12MHzo11在8051单片机中,已知晶娘短率为12MH.试程使Pl.0和PI.1分别输出周期为2ms和5(X)ms的方波.12设晶振频率为6MHz,试用TO作为外部计数器,编程实现便当计到100O个脉冲,使Tl起先2ms定时,定时时间到后,To又起先计数,这样反女循环卜去.,

    注意事项

    本文(MCS-51单片机的中断系统和定时计数器.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开