ATmega16单片机定时器讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Page
2
3.1、单片机定时器的基本应用、原理及要素
1、单片机定时器的基本应用
2、单片机定时器的基本原理图
3、单片机定时器的基本要素
Page
3
3.1.1、单片机定时器的基本应用
基本应用:
定时计数器是单片机中最基本的接口之一, 它的用途非常广泛,常用于计数、延时、测量 周期、频率、脉宽、提供定时脉冲信号等。在 实际应用中,对于转速,位移、速度、流量等 物理量的测量,通常也是由传感器转换成脉冲 电信号,通过使用定时计数器来测量其周期或 频率,再经过计算处理获得
1 2
13 12 11 10 6 5 4 3 U10 74HC164 8
Baidu Nhomakorabea
1 2
13 12 11 10 6 5 4 3 U11 74HC164 8
C7 33
OSC1
8 XTAL1
C6 33
3.2.2、ATmega16单片机定时器的特殊功能寄存器
控制寄存器--TCCR0:
位 7: FOC0:强制输出比较位。
非PWM模式下,写1后,波形发生器将立即进行比较操作,比较匹 配输出引脚OC0将被更新。 PWM模式下,强制输出比较无效,该位须写为0。 位 6/3: WGM0[1:0]:波形产生模式位 位[5:4]:COM0[1:0]:比较匹配输出模式位。 COM0[1:0]的功能依赖于WGM0[1:0]的设置。 位[2:0]: CS0[2:0]:时钟选择位
相位可调PWM模式工作时序图:
Page
27
3.4、ATmega16单片机定时器T/C0的计数工作时序
1、T/C0计数工作时序图
2、T/C0带1/8预分频计数工作时序图 3、T/C0带1/8预分频(除CTC模式)计数工 作时序图 4、T/C0带1/8预分频(CTC模式)计数工作 时序图
Page
28
3.4.1、ATmega16单片机定时器T/C0的计数工作时序
dp g f e d c b a
dp g f e d c b a
dp g f e d c b a
AJ1
12 PD .3(/INT1)
PC.6 25 PC.7 26
1 2
13 12 11 10 6 5 4 3 U8 74HC164 8
1 2
13 12 11 10 6 5 4 3 U9 74HC164 8
匹配输出(COM0[1:0]=2)方式中,当TCNT0的计数值与OCR0的 值相同匹配时清零OC0,当计数器的值由0xFF返回0x00时置位OC0。 而在设置反向比较匹配输出(COM0[1:0]=3)方式中,当TCNT0的 计数值与OCR0的值相同匹配时置位OC0,当计数器的值由0xFF返 回0x00时清零OC0。
Page 18
3.2.2、ATmega16单片机定时器的特殊功能寄存器
中断标志寄存器--TIFR: 位4: OCF1A:T/C1输出比较A匹配标志位。 0:输出比较A匹配未发生;
1:输出比较A匹配发生。
位3: OCF1B:T/C1输出比较B匹配标志位。 0:输出比较B匹配未发生; 1:输出比较B匹配发生。 位2: 位1: TOV1:T/C1溢出中断标志位。 0:溢出未发生;1:溢出发生。 OCF0:T/C0输出比较匹配的中断标志位。 0:输出比较匹配未发生; 1:输出比较匹配发生。 位0: TOV0:T/C0溢出中断标志位。 0:溢出未发生;1:溢出发生。
CTC模式:
T/C0工作在CTC模式下时,计数器为单向
加1计数器,一旦寄存器TCNT0的值与OCR0的
设定值相等(此时寄存器OCR0的值为计数上限
值),就将计数器TCNT0清零为0x00,然后继
续向上加1计数。通过设置OCR0的值,可以方 便地控制比较匹配输出的频率,也方便了外部 事件计数的应用。
Page 22
1时,或门M1输出为1,多路数据
选择器S3的通道1被选中,如果端 口PB.3定义为输出时,三态门F2 被打开,OC0将替代引脚PB3原来 的I/O功能,端口PB.3上输出的就 是波形发生器产生的波形。当 COM0[1:0]都为0时,选择器S3的通
道0被选中,PB.3口输出的则是端
口PORT之值。
Page 12
T/C0带1/8预分频(CTC模式)计数工作时序图:
Page
32
3.5、ATmega16单片机定时器的设计应用
1、设计任务 2、硬件设计 3、软件算法设计
Page
33
3.5.1、ATmega16单片机定时器的设计应用
设计任务: 序号 实例要求
1 2 3 4 5
2N分频设计 N分频设计 编写书上的例5-6 用CTC中断和溢出中断 秒表两个按键一开一关 表两个按键
Page 13
3.2.2、ATmega16单片机定时器的特殊功能寄存器
计数寄存器--TCNT0:
位[7:0]: T/C0计数器的值。 根据计数器的工作模式,在每一个clkT0时钟到来时,计数器 进行加1、减1或清零操作。MCU 可以对这8位数据进行读写访问。
Page
14
3.2.2、ATmega16单片机定时器的特殊功能寄存器
Page 19
3.3、ATmega16单片机定时器T/C0的工作模式
1、普通模式 2、CTC模式 3、快速PWM模式 4、相位修正PWM模式
Page
20
3.3.1、ATmega16单片机定时器T/C0的工作模式
普通模式:
普通模式是T/C0最简单和基本的一种工作方式。
T/C0工作在普通模式下时,计数器为单向加1计数
输出比较寄存器--OCR0:
位[7:0]: T/C0输出比较寄存器的值。
Page
15
3.2.2、ATmega16单片机定时器的特殊功能寄存器
中断屏蔽寄存器--TIMSK:
位7:
OCIE2:T/C2输出比较匹配中断使能位。 0:输出比较匹配中断禁止; 1:输出比较匹配中断使能。
位6:
TOIE2:T/C2溢出中断使能位。 0:溢出中断禁止; 1:溢出中断使能。
器,一旦寄存器TCNT0的值到达0xFF(上限值),
在下一个计数脉冲到来时便恢复为0x00,并继续单 向加1计数。当TCNT0由0xFF转变为0x00的同时, 溢出标志位TOV0置位为“1”,用于申请T/C0溢出 中断。一旦MCU响应T/C0的溢出中断,硬件则将自
动把TOV0清零。
Page 21
3.3.2、ATmega16单片机定时器T/C0的工作模式
Page
7
3.2.1、ATmega16单片机定时器T/C0的组成原理
定时器TC0结构框图:
Page
8
3.2.1、ATmega16单片机定时器T/C0的组成原理
定时器T/C0的组成单元:
定时/计数器
计数单元
输出比较单元
比较匹配单元
Page
9
3.2.1、ATmega16单片机定时器T/C0的组成原理
Page
4
3.1.2、单片机定时器的基本原理
基本原理:
一般的单片机定时器其核心部分就是一个可预置 数的计数器,计数器以16位计数器居多,而计数器 的计数方式可以是加法方式也可以是减法方式。
Page 5
3.1.3、单片机定时器的基本要素
基本要素:
定时计数器的长度。
脉冲信号源。
计数器类型。 计数器的上下限。 计数器的事件。
Page
6
3.2、ATmega16单片机定时器T/C0的组成原理及特殊功能寄存器
ATmega16单片机配置了3个定时器,
它们是8位的定时器T/C0、8位的定时器
T/C2和16位的定时器T/C1,这些定时器 的工作原理基本相同,我们主要以8位定 时器T/C0为例说ATmega16单片机定时器 使用方法。
0:匹配未发生;
1:匹配发生。 位6: TOV2:T/C2溢出中断标志位。 0:溢出未发生; 1:溢出发生。 位5: ICF1:T/C1输入捕捉标志位。 0:外部引脚ICP1未出现捕捉事件,且当ICR1作为计数器的TOP值 时,计数值未到达TOP值; 1:外部引脚ICP1出现捕捉事件,或ICR1作为计数器的TOP值时,计 数值到达TOP值。
3.3.2、ATmega16单片机定时器T/C0的工作模式
CTC模式计数时序图:
Page
23
3.3.3、ATmega16单片机定时器T/C0的工作模式
快速PWM模式:
当T/C0工作在快速PWM模式模式下时,计数器为单程向上的加1 计数器,从0x00一直加到0xFF(上限值),在下一个计数脉冲到
来时便恢复为0x00,然后再从0x00开始加1计数。在设置正向比较
位5:
TICIE1:T/C1输入捕捉中断使能位。 0:输入捕捉中断禁止; 1:输入捕捉中断使能。
Page
16
3.2.2、ATmega16单片机定时器的特殊功能寄存器
中断屏蔽寄存器--TIMSK: 位4: OCIE1A:T/C1输出比较A匹配中断使能位。 0:输出比较A匹配中断中断禁止; 1:输出比较A匹配中断中断使能。 位3: OCIE1B:T/C1输出比较B匹配中断使能位。 0:输出比较B匹配中断中断禁止; 1:输出比较B匹配中断中断使能。 位2: TOIE1:T/C1溢出中断使能位。 0:溢出中断禁止;1:溢出中断使能
T/C0计数工作时序图:
Page
29
3.4.2、ATmega16单片机定时器T/C0的计数工作时序
T/C0带1/8预分频计数工作时序图:
Page
30
3.4.3、ATmega16单片机定时器T/C0的计数工作时序
T/C0带1/8预分频(除CTC模式)计数工作时序图:
Page
31
3.4.4、ATmega16单片机定时器T/C0的计数工作时序
计数器TCNT0的值与OCR0相同时置位OC0。设置反向比较匹
配输出(COM0[1:0]=3)方式:在正向加1过程中,TCNT0的 计数值与OCR0的值相同匹配时置位OC0;在反向减1过程中,
当计数器TCNT0的值与OCR0相同时清零OC0。
Page 26
3.3.4、ATmega16单片机定时器T/C0的工作模式
第 3篇
定时器设计应用
Page
1
第3篇 定时器的设计应用 1、单片机定时器的基本应用、原理及要素 2、ATmega16单片机定时器T/C0的组成原理 3、ATmega16单片机定时器T/C0的工作模式 4、ATmega16单片机定时器T/C0的计数工作时序
5、ATmega16单片机定时器的设计应用
的计数值同输出比较寄存器 OCR0的内容进行比较,一旦 TCNT0的值等于OCR0的值, 在下一个计数时钟脉冲到达时 就置位TIFR寄存器中OCF0标 志位,用来产生中断申请或供
程序查询。:
Page
11
3.2.1、ATmega16单片机定时器T/C0的组成原理
TC0的比较匹配单元:
在引脚的方向寄存器DDRB.3定 义为输出时,当寄存器TCCR0中 的标志位COM0[1:0]中任何一位为
TC0的计数单元:
计数单元是一个可编程的双向计数器,在每一个计数时钟 clkT0到来时,通过逻辑控制产生的计数、清零及方向控制信号实
现计数器的加1、减1或清零操作。
Page 10
3.2.1、ATmega16单片机定时器T/C0的组成原理
TC0的输出比较单元:
T/C0运行期间,输出比较
单元持续将计数寄存器TCNT0
Page
34
3.5.2、ATmega16单片机定时器的设计应用
硬件设计:
5V
R1 10K
4
AV Vc cc c5 17 V c c 27 V c c 38
L1 R21~28
/RET
L2 R29~36
L3 R37~44
L4 R45~52
A T m eg a1 6
C0 4.7u
dp g f e d c b a
位1:
OCIE0:T/C0输出比较匹配中断使能位。
0:输出比较匹配中断禁止; 1:输出比较匹配中断使能。
位0:
TOIE0:T/C0溢出中断使能位。
0:溢出中断禁止;1:溢出中断使能
Page 17
3.2.2、ATmega16单片机定时器的特殊功能寄存器
中断标志寄存器--TIFR:
位7:
OCF2:T/C2输出比较匹配的中断标志位。
Page
24
3.3.3、ATmega16单片机定时器T/C0的工作模式
快速PWM模式工作时序图:
Page
25
3.3.4、ATmega16单片机定时器T/C0的工作模式
相位可调PWM模式:
当T/C0工作在相位可调PWM模式下时,计数器为双程计数 器:从0x00一直加到0xFF,在下一个计数脉冲到达时,改变 计数方向,从0xFF开始减1计数到0x00。设置正向比较匹配输 出(COM0[1:0]=2)方式:在正向加1过程中,TCNT0的计数 值与OCR0的值相同匹配时清零OC0;在反向减1过程中,当