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