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

📄 _edit.c

📁 全自动剥线机(C语言源码+DOC文档说明)
💻 C
📖 第 1 页 / 共 5 页
字号:
              g_charreg0--;
              g_firstmody = FALSE;
              Number_Chg((uint)(g_charreg0));
              Number_Show(g_itemcnter);
           }
           break;
      case CN_KEYCLR:
           g_charreg0 = 0;
           Number_Chg((uint)(g_charreg0));
           Number_Show(g_itemcnter);
           break;
      case CN_KEYESC:
           g_systemsta = CN_SELSTA;
           g_char_ptr = (uchar xdata *)g_uintreg1;
           g_charreg0 =*g_char_ptr; /* restore the speed value. */
           Number_Chg((uint)(g_charreg0));
           Number_Show(g_itemcnter);
           Signal_Show(g_itemcnter,CN_NWHITE);
           break;
      case CN_KEYENTER:
           g_systemsta = CN_SELSTA;
           g_char_ptr = (uchar xdata *)g_uintreg1;
          *g_char_ptr = g_charreg0;
           Number_Chg((uint)(g_charreg0));
           Number_Show(g_itemcnter);
           Signal_Show(g_itemcnter,CN_NWHITE);
           break;
      default:
           break;
   }
}

/***************************************************************************

NAME:       Edit_Pg0it2

FUNCTION:   This procedure will handle the key value in page 0 item 2 .

INPUTS:     key value

OUTPUTS:    NONE

***************************************************************************/
void Edit_Pg0it2(uchar d_keyvalue)
{
   if(g_firstedit==TRUE)
   {
      g_firstedit = FALSE;
      g_dotstatus = CN_DOTSTA0;
      g_uint_ptr = (uint xdata *)AD_PROGCNTER;
      g_uintreg0 = *g_uint_ptr;
      if(g_uintreg0>=CN_COMPROG)
      {
      	 g_uintreg1 = AD_MIDSRAM+(g_uintreg0-CN_COMPROG)*CN_MIDBYTE+ADPAGE0[g_itemcnter];
      	 g_uint_ptr = (uint xdata *)g_uintreg1;
      }
      else
      {
      	 g_uintreg1 = AD_PROGRAM+g_uintreg0*CN_COMBYTE+ADPAGE0[g_itemcnter];
         g_uint_ptr = (uint xdata *)g_uintreg1;
      }
      g_uintreg0 = *g_uint_ptr;  /*get the current wire rod length. */
   }
   switch(d_keyvalue)
   {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
      case 8:
      case 9:
           if(g_firstmody==TRUE)
           {
              g_dotstatus = CN_DOTSTA0;
              g_firstmody = FALSE;
              g_uintreg0 = d_keyvalue;
           }
           else
           {
              if(g_uintreg0<CN_FLOATLIM)
              {
              	 if(g_dotstatus==CN_DOTSTA0)
              	 {
              	    if((ulong)(g_uintreg0)*10+d_keyvalue<=CN_MAXWIREL)
              	    {
              	    	g_uintreg0 = g_uintreg0*10+d_keyvalue;
                    }
           	 }
           	 else if(g_dotstatus==CN_DOTSTA1)
           	 {
           	    if(d_keyvalue==0)
           	    {
           	        g_dotstatus = CN_DOTSTA2;
           	    }
           	    else
           	    {
           	    	g_dotstatus = CN_DOTSTA3;
           	    	g_uintreg0 = g_uintreg0*10+d_keyvalue+CN_FLOATLIM;
           	    }
                 }
              }
           }
           Number_Chg(g_uintreg0);
           if(g_dotstatus==CN_DOTSTA1)
           {
              g_numshow[1] = CN_POINT;
           }
           else if(g_dotstatus==CN_DOTSTA2)
           {
              g_numshow[0] = 0;
              g_numshow[1] = CN_POINT;
           }
           Number_Show(g_itemcnter);
           break;
      case CN_KEYDOT:
           if(g_dotstatus==CN_DOTSTA0 && g_uintreg0<=CN_MAXFLOAT)
           {
              g_firstmody = FALSE;
              g_dotstatus = CN_DOTSTA1;
              Number_Chg(g_uintreg0);
              g_numshow[1] = CN_POINT;
              Number_Show(g_itemcnter);
           }
           break;
      case CN_KEYUP:
           if(g_uintreg0>CN_FLOATLIM)
           {
              g_uintreg0 = (g_uintreg0-CN_FLOATLIM)/10; /* get the int section. */
           }
           if(g_uintreg0<CN_MAXWIREL)
           {
              g_uintreg0++;
              g_firstmody = FALSE;
              g_dotstatus = CN_DOTSTA0;
              Number_Chg(g_uintreg0);
              Number_Show(g_itemcnter);
           }
           break;
      case CN_KEYDOWN:
           if(g_uintreg0>CN_FLOATLIM)
           {
              g_uintreg0 = (g_uintreg0-CN_FLOATLIM)/10; /* get the int section. */
           }
           if(g_uintreg0>=1)
           {
              g_uintreg0--;
              g_firstmody = FALSE;
              g_dotstatus = CN_DOTSTA0;
              Number_Chg(g_uintreg0);
              Number_Show(g_itemcnter);
           }
           break;
      case CN_KEYCLR:
           g_uintreg0 = 0;
           g_firstmody = FALSE;
           g_dotstatus = CN_DOTSTA0;
           Number_Chg(g_uintreg0);
           Number_Show(g_itemcnter);
           break;
      case CN_KEYESC:
      case CN_KEYENTER:
           g_systemsta = CN_SELSTA;
           g_uint_ptr = (uint xdata *)g_uintreg1;
           if(d_keyvalue==CN_KEYESC)
           {
              g_uintreg0 = *g_uint_ptr; /* restore the wire rod length. */
           }
           else
           {
             *g_uint_ptr = g_uintreg0;
           }
           Number_Chg(g_uintreg0);
           Number_Show(g_itemcnter);
           g_uint_ptr = (uint xdata *)AD_PROGCNTER;
           Current_Progparam(*g_uint_ptr);
           Set_Shortflag();
           g_uint_ptr = (uint xdata *)AD_PROGCNTER;
           Midset_Shortflag(*g_uint_ptr);
           break;
      default:
           break;  
   }
}

