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

📄 main.c

📁 制袋机程序.rar
💻 C
📖 第 1 页 / 共 3 页
字号:
	  	KEYB_DOWN();
      delay_ms(10);
      KEYB_UP();
      i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position--;
      i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
	  }
	  else if(g_Status.Modify_Position > 0)
	  {
	  	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position--;
      i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
	  }
	  else
	  {}

	}
	else if(g_Status.Modify_Index <= 14)
	{
		if(g_Status.Modify_Position == 0)
		{}
		else
		{
			i = GetRealyStatus(g_Status.Modify_Index - 4);
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, i, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
			g_Status.Modify_Position = 0;
		}
	}
	else if(g_Status.Modify_Index <= 16)
	{
		if(g_Status.Modify_Position <= 0)
		{}
		else if(g_Status.Modify_Position <=1)
		{
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position = 0;
		}
		else
		{
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position --;
      i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
	}
	else if(g_Status.Modify_Index <= 22)
	{
		if(g_Status.Modify_Position == 0)
		{}
		else
		{
			g_Status.Modify_Position = 0;
		}
	}
	else if(g_Status.Modify_Index <=28)
	{
		if(g_Status.Modify_Position <= 0)
		{}
		else if(g_Status.Modify_Position <=1)
		{
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position = 0;
		}
		else
		{
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position --;
      i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
	}
	else
	{}

	g_Status.nPage = CalPage(g_Status.Modify_Index);
}
void Btn_Right(void)
{
  uchar i,pos;
	//密码对话框
  if(g_Status.Mode == MODE_PARAMODIFY)
  {
  	if(g_Status.PasswordCount < 4)
		{
			g_Status.Password &= ~(0x3 << g_Status.PasswordCount*2);
			g_Status.Password |= (0x1 << g_Status.PasswordCount*2);
			g_Status.PasswordCount++;
			LCD_ShowPassword(g_Status.PasswordCount);
		}
  }

  if(g_Status.Mode != MODE_RUNABLE)
  	return;

	if(g_Status.Modify_Index <= 1)
	{}
	else if(g_Status.Modify_Index <= 2)
	{
		pos = g_Status.Modify_Position + 1;
		if(g_Status.Modify_Position >= 4)
                {
                  Update_LEDPosition();
    if(g_Status.LED_Modify_Position != 1)
    {
			KEYB_DOWN();
			while(1)
			{
				delay_ms(5);
				Update_LEDPosition();
				if(g_Status.LED_Modify_Position == pos)
					break;
			}
			KEYB_UP();
	  }
                }
                else
                {
                  Update_LEDPosition();
    if(g_Status.LED_Modify_Position != pos)
    {
			KEYE_DOWN();
			while(1)
			{
				delay_ms(5);
				Update_LEDPosition();
				if(g_Status.LED_Modify_Position == pos)
					break;
			}
			KEYE_UP();
	  }
                }

    

    if(g_Status.Modify_Position == 0)
    {
    	g_Status.Modify_Position++;
    	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
    }
    else if(g_Status.Modify_Position == 4)
    {
    	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
			g_Status.Modify_Position = 0;
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
    }
    else
    {
    	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
			g_Status.Modify_Position++;
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
    }
	}
	else if(g_Status.Modify_Index <= 3)
	{
		/*
		KEYE_DOWN();
		while(1)
		{
			delay_ms(5);
			Update_LEDPosition();
			if(g_Status.LED_Modify_Position == 5)
				break;
		}
		KEYE_UP();
		*/

		if(g_Status.Modify_Position == 0)
    {
    	g_Status.Modify_Position++;
    	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
    }
    else
    {
    	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
			g_Status.Modify_Position = 0;
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
    }
	}
	else if(g_Status.Modify_Index <= 4)
	{
		pos = g_Status.Modify_Position + 6;
		if(g_Status.Modify_Position >= 2)pos = 7;

                        Update_LEDPosition();
			if(g_Status.LED_Modify_Position != pos)
                        {
		KEYE_DOWN();
		while(1)
		{
			delay_ms(5);
			Update_LEDPosition();
			if(g_Status.LED_Modify_Position == pos)
				break;
		}
		KEYE_UP();
                }

    if(g_Status.Modify_Position == 0)
    {
    	g_Status.Modify_Position++;
    	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
    }
    else if(g_Status.Modify_Position == 2)
    {
    	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
			g_Status.Modify_Position = 0;
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
    }
    else
    {
    	i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
			g_Status.Modify_Position++;
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
    }
	}
	else if(g_Status.Modify_Index <= 14)
	{
		i = g_Status.Modify_Index - 4;
		if(g_Status.Modify_Position == 0)
		{
			g_Status.Modify_Position++;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, GetRealyStatus(i), ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else
		{
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, GetRealyStatus(i), ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
			g_Status.Modify_Position = 0;
		}
	}
	else if(g_Status.Modify_Index <= 15)
	{
	  if(g_Status.Modify_Position <= 0)
		{
			g_Status.Modify_Position++;
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else if(g_Status.Modify_Position <=1)
		{
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position++;
      i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else
		{
		}
	}
	else if(g_Status.Modify_Index <= 16)
	{
		if(g_Status.Modify_Position <= 0)
		{
			g_Status.Modify_Position++;
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else if(g_Status.Modify_Position <=3)
		{
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position++;
      i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else
		{
		}
	}
	else if(g_Status.Modify_Index <= 22)
	{
		i = g_Status.Modify_Index - 6;
		if(g_Status.Modify_Position == 0)
		{
			g_Status.Modify_Position++;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, GetRealyStatus(i), ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else
		{
			g_Status.Modify_Position = 0;
			LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, GetRealyStatus(i), ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
		}
	}
	else if(g_Status.Modify_Index <=28)
	{
		if(g_Status.Modify_Position <= 0)
		{
			g_Status.Modify_Position++;
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else if(g_Status.Modify_Position <=2)
		{
			i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
      g_Status.Modify_Position++;
      i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
      LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else
		{
		}
	}
	else
	{}

	g_Status.nPage = CalPage(g_Status.Modify_Index);
}
void Btn_Mode(void)
{
	KEYA_DOWN();
  delay_ms(20);
  KEYA_UP();
  ShowMode();
}

void Btn_Modify(void)
{
	uchar i;
	i = g_Status.LED_Status;

	if((i & 0x08) == 0)//run
		return;

	if((i & 0x01) != 0)
	{

		while(1)
		{
			KEYA_DOWN();
			delay_ms(10);
			KEYA_UP();
			Update_led_status();
			i = g_Status.LED_Status;
			if((i & 0x01) == 0)
				break;
			delay_ms(10);
		}

	}

	if(g_Status.Mode == MODE_PARAMODIFY)
	{
		if(g_Status.PasswordCount < 4)
			return;
		if(g_Status.Password == 0x55)
		{
		  LCD_ShowPasswordDialog(false);
		  g_Status.PasswordCount = 0;
      g_Status.Password = 0;
		  g_Status.Mode = MODE_RUNABLE;
		  g_Status.nPage = 1;
	    g_Status.Modify_Index = 2;
	    g_Status.Modify_Position = 0;
	    Update_LEDPosition();
	    if(g_Status.LED_Modify_Position != 1)
	    {
	    	KEYE_DOWN();
				while(1)
				{
					delay_ms(5);
					Update_LEDPosition();
					if(g_Status.LED_Modify_Position == 1)
						break;
				}
				KEYE_UP();
	    }
			LCD_ShowStatusOrParameter(2, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
		}
		else
		{
			g_Status.PasswordCount = 0;
      g_Status.Password = 0;
			LCD_ShowPasswordDialog(true);
		}
	}
	else
	{
		g_Status.Mode = MODE_PARAMODIFY;
		g_Status.PasswordCount = 0;
    g_Status.Password = 0;
	  LCD_ShowPasswordDialog(true);
	}
}
void Btn_Track(void)
{
	if(g_Status.bTrack)
	{
		g_Status.bTrack = false;
		LCD_ShowButton(BUTTON_TRACK, BLACK, GRAY, BTN_DOWN_BORDER_COLOR);
	}
	else
	{
		g_Status.bTrack = true;
		LCD_ShowButton(BUTTON_TRACK, BLACK, GREEN, BTN_DOWN_BORDER_COLOR);
	}
}
void Btn_Dianzheng(void)
{
	if(g_Status.bDianzheng)
	{
		g_Status.bDianzheng = false;
		LCD_ShowButton(BUTTON_DIANZHENG, BLACK, GRAY, BTN_DOWN_BORDER_COLOR);
	}
	else
	{
		g_Status.bDianzheng = true;
		LCD_ShowButton(BUTTON_DIANZHENG, BLACK, GREEN, BTN_DOWN_BORDER_COLOR);
	}
}
void Btn_Dianfan(void)
{
		if(g_Status.bDianfan)
	{
		g_Status.bDianfan = false;
		LCD_ShowButton(BUTTON_DIANFAN, BLACK, GRAY, BTN_DOWN_BORDER_COLOR);
	}
	else
	{
		g_Status.bDianfan = true;
		LCD_ShowButton(BUTTON_DIANFAN, BLACK, GREEN, BTN_DOWN_BORDER_COLOR);
	}
}
//====================================================================================
//函数名称:void ButtonAction()
//函数功能:按键功能的实现
//入口参数:g_Status.Mode,g_Status.Button_id,g_Status.nPage,g_Status.Modify_Index,
//         g_Status.Modify_Position
//出口参数:无
//====================================================================================
void ButtonAction()
{
  //处理按键事件
  switch(g_Status.Button_id)
  {
    case BUTTON_NULL://无效值
      break;
    case BUTTON_RUN://运行
      Btn_Run();
      break;
    case BUTTON_STOP://停止
    	Btn_Stop();
      break;
    case BUTTON_RESET://复位
      Btn_Reset();
      break;
    case BUTTON_CLEAR://清零
      Btn_Clear();
      break;
    case BUTTON_CLEAR_ALL://总清
      Btn_Clear_all();
      break;
    case BUTTON_DIANZHENG://点正
    	Btn_Dianzheng();
      break;
    case BUTTON_DIANFAN://点反
    	Btn_Dianfan();
      break;
    case BUTTON_UP:
      Btn_Up();
      break;
    case BUTTON_DOWN:
      Btn_Down();
      break;
    case BUTTON_LEFT:
      Btn_Left();
      break;
    case BUTTON_RIGHT:
      Btn_Right();
      break;
    case BUTTON_MODE:
      Btn_Mode();
      break;
    case BUTTON_TRACK:
      Btn_Track();
      break;
    case BUTTON_MODIFY:
      Btn_Modify();
      break;
    default:
      break;
  }//end of switch
}



⌨️ 快捷键说明

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