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

📄 main.lss

📁 AVR单片机ATMEGA32驱动240*128LCD程序
💻 LSS
📖 第 1 页 / 共 5 页
字号:
			{
				WorkStatus = 0x12;
				//vStop();
				vLCD_Page_Change(1);//切换数据显示页面
				m_page=1;
				break;
			}	
		}break;
		case 0x20:
		{
			if(key==ENTER)//进入编辑模式
			{
				vDisplay();
				vLCD_Page_Change(2);
				m_page=2;
				WorkStatus = 0x26;//状态设置
				S_state	=XS_state[number];
				//DisNum(TempValue,5);
				vSetup();
			}
			else
			{
				WorkStatus = 0x10;//待机
				vStop();
				dis_fige=0;
			}
		}break;
		case 0x26:
		{
			if(key==RIGHT)//下一页
			{
				if(number>=10)
				{
					number=10;
					break;
				}
				number++;
				vDisplay();
				vSetup();
				break;
			}
			if(key==LIFT)//上一页
			{
				if(number<=1)break;
				number--;
				vDisplay();
				vSetup();
				break;
			}
			if(key==ESC)//取消,进入主界面
			{
				WorkStatus = 0x10;
				vStop();
				dis_fige=0;
				vLCD_Page_Change(1);//切换数据显示页面
				m_page=1;
				break;
			}
			if(key==F4)//
			{
				S_state++;
				if(S_state>=6)
				{
				S_state=0;
				}
			}
			if(key==ENTER)//编辑有效,检查是否可用参数
			{
				WorkStatus	= 	0x21;//恒压
				XS_state[number]	= 	S_state;
				EEPROM_write((number+102),XS_state[number]%256);
				//vDisplay();
				TempValue = XVoltage[number];
				break;
			}
			vSet_state(S_state);	
		}break;
		case 0x21://恒压设置
		{
			if(key==RIGHT)//下一页
			{
				if(number>=10)
				{
					number=10;
					break;
				}
				number++;
				vDisplay();
				vSetup();
				break;
			}
			if(key==LIFT)//上一页
			{
				if(number<=1)break;
				number--;
				vDisplay();
				vSetup();
				break;
			}
			if(key==ESC)//取消,进入主界面
			{
				WorkStatus = 0x10;
				vStop();
				dis_fige=0;
				vLCD_Page_Change(1);//切换数据显示页面
				m_page=1;
				break;
			}
			if(key==ENTER)//编辑有效,检查是否可用参数
			{
				WorkStatus	= 	0x22;//恒流
				if(TempValue>V_MAX)TempValue = 0;
				CVoltage	= 	TempValue;
				XVoltage[number]	= 	TempValue;
				EEPROM_write((2*number),XVoltage[number]%256);
				EEPROM_write((2*number+1),XVoltage[number]/256);
				//vDisplay();
				TempValue = XCurrent[number];
				break;
			}
			vGetInt(key);
			DisNum(TempValue,5);
		}break;
		case 0x22://恒流
		{
			if(key==RIGHT)//下一页
			{
				if(number>=10)
				{
					number=10;
					break;
				}				number++;
				vDisplay();
				vSetup();
				break;
			}
			if(key==LIFT)//上一页
			{
				if(number<=1)break;
				number--;
				vDisplay();
				vSetup();
				break;
			}
			if(key==ESC)//取消,进入主界面
			{
				WorkStatus = 0x10;
				vStop();
				dis_fige=0;
				vLCD_Page_Change(1);//切换数据显示页面
				m_page=1;
				break;
			}
			if(key==ENTER)//编辑有效,检查是否可用参数
			{
				WorkStatus	= 	0x23;//涓流
				if(TempValue>A_MAX)TempValue = 0;
				CCurrent	= 	TempValue;
				XCurrent[number]	= 	TempValue;
				EEPROM_write((2*number+20),XCurrent[number]%256);
				EEPROM_write((2*number+21),XCurrent[number]/256);
				//vDisplay();
				TempValue = XStopCurrent[number];
				break;
			}
			vGetInt(key);
			DisNum(TempValue,6);//TempValue
		}break;
		case 0x23://涓流
		{
			if(key==RIGHT)//下一页
			{
				if(number>=10)
				{
					number=10;
					break;
				}
				number++;
				vDisplay();
				vSetup();
				break;
			}
			if(key==LIFT)//上一页
			{
				if(number<=1)break;
				number--;
				vDisplay();
				vSetup();
				break;
			}
			if(key==ESC)//取消,进入主界面
			{
				WorkStatus = 0x10;
				vStop();
				dis_fige=0;
				vLCD_Page_Change(1);//切换数据显示页面
				m_page=1;
				break;
			}
			if(key==ENTER)//编辑有效,检查是否可用参数
			{
				WorkStatus	= 	0x24;//时间
				if(TempValue>A_MAX)TempValue = 0;
				StopCurrent	= 	TempValue;
				XStopCurrent[number]	= 	TempValue;
				EEPROM_write((2*number+40),XStopCurrent[number]%256);
				EEPROM_write((2*number+41),XStopCurrent[number]/256);
				//vDisplay();
				TempValue = XStopTime[number];
				break;
			}
			vGetInt(key);
			DisNum(TempValue,7);
		}break;
		case 0x24://时间
		{
			if(key==RIGHT)//下一页
			{
				if(number>=10)
				{
					number=10;
					break;
				}
				number++;
				vDisplay();
				vSetup();
				break;
			}
			if(key==LIFT)//上一页
			{
				if(number<=1)break;
				number--;
				vDisplay();
				vSetup();
				break;
			}
			if(key==ESC)//取消,进入主界面
			{
				WorkStatus = 0x10;
				vStop();
				dis_fige=0;
				vLCD_Page_Change(1);//切换数据显示页面
				m_page=1;
				break;
			}
			if(key==ENTER)//编辑有效,检查是否可用参数
			{
				WorkStatus	= 	0x25;//容量
				if(TempValue>TE_MAX)TempValue = 0;
				StopTime	= 	TempValue;
				XStopTime[number]	= 	TempValue;
				EEPROM_write((2*number+60),XStopTime[number]%256);
				EEPROM_write((2*number+61),XStopTime[number]/256);
				//vDisplay();
				TempValue = XStopCapacitor[number];
				break;
			}
			vGetInt(key);
			DisNum(TempValue,8);
		}break;
		case 0x25://容量
		{
			if(key==RIGHT)//下一页
			{
				if(number>=10)
				{
					number=10;
					break;
				}
				number++;
				vDisplay();
				vSetup();
				break;
			}
			if(key==LIFT)//上一页
			{
				if(number<=1)break;
				number--;
				vDisplay();
				vSetup();
				break;
			}
			if(key==ESC)//取消,进入主界面
			{
				WorkStatus = 0x10;
				vStop();
				dis_fige=0;
				vLCD_Page_Change(1);//切换数据显示页面
				m_page=1;
				break;
			}
			if(key==ENTER)//编辑有效,检查是否可用参数
			{
				WorkStatus	= 	0x27;//恒压
				if(TempValue>TE_MAX)TempValue = 0;
				StopCapacitor	= 	TempValue;
				XStopCapacitor[number]	= 	TempValue;
				EEPROM_write((2*number+80),XStopCapacitor[number]%256);
				EEPROM_write((2*number+81),XStopCapacitor[number]/256);
				//vDisplay();
				TempValue = S_number[number];
				break;
			}
			vGetInt(key);
			DisNum(TempValue,9);
		}break;
		case 0x27://循环
		{
			if(key==RIGHT)//下一页
			{
				if(number>=10)break;
				number++;
				vDisplay();
				vSetup();
				break;
			}
			if(key==LIFT)//上一页
			{
				if(number<=1)break;
				number--;
				vDisplay();
				vSetup();
				break;
			}
			if(key==ESC)//取消,进入主界面
			{
				WorkStatus = 0x10;
				vStop();
				dis_fige=0;
				vLCD_Page_Change(1);//切换数据显示页面
				m_page=1;
				break;
			}
			if(key==ENTER)//编辑有效,检查是否可用参数
			{
				WorkStatus	= 	0x26;//恒压
				if(TempValue>10)TempValue = 0;
				S_number[number]	= 	TempValue;
				EEPROM_write((number+112),S_number[number]%256);
				S_state	=XS_state[number];
				break;
			}
			vGetInt(key);
			DisNum(TempValue,10);
		}break;
		default:break;
	}
}
void vSet_state(unsigned char op)
{
	const unsigned char *p = ctrl;
	
	switch(op)
	{
		case 0:
		{
			LCD_PutChar(2,0x030a,p+63*32);//结
			LCD_PutChar(2,0x030c,p+64*32);//束		
		}break;
		case 1:
		{
			LCD_PutChar(2,0x030a,p+46*32);//恒
			LCD_PutChar(2,0x030c,p+3

⌨️ 快捷键说明

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