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

📄 meau.c

📁 AVR单片机 液晶菜单程序 使用的1602B_LCD液晶
💻 C
📖 第 1 页 / 共 2 页
字号:

#include <iom64v.h>
#include "1602B_LCD.h"
#include "control.h"

uchar IDNUM[2],KZNUM[2];
uchar TKEY;
int flag_cd=0,M;
int function_flag2,function_flag1;
uint RAd,NOWADDR;
//extern unsigned int en;
//int a_voltage_average,a_current_average,b_voltage_average,b_current_average,c_voltage_average,c_current_average;
//int a_voltage_harmonic[4],a_current_harmonic[4],b_voltage_harmonic[4],b_current_harmonic[4],c_voltage_harmonic[4],c_current_harmonic[4];

/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*                       初始化结构体数组
/*                      CurMenuID=本菜单ID
/*                  MaxMenuItem=同级菜单最大项数
/*             OkMenuID=子菜单层所对应的菜单ID,ID=999为菜单已经到底了
/*             EscMenuID=父菜单层所对应的菜单ID,ID=999为菜单已经到顶了
/*             DownMenuID=弟菜单层所对应的菜单ID,ID=999为菜单是独生子
/*             UpMenuID=兄菜单层所对应的菜单ID,ID=999为菜单是独生子
/*------------------------------------------------------------------------------*/

	
	KeyTabStruct KeyTab[MAX_KEYTABSTRUCT_NUM]=
		{
	        // CurMenuID,			  MaxMenuItem,	OkMenuID,						EscMenuID,				DownMenuID,             	UpMenuID,	          poiadd,     	     
			
			{MENU_FACE,			           3,    setup,				               999,					   999,				            999,		           999,        },
			{setup,		                   17, 	 set_data,	                       MENU_FACE,		      new_record,		      	    output,	               0x8f,       },
			{set_data,	                   0,	    999,						   setup,			      set_time2,			        SN,                    0x8f,       },
            {set_time2,	                   0,	    999,						   setup,			      ID_Number,			        set_data,	           0xcf,       },
			{ID_Number,		               0,	    999,				           setup,                 KZ_Number,		            set_time2,             0x8f,       },
			{KZ_Number,	                   0,	    999,						   setup,	              speak_Second,	                ID_Number,		       0xcf,       },
			{speak_Second,	               0,	    999,					       setup,                 Police_Service_1,             KZ_Number,             0x8f,       },
			{Police_Service_1,	           0,	    999,						   setup,			      Police_Service_2,			    speak_Second,          0xcf,       },
			{Police_Service_2,	           0,	    999,						   setup,			      Police_Service_3,			    Police_Service_1,      0x8f,       },
			{Police_Service_3,	           0,	    999,						   setup,			      Fireman_Service_1,			Police_Service_2,      0xcf,       },
			{Fireman_Service_1,	           0,	    999,						   setup,			      Fireman_Service_2,			Police_Service_3,      0x8f,       },
			{Fireman_Service_2,	           0,	    999,						   setup,			      Fireman_Service_3,			Fireman_Service_1,     0xcf,       },
			{Fireman_Service_3,	           0,	    999,						   setup,			      secure_man_1,			        Fireman_Service_2,     0x8f,       },
			{secure_man_1,	               0,	    999,						   setup,			      secure_man_2,			        Fireman_Service_3,     0xcf,       },
			{secure_man_2,	               0,	    999,						   setup,			      secure_man_3,			        secure_man_1,          0x8f,       },
			{secure_man_3,	               0,	    999,						   setup,			      secret_number_1, 	            secure_man_2,          0xcf,       },
			{secret_number_1,              0,       999,                           setup,                 secret_number_2,              secure_man_3,	       0x8f,       },
			{secret_number_2,              0,       999,                           setup,                 SN,                           secret_number_1,       0xcf,       },
			{SN,                           0,       999,                           setup,                 set_data,                     secret_number_2,       0x8f,       },
			{new_record,	               0,	    999,						   MENU_FACE,			  output,			            setup,                 0xcf,       },
			{output,                       0,       999,                           MENU_FACE,             quit,                         new_record,            0x8d,       },
            {quit,                         0,       999,                           MENU_FACE,             setup,                        output,                0xcf,       },
		 };    

		
