(精)atmega16寄存器笔记整理(3)

2019-04-22 09:20

FOC1A: 通道A 强制输出比较 FOC1B: 通道B 强制输出比较

FOC1A/FOC1B只有当WGM13:0指定为非PWM模式时被激活。为与未来器件兼容,工作在PWM 模式下对TCCR1A 写入时,这两位必须清零。当FOC1A/FOC1B 位置1 ,立即强制波形产生单元进行比较匹配。COM1x1:0 的设置改变 OC1A/OC1B 的输出。注意FOC1A/FOC1B 位作为选通信号。COM1x1:0 位的值决定强制比较的效果。 在CTC 模式下使用OCR1A 作为TOP 值, FOC1A/FOC1B 选通即不会产生中断也不好清除定时器,FOC1A/FOC1B 位总是读为0

WGM11,WGM11 波形发生模式

这两位与位于TCCR1B 寄存器的WGM13:2 相结合,用于控制计数器的计数序列——计数器计数的上限值和确定波形发生器的工作模式。T/C 支持的工作模式有:普通模式( 计数器),比较匹配时清零定时器(CTC) 模式,及三种脉宽调制(PWM) 模式。

波形产生的位描述

WGM1模式 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 WGM12 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 WGM11 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 WGM10 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 定时器/ 计数器工作模式 普通模式 8位相位修正PWM 9位相位修正PWM 10位相位修正PWM CTC 8位快速PWM 9位快速PWM 10位快速PWM 相位与频率修正WPM 相位与频率修正PWM 相位修正PWM 相位修正PWM CTC 保留– 快速PWM 快速PWM 计数 上限值 TOP 0xFFFF 0x00FF 0x01FF 0x03FF OCR1A 0x00FF 0x01FF 0x03FF ICR1 OCR1A ICR1 OCR1A ICR1 – ICR1 OCR1A TOP TOP OCR1x 更新 时刻 立即 更新 TOP TOP TOP 立即更新MAX TOP TOP TOP BOTTOM BOTTOM TOP TOP TOV1 置位时TOV1 置位时刻 MAX BOTTOM BOTTOM BOTTOM 4 TOP TOP TOP BOTTOM BOTTOM BOTTOM BOTTOM 立即更新MAX – TOP TOP

(2)T/C1 控制寄存器B(TCCR1B) bit7 bit6 ICNC1 ICES1 bit5 – bit4 WGM13 bit3 WGM12 bit2 CS12 bit1 CS11 bit0 CS10 ICNC1: 输入捕捉噪声抑制器

置位ICNC1 将使能输入捕捉噪声抑制功能。此时外部引脚ICP1 的输入被滤波。其作用是从ICP1 引脚

连续进行4 次采样。如果4 个采样值都相等,那么信号送入边沿检测器。因此使能该功能使得输入捕捉被延迟了4 个时钟周期。

ICES1: 输入捕捉触发沿选择

该位选择使用ICP1 上的哪个边沿触发捕获事件。ICES1 为\选择的是下降沿触发输入捕捉; ICES1 为\选择的是逻辑电平的上升沿触发输入捕捉。

按照ICES1 的设置捕获到一个事件后,计数器的数值被复制到ICR1 寄存器。捕获事件还会置为ICF1。如果此时中断使能,输入捕捉事件即被触发。

当ICR1 用作TOP 值( 见TCCR1A 与TCCR1B 寄存器中WGM13:0 位的描述) 时,ICP1与输入捕捉功能脱开,从而输入捕捉功能被禁用。

Bit 5 – 保留位

该位保留。为保证与将来器件的兼容性,写TCCR1B 时,该位必须写入\。

WGM13:2: 波形发生模式 (见TCCR1A 寄存器中的描述。)

CS12:0: 时钟选择

时钟选择位描述

CS02 0 0 0 0 1 1 1 1 CS01 0 0 1 1 0 0 1 1 CS00 0 1 0 1 0 1 0 1 说 明 无时钟源 clkI/O/1 clkI/O/8 clkI/O/64 clkI/O/256 clkI/O/1024 外部T1 外部T1 选择使用外部时钟源后,即使T1 引脚被定义为输出,其1 引脚上的逻辑信号电平变化仍然会驱动T/C1 计数,这个特性允许用户通过软件来控制计数

(3)T/C1(TCNT1H 与TCNT1L)

bit7 bit6 bit5 bit4 bit3 TCNT1[15:8] TCNT1[7:0] bit2 bit1 bit0 TCNT1H与TCNT1L组成了T/C1的数据寄存器TCNT1。通过它们可以直接对定时器/计数器单元的16 位计数器进行读写访问。为保证CPU 对高字节与低字节的同时读写,必须使用一个8 位临时高字节寄存器TEMP。TEMP 是所有的16 位寄存器共用的 。在计数器运行期间修改TCNT1的内容有可能丢失一次TCNT1与OCR1x的比较匹配操作。写TCNT1 寄存器将在下一个定时器周期阻塞比较匹配。

(4)输出比较寄存器1A(OCR1AH与OCR1AL)

bit7 bit6 bit5 bit4 bit3 OCR1A[15:8] OCR1A[7:0] bit2 bit1 bit0

(5)输出比较寄存器1B(OCR1BH与OCR1BL)

bit7 bit6 bit5 bit4 bit3 OCR1B[15:8] OCR1B[7:0] bit2 bit1 bit0 该寄存器中的16 位数据与TCNT1 寄存器中的计数值进行连续的比较,一旦数据匹配,将产生一个输出比较中断,或改变OC1x 的输出逻辑电平。

