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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 正弦波逆變器SPWM設(shè)計(jì)參考

          正弦波逆變器SPWM設(shè)計(jì)參考

          作者: 時(shí)間:2013-12-14 來源:網(wǎng)絡(luò) 收藏

          //最近在搞SPWM逆變,貢獻(xiàn)一個(gè)小程序,F(xiàn)YI

          本文引用地址:http://www.ex-cimer.com/article/227526.htm
            //用18F452調(diào)的,只有SPWM波形部分,反饋沒加進(jìn)來,如果需要改幅度,該R_rate的值就好了,范圍(1~195)

            //晶震10M+PLL鎖到40M,RC2輸出SPWM波形,RC0為50HZ方波,作為半橋驅(qū)動(dòng)時(shí)的交越信號(hào)。

            void main()

            { asm("NOP");

            TRISC=0X00; //設(shè)置I/O口方向

            TRISD=0X00; //設(shè)置I/O口方向

            PORTC=0X00;

            PORTD=0X00;

            //=============LCD init======================

            // lcd_init();

            //=============timer0 init===================

            T0CON=0x82; //8分頻 ;0xCx is 8bit timer

            TMR0L=0x79;

            TMR0H=0XFE;

            GIE=0X1; //開放全局中斷

            TMR0IE=1; //使能timer0 interrupt

            //==============PWM init=====================

            PR2=124; //設(shè)置PWM頻率20K

            CCPR1L=0; //設(shè)置占空比高8位,init時(shí)為0

            CCP1CON=0x0F; //CCP select PWM mode

            T2CON=0X05; //設(shè)置TIMER2預(yù)分頻比并使能T2

            //==============MAIN LOOP====================

            while(1)

            { }

            }

            //===============中斷函數(shù)=============================

            void interrupt ISR(void)

            {

            if((TMR0IF)(TMR0IE))

            {

            TMR0L=0x79;

            TMR0H=0XFE;

            TMR0IF=0;//清除中斷標(biāo)志

            update_duty();//用3.2K的定時(shí)頻率按照正弦規(guī)律改變脈寬,改64次正好為50HZ的調(diào)制

            }

            }

            //下面這部分摘自另一個(gè)文件,

            unsigned char R_sin=0; //這個(gè)變量從0~31變化。

            unsigned char R_rate=190;//幅度

            void update_duty(void)

            { unsigned int i=0;

            if(R_sin==0)

            RC0=!RC0; //創(chuàng)造交越信號(hào)

            i=((float)(sin_tab[R_sin]))*R_rate/100;

            R_sin++;

            if(R_sin==32)

            R_sin=0;

            CCPR1L=i/4; //設(shè)置占空比高8位,init時(shí)為0

            CCP1CON=0x0F+(i3)*16;

            }

            const unsigned char sin_tab[32]={

            0,25,50,74,98,120,142,162,180,

            197,212,225,235,244,250,254,

            255,254,250,244,235,225,212,

            197,180,162,142,120,98,74,50,25};


          評(píng)論


          相關(guān)推薦

          技術(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); })();