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