⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spwm部分完整程序.txt

📁 数控直流电源和变频电源程序在c环境下编译
💻 TXT
📖 第 1 页 / 共 2 页
字号:
      TL1=tl1_60[f++];
  }
  }
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 /*输出70hz正弦波*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
void    spwm70hz()
{
uchar code th0_70[100]={256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                     255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                      255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,
                      255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                      255,255,255,255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256
                     };
uchar code tl0_70[100]={246,225,204,184,164,144,125,106,88,71,54,38,23,9,251,239,228,218,209,202,195,190,186,
   184,182,182,184,186,190,195,202,209,218,228,239,251,9,23,38,54,71,88,106,125,144,164,184,204,225,246 ,
   246,225,204,184,164,144,125,106,88,71,54,38,23,9,251,239,228,218,209,202,195,190,186,184,182,182,184,186,
   190,195,202,209,218,228,239,251,9,23,38,54,71,88,106,125,144,164,184,204,225,246};
uchar code th1_70[100]={255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,
  256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255,
  255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,
   256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255};
uchar code tl1_70[100]={127,63,247,164,65,202,60,148,208,238,238,208,148,60,202,65,164,247,63,127,
                127,63,247,164,65,202,60,148,208,238,238,208,148,60,202,65,164,247,63,127,
                189,210,230,251,15,34,54,72,91,108,125,141,156,170,183,196,207,217,225,233,239,245,249,251,252,252,
                251,249,245,239,233,225,217,207,196,183,170,156,141,125,108,91,72,54,34,15,251,230,210,189};
void init_70()
{
 TMOD=0X11;
 TH0=th0_70[0];
 TL0=tl0_70[0];
 TH1=th1_70[0];
 TL1=tl1_70[0];
 }

 void  spwm_70()
       {                            
        init_70();
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
 EA=1;
 ET0=1;
 ET1=1;
 TR0=1;
 TR1=0;
  }
void timer0_70(void) interrupt 1
 {
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
     TR1=1;
     TR0=0;
     TH0=th0_70[f++];
     TL0=tl0_70[f++];
   }

void timer1_70(void) interrupt 3
{
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
      TR0=1;
      TR1=0;
      TH1=th1_70[f++];
      TL1=tl1_70[f++];
  }
  }
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 /*输出80hz正弦波*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
void    spwm80hz()
{
uchar code th0_80[100]={256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                     255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                      255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,
                      255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                      255,255,255,255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256
                     };
uchar code tl0_80[100]={246,225,204,184,164,144,125,106,88,71,54,38,23,9,251,239,228,218,209,202,195,190,186,
   184,182,182,184,186,190,195,202,209,218,228,239,251,9,23,38,54,71,88,106,125,144,164,184,204,225,246 ,
   246,225,204,184,164,144,125,106,88,71,54,38,23,9,251,239,228,218,209,202,195,190,186,184,182,182,184,186,
   190,195,202,209,218,228,239,251,9,23,38,54,71,88,106,125,144,164,184,204,225,246};
uchar code th1_80[100]={255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,
  256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255,
  255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,
   256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255};
uchar code tl1_80[100]={127,63,247,164,65,202,60,148,208,238,238,208,148,60,202,65,164,247,63,127,
                127,63,247,164,65,202,60,148,208,238,238,208,148,60,202,65,164,247,63,127,
                189,210,230,251,15,34,54,72,91,108,125,141,156,170,183,196,207,217,225,233,239,245,249,251,252,252,
                251,249,245,239,233,225,217,207,196,183,170,156,141,125,108,91,72,54,34,15,251,230,210,189};
void init_80()
{
 TMOD=0X11;
 TH0=th0_80[0];
 TL0=tl0_80[0];
 TH1=th1_80[0];
 TL1=tl1_80[0];
 }

 void  spwm_80()
       {                            
        init_80();
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
 EA=1;
 ET0=1;
 ET1=1;
 TR0=1;
 TR1=0;
  }
void timer0_80(void) interrupt 1
 {
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
     TR1=1;
     TR0=0;
     TH0=th0_80[f++];
     TL0=tl0_80[f++];
   }

void timer1_80(void) interrupt 3
{
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
      TR0=1;
      TR1=0;
      TH1=th1_80[f++];
      TL1=tl1_80[f++];
  }
  }
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 /*输出90hz正弦波*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
void    spwm90hz()
{
uchar code th0_90[100]={256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                     255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                      255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,
                      255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                      255,255,255,255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256
                     };
uchar code tl0_90[100]={246,225,204,184,164,144,125,106,88,71,54,38,23,9,251,239,228,218,209,202,195,190,186,
   184,182,182,184,186,190,195,202,209,218,228,239,251,9,23,38,54,71,88,106,125,144,164,184,204,225,246 ,
   246,225,204,184,164,144,125,106,88,71,54,38,23,9,251,239,228,218,209,202,195,190,186,184,182,182,184,186,
   190,195,202,209,218,228,239,251,9,23,38,54,71,88,106,125,144,164,184,204,225,246};
uchar code th1_90[100]={255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,
  256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255,
  255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,
   256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255};
uchar code tl1_90[100]={127,63,247,164,65,202,60,148,208,238,238,208,148,60,202,65,164,247,63,127,
                127,63,247,164,65,202,60,148,208,238,238,208,148,60,202,65,164,247,63,127,
                189,210,230,251,15,34,54,72,91,108,125,141,156,170,183,196,207,217,225,233,239,245,249,251,252,252,
                251,249,245,239,233,225,217,207,196,183,170,156,141,125,108,91,72,54,34,15,251,230,210,189};
void init_90()
{
 TMOD=0X11;
 TH0=th0_90[0];
 TL0=tl0_90[0];
 TH1=th1_90[0];
 TL1=tl1_90[0];
 }

 void  spwm_90()
       {                            
        init_90();
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
 EA=1;
 ET0=1;
 ET1=1;
 TR0=1;
 TR1=0;
  }
void timer0_90(void) interrupt 1
 {
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
     TR1=1;
     TR0=0;
     TH0=th0_90[f++];
     TL0=tl0_90[f++];
   }

void timer1_90(void) interrupt 3
{
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
      TR0=1;
      TR1=0;
      TH1=th1_90[f++];
      TL1=tl1_90[f++];
  }
  }
  
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 /*输出100hz正弦波*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
void    spwm100hz()
{
uchar code th0_100[100]={256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                     255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                      255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,
                      255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
                      255,255,255,255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256
                     };
uchar code tl0_100[100]={246,225,204,184,164,144,125,106,88,71,54,38,23,9,251,239,228,218,209,202,195,190,186,
   184,182,182,184,186,190,195,202,209,218,228,239,251,9,23,38,54,71,88,106,125,144,164,184,204,225,246 ,
   246,225,204,184,164,144,125,106,88,71,54,38,23,9,251,239,228,218,209,202,195,190,186,184,182,182,184,186,
   190,195,202,209,218,228,239,251,9,23,38,54,71,88,106,125,144,164,184,204,225,246};
uchar code th1_100[100]={255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,
  256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255,
  255,255,255,255,255,255,255,255,255,255,255,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,
   256,256,256,256,256,256,256,256,256,256,256,255,255,255,255,255,255,255,255,255,255,255};
uchar code tl1_100[100]={127,63,247,164,65,202,60,148,208,238,238,208,148,60,202,65,164,247,63,127,
                127,63,247,164,65,202,60,148,208,238,238,208,148,60,202,65,164,247,63,127,
                189,210,230,251,15,34,54,72,91,108,125,141,156,170,183,196,207,217,225,233,239,245,249,251,252,252,
                251,249,245,239,233,225,217,207,196,183,170,156,141,125,108,91,72,54,34,15,251,230,210,189};
void init_100()
{
 TMOD=0X11;
 TH0=th0_100[0];
 TL0=tl0_100[0];
 TH1=th1_100[0];
 TL1=tl1_100[0];
 }

 void  spwm_100()
       {                            
        init_100();
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
 EA=1;
 ET0=1;
 ET1=1;
 TR0=1;
 TR1=0;
  }
void timer0_100(void) interrupt 1
 {
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
     TR1=1;
     TR0=0;
     TH0=th0_100[f++];
     TL0=tl0_100[f++];
   }

void timer1_100(void) interrupt 3
{
        P3_0=~P3_0;
        P3_1=~P3_1;
        P3_2=~P3_2;
        P3_3=~P3_3;
      TR0=1;
      TR1=0;
      TH1=th1_100[f++];
      TL1=tl1_100[f++];
  }
  }
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
  
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
 /*延时子函数*/
 /////////////////////////////// 
 void delays(uint xhm)
 { int i;
  for(i=0;i<xhm;i++)
     for{i=0;i<100;i++}}
 //////////////////////////////    
 /*获得键值*/
 /////////////////////////////    
 uchar getkey(){uchar key;
          delayms(100);
   if(P1_0==1){i++;if(i>8){i=0;}}
       if(P1_1==1){i--;if(i<0){i=8;}}
            key=i;
           return(key);  }
 ///////////////////////////////////          
  /*选择输出频率*/         
 //////////////////////////////////          
        void switch_f()
    {  uchar keynum;
       keynum=getkey();
   
     switch(keynum)
     {
      case 0:
              spwm20hz() 
              break;
      case 1:
               spwm30hz();
                break;
      case 2:             
                spwm40hz();
                break;
      case 3:           
                spwm50hz();
                break;          
      case 4:            
                spwm60hz();
                break;
      case 5:            
                spwm70hz();
                break;
      case 6:           
                spwm80hz();
                break;
      case 7:            
                spwm90hz();
                break;
      case 8:            
                spwm100hz();                     
                   break;
      default :
                spwm50hz();
                break;
                }                   
           
///////////////////////
/*主函数*/
//////////////////////               
 void main()
 {  uint i;
    do{ delayms(1000);
      switch_f();
     if(f>100){f=0;};}
     while(1);                                                                                                                                                                 while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -