在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

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

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

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

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

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

              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時為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的定時頻率按照正弦規(guī)律改變脈寬,改64次正好為50HZ的調(diào)制

              }

              }

              //下面這部分摘自另一個文件,

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

              unsigned char R_rate=190;//幅度

              void update_duty(void)

              { unsigned int i=0;

              if(R_sin==0)

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

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

              R_sin++;

              if(R_sin==32)

              R_sin=0;

              CCPR1L=i/4; //設(shè)置占空比高8位,init時為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};


            關(guān)鍵詞: 正弦波 逆變器 SPWM設(shè)計

            評論


            相關(guān)推薦

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

            關(guān)閉