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

📄 g_input.c

📁 数控系统的模拟系统,用SSTC51仿真单片机,仿真数控机床切割,能执行数控机床代码.
💻 C
📖 第 1 页 / 共 2 页
字号:
         						du_data=*(--s) ;
                                              		 s++;
                                                    if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))	
                                                       {
                                              	       DisplayOneChar(i, 1,0x32);
                                              		*s=0X02; 
                                              		i++;
                                              		s++;
                                              		}					 	 
	 					   break;
						    case  K3:
								  if(s==buf) break;
                                                         		du_data=*(--s) ;
                                                         		 s++;
                                                               if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))	
                                                                   {
                                                         	       DisplayOneChar(i, 1,0x33);
                                                         		*s=0X03; 
                                                         		i++;
                                                         		s++;
                                                         		}				 	 
	 					   break;
						   case  K4:
						   	        if(s==buf) break;
                                              		du_data=*(--s) ;
                                              		 s++;
                                                    if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))		   
                                              	   {    DisplayOneChar(i, 1,0x34);
                                              		*s=0X04; 
                                              		i++;
                                              		s++;
                                              		}					 	 
	 					   break;
						   case  K5:
						   	       if(s==buf) break;
                                              		du_data=*(--s) ;
                                              		 s++;
                                                       if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))		   
                                                   {
                                              	       DisplayOneChar(i, 1,0x35);
                                              		*s=0X05; 
                                              		i++;
                                              		s++;
                                              		}				 	 
	 					   break;
						    case  K6:
								  if(s==buf) break;
                                              		du_data=*(--s) ;
                                              		 s++;
                                                     if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))		   
                                                   {
                                              	       DisplayOneChar(i, 1,0x36);
                                              		*s=0X06; 
                                              		i++;
                                              		s++;
                                              		}				 	 
	 					   break;
						   case  K7:
						   	       if(s==buf) break;
                                              		du_data=*(--s) ;
                                              		 s++;
                                                      if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))		   
                                                   {
                                              	       DisplayOneChar(i, 1,0x37);
                                              		*s=0X07; 
                                              		i++;
                                              		s++;
                                              		}					 	 
	 					   break;
						    case  K8:
								  if(s==buf) break;
                                              		du_data=*(--s) ;
                                              		 s++;
                                                     if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))		   
                                                   {
                                              	       DisplayOneChar(i, 1,0x38);
                                              		*s=0X08; 
                                              		i++;
                                              		s++;
                                              		}	 	 
	 					   break;
						    case  K9:
								  if(s==buf) break;
                                              		du_data=*(--s) ;
                                              		 s++;
                                                     if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))		   
                                                   {
                                              	       DisplayOneChar(i, 1,0x39);
                                              		*s=0X09; 
                                              		i++;
                                              		s++;
                                              		}				 	 
	 					   break;
	       }
  	   	  
  	   	ir_flag=0;         //清除红外标记
  	   	  
  	 }
 

} 



//G代码序号减1
void serial_number_up(void)
{	 
	       WriteCommandLCM(0x0c,1);
	     if(xunhao==0x30&&xunhao1==0x30)  {goto d;}
      		     
	     	  if(xunhao1==0x30) 
	   
	             {  if(xunhao==0x30&&xunhao1==0x30) {goto b;}
		            xunhao1=0x39 ;
			  xunhao--;
		          }
		   else 	xunhao1--;
			 b:    
			 	WriteCommandLCM(0x01,1);
			  DisplayOneChar(0, 0,0X4E); 
	    	  DisplayOneChar(2, 0,xunhao1);
		  DisplayOneChar(1, 0,xunhao);
	          WriteCommandLCM(0x06,1);
		 WriteCommandLCM(0x0F,1);

            d:; 
			  }  
//G代码序号加1
void serial_number_down(void)
{ 
    WriteCommandLCM(0x0C,1);
		   	 
		 	    xunhao1++;
  	    
	     	  if(xunhao1==0x3A) 
	   
	             {  xunhao1=0x30 ;
		          xunhao++;
		          if(xunhao==0x3A) xunhao=0x30;
		          }
		  WriteCommandLCM(0x01,1);
		DisplayOneChar(0, 0,0X4E); 
	      DisplayOneChar(2, 0,xunhao1);
		 DisplayOneChar(1, 0,xunhao);
	         WriteCommandLCM(0x06,1);
		WriteCommandLCM(0x0F,1);	
//t:;	
} 			
//上翻
void pre_up(void)

{	
        unsigned int j=0;
 if(s==buf) goto e;
   while(!(*(--s)==ENTER)) 
   	                          {        
   	                                      j++;
   	                                    if(s==buf) 
   	                                    {  s+=j;goto e;}
                                      
                                 }
    while(!(*(--s)==ENTER))  
		             { if(s==buf)  goto r;}
		 s++;
		 r: i=0;   
		  serial_number_up();
	          while(!(*s==ENTER))
		   {   
                     display_buf();
				s++;	 
                 }		

	e:j=0 ;
} 

