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

📄 lock_main.c

📁 ID卡读卡器源程序 用Mega32通过U2270B读取H4001RFID卡号的范例
💻 C
📖 第 1 页 / 共 5 页
字号:
    						while(key_inc==0);
    						break;
    			case 0x8f:													//星期选项
    						do
    						{
    							tem[6]++;
    							if(tem[6]>=7)
    							{
    								tem[6]=0;
    							}
    							time_set_display();							//更新显示
								delay_ms(200);
    							auto_return=0;
    						}
    						while(key_inc==0);
    						break;
    			case 0x91:													//年选项
    						do
    						{
    							tem[0]++;
    							if(tem[0]>=29)
    							{
    								tem[0]=7;
    							}
								time_set_display();							//更新显示
								delay_ms(200);
    							auto_return=0;
    						}
    						while(key_inc==0);
    						break;
    			case 0x93:													//月选项
    						do
    						{
    							tem[1]++;
    							if(tem[1]>=13)
    							{
    								tem[1]=1;
    							}
								time_set_display();							//更新显示
								delay_ms(200);
    							auto_return=0;
    						}
    						while(key_inc==0);
    						break;	            						
    			case 0x95:													//日选项
    						do
    						{
    							tem[2]++;
    							if(tem[2]>=32)
    							{
    								tem[2]=1;
    							}
								time_set_display();							//更新显示
								delay_ms(150);
    							auto_return=0;
    						}
    						while(key_inc==0);
    						break;
    			default:
    						break;		
    		}
    	}
    }
    if(key_dec==0)
    {
    	delay_ms(5);
    	if(key_dec==0)
    	{
			buzzer_pro(1);													//峰鸣器指示
			LCD_BACK_ON;													//打开LCD背光
			lcd_back_time=0;												//计时变量清0
			lcd_back_en=0xaa;												//打开计时变量
			auto_return=0;													//清除菜单自动返回累计时间变量
    		switch(twinkling_addr)
    		{
    			case 0x88:													//小时选项
    						do
    						{
    							if(tem[3]==0)
    							{
    								tem[3]=24;
    							}
    							tem[3]--;
								time_set_display();							//更新显示
								delay_ms(200);
    							auto_return=0;
    						}
    						while(key_dec==0);
    						break;
    			case 0x8a:													//分钟选项
    						do
    						{
    							if(tem[4]==0)
    							{
    								tem[4]=60;
    							}
    							tem[4]--;
								time_set_display();							//更新显示
								delay_ms(120);
    							auto_return=0;
    						}
    						while(key_dec==0);
    						break;
    			case 0x8f:													//星期选项
    						do
    						{
    							if(tem[6]==0)
    							{
    								tem[6]=7;
    							}
    							tem[6]--;
								time_set_display();							//更新显示
								delay_ms(200);
    							auto_return=0;
    						}
    						while(key_dec==0);
    						break;
    			case 0x91:													//年选项
    						do
    						{
    							if(tem[0]==7)
    							{
    								tem[0]=29;
    							}
    							tem[0]--;
								time_set_display();							//更新显示
								delay_ms(200);
    							auto_return=0;
    						}
    						while(key_dec==0);
    						break;
    			case 0x93:													//月选项
    						do
    						{
    							if(tem[1]==1)
    							{
    								tem[1]=13;
    							}
    							tem[1]--;
								time_set_display();							//更新显示
								delay_ms(200);
    							auto_return=0;
    						}
    						while(key_dec==0);
    						break;	            						
    			case 0x95:													//日选项
    						do
    						{
    							if(tem[2]==1)
    							{
    								tem[2]=32;
    							}
    							tem[2]--;
								time_set_display();							//更新显示
								delay_ms(150);
    							auto_return=0;
    						}
    						while(key_dec==0);
    						break;
    			default:
    						break;		
    		}
    	}
    }
}
//**************************************************字符闪动地址选择***********************************************
void twinkling_addr_pro(void)
{
	switch(left_right)
	{
		case 0:
				twinkling_addr=0x91;
				break;
		case 1:
				twinkling_addr=0x93;
				break;
		case 2:
				twinkling_addr=0x95;
				break;
		case 3:
				twinkling_addr=0x88;
				break;		
		case 4:
				twinkling_addr=0x8a;
				break;
		case 5:
				twinkling_addr=0x8f;
				break;
		default:
				break;
	}	
	clear_screen();	
	return_temp=0;											//返回临时变量清0
}
//*************************************************显示菜单********************************************************
void show_menu(void) 
{ 
    uchar n = 0; 
    max_items = menu_point[0].menu_count; 
    WDR();													//喂狗
	if (max_items >= 4) 
	{ 
        for (n = 0;n<4;n++) 
        { 
        	switch(n)
        	{
        		case 0:
        				write_com(0x80);
        				break;
        		case 1:
        				write_com(0x90);
        				break;
        		case 2:
        				write_com(0x88);
        				break;
        		case 3:
        				write_com(0x98);
        				break;
        		default:
        				break;
        	}
			han_zi_display(menu_point[n].display_string);
            if (n == user_choose) 
            { 
	        	switch(n)
	        	{
	        		case 0:
	        				select_menu(0x80);
	        				break;
	        		case 1:
	        				select_menu(0x90);
	        				break;	
	        		case 2:
	        				select_menu(0x88);
	        				break;
	        		case 3:
	        				select_menu(0x98);
	        				break;
	        		default:
	        				break;
	        	}
            } 
        } 
	} 
	else 															//子菜单选择
    { 
    	WDR();														//喂狗
    	clear_screen();
        for (n = 0;n<max_items;n++) 
        { 
        	write_com(0x80);
        	switch(choose_temp)
        	{
        		case 0:
        				han_zi_display("  1.时间日期设置");
        				break;
        		case 1:
        				han_zi_display("  2.报警开关设置");
        				break;	
        		case 2:
        				han_zi_display("  3.人体红外设置");
        				break;
        		case 3:
        				han_zi_display("  4.路灯开关设置");
        				break;
        		default:
        				break;
        	}
            if(n==0)
            {
				write_com(0x88); 
			}
            else if(n==1)
            {
				write_com(0x98); 
			}
			han_zi_display(menu_point[n].display_string); 
            if (n== user_choose) 
            { 
	            if(n==0)
	            {
	            	select_menu(0x89);
	            }
	            else if(n==1)
	            {
	            	select_menu(0x99);
	            }		
            } 
        } 
    } 
} 
//******************************************************初始化菜单目录*********************************************
void menu_initial(void) 
{ 
    main_menu_initial(); 
    alarm_menu_initial(); 
    infrared_menu_initial();
    lamp_menu_initial(); 
    card_main_menu_initial();
    card_inc_menu_initial();
    card_dec_menu_initial();
} 
//******************************************************主目录初始化函数*******************************************
void main_menu_initial(void) 
{ 
     main_menu[0].menu_count = 4; 
     main_menu[0].display_string = "  1.时间日期设置"; 
     main_menu[0].subs = date_time_set; 
     main_menu[0].children_menus =null;  
     main_menu[0].parent_menus = null;  
     
     main_menu[1].menu_count = 4; 
     main_menu[1].display_string = "  2.报警开关设置"; 
     main_menu[1].subs = nullsubs; 
     main_menu[1].children_menus = alarm_menu; 
     main_menu[1].parent_menus = null;  
     
     main_menu[2].menu_count = 4; 
     main_menu[2].display_string = "  3.人体红外设置"; 
     main_menu[2].subs = nullsubs; 
     main_menu[2].children_menus = infrared_menu; 
     main_menu[2].parent_menus = null;  

     main_menu[3].menu_count = 4; 
     main_menu[3].display_string = "  4.路灯开关设置"; 
     main_menu[3].subs = nullsubs; 
     main_menu[3].children_menus = lamp_menu; 
     main_menu[3].parent_menus = null; 
} 
//**************************************************报警开关设置目录初始化函数*************************************
void alarm_menu_initial(void) 
{ 
    alarm_menu[0].menu_count = 2; 
    alarm_menu[0].display_string = "    1.  打开    "; 
    alarm_menu[0].subs = alarm_set; 
    alarm_menu[0].children_menus = null;  //&null
    alarm_menu[0].parent_menus = main_menu; 
     
    alarm_menu[1].menu_count = 2; 
    alarm_menu[1].display_string = "    2.  关闭    "; 
    alarm_menu[1].subs = alarm_set; 
    alarm_menu[1].children_menus = null;  //&null
    alarm_menu[1].parent_menus = main_menu; 
} 
//*************************************************人体红外开关设置目录初始化函数**********************************
void infrared_menu_initial(void) 
{ 
    infrared_menu[0].menu_count = 2; 
    infrared_menu[0].display_string = "    1.  打开    "; 
    infrared_menu[0].subs = infrared_set; 
    infrared_menu[0].children_menus = null;  //&null
    infrared_menu[0].parent_menus = main_menu; 
     
    infrared_menu[1].menu_count = 2; 
    infrared_menu[1].display_string = "    2.  关闭    "; 
    infrared_menu[1].subs = infrared_set; 
    infrared_menu[1].children_menus = null;  //&null
    infrared_menu[1].parent_menus = main_menu; 
} 
//*************************************************路灯开关设置目录初始化函数**************************************
void lamp_menu_initial(void) 
{ 
    lamp_menu[0].menu_count = 2; 
    lamp_menu[0].display_string = "    1.  打开    "; 
    lamp_menu[0].subs = lamp_set; 
    lamp_menu[0].children_menus = null;  
    lamp_menu[0].parent_menus = main_menu; 
     
    lamp_menu[1].menu_count = 2; 
    lamp_menu[1].display_string = "    2.  关闭    "; 
    lamp_menu[1].subs = lamp_set; 
    lamp_menu[1].children_menus = null; 
    lamp_menu[1].parent_menus = main_menu; 
} 
//**********************************************管理卡操作主菜单***************************************************
void card_main_menu_initial(void)
{
     card_main_menu[0].menu_count = 3; 
     card_main_menu[0].display_string = "  1.添加新卡?"; 
     card_main_menu[0].subs =inc_new_card; 

⌨️ 快捷键说明

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