久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

SPWM程序(PICC)

 ylw527 2010-09-29
貢獻(xiàn)一個(gè)我寫的SPWM程序(PICC)
2010-05-23 18:01

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

//用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+(i&3)*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};

思想是:SPWM輸出20KHZ,,以3.2K的頻率修改脈寬,改64次為一個(gè)周期,,得到50HZ的SPWM波

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多