收藏 分销(赏)

第5章 80C51单片机的中断与定时.ppt

上传人:xrp****65 文档编号:13330528 上传时间:2026-03-02 格式:PPT 页数:59 大小:1.02MB 下载积分:10 金币
下载 相关 举报
第5章 80C51单片机的中断与定时.ppt_第1页
第1页 / 共59页
第5章 80C51单片机的中断与定时.ppt_第2页
第2页 / 共59页


点击查看更多>>
资源描述
,课程:单片机技术 教材:单片机基础,第,5,章,80C51,单片机的中断与定时,教学基本要求,:,(,1,)、了解单片机系统有关中断的概念;,(,2,)、了解单片机定时器,/,计数器的功能;,(,3,)、熟悉与中断控制有关的控制寄存器的功能及用法;,(,4,)、熟悉与定时,/,计数控制有关的控制寄存器功能及用法;,(,5,)、掌握单片机中断系统的应用方法;,(,6,)、掌握单片机定时器,/,计数器的应用方法;,教学重点,:,(,1,)、单片机中断系统的中断服务流程;,(,2,)、单片机定时器,/,计数器的工作方式,0,、,2,;,教学难点,:,(,1,)、中断采样、中断查询、中断响应、中断撤消,5.1,中断概述,(,1,)有关中断的概念,(,a,),中断,当中央处理器,CPU,正在处理某件事情的时候,外界发生了紧急事件请求,要求,CPU,暂停当前的工作,转而去处理这个紧急事件。处理完毕后,再回到原来被暂停的地方,继续原来的工作,这样的过程称为中断。,(,b,),中断嵌套,即指在中断过程中又发生了新中断的现象。,(,c,),中断源,向,CPU,发出中断请求的来源。,(,d,),中断请求或中断申请,中断源要求,CPU,为其服务的请求。,(,e,),中断查询,即指,CPU,通过测试各中断控制寄存器中各标志位的状态,以确定有没有中断请求发生以及是哪一个中断源提出中断请求的过程。,(,f,),中断响应,即指,CPU,对中断源提出的中断请求的接受,发生在中断查询之后。,(,g,),中断处理或中断服务,中断处理就是执行中断服务程序。,(,h,),中断返回,中断返回是指,CPU,在执行完中断服务程序后,返回原来暂停的地方(断点),,,继续执行原来程序的过程。,5.2.1,中断,源与中断向量,80C51,单片机共有,3,类,5,个中断源,即外部中断,2,个、定时中断,2,个和串行中断,1,个。,(,1,)外中断,(,a,),由外部信号引起,共有,2,个中断源,即外部中断“,0”,和外部中断“,1”,。由,/INT0,(,P3.2,),和,/INT1,(,P3.3,),引入。,(,b,)外中断的两种信号触发方式(通过有关控制位定义),电平方式:低电平有效,脉冲方式:脉冲下降沿有效,高低电平状态都应至少维持一个,机器周期。,5.2 80C51,单片机的中断系统,(,2,)定时中断,定时中断是,为满足定时或计数的需要设置,的。,80C51,单片机共有,2,个定时器,/,计数器中断源,即,T/C0,和,T/C1,。,定时器,/,计数器内部的计数结构对脉冲信号进行计数,当计数结构发生计数溢出时,即表明定时时间到或计数值已满,此时就以计数溢出信号作为中断请求信号,向,CPU,申请中断,同时置位一个溢出标志位,作为单片机接受中断请求的标志。,定时器,/,计数器作为定时功能使用时,计数结构需要的计数,脉冲信号来自单片机内部。,定时器,/,计数器作为计数功能使用时,计数结构需要的计数脉冲信号来自单片机外部,由,T0,(,P3.4,)、,T1,(,P3.5,)引入。,(,3,)串行中断,串行中断是为串行数据传送的需要设置的。每当串行口接收或发送完一组串行数据时,就产生中断请求信号向,CPU,申请中断。,80C51,单片机的中断向量列表,外部中断,0 0003H,定时,/,计数器,0 000BH,外部中断,1 0013H,定时,/,计数器,0 001BH,串行发送中断,0023H,串行接收中断,0023H,5.2.2,中断,控制,所谓,中断,控制就是,指,单片机,提供给用户使用的中断控制,的,手段,用户,可,通过设置,中断,控制寄存器的,状态位来使用中断系统。,中断,控制的,本质,就是利用指令,对中断控制寄存器进行操作,。,80C51,具有,4,个相关,的,控制寄存器:,TCON,,,IE,,,IP,,,SCON,。,(,1,)定时器控制寄存器(,TCON,),TCON,的功能:用于保存外部中断请求以及定时器,/,计数器的计数溢出信号。,TCON,的字节地址:,88H,;,位地址:,8FH,88H,。,TCON,的,内容及格式如下:,位,地址,8FH,8EH,8DH,8CH,8BH,8AH,89H,88H,位,符号,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,与中断控制有关的控制位共有,6,位:,(,a,),IE0,、,IE1,:,外中断请求标志位,CPU,采样,/INT0,,,/INT1,端,如出现有效中断请求,信号,,则由硬件,电路对该位自动,置,1,。,在中断响应后,由硬件,电路对该位,自动清,0,。,(,b,),IT0,、,IT1,:,外中断请求触发方式控制位,IT0,(,IT1,),=1,,,脉冲方式(后沿负跳有效);,IT0,(,IT1,),=0,,,电平方式(低电平有效);,由软件置,1,或清,0,,即人工编程。,例:,SETB IT0,;或,CLR IT0,;,(,C,),TF0,、,TF1,:,计数溢出标志位,当计数结构产生溢出时,由硬件电路对该位自动置,1,;,当转向中断服务时,再由硬件电路对该位自动清,0,。,计数溢出标志位的使用有两种情况:,1,)采用中断方式时,作中断请求标志位使用;,2,),采用查询方式时,作查询状态位来使用,必须利用软件对该位清,0,。,(,2,),串行口控制寄存器(,SCON,),SCON,的功能:用于串行数据通信的控制。,SCON,的字节地址:,98H,;,位地址:,9FH,98H,。,SCON,的内容及格式如下:,位,地址,9FH,9EH,9DH,9CH,9BH,9AH,99H,98H,位,符号,SM0,SM1,SM2,REN,TB8,RB8,TI,RI,与中断控制有关的控制位共有,2,位:,(,a,),TI,:,串行口发送中断请求标志位,发送完一帧串行数据后,由,硬件电路对该位自动,置,1,,在转向中断服务程序后,用软件,对该位,清,0,。,(,b,),RI,:,串行口接收中断请求标志位,接收完一帧数据后,由,硬件电路对该位自动,置,1,,在转向,中断服务程序后,用软件对该位清,0,。,TI,、,RI,标志位的使用有两种情况:,1,)采用中断方式时,作中断请求标志位使用;,2,),采用查询方式时,作查询状态位来使用;,无论采用何种方式,都必须利用软件对该位清,0,。,(,3,),中断允许控制寄存器(,IE,),IE,的功能:,中断系统的开关,。,IE,的字节地址:,0A8H,;,位地址:,0AFH,0A8H,。,IE,的内容及格式如下:,位,地址,AFH,AEH,ADH,ACH,ABH,AAH,A9H,A8H,位,符号,EA,/,/,ES,ET1,EX1,ET0,EX0,与中断控制有关的控制位共有,6,位:,(,a,),EA,:,中断允许总控制位,EA=0,:,中断总禁止;,EA=1,:,中断总允许;,(,b,),EX0,、,EX1,:,外部中断允许控制位,EX0,、,EX1=0,:,禁止外中断;,EX0,、,EX1=1,:,允许外中断;,(,c,),ET0,、,ET1,:,定时器,/,计数器中断允许控制位,ET0,、,ET1=0,,,禁止定时(或计数)中断;,ET0,、,ET1=1,,,允许定时(或计数)中断;,(,d,),ES,:,串行中断允许控制位,ES=0,,,禁止串行中断;,ES=1,,,允许串行中断;,注意,:,1,),MCS-51,单片机复位后(,IE,),=00H,,,即中断系统处于禁止状态;,2,)单片机在中断响应后不会自动关闭中断,需使用有关指令禁止中断,即以软件方式关闭中断。,(,4,),中断优先级控制寄存器(,IP,),IP,的功能:决定各中断源的优先权。,IP,的字节地址:,0B8H,;,位地址:,0BFH,0B8H,。,IP,的内容及格式如下:,位,地址,BFH,BEH,BDH,BCH,BBH,BAH,B9H,B8H,位,符号,/,/,/,PS,PT1,PX1,PT0,PX0,与中断控制有关的控制位共有,5,位:,(,a,),PX0,:,外部中断,0,优先级设定位;,(,b,),PT0,:,定时中断,0,优先级设定位;,(,c,),PX1,:,外部中断,1,优先级设定位;,(,d,),PT1,:,定时中断,1,优先级设定位;,(,e,),PS,:,串行中断优先级设定位;,为,0,的位优先级为低,为,1,的优先级为高。,5.2.3,中断优先级控制,中断优先级是为中断嵌套服务的。,MCS-51,单片机具有两级优先级,因此它具备两级中断服务嵌套的功能,其中断优先级的控制原则是:,(,a,),低优先级中断请求不能打断高优先级的中断服务,但高优,先级中断请求可以打断低优先级的中断服务,实现中断嵌套。,(,b,),如一个中断请求已被响应,则同级的其它中断响应将被禁止。,即同级不能嵌套。,(,c,),如果同级的多个中断请求同时出现,则按,CPU,查询次序确定那个中断请求被响应。,查询次序:,外部中断,0,定时中断,0,外部中断,1,定时中断,1,串行中断,中断优先级控制,除了中断优先级控制寄存器之外,还有两个不可寻址的优先级状态触发器:,一个用于指示某一高优先级中断正在进行服务,从而屏蔽其它高优先级中断;另一个用于指示某一低优先级中断正在进行服务,从而屏蔽其它低优先级中断,但不能屏蔽高优先级的中断。,中断初始化与中断控制寄存器状态设置,MCS-51,单片机的中断系统在使用之前,必须在单片机的应用程序初始化部分进行设置,具体情况如下:,(,a,),外部中断:中断总允许、外中断允许、中断触发方式设定,(,b,),定时中断:中断总允许、定时中断允许;,(,c,),串行中断:中断总允许、串行中断允许。,MCS-51,单片机中断系统的,4,个控制寄存器既可以进行字节寻址,又可进行位寻址,对位状态的设置,既可以使用字节操作指令,又可以使用位操作指令,。,例:设要开放外中断,0,,则可以使用以下指令:,MOV IE,,,#81H,;,或,SETB EA,;,SETB EX0,;,80C51,单片机中断系统内部结构图,5.2.4,中断,响应过程,中断,响应过程发生在中断查询之后,包括中断响应、中断处理、中断返回三个阶段。因此,必须首先研究中断查询。,所谓中断查询就是指,CPU,通过测试,TCON,和,SCON,中各标志位的状态,以确定有没有中断请求发生以及是哪一个中断源提出中断请求的过程。,中断请求标志位的置位方式由于单片机中断类型的不同而存在差异。,(,a,),对于外中断,必须通过采样的方法把外中断请求信号锁定在,TCON,的相应标志位中;,(,b,),对于定时中断和串行中断,可以通过硬件电路直接置位的方法将,TCON,和,SCON,中,各自的中断请求标志位置“,1”,。,(,1,),中断采样(针对外中断),中断请求采样:即如何识别外部中断请求信号并把它锁定在,TCON,的相应标志位中。,采样时刻:在每个机器周期的,S5P2,(,第,5,状态,第,2,节拍)时刻,对,/INT0,(,P3.2,),和,/INT1,(,P3.3,)引脚,进行。,对于电平方式的外中断请求,采样为高,IE0,(,IE1,),0,,,为低,IE0,(,IE1,),1,;,对于脉冲方式外中断请求,采样先高后低,IE0,(,IE1,),1,;,否则,IE0,(,IE1,),0,。,(,2,),中断查询,中断查询:,CPU,对中断请求标志位的查询来获悉有无中断请求发生,以及是哪一个中断源提出中断请求;,查询次序:按优先级顺序进行;,查询时刻:每个机器周期的最后一个状态,S6,,,一旦查到有中断请求发生,接着就从相临的下一个机器周期的,S1,状态开始进行中断响应。,(,3,),中断响应,中断响应的主要内容:由硬件电路自动生成一条长调用指令,LCAAL addr16(,即程序存储器中相应中断区的入口地址,),,生成,LCALL,指令后,就由,CPU,执行,从而转移到真正的中断服务程序。,中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当存在下列情况之一时,中断响应被封锁:,(,a,),CPU,正处在为一个同级或高级的中断服务中,;,(,b,),查询中断请求的机器周期不是当前指令的最后一个机器,周期;,(,c,),当前指令是返回指令(,RET,,,RETI,),或访问,IE,,,IP,指令。,MCS=51,单片机对中断查询结果不作记忆,当有新的查询结果出现时,因为以上原因而被拖延的查询结果将不复存在,其中断请求也就不能再被响应了。,中断响应的条件:,(,a,),有中断源发出有效的中断请求信号;,(,b,),EA=1,,即,CPU,开总中断;,(,c,),申请中断的中断源的中断允许位为,1,,即没有屏蔽;,(,d,),中断响应没有被封锁。,(,4,),中断响应时间,即指从查询中断请求标志位到转向中断区入口地址所需的,机器周期数。,最短响应时间:,3,个机器周期(,1,个查询机器周期和,2,个,LCALL,指令机器周期),;,最长响应时间:,8,个机器周期(,2+4+2,),。,一般的中断响应时间在,3,8,个,机器周期,之间。,(,5,),中断处理,即执行中断服务程序的过程。,(,6,)中断返回,指,CPU,在执行完中断服务程序后,返回原来暂停的地方(断点),继续执行原来程序的过程。,中断,请求的撤消问题,中断响应后,,TCON,或,SCON,中的中断请求标志应及时清除,否则就意味着中断请求依然存在,弄不好就会造成中断的重复查询和响应,因此,必须在中断响应后及时清除中断请求信号(即将中断请求标志位清,0,)。,(,1,)定时中断请求的撤消,定时中断,的,中断,请求是由,硬件,电路,自动,撤消的(,即硬件,电路,自动把标志位(,TF0,或,TF1,),清,0,),无需用户干预。,(,2,),脉冲方式外部中断请求,的撤消,外部中断请求,的撤消包括两项内容:,(,a,),中断标志位的清,0,;,(,b,),外,部中断请求,信号的撤消;,对于,脉冲方式的外部中断请求,,其,标志位(,IE0,或,IE1,)的清,0,是,由硬件电路自动完成的;由于中断请求信号是脉冲信号,因此,中断请求信号也是自动撤消的。,(,3,)电平,方式外部中断请求,的撤消,对于电平,方式,的,外部中断请求,,,其,标志位(,IE0,或,IE1,),的清,0,是由硬件电路自动完成的;由于中断请求信号是低电平信号,因此,必须借助,外电路,将其拉高,否则,在以后的机器周期采样时又会将标志位(,IE0,或,IE1,),置“,1”,,造成重复中断响应。,结合硬件电路,只需在中断服务程序中增加两条指令就可在,P1.0,口线上产生一个负脉冲,将中断请求低电平信号撤消:,ORL P1,,,#01H,;,P1.0,输出高电平,ANL P1,,,#0FEH,;,P1.0,输出低电平,(,4,)串行,中断,软件撤消,串行中断的标志位,TI,,,RI,,,硬件,电路,不会,将其,自动清,0,,因为在中断响应后,还需测,试,TI,,,RI,的状态,以判定是接收还是发送操作,然后才能清除。应使用软件方法进行,加在中断服务程序中。,5.2.5,中断服务程序,中断,服务流程,(,1,),现场保护和现场恢复,现场保护:,为了使中断服务程序的执行不破坏,CPU,中寄存器或存储单元的原有内容,以免在中断返回后影响主程序的运行,须把,CPU,中有关寄存器或存储单元的内容推入堆栈中保护起来。这个过程称现场保护,。,现场恢复:,中断服务结束后,在返回主程序前,把保存的现场内容从堆栈中弹出,以恢复寄存器或存储单元的原有内容,。,现场保护,和,现场恢复,利用,PUSH,、,POP,指令实现,,现场保护,一定要位于中断处理程序前面,而,现场恢复,一定要位于中断处理程序后面。,(,2,),开中断和关中断,开中断,即中断允许,,关中断,即中断屏蔽。在现场保护和,现场恢复,的过程中,即使有更高级的中断请求,也不允许中断嵌套。,(,3,)中断处理,(,4,)中断返回,利用,RETI,指令,把程序运行从中断服务程序转回到被中断的,主程序上去,这条指令位于中断服务程序的最后一条指令,。,RETI,指令执行时,首先将响应中断时置位的优先级触发器复位,然后将断点地址从堆栈中弹出送,PC,,,接着,CPU,从断点处重新执行被中断的主程序。,返回,返回,返回,80C51,单片机中断系统内部结构图,返回,返回,5.3,80C51,单片机的定时器,/,计数器,定时方法,概述,(,1,)软件定时,(,a,),依靠执行一个循环程序以进行时间延迟,;,(,b,),定时精确,无须增加硬件电路,但占有,CPU,资源,。,(,2,),硬件定时,硬件电路完成,,不,占有,CPU,资源,,,定时时间长,,使用不灵活。,(,3,),可编程定时器定时,通过对系统时钟脉冲的计数来实现,,使用灵活、方便。,MCS-51,单片机有两个定时器,/,计数器(,T/C0,,,T/C1,),,均为十六位加法计数结构,分别由,TH0,,,TL0,,,TH1,,,TL1,两个,8,位计数器组成。,80C51,单片机,定时器,/,计数器,逻辑结构图,。,MCS-51,单片机的定时器,/,计数器具有定时和计数功能:,(,1,),计数功能,(,a,),所谓计数:指对外部事件进行计数,外部事件的发生以输入脉冲表示,因此,计数功能的实质是对外来脉冲进行计数。,(,b,),计数输入端:,T0,(,P3.4,)、,T1(P3.5),。,(,c,),有效计数脉冲:外部输入的脉冲在下降沿有效,进行计数器加,1,。,(,d,),计数采样时刻:每个机器周期的,S5P2,(,共要,2,个周期)。,5.3.1,定时器,/,计数器的计数和定时功能,(,e,),计数时刻:计数采样时刻的下一个机器周期的,S3P1,。,(,f,),计数脉冲频率:,1/24fosc,。,(,2,),定时功能,定时功能,也是,通过计数器的计数来实现,的,。计数脉冲来自内部,每个机器周期产生一个计数脉冲,,即,每个机器周期,计数器加,1,,,计数频率为,1/12fosc,。,5.3.1,用于,定时器,/,计数器的,控制寄存器,定时器,/,计数器,的控制寄存器有,3,个:,TCON,、,TMOD,、,IE,。,(,1,),定时器控制寄存器(,TCON,),TCON,的功能:用于保存外部中断请求以及定时器,/,计数器的计数溢出信号。,TCON,的字节地址:,88H,;,位地址:,8FH,88H,。,TCON,的内容及格式如下:,位,地址,8FH,8EH,8DH,8CH,8BH,8AH,89H,88H,位,符号,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,与定时有关的控制位共有,4,位:,(,a,),TF0,、,TF1,:,计数溢出标志位,当计数结构产生溢出时,由硬件电路对该位自动置,1,;,当转向中断服务时,再由硬件电路对该位自动清,0,。,计数溢出标志位的使用有两种情况:,1,)采用中断方式时,作中断请求标志位使用;,2,)采用查询方式时,作查询状态位来使用,必须利用软件对该位清,0,。,(,b,),TR0,、,TR1,:,定时器运行控制位,TR0,、,TR1=0,,,停止,T/C,工作;,TR0,、,TR1=1,,,启动,T/C,工作。,该位根据需要以软件方法置,1,或清,0,。,(,2,),工作方式控制寄存器(,TMOD,),TMOD,的功能:用于设定两个,定时器,/,计数器,的工作方式,。,TMOD,的字节地址:,89H,,,应采,用字节传送指令设置其内容,。,TMOD,的内容及格式如下:,位序,B7,B6,B5,B4,B3,B2,B1,B0,位,符号,GATE,C/T,M1,M0,GATE,C/T,M1,M0,与定时有关的控制位共有,8,位,分两组,:,(,a,),GATE,:,门控位,GATE=0,,,以运行控制位,TR0,、,TR1,启动,T/C,;,GATE=1,,,以外中断请求信号(,/INT1,,,/INT0,),启动,T/C,。,(,b,),C/T,:,定时方式或计数方式选择位,C/T=0,,,定时工作方式;,C/T=1,,,计数工作方式。,(,c,),M1M0,:,工作方式选择位,M1M0=00,方式,0,M1M0=01,方式,1,M1M0=10,方式,2,M1M0=11,方式,3,(,3,),中断允许寄存器(,IE,),IE,的功能:,中断系统的开关,。,IE,的字节地址:,0A8H,;,位地址:,0AFH,0A8H,。,IE,的内容及格式如下:,位,地址,AFH,AEH,ADH,ACH,ABH,AAH,A9H,A8H,位,符号,EA,/,/,ES,ET1,EX1,ET0,EX0,与定时有关的控制位共有,3,位:,(,a,),EA,:,中断允许总控制位,EA=0,:,中断总禁止;,EA=1,:,中断总允许;,(,b,),ET0,、,ET1,:,定时器,/,计数器中断允许控制位,ET0,、,ET1=0,,,禁止定时(或计数)中断;,ET0,、,ET1=1,,,允许定时(或计数)中断;,5.3.3,定时,工作方式,0,(,1,),电路逻辑结构,方式,0,是,13,位计数结构的工作方式,其计数器由,TH,全部,8,位和,TL,的低,5,位构成,,,TL,的,高,3,位,不用,。,(,2,),定时和计数应用,(,a,),在方式,0,下,,作,计数,功能,时,计数值范围,1,8192,(,2,13,),计数可从,0,8191,开始。,(,b,),在方式,0,下,,作定时功能,时,定时时间计算公式:,(,2,13,-,计数初值),晶振周期,12,或(,2,13,-,计数初值),机器周期。,注意:,1,),T/C,是可编程的,,TH,,,TL,可以按字节寻址。,例:,MOV TL0,,,#Data,;,MOV TH0,,,#Data,;,TL0,,,TH0,中的初值可通过指令预置。,2,)计数脉冲,TL5,位,TH8,位,TF,假设,f,osc,=6MHz,,,则最长、最短定时时间分别为,2s,、,16384s,例:,假,设单片机,fosc,=6MHz,,,使用定时器,1,以方式,0,产生周期为,500,s,的等宽正方波,连续,脉冲,由,P1.0,输出,以查询方式完成,。,解:,1,)计算计数初值,利用,定时器,/,计数器,1,的定时功能,定时时间,250,s,。,假设待求的计数初值为,X,:,则:,(2,13,-X)210,-6,S=25010,-6,S,得:,X=8067,(,十进制),,1111110000011,(,二进制),十六进制表示:高,8,位,0FCH,送,TH1,,,低,5,位,03H,送,TL1,。,2,),TMOD,寄存器,初始化,位序,B7,B6,B5,B4,B3,B2,B1,B0,位符号,GATE,C/T,M1,M0,GATE,C/T,M1,M0,0,0,0,0,0,0,0,0,根据以上分析,,TMOD,寄存器应,初始化,位,00H,。,3,)由,T/C1,的,TCON,中,TR1,位控制其启动,停止:,TR1=1,启动,,TR1=0,停止;,4,),程序设计:,ORG 1000H,MAIN,:,MOV TMOD,,,#00H,;,T/C1,方式,0,MOV TH1,,,#0FCH,;,设计数初值,MOV TL1,,,#03H,;,MOV IE,,,#00H,;,禁止中断,SETB TR1,;,启动定时器,LOOP,:,JNB TF1,,,LOOP,;,查询计数溢出否,MOV TH1,,,#0FCH,;,重置计数初值,MOV TL1,,,#03H,;,CLR TF1,;,清计数溢出标志,CPL P1.0,;,输出取反,AJMP LOOP,;,重复循环,END,思考题:,1,)如采用中断方式,如何编程?,2,)如,P1.0,输出的不是方波,而是,矩形波(高电平,100s,,,低电平,200s,),,其它条件不变,如何编程?,5.3.4,定时,工作方式,1,(,1,),电路逻辑结构,方式,1,是,16,位计数结构,的,工作方式,由,TH,全部,8,位和,TL,全部,8,位构成。,(,2,),定时和计数应用,(,a,),在方式,1,下,,作,计数,功能,时,计数值范围,1,65536,(,2,16,),计数可从,0,65535,开始。,(,b,),在方式,1,下,,作定时功能,时,定时时间计算公式:,(,2,16,-,计数初值),晶振周期,12,或(,2,16,-,计数初值),机器周期。,注意:,1,),T/C,是可编程的,,TH,,,TL,可以按字节寻址。,例:,MOV TL0,,,#Data,;,MOV TH0,,,#Data,;,TL0,,,TH0,中的初值可通过指令预置。,2,)计数脉冲,TL8,位,TH8,位,TF,假设,f,osc,=6MHz,,,则最长、最短定时时间分别为,2s,、,131ms,。,例:,假,设单片机,fosc,=6MHz,,,使用定时器,1,以方式,1,产生周期为,500,s,的等宽正方波,连续,脉冲,由,P1.0,输出,以查询方式完成,。,解:,1,)计算计数初值,利用,定时器,/,计数器,1,的定时功能,定时时间,250,s,。,假设待求的计数初值为,X,:,则:,(2,16,-X)210,-6,S=25010,-6,S,得:,X=65410,(,十进制),十六进制表示:高,8,位,0FFH,送,TH1,,,低,8,位,83H,送,TL1,。,2,),TMOD,寄存器,初始化,位序,B7,B6,B5,B4,B3,B2,B1,B0,位符号,GATE,C/T,M1,M0,GATE,C/T,M1,M0,0,0,0,1,0,0,0,0,根据以上分析,,TMOD,寄存器应,初始化,位,10H,。,3,)由,T/C1,的,TCON,中,TR1,位控制其启动,停止:,TR1=1,启动,,TR1=0,停止;,4,),程序设计:,ORG 1000H,;,主程序,MAIN,:,MOV TMOD,,,#10H,;,T/C1,方式,1,MOV TH1,,,#0FFH,;,设计数初值,MOV TL1,,,#83H,;,SETB EA,;,开总中断,SETB ET1,;,T/C1,允许中断,LOOP,:,SETB TR1,;,启动定时器,HERE,:,SJMP$,;,等待中断,中断服务程序,ORG 2000H,;,LOOP1,:,MOV TH1,,,#0FFH,;,重置计数初值,MOV TL1,,,#83H,;,CPL P1.0,;,输出取反,RETI,;,中断返回,END,5.3.5,定时,工作方式,2,(,1,),电路逻辑结构,方式,2,是自动,重新,加载计数初值,工作方式,,,以,TL,作,计数器,以,TH,作预置寄存器,初始化时把计数初值分别装入,TL,和,TH,中。当计数溢出后,由预置寄存器,TH,以,硬件方法自动给计数器,TL,重新,加载初值,。,(,2,),循环,定时和,循环,计数应用,(,a,),在方式,2,下,,作,计数,功能,时,计数值范围,1,256,(,2,8,),计数可从,0,255,开始。,(,b,),在方式,2,下,,作定时功能,时,定时时间计算公式:,(,2,8,-,计数初值),晶振周期,12,或(,2,8,-,计数初值),机器周期。,注意:,1,),T/C,是可编程的,,TH,,,TL,可以按字节寻址。,例:,MOV TL0,,,#Data,;,MOV TH0,,,#Data,;,TL0,,,TH0,中的初值可通过指令预置。,2,)计数脉冲,TL8,位,TF,假设,f,osc,=6MHz,,,则最长、最短定时时间分别为,2s,、,512s,。,例:,假,设单片机,fosc,=6MHz,,,使用,T/C0,以方式,2,产生,100,s,定时,在,P1.0,输出周期为,200,s,的连续方波脉冲,。,解:,1,)计算计数初值,利用,定时器,/,计数器,0,的定时功能,定时时间,100,s,。,假设待求的计数初值为,X,:,则:,(2,8,-X)210,-6,S=10010,-6,S,得:,X=206,(,十进制),十六进制表示:,0CEH,送,TH0,,,0CEH,送,TL0,。,2,),TMOD,寄存器,初始化,位序,B7,B6,B5,B4,B3,B2,B1,B0,位符号,GATE,C/T,M1,M0,GATE,C/T,M1,M0,0,0,0,0,0,0,1,0,根据以上分析,,TMOD,寄存器应,初始化,位,02H,。,3,)由,T/C0,的,TCON,中,TR0,位控制其启动,停止:,TR0=1,启动,,TR0=0,停止;,4,),程序设计,(查询方式),ORG 1000H,;,主程序,MAIN,:,MOV TMOD,,,#02H,;,T/C0,方式,2,MOV TH0,,,#0CEH,;,设计数初值,MOV TL0,,,#0CEH,;,MOV IE,,,#00H,;,禁止中断,SETB TR0,;,启动定时器,LOOP,:,JNB TF0,,,LOOP,;,查询计数溢出否,CLR TF0,;,清计数溢出标志,CPL P1.0,;,输出取反,AJMP LOOP,;,重复循环,END,(,5,),程序设计:,(中断方式),ORG 1000H,;,主程序,MAIN,:,MOV TMOD,,,#02H,;,T/C0,方式,2,MOV TH0,,,#0CEH,;,设计数初值,MOV TL0,,,#0CEH,;,SETB EA,;,开总中断,SETB ET0,;,T/C0,允许中断,LOOP,:,SETB TR0,;,启动定时器,HERE,:,SJMP$,;,等待中断,中断服务程序,ORG 2000H,;,LOOP1,:,CPL P1.0,;,输出取反,RETI,;,中断返回,END,例:,假,设单片机,fosc,=6MHz,,用,T/C1,以方式,2,实现,计数,每计,100,次进行,A,加,1,操作,。,解:,1,)计算计数初值,利用,定时器,/,计数器,1,的计数功能,假设待求的计数初值为,X,:,则:,X=,(2,8,-100)=156,(,十进制),十六进制表示:,9CH,送,TH1,,,9CH,送,TL1,。,2,),TMOD,寄存器,初始化,位序,B7,B6,B5,B4,B3,B2,B1,B0,位符号,GATE,C/T,M1,M0,GATE,C/T,M1,M0,0,1,1,0,0,0,0,0,根据以上分析,,TMOD,寄存器应,初始化,位,60H,。,3,)由,T/C1,的,TCON,中,TR1,位控制其启动,停止:,TR1=1,启动,,TR1=0,停止;,4,),程序设计,(查询方式),ORG 1000H,;,主程序,MAIN,:,MOV TMOD,,,#60H,;,T/C1,方式,2,MOV TH1,,,#9CH,;,设计数初值,MOV TL1,,,#9CH,;,MOV IE,,,#00H,;,禁止中断,SETB TR1,;,启动定时器,LOOP,:,JNB TF1,,,LOOP,;,查询计数溢出否,CLR TF1,;,清计数溢出标志,INC A,;,累加器加,1,AJMP LOOP,;,重复循环,END,5.3.6,定时,工作方式,3,(,1,),电路逻辑结构,(,2,),工作方式,3,下的,定时器,/,计数器,0,在,工作方式,3,下,,,T/C0,被,折成两个独立的,8,位计数器,TL0,,,TH0,,,其中,,TL0,即可以计数使用,又可以定时使用。,T/C0,的各控制位和引脚信号全归它使用。而,TH0,只能作为简单的定时器使用,借用,T/C1,的,TR1,和,TF1,。,(,3,),工作方式,3,下的,定时器,/,计数器,1,如,果,T/C0,工作在方式,3,,则,T/C1,只能工作在方式,0,,方式,1,,方式,2,下,并且,T/C1,通常作为串行口波特率发生器使用,以确定串行通信的速率。,80C51,单片机,定时器,/,计数器,逻辑结构图,返回,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服