51单片机定时器计数器解读

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12

5.1 定时器的结构及工作原理

定时/计数器对输入信号的要求
1.
外部计数脉冲的最高频率为系统振荡器频率的1/24,例如 选用12MHz频率的晶体,则可输入500KHz的外部脉冲。
输入信号的高、低电平至少要分别保持一个机器周期。 如图所示,图中Tcy为机器周期。
2.
13

可编程定时器的工作方式、启动、停止、溢 出标志、计数器等都是可编程的——通过设 置寄存器TMOD,TCON,TH0,TL0,TH1和TL1 实现。 当设置了定时器的工作方式并启动定时器工 作后,定时器就按被设定好的工作方式独立 工作,不再占用CPU,只有在计数器计满溢 出时才向CPU申请中断,占用CPU。 由此可见,定时器是单片机中工作效率高且 应用灵活的部件。
第5章 定时器/计数器及其应用
5.1 定时器的结构及工作原理 5.2 定时器的TMOD和TCON寄存器 5.3 定时器的工作方式

◦ ◦ ◦ ◦

5.4 定时器的编程和应用
5.3.1 方式0 5.3.2 方式1 5.3.3 方式2 5.3.4 方式3
1
基本知识
定时器/计数器简介 1.计数概念
f0
f f0 /12
加1计数器 定时 计数
Tx TRx
控制信号K “1”启动,计数器运行; “0”停止,计数器停止;
TH x
wk.baidu.com
TLx
TFx
INTx

定时器/计数器原理框图
当控制信号 定时器工作在定时方式;加1计数器对 脉冲 f 进行计数,每来一个脉冲,计数器加 1 ,直到计时器 f f0 /12 ,即一个计数脉冲的周期就是一个 计满溢出; 因为 f f0 /12 机器周期;计数器计数的是机器周期脉冲个数。从而实现 定时。 当控制信号 定时器工作在计数方式;加1计数器对 来自输入引脚T0(P3.4)和T1(P3.5)的外信号脉冲进行计数, 每来一个脉冲,计数器加1,直到计时器计满溢出;
4. 溢出
上面我们举的例子,水滴满瓶子后, 再滴就会溢出,流到桌面上。单片机 计数器溢出后将使得TF0变为“1”, 一旦TF0由0变成1,就是产生了变化, 就会引发事件,就会申请中断。
5. 任意定时及计数的方法
计数器的容量是16位,也就是最大的计数值 到65536,计数计到65536就会产生溢出。 如果计数值要小于65536,怎么办呢?一个 空的瓶子,要1万滴水滴进去才会满,我们在 开始滴水之前就先放入一些水,就不需要 10000滴了。比如先放入2000滴,再滴8000 滴就可以把瓶子滴满。在单片机中,我们也 采用类似的方法,称为“预置数”的方法, 我们要计1000,那就先放进64536,再来 1000个脉冲,不就到了65536了吗?定时也 是如此。

在每个机器周期的S5P2期间采样检测引脚输入电平。 若前一个机器周期采样值为“1”,后一个机器周期采样值 为“0”,则计数器加1。 新的计数值在检测到输入引脚电平发生“1”到“0”的负 跳变(下降沿)后,于下一个机器周期的S3P1期间装入计 数器中。 由于CPU需要两个机器周期来识别一个“1”到“0”的跳变 信号,所以最高的计数频率为振荡周期的1/24。
同学们选班长时,要投票,然后统计选票, 常用的方法是画“正”,每个“正”号五 划,代表五票,最后统计“正”号的个数 即可,这就是计数。单片机有两个定时/ 计数器T0和T1,都可对外部输入脉冲计 数。
2.计数器的容量
我们用一个瓶子盛水,水一滴滴地滴 入瓶中,水滴不断落下,瓶的容量是 有限的,过一段时间之后,水就会逐 渐变满,再滴就会溢出。单片机中的 计数器也一样,T0和T1这两个计数器 分别是由两个8位的RAM单元组成的, 即每个计数器都是16位的计数器,最 大的计数量是65536。
6.单片机定时器/计数器的结构
5.1 定时器的结构及工作原理

组成:两个16位的定时器T0和T1,以及他们的工作方式 寄存器TMOD和控制寄存器TCON等组成。内部通过总 线与CPU相连。 定时器T0和T1各由两个8位特殊功能寄存器TH0、TL0、 TH1、TL1构成。 工作方式寄存器TMOD:用于设置定时器的工作模式和 工作方式; 控制寄存器TCON:用于启动和停止定时器的计数,并控 制定时器的状态; 单片机复位时,两个寄存器的所有位都被清0。
C/T = 1

10
TCON(88H)

控制信号K可以控制计数器的“启动”和“停止”,
K = TRx(INTx + GATE)
11
指令周期 S1 S2 机器周期 S3 S4 S5 S6 S1 S2 机器周期 S4 S3 S5 S6
P P P P XTAL2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 1 P2 P1 P2 1 P2 1 P2 1 P2 P1 P2 P1 P2 (OSC) 振荡周期 状态周期
3. 定时
一个钟表,秒针走60次,就是1分钟, 所以时间就转化为秒针走的次数,也就 是计数的次数,可见,计数的次数和时 间有关。只要计数脉冲的间隔相等,则 计数值就代表了时间,即可实现定时。 秒针每一次走动的时间是1秒,所以秒 针走60次,就是60秒,即1分钟。 因此,单片机中的定时器和计数器是一 个东西,只不过计数器是记录的外界发 生的事情,而定时器则是由单片机提供 一个非常稳定的计数源。
8




两个可编程的定时器/计数器T1、T0。 每个定时器内部结构实际上就是一个可编程的加法计数 器,由编程来设置它工作在定时状态还是计数状态。
两种工作模式: (1) 计数器工作模式 就是对外部事件进行计数。计数脉冲来自相应的外部输 入引脚T0(P3.4)或T1(P3.5)。当输入信号发生由1至0 的负跳变(下降沿)时,计数器(TH0,TL0或TH1,TL1) 的值增1。计数的最高频率一般为振荡频率的1/24。 Why? (2) 定时器工作模式 也是通过计数实现的。计数脉冲来自内部时钟脉冲,每 个机器周期计数值增1,每个机器周期=12个振荡周期, 因此计数频率为振荡频率的1/12。所以定时时间=计数 值×机器周期。 4种工作方式 (方式0-方式3) 。
相关文档
最新文档