您的位置 首页 技术

浅谈ATmega 16单片机的T/C0操控寄存器和T/C1操控寄存器

浅谈ATmega 16单片机的T/C0控制寄存器和T/C1控制寄存器-位0——PSR0:T/C1与T/C0的预分频器复位。PSR10置位时T/C1与T/C0的预分频器复位,操作完成后这一位由硬件清零。写入世时不会引起任何操作。T/C1与T/C0共用这一预分频器,且预分频器复位对两个定时器都有影响。读该位总是返回0。

  T/C0相关

  1.TCCR0——T/C0操控寄存器

  FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00

  位7——FOC0:强制输出比较位。

  FOC0仅在WGM[01:00]设置为非PWM形式时才有用。为了确保与未来器材的兼容性,在运用PWM时,写TCCR0要对其清零。对其写1后,将当即进行比较操作。比较匹配输出引脚OC0将依照COM[01:00]的设置输出相应的电平。要留意FOC0相似一个锁存信号,真正对强制输出比较起作用的是COM[01:00]的设置。FOC0不会引发任何中止,也不会在运用OCR0作为TOP的CTC形式下对进行清零的操作。读FOC0的回来值永远为0。

浅谈ATmega 16单片机的T/C0操控寄存器和T/C1操控寄存器

  位6,位3——WGM[01:00]:波形发生形式

  这两位操控的计数序列、计数器的最大值及发生的波形。T/C0支撑的形式有:一般形式,比较匹配发生时铲除计数器形式(CTC),以及两种PWM形式,详见下表:

  形式 WGM01 WGM00 T/C的 TOP OCR0的 TOV0的

  (CTC0) (PWM0) 作业形式 更新时间 置位时间

  0 0 0 一般 0xFF 当即更新 0xFF

  1 0 1 批改PWM 0xFF 0xFF 0x00

  2 1 0 CTC OCR0 当即更新 0xFF

  3 1 1 快速PWM 0xFF 0xFF 0xFF

  位5,位4——COM[01:00]:比较匹配输出形式

  这些位决议了比较匹配发生时输出引脚OC0的电平。假如COM[01:00]中的一位或全部都

  置位,OC0以比较匹配输出的方法进行作业。一起其方向操控位要设置为1以使能输出驱动器。

  当OC0衔接到物理引脚上时,COM[01:00]的功用依赖于WGM[01:00]的设置。

  比较输出形式,非PWM形式

  COM01 COM00 阐明

  0 0 正常的端口操作,不与OC0引脚物理衔接

  0 1 比较匹配发生时OC0取反

  1 0 比较匹配发生时OC0清零

  1 1 比较匹配发生时OC0置位

  比较输出形式,快速PWM形式

  COM01 COM00 阐明

  0 0 正常的端口操作,不与OC0引脚物理衔接

  0 1 保存

  1 0 比较匹配发生时将清零OC0,计数到0XFF时OC0置位

  1 0 比较匹配发生时将置位OC0,计数到0XFF时OC0清零

  比较输出形式,相位批改PWM形式

  COM01 COM00 阐明

  0 0 正常的端口操作,不与OC0引脚物理衔接

  0 1 保存

  1 0 在向上计数发生比较匹配时将清零OC0,在向下计数发生比匹配OC0置位

  1 0 在向上计数发生比较匹配时将置位OC0,在向下计数发生比匹配OC0清零

  位[2:0]——CS[02:00]:时钟挑选

  用于挑选T/C0的时钟源。

  CS02 CS01 CS00 阐明

  0 0 0 无时钟,T/C不作业

  0 0 1 clk/1(没有预分频)

  0 1 0 clk/8(来自预)

  0 1 1 clk/64(来自预分频器)

  1 0 0 clk/256(来自预分频器)

  1 0 1 clk/1024(来自预分频器)

  1 1 0 时钟由T0引脚输入,下降沿触发

  1 1 1 时钟由T0引脚输入,上升沿触发

  2.TCNT0——T/C0计数寄存器

  3.OCR0——输出比较寄存器

  4.TIMSK——T/C中止屏蔽寄存器

  OCIE2 TOIE2 TICE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0

  位1——OCIE0:T/C0输出比较匹配中止使能位。当OCIE0和状况寄存器的大局中止使能位I都为”1“时,T/C0的输出比较匹配中止使能。当T/C0的比较匹配发生,即TIFR中的OCF0置位时,发生输出比较匹配中止。

  位0——TOIE0:T/C0溢出中止使能。当TOIE0和状况寄存器的大局中止使能位I都为”1”时,T/C0的溢出中止使能。当T/C0发生计数溢出,即TIFR中的TOV0方位位时,发生溢出中止。

  5.TIFR——T/C中止标志寄存器

  OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOV0

  位1——OCF0:T/C0输出比较标志位0。当T/C0与OCR0(输出比较寄存器0)的值匹配时,OCF0置位。此位在中止服务程序里硬件清零,也能够对其写1来清零。当SREG中的位I、OCIE0(T/C0比较匹配中止使能)和OCF0都置位时,中止服务程序得到履行。

  位0——TOV0:T/C0溢出标志。当T/C0溢出时,TOV0置位。履行相应的中止服务程序时此位硬件清零。此外,TOV0也能够经过写1来清零。当SREG中的位I、TOIE0(T/C0溢出中止使能)和TOV0都置位时,中止服务程序得到履行。留意:在相位批改PWM形式中,当T/C0在0x00改动记数方向时,TOV0置位。

  6.SFIOR——特别功用寄存器

  ADTS2 ADTS1 ADTS0 —— ACME PUD PSR2 PSR10

  位0——PSR0:T/C1与T/C0的预分频器复位。PSR10置位时T/C1与T/C0的预分频器复位,操作完成后这一位由硬件清零。写入世时不会引起任何操作。T/C1与T/C0共用这一预分频器,且预分频器复位对两个定时器都有影响。读该位总是回来0。

  T/C1相关寄存器

  1.TCCR1A——T/C1操控寄存器

  COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10

  位 7:6–COM1A[1:0]:通道A的比较输出形式

  位 5:4–COM1B[1:0]:通道B的比较输出形式

  比较输出形式,非PWM形式

  COM1A1 COM1A0 阐明

  COM1B1 COM1B0

  0 0 正常的端口操作,不与OC1A/OC1B引脚物理衔接

  0 1 比较匹配发生时OC0取反

  1 0 比较匹配发生时OC0清零

  1 1 比较匹配发生时OC0置位

  比较输出形式,快速PWM形式

  COM1A1 COM1A0 阐明

  COM1B1 COM1B0

  0 0 正常的端口操作,不与OC1A/OC1B引脚物理衔接

  0 1 WGM[3:0]=15:比较匹配时OC1A取反,OC1B不占用物理引脚。

  WGM[3:0]为其它值时为一般端口操作,非OC1A/OC1B功用

  1 0 比较匹配发生时将清零OC1A/OC1B,计数到0XFF时OC1A/OC1B置位

  1 1 比较匹配发生时将置位OC1A/OC1B,计数到0XFF时OC1A/OC1B清零

  比较输出形式,相位批改PWM形式及相频批改PWM形式

  COM01 COM00 阐明

  0 0 正常的端口操作,不与OC1A/OC1B引脚物理衔接

  0 1 WGM13:0=9或14:比较匹配时OC1A取反,OC1B不占用物理引脚。

  WGM13:0为其它值时为一般端口操作,非OC1A/OC1B功用

  1 0 升序记数时比较匹配将清零OC1A/OC1B,

  降序记数时比较匹配将置位OC1A/OC1B

  1 1 升序记数时比较匹配将置位OC1A/OC1B,

  降序记数时比较匹配将清零OC1A/OC1B

  位3–FOC1A:通道A强制输出比较

  位2–FOC1B:通道B强制输出比较

  FOC1A/FOC1B只有当WGM[13:10]指定为非PWM形式时被激活。为与未来器材兼容,作业在PWM形式下对TCCR1A写入时,这两位有必要清零。当FOC1A/FOC1B方位1,当即强制波形发生单元进行比较匹配。COM1X[1:0]的设置改动OC1A/OC1B的输出。留意FOC1A/FOC1B位作为选通信号。COM1x1:0位的值决议强制比较的作用。

  在CTC形式下运用OCR1A作为TOP值,FOC1A/FOC1B选通即不会发生中止也不会铲除定时器。

  FOC1A/FOC1B位总是读为0。

  位1:0–WGM1[1:0]:波形发生形式

  这两位与坐落TCCR1B寄存器的WGM[13:12]相结合,用于操控计数器的计数序列—计数器计数的上限值和确认波形发生器的作业形式。T/C支撑的作业形式有:一般形式(计数器),比较匹配时清零定时器(CTC)形式,及三种脉宽调制(PWM)形式。

  形式 WGM13 WGM12 WGM11 WGM10 定时器/计数器 上限值 OCR1x更 OV1置位

  (CTC1) (PWM11) (PWM10) 作业形式限值 TOP 新时间T 时间

  0 0 0 0 0 一般形式 0xFFFF 当即更新 0xFFFF

  1 0 0 0 1 8位相位批改PWM 0x00FF TOP 0x0000

  2 0 0 1 0 9位相位批改PWM 0x01FF TOP 0x0000

  3 0 0 1 1 10位相位批改PWM 0x03FF TOP 0x0000

  4 0 1 0 0 CTC OCR1A 当即更新 0xFFFF

  5 0 1 0 1 8位快速PWM 0x00FF TOP TOP

  6 0 1 1 0 9位快速PWM 0x01FF TOP TOP

  7 0 1 1 1 10位快速PWM 0x03FF TOP TOP

  8 1 0 0 0 相频批改PWM ICR1 0 0X0000

  9 1 0 0 1 相频批改PWM OCR1A 0 0X0000

  10 1 0 1 0 相位批改PWM ICR1 TOP 0X0000

  11 1 0 1 1 相位批改PWM OCR1A TOP 0X0000

  12 1 1 0 0 CTC ICR1 当即更新 0XFFFF

  13 1 1 0 1 保存 – – –

  14 1 1 1 0 快速PWM ICR1 TOP TOP

  15 1 1 1 1 快速PWM OCR1A TOP TOP

  2.TCCR1B——T/C1操控寄存器

  ICNC1 ICES1 —— WGM13 WGM12 CS11 CS10

  位7——ICNC1:输入捕捉噪声按捺使能位。

  置位ICNC1将使能输入捕捉噪声按捺功用。此刻外部引脚ICP1的输入被滤波。其作用是从ICP1引脚接连进行4次采样。假如4个采样值都持平,那么信号送入边缘检测器。因而使能该功用使得输入捕捉被延迟了4个时钟周期。

  位6——ICES1:输入捕捉触发沿挑选

  该位挑选运用ICP1上的哪个边缘触发捕获事情。ICES为“0”挑选的是下降沿触发输入捕捉;ICES1为”1”挑选的是逻辑电平的上升沿触发输入捕捉。依照ICES1的设置捕获到一个事情后,计数器的数值被复制到ICR1寄存器。捕获事情还会置为ICF1。假如此刻中止使能,输入捕捉事情即被触发。当ICR1用作TOP值(见TCCR1A与TCCR1B寄存器中WGM[13:10]位的描绘)时,ICP1与输入捕捉功用脱开,然后输入捕捉功用被禁用。

  位5——保存位

  该位保存。为确保与将来器材的兼容性,写TCCR1B时,该位有必要写入“0”。

  位4:3——WGM1[3:2]:波形发生形式

  位2:0——CS1[2:0]:时钟挑选

  用于挑选T/C1的时钟源。

  CS12 CS11 CS10 阐明

  0 0 0 无时钟,T/C1不作业

  0 0 1 clk/1(没有预分频)

  0 1 0 clk/8(来自预分频器)

  0 1 1 clk/64(来自预分频器)

  1 0 0 clk/256(来自预分频器)

  1 0 1 clk/1024(来自预分频器)

  1 1 0 时钟由T1引脚输入,下降沿触发

  1 1 1 时钟由T1引脚输入,上升沿触发

  3.TCNT1——T/C1计数寄存器

  4.OCR1A、OCR1B——T/C1输出比较寄存器

  5.ICR1——T/C1输入捕获寄存器

  6.TIMSK——T/C中止屏蔽寄存器

  OCIE2 TOIE2 TICE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0

  位 5——TICIE1:T/C1输入捕捉中止使能。

  当该位被设为”1”,且状况寄存器中的I位被设为“1”时,T/C1的输入捕捉中止使能。一旦TIFR的ICF1置位,CPU即开端履行T/C1输入捕捉中止服务程序。

  位4——OCIE1A:输出比较A匹配中止使能

  当该位被设为”1”,且状况寄存器中的I位被设为“1”时,T/C1的输出比较A匹配中止使能。一旦TIFR上的OCF1A置位,CPU即开端履行T/C1输出比较A匹配中止服务程序。

  位3——OCIE1B:T/C1输出比较B匹配中止使能。

  当该位被设为”1”,且状况寄存器中的I位被设为“1”时,使能T/C1的输出比较B匹配中止使能。一旦TIFR上的OCF1B置位,CPU即开端履行T/C1输出比较B匹配中止服务程序。

  位 2——TOIE1:T/C1溢出中止使能

  当该位被设为”1”,且状况寄存器中的I位被设为”1”时,T/C1的溢出中止使能。一旦TIFR上的TOV1置位,CPU即开端履行T/C1溢出中止服务程序。

  7.TIFR——T/C中止标志寄存器

  OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOV0

  位 5——ICF1:T/C1输入捕捉标志位

  外部引脚ICP1呈现捕捉事情时ICF1置位。此外,当ICR1作为计数器的TOP值时,一旦计数器值到达TOP,ICF1也置位。履行输入捕捉中止服务程序时ICF1主动清零。也能够对其写入逻辑“1”来铲除该标志位。

  位 4——OCF1A:T/C1输出比较A匹配标志位

  当TCNT1与OCR1A匹配成功时,该位被设为”1”。强制输出比较(FOC1A)不会置位OCF1A。履行强制输出比较匹配A中止服务程序时OCF1A主动清零。也能够对其写入逻辑“1”来铲除该标志位。

  位3——OCF1B:T/C1输出比较B匹配标志位

  当TCNT1与OCR1B匹配成功时,该位被设为”1”。强制输出比较(FOC1B)不会置位OCF1B。履行强制输出比较匹配B中止服务程序时OCF1B主动清零。也能够对其写入逻辑“1”来铲除该标志位。

  位2——TOV1:T/C1溢出标志

  该位的设置与T/C1的作业方法有关。作业于一般形式和CTC形式时,T/C1溢出时TOV1置位。

  T/C2相关寄存器

  1.TCCR2——T/C2操控寄存器

  FOC2 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20

  位7——FOC2:强制输出比较

  FOC2仅在WGM2[1:0]指明非PWM形式时才有用。可是,为了确保与未来器材的兼容性,运用PWM时,写TCCR2要对其清零。写1后,波形发生器将当即进行比较操作。比较匹配输出引脚OC2将依照COM2[1:0]的设置输出相应的电平。要留意FOC2相似一个锁存信号,真正对强制输出比较起作用的是COM2[1:0]的设置。FOC2不会引发任何中止,也不会在运用OCR2作为TOP的CTC形式下对定时器进行清零。读FOC2的回来值永远为0。

  位6,位3——WGM2[1:0]:波形发生形式

  这2位操控计数器的计数序列,计数器最大值TOP的来历,以及发生何种波形。T/C支撑的形式有:一般形式,比较匹配发生时铲除计数器形式(CTC),以及两种PWM形式。

  形式 WGM21 WGM20 T/C的 TOP OCR2的 TOV2的

  (CTC2) (PWM2) 作业形式 更新时间 置位时间

  0 0 0 一般 0xFF 当即更新 0xFF

  1 0 1 相位批改PWM 0xFF 0xFF 0x00

  2 1 0 CTC OCR2 当即更新 0xFF

  3 1 1 快速PWM 0xFF 0xFF 0xFF

  位5:4——COM2[1:0]:比较匹配输出形式

  这些位决议了比较匹配发生时输出引脚OC0的电平。假如COM2[1:0]中的一位或全部都置位,OC0以比较匹配输出的方法进行作业。一起其方向操控位要设置为1以使能输出驱动。当OC2衔接到物理引脚上时,COM2[1:0]的功用依赖于WGM2[1:0]的设置。

  比较输出形式,非PWM形式

  COM21 COM20 阐明

  0 0 正常的端口操作,不与OC2引脚物理衔接

  0 1 比较匹配发生时OC2取反

  1 0 比较匹配发生时OC2清零

  1 1 比较匹配发生时OC2置位

  比较输出形式,快速PWM形式

  COM21 COM20 阐明

  0 0 正常的端口操作,不与OC2引脚物理衔接

  0 1 保存

  1 0 比较匹配发生时将清零OC2,计数到0XFF时OC2置位

  1 0 比较匹配发生时将置位OC2,计数到0XFF时OC2清零

  比较输出形式,相位批改PWM形式

  COM21 COM20 阐明

  0 0 正常的端口操作,不与OC2引脚物理衔接

  0 1 保存

  1 0 在向上计数发生比较匹配时将清零OC2,在向下计数发生比匹配OC2置位

  1 0 在向上计数发生比较匹配时将置位OC2,在向下计数发生比匹配OC2清零

  位[2:0]——CS[02:00]:时钟挑选

  用于挑选T/C0的时钟源。

  CS22 CS21 CS20 阐明

  0 0 0 无时钟,T/C2不作业

  0 0 1 clk/1(没有预分频)

  0 1 0 clk/8(来自预分频器)

  0 1 1 clk/32(来自预分频器)

  1 0 0 clk/64(来自预分频器)

  1 0 1 clk/128(来自预分频器)

  1 1 0 clk/256(来自预分频器)

  1 1 1 clk/1024(来自预分频器)

  2.TCNT2——T/C2计数寄存器

  3.OCR2——输出比较寄存器

  4.TIMSK——T/C中止屏蔽寄存器

  OCIE2 TOIE2 TICE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0

  位7——OCIE2:T/C2输出比较匹配中止使能位。当OCIE2和状况寄存器的大局中止使能位I都为”1“时,T/C2的输出比较匹配中止使能。当T/C2的比较匹配发生,即TIFR中的OCF2置位时,发生输出比较匹配中止。

  位6——TOIE2:T/C2溢出中止使能。当TOIE0和状况寄存器的大局中止使能位I都为”1”时,T/C2的溢出中止使能。当T/C2发生计数溢出,即TIFR中的TOV2方位位时,发生溢出中止。

  5.TIFR——T/C中止标志寄存器

  OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOV0

  位7——OCF2:T/C2输出比较标志位。当T/C2与OCR2(输出比较寄存器)的值匹配时,OCF2置位。此位在中止服务程序里硬件清零,也能够对其写1来清零。当SREG中的位I、OCIE2(T/C2比较匹配中止使能)和OCF2都置位时,中止服务程序得到履行。

  位6——TOV2:T/C2溢出标志。当T/C2溢出时,TOV2置位。履行相应的中止服务程序时此位硬件清零。此外,TOV2也能够经过写1来清零。当SREG中的位I、TOIE2(T/C2溢出中止使能)和TOV2都置位时,中止服务程序得到履行。留意:在相位批改PWM形式中,当T/C2在0x00改动记数方向时,TOV2置位。

  6.SFIOR——特别功用寄存器

  ADTS2 ADTS1 ADTS0 —— ACME PUD PSR2 PSR10

  位1——PSR2:T/C2的预分频器复位。PSR2置位时T/C2的预分频器复位,操作完成后这一位由硬件清零,写入时不会引起任何操作。读该位总是回来0。

  7.ASSR——异步状况寄存器

  —— —— —— —— AS2 TCN2UB OCR2UB TCR2UB

  位3——AS2:异步T/C2

  位2——TCN2UB:T/C2更新中

  T/C2作业于异步形式时,写TCNT2将引起TCN2UB置位。当TCNT2从暂存寄存器更新结束后TCN2UB由硬件清零。TCN2UB为0标明TCNT2能够写入新值了。

  位1——OCR2UB:输出比较寄存器2更新中

  T/C2作业于异步形式时,写OCR2将引起OCR2UB置位。当OCR2从暂存寄存器更新结束后OCR2UB由硬件清零。OCR2UB为0标明OCR2能够写入新值了。

  位 0——TCR2UB:T/C2操控寄存器更新中

  T/C2作业于异步形式时,写TCCR2将引起TCR2UB置位。当TCCR2从暂存寄存器更新结束后TCR2UB由硬件清零。TCR2UB为0标明TCCR2能够写入新值了。假如在更新忙标志置位的时分写上述任何一个寄存器都将引起数据的损坏,并引发不必要的中止。读取TCNT2、OCR2和TCCR2的机制是不同的。读取TCNT2得到的是实践的值,而

  OCR2和TCCR2则是从暂存寄存器中读取的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/348070.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部