<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        AVR定時器1的普通模式設置

        作者:佚名   來源:本站原創   點擊數:  更新時間:2014年09月01日   【字體:

         如何設置定時器1的寄存器呢?我們僅要簡單的隨著以下流程

        1.對T/C1 控制寄存器B TCCR1B,設置分頻或者無分頻。TCCR1B|=BIT(2);
        2.對TCNT1H 和TCNT1L 賦初值。
        3.對T/C1 中斷屏蔽寄存器TIMSK,使能定時器1 溢出中斷。TIMSK|=0x04;
        4.對全局中斷使能使能。SREG|=BIT(7);
        5.之后再編寫相關的中斷函數即可。
        那么現在出現了一系列的問題?分頻有什么用?又如何對TCNT1 賦初值?照以下的公式計算:要賦給TCNT1 的初值= ( 65536 - ( ( 晶振頻率/分頻) * 定時時間) )
        搞了半天,就是分頻置初值,使能中斷、開總斷。與51極相似!
        定時器0:
        void miao(void)
        {
           if(num == 125)//實際是8MS中斷一次
          {
              num = 0;
           if(second++ == 60) second = 0;
          }
          else
          {
           num++;
          }
          TCNT0 = 0x05;
        }
        void Timer0Init(void)
        {
           TCCR0 = 0x04;
          TCNT0 = 0x05;
          TIMSK |= (1<<0);
          SREG |= 0x80;
        }
        定時器1:
        // T/C1中斷入口
        void miao(void)
        {
           if(num == 100)
              num = 0;
          else num++;
          TCNT1H = 0x85;
          TCNT1L = 0xED;
        }
        void Timer1Init(void)
        {
           TCCR1B = 0x04;
          TCNT1H = 0x85;
          TCNT1L = 0xED;
          TIMSK |= (1<<2);
          SREG |= 0x80;
        }
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