定时器计数器原理及应用2有设计题

上传人:我*** 文档编号:134932388 上传时间:2020-06-10 格式:PPT 页数:50 大小:801KB
返回 下载 相关 举报
定时器计数器原理及应用2有设计题_第1页
第1页 / 共50页
定时器计数器原理及应用2有设计题_第2页
第2页 / 共50页
定时器计数器原理及应用2有设计题_第3页
第3页 / 共50页
定时器计数器原理及应用2有设计题_第4页
第4页 / 共50页
定时器计数器原理及应用2有设计题_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《定时器计数器原理及应用2有设计题》由会员分享,可在线阅读,更多相关《定时器计数器原理及应用2有设计题(50页珍藏版)》请在金锄头文库上搜索。

1、 定时 计数器资源介绍与应用 0 xF5 计数原理 1 计数 对外部事件进行统计 外部事件以输入有效脉冲来表示 计数器 溢出标志TF 初值 中断请求 外部脉冲 0 xF5 0 xF5 1 S1 S2 0 xF6 0 xF7 0 xF8 0 xF9 0 xFA 0 xFB 0 xFC 0 xFD 0 xFE 0 xFF 0 中断开放 中断响应后溢出标志清 0 当检测到有有效脉冲输入时 计数寄存器加1 启动计数器工作 当计数器计数溢出时的标志 初值寄存器作为计数器回0时的初始值 单片机的计数器用户是可以控制的 可编程的 包括计数器的启动 计数脉冲的有效方式 计数器的初值 计数溢出中断请求开放或禁止

2、等 0 xFD 0 xFF 0 xFE 计数器 0 xFA 0 xF8 0 xF9 0 xFB 0 xFC 初值 计数原理 2 比值寄存器 比较器 S1 S2 溢出标志TF 外部脉冲 比较匹配标志 S3 0 xF8 计数器输出OC触发 0 xFC 0 xF8 1 0 xF9 1 0 xFA 0 xFB 中断请求2 中断请求1 0 定时原理 定时 当计数器的计数脉冲频率恒定时 计数器所记录的数值及代表了时间的概念 定时功能是通过计数器的计数来实现的 计数器 溢出标志TF 初值 中断请求 外部时钟源 S1 S2 S0用于选择内部 外部时钟源 S0 内部时钟源 定时器的工作原理与计数器相同 只是要求

3、用于计数的脉冲 其频率恒定 单片机的定时器用户是可以控制 可编程 的 ATmega16定时 计数器资源 T C的预分频器8位定时 计数器T C0 T C2T C2的异步操作PWM模式下的T C0 T C216位定时 计数器T C1PWM模式下的T C1 T C1 0的预分频器 预分频器的作用是将系统时钟 如系统时钟为4 000MHz 按设定的比例进行分频 以产生不同周期的时钟clkT0 clkT1 分别作为时钟源提供给T C0和T C1使用 8位定时 计数器T C0 T C2 1 ATmega16的定时 计数器共有3个 1个16位的定时 计数器 定时 计数器1 简称T C1 2个8位定时 计数

4、器 定时 计数器0 简称T C0 定时 计数器2 简称T C2 这3个定时 计数器各具特点 T C0功能普通 8位二进制 计数 定时 PWMT C1功能多 16位二进制 计数 定时 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输

5、出比较寄存器ASSR 异步模式状态寄存器 位6 位3 计数器计数模式 用于控制T C0的计数和工作方式 位7 强制输出比较 该位只在WGM位被置为非PWM模式下有效 T C0控制寄存器 TCCR0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00 FOC0 位5 4 比较匹配输出模式 决定T C0比较匹配发生时 输出引脚OC0 PB3 的行为方式 这是I O的第二功能 相应的方向控制位要置 1 以便将其配置为输出 位2 0 T C0的时钟选择位 用于定义T C0的时钟源 T C2控制寄存器 TCCR2 WGM20 COM21 COM20 WGM21 CS22 CS2

6、1 CS20 FOC2 TCCR2的位7 3与TCCR0位7 3的作用完全相同 位2 0 T C2的时钟选择位 用于定义T C2的时钟源 其功能与T C0有不同点 无外部计数功能的选项 T C中断屏蔽寄存器 TIMSK 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 时允许中断 为

7、0 时禁止中断 位3 T C1输出比较B匹配中断使能 为 1 时允许中断 为 0 时禁止中断 位2 T C1溢出中断使能 为 1 时允许中断 为 0 时禁止中断 位1 T C0输出匹配中断使能 为 1 时允许中断 为 0 时禁止中断 位0 T C0溢出中断使能 为 1 时允许中断 为 0 时禁止中断 T C中断标志寄存器 TIFR TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOV0 OCF2 位7 T C2输出比较匹配标志 当T C2计数器TCNT2与OCR2的值匹配时 该位由硬件置 1 中断响应后 由硬件清 0 或通过对该位写 1 来清 0 位6 T C2溢出中断标志

8、当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 也可以对这些位通过软件写 1 清 0 T C0计数寄存器 TCNT0 LSB MSB T C2计数寄存器 TCNT2 LS

