版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、定时器定时器/计数器及其运用计数器及其运用 定时器定时器/计数器及其运用计数器及其运用n定时器定时器/计数器的运用场所计数器的运用场所: n定时或延时控制、对外部事件的检测、定时或延时控制、对外部事件的检测、计数等;计数等;nMCS-51系列系列8031、8051单片机有两个单片机有两个16位定时器位定时器/计数器即计数器即T0和和T1;n8032、8052单片机有单片机有3个个16位定时器位定时器/计计数器即数器即T0、 T1和和T2;定时器定时器/计数器及其运用计数器及其运用n所谓计数器就是对外部输入脉冲的计数;所谓计数器就是对外部输入脉冲的计数;n所谓定时器也是对脉冲进展计数完成的,计数
2、的是所谓定时器也是对脉冲进展计数完成的,计数的是51单片机内部产生的规范脉冲,经过计数脉冲个数实现定时。单片机内部产生的规范脉冲,经过计数脉冲个数实现定时。n所以,定时器和计数器本质上是一致的,在以后的表达中将定时器所以,定时器和计数器本质上是一致的,在以后的表达中将定时器/计数器笼统称为定时器。计数器笼统称为定时器。定时器定时器/计数器及其运用计数器及其运用定时器的构造及任务原理定时器的构造及任务原理定时器的构造及任务原理定时器的构造及任务原理n组成:两个组成:两个16位的定时器位的定时器T0和和T1,以及他们的任务方式存放器,以及他们的任务方式存放器TMOD和控制存放器和控制存放器TCON
3、等组成。内部经过总线与等组成。内部经过总线与CPU相连。相连。n定时器定时器T0和和T1各由两个各由两个8位特殊功能存放器位特殊功能存放器TH0、TL0、TH1、TL1构成。构成。n任务方式存放器任务方式存放器TMOD:用于设置定时器的任务方式和任务方式;:用于设置定时器的任务方式和任务方式;n控制存放器控制存放器TCON:用于启动和停顿定时器的计数,并控制定时器:用于启动和停顿定时器的计数,并控制定时器的形状;的形状;n单片机复位时,两个存放器的一切位都被清单片机复位时,两个存放器的一切位都被清0。8051定时器定时器内部构造框图内部构造框图定时器的构造及任务原理定时器的构造及任务原理n两个
4、可编程的定时器两个可编程的定时器/计数器计数器T1、T0。n每个定时器内部构造实践上就是一个可编程的加法计数器,每个定时器内部构造实践上就是一个可编程的加法计数器,由编程来设置它任务在定时形状还是计数形状。由编程来设置它任务在定时形状还是计数形状。n两种任务方式两种任务方式: n(1) 计数器任务方式计数器任务方式n就是对外部事件进展计数。计数脉冲来自相应的外部输入就是对外部事件进展计数。计数脉冲来自相应的外部输入引脚引脚T0P3.4)或或T1(P3.5)。当输入信号发生由。当输入信号发生由1至至0的负跳的负跳变变(下降沿下降沿)时,计数器时,计数器TH0,TL0或或TH1,TL1的值增的值增
5、1。n(2) 定时器任务方式定时器任务方式n也是经过计数实现的。计数脉冲来自内部时钟脉冲,每个也是经过计数实现的。计数脉冲来自内部时钟脉冲,每个机器周期计数值增机器周期计数值增1,每个机器周期,每个机器周期=12个振荡周期,因此个振荡周期,因此计数频率为振荡频率的计数频率为振荡频率的1/12。所以定时时间。所以定时时间=计数值机器计数值机器周期。周期。定时器的构造及任务原理定时器的构造及任务原理n当控制信号当控制信号 定时器任务在定时方式;加定时器任务在定时方式;加1计数器对脉冲计数器对脉冲f进展计数,每来一个脉冲,计数器加进展计数,每来一个脉冲,计数器加1,直到计时器计满溢出;,直到计时器计
6、满溢出; 由于由于 ,即一个计数脉冲的周期就是一个机器周期;计数,即一个计数脉冲的周期就是一个机器周期;计数器计数的是机器周期脉冲个数。从而实现定时。器计数的是机器周期脉冲个数。从而实现定时。n当控制信号当控制信号 定时器任务在计数方式;加定时器任务在计数方式;加1计数器对来自输计数器对来自输入引脚入引脚T0(P3.4)和和T1(P3.5)的外信号脉冲进展计数,每来一个的外信号脉冲进展计数,每来一个脉冲,计数器加脉冲,计数器加1,直到计时器计满溢出;,直到计时器计满溢出;C/T=0Tx THxTFxTLxTRxINTx定时定时计数计数0f0/12ff 控制信号控制信号K K“1 1启动,计数器
7、运转;启动,计数器运转;“0 0停顿,计数器停顿;停顿,计数器停顿;定时器定时器/ /计数器原理框图计数器原理框图加加1 1计数器计数器0/12ff1C/T=n控制信号K可以控制计数器的“启动和“停顿, TCON88HK = TRx(INTx+GATE)P1 P2S1振荡周期振荡周期时钟周期时钟周期机器周期机器周期机器周期机器周期指令周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2 振荡周期、时钟周期、机器周期和指令周期振荡周期、时钟周期、机器周期和指令周期 定时器的构造及任务原
8、理定时器的构造及任务原理n在每个机器周期的在每个机器周期的S5P2S5P2期间采样检测引脚输入电平。期间采样检测引脚输入电平。n假设前一个机器周期采样值为假设前一个机器周期采样值为“1 1,后一个机器周期采样,后一个机器周期采样值为值为“0 0,那么计数器加,那么计数器加1 1。n新的计数值在检测到输入引脚电平发生新的计数值在检测到输入引脚电平发生“1 1到到“0 0的负的负跳变下降沿后,于下一个机器周期的跳变下降沿后,于下一个机器周期的S3P1S3P1期间装入计期间装入计数器中。数器中。n由于由于CPUCPU需求两个机器周期来识别一个需求两个机器周期来识别一个“1 1到到“0 0的跳变的跳变
9、信号,所以最高的计数频率为振荡周期的信号,所以最高的计数频率为振荡周期的1/241/24。P1 P2S1振荡周期振荡周期形状周期形状周期机器周期机器周期机器周期机器周期指令周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2定时器的构造及任务原理定时器的构造及任务原理n定时定时/ /计数器对输入信号的要求计数器对输入信号的要求n外部计数脉冲的最高频率为系统振荡器频率的外部计数脉冲的最高频率为系统振荡器频率的1/241/24,例,例如选用如选用12MHz12MHz频率的晶体,那么可输入
10、频率的晶体,那么可输入500KHz500KHz的外部脉冲。的外部脉冲。n输入信号的高、低电平至少要分别坚持一个机器周期。输入信号的高、低电平至少要分别坚持一个机器周期。n如下图,图中如下图,图中TcyTcy为机器周期。为机器周期。n可编程定时器的任务方式、启动、停顿、溢出标可编程定时器的任务方式、启动、停顿、溢出标志、计数器等都是可编程的志、计数器等都是可编程的经过设置存放器经过设置存放器TMOD,TCON,TH0,TL0,TH1和和TL1 实现。实现。n当设置了定时器的任务方式并启动定时器任务后,当设置了定时器的任务方式并启动定时器任务后,定时器就按被设定好的任务方式独立任务,不再定时器就按
11、被设定好的任务方式独立任务,不再占用占用CPU,只需在计数器计满溢出时才向,只需在计数器计满溢出时才向CPU恳恳求中断,占用求中断,占用CPU。n由此可见,定时器是单片机中任务效率高且运用由此可见,定时器是单片机中任务效率高且运用灵敏的部件。灵敏的部件。定时器的构造及任务原理定时器的构造及任务原理定时器定时器/计数器及其运用计数器及其运用定时器的定时器的TMOD和和TCON存放器存放器定时器的定时器的TMOD和和TCON存放器存放器n8051单片机定时器主要有几个特殊功能存放器组单片机定时器主要有几个特殊功能存放器组成:成:TMOD,TCON,TH0,TL0,TH1,TL1。nTMOD:设置定
12、时器的任务方式;:设置定时器的任务方式;nTCON:控制定时器的启动和停顿;:控制定时器的启动和停顿;nTH0和和TL0 :存放定时器:存放定时器T0的初值或计数结果;的初值或计数结果; TH0存放高存放高8位,位,TL0 存放低存放低8位;位;nTH1和和TL1 :存放定时器:存放定时器T1的初值或计数结果;的初值或计数结果; TH1存放高存放高8位,位,TL1 存放低存放低8位;位;任务方式控制存放器任务方式控制存放器TMOD8位分为两组,高位分为两组,高4位控制位控制T1,低,低4位控制位控制T0。(1) GATE 门控位门控位 0: 以以TRX (X=0,1) 来启动定时器来启动定时器
13、/计数器运转。计数器运转。1: 用外中断引脚用外中断引脚 (INT0*或或INT1*) 上的高电平和上的高电平和TRX来启来启动定时器动定时器/计数器运转。计数器运转。(2) M1、M0 任务方式选择位任务方式选择位 M1 M0 工工 作作 方方 式式 0 0 方式方式0,13位定时器位定时器/计数器。计数器。 0 1 方式方式1,16位定时器位定时器/计数器。计数器。 1 0 方式方式2,8位常数自动重新装载位常数自动重新装载 1 1 方式方式3,仅适用于,仅适用于T0,T0分成两个分成两个8位计数器,位计数器,T1停顿计数。停顿计数。(3) C/T* 计数器方式和定时器方式选择位计数器方式
14、和定时器方式选择位0: 定时器方式。定时器方式。 1: 计数器方式。计数器方式。(4) TMOD无位地址,不能位寻址。无位地址,不能位寻址。(5) 复位时,复位时,TMOD一切位均为一切位均为“0。低低4位与外部中断有关,高位与外部中断有关,高4位的功能如下位的功能如下: (1) TF1、TF0 计数溢出标志位计数溢出标志位 定时器定时器T0或或T1计数溢出时,由硬件自动将此位置计数溢出时,由硬件自动将此位置“1;TFx可以由程序查询,也是定时中断的恳求源;可以由程序查询,也是定时中断的恳求源;(2) TR1、TR0 计数运转控制位计数运转控制位 TRx=1: 启动定时器启动定时器/计数器任务
15、计数器任务 TRx=0: 停顿定时器停顿定时器/计数器任务计数器任务 控制存放器控制存放器TCON定时定时/ /计数器的初始化计数器的初始化51单片机的定时器单片机的定时器/计数器是可编程的,但在进展定时或计计数器是可编程的,但在进展定时或计数之前要对程序进展初始化,详细步骤如下:数之前要对程序进展初始化,详细步骤如下:1对对TMOD赋值,以确定定时器的任务方式;赋值,以确定定时器的任务方式;2置定时置定时/计数器初值,直接将初值写入存放器的计数器初值,直接将初值写入存放器的TH0、TL0或或TH1、TL1;3根据需求,对根据需求,对IE置初值,开放定时器中断;置初值,开放定时器中断;4对对T
16、CON存放器中的存放器中的TR0或或TR1置位,启动定时置位,启动定时/计数计数器,置位以后,计数器即按规定的任务方式和初值进展计器,置位以后,计数器即按规定的任务方式和初值进展计数或开场定时。数或开场定时。定时定时/ /计数器的初始化计数器的初始化初值计算:初值计算: 设计数器的最大值为设计数器的最大值为M,那么置入的初值,那么置入的初值X为:为: 计数方式:计数方式:X=M-计数值计数值 定时方式:由定时方式:由(M-X)T=定时值定时值,得得X=M-定时值定时值/T T为计数周期,是单片机的机器周期。为计数周期,是单片机的机器周期。方式方式0: M为为213,方式,方式1: M为为216
17、,方式,方式2和和3: M为为28例如:机器周期为例如:机器周期为1s 1s 时,时, 假设任务在方式假设任务在方式0 0,那么最大定时值为,那么最大定时值为:213:2131s 1s =8.192ms=8.192ms 假设任务在方式假设任务在方式1,1,那么最大定时值为那么最大定时值为: : 216 2161s =65.536ms1s =65.536ms定时器定时器/计数器及其运用计数器及其运用定时器的任务方式定时器的任务方式n定时器定时器T0有有4种任务方式:种任务方式:n即:方式即:方式0,方式,方式1,方式,方式2,方式,方式3。n定时器定时器T1有有3种任务方式:种任务方式:n即:方
18、式即:方式0,方式,方式1,方式,方式2。定时器的任务方式定时器的任务方式方式方式0 M1、M0设置为设置为00 ,为,为13位计数器,以位计数器,以T1为例,其框图如下为例,其框图如下:定时器的任务方式定时器的任务方式方式方式0计数脉冲输入加1计数器定时器的任务方式定时器的任务方式方式方式0TH1 D12 D11 D10 D9 D8 D7 D6 D5TL1 D4 D3 D2 D1 D0n在这种方式下,在这种方式下,16位存放器位存放器TH1和和TL1只用只用13位,位,由由TH1的的8位和位和TL1的低的低5位组成。位组成。TL1的高的高3位不定。位不定。n当当TL1的低的低5位计数溢出时,
19、向位计数溢出时,向TH1进位。而进位。而TH1计计数溢出时,那么向中断标志位数溢出时,那么向中断标志位TF1进位即硬件将进位即硬件将TF1置置1,并恳求中断。,并恳求中断。n可经过查询可经过查询TF1能否置能否置“1或调查中断能否发生来或调查中断能否发生来断定定时器断定定时器T1的操作完成与否。的操作完成与否。定时器的任务方式定时器的任务方式方式方式0n当当C/T=0时,为定时任务方式,开关接到振荡器时,为定时任务方式,开关接到振荡器的的12分频器输出上,计数器对机器周期脉冲计数。分频器输出上,计数器对机器周期脉冲计数。其定时时间为:其定时时间为:n(213-初值初值)振荡周期振荡周期12n例
20、如:假设晶振频率为例如:假设晶振频率为12MHz,那么最长的,那么最长的定时时间为定时时间为(213-0)(1/12)12us=8.191msn当当C/T=1时,为计数任务方式,开关与外部引脚时,为计数任务方式,开关与外部引脚T1(P3.5)接通,计数器对来自外部引脚的输入脉接通,计数器对来自外部引脚的输入脉冲计数。当外部信号发生负跳变时计数器加冲计数。当外部信号发生负跳变时计数器加1。n定时器的任务方式定时器的任务方式方式方式0nGATE控制定时器控制定时器Tx(T1或或T0)的条件:的条件:n(1) 当当GATE=0时,时,“或门输出恒为或门输出恒为1,“与门的输与门的输出信号出信号K由由
21、TRx决议决议(即此时即此时K=TRx),定时器不受,定时器不受INTx输入电平的影响,由输入电平的影响,由TRx直接控制定时器的启动和停顿。直接控制定时器的启动和停顿。nTRx=1;计数启动;计数启动;nTRx=0;计数停顿;计数停顿;n(2) 当当GATE=1时,时, “与门的输出信号与门的输出信号K由由INTx输入输入电平和电平和TRx位的形状一同决议位的形状一同决议(即此时即此时K=TRxINTx),n当且仅当当且仅当TRx=1且且INTx=1(高电平高电平)时,计数启动;时,计数启动;n否那么,计数停顿。否那么,计数停顿。n前往前往方式方式1 M1、M0=01,为,为16位的计数器,
22、除位数外,其他与方式位的计数器,除位数外,其他与方式0一样。一样。其定时时间为:其定时时间为:(216-初值初值)振荡周期振荡周期12例如:假设晶振频率为例如:假设晶振频率为12MHz,那么最长的定时时间为,那么最长的定时时间为(216-0)(1/12)12us=65.536ms定时器的任务方式定时器的任务方式方式方式1方式方式2 M1、M0=10 ,为自动恢复初值的,为自动恢复初值的8位计数器,位计数器,等效框图如下等效框图如下: TLx作为作为8位计数器,位计数器,THx作为重作为重置初值的缓冲器。置初值的缓冲器。 定时器的任务方式定时器的任务方式方式方式2THx作为常数缓冲器,当作为常数
23、缓冲器,当TLx计数溢出时,在置计数溢出时,在置“1溢出标志溢出标志TFx的同时,还自动的将的同时,还自动的将THx中的初值送至中的初值送至TLx,使,使TLx从初值开从初值开场重新计数。定时器场重新计数。定时器/计数器的方式计数器的方式2任务过程如图任务过程如图 (x=0, 1) 。n优点:优点:n方式方式0 0和方式和方式1 1用于循环反复定时或用于循环反复定时或计数时,在每次计数器挤满溢出后,计计数时,在每次计数器挤满溢出后,计数器复数器复0 0。假设要进展新一轮的计数,。假设要进展新一轮的计数,就得重新装入计数初值。这样一来不仅就得重新装入计数初值。这样一来不仅呵斥编程费事,而且影响定
24、时精度。而呵斥编程费事,而且影响定时精度。而方式方式2 2具有初值自动装入的功能,防止具有初值自动装入的功能,防止了这个缺陷,可实现准确的定时。了这个缺陷,可实现准确的定时。n缺陷:缺陷:n只需只需8 8位计数器,定时时间短、计位计数器,定时时间短、计数范围小。其定时时间为:数范围小。其定时时间为:n (28- (28-初值初值) )振荡周期振荡周期1212n假设晶振频率为假设晶振频率为12MHz12MHz,那么最长的定,那么最长的定时时间为时时间为n(28-0)(28-0)(1/12)(1/12)12us=0.256ms12us=0.256ms定时器的任务方式定时器的任务方式方式方式2方式方
25、式2任务过程图任务过程图 (x=0, 1) 。定时器定时器/计数器及其运用计数器及其运用定时器的编程和运用定时器的编程和运用定时器的编程和运用定时器的编程和运用n编程阐明编程阐明n51单片机的定时器是可编程的,但在进展定时或计数之前要对程序进单片机的定时器是可编程的,但在进展定时或计数之前要对程序进展初始化,详细步骤如下:展初始化,详细步骤如下:n1确定任务方式字:对确定任务方式字:对TMOD存放器正确赋值;存放器正确赋值;n2确定定时初值:计算初值,直接将初值写入存放器的确定定时初值:计算初值,直接将初值写入存放器的TH0、TL0或或TH1、TL1;n初值计算:初值计算: 设计数器的最大值为
26、设计数器的最大值为M,那么置入的初值,那么置入的初值X为:为:n 计数方式:计数方式:X=M-计数值计数值n 定时方式:由定时方式:由(M-X)T=定时值定时值,得得X=M-定时值定时值/Tn T为计数周期,是单片机的机器周期。为计数周期,是单片机的机器周期。n方式方式0 M为为213,方式,方式1 M为为216,方式,方式2和和3 M为为28n3根据需求,对根据需求,对IE置初值,开放定时器中断;置初值,开放定时器中断;n4启动定时启动定时/计数器,对计数器,对TCON存放器中的存放器中的TR0或或TR1置位,置位置位,置位以后,计数器即按规定的任务方式和初值进展计数或开场定时。以后,计数器
27、即按规定的任务方式和初值进展计数或开场定时。定时器的编程和运用定时器的编程和运用例例1 要在要在P1.0上输出一个周期为上输出一个周期为2ms的方波,的方波,假设系统振荡频率采用假设系统振荡频率采用12MHz。 利用利用T0方式方式0产生产生1ms的定时的定时方波的周期用方波的周期用T0来确定,让来确定,让T0每隔每隔1ms计数计数溢出溢出1次,即次,即TF0=1;查询到;查询到TF0=1 那么那么CPU对对P1.0取反。取反。即要使即要使P1.0P1.0每隔每隔1ms1ms取反取反一次。一次。定时器的编程和运用定时器的编程和运用第一步:第一步: 确定任务方式字确定任务方式字 方式方式0 (1
28、3位位)最长可定时最长可定时 8.192ms; 方式方式1 (16位位)最长可定时最长可定时 65.536ms; 方式方式2 (8位位)最长可定时最长可定时 256s。T0为方式为方式0, M1M0=00 定时任务形状,定时任务形状, C/T=0GATE=0,不受,不受INT0控制,控制,T1不用全部取不用全部取“0值。值。故故TMOD=00H定时器的编程和运用定时器的编程和运用第二步:第二步: 计算计算1ms定时的初值定时的初值X 设初值为设初值为X,那么有,那么有: (213-X) 1210-6 1/12=110-3可求得:可求得:X=8192-1000=7192X化为化为16进制,进制,
29、即即X=1C18H=1,1100,000 1,1000B。所以,所以,T0的初值为的初值为: TH0=E0H TL0=18HTH0 1 1 1 0 0 0 0 0TL0 1 1 0 0 0例例2 将将例例1中的输出方波周期改为中的输出方波周期改为1秒。秒。 分析:分析: 周期为周期为1s的方波要求的方波要求500ms的定时。的定时。 (1) T0任务方式确实定任务方式确实定因定时时间较长,采用哪一种任务方式?由各种任因定时时间较长,采用哪一种任务方式?由各种任务方式的特性,可计算出务方式的特性,可计算出: 方式方式0 (13位位)最长可定时最长可定时 8.192ms; 方式方式1 (16位位)最长可定时最长可定时 65.536ms; 方式方式2 (8位位)最长可定时最长可定时 256s。 所以采用定时器定时加软件计数的方法来实现延伸定所以采用定时器定时加软件计数的方法来实现延伸定时。时。选方式选方式1,定时,定时50ms,软件计数,软件计数10次。次。50ms 10=500ms。 所以,所以,TMOD=01H定时器的编程和运用定时器的编程和运用以上各方式以上各方式都不满足要求都不满足要求 (2) 计算计数初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版游戏版权采购合同示范文本3篇
- 湘潭大学《体育基础》2023-2024学年第一学期期末试卷
- 2024年版经营权作抵押借款协议样例版B版
- 二零二五版户外广告资源代理合作框架协议3篇
- 2024消防设备研发与制造合同范本3篇
- 二零二五年度艺术品收藏交易合同3篇
- 2025年度智慧养老服务平台建设与运营合同3篇
- 桐城师范高等专科学校《表演基础》2023-2024学年第一学期期末试卷
- 二零二五版板房租赁合同含物业管理及保洁服务3篇
- 四川文轩职业学院《机械工程材料B》2023-2024学年第一学期期末试卷
- 上海纽约大学自主招生面试试题综合素质答案技巧
- 办公家具项目实施方案、供货方案
- 2022年物流服务师职业技能竞赛理论题库(含答案)
- 危化品安全操作规程
- 连锁遗传和遗传作图
- DB63∕T 1885-2020 青海省城镇老旧小区综合改造技术规程
- 高边坡施工危险源辨识及分析
- 中海地产设计管理程序
- 简谱视唱15942
- 《城镇燃气设施运行、维护和抢修安全技术规程》(CJJ51-2006)
- 项目付款审核流程(visio流程图)
评论
0/150
提交评论