定时计数器及应用
1.定时与计数原理
❖ 计数原理(溢出、比较匹配) ❖ 定时原理 ❖ 事件捕获原理 ❖ PWM输出原理与方法
计数原理(1)
计数——对外部事件进行统计,外部事件以输入有效 脉冲来表示。
当检测到有有效脉
启动计数器冲输入时,计数寄 工作 存器加1
外部脉冲 S1
S2
0计x数F器A56789BCDEF
溢出10标志TF
T/C1、0的预分频器
clkI/O
预分频Cle器ar 的作1用0位是T/C将预分系频器统时钟(如
CK/8 CK/64 CK/256 CK/1024
PSR10 本实验装置上的系统时钟为
4.000MHz)按设定的比例进行分频,
以产生不同周期的时钟clkT0、clkT1,
T0 分别作为时钟源提供给T/C0和T/C1
其功能00 与T01/C0有10 不同cc点llkkTT,22SS(/8无(不来外经自过部分分计频频器器数))功能的选项。
0
1
1
clkT2S/32(来自分频器)
1
0
0
clkT2S/64(来自分频器)
1
0
1
clkT2S/128(来自分频器)
1
1
0
clkT2S/256(来自分频器)
1
1
1
clkT2S/1024(来自分频器)
T1 使用。 0
0
CS10
CS00
CS11
CS01
CS12
CS02
T/C1时钟源clkT1
T/C0时钟源clkT0
8位定时/计数器T/C0、T/C2(1)
ATmega16的定时/计数器共有3个: 1个16位的定时/计数器——定时/计数器1(简称T/C1) 2个8位定时/计数器——定时/计数器0(简称T/C0 )、 定时/计数器2(简称 T/C2)
T/C中断屏蔽寄存器 —— TIMSK
76 5 4 3 2 1 0
OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0
位7:T/C2输出比较匹配中断使能,为“1”时允许中断,为“0”时 禁止中断。 位6:T/C2溢出中断使能,为“1”时允许中断,为“0”时禁止中断。
中断开放 中断请求
0初xF值5
初值寄存器作为计数 器回0时的初始值
当溢单 程计出片 的数时机 )器的的 ,计标数志计 包数 括器 计用 数中出断标户 器响志是 的应清可启后 “以溢 0动” 控、制计的数(脉可冲编的 有效方式、计数器的初值、计数溢出中断 请求开放或禁止等。
计数原理(2)
S1
外部脉冲
溢出标志TF
中断请求
内部时钟源
初值
➢定时器的工作原理与计数器相同,只
S0用于选择内
是要求用于计数的脉冲,其频率恒定。
部/外部时钟源
➢单片机的定时器用户是可以控制(可
编程)的。
2.ATmega16定时/计数器资源
❖ T/C的预分频器 ❖ 8位定时/计数器T/C0、T/C2 ❖ T/C2的异步操作 ❖ PWM模式下的T/C0、T/C2 ❖ 16位定时/计数器T/C1 ❖ PWM模式下的T/C1
作方式。
000
无时钟源,T/C0停止
位5~4:比较匹0配输0出模式1 ,决clk定I/O(T不/经C过0比分频较器匹)配发生时,
输出引脚OC0(0 PB31)的0行为c方lkI式/O/8。(来这自是分I频/器O)的第二功能,
相应的方向控制0位要1置“11”,c以lkI/便O/6将4(其来自配分置频为器)输出。
76 5 4 3 2 1 0
FOC2 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20
TCCR2的位7~3与TCCR0位7~3的作用等,完全相同。
CS2 CS2 CS2
2
1
0
T/C2时钟选择
位2~0:T/C20的时钟0 选择0 位,用无于时钟定源义,TT//C2C停2止的时钟源。
0初xF值8 计0x数F器ADFE89BC
比较器
比值0x寄F存C器
S2
溢出标1 志TF
S3
比较匹10配标志
计数器输出 OC触发
中断请求1 中断请求2
定时原理
定时——当计数器的计数脉冲频率恒定时,计数器所
记录的数值及代表了时间的概念。
定时功能是通过计数器的计数来实现的。
外部时钟源
S1 S0
计数器
S2
位5:T/C1输入捕获中断使能,为“1”时允许中断,为“0”时禁止中断。
位4:T/C1输出比较A匹配中断使能,为“1”时允许中断,为“0”时 禁止中断。 位3:T/C1输出比较B匹配中断使能,为“1”时允许中断,为“0”时 禁止中断。 位2:T/C1溢出中断使能,为“1”时允许中断,为“0”时禁止中断。 位1:T/C0输出匹配中断使能,为“1”时允许中断,为“0”时禁止中断。 位0:T/C0溢出中断使能,为“1”时允许中断,为“0”时禁止中断。
T/C0控制寄存器 —— TCCR0
76 5 4 3
COM0 COM0
1
0
210
0
0
FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00
0
1
位式7下:有强效制。输出比较,该位只在WGM位被置为非P1WM模0
位6、位3:计C数2S0器C计1S0数模C0S式0 ,用于T/C控0时制钟T选/择C0的计1数和工1
1
0
0 clkI/O/256(来自分频器)
位源2。~0:T/C0的11 时钟01 选择10 位,c外lk部I用/OT/1于(00引2用4定脚(于,义来计下自数T降分)/沿频C驱器0动)的时钟
1
1
1ห้องสมุดไป่ตู้
外部T0引脚,上升沿驱动 (用于计数)
T/C0比 (非P T/C0与
O 比较
O 比较匹
比较匹
T/C2控制寄存器 —— TCCR2
这3个定时/计数器各具特点:
T/C0功能普通——(8位二进制)计数、定时、CTC、PWM T/C1功能多——(16位二进制)计数、定时、CTC、PWM、
输入捕获 T/C2功能少且特殊——(8位)定时(有异步定时功能,可
作为实时时钟RTC)、PWM
8位定时/计数器T/C0、T/C2(2)
ATmega16的8位定时/计数器用户可以控制:
• TCCR0——T/C0控制寄存器 • TCCR2——T/C2控制寄存器 • TIMSK——T/C中断屏蔽寄存器 • TIFR——T/C中断标志寄存器 • TCNT0——T/C0计数寄存器 • TCNT2——T/C2计数寄存器 • OCR0——T/C0输出比较寄存器 • OCR2——T/C2输出比较寄存器 • ASSR——异步模式状态寄存器