9、B MSB T C0 T C2是可以进行读 写访问的向上计数 加法计数 的计数器 只要有有效脉冲输入 TCNT0 TCNT2就会在写入值 初值 的基础上开始计数 一旦TCNT达到0 xFF 下一个计数脉冲到来时便回到0 x00 并继续向上开始计数 在TCNT0 2回 0 的同时 溢出标志TOV0 2置 1 TOV0 2标志置 1 可以用于申请中断 也可以作为计数器的第 9 位使用 T C0输出比较寄存器 OCR0 LSB MSB T C2输出比较寄存器 OCR2 LSB MSB OCR0 OCR2中的8位数据用于同TCNT0 TCNT2寄存器中的计数值进行连续的匹配比较 如果TCNT0 TCN

10、T2的值与OCR0 OCR2相等 则比较匹配发生 比较匹配发生时 对应的定时 计数器输出引脚OC0 OC2会产生触发事件 比较匹配发生后 置 1 相应的中断标志OCF0 OCF2 异步模式状态寄存器 ASSR 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

11、 0表明OCR2可以被更新 位0 TCCR2更新忙 TCR2UB 0表明TCCR2可以被更新 位7 4 保留位 T C2的异步操作 T C2的异步操作 当AS2 1时 T C2的计数时钟直接取自于外部引脚TOSC1及TOSC2所接的外部石英晶振 计数时钟与系统时钟不同步 在使用异步方式时注意以下几点 在同步与异步方式之间切换时 TCNT2 OCR2和TCCR2的内容会受到破坏 ATmega16芯片已经对32 768kHz的手表晶振进行了优化 加一个其它频率的外部时钟到TOSC1引脚可能会导致T C2工作不正常 在对TCNT2 OCR2和TCNT2寄存器进行写入时 ASSR寄存器的位2 1和0会

12、自动置 1 在ASSR寄存器的位2 1和0置 1 期间 不能对相应位所指的寄存器进行操作 3 8位定时 计数器应用举例 T C0作定时器 T C2用作实时时钟 T C0作定时器 应用课题2 使用定时器T C0的内部时钟晶振 产生1ms中断 并扩展成1s定时信号 每秒钟使PA口的状态改变1次 设计思想 定时器时间常数的计算 系统时钟4 000MHz 64分频62 5kHz作为定时器计数脉冲频率 定时计数器加1的时间为1 62 5 0 016ms 定时1ms 需要计数1 0 016 62 5 使用定时器CTC工作方式 比较值应置为62即0 x3E或63即0 x63 1ms的定时有误差 从1ms到1

13、s 1s 1000ms 在1ms的中断程序中设计一计数器jishu 当jishu 1000时 时间即为1s 程序设计与分析 include pragmainterrupt handlerzhixing 20intjishu 0 voidzhixing void jishu if jishu 1000 PORTA PORTA jishu 0 voidmain void PORTA 0 x00 DDRA 0 xFF TCCR0 0 x0B TCNT0 0 x00 OCR0 0 x3E TIMSK 0 x02 asm sei while 1 应该定义成int 不能定义成char 计数器jishu加1

14、 当jishu 1000 表明1s时间到 按课题要求输出 jishu清 0 很重要 定义PA口输出 CTC模式 系统频率64分频 OC0引脚断开 1ms定时的比较值 T C0比较匹配中断开放 总中断开放SREG 0 x80 T C2用作实时时钟 应用课题1 利用定时器T C2的实时时钟晶振 产生1s中断 并在PD7引脚输出0 5Hz的方波 T C2的时钟源 PC6 TOSC1 PC7 TOSC2 的32 768kHz的晶振 32 768kHz的晶振128分频 分频后的晶振频率为256Hz 周期为1 256秒 计录256个脉冲时 所需时间为1秒 32 768kHz的晶振256分频 分频后的晶振频

15、率为128Hz 周期为1 128秒 记录128个脉冲所需时间也正好为1秒 为什么将32 768kHz称为 手表晶振 或 实时时钟晶振 T C2为什么可用作 实时时钟RTC RealTimeClock 其道理就在如此 设计思想 使用定时器的比较匹配工作方式 计数频率256分频 比较匹配值应为128即0 x80 引脚PD7为T C2输出OC2 1s反转一次 输出波形频率为0 5Hz OC2设置为T C2比较匹配后触发 程序设计与分析 include pragmainterrupt handlerzhixing 4voidzhixing void voidmain void PORTD 0 x00

16、DDRD 0 xFF TCCR2 0 x1E ASSR 0 x08 TCNT2 0 x00 OCR2 0 x80 TIMSK 0 x80 SREG 0 x80 while 1 定义PD口为输出 定时器2比较匹配中断服务程序 定时器2定时频率为外部32768HZ 0 x1E 0b00011110 CTC模式 比较匹配后OC2触发 计数频率256分频 比较匹配值为128 T C2比较匹配中断开放 全局中断开放 在TCNT0与OCR0匹配的同时 置比较匹配标志位OCF0为 1 标志位OCF0可以用于申请中断 一旦MCU响应比较匹配中断 用户在中断服务程序中可以修改OCR0的值 PWM输出原理与方法 1 PWM Pulse WidthModulation 脉冲宽度调制 PWM输出的一般形式 t PWM波形的特点 波形频率恒定 其占空比D可以改变 定义D t 为占空比 PWM输出原理与方法 2 计数器 比值寄存器 比较器 S1 S2 溢出标志TF PWM输出 时钟源 当定时器处于PWM工作方式时 计数器以一定的频率上 下计数 从0 x00 0 xFF 然后反向从0 xFF 0 x00 如此反复

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号