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

📄 main.c

📁 常用经典小车程序常用经典小车程序常用经典小车程序
💻 C
📖 第 1 页 / 共 2 页
字号:
	                 }
	     *P_Watchdog_Clear = 0x0001; 
	         if(flagstop==1)
	         {
	               	ShowAndVoic();
	         }
	       }
	      }
	   }
}



//=============================================================
void searchline(void)
{       
	    
	    uiIOA=*P_IOA_Data;
        uiIOA=uiIOA&0x0078;
     if(uiIOA==0x0078||uiIOA==0x0058||uiIOA==0x0068||uiIOA==0x0060||uiIOA==0x0018||uiIOA==0x0038||uiIOA==0x0070)   
		{
		switch(uiIOA)
		 {
		    case 0x0078: 
		          aheaddata=0x0200;        
	               duty=10;
	               aheaddata1=0x0000;
  	               *P_INT_Mask |=0x4040;
	                                                   //直走
                   *P_Watchdog_Clear = 0x0001;
                 
                   break;
   		    case 0x0058:                               // 左拐
		         aheaddata1=0x0080;        
	             duty1=5;
	             duty=12;
			   	*P_INT_Mask |=0x404;
	            *P_Watchdog_Clear = 0x0001;
	            break;
	      case 0x0068:
	            aheaddata1=0x0100;        
	            duty1=5;  
	            duty=12;                                    // 右拐
                *P_INT_Mask |=0x4040;
	            *P_Watchdog_Clear = 0x0001;
	            break; 
	    case 0x0018:
	             aheaddata1=0x0080;        
	             duty1=19; 
	             duty=25;                         //zuo
	             *P_INT_Mask |=0x4040; 
	           *P_Watchdog_Clear = 0x0001;       
	             break;
	      case 0x0060:
	           aheaddata1=0x0100;        
	           duty1=19;
	           duty=25;
	           *P_INT_Mask |=0x4040;
	                                         //you
	       *P_Watchdog_Clear = 0x0001; 
	              break;
	        case 0x0038:
	            aheaddata1=0x0080;  
	             duty1=34;
	             duty=45;
	            *P_INT_Mask |=0x4040;
	              soft_10ms(); 
	                                      //zuo
	                soft_10ms();
	         *P_Watchdog_Clear = 0x0001;       
	             break;
	      case 0x0070:
	            aheaddata1=0x0100;        
	             duty1=29;
	             duty=37;
	            *P_INT_Mask |=0x4040;
	            *P_Watchdog_Clear = 0x0001;       
	             break;
		 }
		}
}
void searchlinett(void)
{       int i;
	   
	    uiIOA=*P_IOA_Data;
        uiIOA=uiIOA&0x0078;
     if(uiIOA==0x0000||uiIOA==0x0018||uiIOA==0x0060||uiIOA==0x0030)   
		{lineflag=1;
		     for(i=0;i<90;i++)
		     {
		          aheaddata=0x0400;        
	              duty=14;
	              aheaddata1=0;
	              *P_INT_Mask |=0x4040;
	              __asm("irq on");
	             soft_10ms();
	              soft_10ms();
	               soft_10ms();
	                soft_10ms();
		     }
	              Stop();
		   
		          flagstop=1;
		                                  
                 *P_Watchdog_Clear = 0x0001;
                  
   		   
		}
		else
		{
			lineflag=0;
		}
}
//======================================================================
void hedge(void)
{
        unsigned int undata;
        
	    undata=*P_IOA_Data;
        undata=undata&0x3000;
     if(undata==0x1000||undata==0x2000)   
		{
			hedgeflag=1;
		switch(undata)
		 {
		    
		   case 0x1000:                //zuo
	            aheaddata1=0x0080;        
	             duty1=33;
	             duty=20;                          //zuo
	             *P_INT_Mask |=0x4040; 
	             soft_10ms();
	              soft_10ms();
	                soft_10ms(); 
	                 soft_10ms();
	               *P_INT_Mask &=0xbfff;
	                 aheaddata1=0x0000;
	                 duty=14;
	          *P_Watchdog_Clear = 0x0001;       
	             break;
	      case 0x2000:                  //you
	             aheaddata1=0x0100;        
	           duty1=33;
	           duty=20;
	           *P_INT_Mask |=0x4040;
	            soft_10ms();                      //you
	             soft_10ms();
	             soft_10ms();                      //you
	             soft_10ms();
	             *P_INT_Mask &=0xbfff;
	               aheaddata1=0x0000;
	              duty=14;    
	           
	              
	              *P_Watchdog_Clear = 0x0001; 
	              break;
	      
                
		 }
		}
		else
		{
			hedgeflag=0;
		}
}
void searchlight(void)
{
        unsigned int undataa;
        
	    undataa=*P_IOA_Data;
        undataa=undataa&0x0007;
     if(undataa==0x0007||undataa==0x0002||undataa==0x0004||undataa==0x0001||undataa==0x00006||undataa==0x0003||undataa==0x0000)   
		{
		switch(undataa)
		 {
		    case 0x0007: 
		        aheaddata=0x0200;        
	           duty=10;
	           aheaddata1=0;
	              *P_INT_Mask |=0x4040;
 	              __asm("irq on");
 	              soft_10ms();
	               soft_10ms(); 
	                  soft_10ms(); 
 	               *P_Watchdog_Clear = 0x0001;
		        
		        break; 
		   case 0x0002: 
		        aheaddata=0x0200;        
	           duty=10;
	            aheaddata1=0x0000;
	              *P_INT_Mask |=0x4040;
 	              __asm("irq on");
 	               soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
 	               *P_Watchdog_Clear = 0x0001;
		        break; 
		   case 0x0004:                //zuo
	            aheaddata1=0x0080;        
	             duty1=25; 
	             duty=16;                         //zuo
	             *P_INT_Mask |=0x4040; 
	              soft_10ms();
	              soft_10ms();
	            
	                //*P_INT_Mask &=0xbfff;
	                duty=10;
	               // aheaddata1=0x0000;
	              //*P_IOA_Buffer=*P_IOA_Buffer&0xf87f;
	                
	            *P_Watchdog_Clear = 0x0001;       
	             break;
	      case 0x0001:                  //you
	            aheaddata1=0x0100;        
	           duty1=23;
	           duty=16;
	           *P_INT_Mask |=0x4040;
	            soft_10ms();                      //you
	            /*  soft_10ms();
	              soft_10ms();
	              soft_10ms();
	                soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
	                 soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
	                 soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
	               soft_10ms();
	               soft_10ms();*/ 
	                soft_10ms();
	               soft_10ms(); 
	              //*P_INT_Mask &=0xbfff;  
	              duty=10; 
	             // aheaddata1=0x0000; 
	              //*P_IOA_Buffer=*P_IOA_Buffer&0xf87f;   
	              
	              *P_Watchdog_Clear = 0x0001; 
	              break;
	      case 0x0006:                //zuo
	             aheaddata1=0x0080;        
	             duty1=18;
	             duty=16;
	             
			   	*P_INT_Mask |=0x4040;
	           	soft_10ms();
	           	 soft_10ms();
	               soft_10ms(); 
	               // soft_10ms();
	               //soft_10ms(); 
	           // *P_INT_Mask &=0xbfff;
	            duty=10;
	            // aheaddata1=0x0000; 
	           // *P_IOA_Buffer=*P_IOA_Buffer&0xf87f;
	            *P_Watchdog_Clear = 0x0001;
	            break;
	      case 0x0003:                  //you
	            aheaddata1=0x0100;        
	            duty1=17;  
	            duty=16;                                    // 右拐
                *P_INT_Mask |=0x4040;
	             soft_10ms();
	              soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	              /* soft_10ms(); 
	                soft_10ms();
	                 soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); 
	               soft_10ms(); 
	                soft_10ms();
	               soft_10ms(); */
	            //*P_INT_Mask &=0xbfff;
	            duty=10;
	           //  aheaddata1=0x0000; 
	            //*P_IOA_Buffer=*P_IOA_Buffer&0xf87f;
	            *P_Watchdog_Clear = 0x0001;
	            break; 
	      case 0x0000:                  //zuo
	              aheaddata1=0x0100;        
	             duty1=30; 
	             duty=17;                         //zuo
	             *P_INT_Mask |=0x4040; 
	              soft_10ms();
	                soft_10ms();
	               soft_10ms(); 
	               soft_10ms();
	                soft_10ms();
	               soft_10ms(); 
	               soft_10ms();
	                soft_10ms();
	               soft_10ms(); 
	                *P_INT_Mask &=0xbfff;
	                duty=10;
	                 aheaddata1=0x0000; 
	         
	                
	            *P_Watchdog_Clear = 0x0001;  
	          
	             break;
		 }
		}
}	      
void ShowAndVoic()
{ 	
	int i=0,t=0,time=0,carlong=0,tm0=0,tm1=0,dst0=0,dst1=0,dst2=0;
__asm("irq off");
   	time=uiTimecont/2;
	carlong=speedcar();
	tm0=time%10;
    t=time/10;
    tm1=t%10;
    
    *P_Watchdog_Clear = 0x0001;
	dst0=carlong%10;
	t=carlong/10;
	dst1=t%10;
	dst2=t/10;
	*P_Watchdog_Clear = 0x0001;
	
	for(i=0;i<0x1000;i++)
{  
	 F_SingleLed(1,tm1);
	 F_SingleLed(0,tm0);
	 F_SingleLed(0,10);
}	 
   
	PlaySnd_Auto(tm1,1);
	PlaySnd_Auto(10,1);
    PlaySnd_Auto(tm0,1);
	PlaySnd_Auto(13,1); 
  
  
	soft_10ms();

   for(i=0;i<0x1000;i++)
   {    
   
    F_SingleLed(0,dst0);
    F_SingleLed(1,dst1);
    F_SingleLed(2,dst2);
    
      *P_Watchdog_Clear = 0x0001;
   
      F_SingleLed(2,10);
   }
   
       PlaySnd_Auto(dst2,1);
       
        PlaySnd_Auto(11,1);
  
     
       PlaySnd_Auto(dst1,1);
      
       PlaySnd_Auto(10,1);
     
    
       PlaySnd_Auto(dst0,1);
       PlaySnd_Auto(14,1);
    
       while(1)
       {
       	*P_Watchdog_Clear = 0x0001;
       	*P_INT_Ctrl &=0x0000;
       	*P_IOA_Data=0x0000;
       }
      
}	      
	    
       




















⌨️ 快捷键说明

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