/*------------------------------------------------------------------------------*/
/*                        ok、Esc,up,down按键调用子程序                         */
/*------------------------------------------------------------------------------*/
void Judge_Menu_ID(void)
   {
	switch(iMenuID)
	{	
	 case MENU_FACE:
	  LCD_write_char(0, 0x01);
	      Dispaly_MENU_FACE();
		  break;
	 case setup:
	 case new_record:
	     Dispaly_Menu_Root1();
		  break;
	 case output:
	 case quit:
	      Dispaly_Menu_Root2();
		   break; 
	 case set_data:
	 case set_time2:
	      Dispaly_data_time();
		  break;
	 case ID_Number:
	 case KZ_Number:	
		 Dispaly_ID_KZ();
		  break;
	 case speak_Second: 
	 case Police_Service_1:
	      Dispaly_speak_police();
		  break;
	 case Police_Service_2:
	 case Police_Service_3:
	      Dispaly_police2_police3();
		  break;
	 case Fireman_Service_1:
	 case Fireman_Service_2:
	      Dispaly_Fireman1_Fireman2();
		  break;
	 case Fireman_Service_3:
	 case  secure_man_1:
		  Dispaly_Fireman3_secure1();
		  break; 
	case  secure_man_2:
	case  secure_man_3:
		 Dispaly_secure2_secure3();
		  break;
	case secret_number_2:
	case secret_number_1:
		  Dispaly_secret_number(); 
		  break; 
	case SN:
		  Dispaly_SN(); 
		  break;  
   
	default :
	     break;
	}
  }
/*------------------------------------------------------------------------------*/
/*                               DispFaceBmp()
/*------------------------------------------------------------------------------*/
void Dispaly_MENU_FACE(void)
{ 
 LCD_write_string(0X81,"yueyou.com.tw");  //欢迎界面
}
/*------------------------------------------------------------------------------*/
/*                               Dispaly_Menu_Root1()
/*------------------------------------------------------------------------------*/
void Dispaly_Menu_Root1(void)
{
 LCD_write_string(0X80,"SETUP");
 LCD_write_string(0Xc0,"NEW RECORD");
 }
 /*------------------------------------------------------------------------------*/
/*                               Dispaly_Menu_Root2()
/*------------------------------------------------------------------------------*/
void Dispaly_Menu_Root2(void)
{
 LCD_write_string(0X80,"OUTPUT");
 LCD_write_string(0Xc0,"QUIT");
} 
/*------------------------------------------------------------------------------*/
/*                           Dispaly_data_time()
/*------------------------------------------------------------------------------*/
void Dispaly_data_time(void)
{
LCD_write_string(0X80,"Set_data");
LCD_write_string(0Xc0,"Set_time2");
}
/*                           Dispaly_ID_KZ()
/*------------------------------------------------------------------------------*/
void Dispaly_ID_KZ(void)
{
LCD_write_string(0X80,"ID_Number");
LCD_write_string(0Xc0,"KZ_Number");
}
/*------------------------------------------------------------------------------*/
/*                           Dispaly_fundamental_wave_down()
/*------------------------------------------------------------------------------*/
void Dispaly_speak_police(void)
{
LCD_write_string(0X80,"Speak_Second");
LCD_write_string(0Xc0,"Police_1");
}
/*------------------------------------------------------------------------------*/
/*                           Dispaly_police2_police3()
/*------------------------------------------------------------------------------*/
void Dispaly_police2_police3(void)
{
LCD_write_string(0X80,"Police_2");
LCD_write_string(0Xc0,"Police_3");
}
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*  Dispaly_Fireman1_Fireman2()
/*------------------------------------------------------------------------------*/	
void Dispaly_Fireman1_Fireman2(void)
{
LCD_write_string(0X80,"Fireman_1");
LCD_write_string(0Xc0,"Fireman_2");
}  
/*------------------------------------------------------------------------------*/
/*  Dispaly_Fireman3_Fireman2()
/*------------------------------------------------------------------------------*/	
void Dispaly_Fireman3_secure1(void)
{
LCD_write_string(0X80,"Fireman_3");
LCD_write_string(0Xc0,"Secure_1");
}
/*------------------------------------------------------------------------------*/
/*  Dispaly_Fireman1_Fireman2()
/*------------------------------------------------------------------------------*/	
void Dispaly_secure2_secure3(void)
{
LCD_write_string(0X80,"Secure_2");
LCD_write_string(0Xc0,"Secure_3");
}
/*  Dispaly_Fireman1_Fireman2()
/*------------------------------------------------------------------------------*/	
void Dispaly_secret_number(void)
{
LCD_write_string(0X80,"Secret_number1");
LCD_write_string(0Xc0,"Secret_number2");
}
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/	
void Dispaly_SN(void)
{
LCD_write_string(0X80,"SN");
}
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/	
void quit_fun(void)
{
// state=0;
// st_f=0;
// t1count2=0;
 LCD_write_char(0,0x01);         //按ESC后退出设置
}

/*AT24c256地址分配一览表*/
/*ID_Number:          0-5*/
/*KZ_Number:          6-7*/
/*speak_Second:   8-9*/

⌨️ 快捷键说明

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