版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章第五章 MCSMCS-5151中断系统与定时器中断系统与定时器/ /计数器计数器第五章-1 本章重点:本章重点:MCS-51MCS-51的中断系统和定时器的中断系统和定时器/ /计数器计数器 讲授内容:MCS-51MCS-51单片机的中断系统单片机的中断系统 1 1)中断系统概述)中断系统概述 2 2)中断的处理过程)中断的处理过程 3 3)中断系统的初始化及应用)中断系统的初始化及应用 MCS-51MCS-51单片机的定时器单片机的定时器/ /计数器计数器 1 1)定时器)定时器/ /计数器的编程结构计数器的编程结构 2 2)控制字与编程方法)控制字与编程方法 3 3)应用编程)应用编
2、程 当当CPU正在处理某件事情的时候,外部发生了某一更为重要或更正在处理某件事情的时候,外部发生了某一更为重要或更为紧迫的事件,需要为紧迫的事件,需要CPU暂时停下正在执行的工作去处理这一突发事暂时停下正在执行的工作去处理这一突发事件,之后再继续执行以前被暂停的下来的工作,这个过程就叫中断。件,之后再继续执行以前被暂停的下来的工作,这个过程就叫中断。 5. 2 MCS-515. 2 MCS-51的中断系统的中断系统 第五章-2 CPU中能够控制实现这种中断响应的逻辑机构称为中断系统。中能够控制实现这种中断响应的逻辑机构称为中断系统。中中断有以下优点:断有以下优点: 1. 实现与低速设备的同步;
3、实现与低速设备的同步; 2. 提高系统处理的实时性;提高系统处理的实时性; 3. 实现故障处理,避免系统灾难。实现故障处理,避免系统灾难。 MCS-51有有5个中断源个中断源2个外部中断源个外部中断源INT0和和INT1,2个片内定时器个片内定时器/计数器溢出中断源,计数器溢出中断源,1个片内串行口中断源。个片内串行口中断源。 分为两级分为两级高级中断和低级中断高级中断和低级中断。其中任何一个中断源的优先级均。其中任何一个中断源的优先级均可由软件设定为高级或低级,能实现两级中断服务程序嵌套可由软件设定为高级或低级,能实现两级中断服务程序嵌套 。 都是可屏蔽的,由软件设定。都是可屏蔽的,由软件设
4、定。IE0TF0IE1RI/TITF2TF1EAEX0ET0EX1ET1ESET2PX0PT0PX1PT1PSPT2011111100000高级中断请求低级中断请求中断源中断源中断入口中断入口查询电路中断优先级寄存器全局中断允许中断源允许中断标志中断选择10IT010IT11TF2TF1TF0TIRIINT0INT1中断允许寄存器IE控制中断优先级寄存器IP控制中断触发方式位IT控制第五章-3一、一、MCS-51MCS-51的中断源的中断源 1.1.中断源中断源 1) 1) 外部中断外部中断0 0请求,由请求,由P3.2P3.2引脚输入。可由用户设定为引脚输入。可由用户设定为两种触发方式,(电
5、平触发方式还是边沿触发方式)。一两种触发方式,(电平触发方式还是边沿触发方式)。一旦输入信号有效,则向旦输入信号有效,则向CPUCPU申请中断,并且将中断标志申请中断,并且将中断标志IE0IE0置置1 1。 2) 2) 外部中断外部中断1 1请求,由请求,由P3.3P3.3引脚输入。亦可由用户设定引脚输入。亦可由用户设定为电平触发方式还是边沿触发方式。一旦输人信号有效,为电平触发方式还是边沿触发方式。一旦输人信号有效,则向则向CPUCPU申请中断,并将中断标志申请中断,并将中断标志IE1IE1置置1 1。 3 3)片内定时器)片内定时器T0T0溢出中断请求。外部计数脉冲由溢出中断请求。外部计数
6、脉冲由P3.4P3.4引引脚输入,当定时器脚输入,当定时器T0T0产生溢出时,产生溢出时,T0T0中断请求标志中断请求标志TF0 TF0 置置1 1,请求中断处理。请求中断处理。 4) 4) 片内定时器片内定时器T1T1溢出中断请求。溢出中断请求。外部计数脉冲由外部计数脉冲由P3.5P3.5引引脚脚输入,输入,当定时器当定时器T1T1产生溢出时,产生溢出时,T1T1中断请求标志中断请求标志TF1TF1置置l l,请求中断处理。请求中断处理。 5) 5) 片内串行口发送接收中断请求。当通过串行口发送片内串行口发送接收中断请求。当通过串行口发送或接收完一帧串行数据时,串行口中断请求标志或接收完一帧
7、串行数据时,串行口中断请求标志TITI或或RIRI置置1 1,请求中断处理。请求中断处理。 第五章-4INT0 IE0 INT1 IE1 TF0 TF1 RI TI 图 10、 8051中 断 源 2.2.中断请求标志中断请求标志 1)TCON1)TCON的中断标志的中断标志 TCONTCON是专用寄存器,字节地址为是专用寄存器,字节地址为88H88H,它锁存了外部中断请求标志,它锁存了外部中断请求标志以及以及T0T0和和T1T1的溢出中断请求标志的溢出中断请求标志TCONTCON 88H 88HD7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0TF1TF1TR1TR1TF0TF
8、0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0 (1)IT0 (1)IT0:外部中断:外部中断0(INT0)0(INT0)触发方式控制位。触发方式控制位。IT0=0 INT0IT0=0 INT0为低电平触发方式为低电平触发方式。 (2)(2)IE0IE0:外部中断:外部中断0 0请求标志位。请求标志位。IE0IE01 1,外部中断,外部中断0 0向向CPUCPU申请中断。申请中断。 (3)IT1(3)IT1:外部中断:外部中断1(INT1)1(INT1)触发方式控制位。触发方式控制位。 (4)(4)IE1IE1:外部中断:外部中断1 1请求标志位。请求标志位。IE1IE11 1
9、时,外部中断时,外部中断1 1向向CPUCPU申请中断。申请中断。 (5)(5)TF0TF0:片内定时器:片内定时器T0T0溢出中断请求标志。溢出中断请求标志。T0T0被启动后,从初始值开始进行加被启动后,从初始值开始进行加1 1 计数,当最高位产生溢出时置计数,当最高位产生溢出时置TF0TF01 1,向,向CPUCPU申请中断。申请中断。 (6)(6)TF1TF1:片内定时器:片内定时器T1T1溢出中断请求标志,其操作功能与溢出中断请求标志,其操作功能与TF0TF0类同。类同。 第五章-5 以上中断请求标志在以上中断请求标志在CPU响应该中断时,由硬件自动清响应该中断时,由硬件自动清0,也可
10、由软件,也可由软件查询该标志,并用软件清查询该标志,并用软件清0。 SCON是串行口控制寄存器,字节地址为是串行口控制寄存器,字节地址为98H。与中断有关的是它。与中断有关的是它的低两位的低两位TI和和RI。 1) TI(SCON.1) :串行口发送中断标志位。每发送完一个串行帧,:串行口发送中断标志位。每发送完一个串行帧,由硬件置位由硬件置位TI。CPU响应中断时,不能清除响应中断时,不能清除TI,TI必须由软件清除必须由软件清除。 2)RI(SCON.0):串行口接收中断标志位,当允许串行口接收数据:串行口接收中断标志位,当允许串行口接收数据时,每接收完一个串行帧,由硬件置位时,每接收完一
11、个串行帧,由硬件置位RI。同样,同样,RI必须由软件清除必须由软件清除。TIRISCON2) SCON的中断标志的中断标志第五章-6二、二、MCS-51MCS-51的中断控制的中断控制 1. 1. 中断允许寄存器中断允许寄存器IE (A8H)IE (A8H) 中断的允许与开放中断的允许与开放0:关INT 中断01:开INT 中断00:关T 中断1:开T 中断001:开T 中断0:关T 中断0:关INT 中断1:开INT 中断11110:关T 中断1:开T 中断221:开所有中断0:关所有中断1:开串行口中断0:关串行口中断位地址IEEAAFADETACESABETAAEXA9ETA8EX001
12、12第五章-72. 中断优先级寄存器IP (B8H) 中断优先级控制中断优先级控制 内部自然优先级:内部自然优先级: 入口地址入口地址 INT0 高高 0003H T0 000BH INT1 0013H T1 001BH TI/RI 低低 0023H第五章-88中断处理过程一般分为三个阶段,即中断响应、中断处理和中断返回中断处理过程一般分为三个阶段,即中断响应、中断处理和中断返回。 三、三、 MCS-51MCS-51对中断的响应对中断的响应1.1.中断响应的条件中断响应的条件1)有中断源发出请求信号)有中断源发出请求信号2)中断是开放的(总允许、源允许)中断是开放的(总允许、源允许)3)没有封
13、锁(受阻),)没有封锁(受阻),受阻情况是:受阻情况是: (1) CPU(1) CPU正在执行同级或高一级的中断服务程序;正在执行同级或高一级的中断服务程序; (2) (2) 现行机器周期不是正在执行的指令的最后一个机器周期,即现行机器周期不是正在执行的指令的最后一个机器周期,即现行指令完成前不响应任何中断请求;现行指令完成前不响应任何中断请求; (3) (3) 当前正在执行的是中断返回指令当前正在执行的是中断返回指令RETIRETI或访问专用寄存器或访问专用寄存器IEIE或或IPIP的指令。也就是说,在执行的指令。也就是说,在执行RETIRETI或是访问或是访问IEIE、IPIP的指令后,至
14、少需的指令后,至少需要再执行要再执行一一条其他指令,才会响应中断请求。条其他指令,才会响应中断请求。第五章-92.2.中断响应过程中断响应过程(CPU自动完成)自动完成) 进入中断响应周期。进入中断响应周期。CPUCPU在中断响应周期要完成下列操作:在中断响应周期要完成下列操作: 1) 根据中断请求源的优先级高低,根据中断请求源的优先级高低,使相应的优先级状态触发器置使相应的优先级状态触发器置1。 2) 保留断点,把保留断点,把PC内容内容压入堆栈保存。压入堆栈保存。 3) 清相应中断请求标志位清相应中断请求标志位IE0、IE1、TF0或或TF1。 4) 把被响应的中断源服务把被响应的中断源服
15、务程序程序入口地址入口地址送入送入PC,进入相应,进入相应中断服务程序。中断服务程序。第五章-10中断服务程序入口地址表中断服务程序入口地址表第五章-113.3.中断服务与返回中断服务与返回 在编写中断服务程序时加注意的几点:在编写中断服务程序时加注意的几点: 1) 1) 因各入口地址之间只相隔因各入口地址之间只相隔8 8个字节,一般的中断服务程序是存放个字节,一般的中断服务程序是存放不下的。所以通常在中断入口地址单元处存放不下的。所以通常在中断入口地址单元处存放条无条件转移指令,这条无条件转移指令,这样就可使中断服务程序灵活地安排在样就可使中断服务程序灵活地安排在64KB64KB程序存储器的
16、任何空间。程序存储器的任何空间。 2) 2) 若要在执行当前中断程序时禁止更高优先级中断,可先用软件关若要在执行当前中断程序时禁止更高优先级中断,可先用软件关闭闭CPUCPU中断,或禁止某中断源中断,在中断返回前再开放中断。中断,或禁止某中断源中断,在中断返回前再开放中断。 3) 3) 注意在中断服务程序中保护现场和恢复现场。注意在中断服务程序中保护现场和恢复现场。 4 4)中断服务程序的最后一条是返回指令)中断服务程序的最后一条是返回指令RETIRETI,该指令将清除响应中,该指令将清除响应中断时被置位的优先级状态触发器,然后自动将断点地址从栈顶弹出,装断时被置位的优先级状态触发器,然后自动
17、将断点地址从栈顶弹出,装入程序计数器入程序计数器PCPC,使程序返回到被中断的程序断点处,继续向下执行。,使程序返回到被中断的程序断点处,继续向下执行。 第五章-124.4.中断请求的撤除中断请求的撤除 CPUCPU响应中断请求后,在中断返回响应中断请求后,在中断返回(RETI)(RETI)前,该中断请求信号必须前,该中断请求信号必须撤除,否则会引起另外一次中断。撤除,否则会引起另外一次中断。 1 1)定时器)定时器/ /计数器溢出中断标志计数器溢出中断标志TF0TF0或或TFlTFl,在,在CPUCPU响应中断后由硬响应中断后由硬 件自动清除;件自动清除; 2 2)串行口中断请求标志)串行口
18、中断请求标志TITI和和RIRI不能由硬件自动清除,需要在中断不能由硬件自动清除,需要在中断 服务程序中,用软件来清除相应的中断请求标志;服务程序中,用软件来清除相应的中断请求标志; 3 3)采用边沿触发的外部中断标志)采用边沿触发的外部中断标志IE0IE0或或IElIEl,在,在CPUCPU响应中断后由响应中断后由 硬件自动清除,但在电平触发时,硬件自动清除,但在电平触发时,IE0IE0或或IElIEl受外部引脚中断信受外部引脚中断信 号的直接控制,所以要在中断请求得到号的直接控制,所以要在中断请求得到CPUCPU响应后及时撤除中断响应后及时撤除中断 请求信号,以避免对同一中断请求的多次响应
19、。请求信号,以避免对同一中断请求的多次响应。第五章-13 中断系统的初始化是指用户对上述这些特殊功能寄存器中的各控中断系统的初始化是指用户对上述这些特殊功能寄存器中的各控制位进行赋值。制位进行赋值。1. 1. 中断系统的初始化步骤中断系统的初始化步骤 1 1)设定相应中断源的中断允许控制;)设定相应中断源的中断允许控制; 2 2)设定所用中断源的中断优先级;)设定所用中断源的中断优先级; 3 3)若为外部中断,则应规定中断触发方式。)若为外部中断,则应规定中断触发方式。第五章-14四、四、 MCS-51MCS-51中断系统的初始化中断系统的初始化例例5-5 5-5 :请写出:请写出INT1IN
20、T1为低电平触发的中断系统初始化程序。为低电平触发的中断系统初始化程序。解解:(1) :(1) 采用位操作指令采用位操作指令 SETB EA SETB EX1 ;开开INT1中断中断 SETB PX1 ;令令INT1 为高优先级为高优先级 CLR IT1 ;令令INT1 为电平触发为电平触发 (2) (2) 采用字节型指令采用字节型指令 MOV IE, #84H ;开开INT1中断中断 ORL IP, #04H ; 高优先级高优先级 ANL TCON, #0FBH ; 电平触发电平触发 2 2中断系统应用中断系统应用例例5-1:一个外部中断源一个外部中断源时的编程。时的编程。如图所示电如图所示
21、电路,设外部中断信号为路,设外部中断信号为负脉冲,引入负脉冲,引入外部中断外部中断1引脚。要求每中断一次引脚。要求每中断一次,从从P1.4P1.7输入外部开输入外部开关状态关状态,然后从然后从P1.0P1.3输出。输出。 RRRRP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7LED0LED1LED3LED2RRRRMCS-51单片机+5V K1K2K3K4INT1外部中断请求脉冲第五章-15程序清单程序清单: ORG 0000H ;主程序;主程序 SJMP MAIN ORG 0013H AJMP INT1 ;转入服务程序;转入服务程序 ORG 0030H MAIN: SETB
22、 IT1 ;设;设INT1为边沿触发为边沿触发 SETB ET1 ;允许;允许INT1中断中断 SETB EA ;开放总允许;开放总允许 SJMP $ INT1: ORL P1, #0F0H ;中断服务程序:;中断服务程序: MOV A, P1 ;从;从P1口输入开关状态口输入开关状态 SWAP A ;交换高、低;交换高、低4位位 MOV P1,A ;输出;输出 RETI END 第五章-16例例5-2:当外部中断源多于两个时,可采取硬件申请与软件查询相结合的方:当外部中断源多于两个时,可采取硬件申请与软件查询相结合的方法,利用一个外部中断源输入端扩展外部多个中断源服务。如图所示。法,利用一个
23、外部中断源输入端扩展外部多个中断源服务。如图所示。 把多个中断源通过把多个中断源通过“线或线或”或或与与非门引到外部中断源输入端(非门引到外部中断源输入端(INT0或或INT1),同时又把信息连到某),同时又把信息连到某I/O口,便于软件进一步逐个查询。口,便于软件进一步逐个查询。&0号中断源1号中断源2号中断源3号中断源P1.0P1.1P1.2P1.3INT080C51第五章-17 ORG 0000H ;主程序;主程序 SJMP MAIN ORG 0003H AJMP ZINT0 ;转入服务程序;转入服务程序 ORG 0100H MAIN : ZINT0: PUSH PSW ;中断服
24、务程序;中断服务程序 PUSH ACC JNB P1.0,ZLOOP0 ;查询中断源;查询中断源 NEXT1: JNB P1.1,ZLOOP1 NEXT2: JNB P1.2,ZLOOP2 NEXT3: JNB P1.3,ZLOOP3 LJMP NEXTZLOOP0: ;0号中断源服务程序段号中断源服务程序段 LJMP NEXT1ZLOOP1: ;1号中断源服务程序段号中断源服务程序段 LJMP NEXT2 NEXT:RETI第五章-18 MCS-51系列单片机内有两个可编程的系列单片机内有两个可编程的16位定时器计数器位定时器计数器T0和和T1;它可由用户程序选择其工作方式,设定其工它可由用
25、户程序选择其工作方式,设定其工作参数和条件。作参数和条件。5.1 MCS-515.1 MCS-51的定时器的定时器/ /计数器计数器第五章-19一、一、 定时器定时器/ /计数器的结构与工作原理计数器的结构与工作原理1. 1. 定时定时器器/ /计数器的内部结构计数器的内部结构TH1TL1TH0TL0TCONTMOD内部总线溢出启动启动工作方式工作方式44T1T0CUPTM中断请求TH1TL1TH0TL0TCONTMOD内部总线溢出启动启动工作方式工作方式44T1T0CUPTM中断请求TH1TL1TH0TL0TCONTMOD内部总线溢出启动启动工作方式工作方式44T1T0CPUTM中断请求溢出
26、 定时器定时器/计数器计数器的核心部件是加的核心部件是加1 1计数器,其输入的计数脉冲有两个来源。计数器,其输入的计数脉冲有两个来源。当加到计数器为全当加到计数器为全“1”1”时,再输入一个脉冲,就使计数器回零,同时产生时,再输入一个脉冲,就使计数器回零,同时产生溢出脉冲使溢出脉冲使TCONTCON中溢出中断标志中溢出中断标志TF0TF0或或TF1TF1置置1 1,并可向,并可向CPUCPU申请中断。申请中断。中断fT引脚S1定时计数加1计数器TF控制TM12osc溢出 1 1)定时器工作方式。定时器工作方式。对机器周期对机器周期TM计数,这时计数器的计数脉冲由振计数,这时计数器的计数脉冲由振
27、荡器的荡器的1212分频信号产生,即每经过一个机器周期,计数值加分频信号产生,即每经过一个机器周期,计数值加1 1,直至计满溢,直至计满溢出。出。在机器周期固定的情况下,定时时间的长短与计数器事先装入的初值有在机器周期固定的情况下,定时时间的长短与计数器事先装入的初值有关,关,装入的初值越大,定时越短装入的初值越大,定时越短。 2 2)计数器工作方式。计数器工作方式。通过引脚通过引脚T0(P3.4)和和T1(P3.5)对外部脉冲信号计数。对外部脉冲信号计数。当当T0T0或或T1T1脚上输脚上输入入的脉冲信号出现由的脉冲信号出现由1 1到到0 0的负跳变时,计数器值加的负跳变时,计数器值加1 1
28、。2.2.定时器定时器/ /计数器的工作原理计数器的工作原理第五章-20 单片机内部的定时单片机内部的定时/计数器是一种可编程器件,主要包括两对计数器是一种可编程器件,主要包括两对8位的位的寄存器(寄存器(TH0、TL0和和TH1、TL1),), 方式寄存器方式寄存器TMOD和控制寄存器和控制寄存器TCON。 TH0、TL0用于存放用于存放T0的计数初值和经过值;的计数初值和经过值; TH1、TL1用于用于存放存放T1的计数初值和经过值;的计数初值和经过值; TMOD用于设置用于设置T0和和T1的工作方式;的工作方式; TCON用于控制用于控制T0和和T1的运行;的运行;P3.4和和P3.5引
29、脚用于输入在计数方式下引脚用于输入在计数方式下的外部计数脉冲信号。的外部计数脉冲信号。 应用问题应用问题: 1. 定时器定时器/计数器工作方式如何设定?计数器工作方式如何设定? 2. 定时器定时器/计数器如何启动?计数器如何启动? 3. 定时器定时器/计数器的初值如何设定?计数器的初值如何设定?第五章-21二、二、 定时器定时器/ /计数器的控制与工作方式计数器的控制与工作方式1.1.定时器定时器/计数器计数器的控制的控制 1 1)定时器方式寄存器)定时器方式寄存器TMOD (89H) 用于选定定时用于选定定时/计数器的工作方式、启动方式等。计数器的工作方式、启动方式等。00方式001方式11
30、0方式211方式3TMOD(89H)D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0控 制 T1控 制 T00 定时器模式1 计数器模式0 与INT0无关1 与INT0有关与T0同第五章-22 (1 1)用于设置定时)用于设置定时/ /计数器的工作方式计数器的工作方式(03); M1 M0(2 2)选择定时)选择定时/ /计数计数C/T ; C/T=0-定时,定时,C/T=1-计数计数(3 3)启动控制方式选择)启动控制方式选择-内内/ /外;外; GATE:门控位,用以决定是软件还是硬件启动门控位,用以决定是软件还是硬件启动/ /停止计数停止计数 GATE0 -
31、- 允许软件位允许软件位TR0或或TR1启动;启动; GATE1 - - 允许外部引脚信号允许外部引脚信号INT0/INT1控制启动控制启动/ /停止。在停止。在 TR0/TR1为为1的情况下,若的情况下,若INT0/INT1为高电平,启动定时器计为高电平,启动定时器计 数;为低电平时停止计数。数;为低电平时停止计数。第五章-23例如:设定时器例如:设定时器T0工作于方式工作于方式1 1定时,由软件启动控制,则可用如下指定时,由软件启动控制,则可用如下指令来装入控制字。令来装入控制字。 MOV TMOD,#00000001B;或或 MOV TMOD,#01H;2)定时器控制寄存器)定时器控制寄
32、存器TCON (88H)注意:复位后注意:复位后TMOD、TCON各位均清零。各位均清零。例:启动例:启动T0工作,用工作,用指令指令 SETB TR0第五章-248FH8EH8DH8CH8BH8AH89H88HD7D6D5D4D3D2D1D0IT0IE0IT1IE1TR0TF0TR1TF1位地址TCON(1) TF1 定时器定时器T1溢出标志溢出标志(2) TR1 定时器定时器T1运行控制位运行控制位(3) TF0 定时器定时器T0溢出标志溢出标志(4) TR0 定时器定时器T0运行控制位运行控制位(5) IE1 外部中断外部中断1请求标志请求标志(6) IT1 外部中断外部中断1触发方式选
33、择位触发方式选择位(7) IE0 外部中断外部中断0请求标志请求标志(8) IT0 外部中断外部中断0触发方式选择位。触发方式选择位。 通过控制通过控制TMOD中的中的M1,M0两位选择定时器两位选择定时器4种工作方式。种工作方式。这这4 4种工作种工作方式的实质是对方式的实质是对T0(或(或T1)的两个)的两个8位计数器位计数器TH0、TL0(或(或TH1、TL1)的的计数操作方式而言计数操作方式而言。方式方式0下的逻辑结构图下的逻辑结构图第五章-252.2.定时器定时器/ /计数器的工作方式计数器的工作方式1) 1) 方式方式0 0TL低低5位和位和TH的的8位位组成组成13位,高位,高8
34、位溢位溢出置位出置位TF定时器启、停控制定时器启、停控制(1 1)C/T=1为计数工作方式,计数脉冲由为计数工作方式,计数脉冲由T0引脚输入。引脚输入。计数个计数个数数 N = ( 2 21313初值初值X X)(2 2)C/T=0为定时工作方式,计数脉冲频率为时钟频率为定时工作方式,计数脉冲频率为时钟频率fosc/12。 定时时间定时时间t t = (2 21313初值初值X X)* *机器周期机器周期 X X = 2 213 13 定时时间定时时间t/t/机器周期机器周期方式方式0下工作时:下工作时:思考:思考:(1)最大计数或定时时的初值)最大计数或定时时的初值 X 是多少?是多少?(2
35、)时钟频率为)时钟频率为12MHZ时,方式时,方式0最大定时时间是多少?最大定时时间是多少?第五章-262) 2) 方式方式1 1 定时定时/ /计数器工作于方式计数器工作于方式1 1时为一个时为一个1616位的计数器。其逻辑结构、操位的计数器。其逻辑结构、操作及运行控制几乎与方式作及运行控制几乎与方式0 0完全完全样,差别仅在于计数器的位数不同。样,差别仅在于计数器的位数不同。定时工作方式定时工作方式1时,定时时间为:时,定时时间为: t =(216计数初值计数初值X)机器周期机器周期 X = 216 定时时间定时时间t/机器周期机器周期用于计数器工作方式时,计数个数用于计数器工作方式时,计
36、数个数 N = ( 216初值初值X)第五章-273) 3) 方式方式2 2 定时器定时器/ /计数器工作于方式计数器工作于方式2 2时,将两个时,将两个8 8位计数器位计数器THxTHx、TLxTLx分成独立的分成独立的两部分,组成一个两部分,组成一个可自动重装载可自动重装载的的8 8位定时位定时/ /计数器。其逻辑结构如图所示。计数器。其逻辑结构如图所示。 方式方式2 2的控制运行与方式的控制运行与方式0 0、方式、方式1 1相同。相同。 用于定时工作方式时,定时时间用于定时工作方式时,定时时间t t为:为:t t(2(28 8计数初值计数初值X)X)机器周期机器周期 用于计数工作方式时,
37、最大计数值用于计数工作方式时,最大计数值( (初值初值0 0时时) )是是2 28 8。方式。方式2 2特别适合于特别适合于用作较精确的定时和脉冲信号发生器。用作较精确的定时和脉冲信号发生器。还常用作串行口波特率发生器还常用作串行口波特率发生器 。第五章-284) 4) 方式方式3 3 方式方式3 3只适用于定时器只适用于定时器T0T0。在方式。在方式3 3下,下,T0T0被分成两个相互独立的被分成两个相互独立的8 8位位计数器计数器TL0TL0和和TH0TH0。第五章-29 1)TH0和和TL0变成变成2个分开的计数器。个分开的计数器。 2)TL0占用了占用了T0全部的定时器控制位,可以工作
38、于定时全部的定时器控制位,可以工作于定时/ 计数模式。计数模式。 (C/T, GATE, TR0, TF0) 3)TH0只能用于定时方式,运行控制位和溢出标志位则只能用于定时方式,运行控制位和溢出标志位则 借用借用T1的的TR1和和TF1。 4)在)在T0设置为方式设置为方式3工作时,一般是将定时器工作时,一般是将定时器T1工作于工作于 方式方式2,作为串行口波特率发生器,或用于不需要中,作为串行口波特率发生器,或用于不需要中 断的场合。断的场合。T0T0工作于方式工作于方式3 3时:时:第五章-30三、定时器三、定时器/ /计数器计数初始化计数器计数初始化1. 1. 定时定时器器/ /计数器
39、的初始化方法计数器的初始化方法 初始化的主要是对初始化的主要是对TCON和和TMOD编程,计算和装载编程,计算和装载T0T0和和T1T1的计数的计数初值。初值。1 1)初始化步骤)初始化步骤(1) (1) 分析定时器分析定时器/计数器的工作方式,将方式字写入计数器的工作方式,将方式字写入TMODTMOD寄存器;寄存器; ( 定定/ /计、内计、内/ /外启动、工作方式)外启动、工作方式)(2) (2) 计算计算T0T0或或T1T1中的计数初值,并将其写入中的计数初值,并将其写入TH0TH0、TL0TL0或或TH1TH1、TL1TL1;(3) (3) 根据需要开放根据需要开放CPUCPU和定时器
40、和定时器/计数器的中断,即对计数器的中断,即对IEIE和和IPIP寄存器编程;寄存器编程;(4) (4) 启动定时器启动定时器/计数器工作:若要求用软件启动,编程时对计数器工作:若要求用软件启动,编程时对TR0或或TR1置置位即可启动;若由外部中断引脚电平启动,则对位即可启动;若由外部中断引脚电平启动,则对TR0或或TR1置位后,还需置位后,还需给外引脚提供启动电平。给外引脚提供启动电平。第五章-31(1) 计数器模式时的计数初值计数器模式时的计数初值 X2MN (M为计数器位数,为计数器位数,N为要求的计数值)为要求的计数值) X0,计数器的计数值最大计数器的计数值最大 2 2M(2) 定时
41、器模式时的定时初值定时器模式时的定时初值 定时时间为:定时时间为:t(2M计数初值计数初值X ) )机器周期机器周期 定时初值定时初值 X 2M (t/12*Tosc )= 2M (t *fosc/12)2 2)计数器初值的计算)计数器初值的计算2 213 13 8192 8192 (方式(方式0 0)2 216 16 65536 65536 (方式(方式1 1)2 28 8 256256(方式(方式2 2及方式及方式3 3 )第五章-32 若系统时钟频率若系统时钟频率 fOSC12MHz,1 1机器周期机器周期1s; 方式方式0 0:M1313, tmax 2 21313* *机器周期机器周
42、期81928192s s 方式方式1 1:M1616, tmax2 21616* *机器周期机器周期6553665536s s 方式方式2 2: M8 8, tmax2 28 8* *机器周期机器周期256256s s (方式(方式3 3同)同)1201. 06000000216X = = 605360EC78H X0,定时器的定时时间最大:定时器的定时时间最大: tmax 2M机器周期机器周期例如:若例如:若fOSC6MHz,定时时间为,定时时间为10ms,使用定时器,使用定时器T0工作于方式工作于方式1 ,则初则初值:值:第五章-33编写编写初始化程序的步骤;初始化程序的步骤; 1)方式控
43、制字送)方式控制字送TMOD MOV TMOD,#2)计数器的初值送)计数器的初值送TH、TL(0/1) MOV TH0,# MOV TL0,#3)根据需要开放中断和设定优先级根据需要开放中断和设定优先级 即对即对IE和和IP赋初值赋初值( (可位寻址)可位寻址) 4) 4) 启动启动T0/T1开始工作开始工作-置位置位TR0/1 SETB TR0/15)等待溢出信号的出现(如何进入处理程序?)等待溢出信号的出现(如何进入处理程序?) (查询法或中断法)(查询法或中断法)2.2.定时定时/ /计数器初始化举例计数器初始化举例第五章-34例例5 5-3:3:要求定时器要求定时器T1T1于方式于方
44、式1 1,定时,定时50ms50ms,由软件启动,允许中断。设,由软件启动,允许中断。设系统时钟频率系统时钟频率f fOSCOSC6MHz,编写初始化程序段。,编写初始化程序段。解:解:1 1)方式控制字为)方式控制字为 00010000B=10H 2 2)计数初值为)计数初值为 X1X163166 1050 10240536D9E58H12T1T1初始化程序段如下:初始化程序段如下: MOVTMOD,#10H;写入工作方式控制字;写入工作方式控制字 MOVTH1,#9EH;写入计数初值;写入计数初值 MOVTL1,#58H SETBET1;开放;开放T1中断中断 SETBEA;开放;开放CP
45、U中断中断 SETBTR1;启动;启动T1工作工作 第五章-35例例5 5-4: 4: 利用利用定时器定时器T0产生产生1ms定时,并使定时,并使P1.0引脚输出周期为引脚输出周期为2ms的方的方波信号,已知晶振频率为波信号,已知晶振频率为6MHz,用查询法编写程序。,用查询法编写程序。解:解:(1)(1)按题意分析:方波周期按题意分析:方波周期T=2ms,可用可用T0T0方式方式0 0定时定时1ms1ms,使,使P1.0P1.0每隔每隔1ms1ms取反一次,即可得到周期为取反一次,即可得到周期为2ms2ms的方波。设的方波。设T0T0工作在方式工作在方式0 0,由,由软件启动。软件启动。 (
46、2)(2)TMOD控制字为控制字为 0000 0000 B (3) (3)初值计算:初值计算:fosc=6MHz,机器周期为机器周期为2 2s s。 初值初值213-110-3/210-6=8192-500=7692=1111000001100B 即有即有TH0=0F0H(高(高8位),位),TL0=0CH(低(低5位)。位)。第五章-36四、定时器四、定时器/ /计数计数器器应用举例应用举例程序如下:程序如下: ORG 2000HSTAR:MOV TMOD,#00H ;写入工作方式字写入工作方式字 MOV TH0, #0F0H ;写入计数初值写入计数初值 MOV TL0, #0CH SETB TR0 ;启动启动T0LOO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司骗我签外包合同
- 出纳外包合同
- 加工厂外包合同
- 医院卫生外包合同
- 单位劳务外包合同
- 后厨洗碗外包合同
- 商务流程外包合同
- 图书管理外包合同
- 大厅卫生外包合同
- 奥克斯外包合同
- GB/T 29468-2024洁净室及相关受控环境围护结构夹芯板
- 2024年湖南省高考化学试卷真题(含答案解析)
- 七年级下册数学课件:平行线中的拐点问题
- 2024新能源光伏场站电力监控系统安全防护总体方案
- 广东工业大学线性代数试卷A卷1
- 2023年中冶赛迪研发中心招聘笔试参考题库附带答案详解
- 小儿推拿常用手法及穴位
- GB/T 14782-2010平地机技术条件
- 物理因子治疗技术题库
- 房地产中介企业交易房款监管账户及账号申报表
- T∕ZZB 2753-2022 家用及类似用途设备用塑料集成水路板
评论
0/150
提交评论