新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 正弦波逆變器SPWM設計參考

        正弦波逆變器SPWM設計參考

        作者: 時間:2013-12-14 來源:網絡 收藏

        //最近在搞SPWM逆變,貢獻一個小程序,FYI

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

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

          void main()

          { asm("NOP");

          TRISC=0X00; //設置I/O口方向

          TRISD=0X00; //設置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; //設置PWM頻率20K

          CCPR1L=0; //設置占空比高8位,init時為0

          CCP1CON=0x0F; //CCP select PWM mode

          T2CON=0X05; //設置TIMER2預分頻比并使能T2

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

          while(1)

          { }

          }

          //===============中斷函數=============================

          void interrupt ISR(void)

          {

          if((TMR0IF)(TMR0IE))

          {

          TMR0L=0x79;

          TMR0H=0XFE;

          TMR0IF=0;//清除中斷標志

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

          }

          }

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

          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; //創造交越信號

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

          R_sin++;

          if(R_sin==32)

          R_sin=0;

          CCPR1L=i/4; //設置占空比高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};


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 芜湖县| 千阳县| 米泉市| 丽江市| 安国市| 富源县| 库尔勒市| 安福县| 二手房| 芦山县| 秦安县| 库伦旗| 台江县| 东平县| 东山县| 依兰县| 铁岭县| 库伦旗| 翼城县| 丹凤县| 晋宁县| 临武县| 眉山市| 高密市| 平泉县| 措勤县| 油尖旺区| 新营市| 五莲县| 鹤庆县| 响水县| 陕西省| 通州区| 济宁市| 满城县| 普陀区| 馆陶县| 南投县| 湾仔区| 通化县| 郧西县|