AVR单片机(学习ing)-ATMEGA16的定时/计数器
• Bit 2 – TOIE1: T/C1 溢出中断使能
当该位被设为"1”,且状态寄存器中的I 位被设为”1” 时, T/C1 的溢出中断使能。一旦
TIFR 上的TOV1 置位, CPU 即开始执行T/C1 溢出中断服务程序。
7)T/C 中断标志寄存器- TIFR
• Bit 5 – ICF1: T/C1 输入捕捉标志位
外部引脚ICP1 出现捕捉事件时ICF1 置位。此外,当ICR1 作为计数器的TOP 值时,一
旦计数器值达到TOP, ICF1 也置位。
执行输入捕捉中断服务程序时ICF1 自动清零。也可以对其写入逻辑"1” 来清除该标志位。
• Bit 4 – OCF1A: T/C1 输出比较 A 匹配标志位
当TCNT1 与OCR1A 匹配成功时,该位被设为"1”。
强制输出比较(FOC1A) 不会置位OCF1A。
执行强制输出比较匹配A 中断服务程序时OCF1A 自动清零。也可以对其写入逻辑"1” 来
清除该标志位。
• Bit 3 – OCF1B: T/C1 输出比较 B 匹配标志位
当TCNT1 与OCR1B 匹配成功时,该位被设为"1”。
强制输出比较(FOC1B) 不会置位OCF1B。
执行强制输出比较匹配B 中断服务程序时OCF1B 自动清零。也可以对其写入逻辑"1” 来
清除该标志位。
• Bit 2 – TOV1: T/C1 溢出标志
该位的设置与T/C1 的工作方式有关。工作于普通模式和CTC 模式时,T/C1 溢出时TOV1
置位。对工作在其它模式下的TOV1 标志位置位,执行溢出中断服务程序时OCF1A 自动清零。也可以对其写入逻辑"1” 来清除该标志位。
6、8 位有PWM 与异步操作的定时器/ 计数器2
小小介绍~~~
T/C2 是一个通用单通道8 位定时/ 计数器,其主要特点如下:
• 单通道计数器
• 比较匹配时清零定时器 ( 自动重载)
• 无干扰脉冲, 相位正确的脉宽调制器 (PWM)
• 频率发生器
• 10 位时钟预分频器
• 溢出与比较匹配中断源(TOV2 与OCF2)
• 允许使用外部的32 kHz 手表晶振作为独立的I/O 时钟源
其实这里重要的应该是异步操作,这里只是简单介绍一下下,后面会有实验专门来操作的,尽量给力~~~这里我也不详细介绍了,重要的是后面的寄存器
寄存器:
定时器/ 计数器TCNT2、输出比较寄存器OCR2 为8 位寄存器。中断请求( 图中简写为
Int.Req.)。信号在定时器中断标志寄存器TIFR 都有反映。 所有中断都可以通过定时器中
断屏蔽寄存器TIMSK 单独进行屏蔽。图中未给出TIFR 与TIMSK。
T/C 的时钟可以为通过预分频器的内部时钟或 通过由TOSC1/2 引脚接入的异步时钟,详
见本节后续部分。异步操作由异步状态寄存器ASSR 控制。时钟选择逻辑模块控制引起
T/C计数值增加(或减少)的时钟源。 没有选择时钟源时T/C处于停止状态。时钟选择逻辑模
块的输出称为clkT2。
双缓冲的输出比较寄存器OCR2 一直与TCNT2 的数值进行比较。波形发生器利用比较结
果产生PWM 波形或在比较输出引脚OC2 输出可变频率的信号。参见P111 “ 输出比较单
元” 。比较匹配结果还会置位比较匹配标志OCF2,用来产生输出比较中断请求。
7、8位T/C2的寄存器
1)T/C2的控制寄存器
• Bit 7 – FOC2: 强制输出比较
FOC2仅在WGM指明非PWM模式时才有效。但是,为了保证与未来器件的兼容性,使用
PWM 时,写TCCR2 要对其清零。写1 后,波形发生器将立即进行比较操作。比较匹配输
出引脚 OC2 将按照COM21:0 的设置输出相应的电平。要注意FOC2 类似一个锁存信号,
真正对强制输出比较起作用的是COM21:0 的设置。
FOC2 不会引发任何中断,也不会在使用OCR2 作为TOP 的CTC 模式下对定时器进行清
零。
读FOC2 的返回值永远为0。
• Bit 6, 3 – WGM21:0: 波形产生模式
这几位控制计数器的计数序列,计数器最大值TOP 的来源,以及产生何种波形。T/C 支
持的模式有:普通模式,比较匹配发生时清除计数器模式(CTC),以及两种PWM 模式
• Bit 5:4 – COM21:0: 比较匹配输出模式
这些位决定了比较匹配发生时输出引脚OC0 的电平。如果COM01:0 中的一位或全部都
置位, OC0 以比较匹配输出的方式进行工作。同时其方向控制位要设置为1 以使能输出
驱动。
当OC0 连接到物理引脚上时, COM01:0 的功能依赖于WGM01:0 的设置。Table 51 给
出了当WGM01:0 设置为普通模式或CTC 模式时COM01:0 的功能。
• Bit 2:0 – CS22:0: 时钟选择
这三位时钟选择位用于选择T/C 的时钟源,见Table 54。
2)定时器/ 计数器寄存器- TCNT2
通过T/C 寄存器可以直接对计数器的8 位数据进行读写访问。对TCNT2 寄存器的写访问
将在下一个时钟阻止比较匹配。在计数器运行的过程中修改TCNT2 的数值有可能丢失一
次TCNT2 和OCR2 的比较匹配。
AVR单片机ATMEGA16定时计数 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)