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

📄 meau.c

📁 AVR单片机 液晶菜单程序 使用的1602B_LCD液晶
💻 C
📖 第 1 页 / 共 2 页
字号:
/*Police_Service_1: 10-29*/
/*Police_Service_2: 30-49*/
/*Police_Service_3: 50-69*/
/*Fireman_Service_1: 70-89*/
/*Fireman_Service_2: 90-109*/
/*Fireman_Service_3: 110-129*/
/*secure_man_1:    130-149*/
/*secure_man_2:   150-169*/
/*secure_man_1:   170-189*/
/*                               菜单调用解释函数
/*------------------------------------------------------------------------------	
*/

void Menu_function(void)
	{ 
	 switch(iMenuID)              //菜单身份号//
		{
		case  set_data:
		      LCD_write_char(0, 0x01);
			
			// flag_cd=100;//showdata(year,month,date);
	      set_data_function();  
	          break;
/*
		case  set_data:
		      LCD_write_char(0, 0x01);
			
			// flag_cd=100;//showdata(year,month,date);
	      set_data_function();  
	          break;
	    case  set_time2:
		      LCD_write_char(0, 0x01);
			 //lag_cd=101;
		 set_time();  
	          break;
	    case  ID_Number:
		      LCD_write_char(0, 0x01);
		      com_setup_function(00,0x05);
			
	          break;
	    case  KZ_Number:
		      LCD_write_char(0, 0x01);
			  com_setup_function(06,0x02);
			
	          break;
	    case  speak_Second:
		      LCD_write_char(0, 0x01);
			  flag_cd=104;
			  com_setup_function(8,0x02);
		      break;
		case  Police_Service_1:
		      LCD_write_char(0, 0x01);
			  back_setup_function(0x50);
			
		      break;	  
	    case  Police_Service_2:
	          LCD_write_char(0, 0x01);
			  back_setup_function(0x51);
			
	          break;	
	    case  Police_Service_3:
	           LCD_write_char(0, 0x01);
		       back_setup_function(0x52);
		  
		        break;
	    case  Fireman_Service_1:
		        LCD_write_char(0, 0x01);
		     back_setup_function(0x53);
		    
	            break;
	    case  Fireman_Service_2:
		        LCD_write_char(0, 0x01);
		     back_setup_function(0x54);
		   
	            break;
	    case  Fireman_Service_3:
		        LCD_write_char(0, 0x01);
		   back_setup_function(0x55);
		    
	             break;
		case  secure_man_1:	
		      LCD_write_char(0, 0x01);
			 back_setup_function(0x56);
			
			     break;
		case secure_man_2: 
		  LCD_write_char(0, 0x01);
			 back_setup_function(0x57);
			
			     break;
		case secure_man_3:
           LCD_write_char(0, 0x01);
			 back_setup_function(0x58);
			 break;
		case secret_number_1:	
		   LCD_write_char(0, 0x01);
		   back_setup_function(0x59);
			     break;
		case secret_number_2:	
		   LCD_write_char(0, 0x01);
		   back_setup_function(0x5a);
			     break;
		case SN:	
		   LCD_write_char(0, 0x01);
		   com_setup_function(230,15);
			     break;
		case new_record:
		  LCD_write_char(0, 0x01);
		  page_show();
		   // history_show();
			   break;
		case quit:
		   LCD_write_char(0, 0x01);
		   quit_fun();
		*/ 

	    default:
	           break;
		
		} 
		
	}

 
void set_data_function(void)
{
// en=1;
 flag_cd=0;
}
	
 
/*------------------------------------------------------------------------------*/
/*                                 菜单翻页
/*------------------------------------------------------------------------------*/
void page_show(void)            
	{
	
  do
   {
  TKEY=kbscan();
   switch (TKEY)    
  	   {
		 case Key_Esc:
		 	  break;
		case  Key_Up:
				if (M==1)
					M=700;
				else 
					M--;
					LCD_write_char(0,0x01);
						history_show();
					break;
		case Key_Down:
				if (M==700)
				   M=1;
				else 
					M++;
					LCD_write_char(0,0x01);
				history_show();
					break;
	    }   
} while(TKEY!=Key_Esc);
 TKEY=101;
 LCD_write_char(0,0x01);         //按ESC后退出设置
 Judge_Menu_ID();
 LCD_write_onechar(KeyTab[iMenuID].poiadd,'*');
 flag_cd=0;
}

/*------------------------------------------------------------------------------*/
/*                          history_show()
/*------------------------------------------------------------------------------*/	
 void history_show(void)  //
 {
   uchar  eventemp[20],tem_ddress[2];

//   i2c16addr_Read_str(250,0XA0,2,tem_ddress);
   RAd=(tem_ddress[0]<<8)|tem_ddress[1];
if(9*M<RAd)
{
 NOWADDR=RAd-9*M;
 LCD_write_char(0, 0x01);//清
// i2c16addr_Read_str(NOWADDR,0XA0,9,eventemp);   //读出事件记录//
         LCD_write_onechar(0x82,eventemp[0]/16+0x30);
		 LCD_write_onechar(0x83,eventemp[0]%16+0x30);//年
	     LCD_write_onechar(0x84,'.');
		 LCD_write_onechar(0x85,eventemp[1]/16+0x30);
		 LCD_write_onechar(0x86,eventemp[1]%16+0x30);//月
		 LCD_write_onechar(0x87,'.');
         LCD_write_onechar(0x88,eventemp[2]/16+0x30);
		 LCD_write_onechar(0x89,eventemp[2]%16+0x30);//日
		  LCD_write_onechar(0x8a,'.');
		 LCD_write_onechar(0x8b,eventemp[3]/16+0x30);//时
		 LCD_write_onechar(0x8c,eventemp[3]%16+0x30);
		 LCD_write_onechar(0x8d,'.');
		  LCD_write_onechar(0xc0,eventemp[4]/16+0x30);//分
		 LCD_write_onechar(0xc1,eventemp[4]%16+0x30);
		  LCD_write_onechar(0xc2,':');
		 LCD_write_onechar(0xc3,((eventemp[5]&0xf0)>>4)|0x30);//秒
		 LCD_write_onechar(0xc4,(eventemp[5]&0x0f)|0x30);
		  LCD_write_onechar(0xc5,0x20);
		   LCD_write_onechar(0xc6,eventemp[6]/16+0x30);//扩展模块号
		 LCD_write_onechar(0xc7,eventemp[6]%16+0x30);
		 LCD_write_onechar(0xc8,0x20);
		 LCD_write_onechar(0xc9,((eventemp[7]&0xf0)>>4)|0x30);//输入端号
		 LCD_write_onechar(0xca,(eventemp[7]&0x0f)|0x30);
		LCD_write_onechar(0xcb,0x20);
		
		LCD_write_onechar(0xcc,((eventemp[8]&0xf0)>>4)|0x30);//事件
		 LCD_write_onechar(0xcd,(eventemp[8]&0x0f)|0x30);

 }
 }
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/



⌨️ 快捷键说明

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