//下翻
void  forward_down(void)

 { 	 unsigned int  k=0;
     if(*s==0xff) goto r;
     while(!(*s==ENTER)) 
	 	{ 
	 	         if(*++s==0xff) { s=s-1-k;goto r;}
	                    k++; 
		}
	 s++;
	 i=0;
	  	  serial_number_down();
              while(!((*s==ENTER)||(*s==0xFF)))
		   { 
                         display_buf();
						 s++;
						 
             	}
			  
 r:k=0;
 }			 
  /*显示一字节缓冲	内容	  		*/

  void  display_buf(void)
  	{
  	switch(*s)
					{
                                           case G00:
							Lcd_print1(1,i,"G00");i+=3;
							break;
						case G01:
							Lcd_print1(1,i,"G01");i+=3;
							break;
						case G02:
							Lcd_print1(1,i,"G02");i+=3;
							break;
						case G03:
							Lcd_print1(1,i,"G03");i+=3;
							break;
						case G04:
							Lcd_print1(1,i,"G04");i+=3;
							break;
						case G91:
							Lcd_print1(1,i,"G91");i+=3;
							break;
						case G90:
							Lcd_print1(1,i,"G90");i+=3;
							break;
						case M02:
							Lcd_print1(1,i,"M02");i+=3;
							break;
						case M46:
							Lcd_print1(1,i,"M46");i+=3;
							break;
						case M47:
							Lcd_print1(1,i,"M47");i+=3;
							break;
						case FuHao:
							DisplayOneChar(i,1,0X2D) ; i++;
							break;
						case I:
							DisplayOneChar(i,1,0X49) ; i++;
							break;
						case K:
							DisplayOneChar(i,1,0X4B) ; i++;
							break;		
						case 0X00:
							DisplayOneChar(i,1,0X30) ; i++;
							break;
						case 0X01:
							DisplayOneChar(i,1,0X31) ; i++;
							break;
						case 0X02:
							DisplayOneChar(i,1,0X32) ; i++;
							break;
						case 0X03:
							DisplayOneChar(i,1,0X33) ; i++;
							break;
						case 0X04:
							DisplayOneChar(i,1,0X34) ; i++;
							break;
						case 0X05:
							DisplayOneChar(i,1,0X35) ; i++;
							break;
						case 0X06:
							DisplayOneChar(i,1,0X36) ; i++;
							break;
						case 0X07:
							DisplayOneChar(i,1,0X37) ; i++;
							break;
						case 0X08:
							DisplayOneChar(i,1,0X38) ; i++;
							break;	
						case 0X09:
							DisplayOneChar(i,1,0X39) ; i++;
							break;
						case SPEED:
							DisplayOneChar(i,1,0X46) ; i++;
							break;
						case X1:
							DisplayOneChar(i,1,0X58) ; i++;
							break;
						case Y1:
							DisplayOneChar(i,1,0X59) ; i++;
							break;
                         	}		
	}
  void display_first_buf(void)
  	{
 ReadGcodeToI2C();

  	s=buf;
	while(!(*s==ENTER))
		{
		display_buf();
		s++;
		}
	}
  void Del_one_char(void)
  	{
          unsigned char j=0,k=0;
                        if(*s==0xff||s==buf||*s==ENTER)  goto w ;  
			         while((*s==0xFF))
				              { *s=*(s+1);s++;j++; }
				 *(++s)=0xff;	              //最后一个付值为0XFF
					 s=s-j+1;               //再把S指向当前位置
					 j=0;
					 k=i;
				   while(!(*s==ENTER||*s==0xff))
                                        		   {   
                                                             display_buf();
                                        				s++;
									j++;					
                                                      }	
                                    for(;i<16;i++)
					Lcd_print1(1,i," ");
					 s-=j;
					i=k;	   
			w:	LocateXY(i,1);					
	}
  void Insert_one_char(void)
  	{
  	    unsigned char j=0,k=0;
             ir_data[2]=0;
                while(*(++s)!=0xff) k++;
				k++;
				while(k--)
					{*s=*(s-1);s--;}
					          
					 j=0;
					 k=i;
					 s++;                /*下一个开始显示*/
					  Lcd_print1(1,i,"  ");
					 i++;
				   while(!(*s==ENTER||*s==0xff))
                                        		   {   
                                                        				 
								 display_buf();
                                        				s++;
									j++;					
                                              }		                                                                                                                                                                                                                                                                                                                                                                                                                                         
					 s=s-j-1;
					i=k;	   
           	     
			   LocateXY(i,1);	
			   

  }

⌨️ 快捷键说明

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