<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC16F877A單片機(jī)的PWM功能

          PIC16F877A單片機(jī)的PWM功能

          作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          說明:設(shè)置PWM 操作

          通過以下步驟將CCP 模塊配置為PWM 模式:
          1. 寫入PR2 寄存器以設(shè)定PWM 周期。
          2. 寫入DCxB9:DCxB0 位以設(shè)置PWM 占空比。
          3. 將相應(yīng)的TRIS 位清零以將CCPx 引腳設(shè)為輸出。
          4. 寫入T2CON 以設(shè)置TMR2 預(yù)分頻比并使能Timer2。
          5. 將CCP 模塊配置為PWM 模式。

          本文引用地址:http://www.ex-cimer.com/article/201611/316762.htm

          程序:

          #include
          #define uint unsigned int
          #define uchar unsigned char
          __CONFIG(0x3B31);

          void initPWM();
          void Delay1ms(uint time);

          /******************************************
          ***主函數(shù)功能:PWM初始化,PWM占空比周期性變化
          *******************************************/
          void main()
          {
          uchar i;
          initPWM();
          while(1)
          {
          for(i=0;i<256;i++)
          {
          CCPR1L = i;
          TMR2ON = 1;
          Delay1ms(100);
          TMR2ON = 0;
          }
          }

          }

          /******************************************************************
          ***函數(shù)功能:PWM初始化,設(shè)置PWM周期;
          PWM周期=[(PR2)+1]*4*TOSC*(TMR2預(yù)分頻比)
          =(255+1)*4*(1/4000000)*16 s = 4.096 ms

          PWM占空比=(DCxB9:DCxB0)*Tosc*(TMR2預(yù)分頻比)
          =1024*(1/4000000)*16 s = 4.096 ms

          注意:如果PWM占空比值大于PWM周期,CCPx 引腳將
          不會被清零,這時(shí)占空比將達(dá)到100%;

          *****************************************************************/
          void initPWM()
          {
          INTCON = 0x00;//關(guān)閉總中斷和外部中斷
          PR2 = 0xff;//寫入PR2寄存器設(shè)置PWM周期,PWM周期=[(PR2)+1]*4*TOSC*(TMR2預(yù)分頻比)
          CCP1CON = 0x3C; //設(shè)置PWM占空比低2位為11,設(shè)置為PWM模式
          CCPR1L = 0x00;//設(shè)置PWM占空比高8位
          TRISC = 0xfb;//設(shè)置CCP1口為輸出
          T2CON = 0x02;//設(shè)置TMR2預(yù)分頻為16;
          }

          void Delay1ms(uint time)
          {
          uint i,j;
          for(i=time;i>0;i--)
          for(j=110;j>0;j--);
          }



          關(guān)鍵詞: PIC16F877A單片機(jī)PWM功

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();