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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC16F72 TIMER0定時器練習(xí)程序

          PIC16F72 TIMER0定時器練習(xí)程序

          作者: 時間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
          要使用PIC的TIMER0,首先需要看數(shù)據(jù)手冊,熟悉寄存器配置

          這里需要用到OPTION,INTCON的配置,還有TMR0計數(shù)值的預(yù)置。

          本文引用地址:http://cafeforensic.com/article/201611/316069.htm

          典型應(yīng)用程序:利用定時中斷實現(xiàn)發(fā)光管一閃一閃功能。

          源程序:

          #include
          #define uchar unsigned char
          #define uint unsigned int

          #define LED1 RC0

          ///////////////////////初始化設(shè)置程序////////////////////////////////

          void Init(void)
          {
          PORTA = 0B00000000;
          PORTB = 0B00000000;
          PORTC = 0B00000000;

          TRISA = 0B00000000;//設(shè)置PORTA口為輸出
          TRISB = 0B00000001;//設(shè)置RB0為輸入,作為按鍵口
          TRISC = 0B00000000;//設(shè)置RC輸出

          ADCON1=0B11111111;//設(shè)置為數(shù)字I/O

          counter=0;

          OPTION=0B01010011;//配置中斷和定時器0
          TMR0=5;
          T0IE=1;//使能定時器中斷0
          GIE=1; //全局中斷使能


          }

          ///////////////////////定時中斷程序////////////////////////////////

          void interrupt timer0_int(void)
          {
          T0IF=0;//清除中斷標志位
          TMR0=5; //重新設(shè)置定時器時間
          counter++;
          if(counter==250)
          {
          counter=0;
          LED1=!LED1;
          }
          }

          ///////////////////////主程序////////////////////////////////

          void main (void)
          {
          Init();//初始化程序

          PORTC=0XFF;
          PORTB=0XFF;
          while(1);

          }



          關(guān)鍵詞: PIC16F72TIMER0定時

          評論


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

          關(guān)閉