输出比较寄存器长度为16 位。为保证CPU 对高字节与低字节的同时读写,必须使用一个8 位临时高字节寄存器TEMP。TEMP 是所有的16 位寄存器共用的,

(6)输入捕捉寄存器1(ICR1H 与ICR1L)

bit7 bit6 bit5 bit4 bit3 ICR1[15:8] ICR1[7:0] bit2 bit1 bit0 当外部引脚ICP1(或T/C1的模拟比较器)有输入捕捉触发信号产生时,计数器TCNT1中的值写入ICR1 中。ICR1 的设定值可作为计数器的TOP 值。

输入捕捉寄存器长度为16 位。为保证CPU 对高字节与低字节的同时读写,必须使用一个8 位临时高字节寄存器TEMP。TEMP 是所有的16 位寄存器共用的。

3、定时器2

(1)T/C 控制寄存器TCCR2

bit7 bit6 bit5 bit4 bit3 FOC2 WGM20 COM21 COM20 WGM21

FOC2: 强制输出比较位

FOC2仅在WGM指明非PWM模式时才有效。但是,为了保证与未来器件的兼容性,在使用PWM 时,写TCCR2要对其清零。对其写1 后,波形发生器将立即进行比较操作。比较匹配输出引脚 OC2 将按照COM21:0 的设置输出相应的电平。要注意FOC2类似一个锁存信号,真正对强制输出比较起作用的是COM21:0 的设置。

FOC2不会引发任何中断,也不会在利用OCR2作为TOP的CTC模式下对定时器进行清零的操作。 读FOC2 的返回值永远为0。

WGM21:0: 波形产生模式

这几位控制计数器的计数序列,计数器的最大值TOP,以及产生何种波形。T/C 支持的模式有:普通模式,比较匹配发生时清除计数器模式(CTC),以及两种PWM 模式。 波形产生模式的位定义

bit2 CS22 bit1 CS21 bit0 CS20 模式 WGM21 WGM20 T/C 的工作模式 0 1 2 3 0 0 1 1 0 1 0 1 OCR2的更 TOV2 的置位时刻 新时间 普通 0xFF 立即更新 MAX 相位修正PWM 0xFF TOP BOTTOM CTC OCR0 立即更新 MAX 快速PWM 0xFF TOP MAX TOP COM21:0: 比较匹配输出模式

这些位决定了比较匹配发生时输出引脚OC2 的电平。如果COM21:0 中的一位或全部都置位, OC2 以比较匹配输出的方式进行工作。同时其方向控制位要设置为1 以使能输出驱动器。

当OC2 连接到物理引脚上时, COM21:0 的功能依赖于WGM21:0 的设置。下表给出了当WGM21:0 设置为普通模式或CTC 模式时COM21:0 的功能。

比较输出模式,非PWM 模式 COM21 0 0 1 1 COM21 0 0 1 1 COM20 0 1 0 1 COM20 0 1 0 1 说明 正常的端口操作,不与OC2相连接 比较匹配发生时OC2取反 比较匹配发生时OC2清零 比较匹配发生时OC2置位 说明 正常的端口操作,不与OC2相连接 保留 比较匹配发生时OC2清零,计数到TOP 时OC2置位 比较匹配发生时OC2置位,计数到TOP 时OC2清零 比较输出模式,快速PWM 模式 注意:一个特殊情况是OCR2 等于TOP,且COM21 置位。此时比较匹配将被忽略,而计数到TOP 时OC2 的动作继续有效。

比较输出模式,相位修正PWM 模式 COM21 0 0 1 1 效。

COM20 0 1 0 1 说明 正常的端口操作,不与OC2相连接 保留 在升序计数时发生比较匹配将清零OC2 ,降序计数时发生比较匹配将置位OC2 在升序计数时发生比较匹配将置位OC2 ,降序计数时发生比较匹配将清零 OC2 注意: 一个特殊情况是OCR2 等于TOP,且COM21 置位。此时比较匹配将被忽略,而计数到TOP 时OC2的动作继续有 CS02:0: 时钟选择 CS22 0 0 0 0 1 1 1 1 CS21 0 0 1 1 0 0 1 1 CS20 0 1 0 1 0 1 0 1 说 明 无时钟, T/C 不工作 clkI/O/1 ( 没有预分频) clkI/O/8 ( 来自预分频器) clkI/O/64 ( 来自预分频器) clkI/O/256 ( 来自预分频器) clkI/O/1024 ( 来自预分频器) 时钟由T0 引脚输入,下降沿触发 时钟由T0 引脚输入,上升沿触发 如果T/C2 使用外部时钟,即使T2被配置为输出,其上的电平变化仍然会驱动记数器。利用这一特性可通过软件控制记数。

(2)T/C 寄存器TCNT2

bit7 bit6 bit5 bit4 bit3 TCNT2[7:0] bit2 bit1 bit0 通过T/C 寄存器可以直接对计数器的8 位数据进行读写访问。对TCNT2 寄存器的写访问将在下一个时钟阻止比较匹配。在计数器运行的过程中修改TCNT2的数值有可能丢失一次TCNT2 和OCR2 的比较匹配。

(3)输出比较寄存器OCR2

bit7 bit6 bit5 bit4 bit3 OCR2[7:0] bit2 bit1 bit0 输出比较寄存器包含一个8 位的数据,不间断地与计数器数值TCNT2 进行比较。匹配事件可以用来产生输出比较中断,或者用来在OC2 引脚上产生波形。


(精)atmega16寄存器笔记整理(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国润唇膏行业商业模式专项分析与企业投资环境研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: