蜜桃久久一区,91六月综合,三级三级久久三级久久,久久草成人婷婷,日韩免费美女视频播放,国产网址在线,少妇综合一区,色色色色色色播,97人人中文网

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開(kāi)發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開(kāi)發(fā)工具

提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

貢獻(xiàn)一個(gè)我寫(xiě)的SPWM程序(PICC)

更新時(shí)間: 2019-03-22
閱讀量:3577

十年單片機(jī)開(kāi)發(fā)方案公司深圳英銳恩分享貢獻(xiàn)一個(gè)我寫(xiě)的SPWM程序(PICC)。

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

//用18F452調(diào)的,只有SPWM波形部分,反饋沒(méi)加進(jìn)來(lái),如果需要改幅度,該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;                    //開(kāi)放全局中斷
      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};

 

(文源網(wǎng)絡(luò),侵刪)

收藏| 台江县| 杭锦后旗| 萨迦县| 丰都县| 顺昌县| 阿坝县| 潼南县| 新乡市| 灌南县| 朝阳市| 宁远县| 石河子市| 鄂伦春自治旗| 慈利县| 库车县| 泗水县| 孙吴县| 三门县| 平顶山市| 涿州市| 石河子市| 响水县| 虎林市| 莱西市| 正蓝旗| 兴和县| 双柏县| 古田县| 西林县| 焉耆| 龙胜| 岳池县| 射阳县| 会同县| 迁西县| 晋中市| 卢湾区| 当涂县| 舞钢市| 肥西县|