第6章-中断系统与定时计数器教材课件

上传人:无*** 文档编号:241646473 上传时间:2024-07-12 格式:PPT 页数:68 大小:752KB
返回 下载 相关 举报
第6章-中断系统与定时计数器教材课件_第1页
第1页 / 共68页
第6章-中断系统与定时计数器教材课件_第2页
第2页 / 共68页
第6章-中断系统与定时计数器教材课件_第3页
第3页 / 共68页
点击查看更多>>
资源描述
2024/7/12MCS-51单片机原理与应用1 介介绍绍MCS-51中中断断系系统统和和定定时时/计计数数器器,80C5180C51有有5个个中中断断源源和和2个个1616位位定定时时/计计数数器器,对对它它们们的的控控制是一个制是一个软硬结合软硬结合的过程。的过程。一一方方面面要要了了解解它它们们的的硬硬件件结结构构原原理理,另另一一方面要学会对它们的方面要学会对它们的初始化初始化编程。编程。第第6章章 中断系统与定时计数器中断系统与定时计数器2024/7/12MCS-51单片机原理与应用2中中断断系系统统是是单单片片机机系系统统的的重重要要组组成成,有有了了它它单单片片机可以机可以“一芯多用一芯多用”,大大大大提高提高了单片机系统的了单片机系统的效率效率。1中断概念中断概念中中断断过过程程如如图图,CPUCPU只只有有在在执执行行中中断断服服务务子子程程序序的短暂时间里才同外设打交道的短暂时间里才同外设打交道,CPUCPU的的工作效率工作效率大大大大提高提高,可以可以为为众多众多外设服务外设服务,实现资源实现资源共享共享。6.1 中断系统概述中断系统概述2024/7/12MCS-51单片机原理与应用3中断系统中断系统:能够实现能够实现中断中断功能的部件。功能的部件。中断中断与与子程序子程序的的区别区别:子程序调用是子程序调用是事先事先在程序中用在程序中用调用调用指令安排好指令安排好中中断断调调用用在在程程序序中中却却无无法法事事先先给给定定,中中断断没没有有相相应应的的调调用用指指令令,而而是是由由外外设设随随机机地地通通过过硬硬件件向向CPUCPU发发中中断断请请求求,才才把把CPU拉拉到到中中断断服服务务子子程程序序中中去去的的。整整个个中断是一个中断是一个软硬件软硬件结合的过程。结合的过程。2024/7/12MCS-51单片机原理与应用4中中断断源源:引引起起中中断断的的原原因因或或向向CPUCPU发发出出中中断断请请求求的的来来源源。中中断断源源可可以以是是外外设设、实实时时控控制制中中被被控控对对象象、故故障障源源和单片机内部的和单片机内部的定时定时/计数器计数器、串行口串行口等。等。2中断的特点中断的特点(1)实现分时操作)实现分时操作数数据据传传送送时时慢慢速速的的外外设设远远远远跟跟不不上上高高速速的的CPU的的节节拍拍,采采用用中中断断方方式式,匹匹配配了了两两者者之之间间的的传传送送速速度度,使使得得CPU也也能能可可以以与与多多个个外外设设同同时时并并行行工工作作,实实现现分分时时操操作作。2024/7/12MCS-51单片机原理与应用5(2)实现实时处理)实现实时处理各各被被控控对对象象可可以以随随时时对对CPUCPU发发中中断断请请求求,CPU,CPU也也能能够够及时响应及时响应,进行处理进行处理。(3)进行故障处理)进行故障处理由由故故障障源源向向CPUCPU发发中中断断请请求求,再再由由CPUCPU转转到到相相应应的的故障处理服务程序故障处理服务程序,进行处理。进行处理。3中断系统的功能中断系统的功能(1)中断响应与返回)中断响应与返回2024/7/12MCS-51单片机原理与应用6当当外外设设向向CPUCPU发发中中断断请请求求后后,如如果果中中断断是是开开放放的的,则则CPUCPU在在执行执行完完当前指令当前指令后将后将响应响应这一中断请求。这一中断请求。首首先先硬硬件件自自动动执执行行保保护护断断点点,把把 压压入入堆堆栈栈保存保存;接接着着执执行行用用户户编编写写的的保保护护现现场场程程序序,将将相相关关寄寄存存器内容和标志位状态压入堆栈保存器内容和标志位状态压入堆栈保存;此此后后转转到到相相应应外外设设的的中中断断服服务务子子程程序序执执行行,一一般般在在中中断断服服务务程程序序最最后后,执执行行用用户户编编写写的的恢恢复复现现场场程程序序,直到遇直到遇RETI指令指令,执行中断执行中断返回返回。2024/7/12MCS-51单片机原理与应用7(2)中断判优与中断嵌套)中断判优与中断嵌套中中断断系系统统根根据据轻轻重重缓缓急急给给每每个个中中断断源源规规定定了了一一个个优优先先级级别别,当当多多个个中中断断源源同同时时向向CPUCPU发发出出中中断断请请求求时时,CPUCPU总是先响应总是先响应优先级最高优先级最高的中断请求。的中断请求。中中断断嵌嵌套套:当当CPUCPU正正在在处处理理某某一一中中断断时时,若若出出现现了了更更高高优优先先级级的的中中断断请请求求,则则CPUCPU会会暂暂停停正正在在处处理理的的的的中中断断服服务务程程序序,保保留留这这个个程程序序的的断断点点,转转去去响响应应更更高高优优先先级级的中断处理的中断处理.2024/7/12MCS-51单片机原理与应用8待待高高级级中中断断处处理理结结束束后后,再再回回到到原原中中断断服服务务程程序序,继续执行继续执行,这个过程称为这个过程称为中断嵌套中断嵌套。如如果果发发出出新新的的中中断断请请求求的的中中断断源源的的优优先先级级与与正正在在处处理理的的中中断断源源同同级级或或更更低低,则则新新中中断断请请求求将将被被屏屏蔽蔽,直至正在处理的中断直至正在处理的中断执行完毕执行完毕,才能响应才能响应新的新的中断请求。中断请求。2024/7/12MCS-51单片机原理与应用96.2.1中断系统结构框图与中断源中断系统结构框图与中断源1中断系统中断系统80518051中中断断系系统统提提供供5个个中中断断源源,2个个中中断断优优先先级级,可实现可实现二级二级中断服务程序中断服务程序嵌套嵌套.5个个中中断断源源:2个个为为外外部部中中断断源源,2个个为为片片内内定定时时/计计数数器器T0T0和和T1T1溢溢出出中中断断TF0TF0和和TF1,TF1,1个个为为片片内内串串行行口口的的发送中断发送中断TI或接收中断或接收中断RI。2024/7/12MCS-51单片机原理与应用102024/7/12MCS-51单片机原理与应用11中中断断系系统统涉涉及及到到的的特特殊殊功功能能寄寄存存器器有有4个个,其其主主要作用有要作用有3个个方面。方面。(1)中中断断请请求求标标志志:中中断断请请求求标标志志位位由由定定时时器器控控制制寄寄存器存器TCON与串行控制寄存器与串行控制寄存器SCON的相应位来锁存的相应位来锁存;(2)中中断断允允许许寄寄存存器器IE:控控制制CPUCPU是是否否响响应应中中断断源源的的中断请求中断请求。(3)中中断断优优先先级级寄寄存存器器IP:安安排排各各中中断断源源的的优优先先级级,每一个中断源可编程为每一个中断源可编程为高高优先级中断或优先级中断或低低优先级中断。优先级中断。2024/7/12MCS-51单片机原理与应用122中断源中断源(1)外部中断源)外部中断源两两个个外外中中断断请请求求由由 和和 引引脚脚输输入入,有有电电平平触触发发和和脉脉冲冲触触发发两两种种方方式式。由由定定时时器器控控制制寄寄存存器器TCON中中IT0或或IT1位位状状态态来来设设定定触触发发方方式式,由由IE0或或IE1来锁存来锁存中断请求中断请求标志。标志。2024/7/12MCS-51单片机原理与应用13以以外中断外中断1和和定时器定时器1控制位来说明。控制位来说明。IT1:外中断外中断1触发方式触发方式控制位控制位用用软软件件置置位位或或清清除除,IT1=1,选选择择外外中中断断1为为下下降降沿沿触发;触发;IT0=0,选择选择外中断外中断1为为低电平低电平触发。触发。IE1:外中断外中断1中断请求中断请求标志位标志位对对于于脉脉冲冲触触发发方方式式,当当检检测测到到 引引脚脚上上出出现现的的外外部部中中断断信信号号的的下下降降沿沿时时,由由硬硬件件置置位位,使使IE1=1,请请求求中断;中断响应后由硬件中断;中断响应后由硬件自动清除自动清除,使使IE1=0IE1=0。2024/7/12MCS-51单片机原理与应用14对对于于低低电电平平触触发发方方式式,当当检检测测到到 上上有有效效的的低低电电平平信信号号时时,置置位位IE1=1,请请求求中中断断;但但中中断断响响应应后后硬硬件件不会不会清除此清除此标志标志,而仍保持而仍保持IE1=1。所所以以用用户户应应在在中中断断服服务务程程序序撤撤消消 引引脚脚上上的的低低电电平平,以以免免CPUCPU在在中中断断返返回回后后再再次次响响应应,引引起起一一次次请请求求,多次响应。多次响应。中中断断系系统统在在每每个个机机器器周周期期的的S5P2检检测测一一次次 ,检测方式由中断触发方式定。检测方式由中断触发方式定。2024/7/12MCS-51单片机原理与应用15低低电电平平触触发发时时要要求求 引引脚脚上上的的低低电电平平一一直直保保持到持到CPU响应响应中断为止;中断为止;下下降降沿沿触触发发方方式式要要求求外外中中断断请请求求信信号号的的高高低低电电平平至至少少各各保保持持一一个个机机器器周周期期,以以使使CPUCPU在在前前一一周周期期检检测测到到高高电电平平,而而在在后后一一周周期期检检测测到到低低电电平平,以以确确定定中中断断请请求求的提出。的提出。TCONTCON的的高高4 4位位分分别别是是定定时时器器0、1的的运运行行控控制制位位TR0、TR1和中断标志位和中断标志位TF0、TF1。2024/7/12MCS-51单片机原理与应用16(2)定时)定时/计数器溢出中断源计数器溢出中断源定定时时/计计数数器器溢溢出出中中断断属属于于内内部部中中断断,常常用用于于定定时时/计计数数控控制制。TCONTCON的的TF1、TF0分分别别是是定定时时器器1、0的的中断溢出中断溢出标志位标志位。定定时时器器运运行行后后,开开始始从从设设定定的的初初值值作作加加1计计数数,当当最最高高位位产产生生溢溢出出时时,由由硬硬件件置置位位,使使TF1=1,请请求求中中断断;中断响应后中断响应后由硬件由硬件自动清除自动清除,使使TF1=0。2024/7/12MCS-51单片机原理与应用17(3)串行口中断源)串行口中断源串串行行口口的的发发送送中中断断和和接接收收中中断断也也是是内内部部中中断断,常常用用于于串串行行通通信信,串串行行口口的的接接收收中中断断标标志志RI和和发发送送中中断断标志标志TI锁存在串行口控制寄存器锁存在串行口控制寄存器SCON的的低低2位位。2024/7/12MCS-51单片机原理与应用18串串口口每每发发送送完完一一帧帧串串行行数数据据,发发送送中中断断标标志志TI=1;每每接接收收完完一一帧帧串串行行数数据据,接接收收中中断断标标志志RI=1。RIRI和和TITI向向CPUCPU发中断请求。发中断请求。当当CPUCPU响响应应中中断断后后,首首先先需需要要判判断断RI和和TI中中哪哪一一个是中断源个是中断源,从而进入从而进入对应的对应的中断处理程序。中断处理程序。为为此此,可可在在串串口口中中断断服服务务程程序序中中安安排排一一条条对对RI和和TI的状态的的状态的判断指令判断指令来区分。来区分。同同样样,中中断断响响应应后后内内部部硬硬件件电电路路不不会会自自动动清清除除中中断断标标志志RI和和TI,所所以以也也要要在在中中断断处处理理程程序序中中由由软软件件给给以以清除清除。2024/7/12MCS-51单片机原理与应用196.2.2 中断控制寄存器中断控制寄存器1中断允许寄存器中断允许寄存器IE中中断断系系统统通通过过IE中中的的中中断断允允许许总总控控位位EA和和各各个个中中断断源源本本身身的的中中断断允允许许控控制制位位,对对中中断断请请求求的的开开放放和和关关闭闭进进行行两两级级控控制制。IE的的字字节节地地址址为为A8H,可可位位寻寻址址,IE,IE中写入的是中写入的是中断控制字中断控制字。2024/7/12MCS-51单片机原理与应用20图图中中各各控控制制位位的的功功能能都都是是“1允允许许,0禁禁止止”;单单片机复位后片机复位后,IE被全部被全部清零清零。2024/7/12MCS-51单片机原理与应用21可可通通过过程程序序置置位位或或复复位位IE相相应应的的位位,实实现现中中断断允允许许或或禁禁止止。只只有有总总控控位位EA和和相相应应中中断断源源的的源源控控位位都都置置1,该中断源的中断请求才会被该中断源的中断请求才会被CPU响应响应。如开放如开放外中断外中断1,可以用位操作指令:可以用位操作指令:SETB EA;开中断开中断,开放中断允许总闸开放中断允许总闸SETB EX1;开放外中断开放外中断1 1也可用字节操作指令:也可用字节操作指令:MOV IE,#10000100B2中断优先级寄存器中断优先级寄存器IP中断系统通过中断优先级控制寄存器中断系统通过中断优先级控制寄存器IP,IP,字节地址为字节地址为2024/7/12MCS-51单片机原理与应用22B8H,可可位位寻寻址址,图图中中各各控控制制位位对对优优先先级级的的控控制制都都是是“1高级高级,0低级低级。每每个个中中断断源源的的优优先先级级都都可可以以通通过过指指令令,对对中中断断优优先级控制寄存器先级控制寄存器IP中的中的相应位相应位来设定。来设定。2024/7/12MCS-51单片机原理与应用23例例如如要要将将T0、串串行行口口设设置置为为高高优优先先级级,其其余余中中断断源设置为低优先级源设置为低优先级,可以用位操作指令:可以用位操作指令:SETB PT0;PT0=1,;PT0=1,设置定时器设置定时器T0T0为高优先级为高优先级SETB PS;PS=1,;PS=1,设置串行口为高优先级设置串行口为高优先级也可用字节操作指令:也可用字节操作指令:MOV IP,#00010010BCPUCPU对中断对中断优先级优先级判定原则为:判定原则为:(1 1)正正在在执执行行的的低低优优先先级级中中断断服服务务程程序序,能能被被高级中断高级中断请求请求中断中断,实现中断实现中断嵌套嵌套;2024/7/12MCS-51单片机原理与应用24(2 2)正正在在执执行行的的高高优优先先级级中中断断服服务务程程序序,不不能能被被同级同级或或低级低级中断请求所中断请求所中断中断;(3 3)对对同同一一优优先先级级并并发发中中断断请请求求,由由内内部部的的硬硬件查询件查询逻辑逻辑,按按自然优先级自然优先级确定响应确定响应次序次序。自自然然优优先先级级顺顺序序由由硬硬件件形形成成,其其排排列列的的顺顺序序是是:外外中中断断0定定时时器器0中中断断外外中中断断1定定时时器器1中中断断串串行口行口中断。中断。复复位位后后,IP被被全全部部清清零零,所所有有的的中中断断源源为为低低级级中中断。断。2024/7/12MCS-51单片机原理与应用256.3 中断响应中断响应1完整的中断过程完整的中断过程一一个个完完整整的的中中断断过过程程可可分分为为4 4个个阶阶段段:中中断断请请求求,中断响应中断响应,中断服务中断服务及及中断返回中断返回。CPUCPU在在执执行行程程序序过过程程中中,在在每每一一个个机机器器周周期期的的S5P2期间期间,会对各个会对各个中断源中断源进行采样。进行采样。找找到到所所有有已已触触发发的的中中断断请请求求,并并按按照照优优先先级级和和同同级级的的优优先先权权排排好好队队,在在下下一一机机器器周周期期,只只要要不不受受阻阻断断,CPU,CPU就将响应其中就将响应其中优先级最高优先级最高的中断请求。的中断请求。2024/7/12MCS-51单片机原理与应用26(1 1)同级同级或或高优先级高优先级的中断正在进行中;的中断正在进行中;(2 2)当前的机器周期还不是正在执行的指令的)当前的机器周期还不是正在执行的指令的最后一个最后一个机器周期机器周期,也就是说也就是说,当前正在执行的当前正在执行的指令完指令完成成前前,不会响应中断。不会响应中断。(3 3)正在执行的指令为)正在执行的指令为RETI以及任何访问以及任何访问IE或或IP的指令的指令,也就是说也就是说,只有在这些指令后面至少要只有在这些指令后面至少要再再执行执行完一条其它指令后完一条其它指令后才会响应才会响应中断请求。中断请求。2024/7/12MCS-51单片机原理与应用27CPU响应中断的响应中断的过程过程如下:如下:(1 1)将将相相应应的的优优先先级级状状态态触触发发器器置置1,以以阻阻断断后来的后来的同级同级和和低级低级的中断请求。的中断请求。(2 2)清清零零中中断断请请求求源源标标志志,如如TF1、TF0及及下下降沿触发降沿触发的外部中断的外部中断IE1、IE0。(3 3)把把 压压入入堆堆栈栈,产产生生执执行行一一个个硬硬件件子子程程序序调调用用,把把相相应应的的中中断断服服务务程程序序的的入入口口地地址址送送入入PC。2024/7/12MCS-51单片机原理与应用28中中断断请请求求和和中中断断响响应应过过程程由由中中断断系系统统硬硬件件自自动动完完成成,但但中中断断服服务务程程序序由由用用户户按按照照实实际际需需要要进进行行编编写写,用用软件软件进行进行保护现场保护现场和和恢复现场恢复现场。CPUCPU从从中中断断入入口口开开始始执执行行中中断断服服务务程程序序,直直至至遇遇RETI指令指令为止为止,这一过程为这一过程为中断处理过程中断处理过程。2024/7/12MCS-51单片机原理与应用29执执行行RETI指指令令时时,将将恢恢复复断断点点,即即恢恢复复 ,使使CPUCPU返回断点处继续执行原主程序;返回断点处继续执行原主程序;同同时时清清除除在在中中断断响响应应时时所所设设置置的的优优先先级级状状态态位位,使使其其他他中中断断请请求求能能得得到到响响应应,这这一一功功能能是是RET指指令令没没有的。有的。2中断请求的撤除中断请求的撤除在在中中断断返返回回前前,必必须须撤撤除除中中断断请请求求,否否则则会会错错误误地引起地引起再次中断再次中断。中断请求的撤除有以下几种情况:中断请求的撤除有以下几种情况:2024/7/12MCS-51单片机原理与应用30(1 1)对对于于定定时时器器T0或或Tl溢溢出出中中断断与与下下降降沿沿触触发发的的外外中中断断,CPU,CPU在在响响应应中中断断后后,会会由由硬硬件件自自动动清清除除其其中中断断标标志志位位TF0或或TF1与与IE0或或IE1,无无须须用用户户采采取取措措施。施。(2 2)对对于于串串行行口口中中断断,CPU,CPU在在响响应应中中断断后后,由由于于中中断断系系统统硬硬件件不不能能自自动动清清除除中中断断请请求求标标志志位位TI与与RI,需要用户在需要用户在中断服务程序中断服务程序中用指令将其中用指令将其清除清除。2024/7/12MCS-51单片机原理与应用31(3 3)对于)对于电平触发方式电平触发方式的外中断的外中断,CPU在响应中在响应中断后断后,却无法对自己的引脚却无法对自己的引脚 和和 进行控制进行控制;也不也不能用指令将其中断请求标志位能用指令将其中断请求标志位IE0或或IE1清除清除;需要另需要另建外电路建外电路并配合并配合相应指令相应指令来来清除清除其中断请求。其中断请求。中断程序设计特色部分是要进行中断程序设计特色部分是要进行中断初始化编中断初始化编程程,也就是对也就是对4 4个与中断有关的个与中断有关的复位复位后它们全都被后它们全都被清零清零,按照按照中断控制要求中断控制要求必须必须对相关的控制位进行对相关的控制位进行预置预置。2024/7/12MCS-51单片机原理与应用32相邻相邻中断源中断源的入口地址只有的入口地址只有8个个字节字节,一般的一般的中中断服务程序断服务程序是不够放的是不够放的,通常是在通常是在入口地址单元入口地址单元放一放一条条转移指令转移指令,这样可以把中断服务程序灵活地放在这样可以把中断服务程序灵活地放在64KB程序存储器的合适地方。程序存储器的合适地方。单片机的单片机的复位入口复位入口是是0000H,如果使用中断的话如果使用中断的话,也要在也要在0000H单元起安排一条单元起安排一条转移指令转移指令,以跳过这些以跳过这些入入口地址口地址单元。单元。2024/7/12MCS-51单片机原理与应用33例例6.2 6.2 电路如图电路如图6.96.9所示所示,Pl.0P1.3输入输入4个按个按钮钮状态状态,Pl.4P1.7输出控制输出控制4个发光二极管个发光二极管;R-SR-S触发触发器用作器用作去抖去抖电路电路,当当开关开关K来回拔动一次将产生来回拔动一次将产生一个下一个下降沿降沿信号信号,通过通过 向单片机向单片机请求中断请求中断。每中断一次。每中断一次,4个发光二极管个发光二极管就根据对应的就根据对应的按钮状态按钮状态刷新刷新一次一次,如如SB1=0,则输出则输出P1.4=0,则则D1点亮。试用中断编程。点亮。试用中断编程。6.4 中断编程应用举例中断编程应用举例2024/7/12MCS-51单片机原理与应用342024/7/12MCS-51单片机原理与应用35 ORG 0000H AJMP STARTORG0013H LJMP IINT1ORG0030HSTART:MOV P1,#0FFH SETB IT1 SETB EX1 SETB EA SJMP$ORG0050HIINT1:MOV P1,#0FFH MOV A,P1 SWAP A MOV P1,ARETIENDSTART2024/7/12MCS-51单片机原理与应用366.5 定时定时/计数器的结构与原理计数器的结构与原理MCS-51MCS-51单片机内有两个单片机内有两个16位可编程位可编程的定时的定时/计数计数器(器(Timer/CounterTimer/Counter),既可用于既可用于定时定时,也可用于对也可用于对外外部部脉冲脉冲计数计数,还可作为还可作为串行口波特率串行口波特率发生器发生器,还可用来还可用来实现实现频率频率测量、测量、脉宽脉宽测量、信号测量、信号发生发生与信号与信号检测检测等。等。用它们来用它们来定时定时将不占用将不占用CPU的时间的时间,而且可以通而且可以通过软件编程来设定其上述功能过软件编程来设定其上述功能,所以它们是一种所以它们是一种可编可编程程的器件。的器件。2024/7/12MCS-51单片机原理与应用371定时定时/计数器的结构计数器的结构定时器的定时器的核心核心是特殊功能寄存器中能进行是特殊功能寄存器中能进行加加1计数计数的的寄存器对寄存器对,由由高高8位位和和低低8位位两个寄存器组成两个寄存器组成,T0由由 TH0(8CH8CH)和)和TL0(8AH8AH)组成)组成,Tl由由TH1(8DH8DH)和)和TL1(8BH8BH)组成。)组成。每个定时器中的每个定时器中的寄存器寄存器均可按其均可按其地址地址单独访问。单独访问。由特殊功能寄存器由特殊功能寄存器TMOD(89H89H)控制定制定时器)控制定制定时器的的启动和停止启动和停止计数计数,同时同时管理管理定时器的定时器的溢出标志溢出标志等等。2024/7/12MCS-51单片机原理与应用38CPU与与TMOD、TCON以及以及T0、Tl之间通过之间通过内内部总线部总线及及逻辑电路逻辑电路连接。定时器连接。定时器T0和和T1的结构及与的结构及与CPUCPU的的关系关系如下如下2024/7/12MCS-51单片机原理与应用392定时定时/计数器的工作原理计数器的工作原理每个定时器都可编程设置为每个定时器都可编程设置为定时定时或或计数计数。定时定时方式方式时时,对内部对内部机器周期脉冲机器周期脉冲计数计数,每来每来一个机器周期一个机器周期脉冲脉冲,计数器就计数器就加加1,直至计数器由直至计数器由全全1再加再加1而变为而变为全全0计满计满溢出溢出为止。可见为止。可见,计数周期计数周期等于等于机器周期机器周期,而一个而一个机器周期由机器周期由12个振荡周期个振荡周期组成组成,即即机器周期机器周期为:为:=12(1/)=12/若若 =12MHz12MHz,则则 =12/=12/12/(12 2106)=1s,这个计数值这个计数值为为1的的定时时间定时时间就是就是最短最短的的定时周期定时周期。2024/7/12MCS-51单片机原理与应用40随着随着计数值计数值C增加增加,定时时间定时时间t也以也以机器周期机器周期为为单单位位成倍增加成倍增加,定时时间定时时间t等于计数值等于计数值C乘以乘以机器周期机器周期 ,即:即:t=C Tc定时器定时器工作前工作前预置在预置在加加1计数器计数器中的中的值值称为称为计数计数初值初值C C0 0,又称为又称为时间常数时间常数,而定时器中的而定时器中的加加1计数器计数器实际实际所计所计脉冲个数脉冲个数称为计数值称为计数值C,两者是以两者是以计数器计数器的的模模M为为互补的互补的,即:即:C =M-C0 02024/7/12MCS-51单片机原理与应用41预置的预置的计数初值计数初值C0越越小小,则计数值则计数值C就就越大越大,获得的获得的定时时间定时时间t也越大。综合上面也越大。综合上面3 3个式子个式子,可得可得定时时间定时时间为:为:t=(M-C0)Tc=(M-C0)12/计数方式时计数方式时,计数器对计数器对T0或或T1引脚上引脚上输入输入的的外部外部脉冲信号脉冲信号计数计数,每输入一个脉冲每输入一个脉冲下降沿下降沿,加法加法计数器计数器加加1。2024/7/12MCS-51单片机原理与应用42当设置了当设置了工作方式工作方式并启动并启动定时器定时器/计数器计数器工作后工作后,对对内部时钟内部时钟或对或对外部事件外部事件计数计数,将按照被设定的将按照被设定的工作工作方式方式独立工作独立工作,不不再再占占用用CPU的时间的时间,只有在只有在计数器溢计数器溢出出时时,才可能才可能中断中断CPUCPU当前当前的的操作操作。定时器的定时器的初始化编程初始化编程是将是将控制字控制字写入写入工作模式工作模式寄存器寄存器TMOD和控制寄存器和控制寄存器TCON中中,以设定其以设定其工作工作模式模式和相关和相关参数参数后才能使其合适的工作。后才能使其合适的工作。2024/7/12MCS-51单片机原理与应用436.6 定时定时/计数器的工作模式计数器的工作模式6.6.1 工作模式寄存器和控制寄存器工作模式寄存器和控制寄存器1工作模式寄存器工作模式寄存器TMODTMOD为为8位位寄存器寄存器,通过用户编程写入通过用户编程写入模式控模式控制字制字,来控制其来控制其工作模式工作模式。GATE为门控位为门控位,和和其它条其它条件件控制定时器的控制定时器的运行运行和和停止停止。2024/7/12MCS-51单片机原理与应用44 为为定时方式定时方式和和计数方式计数方式选择位选择位,当当 =0时时,设置为设置为定时器定时器工作方式工作方式,当当 =1时时,设置为设置为计数器计数器工作方式。工作方式。M1、M0为工作模式为工作模式控制位控制位,其二进制的其二进制的4 4个组个组合可以合可以确定确定定时器的定时器的4 4种种工作模式工作模式。2024/7/12MCS-51单片机原理与应用45TMOD字节地址为字节地址为89H,不不可可位寻址位寻址,只能用只能用字节字节指令指令设置设置定时器的定时器的工作方式工作方式。CPU复位复位后后TMOD各位各位均均清清0。2控制寄存器控制寄存器TCONTCON的的低低4位位用于两个外中断用于两个外中断,定时器控制定时器控制中中则用其则用其高高4位位,分别用于分别用于T1和和T0的运行控制。的运行控制。2024/7/12MCS-51单片机原理与应用46TF1:Tl溢出标志位溢出标志位。T1计数溢出时计数溢出时,由由内部硬件内部硬件自动置自动置TF1=1。当。当CPU响应响应中断中断后后,由内部由内部硬件自动硬件自动使使TF1=0。T1T1工作时工作时,CPU可随时查询可随时查询TF1的状态的状态,所以所以,采用采用查询查询方式时方式时,TF1可用作可用作查询测试位查询测试位。TF1也可用也可用软件软件置置1或清或清0,同同硬件硬件置置1 1或清或清0 0效果一样效果一样。TR1:T1运行控制位运行控制位。靠软件。靠软件置位或清置位或清0,TR1=0:立即立即停止停止T1工作;工作;TR1=1:在其它条件配合下在其它条件配合下,可可使使T1运行。运行。2024/7/12MCS-51单片机原理与应用476.6.2 定时定时/计数器的工作模式计数器的工作模式定时定时/计数器计数器可由可由TMOD的的M1、M0设定设定四种四种工工作模式。对于作模式。对于模式模式0模式模式2,T0和和T1的功能是的功能是相同相同的的,仍将以仍将以T1为例来说明。为例来说明。1模式模式0M1M0=00,为模式为模式0-13位位计数器计数器,由由TL1的低的低5 位和位和TH1的的8位组成。位组成。13位计数器的最大计数值即为位计数器的最大计数值即为它的它的模模M=213=8192。2024/7/12MCS-51单片机原理与应用48定时器模式定时器模式0 0的的结构原理结构原理如图。当如图。当 =0=0时时,工工作于作于定时器定时器方式方式,以以振荡源的振荡源的12分频信号分频信号作为计数脉作为计数脉冲;冲;当当GATE=0时时,经经反相反相后使或门输出为后使或门输出为1,这时只这时只要要TR1=1,就能使与门输出为就能使与门输出为1,控制开关闭合控制开关闭合,启动启动T1计数计数。2024/7/12MCS-51单片机原理与应用49当当 =1=1时时,工作于工作于计数器计数器方式方式,对对T1端端输入输入的的外部脉冲计数。图中的组合逻辑电路外部脉冲计数。图中的组合逻辑电路控制控制计数器启动计数器启动:当当GATE=l时时,经经反相反相后输出为后输出为0,则由则由 控制控制或门或门的输出的输出,只有只有 =1且且TR1=1才能使与门输出才能使与门输出为为1,控制控制开关开关闭合闭合,启动启动T1计数。计数。2024/7/12MCS-51单片机原理与应用50TH1溢出使中断溢出标志溢出使中断溢出标志TF1置置1,表示定时表示定时时间时间或计数或计数次数次数到。当到。当CPUCPU响应中断后响应中断后,将转向以将转向以001BH为为入口的中断服务程序入口的中断服务程序,硬件将硬件将自动使自动使TF1=0。还可看出还可看出,当当TR1=1时时,将由控制将由控制T1T1的的启停启停,=1=1时启动时启动计数计数,=0,=0停止停止计数计数,使用此方式常使用此方式常用来测量引脚上的用来测量引脚上的正脉冲正脉冲的宽度。的宽度。2024/7/12MCS-51单片机原理与应用5113位计数器的模为位计数器的模为213,则模式则模式0 0的定时时间为:的定时时间为:t=(M-C0)12/=(213-C0)12/模式模式0,是为了与具有是为了与具有13位定时器的位定时器的MCS-48兼容。兼容。2模式模式1M1M0=01,为为模式模式1,TL1和和TH1组成组成16位位计数器。计数器。模式模式1与模与模式式0的差别仅在于计数器的的差别仅在于计数器的位数位数不同不同,工作工作过程过程完全类似完全类似。1616位计数器的位计数器的模为模为M =216=65536。定时时间为:定时时间为:t=(216-C0)12/2024/7/12MCS-51单片机原理与应用523模式模式2M1M0=10,为模式为模式2,TH1和和TL1成为两个成为两个互相独互相独立立的的8位位计数器。计数器。TH1用于用于存放计数的初值存放计数的初值,要在要在初始初始化化编程中编程中预置预置,且在且在计数过程计数过程中保持中保持不变不变。TL1成成为为一一个个可可以以 自自动动 重重装装载载初初值值 的的8 8位位计计数数器器,TL1计计数数溢溢出出时时,置置位位溢溢出出标标志志 TF1,并并 向向 C CP PU U 发发中中断断 请请求求,而而且且还还自自动动把把 TH1中中的的初初值值重重新新装装载载到到 TL1中中.2024/7/12MCS-51单片机原理与应用53TL1从从初值初值开始重新作开始重新作加加1计数计数,如此如此重复重复工作工作,直至直至TR1=0才会停止。才会停止。定时器工作于定时器工作于模式模式2时,用户时,用户程序中不必用程序中不必用指令指令来来重装重装计数计数初值初值,所以所以适用适用于较于较精精确确的的定时定时场合。场合。8 8位计数器的模为位计数器的模为M=28,模式模式2 2的定时的定时时间为:时间为:t=(28-C0)12/2024/7/12MCS-51单片机原理与应用544模式模式3M1M0=11,为为模式模式3,对对T0和和T1是不相同的。是不相同的。T0工作于工作于模式模式3时时,TH0和和TL0将成为两个互相将成为两个互相独独立的立的8 位计数器位计数器,这时这时,TL0利用了本身的利用了本身的全部全部控制位控制位,有有 、TR0、GATE、和和TF0,其工作过程与其工作过程与模式模式0类同类同,只是作为一个只是作为一个8位计数器位计数器而有所不同而有所不同。而而TH0固定为固定为定时器定时器方式方式,对对机器周期机器周期进行进行计数计数,运行运行控制位控制位和和溢出标志位溢出标志位只好借用只好借用T1的控制位的控制位TR1和和TF1,即定时器的启停受即定时器的启停受TR1控制控制,而计数而计数溢出溢出将使将使TF12024/7/12MCS-51单片机原理与应用55置置1。模式。模式3 3的定时时间为:的定时时间为:t=(28-C0)12/T1工作于模式工作于模式3时时,相当于相当于TR1=0,停止停止定时器定时器工工作作,并并保持保持它原有的它原有的计数值计数值。若。若T0工作于工作于模式模式3时时,实实际上际上T1只能工作在能只能工作在能自动恢复初值自动恢复初值的的模式模式2,作为一个作为一个不需不需中断中断和其它操作的和其它操作的串行口波特率发生器串行口波特率发生器。2024/7/12MCS-51单片机原理与应用566.7 定时定时/计数器编程应用举例计数器编程应用举例定时定时/计数器为计数器为可编程可编程器件器件,工作前要进行工作前要进行初始初始化化编程编程:(1)按按T0和和Tl的工作方式的工作方式,将模式控制字写入将模式控制字写入TMODTMOD。(2)根据定时根据定时时间时间t或计数或计数个数个数C,计算计数初值计算计数初值C0,并并将其写入将其写入TH0、TL0或或TH1、TL1。计数初值计数初值C0可按公式推得:可按公式推得:计数方式:计数方式:C0=M-C=2k-C定时方式:定时方式:C0=M-C=M-t/Tc=2k-t*/12式中式中k为为计数器计数器的的位数位数。2024/7/12MCS-51单片机原理与应用57(3 3)对于)对于中断中断方式方式,将中断控制字写入将中断控制字写入IE,使使EA=1且且ET0=1或或ET1=1。(4 4)使)使SCON中中TR0 0或或TR1 1置置1,1,启动定时或计数。启动定时或计数。例例6.36.3 若系统晶振频率为若系统晶振频率为12MHz,12MHz,要求定时时间为要求定时时间为5ms,5ms,试解答:试解答:(1 1)计算)计算T0T0在模式在模式0 0和模式和模式1 1下的下的TH0TH0和和TL0TL0的计数初值。的计数初值。(2 2)计算)计算T0T0在模式在模式0 0和模式和模式1 1下最小定时时间和最大定时时间。下最小定时时间和最大定时时间。解解:(1 1)计数初值)计数初值已知:晶振频率已知:晶振频率=12MHz,=12MHz,定时时间定时时间t t=5ms=5000s,=5ms=5000s,则则2024/7/12MCS-51单片机原理与应用58机器周期为:机器周期为:Tc =12/=12/(12106)=1s,计数值为:计数值为:C=t/Tc=5000s/1s=5000=1388H,而各模式下的计数器的而各模式下的计数器的十六进制模是已知的。十六进制模是已知的。计数初值可按C0=M-C求得:模式0 时,C0=2000H-1388H=C78H=01100011 11000B(不到13位,高位补0),将高8位写入TH0,而低5位写入TL0,TL0的高3位补0,则有:TH0=63H,TL0=18H 模式1 时,C0=10000H-1388H=EC78H,则有:TH0=E7H,TL0=78H(2)最小定时时间tmin和最大定时时间tmax最小定时时间对应最小计数值C=1,对定时器的各种模式来说2024/7/12MCS-51单片机原理与应用59都是一样,即:tmin=C Tc=11s=1s最大定时时间对应定时器的最大计数值C=M,即:模式0 时,tmax=81921s=8192s=8.192ms 模式1 时,tmax=655361s=65536s=65.536ms 例例6.4 试将试将2.1.2节单灯闪烁程序中节单灯闪烁程序中0.1秒延时子程序秒延时子程序DELAY改用改用定时器定时器0,模式模式0来实现。来实现。解解:由上题知道由上题知道,模式模式0的最大定时时间只有的最大定时时间只有8.192ms,可选择可选择T0定时时间为定时时间为5ms,再用软件查询计数再用软件查询计数20次次,即得到即得到100ms延时。延时。本题算法同原程序本题算法同原程序,但将以查询方式编程。但将以查询方式编程。(1)TMOD模式控制字模式控制字 T1未用可写全未用可写全0,所以所以,可确定模式控制字为可确定模式控制字为00H。(2)计数初值计数初值2024/7/12MCS-51单片机原理与应用60 根据上题计算可得:TH0=63H,TL0=18H。汇编源程序如下:ORG 0000H AJMPSTARTORG 0030HSTART:MOV TMOD,#00HMOV TH0,#63H MOV TL0,#18HSETBTR0 CLR P1.02024/7/12MCS-51单片机原理与应用61REDO:MOV R2,#14H;对5ms定时,循环计数20次WT1:JBCTF0,WT2;查询T1计数溢出 SJMP WT1;5ms未到,CPU一直在查询等待WT2:MOV TH0,#63H ;重装计数初值 MOV TL0,#18HDJNZ R2,WT1;100ms未到继续CPL P1.0;P1.0取反,使灯的状态改变LJMP REDO;返回到标号REDO处重新开始END START2024/7/12MCS-51单片机原理与应用62例例6.5 试用中断方式编程试用中断方式编程,重做上题。软件计数改用重做上题。软件计数改用T1工作于模工作于模式式2对对T0时间到计数。时间到计数。解解:本题算法同原程序,但将以中断方式编程。T0定时时间到时,由软件复位T1引脚,产生负跳变,触发T1计数,20次到后重新开始。(1)TMOD模式控制字确定模式控制字为60H。(2)计数初值对T0,TH0=63H,TL0=18H;对T1,C0=100H 14H=ECH,所以,TH1=ECH,TL1=ECH。汇编源程序tlsd10_4.asm如下:ORG0000H AJMP STARTORG000BH ;T0的中断入口地址 LJMP IIT0 ;转向T0中断服务程序ORG001BH ;T1的中断入口地址 LJMP IIT1 ;转向T1中断服务程序2024/7/12MCS-51单片机原理与应用63ORG0030HSTART:MOV TMOD,#60H;T0以模式0定时,T1以模式2计数MOV TH0,#63H ;装入T0计数初值MOV TL0,#18HMOV TH1,#0ECH ;装入T1计数初值MOV TL1,#0ECHSETB ET0 ;T0开中断开中断SETB ET1 ;T1开中断开中断 SETB EA ;CPU开中断开中断SETB TR0;启动启动T0SETB TR1;启动启动T1,以上为以上为T0和和T1初始化编程。初始化编程。CLR P1.0;使P1.0=0,LED点亮SJMP$;虚拟主程序,CPU与定时器并行工作IIT0:MOV TH0,#63H ;重装计数初值MOV TL0,#18H CLR P3.5;使T1引脚产生负跳变2024/7/12MCS-51单片机原理与应用64NOPNOPSETB P3.5;使T1引脚恢复高电平RETI ;中断返回IIT1:CPLP1.0;P1.0取反,使灯的状态改变RETI ;中断返回END START2024/7/12MCS-51单片机原理与应用65本章小结本章小结(1 1)中断方式是)中断方式是CPUCPU与外设之间数据传送的一种常用与外设之间数据传送的一种常用方式,实现了方式,实现了高速的高速的CPU与慢的与慢的外设外设之间的之间的速度速度匹匹配,较之查询方式大大配,较之查询方式大大提高提高了了CPUCPU的的效率效率。(2 2)MCS-51MCS-51中断系统提供了中断系统提供了5个中断源个中断源,2个外中断个外中断 和和 ,3,3个内中断个内中断TF0TF0、TF1TF1以及串口的以及串口的RIRI、TITI中断。中断。分为分为2个优先级个优先级,可实现可实现二级二级中断嵌套。中断嵌套。2024/7/12MCS-51单片机原理与应用66(3 3)要要掌掌握握中中断断的的初初始始化化编编程程,即即对对4 4个个与与中中断断有有关关的的寄寄存存器器TCON、SCON、IE、IP进进行行控控制制。需需要要用用软件对以下软件对以下5 5个内容进行设置:个内容进行设置:中断服务程序中断服务程序入口地址入口地址的设定。的设定。CPUCPU与与各各中中断断源源中中断断允允许许与与禁禁止止,由由IE的的EA和和各各中断源的中断允许位设定。中断源的中断允许位设定。外外中中断断触触发发方方式式由由TCON中中的的IT0或或IT1设设定定为为电电平或边沿触发方式。平或边沿触发方式。2024/7/12MCS-51单片机原理与应用67各各中中断断源源优优先先级级由由IPIP中中的的5 5个个相相关关的的控控制制位位PS、PT1、PX1、PT0和和PX0设定。设定。各各中中断断源源的的中中断断请请求求标标志志由由硬硬件件自自动动置置位位TCON与与SCON的的相相应应位位,但但对对于于串串口口中中断断,用用户户要要用用软软件件清清除除RIRI与与TI,TI,对对于于电电平平触触发发的的外外中中断断,用用户户要要通通过过软软硬硬件的方法来清除件的方法来清除(4 4)MCS-51MCS-51有有两两个个可可编编程程定定时时/计计数数器器T0T0和和T1,M1M0T1,M1M0设设定定4 4种种工工作作模模式式。定定时时/计计数数器器的的启启停停可可由由TMODTMOD中中的的GATEGATE位和位和TCONTCON中的中的TR1TR1或或TR0TR0位用软件控制。位用软件控制。2024/7/12MCS-51单片机原理与应用68(5 5)要掌握)要掌握定时定时/计数器初始化计数器初始化编程。编程。(6 6)会会熟熟练练计计算算计计数数初初值值C0,除除了了模模式式2,用用户户都都需需要要在在中中断断服服务务程程序序中中重重装装C0C0。定定时时器器用用于于计计数数时时,外外部部脉脉冲冲必必须须从从T0或或T1引引脚脚输输入入,其其最最高高频频率率不不能能超超过过 /24/24。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!