定时器计数器原理及应用有设计题优秀PPT.ppt
《定时器计数器原理及应用有设计题优秀PPT.ppt》由会员分享,可在线阅读,更多相关《定时器计数器原理及应用有设计题优秀PPT.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、定时器计数器原理及应用有设计题你现在浏览的是第一页,共50页0 xF5计数原理(计数原理(1)计数对外部事件进行统计,外部事件以输入有效对外部事件进行统计,外部事件以输入有效 脉冲来表示脉冲来表示。计数器计数器溢出标志溢出标志TF初初 值值中断请求中断请求外部脉冲外部脉冲0 xF50 xF51S1S20 xF60 xF70 xF80 xF90 xFA0 xFB0 xFC0 xFD0 xFE0 xFF0中断开放中断响应后溢出标志清“0”当检测到有有效脉冲输入时,计数寄存器加1启动计数器工作当计数器计数溢出时的标志初值寄存器作为计数器回0时的初始值单片机的计数器用户是可以控制的(可编程的),包括计
2、数器的启动、计数脉冲的有效方式、计数启动、计数脉冲的有效方式、计数器的初值、计数溢出中断请求开放或禁止器的初值、计数溢出中断请求开放或禁止等。你现在浏览的是第二页,共50页0 xFD0 xFF0 xFE计数器计数器0 xFA0 xF80 xF90 xFB0 xFC初初 值值计数原理(计数原理(2)比值寄存器比值寄存器比较器比较器S1S2溢出标志溢出标志TF外部脉冲外部脉冲比较匹配标志比较匹配标志S30 xF8计数器输出计数器输出OC触发触发 0 xFC0 xF810 xF910 xFA0 xFB中断请求中断请求2 2中断请求中断请求10你现在浏览的是第三页,共50页定时原理定时原理定时当计数器
3、的计数脉冲频率恒定时,计数器所当计数器的计数脉冲频率恒定时,计数器所 记录的数值及代表了时间的概念。记录的数值及代表了时间的概念。定时功能是通过计数器的计数来实现的。定时功能是通过计数器的计数来实现的。计数器计数器溢出标志溢出标志TF初初 值值中断请求中断请求外部时钟源外部时钟源S1S2S0用于选择内部/外部时钟源S0内部时钟源内部时钟源定时器的工作原理与计数器相同,只是要求用于计数的脉冲,其频率恒定。单片机的定时器用户是可以控制(可编程)的。你现在浏览的是第四页,共50页ATmega16定时定时/计数器资源计数器资源T/C的预分频器的预分频器8位定时位定时/计数器计数器T/C0、T/C2T/
4、C2的异步操作的异步操作PWM模式下的模式下的T/C0、T/C216位定时位定时/计数器计数器T/C1PWM模式下的模式下的T/C1你现在浏览的是第五页,共50页T/C1、0的预分频器的预分频器10位位T/C预分频器预分频器CK/8CK/64CK/256CK/1024ClearclkI/OPSR10T0T1CS10CS11CS12CS00CS01CS0200T/C1时钟源时钟源clkT1T/C0时钟源时钟源clkT0CS10CS11 预分频器的作用预分频器的作用是将系统时钟(如系统时钟为4.000MHz)按设定的比例进行分频分频,以产生不同周期的时钟clkT0、clkT1,分别作为时钟源提供给
5、T/C0和T/C1使用。你现在浏览的是第六页,共50页8位定时位定时/计数器计数器T/C0、T/C2(1)ATmega16的定时/计数器共有3个:1个16位的定时/计数器定时/计数器1(简称T/C1)2个8位定时/计数器定时/计数器0(简称T/C0)、定时/计数器2(简称 T/C2)这3个定时/计数器各具特点:T/C0功能普通普通普通普通(8位二进制)计数计数、定时定时、PWM T/C1功能多多多多(16位二进制)计数计数、定时定时、PWM、输入捕获输入捕获 T/C2功能少少少少且特殊特殊特殊特殊(8位)定时定时(有异步定时功能,可 作为实时时钟RTC)、PWM你现在浏览的是第七页,共50页8
6、位定时位定时/计数器计数器T/C0、T/C2(2)ATmega16的8位定时/计数器用户可以控制:TCCR0T/C0控制寄存器TCCR2T/C2控制寄存器TIMSKT/C中断屏蔽寄存器TIFRT/C中断标志寄存器TCNT0T/C0计数寄存器TCNT2T/C2计数寄存器OCR0T/C0输出比较寄存器OCR2T/C2输出比较寄存器ASSR异步模式状态寄存器你现在浏览的是第八页,共50页位6、位3:计数器计数模式,用于控制T/C0的计数和工作方式。CS02CS01CS00T/C0时钟选择时钟选择0 00 00 0无时钟源,无时钟源,T/C0停止停止0 00 01 1clkI/O(不经过分频器)(不经
7、过分频器)0 01 10 0clkI/O/8(来自分频器)(来自分频器)0 01 11 1clkI/O/64(来自分频器)(来自分频器)1 10 00 0clkI/O/256(来自分频器)(来自分频器)1 10 01 1clkI/O/1024(来自分频器)(来自分频器)1 11 10 0外部外部T0引脚,下降沿驱动(用于计数)引脚,下降沿驱动(用于计数)1 11 11 1外部外部T0引脚,上升沿驱动(用于计数)引脚,上升沿驱动(用于计数)位7:强制输出比较,该位只在WGM位被置为非PWM模式下有效。T/C0控制寄存器 TCCR076543210 WGM00 COM01 COM00 WGM01
8、CS02 CS01 CS00 FOC0 位54:比较匹配输出模式,决定T/C0比较匹配发生时,输出引脚OC0(PB3)的行为方式。这是I/O的第二功能,相应的方向控制位要置“1”,以便将其配置为输出。位20:T/C0的时钟选择位,用于定义T/C0的时钟源。COM01COM00T/C0比较输出模式比较输出模式(非(非PWM模式)模式)0 00 0T/C0与输出引脚与输出引脚OC0断开断开0 01 1比较匹配发生时比较匹配发生时OC0触发触发1 10 0比较匹配发生时清零比较匹配发生时清零OC01 11 1比较匹配发生时置位比较匹配发生时置位OC0模式模式WGM01WGM00T/C0工作模式工作模
9、式计数上限值计数上限值OCR0更新更新TOV0置位置位0 00 00 0一般模式一般模式0 xFF立即立即0 xFF1 10 01 1PWM,相位可调,相位可调0 xFF0 xFF0 x002 21 10 0CTC模式模式OCR0立即立即0 xFF3 31 11 1快速快速PWM0 xFF0 xFF0 xFF你现在浏览的是第九页,共50页T/C2控制寄存器 TCCR276543210 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20 FOC2 TCCR2的位73与TCCR0位73的作用完全相同。位20:T/C2的时钟选择位,用于定义T/C2的时钟源。其功能与T/C0
10、有不同点,无外部计数功能无外部计数功能无外部计数功能无外部计数功能的选项。CS22CS21CS20T/C2时钟选择时钟选择0 00 00 0无时钟源,无时钟源,T/C2停止停止0 00 01 1clkT2S(不经过分频器)(不经过分频器)0 01 10 0clkT2S/8(来自分频器)(来自分频器)0 01 11 1clkT2S/32(来自分频器)(来自分频器)1 10 00 0clkT2S/64(来自分频器)(来自分频器)1 10 01 1clkT2S/128(来自分频器)(来自分频器)1 11 10 0clkT2S/256(来自分频器)(来自分频器)1 11 11 1clkT2S/1024
11、(来自分频器)(来自分频器)你现在浏览的是第十页,共50页T/C中断屏蔽寄存器 TIMSK76543210 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0 OCIE2 位7:T/C2输出比较匹配输出比较匹配中断使能,为“1”时允许中断允许中断,为“0”时禁止中断禁止中断。位6:T/C2溢出溢出中断使能,为“1”时允许中断,为“0”时禁止中断。位5:T/C1输入捕获输入捕获中断使能,为“1”时允许中断,为“0”时禁止中断。位4:T/C1输出比较输出比较A匹配匹配中断使能,为“1”时允许中断,为“0”时禁止中断。位3:T/C1输出比较输出比较B匹配匹配中断
12、使能,为“1”时允许中断,为“0”时禁止中断。位2:T/C1溢出溢出中断使能,为“1”时允许中断,为“0”时禁止中断。位1:T/C0输出匹配输出匹配中断使能,为“1”时允许中断,为“0”时禁止中断。位0:T/C0溢出溢出中断使能,为“1”时允许中断,为“0”时禁止中断。你现在浏览的是第十一页,共50页T/C中断标志寄存器 TIFR76543210 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOV0 OCF2 位7:T/C2输出比较匹配输出比较匹配标志。当T/C2计数器TCNT2与OCR2的值匹配时,该位由硬由硬件置件置“1”。中断响应后,由硬件清由硬件清“0”,或通过对该
13、位写写“1”来清来清“0”。位6:T/C2溢出溢出中断标志。当T/C2计数器TCNT2溢出时,该位由硬件置“1”。中断响应后,由硬件清“0”,或通过对该位写“1”来清“0”。位5:T/C1输入捕获输入捕获中断标志。当T/C1输入捕获事件发生时,该位置“1”。位4:T/C1输出比较输出比较A匹配匹配中断标志。位3:T/C1输出比较输出比较B匹配匹配中断标志。位2:T/C1溢出溢出中断标志。位1:T/C0输出比较匹配输出比较匹配中断标志。位0:T/C0溢出溢出中断标志。ATmega16的定时/计数器共有8个中断源对应8个中断标志位,这些标志位当条件满足后,由硬件置“1”,中断响应后由硬件清“0”,
14、也可以对这些位通过软件写“1”清“0”。你现在浏览的是第十二页,共50页T/C0计数寄存器 TCNT076543210 LSB MSB T/C2计数寄存器 TCNT276543210 LSB MSB T/C0、T/C2是可以进行读/写访问的向上计数向上计数(加法计数)的计数器。只要有有效脉冲输入,TCNT0、TCNT2就会在写入值(初值)的基础上开始计数。一旦TCNT达到0 xFF,下一个计数脉冲到来时便回到0 x00,并继续向上开始计数。在在TCNT0、2回回“0”的同时,溢出标志的同时,溢出标志TOV0、2置置“1”。TOV0、2标志置“1”可以用于申请中断,也可以作为计数器的第“9”位使
15、用。你现在浏览的是第十三页,共50页T/C0输出比较寄存器 OCR076543210 LSB MSB T/C2输出比较寄存器 OCR276543210 LSB MSB OCR0、OCR2中的8位数据用于同TCNT0、TCNT2寄存器中的计数值进行连续的匹配比较。如果TCNT0、TCNT2的值与OCR0、OCR2相等,则比较匹配发生(比较匹配(比较匹配发生时,对应的定时发生时,对应的定时/计数器输出引脚计数器输出引脚OC0、OC2会产生触发事件)会产生触发事件)。比较匹配发生后,置“1”相应的中断标志OCF0、OCF2。你现在浏览的是第十四页,共50页异步模式状态寄存器 ASSR76543210
16、 AS2 TCN2UB OCR2UB TCR2UB 位3:T/C2异步设定位。当AS2=0时,T/C2使用系统I/O时钟clkI/O作为时钟源(同步方同步方式式);当AS2=1时,T/C2使用连接在TOSC1引脚上的晶振作为时钟源(异异步方式步方式)。通常连接在通常连接在TOSC1引脚上的晶振频率为引脚上的晶振频率为32.768KHz。位2:TCNT2更新忙,TCN2UB=0表明TCNT2可以被更新。位1:OCR2更新忙,OCR2UB=0表明OCR2可以被更新。位0:TCCR2更新忙,TCR2UB=0表明TCCR2可以被更新。位74:保留位。你现在浏览的是第十五页,共50页T/C2的异步操作的
17、异步操作T/C2的异步异步操作当AS2=1时,T/C2的计数时钟直接取自于外部引脚TOSC1及TOSC2所接的外部石英晶振,计数时钟与系统时钟不同步计数时钟与系统时钟不同步。在使用异步方式时注意以下几点:在同步与异步方式之间切换时,TCNT2、OCR2和TCCR2的内容会受到破坏;ATmega16芯片已经对32.768kHz的手表晶振进行了优化,加一个其它频率的外部时钟到TOSC1引脚可能会导致T/C2工作不正常;在对TCNT2、OCR2和TCNT2寄存器进行写入时,ASSR寄存器的位2、1和0会自动置“1”。在ASSR寄存器的位2、1和0置“1”期间,不能对相应位所指的寄存器进行操作。你现在
18、浏览的是第十六页,共50页3.8位定时位定时/计数器应用举例计数器应用举例T/C0作定时器作定时器T/C2用作实时时钟用作实时时钟你现在浏览的是第十七页,共50页T/C0作定时器作定时器应用课题2:使用定时器T/C0的内部 时钟晶振,产生1ms中 断,并扩展成1s定时信 号,每秒钟使PA口的状 态改变1次。你现在浏览的是第十八页,共50页设计思想定时器时间常数的计算:定时器时间常数的计算:系统时钟4.000MHz,64分频62.5kHz作为定时器计数脉冲频率。定时计数器加1的时间为1/62.5=0.016ms,定时1ms,需要计数1/0.016=62.5。使用定时器CTC工作方式,比较值应置为
19、62即0 x3E或63即0 x63。1ms的定时有误差。从从1ms到到1s:1s=1000ms,在1ms的中断程序中设计一计数器jishu,当jishu=1000时,时间即为1s。你现在浏览的是第十九页,共50页程序设计与分析#include#pragma interrupt_handler zhixing:20int jishu=0;void zhixing(void)jishu+;if(jishu=1000)PORTA=PORTA;jishu=0;void main(void)PORTA=0 x00;DDRA=0 xFF;TCCR0=0 x0B;TCNT0=0 x00;OCR0=0 x3E
20、;TIMSK=0 x02;#asm(“sei”)while(1);/应该定义成应该定义成 int,不能定义成,不能定义成 char/计数器计数器jishu加加1/当当jishu=1000,表明,表明1s时间到时间到/按课题要求输出按课题要求输出/jishu清清“0”,很重要,很重要/定义定义PA口输出口输出/CTC模式,系统频率模式,系统频率64分频,分频,OC0引脚断开引脚断开/1ms定时的比较值定时的比较值/T/C0比较匹配中断开放比较匹配中断开放/总中断开放总中断开放 SREG|=0 x80;你现在浏览的是第二十页,共50页T/C2用作实时时钟用作实时时钟应用课题1:利用定时器T/C2的
21、实时 时钟晶振,产生1s中断,并在PD7引脚输出0.5Hz 的方波。你现在浏览的是第二十一页,共50页T/C2的时钟源PC6(TOSC1)、PC7(TOSC2)的32.768kHz的晶振;32.768kHz的晶振128分频分频后的晶振频率为256Hz,周期为1/256秒,计录256个脉冲时,所需时间为1秒;32.768kHz的晶振256分频分频后的晶振频率为128Hz,周期为1/128秒,记录128个脉冲所需时间也正好为1秒。为什么将32.768kHz称为“手表晶振手表晶振”或“实时时钟晶振实时时钟晶振”,T/C2为什么可用作“实时时钟RTCReal Time Clock”,其道理就在如此。设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时器 计数器 原理 应用 设计 优秀 PPT
限制150内