/***************************************************************************

NAME:       Edit_Pg0it3

FUNCTION:   This procedure will handle the key value in page 0 item 3 .

INPUTS:     key value

OUTPUTS:    NONE

***************************************************************************/
void Edit_Pg0it3(uchar d_keyvalue)
{
   if(g_firstedit==TRUE)
   {
      g_firstedit = FALSE;
      g_uint_ptr = (uint xdata *)AD_PRDUCNTER;
      g_uintreg0 = *g_uint_ptr;
   }
   switch(d_keyvalue)
   {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
      case 8:
      case 9:
           if(g_firstmody==TRUE)
           {
              g_firstmody = FALSE;
              g_uintreg0 = d_keyvalue;
           }
           else
           {
              if(g_uintreg0*10+d_keyvalue<=CN_MAXTOTAL)
              {
              	 g_uintreg0 = g_uintreg0*10+d_keyvalue;
              }
           }
           Number_Chg(g_uintreg0);
           Number_Show(g_itemcnter);
           break;
      case CN_KEYUP:
           if(g_uintreg0<CN_MAXTOTAL)
           {
              g_uintreg0++;
              g_firstmody = FALSE;
              Number_Chg(g_uintreg0);
              Number_Show(g_itemcnter);
           }
           break;
      case CN_KEYDOWN:
           if(g_uintreg0>=1)
           {
              g_uintreg0--;
              g_firstmody = FALSE;
              Number_Chg(g_uintreg0);
              Number_Show(g_itemcnter);
           }
           break;
      case CN_KEYCLR:
           g_uintreg0 = 0;
           Number_Chg(g_uintreg0);
           Number_Show(g_itemcnter);
           break;
      case CN_KEYESC:
           g_systemsta = CN_SELSTA;
           g_uint_ptr = (uint xdata *)AD_PRDUCNTER;
           g_uintreg0 =*g_uint_ptr; /* restore the product total value. */
           Number_Chg(g_uintreg0);
           Number_Show(g_itemcnter);
           Signal_Show(g_itemcnter,CN_NWHITE);
           break;
      case CN_KEYENTER:
           g_systemsta = CN_SELSTA;
           g_uint_ptr = (uint xdata *)AD_PRDUCNTER;
          *g_uint_ptr = g_uintreg0; /* write the product total value. */
           g_uint_ptr = (uint xdata *)AD_PROGCNTER;
           g_uintreg0 = *g_uint_ptr;
           if(g_uintreg0>=CN_COMPROG)
           {
      	      g_uintreg1 = AD_MIDSRAM+(g_uintreg0-CN_COMPROG)*CN_MIDBYTE+AD_PERGROUP;
           }
           else
           {
      	      g_uintreg1 = AD_PROGRAM+g_uintreg0*CN_COMBYTE+AD_PERGROUP;
           }
           g_uint_ptr = (uint xdata *)AD_PRDUCNTER;
           g_uintreg0 = *g_uint_ptr; 
           g_uint_ptr = (uint xdata *)g_uintreg1;
           g_uintreg1 = *g_uint_ptr;
           if(g_uintreg0>=g_uintreg1 && g_uintreg1>0)
           {
              g_uint_ptr = (uint xdata *)AD_PRDUCNTER;	
              g_uintreg0 = 0;	
             *g_uint_ptr = 0;  /* set value >= per group number, so clear it. */   
           }
           Number_Chg(g_uintreg0);
           Number_Show(g_itemcnter);
           Signal_Show(g_itemcnter,CN_NWHITE);
           break;
      default:
           break;
   }
}

