<address id="tnvjh"></address>
    <form id="tnvjh"><listing id="tnvjh"><meter id="tnvjh"></meter></listing></form>

      <form id="tnvjh"></form>

      <address id="tnvjh"><th id="tnvjh"></th></address>

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

        pic單片機CCP脈沖(PWM)輸出

        作者:佚名   來源:不詳   點擊數:  更新時間:2014年08月31日   【字體:

        #include  <pic.h>
        //該程序用于使CCP1模塊產生分辨率為10位的PWM波形,占空比為50%,根據PWM_WIDE計算頻率。proteus仿真通過
        //CCP1(CCP2相同設置)模塊的PWM工作方式初始化子程序(中斷為什么不行呢?)
        #define CCP1
        #define PWM_WIDE   0x7F
        #define PWM_TOTAL PWM_WIDE<<1

         

        void CCPINIT()
        {
        #ifdef CCP1
         CCPR1L = PWM_WIDE;
         CCP1CON = 0X3C;      //設置CCP1模塊為PWM工作方式,且其工作
                              //循環的低2位為11,高8位為01111111=7F
         TRISC  &= 0XFB;      //設置CCP1引腳為輸出方式
        #else
         CCPR2L = PWM_WIDE;
         CCP2CON = 0X3C;   // CCP2
         TRISC  &= 0XFD;      //設置CCP2引腳為輸出方式
        #endif
         PR2=PWM_TOTAL;       //設置PWM的工作周期
         INTCON &= 0X00;      //禁止總中斷和外圍中斷 
        }
        void DelayMs(unsigned int ms)
        {
         unsigned char i;
         while(--ms)
         {
          for(i=110;i>0;--i);
         }
        }
        //主程序
        main()
        {
         TRISD = 0xff;
            CCPINIT();        //CCP1模塊的PWM工作方式初始化
         T2CON |= 0X04;    //打開TMR2,且使其前分頻為0,
                              //同時開始輸出PWM波形
         while(1)          //系統開始輸出PWM波形。如果系統是多任務的,則可以在此執行其它任務,而不會影響PWM波形的產生
         {
          if(RD0 == 1)
          {
           DelayMs(5);
           if(RD0 == 1)//設置條件停止發送脈沖,中止(步進電機等)設備
           {
            T2CON &= 0xFB;
           #ifdef CCP1
            CCPR1L=0;
           #else
            CCPR2L=0;
           #endif
            PR2=0;
            while(!RD0);
           }
           else
           {
            T2CON |=0X04;
           #ifdef CCP1
            CCPR1L = PWM_WIDE;
           #else
            CCPR2L = PWM_WIDE;
           #endif
            PR2 = PWM_TOTAL;
           }  
          } 
         }
        }

        關閉窗口
        和老头做爰很舒服,JK白丝裤袜开裆自慰喷水,在线天堂www在线...中文

          <address id="tnvjh"></address>
          <form id="tnvjh"><listing id="tnvjh"><meter id="tnvjh"></meter></listing></form>

            <form id="tnvjh"></form>

            <address id="tnvjh"><th id="tnvjh"></th></address>