51单片机定时器(考小题大题)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0001:: 计以数01TR器方 方X模式 式(X式01=,,。011,631位位)定定来时时启器器动//计计定数数时器器器。。/计数器运行。 11: 用0外中方式断2引,脚8位常(I数N自T动0*重或新I装N载T1*) 上的高电平和 T1RX来1启 动方定式3时,器仅/适计用数于器T0运,行。
T0分成两个8位计数器,T1停止计数。 16
编程说明
51单片机的定时器是可编程的,但在进行定时或计数之前要对程序进行 初始化,具体步骤如下:
(1)确定工作方式字:对TMOD寄存器正确赋值; (2)确定定时初值:计算初值,直接将初值写入寄存器的TH0、TL0或
TH1、TL1; 初值计算: 设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T
由此可见,定时器是单片机中工作效率高且应用 灵活的部件。
13
定时器/计数器及其应用
定时器的TMOD和TCON寄存器
14
定时器的TMOD和TCON寄存器
8051单片机定时器主要有几个特殊功能寄存器组 成: TMOD,TCON,TH0,TL0,TH1,TL1。
TMOD:设置定时器的工作方式; TCON:控制定时器的启动和停止; TH0和TL0 :存放定时器T0的初值或计数结果;
器,置位以后,计数器即按规定的工作模式和初值进行计 数或开始定时。
19
定时/计数器的初始化
初值计算: 设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T T为计数周期,是单片机的机器周期。
(模式0: M为213,模式1: M为216,模式2和3: M为28)
2. 输入信号的高、低电平至少要分别保持一个机器周期。 如图所示,图中Tcy为机器周期。
12
定时器的结构及工作原理
可编程定时器的工作方式、启动、停止、溢出标 志、计数器等都是可编程的——通过设置寄存器 TMOD,TCON,TH0,TL0,TH1和TL1 实现。
当设置了定时器的工作方式并启动定时器工作后, 定时器就按被设定好的工作方式独立工作,不再 占用CPU,只有在计数器计满溢出时才向CPU申 请中断,占用CPU。
缺点: 只有8位计数器,定时时间短、计数范 围小。其定时时间为: (28-初值)×振荡周期×12
若晶振频率为12MHz,则最长的定时时间为 (28-0)×(1/12)×12us=0.256ms
方式2工作过程图 (x=0, 1) 。
29
定时器/计数器及其应用
定时器的编程和应用
30
定时器的编程和应用
TH0存放高8位,TL0 存放低8位; TH1和TL1 :存放定时器T1的初值或计数结果;
TH1存放高8位,TL1 存放低8位;
15
工作方式控制寄存器TMOD
(423)8M位TC1M/分、TO*为MD—两无0计组位—数,地工器高址作模4,方位式不式控和能选制定位择T时寻1位,器址模低。式4位选控择制位T0。 ((15))M0G复1:A位定TM时E时0—,器T模门M式控O。位D工所作有位方均式为“0”。
即X=1C18H=1,1100,000 1,1000B。 所以,T0的初值为:
TH0
TL0
1 1 1 0 0 0 0 0 ××× 1 1 0 0 0
TH0=E0H TL0=18H
34
定时器的编程和应用
例2 将[例1]中的输出方波周期改为1秒。 分析: 周期为1s的方波要求500ms的定时。
(1) T0工作方式的确定
所谓计数器就是对外部输入脉冲的计数; 所谓定时器也是对脉冲进行计数完成的,计
数的是51单片机内部产生的标准脉冲,通 过计数脉冲个数实现定时。 所以,定时器和计数器本质上是一致的,在 以后的叙述中将定时器/计数器笼统称为定 时器。
3
定时器/计数器及其应用
4
定时器的结构及工作原理
5
Hale Waihona Puke Baidu
定时器的结构及工作原理
的状态;
单片机复位时,两个寄存器的所有位都被清0。
6
定时器的结构及工作原理
两个可编程的定时器/计数器T1、T0。 每个定时器内部结构实际上就是一个可编程的加法计数器,
由编程来设置它工作在定时状态还是计数状态。 两种工作模式:
(1) 计数器工作模式
就是对外部事件进行计数。计数脉冲来自相应的外部输 入引脚T0(P3.4)或T1(P3.5)。当输入信号发生由1至0 的负跳变(下降沿)时,计数器(TH0,TL0或TH1,TL1) 的值增1。 (2) 定时器工作模式
TFx
INTx
定时器/计数器原理框图
当控制信号 C/T = 0 定时器工作在定时方式;加1计数器对脉冲f
进行计数,每来一个脉冲,计数器加1,直到计时器计满溢出;
因器计为数f 的f是0 /机12器,周即期一脉个冲计个数数脉。冲从的而周实期现就定是时一。个机器周期;计数
当控制信号 C/T =1 定时器工作在计数方式;加1计数器对来自输
例如:机器周期为1μs 时, 若工作在模式0,则最大定时值为:213×1μs =8.192ms 若工作在模式1,则最大定时值为: 216×1μs =65.536ms
20
定时器/计数器及其应用
定时器的工作方式
21
定时器的工作方式 定时器T0有4种工作方式:
即:方式0,方式1,方式2,方式3。 定时器T1有3种工作方式:
当C/T=1时,为计数工作模式,开关与外部引脚 T1(P3.5)接通,计数器对来自外部引脚的输入脉 冲计数。当外部信号发生负跳变时计数器加1。
25
定时器的工作方式——方式0
GATE控制定时器Tx(T1或T0)的条件:
(1) 当GATE=0时,“或门”输出恒为1,“与门”的输 出信号K由TRx决定(即此时K=TRx),定时器不受INTx 输入电平的影响,由TRx直接控制定时器的启动和停止。 TRx=1;计数启动; TRx=0;计数停止;
定时器/计数器及其应用
定时器/计数器及其应用
定时器/计数器的应用场合: 定时或延时控制、对外部事件的检测、计数 等;
MCS-51系列8031、8051单片机有两个 16位定时器/计数器(即T0和T1);
8032、8052单片机有3个16位定时器/计 数器(即T0、 T1和T2);
2
定时器/计数器及其应用
当TL1的低5位计数溢出时,向TH1进位。而TH1计 数溢出时,则向中断标志位TF1进位(即硬件将TF1 置1),并请求中断。
可通过查询TF1是否置“1”或考察中断是否发生来 判定定时器T1的操作完成与否。
24
定时器的工作方式——方式0
当C/T=0时,为定时工作模式,开关接到振荡器 的12分频器输出上,计数器对机器周期脉冲计数。 其定时时间为: (213-初值)×振荡周期×12 例如:若晶振频率为12MHz,则最长的定时时间 为(213-0)×(1/12)×12us=8.191ms
利用T0方式0产生1ms的定时
即要使P1.0 每隔1ms取反 一次。
方波的周期用T0来确定,让T0每隔1ms计数溢出1 次,即TF0=1;查询到TF0=1 则CPU对P1.0取反。
32
定时器的编程和应用
第一步: 确定工作方式字
方式0 (13位)最长可定时 8.192ms; 方式1 (16位)最长可定时 65.536ms; 方式2 (8位)最长可定时 256s。
控制寄存器TCON
低4位与外部中断有关,高4位的功能如下: (1) TF1、TF0 —计数溢出标志位 定时器T0或T1计数溢出时,由硬件自动将此位置“1”; TFx可以由程序查询,也是定时中断的请求源; (2) TR1、TR0 —计数运行控制位 TRx=1: 启动定时器/计数器工作 TRx=0: 停止定时器/计数器工作
也是通过计数实现的。计数脉冲来自内部时钟脉冲,每 个机器周期计数值增1,每个机器周期=12个振荡周期, 因此计数频率为振荡频率的1/12。所以定时时间=计数 值×机器周期。
7
定时器的结构及工作原理
f0
f f0 /12
定时 计数
Tx
TRx
加1计数器
THx TLx
控制信号K “1”启动,计数器运行; “0”停止,计数器停止;
(2) 当GATE=1时, “与门”的输出信号K由INTx输入 电平和TRx位的状态一起决定(即此时K=TRx·INTx),
当且仅当TRx=1且INTx=1(高电平)时,计数启动; 否则,计数停止。
返回
26
定时器的工作方式——方式1
方式1
M1、M0=01,为16位的计数器,除位数外,其他与方式0相同。
T0为方式0, M1M0=00 定时工作状态, C/T=0 GATE=0,不受INT0控制, T1不用全部取“0”值。 故TMOD=00H
33
定时器的编程和应用
第二步: 计算1ms定时的初值X 设初值为X,则有: (213-X) ×12×10-6 ×1/12=1×10-3 可求得:X=8192-1000=7192 X化为16进制,
入引脚T0(P3.4)和T1(P3.5)的外信号脉冲进行计数,每来一个
脉冲,计数器加1,直到计时器计满溢出;
8
TCON(88H)
控制信号K可以控制计数器的“启动”和“停止”,
K = TRx(INTx + GATE)
9
10
11
定时器的结构及工作原理
定时/计数器对输入信号的要求
1. 外部计数脉冲的最高频率为系统振荡器频率的1/24,例如 选用12MHz频率的晶体,则可输入500KHz的外部脉冲。
T为计数周期,是单片机的机器周期。 (模式0 M为213,模式1 M为216,模式2和3 M为28)
(3)根据需要,对IE置初值,开放定时器中断; (4)启动定时/计数器,对TCON寄存器中的TR0或TR1置位,置位以
后,计数器即按规定的工作模式和初值进行计数或开始定时。
31
定时器的编程和应用
例1 要在P1.0上输出一个周期为2ms的方波, 假设系统振荡频率采用12MHz。
THx作为常数缓冲器,当TLx计数溢出时,在置“1”溢出标志 TFx的同时,还自动的将THx中的初值送至TLx,使TLx从初值开 始重新计数。定时器/计数器的方式2工作过程如图 (x=0, 1) 。
28
定时器的工作方式——方式2
优点: 方式0和方式1用于循环重复定时或计数 时,在每次计数器挤满溢出后,计数器 复0。若要进行新一轮的计数,就得重 新装入计数初值。这样一来不仅造成编 程麻烦,而且影响定时精度。而方式2 具有初值自动装入的功能,避免了这个 缺点,可实现精确的定时。
17
定时/计数器的初始化
51单片机的定时器/计数器是可编程的,但在进行定时或计 数之前要对程序进行初始化,具体步骤如下:
(1)对TMOD赋值,以确定定时器的工作模式; (2)置定时/计数器初值,直接将初值写入寄存器的TH0、
TL0或TH1、TL1; (3)根据需要,对IE置初值,开放定时器中断; (4)对TCON寄存器中的TR0或TR1置位,启动定时/计数
即:方式0,方式1,方式2。
22
定时器的工作方式——方式0
方式0
M1、M0设置为00 ,为13位计数器,以T1为例, 其框图如下:
计数脉 冲输入
加1计数器
23
定时器的工作方式——方式0
TH1
D12 D11 D10 D9 D8 D7 D6 D5
TL1
× × × D4 D3 D2 D1 D0
在这种方式下,16位寄存器TH1和TL1只用13位, 由TH1的8位和TL1的低5位组成。TL1的高3位不定。
其定时时间为: (216-初值)×振荡周期×12
例如:若晶振频率为12MHz,则最长的定时时间为 (216-0)×(1/12)×12us=65.536ms
27
定时器的工作方式——方式2
方式2
M1、M0=10 ,为自动恢复初值的8位计数器,等效框图如 下: TLx作为8位计数器,THx作为重置初值的缓冲器。
因定时时间较长,采用哪一种工作方式?由各种工作方
式的特性,可计算出:
8051
内 部 结定 构时 框器 图
组成:两个16位的定时器T0和T1,以及他们的工作方式寄存器 TMOD和控制寄存器TCON等组成。内部通过总线与CPU相连。
定时器T0和T1各由两个8位特殊功能寄存器TH0、TL0、TH1、 TL1构成。
工作方式寄存器TMOD:用于设置定时器的工作模式和工作方式; 控制寄存器TCON:用于启动和停止定时器的计数,并控制定时器
T0分成两个8位计数器,T1停止计数。 16
编程说明
51单片机的定时器是可编程的,但在进行定时或计数之前要对程序进行 初始化,具体步骤如下:
(1)确定工作方式字:对TMOD寄存器正确赋值; (2)确定定时初值:计算初值,直接将初值写入寄存器的TH0、TL0或
TH1、TL1; 初值计算: 设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T
由此可见,定时器是单片机中工作效率高且应用 灵活的部件。
13
定时器/计数器及其应用
定时器的TMOD和TCON寄存器
14
定时器的TMOD和TCON寄存器
8051单片机定时器主要有几个特殊功能寄存器组 成: TMOD,TCON,TH0,TL0,TH1,TL1。
TMOD:设置定时器的工作方式; TCON:控制定时器的启动和停止; TH0和TL0 :存放定时器T0的初值或计数结果;
器,置位以后,计数器即按规定的工作模式和初值进行计 数或开始定时。
19
定时/计数器的初始化
初值计算: 设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T T为计数周期,是单片机的机器周期。
(模式0: M为213,模式1: M为216,模式2和3: M为28)
2. 输入信号的高、低电平至少要分别保持一个机器周期。 如图所示,图中Tcy为机器周期。
12
定时器的结构及工作原理
可编程定时器的工作方式、启动、停止、溢出标 志、计数器等都是可编程的——通过设置寄存器 TMOD,TCON,TH0,TL0,TH1和TL1 实现。
当设置了定时器的工作方式并启动定时器工作后, 定时器就按被设定好的工作方式独立工作,不再 占用CPU,只有在计数器计满溢出时才向CPU申 请中断,占用CPU。
缺点: 只有8位计数器,定时时间短、计数范 围小。其定时时间为: (28-初值)×振荡周期×12
若晶振频率为12MHz,则最长的定时时间为 (28-0)×(1/12)×12us=0.256ms
方式2工作过程图 (x=0, 1) 。
29
定时器/计数器及其应用
定时器的编程和应用
30
定时器的编程和应用
TH0存放高8位,TL0 存放低8位; TH1和TL1 :存放定时器T1的初值或计数结果;
TH1存放高8位,TL1 存放低8位;
15
工作方式控制寄存器TMOD
(423)8M位TC1M/分、TO*为MD—两无0计组位—数,地工器高址作模4,方位式不式控和能选制定位择T时寻1位,器址模低。式4位选控择制位T0。 ((15))M0G复1:A位定TM时E时0—,器T模门M式控O。位D工所作有位方均式为“0”。
即X=1C18H=1,1100,000 1,1000B。 所以,T0的初值为:
TH0
TL0
1 1 1 0 0 0 0 0 ××× 1 1 0 0 0
TH0=E0H TL0=18H
34
定时器的编程和应用
例2 将[例1]中的输出方波周期改为1秒。 分析: 周期为1s的方波要求500ms的定时。
(1) T0工作方式的确定
所谓计数器就是对外部输入脉冲的计数; 所谓定时器也是对脉冲进行计数完成的,计
数的是51单片机内部产生的标准脉冲,通 过计数脉冲个数实现定时。 所以,定时器和计数器本质上是一致的,在 以后的叙述中将定时器/计数器笼统称为定 时器。
3
定时器/计数器及其应用
4
定时器的结构及工作原理
5
Hale Waihona Puke Baidu
定时器的结构及工作原理
的状态;
单片机复位时,两个寄存器的所有位都被清0。
6
定时器的结构及工作原理
两个可编程的定时器/计数器T1、T0。 每个定时器内部结构实际上就是一个可编程的加法计数器,
由编程来设置它工作在定时状态还是计数状态。 两种工作模式:
(1) 计数器工作模式
就是对外部事件进行计数。计数脉冲来自相应的外部输 入引脚T0(P3.4)或T1(P3.5)。当输入信号发生由1至0 的负跳变(下降沿)时,计数器(TH0,TL0或TH1,TL1) 的值增1。 (2) 定时器工作模式
TFx
INTx
定时器/计数器原理框图
当控制信号 C/T = 0 定时器工作在定时方式;加1计数器对脉冲f
进行计数,每来一个脉冲,计数器加1,直到计时器计满溢出;
因器计为数f 的f是0 /机12器,周即期一脉个冲计个数数脉。冲从的而周实期现就定是时一。个机器周期;计数
当控制信号 C/T =1 定时器工作在计数方式;加1计数器对来自输
例如:机器周期为1μs 时, 若工作在模式0,则最大定时值为:213×1μs =8.192ms 若工作在模式1,则最大定时值为: 216×1μs =65.536ms
20
定时器/计数器及其应用
定时器的工作方式
21
定时器的工作方式 定时器T0有4种工作方式:
即:方式0,方式1,方式2,方式3。 定时器T1有3种工作方式:
当C/T=1时,为计数工作模式,开关与外部引脚 T1(P3.5)接通,计数器对来自外部引脚的输入脉 冲计数。当外部信号发生负跳变时计数器加1。
25
定时器的工作方式——方式0
GATE控制定时器Tx(T1或T0)的条件:
(1) 当GATE=0时,“或门”输出恒为1,“与门”的输 出信号K由TRx决定(即此时K=TRx),定时器不受INTx 输入电平的影响,由TRx直接控制定时器的启动和停止。 TRx=1;计数启动; TRx=0;计数停止;
定时器/计数器及其应用
定时器/计数器及其应用
定时器/计数器的应用场合: 定时或延时控制、对外部事件的检测、计数 等;
MCS-51系列8031、8051单片机有两个 16位定时器/计数器(即T0和T1);
8032、8052单片机有3个16位定时器/计 数器(即T0、 T1和T2);
2
定时器/计数器及其应用
当TL1的低5位计数溢出时,向TH1进位。而TH1计 数溢出时,则向中断标志位TF1进位(即硬件将TF1 置1),并请求中断。
可通过查询TF1是否置“1”或考察中断是否发生来 判定定时器T1的操作完成与否。
24
定时器的工作方式——方式0
当C/T=0时,为定时工作模式,开关接到振荡器 的12分频器输出上,计数器对机器周期脉冲计数。 其定时时间为: (213-初值)×振荡周期×12 例如:若晶振频率为12MHz,则最长的定时时间 为(213-0)×(1/12)×12us=8.191ms
利用T0方式0产生1ms的定时
即要使P1.0 每隔1ms取反 一次。
方波的周期用T0来确定,让T0每隔1ms计数溢出1 次,即TF0=1;查询到TF0=1 则CPU对P1.0取反。
32
定时器的编程和应用
第一步: 确定工作方式字
方式0 (13位)最长可定时 8.192ms; 方式1 (16位)最长可定时 65.536ms; 方式2 (8位)最长可定时 256s。
控制寄存器TCON
低4位与外部中断有关,高4位的功能如下: (1) TF1、TF0 —计数溢出标志位 定时器T0或T1计数溢出时,由硬件自动将此位置“1”; TFx可以由程序查询,也是定时中断的请求源; (2) TR1、TR0 —计数运行控制位 TRx=1: 启动定时器/计数器工作 TRx=0: 停止定时器/计数器工作
也是通过计数实现的。计数脉冲来自内部时钟脉冲,每 个机器周期计数值增1,每个机器周期=12个振荡周期, 因此计数频率为振荡频率的1/12。所以定时时间=计数 值×机器周期。
7
定时器的结构及工作原理
f0
f f0 /12
定时 计数
Tx
TRx
加1计数器
THx TLx
控制信号K “1”启动,计数器运行; “0”停止,计数器停止;
(2) 当GATE=1时, “与门”的输出信号K由INTx输入 电平和TRx位的状态一起决定(即此时K=TRx·INTx),
当且仅当TRx=1且INTx=1(高电平)时,计数启动; 否则,计数停止。
返回
26
定时器的工作方式——方式1
方式1
M1、M0=01,为16位的计数器,除位数外,其他与方式0相同。
T0为方式0, M1M0=00 定时工作状态, C/T=0 GATE=0,不受INT0控制, T1不用全部取“0”值。 故TMOD=00H
33
定时器的编程和应用
第二步: 计算1ms定时的初值X 设初值为X,则有: (213-X) ×12×10-6 ×1/12=1×10-3 可求得:X=8192-1000=7192 X化为16进制,
入引脚T0(P3.4)和T1(P3.5)的外信号脉冲进行计数,每来一个
脉冲,计数器加1,直到计时器计满溢出;
8
TCON(88H)
控制信号K可以控制计数器的“启动”和“停止”,
K = TRx(INTx + GATE)
9
10
11
定时器的结构及工作原理
定时/计数器对输入信号的要求
1. 外部计数脉冲的最高频率为系统振荡器频率的1/24,例如 选用12MHz频率的晶体,则可输入500KHz的外部脉冲。
T为计数周期,是单片机的机器周期。 (模式0 M为213,模式1 M为216,模式2和3 M为28)
(3)根据需要,对IE置初值,开放定时器中断; (4)启动定时/计数器,对TCON寄存器中的TR0或TR1置位,置位以
后,计数器即按规定的工作模式和初值进行计数或开始定时。
31
定时器的编程和应用
例1 要在P1.0上输出一个周期为2ms的方波, 假设系统振荡频率采用12MHz。
THx作为常数缓冲器,当TLx计数溢出时,在置“1”溢出标志 TFx的同时,还自动的将THx中的初值送至TLx,使TLx从初值开 始重新计数。定时器/计数器的方式2工作过程如图 (x=0, 1) 。
28
定时器的工作方式——方式2
优点: 方式0和方式1用于循环重复定时或计数 时,在每次计数器挤满溢出后,计数器 复0。若要进行新一轮的计数,就得重 新装入计数初值。这样一来不仅造成编 程麻烦,而且影响定时精度。而方式2 具有初值自动装入的功能,避免了这个 缺点,可实现精确的定时。
17
定时/计数器的初始化
51单片机的定时器/计数器是可编程的,但在进行定时或计 数之前要对程序进行初始化,具体步骤如下:
(1)对TMOD赋值,以确定定时器的工作模式; (2)置定时/计数器初值,直接将初值写入寄存器的TH0、
TL0或TH1、TL1; (3)根据需要,对IE置初值,开放定时器中断; (4)对TCON寄存器中的TR0或TR1置位,启动定时/计数
即:方式0,方式1,方式2。
22
定时器的工作方式——方式0
方式0
M1、M0设置为00 ,为13位计数器,以T1为例, 其框图如下:
计数脉 冲输入
加1计数器
23
定时器的工作方式——方式0
TH1
D12 D11 D10 D9 D8 D7 D6 D5
TL1
× × × D4 D3 D2 D1 D0
在这种方式下,16位寄存器TH1和TL1只用13位, 由TH1的8位和TL1的低5位组成。TL1的高3位不定。
其定时时间为: (216-初值)×振荡周期×12
例如:若晶振频率为12MHz,则最长的定时时间为 (216-0)×(1/12)×12us=65.536ms
27
定时器的工作方式——方式2
方式2
M1、M0=10 ,为自动恢复初值的8位计数器,等效框图如 下: TLx作为8位计数器,THx作为重置初值的缓冲器。
因定时时间较长,采用哪一种工作方式?由各种工作方
式的特性,可计算出:
8051
内 部 结定 构时 框器 图
组成:两个16位的定时器T0和T1,以及他们的工作方式寄存器 TMOD和控制寄存器TCON等组成。内部通过总线与CPU相连。
定时器T0和T1各由两个8位特殊功能寄存器TH0、TL0、TH1、 TL1构成。
工作方式寄存器TMOD:用于设置定时器的工作模式和工作方式; 控制寄存器TCON:用于启动和停止定时器的计数,并控制定时器