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

📄 znewf02.c

📁 用步进电机画图的完整原代码
💻 C
📖 第 1 页 / 共 4 页
字号:
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
   for(i=3;i<=5;i++)
   {
     if(temp!=scenes[2]/6) return;
     Circle(0,0,i,150,10);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
   for(i=6;i<=8;i++)
   {
     if(temp!=scenes[2]/6) return;
     Circle(0,0,i,150,5);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
}
//---------------------------------------------------------------------//=

void ZoomCircle2()
{
   char i;
   uchar temp=scenes[2]/6;
   for(i=8;i>=6;i--)
   {
     if(temp!=scenes[2]/6) return;
     Circle(0,0,i,150,5);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
   for(i=5;i>=3;i--)
   {
     if(temp!=scenes[2]/6) return;
     Circle(0,0,i,150,10);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
   for(i=2;i>=0;i--)
   {
     if(temp!=scenes[2]/6) return;
     Circle(0,0,i,150,20);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
}
//---------------------------------------------------------------------//=

void ZoomCircle3()
{
   ZoomCircle1();
   ZoomCircle2();
}
//---------------------------------------------------------------------//=

char code RectArray[]={5,-7,7,7,-7,7,7,-7,-7,0,0};
void Rect(int x,int y,int Radius,int DelayTime,char Cont)
{
   char i;
   LaserOn(0);
   WalkeToXY(x-Radius,y+Radius,DelayTime);LaserOn(1);
   for(i=0;i<Cont;i++)
   {
     WalkeToXY(x+Radius,y+Radius,DelayTime);
     WalkeToXY(x+Radius,y-Radius,DelayTime);
     WalkeToXY(x-Radius,y-Radius,DelayTime);
     WalkeToXY(x-Radius,y+Radius,DelayTime);
   }
}
//---------------------------------------------------------------------//=

void JumpRect()
{
   char i,j;
   char temp=scenes[2]/6;
   j=2*RectArray[0];
   for(i=1;i<=j;i=i+2)
   {
     if(temp!=scenes[2]/6) return;
     Rect(RectArray[i],RectArray[i+1],5,200,5);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
}
//---------------------------------------------------------------------//=

void ZoomRect1()
{
   char i;
   uchar temp=scenes[2]/6;
   for(i=0;i<=2;i++)
   {
     if(temp!=scenes[2]/6) return;
     Rect(0,0,i,200,20);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
   for(i=3;i<=5;i++)
   {
     if(temp!=scenes[2]/6) return;
     Rect(0,0,i,200,10);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
   for(i=6;i<=8;i++)
   {
     if(temp!=scenes[2]/6) return;
     Rect(0,0,i,200,5);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
}
//---------------------------------------------------------------------//=

void ZoomRect2()
{
   char i;
   uchar temp=scenes[2]/6;
   for(i=8;i>=6;i--)
   {
     if(temp!=scenes[2]/6) return;
     Rect(0,0,i,200,5);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
   for(i=5;i>=3;i--)
   {
     if(temp!=scenes[2]/6) return;
     Rect(0,0,i,200,10);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
   for(i=2;i>=0;i--)
   {
     if(temp!=scenes[2]/6) return;
     Rect(0,0,i,200,20);
     //--------------------------------//
     if(PlayMode==0) {LaserOn(0);return;}
     if(DMX_Flag==10) {LaserOn(0);return;}
   }
}
//--------------------------------------------------------------------//
void ZoomRect3()
{
   ZoomRect1();
   ZoomRect2();
}
//---------------------------------------------------------------------//=

//---------------------------------------------------------------------//=

char code DotArray[]={10,0,0,-7,7,7,-7,7,7,-7,-7,-5,0,5,0,0,5,0,-5,0,0};
void MuchDot()
{
   char i,j;
   uchar temp=scenes[2]/6;
   j= 2*DotArray[0];
   for(i=1;i<=j;i=i+2)
   {
      if(temp!=scenes[2]/6) return;
      LaserOn(0);Delay(100);
      WalkeToXY(DotArray[i],DotArray[i+1],200);Delay(500);  
	  /* =WalkeToXY(DotArray[i],DotArray[i+1],200); Delay(500); */
      LaserOn(1);Delay(100);
      //--------------------------------//
      if(PlayMode==0) {LaserOn(0);return;}
      if(DMX_Flag==10) {LaserOn(0);return;}
      if(OffOrOn) {LaserOn(0);return;}
      //--------------------------------//
   }
}
void JumpDot()
{
   char i,j;
   uchar temp=scenes[2]/6;
   j= 2*DotArray[0];
   for(i=1;i<=j;i=i+2)
   {
      if(temp!=scenes[2]/6) return;
      LaserOn(0);Delay(100);
      WalkeToXY(DotArray[i],DotArray[i+1],1000);Delay(1000);   
      LaserOn(1);Delay(1000); /* Delay(1000); */
      //--------------------------------//
      if(PlayMode==0) {LaserOn(0);return;}
      if(DMX_Flag==10) {LaserOn(0);return;}
      if(OffOrOn) {LaserOn(0);return;}
      //--------------------------------//
   }
}

void cirMultiColor() 
{
    uchar i;
	char  tmpPlayMode = PlayMode;
    EX1 = 0;     
    cirMultiColorFlag = 1;      
    scenes[3] = 0;    
    scenes[4] = 0; 
    scenes[5] = 0;  
    scenes[6] = 0;   
    scenes[7] = 0;   /* =CB=F5=B7=C5 */
    scenes[8] = 180;  
    ColorMode=scenes[8]/40;
    scenes[9] = 0;   /* =B8=B4=CE=BB */
    scenes[10] = 0;  
    scenes[11] = 0;  
    scenes[12] = 0;  
    scenes[13] = 0;    
    for ( i = 0; i < 12; i++ )
    {
        if (tmpPlayMode != PlayMode)
        {
            break;
        }
        Show(pDate[4],0,0,0,0,0,0,0);
        Show(pDate[4],0,0,0,0,0,0,0);
        Show(pDate[4],0,0,0,0,0,0,0);
    }
    scenes[8] = 0;  
    scenes[10] = 181; 
    cartoonFlag = 1;     
    cartoonTimes = 0;     
    for ( i = 0; i < 1; i++ )
    {
        if (tmpPlayMode != PlayMode)
        {
            break;
        }
        Show2Pictrue(pDate[4]);
    }
    scenes[4] = 70;  /* =C1=C1=B5=E3=CF=D4=CA=BE */
    scenes[8] = 180; 
    scenes[10] = 0; /* Y=D6=E1=D0=FD=D7=AA=C7=E50 */
    for ( i = 0; i < 30; i++ )
    {
        if (tmpPlayMode != PlayMode)
        {
            break;
        }
        Show(pDate[2],0,0,0,0,0,0,0);
    }

    scenes[4]  = 0;  /* =D5=FD=B3=A3=CF=D4=CA=BE */
    scenes[8]  = 0;  
    scenes[12] = 181; /* Z=D6=E1=D0=FD=D7=AA */
    cartoonTimes = -23;   
    for ( i = 0; i < 1; i++ )
    {
        if (tmpPlayMode != PlayMode)
        {
            break;
        }
        Show2Pictrue(pDate[2]);
    }
    cartoonFlag = 0;
    scenes[4] = 70;  /* =C1=C1=B5=E3=CF=D4=CA=BE */
    scenes[8] = 180; 
    scenes[7] = 0;   
    scenes[10] = 0; 
    for ( i = 0; i < 5; i++ )
    {
        if (tmpPlayMode != PlayMode)
        {
            break;
        }
        Show(pDate[1],0,0,0,0,0,0,0);
        Show(pDate[1],0,0,0,0,0,0,0);
        Show(pDate[1],0,0,0,0,0,0,0);
    } 
    cartoonFlag = 1;     
    scenes[4]   = 0;     /* =D5=FD=B3=A3=CF=D4=CA=BE */
    scenes[8]   = 120;  
    scenes[12]  = 218; /* Z=D6=E1=D0=FD=D7=AA */
    cartoonTimes = -20;  
    for ( i = 0; i < 1; i++ )
    {
        if (tmpPlayMode != PlayMode)
        {
            break;
        }
        Show2Pictrue(pDate[1]);
    }
    
    scenes[4] = 70;  /* =C1=C1=B5=E3=CF=D4=CA=BE */
    scenes[8] = 180;  
    scenes[7] = 0;  
    scenes[10] = 0; 
    for ( i = 0; i < 5; i++ )
    {
        if (tmpPlayMode != PlayMode)
        {
            break;
        }
        Show(pDate[1],0,0,0,0,0,0,0);
        Show(pDate[1],0,0,0,0,0,0,0);
        Show(pDate[1],0,0,0,0,0,0,0);
    }
   
    cartoonFlag = 0;
  
    EX1 = 1;     /* =D4=CA=D0=ED=C9=F9=BF=D8=D6=D0=B6=CF */
    cirMultiColorFlag  = 0;
    TimeCount=0; 
}
void VoiceMode()
{
   uchar i=0;
   cirMultiColor();
   scenes[8]=250;        
   if(WorkMode==0)
   {
    PlayMode = scenes[1]/70;
   }
   while(Reset==0&&PlayMode==1)
   {
     SetSportMode(AutoList[i].s_sport1);
	 SetSportMode2(AutoList[i].s_sport2);
	 scenes[4]=70*AutoList[i].s_DisplayMode;
     Color     = ColorMode  = AutoList[i].s_Color;
     gVoiceRhythmNum = AutoList[i].s_VoiceRhythmNum;
     Show2Pictrue(pDate[AutoList[i].s_graph]);
     i=(i+1)%88;
   }
}
/*---------------------------------------------=D7=D4=B6=AF=C4=A3=CA=BD--=
---------------------------------------------------------*/
void AutoMode()
{
   uchar i=0;
   cirMultiColor();
   scenes[8]=250;      
   if(WorkMode==0)
   {
    PlayMode = scenes[1]/70;
   }
   while(Reset==0&&PlayMode==2)
   {
       SetSportMode(AutoList[i].s_sport1);
       SetSportMode2(AutoList[i].s_sport2);
       scenes[4] = 70*AutoList[i].s_DisplayMode;
       Color     = ColorMode  = AutoList[i].s_Color;
       TimeCount = AutoList[i].s_TimeCount;
       Show2Pictrue(pDate[AutoList[i].s_graph]);

     i=(i+1)%88;
   }
}
/*--------------------------------------------=CA=D6=B6=AF=C4=A3=CA=BD---=
---------------------------------------------------------*/
void HandleMode()
{
   while(Reset==0&&PlayMode==3)
     {
	   if(scenes[2]/2<=16) 
{SetSportMode(0);Show2Pictrue(pDate[scenes[2]/2]);}
	   else if(scenes[2]/2<=96)
	   {
	     SetSportMode(HandleList[scenes[2]/2-17].s_sport1);
	     SetSportMode2(HandleList[scenes[2]/2-17].s_sport2);
	     scenes[4]=70*HandleList[scenes[2]/2-17].s_DisplayMode;
         Show2Pictrue(pDate[HandleList[scenes[2]/2-17].s_graph]);
	   }
           else
           {
              switch((scenes[2]-192)/6)
               {
                  case 0: JumpCircle();break;
                  case 1: ZoomCircle1();break;
                  case 2: ZoomCircle2();break;
                  case 3: ZoomCircle3();break;
                  case 4: JumpRect();break;
                  case 5: ZoomRect1();break;
                  case 6: ZoomRect2();break;
                  case 7: ZoomRect3();break;
                  case 8: MuchDot();break;
                  case 9: JumpDot();break;
                  default:JumpDot();break;
               }
           }
     }
}


main ()
{
 STAR:
 init();
 ConfirmDot();
 GetAddress();
 Color = 0;
 WalkeToXY(1,1,300);
 WalkeToXY(0,0,300);
 while(Address3==0&&Address10==0) LaserOn(1);
 //PlayMode=3;
 while(1)
 {
   switch(PlayMode)
     {
      case 0: LaserOn(0); break;
      case 1: VoiceMode();break;
      case 2: AutoMode();break;
      case 3: HandleMode();break;
      default:AutoMode();
     }
   if(Reset==10) {Reset=0;AllowReset=10;goto STAR;}
  }
}




⌨️ 快捷键说明

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