色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR 定時記數(shù)器0 普通模式的簡單應(yīng)用

          AVR 定時記數(shù)器0 普通模式的簡單應(yīng)用

          作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
          #include <avr/io.h>
          #include
          #include interrupt.h>

          #define ling 0x80 //這里是設(shè)制從最高位一個一個的點亮
          volatile unsigned char count,i = 0,j = 0; //設(shè)制兩個變量


          void Timer0_Init(void) //定時器0的初始化
          {
          TCNT0 = 0x3d; //給計數(shù)器賦初值
          TCCR0 = 0x05; //CLK/1024分頻
          TIMSK = 0x01; //始能定時器0的溢出中斷
          sei(); //置位總中斷
          }

          int main(void)
          {
          DDRB = 0xff; //PB口設(shè)制為輸出
          PORTB = 0xff; //PB口初始化為FF
          Timer0_Init(); //調(diào)用定時器0的初始化

          while(1);


          }

          ISR(TIMER0_OVF_vect) //定時器溢出中斷函數(shù)
          {
          //unsigned char i;
          TCNT0 = 0x3d; //重裝載計數(shù)器的值a
          i++; //標(biāo)志位加1
          if(i == 20)
          {

          //PORTB = 0xff;
          i = 0;
          count++;
          if(count > 7) //點亮8個LED的循環(huán)
          {
          count = 0;
          j =!j;
          }

          }
          if(j == 0)
          PORTB &= ~(ling >> count);
          else PORTB |= (1 << count);

          }


          評論


          技術(shù)專區(qū)

          關(guān)閉