MCS51的定时器.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 定时器
- 资源描述:
-
第第6 6章章 MCS-51MCS-51的定时器的定时器/计数器计数器 我们通常采用以下三种方法来实现定时或计数:我们通常采用以下三种方法来实现定时或计数:1 1、硬件定时(采用时基电路定时)、硬件定时(采用时基电路定时)硬件定时是指由硬件电路来实现定时的功能硬件定时是指由硬件电路来实现定时的功能 。例如采用例如采用555555电路,外接必要的元器件(电阻和电容),即可电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程,且定时时间容易漂移。由软件进行控制和修改,即不可编程,且定时时间容易漂移。2 2、软件定时、软件定时 软件定时是执行一段循环程序来进行时间延时,优点是无额外软件定时是执行一段循环程序来进行时间延时,优点是无额外的硬件开销,时间比较精确。但的硬件开销,时间比较精确。但占用了占用了CPUCPU的时间的时间,降低了降低了CPUCPU的利的利用率用率。例如延时程序。例如延时程序。3 3、可编程定时、可编程定时/计数器计数器 最方便的办法是利用单片机内部的定时器最方便的办法是利用单片机内部的定时器/计数器。结合了软计数器。结合了软件定时精确和硬件定时电路独立的特点。由于纯软件要占用件定时精确和硬件定时电路独立的特点。由于纯软件要占用CPUCPU,而纯硬件又欠灵活。而纯硬件又欠灵活。定时定时/计数器是单片机系统一个重要的部件,其工作方式灵活、计数器是单片机系统一个重要的部件,其工作方式灵活、编程简单、使用方便,可用来实现编程简单、使用方便,可用来实现定时控制、延时、频率测量、脉定时控制、延时、频率测量、脉宽测量、信号发生、信号检测宽测量、信号发生、信号检测等。此外,定时等。此外,定时/计数器还可作为串计数器还可作为串行通信中波特率发生器。行通信中波特率发生器。第第6 6章章 MCS-51MCS-51的定时器的定时器/计数器计数器 T0 T0和和T1T1有都具有以下有都具有以下2 2种种工作模式工作模式:(1 1)计数器工作模式)计数器工作模式 对外来脉冲进行计数,对外来脉冲进行计数,T0T0(P3.4P3.4)和)和T1T1(P3.5P3.5)为计数)为计数脉冲输入端,等计数输入引脚的脉冲发生负跳变时,计数器脉冲输入端,等计数输入引脚的脉冲发生负跳变时,计数器加加1 1。定时/计数器作为计数器时,外部事件脉冲必须从规定的引脚输入。且外部脉冲的最高频率不能超过时钟频率的1/24。(2 2)定时器工作模式)定时器工作模式 通过计数片内脉冲来实现定时功能:每个机器周期产生通过计数片内脉冲来实现定时功能:每个机器周期产生1 1个计数脉冲,即每经过个计数脉冲,即每经过1 1个机器周期的实践,计数器加个机器周期的实践,计数器加1 1。MCS-51MCS-51的两个可编程的定时器的两个可编程的定时器/计数器均有计数器均有4 4种种工作方式工作方式(方式方式0-0-方式方式3)3)。用户通过对相应的特殊功能寄存器编程,可以选择定时用户通过对相应的特殊功能寄存器编程,可以选择定时器器/计数器的计数器的2 2种工作模式和种工作模式和4 4种工作方式。种工作方式。3 定时器定时器/计数器的工作原理概述计数器的工作原理概述计数器输入的计数脉冲源计数器输入的计数脉冲源 1 1、系统的时钟振荡器输出脉冲经、系统的时钟振荡器输出脉冲经1212分频后产生;分频后产生;2 2、T0T0或或T1T1引脚输入的外部脉冲源。引脚输入的外部脉冲源。计数过程计数过程每来一个脉冲计数器加每来一个脉冲计数器加1 1,当加到计数器为全,当加到计数器为全1 1(即即FFFFHFFFFH)时,再输入一个脉冲就使计数器回零,且计数器的)时,再输入一个脉冲就使计数器回零,且计数器的溢出使溢出使TCONTCON中中TF0TF0或或TF1TF1置置1 1,向,向CPUCPU发出中断请求(定时器发出中断请求(定时器/计数器中断允许时)。计数器中断允许时)。如果定时器如果定时器/计数器工作于定时模式,计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数则表示定时时间已到;如果工作于计数模式,则表示计数值已满。值已满。设置为定时应用时用作定时器:此时设置为定时器模式,加用作定时器:此时设置为定时器模式,加1 1计数器是对计数器是对内部机器周期计数(内部机器周期计数(1 1个机器周期等于个机器周期等于1212个振荡周期,个振荡周期,即计数频率为晶振频率的即计数频率为晶振频率的1/121/12)。计数值)。计数值N N乘以机器周乘以机器周期期TcyTcy就是定时时间就是定时时间t t。设置为计数应用时用作计数器:此时设置为计数器模式,外部事件计数用作计数器:此时设置为计数器模式,外部事件计数脉冲由脉冲由T0(P3.4)T0(P3.4)或或T1(P3.5)T1(P3.5)引脚输入到计数器。每来引脚输入到计数器。每来一个外部脉冲,计数器加一个外部脉冲,计数器加1 1。但单片机对外部脉冲有基但单片机对外部脉冲有基本要求:脉冲的高低电平持续时间都必须大于本要求:脉冲的高低电平持续时间都必须大于1 1个机器个机器周期。周期。定时与计数都是利用计数实现!定时与计数都是利用计数实现!定时器定时器/计数器的工作原理概述计数器的工作原理概述6.1 6.1 定时器定时器/计数器的结构计数器的结构 定时器定时器/计数器的实质是加计数器的实质是加1 1计数器(计数器(1616位),由高位),由高8 8位和位和低低8 8位两个寄存器组成位两个寄存器组成:TH1(TH1(地址为地址为8DH)8DH)、TL1(TL1(地址为地址为8BH)8BH)和和TH0(TH0(地址为地址为8CH)8CH)、TL0(TL0(地址为地址为8AH)8AH)寄存器。寄存器。复位后,所有这四个寄存器全部清零。复位后,所有这四个寄存器全部清零。TMODTMOD(工作方式寄存器):(工作方式寄存器):选择定时器选择定时器/计数器计数器T0T0、T1T1的工作的工作模式和工作方式。模式和工作方式。TCONTCON(定时器(定时器/计数器控制寄存器):计数器控制寄存器):控制控制T0T0、T1T1的启动和停的启动和停止计数,同时包含了止计数,同时包含了T0T0、T1T1的状态。的状态。单片机复位时,单片机复位时,TMODTMOD、TCONTCON都清都清0 0。6.1 6.1 定时器定时器/计数器的结构计数器的结构 T1T1计数器计数器T0T0计数器计数器控制单元控制单元6.1.1 6.1.1 工作方式控制寄存器工作方式控制寄存器TMODTMOD TMODTMOD(工作方式寄存器):(工作方式寄存器):选择定时器选择定时器/计数器计数器T0T0、T1T1的工作的工作模式和工作方式,字节地址为模式和工作方式,字节地址为89H89H,不能位寻址。,不能位寻址。8 8位分为两组,位分为两组,高高4 4位位控制控制T1T1,低低4 4位位控制控制T0T0。(1 1)GATEGATE门控位门控位 0 0:以运行控制位以运行控制位TRXTRX(X=0,1X=0,1)来启动定时器来启动定时器/计数器运行。计数器运行。1 1:用用外外中中断断引引脚脚(INT0INT0*或或INT1INT1*)上上的的高高电电平平和和TRXTRX两两个个条条件件来来启动定时器启动定时器/计数器运行。计数器运行。(2 2)M1M1、M0M0工作方式选择位工作方式选择位 M1 M0 M1 M0 工工 作作 方方 式式 0 0 0 0 方式方式0 0,1313位定时器位定时器/计数器。计数器。0 1 0 1 方式方式1 1,1616位定时器位定时器/计数器。计数器。1 0 1 0 方式方式2 2,8 8位常数自动重新装载定时器位常数自动重新装载定时器/计数器计数器 1 1 1 1 方式方式3 3,仅适用于,仅适用于T0T0,T0T0分成两个分成两个8 8 位计数器,位计数器,T1T1停止计数。停止计数。(3)(3)C/TC/T*计数器模式和定时器模式选择位计数器模式和定时器模式选择位 0 0:定定时时器器模模式式。计计数数输输入入信信号号是是内内部部时时钟钟脉脉冲冲,每每个个机机器器周周期期使使寄寄存存器器的的值值增增1 1。每每个个机机器器周周期期等等于于1212个个振振荡荡周周期,故计数速率为振荡周期的期,故计数速率为振荡周期的1 11212。1 1:计计数数器器模模式式。通通过过引引脚脚T0T0(P3.4P3.4)和和T1(P3.5)T1(P3.5)对对外外部部信信号号进进行行计计数数。在在每每个个机机器器周周期期的的S5P2S5P2期期间间,CPUCPU采采样样引引脚脚的的输输入入电电平平。若若前前一一机机器器周周期期采采样样值值为为1 1,下下一一机机器器周周期期采采样样值值为为0 0,则则计计数数器器增增1 1,此此后后的的机机器器周周期期S3P1S3P1期期间间,新新的的计计数数值值装装入入计计数数器器。所所以以检检测测一一个个1 1到到0 0的的跳跳变变 需需要要两两个个机机器器周周期期,故故计计数数脉脉冲冲频频率率不不能能高高于于振振荡荡脉脉冲冲频频率率的的1 12424。6.1.2 6.1.2 定时器定时器/计数器控制寄存器计数器控制寄存器TCONTCON TCON TCON(定时器(定时器/计数器控制寄存器):计数器控制寄存器):控制控制T0T0、T1T1的启动和停的启动和停止计数,同时包含了止计数,同时包含了T0T0、T1T1的状态,字节地址为的状态,字节地址为88H88H,位地,位地址为址为88H88H8FH8FH。功能如下:功能如下:(1)TF1(1)TF1、TF0TF0计数溢出标志位计数溢出标志位 当计数器计数溢出时,该位置当计数器计数溢出时,该位置1 1。使用查询方式时,此使用查询方式时,此位作为状态位供位作为状态位供CPUCPU查询,但应注意查询有效后,应以软件查询,但应注意查询有效后,应以软件方式及时将该位清方式及时将该位清0.0.使用中断方式时,此位作为中断请求标使用中断方式时,此位作为中断请求标志位,进入中断服务子程序后,硬件自动清志位,进入中断服务子程序后,硬件自动清0 0。(2)TR1(2)TR1、TR0TR0计数运行控制计数运行控制位(由软件置位或清零)位(由软件置位或清零)1 1:启动定时器启动定时器/计数器工作计数器工作 0 0:停止定时器停止定时器/计数器工作计数器工作 6.1.2 6.1.2 定时器定时器/计数器控制寄存器计数器控制寄存器TCONTCON (3)(3)TCONTCON的低的低4 4位位 与中断有关与中断有关 IE1IE1(TCONTCON3 3)外部中断外部中断1请求标志位。请求标志位。IE0 IE0(TCONTCONI I)外部中断外部中断0请求标志位。请求标志位。IT1 IT1(TCONTCON0 0)外部中断外部中断1触发类型选择位。触发类型选择位。IT0 IT0(TCONTCON0 0)外部中断外部中断0触发类型选择位。触发类型选择位。复位后,复位后,TCONTCON的所有位均清的所有位均清0 0。T0T0和和T1T1均是关断的。均是关断的。查询方式时:查询方式时:关闭中断,使用关闭中断,使用软件软件查询查询TF0/TF1中断方式时:中断方式时:开放中断,使用开放中断,使用硬件自动硬件自动查询查询TF0/TF1计数器工作方式选择计数器工作方式选择M1M0工工作作方方式式功功能能说说明明0 0方式方式013位计数器位计数器0 1方式方式116位计数器位计数器1 0方式方式2自动重装自动重装8位计数器位计数器1 1方式方式3定时器定时器0:分成两个:分成两个8位位定时器定时器1:停止计数:停止计数在精确定时采用在精确定时采用该工作方式!该工作方式!6.2 6.2 定时器定时器/计数器的计数器的4 4种工作方式种工作方式 定时器定时器:对片内机器时钟对片内机器时钟(周期方波周期方波)进行计数进行计数计数器计数器:对对TxTx引脚引脚输入的负脉冲进行计数输入的负脉冲进行计数 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时(TL0的低三位弃之不用)向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。1313位计数器位计数器计数计数/定时选择定时选择中断请求中断请求6.2.1 6.2.1 方式方式0 0用它无益用它无益,不要记它!不要记它!C/TC/T*位位决定工作模式:决定工作模式:0 0:开关打在上面,为开关打在上面,为定时器定时器工作模式;工作模式;1 1:开关打在下面,为开关打在下面,为计数器计数器工作模式,计数脉冲为工作模式,计数脉冲为P3.4P3.4、P3.5P3.5引脚上的外部输入脉冲,当引脚上发生负跳变时,计引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加数器加1 1。GATE GATE位:决定定时器位:决定定时器/计数器的计数器的运行取决于运行取决于TRxTRx一个条件还一个条件还是是TRxTRx和和INTxINTx*引脚两个条件引脚两个条件。(1 1)0 0:A A点(见上图)是否计数点(见上图)是否计数,仅取决于仅取决于TRxTRx的状态。的状态。(2 2)1 1:B B点点电电位位由由INTXINTX*的的输输入入电电平平和和TRXTRX的的状状态态这这两两个个条条件件来确定。来确定。是否计数是由是否计数是由TRxTRx和和INTxINTx*二个条件来控制的。二个条件来控制的。工作方式0_应用分析 定时和计数的应用定时和计数的应用 计数范围:计数范围:1 12 21313 计数计算公式:计数值计数计算公式:计数值2 21313计数初值计数初值 机器周期(机器周期(MCMC):):=12/Fosc=12/=12/Fosc=12/时钟频率时钟频率 定时范围:定时范围:1 1机器周期机器周期2 21313机器周期机器周期定时计算公式:定时时间(定时计算公式:定时时间(2 21313定时初值)定时初值)机器周期机器周期 如果晶振频率为如果晶振频率为6MHz 6MHz,则最大定时时间为:,则最大定时时间为:2 21313121/6MHz121/6MHz214us214us16384us=16.384ms16384us=16.384ms 如果晶振频率为如果晶振频率为12MHz 12MHz,则最大定时时间为:,则最大定时时间为:2 21313121/12MHz121/12MHz213us=8192us=8.192ms213us=8192us=8.192msTF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&110T0引脚INT0引脚10机器周期TH0TL08位8位溢出TCONTMODD0D7D7D0申请中断TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&110T0引脚INT0引脚10机器周期TH0TL08位8位溢出TCONTMODD0D7D7D0申请中断6.2.2 6.2.2 方式方式1 1 方式方式1 1的计数位数是的计数位数是1616位,由位,由TL0(TL1)作作为低为低8 8位、位、TH0(TH1)作为高作为高8 8位,组成了位,组成了1616位加位加1 1计数器计数器 。1616位计数器位计数器工作方式1(M1M0=01)经常用到 方式方式1 1是是1616位计数结构的工作方式,其计数器由位计数结构的工作方式,其计数器由THTH0 0全部全部8 8位和位和TLTL0 0的全部的全部8 8位构成。其逻辑电路和工作情位构成。其逻辑电路和工作情况与方式况与方式0 0完全相同,所不同的只是计数完全相同,所不同的只是计数 器的位数。器的位数。MCS-51单片机之所以设置几乎完全一 样 的方式0和方式1,是出于与 MCS-48单片机兼容的要求。因为,MCS48单片机的定时器/计数器是13位的计数结构。定时器定时器T0T0工作方式工作方式1 1与工作方式与工作方式0 0类同,差别在于类同,差别在于其中的计数器的位数。工作方式其中的计数器的位数。工作方式0 0以以1313位计数器参与计位计数器参与计数,工作方式数,工作方式1 1则以则以1616位计数器参与计数。位计数器参与计数。方式不用的原因方式不用的原因工作方式1_应用分析定时和计数的应用定时和计数的应用 计数范围:计数范围:1 12 21616 计数计算公式:计数值计数计算公式:计数值2 21616计数初值计数初值 机器周期(机器周期(MCMC):):=12/Fosc=12/=12/Fosc=12/时钟频率时钟频率 定时范围:定时范围:1 1机器周期机器周期2 21616机器周期机器周期 定时计算公式:定时时间(定时计算公式:定时时间(2 21616定时初值)定时初值)机机器周期器周期如果晶振频率为如果晶振频率为6MHz,则最大定时时间为:,则最大定时时间为:216121/6MHz217us=131072us=131.072ms如果晶振频率为如果晶振频率为12MHz,则最大定时时间为:,则最大定时时间为:216121/12MHz216us=65536us=65.536ms工作方式的定时计数功能切换模式,与工作方式工作方式的定时计数功能切换模式,与工作方式完全一样;而启动定时计数器的模式,也与工作方式完全一样;而启动定时计数器的模式,也与工作方式完全一样。完全一样。计数量方式更大,可完全取代方式。计数量方式更大,可完全取代方式。6.2.3 6.2.3 方式方式2 2 在方式在方式2 2下,当计数器计满下,当计数器计满255(FFH)溢出时,溢出时,CPU自动把自动把TH 的值装入的值装入TL中中,不需用户干预。因,不需用户干预。因此特别适合于用作较精确的脉冲信号发生器。此特别适合于用作较精确的脉冲信号发生器。8 8位计数器位计数器TH1TH1重装单元重装单元方式2为自动重装初值的8位计数方式。工作方式2_应用分析定时和计数的应用 计数范围:128 计数计算公式:计数值28计数初值 机器周期(MC):=12/Fosc=12/时钟频率 定时范围:1机器周期28机器周期 定时计算公式:定时时间(28定时初值)机器周期 如果晶振频率为6MHz,则最大定时时间为:28121/6MHz29us=512us=0.512ms 如果晶振频率为12MHz,则最大定时时间为:28121/12MHz28us=256us=0.256ms 8位计数器 TL0作计数器,TH0作预置寄存器使用,计数溢出时,TH0中的计数初值自动装入TL0,即TL0是一个自动恢复初值的8位计数器。在使用时,要把计数初值同时装入TL0和TH0中。优点是提高定时精度,减少了程序的复杂程度。优点:定时初值可自动恢复优点:定时初值可自动恢复,TH0,TH0中存放初值中存放初值;缺点:计数范围小。缺点:计数范围小。适用于需要重复定时,而定时范围不大的应用场适用于需要重复定时,而定时范围不大的应用场合。合。工作方式2_补充说明6.2.4 6.2.4 方式方式3 3 方式方式3 3只适用于定时器只适用于定时器/计数器计数器T0T0,定时器,定时器T1T1方式方式3 3时相当于时相当于TR1=0TR1=0,停止计数,停止计数,此时此时T1T1可用来作串行口可用来作串行口波特率产生器波特率产生器。工作方式工作方式3 3将将T0T0分成为两个独立的分成为两个独立的8 8位计数器位计数器TL0TL0和和TH0 TH0。T0:组织成TL0和TH0两个8位定时/计数器T1:不再是定时/计数器了 T1 的TR1和TF1出借给TH0当控制位使用,剩下的TH1/TL1寄存器只能当作普通寄存器用。除了不具备计数及自动加载功能外,几乎可以用工作方式的T1所取代。工作方式3_应用分析 因为没有带来甚麽好处,几乎因为没有带来甚麽好处,几乎无无用用1 1工作方式工作方式3 3下的下的T0T0 T0 T0分为分为两个独立两个独立的的8 8位计数器位计数器:TL0TL0和和TH0TH0 。TL0TL0使用使用T0T0的状态控制位的状态控制位C/TC/T*、GATEGATE、TR0TR0、,、,而而TH0TH0被固定为一个被固定为一个8 8位位定时器(不能作外部计数模式),并使用定时器定时器(不能作外部计数模式),并使用定时器T1T1的状态的状态控制位控制位TR1TR1和和TF1TF1,同时同时占用定时器占用定时器T1T1的中断请求源的中断请求源TF1TF1。各引脚与各引脚与T0T0的逻辑关系如图所示:的逻辑关系如图所示:2 2T0T0工作在方式工作在方式3 3下下T1T1的各种工作方式的各种工作方式 当当T1T1用作用作串行口的波特率发生器串行口的波特率发生器时,时,T0T0才工作在方式才工作在方式3 3。T0 T0为方式为方式3 3时,时,T1T1可定为方式可定为方式0 0、方式、方式1 1和方式和方式2 2,用来,用来作作为串行口的波特率发生器,为串行口的波特率发生器,或不需要中断的场合。或不需要中断的场合。(1 1)T1T1工作在方式工作在方式0 0 (2 2)T1T1工作在方式工作在方式1 1(3 3)T1T1工作在方式工作在方式2 26.3 6.3 定时器定时器/计数器对输入信号的要求计数器对输入信号的要求 外部计数脉冲的最高频率为系统振荡器频率的外部计数脉冲的最高频率为系统振荡器频率的1/241/24,例如选用例如选用1212MHzMHz频率的晶体,则可输入频率的晶体,则可输入500500KHzKHz的外部脉冲。的外部脉冲。输入信号的高、低电平至少要保持一个机器周期。输入信号的高、低电平至少要保持一个机器周期。如下图所示,图中如下图所示,图中TcyTcy为机器周期。为机器周期。6.4 6.4 定时器定时器/计数器的编程和应用计数器的编程和应用 4 4种工作方式中,种工作方式中,方式方式0 0与方式与方式1 1基本相同,由于方式基本相同,由于方式0 0是是为兼容为兼容MCS-48MCS-48而设,而设,初值计算复杂初值计算复杂,在实际应用中,在实际应用中,一般不一般不用方式用方式0 0,而采用方式,而采用方式1 1。工作方式工作方式1的编程要点:的编程要点:THx/TLx赋初值:赋初值:THx赋高赋高8位,位,TLx赋低赋低8位位aTMOD选方式:选方式:写写“M1,M0”=01b选方式选方式1a若不用门控位若不用门控位,直接用软件写直接用软件写TRx控制启动控制启动a若使用门控位,先置位若使用门控位,先置位TRx,然后由,然后由INTx端端的高的高/低电平来低电平来控制其启控制其启/停停若要允许中断,还须先置位若要允许中断,还须先置位ETx、EA等中断允许控制位,等中断允许控制位,并编写中断服务程序并编写中断服务程序若不用中断,可查询若不用中断,可查询“计数溢出标志计数溢出标志TFx”的方式工作,但的方式工作,但溢出标志溢出标志TFx须软件清须软件清0定时器(方式1)应用程序举例:分析分析:已知:已知osc osc =6MHz=6MHz 则:则:(振荡周期)(振荡周期)1Tc=1/6MHz1Tc=1/6MHz (机器周期)(机器周期)1Tm=12Tc=12/6MHz=21Tm=12Tc=12/6MHz=2 S S 粗略地说:粗略地说:Tmin Tmin 2 2 S S 16 16位定时器最大数值为:位定时器最大数值为:2 21616=65536=0FFFFH+1=65536=0FFFFH+1 故选择方式故选择方式 1 1 工作可以得到:工作可以得到:Tmax=65536Tmax=65536 2=1310722=131072 S S131.072mS131.072mS题目:若晶振频率为题目:若晶振频率为6MHz6MHz,计算单片机的最,计算单片机的最小与最大定时时间:小与最大定时时间:6.4.1 6.4.1 方式方式1 1应用应用 例例6-16-1 假设系统时钟频率采用假设系统时钟频率采用6 6MHzMHz,要在要在P1.0P1.0上输出一个周期上输出一个周期为为2 2msms的方波,如图所示。的方波,如图所示。方波的周期用方波的周期用T0T0来确定,让来确定,让T0T0每隔每隔1 1msms计数溢出计数溢出1 1次次(每每1 1msms产生一次中断产生一次中断),CPUCPU响应中断后,在中断服务程序中对响应中断后,在中断服务程序中对P1.0P1.0取反。取反。(1)(1)计算初值计算初值X X 设初值为设初值为X X,则有则有:(2(21616-X)210X)210-6-6=110=110-3-3 2 21616-X=500 X=65036-X=500 X=65036 X X化为化为1616进制,即进制,即X=FE0CH=1111111000001100BX=FE0CH=1111111000001100B。所以,所以,T0T0的初值为的初值为:TH0=0TH0=0FEHFEH TL0=TL0=0CH0CH(2)(2)初始化程序设计初始化程序设计 对寄存器对寄存器IPIP、IEIE、TCONTCON、TMODTMOD的相应位进行正确设置,的相应位进行正确设置,将计数初值送入定时器中。将计数初值送入定时器中。(3)(3)程序设计程序设计 中断服务程序除产生方波外,还要注意将计数初值重新中断服务程序除产生方波外,还要注意将计数初值重新装入定时器中,为下一次中断作准备。装入定时器中,为下一次中断作准备。中断方式参考程序:中断方式参考程序:ORG 0000HORG 0000HRESET:AJMP MAIN RESET:AJMP MAIN ;转主程序转主程序 ORG 000BHORG 000BH ;T0T0的中断入口的中断入口 AJMP IT0P AJMP IT0P ;转转T0T0中断处理程序中断处理程序IT0PIT0P ORG 0100HORG 0100HMAIN:MOV SP,#60H MAIN:MOV SP,#60H ;设堆栈指针设堆栈指针 MOV TMOD,#01HMOV TMOD,#01H ;设置设置T0T0为方式为方式1 1 ACALL PT0M0 ACALL PT0M0;调用子程序调用子程序PT0M0PT0M0HERE:AJMP HEREHERE:AJMP HERE ;自身跳转自身跳转PT0M0:MOV TL0,#0CHPT0M0:MOV TL0,#0CH;T0T0中断服务程序,中断服务程序,T0T0重新置初值重新置初值 MOV TH0,#0FEH MOV TH0,#0FEH SETB TR0 SETB TR0 ;启动启动T0T0 SETB ET0 SETB ET0 ;允许允许T0T0中断中断 SETB EA SETB EA ;CPUCPU开中断开中断 RETRETITOP:MOV TL0,#0CH ITOP:MOV TL0,#0CH ;T0T0中断服务子程序,中断服务子程序,T0T0置初值置初值 MOV TH0,#0FEHMOV TH0,#0FEH CPL P1.0 CPL P1.0 ;P1.0P1.0的状态取反的状态取反 RETIRETI查询方式查询方式的参考程序的参考程序:MOV TMOD,#01H MOV TMOD,#01H ;设置设置T0T0为方式为方式1 1 SETB TR0 SETB TR0 ;接通接通T0T0LOOP:MOV TH0,#0FEH LOOP:MOV TH0,#0FEH ;T0T0置初值置初值 MOV TL0,#0CH MOV TL0,#0CHLOOP1LOOP1:JNB TF0,LOOP1 JNB TF0,LOOP1 ;查询查询TF0TF0标志标志 CPL P1.0 CPL P1.0 ;P1.0P1.0的状态求反的状态求反 CLR TFOCLR TFO SJMP LOOP SJMP LOOP例例6-26-2 假假设设系系统统时时钟钟为为6 6MHzMHz,编编写写定定时时器器T0T0产产生生1 1秒秒定定时时的的程程序。序。(1 1)T0T0工作方式的确定工作方式的确定 定时时间较长,采用哪一种工作方式?定时时间较长,采用哪一种工作方式?由各种工作方式的特性,可计算出:由各种工作方式的特性,可计算出:方式方式0 0最长可定时最长可定时16.38416.384msms;方式方式1 1最长可定时最长可定时131.072131.072msms;方式方式2 2最长可定时最长可定时512512 s s。选方式选方式1 1,每隔,每隔100100msms中断一次,中断中断一次,中断1010次为次为1 1s s。(2 2)计算计数初值)计算计数初值 因为:因为:(2(21616-X)210X)210-6-6=10=10-1-1 所以:所以:X=15536=3CB0HX=15536=3CB0H 因此:因此:TH0=3CHTH0=3CH,TL0=B0H TL0=B0H(3 3)1010次计数的实现次计数的实现 采用循环程序法。采用循环程序法。(4 4)程序设计)程序设计 参考程序参考程序:ORG 0000HORG 0000HRESETRESET:LJMP MAIN LJMP MAIN ;上电,转主程序入口上电,转主程序入口MAINMAIN ORG 000BHORG 000BH ;T0T0的中断入口的中断入口 LJMP IT0PLJMP IT0P;转转T0T0中断处理程序中断处理程序IT0PIT0P ORG 1000HORG 1000H MAIN MAIN:MOV SP,#60H MOV SP,#60H ;设堆栈指针设堆栈指针 MOV B,#0AH MOV B,#0AH ;设循环次数设循环次数1010次次 MOV TMOD,#01H MOV TMOD,#01H ;设设T0T0工作在方式工作在方式1 1 MOV TL0,#0B0H MOV TL0,#0B0H ;给给T0T0设初值设初值 MOV TH0,#3CHMOV TH0,#3CH SETB TR0 SETB TR0 ;启动启动T0T0 SETB ET0 SETB ET0 ;允许允许T0T0中断中断 SETB EA SETB EA ;CPUCPU开放中断开放中断 HERE HERE:SJMP HERE SJMP HERE ;等待中断等待中断 ITOPITOP:MOV TL0,#0B0H MOV TL0,#0B0H;T0T0中断子程序,重装初值中断子程序,重装初值 MOV TH0,#3CH MOV TH0,#3CH ;DJNZ B DJNZ B,LOOPLOOP CLR TR0 CLR TR0 ;1s1s定时时间到,停止定时时间到,停止T0T0工作工作 LOOP LOOP:RETI RETI THx/TLxTHx/TLx赋相同初值赋相同初值 在在TLxTLx计数达到计数达到0FFH 0FFH 再加再加“1 1”时,时,TL0TL0 将溢出将溢出,进位位直接进入进位位直接进入“TFxTFx”去申请去申请 中断中断,同时打开三态门,使同时打开三态门,使THxTHx中的值中的值 自动重装自动重装(Copy)(Copy)进进TLxTLx工作方式工作方式2的编程要点的编程要点 TMODTMOD寄存器选方式:寄存器选方式:写写“M1M1,M0M0”=1 0 B =1 0 B 选中方式选中方式2 2 其他用法与各种方式其他用法与各种方式1 1完全相同完全相同6.4.2 6.4.2 方式方式2 2的应用的应用 省去程序中重装初值的指令,并可省去程序中重装初值的指令,并可产生相当精确的定时时间产生相当精确的定时时间。例例6-36-3 当当T0T0(P3.4P3.4)引引脚脚上上发发生生负负跳跳变变时时,从从P1.0P1.0引引脚脚上上输输出出一一个周期为个周期为1 1msms的方波的方波,如图所示。(系统时钟为如图所示。(系统时钟为6 6MHzMHz)(1 1)工作方式选择)工作方式选择 T0 T0为方式为方式1 1计数计数,初值初值 0 0FFFFHFFFFH,即外部计数输入端即外部计数输入端T0T0(P3.4P3.4)发生发生一次负跳变一次负跳变时,时,T0T0加加1 1且溢出,溢出标志且溢出,溢出标志TF0TF0置置“1 1”,发中断请求。,发中断请求。在进入在进入T0T0中断程序后,把中断程序后,把F0F0标志置标志置“1 1”,说明说明T0T0脚已接收了负跳变信号。脚已接收了负跳变信号。T1 T1定义为方式定义为方式2 2定时定时。在。在T0T0脚发生一次负跳变后,启动脚发生一次负跳变后,启动T1T1每每500500 s s产生一次中断产生一次中断,在中断服务程序中对,在中断服务程序中对P1.0P1.0求反,使求反,使P1.0P1.0产生周期产生周期1 1msms的方波。的方波。(2 2)计算)计算T1T1初值初值 设设T1T1的初值为的初值为X X:则则 (2(28 8-X)210X)210-6-6=510=510-4-4 X=2 X=28 8-250=6=06H-250=6=06H(3 3)程序设计程序设计 ORG 0000HORG 0000H RESET:LJMP MAIN RESET:LJMP MAIN ;复位入口转主程序复位入口转主程序 ORG 000BHORG 000BH JMP IT0P JMP IT0P ;转转T0T0中断服务程序中断服务程序 ORG 001BH ORG 001BH LJMP IT1P LJMP IT1P ;转转T1T1中断服务程序中断服务程序 ORG 0100HORG 0100HMAIN:MOV SP,#60HMAIN:MOV SP,#60H ACALL PT0M2 ACALL PT0M2;调用对;调用对T0T0,T1T1初始化子程序初始化子程序LOOP:MOV C,F0 LOOP:MOV C,F0 ;T0T0产生过中断了吗,产生过产生过中断了吗,产生过 ;中断,则;中断,则F0=1F0=1 JNC LOOPJNC LOOP;T0T0没有产生过中断,则跳到没有产生过中断,则跳到 ;LOOPLOOP,等待等待T0T0中断中断 SETB TR1 SETB TR1 ;启动启动T1T1 SETB ET1 SETB ET1 ;允许允许T1T1中断中断HERE:AJMP HEREHERE:AJMP HEREPT0M2:MOV TMOD,#25H PT0M2:MOV TMOD,#25H;初始化,初始化,T1T1为方式为方式2 2定定 ;时,;时,T0T0为方式为方式1 1计数计数 MOV TL0,#0FFH MOV TL0,#0FFH;T0T0置初值置初值 MOV TH0,#0FFHMOV TH0,#0FFH SETB TR0 SETB TR0 ;启动启动T0T0 SETB ET0 SETB ET0 ;允许允许T0T0中断中断 MOV TL1,#06H MOV TL1,#06H ;T1T1置初值置初值 MOV TH1,#06HMOV TH1,#06H CLR F0 CLR F0;把把T0T0已发生中断标志已发生中断标志F0F0清清0 0 SETB EASETB EA RETRET IT0P:CLR TR0 IT0P:CLR TR0;T0T0中断服务程序,停止中断服务程序,停止T0T0计数计数 SETB F0 SETB F0;建立产生中断标志建立产生中断标志 RETIRETIIT1P:IT1P:CPL P1.0CPL P1.0;T1T1中断服务,中断服务,P1.0P1.0位取反位取反 RETIRETI 在在T1T1定定时时中中断断服服务务程程序序IT1PIT1P中中,省省去去了了T1T1中中断断服服务务程程序序中重新装入初值中重新装入初值0606H H的指令。的指令。例例6-46-4 利利用用T1T1的的方方式式2 2对对外外部部信信号号计计数数,要要求求每每计计满满100100个个数数,将将P1.0P1.0取反。取反。本例是本例是方式方式2 2计数模式计数模式的应用。的应用。(1 1)选择工作方展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




MCS51的定时器.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/1719192.html