/***************************************************************************

NAME:       Edit_Pg0it4_7

FUNCTION:   This procedure will handle the key value in page 0 item 4-7 .

INPUTS:     key value

OUTPUTS:    NONE

***************************************************************************/
void Edit_Pg0it4_7(uchar d_keyvalue)
{
   if(g_firstedit==TRUE)
   {
      g_firstedit = FALSE;
      g_dotstatus = CN_DOTSTA0;
      g_uint_ptr = (uint xdata *)AD_PROGCNTER;
      g_uintreg0 = *g_uint_ptr;
      if(g_uintreg0>=CN_COMPROG)
      {
      	 g_uintreg1 = AD_MIDSRAM+(g_uintreg0-CN_COMPROG)*CN_MIDBYTE+ADPAGE0[g_itemcnter];
         g_uint_ptr = (uint xdata *)g_uintreg1;
      }
      else
      {
         g_uintreg1 = AD_PROGRAM+g_uintreg0*CN_COMBYTE+ADPAGE0[g_itemcnter];
         g_uint_ptr = (uint xdata *)g_uintreg1;
      }
      g_uintreg0 = *g_uint_ptr; /* get the current program item value. */
   }
   switch(d_keyvalue)
   {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
      case 8:
      case 9:
           if(g_firstmody==TRUE)
           {
              g_dotstatus = CN_DOTSTA0;
              g_firstmody = FALSE;
              g_uintreg0 = d_keyvalue;
           }
           else
           {
              if(g_uintreg0<CN_FLOATLIM)
              {
              	 if(g_dotstatus==CN_DOTSTA0)
              	 {
              	    if(g_itemcnter==4 || g_itemcnter==6) /* the wire head or wire rail. */
              	    {
                      if((ulong)(g_uintreg0)*10+d_keyvalue<=CN_H_RLIM)
              	      {
              	    	g_uintreg0 = g_uintreg0*10+d_keyvalue;
                      }
                    }
                    else
                    {
                    	if((ulong)(g_uintreg0)*10+d_keyvalue<=CN_STRIPLIM)
              	      {
              	    	g_uintreg0 = g_uintreg0*10+d_keyvalue;
                      }
                    }
           	 }
           	 else if(g_dotstatus==CN_DOTSTA1)
           	 {
           	    if(d_keyvalue==0)
           	    {
           	        g_dotstatus = CN_DOTSTA2;
           	    }
           	    else
           	    {
           	    	g_dotstatus = CN_DOTSTA3;
           	    	g_uintreg0 = g_uintreg0*10+d_keyvalue+CN_FLOATLIM;
           	    }
                 }
              }
           }
           Number_Chg(g_uintreg0);
           if(g_dotstatus==CN_DOTSTA1)
           {
              g_numshow[1] = CN_POINT;
           }
           else if(g_dotstatus==CN_DOTSTA2)
           {
              g_numshow[0] = 0;
              g_numshow[1] = CN_POINT;
           }
           Number_Show(g_itemcnter);
           break;
      case CN_KEYDOT:
           if(g_firstmody==FALSE)
           {
              if(g_dotstatus==CN_DOTSTA0)
              {
              	 if(g_uintreg0!=CN_H_RLIM && g_uintreg0!=CN_STRIPLIM)
              	 {
              	   g_dotstatus = CN_DOTSTA1;
              	   Number_Chg(g_uintreg0);
                   g_numshow[1] = CN_POINT;
                   Number_Show(g_itemcnter);
              	 }
              }
           }
           else
           {
              if(g_uintreg0<CN_FLOATLIM)
              {
                 if(g_uintreg0!=CN_H_RLIM && g_uintreg0!=CN_STRIPLIM)
                 {
                    g_firstmody = FALSE;
                    g_dotstatus = CN_DOTSTA1;
              	    Number_Chg(g_uintreg0);
                    g_numshow[1] = CN_POINT;
                    Number_Show(g_itemcnter);
                 }
              }
           }
           break;
      case CN_KEYUP:
           if(g_uintreg0>CN_FLOATLIM)
           {
              g_uintreg0 = (g_uintreg0-CN_FLOATLIM)/10; /* get the int section. */
           }
           if(g_itemcnter==4 || g_itemcnter==6) /* the wire head or wire rail. */
           {
              if(g_uintreg0<CN_H_RLIM)
              {
                 g_uintreg0++;
                 g_firstmody = FALSE;
                 g_dotstatus = CN_DOTSTA0;
                 Number_Chg(g_uintreg0);
                 Number_Show(g_itemcnter);
              }
    

⌨️ 快捷键说明

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