久久丫精品无码视频|亚洲成人黄色电影|超碰国产在线观看|亚洲Aⅴ综合免费在线|久久青青草原国产精品|极品美女三级片国产无码a|女人的黄色片子综合AV|日韩成人?毛片

      技術(shù)熱線: 4007-888-234
      設(shè)計(jì)開發(fā)

      專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

      開發(fā)工具

      提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

      技術(shù)支持

      從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

      新品推廣

      提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

      新聞中心

      提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

      CCSC timer.c程序使用MCD2demo 用PIC16F877A單片機(jī)片內(nèi)Timer1定時(shí)

      更新時(shí)間: 2019-03-23
      閱讀量:3080

      十年專注單片機(jī)方案開發(fā)的方案公司英銳恩,分享CCSC timer.c程序使用MCD2demo 用PIC16F877A片內(nèi)Timer1定時(shí)。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。

      /*=============================================================================
      使用PIC16F877A片內(nèi)Timer1定時(shí),運(yùn)行程序:
              程序開始    -> LED0亮,
              每0.5秒鐘   -> LED7交替亮滅,
              循環(huán)10次后  -> Timer1中斷關(guān)閉,LED6亮,LED7保持當(dāng)前狀態(tài)。
      =============================================================================*/
      ///////////////////////////////////////////////////////////////////////////////
      // MPLAB IDE V7.11 + CCS C3.18
      // Use 16F877A internal timer1 for MCD2-demo
      //
      // by LW7807@163.com
      // 2005/06/22
      ///////////////////////////////////////////////////////////////////////////////
      #include <16F877A.h>                            // PIC16F877 header file
      #use delay(clock=4000000)                       // for 4Mhz crystal
      #fuses XT, NOWDT, NOPROTECT, NOLVP              // for debug mode

      #define TIMER1_500MS            (0xFFFF - 62500 + 1)
      #define DO_THIS_TIMES           10

       

      #define LED7_IO                 PIN_C7
      #define LED6_IO                 PIN_C6
      #define LED0_IO                 PIN_C0
      #define LED_ON                  1
      #define LED_OFF                 0

       


      int1    led7_status             = LED_OFF;
      int8    cnt                     = 0;

      ///////////////////////////////////////////////////////////////////////////////
      //
      #int_TIMER1
      void timer1_isr(void)
      {
              led7_status = ~led7_status;

       ++ cnt;
              if(cnt >= 2*DO_THIS_TIMES)
                      {
                      disable_interrupts(INT_TIMER1);
                      output_bit(LED6_IO, LED_ON);
                      }
      }//end timer1_isr()

       

      /*===========================================================================*/
      void main(void)
      {
              // begin program
              output_bit(LED0_IO, LED_ON);

       

              // setup timer1 for 0.5s interrupt
              setup_timer_1(T1_INTERNAL | T1_DIV_BY_8);
              set_timer1(TIMER1_500MS);
              enable_interrupts(INT_TIMER1);
              enable_interrupts(GLOBAL);

        // show led7 status
              while(1){
                      output_bit(LED7_IO, led7_status);
                      }
      }//end main()