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

📄 14thjune.c

📁 门禁系统 interated with LCD
💻 C
📖 第 1 页 / 共 2 页
字号:
#include<pic1687x.h>
#include <stdio.h>
#include <stdlib.h> 
//#include<pic.h>
#include "delay.h"
#include "delay.c"
#include "lcd.h"
#include "lcd.c"


//Alex's
#define fireerror 		 RE1
#define fire_enabled	 RE2

//Wei Jie's
#define door_openerror	RC0    // fire
#define door_open		RC6	  // masterlock 
		
//GZ's

#define LIGHT_MODE0				RD5
#define LIGHT_MODE1				RD6  // 100 em(fire&burglar)  , 101 nor(door), 110 vactn(randonly), 011 party
#define LIGHT_MODE2      		RD7

//mine
#define intrudererror       RA0
#define burglar_enabled     RC1
#define burglaralarm        RC2

//int i,j; // count=1, mark=0
 
 // variable
 int i, mode,index,indicate,second,check,check1,minute,hour,flag; 
 char num_entered, curr_menu, curr_key,master_lock,fire_system;
 char  lightingserror;
 signed char security_enabled;
 char securityCode[4];
 char tempCode[4];
 char newCode[4];
 
 // keypad
 char key, new_num, prev_num;
 

//functions
void initialize(void);
void task_keypad(void);
void getKey(void);
void getKey2(void);
char mapKey(int myNum);
void task_lcd(void);
void task_burglar(void);
void task_door(void);



//routines
void task_lcd(void)
{

//Security Disable
     if(security_enabled == 0)
     {         
           	                        
                                                
      if(curr_menu == 0)          
		{
            if (flag==1)
            {
                    lcd_clear();
            		lcd_goto(0x00);
            		lcd_puts("System Unlocked!");
                    lcd_goto(0x40);
            		lcd_puts("UP & DOWN To NAV");
             }
             flag=0;
		}
		
		else if(curr_menu == 1)
		{	
            if (flag==1)
            {
                lcd_clear();
        		lcd_goto(0x00);
        		lcd_puts("System locked!");
                lcd_goto(0x40);
        		lcd_puts("1. D to Enable");
            }
            flag=0;
    		
		}
		
			else if(curr_menu == 9)
		{	
            if (flag==1)
            {
                lcd_clear();
        		lcd_goto(0x00);
        		lcd_puts("Pswd Changed!");
                lcd_goto(0x40);
        		lcd_puts("D to Enable");
            }
            flag=0;
    		
		}
		
		
		else if(curr_menu == 2)
		{
            if (flag==1)
            {
                lcd_clear();
                lcd_goto(0x00);
        		lcd_puts("2.(");
        		lcd_goto(0x03);
        			if(fire_enabled == 1)
        				lcd_puts("ON");
        			else
        			{	lcd_puts("OFF");}
        			
        		lcd_goto(0x07);
        		lcd_puts(")FIRE");
            }
            flag=0;
		}
		else if(curr_menu == 3)
		{
            if (flag==1)
            {
    			lcd_clear();
    			lcd_goto(0x00);
                lcd_puts("3.(");
    			lcd_goto(0x03);
    			if(burglar_enabled == 1)
    				lcd_puts("ON");
    			else
    				lcd_puts("OFF");
    				
    		lcd_goto(0x07);
    			lcd_puts(")IR");
    						
            }
            flag=0;
		}
		else if(curr_menu == 4)
		{
			if (flag==1)
			{
                lcd_clear(); 				
    			lcd_goto(0x00);
    			lcd_puts("4.LIGHTS");
    			lcd_goto(0x40);
    			lcd_puts(" D  to Choose");
            }
            flag=0;
		}
	
		else if(curr_menu == 5)
		{
		 if(flag==1)
			{
            
                 lcd_clear();
    			 lcd_goto(0x00);
                 lcd_puts("5.Change Pswd  ");
    			 lcd_goto(0x40);
    			 lcd_puts(" D to Change"); 			
            }
            flag=0;
        }
		
		else if(curr_menu == 6)
		{
			if (flag==1)
			{
                lcd_clear();
    			lcd_goto(0x00);
                lcd_puts("6.(");
    			lcd_goto(0x03);
    			if(master_lock == 1)
    				lcd_puts("ON");
    			else
    				lcd_puts("OFF");
    			lcd_goto(0x06);
    			lcd_puts(" )Master");
            }
            flag=0;
		}
		
		else if(curr_menu ==7)
		{
             if (flag==1)
             {
                lcd_clear();
    			lcd_goto(0x00);
                lcd_puts("7.1E2V,3N4P,5O6F");
    			lcd_goto(0x40);
    			if(LIGHT_MODE0 == 1 && LIGHT_MODE1 == 0 && LIGHT_MODE2 == 1)
    			lcd_puts("(NORMAL)");
    			else if (LIGHT_MODE0 == 0 && LIGHT_MODE1 == 0 && LIGHT_MODE2 == 1)
                     lcd_puts("(EMERGENCY)");
                     else if (LIGHT_MODE0 == 0 && LIGHT_MODE1 == 1 && LIGHT_MODE2 == 1)
                          lcd_puts("(VACATION)");
                          else if (LIGHT_MODE0 == 1 && LIGHT_MODE1 == 1 && LIGHT_MODE2 == 0)
                               lcd_puts("(PARTY)");
                                 else if (LIGHT_MODE0 == 1 && LIGHT_MODE1 == 1 && LIGHT_MODE2 == 1)
                                      lcd_puts("(ALL ON)");
                                         else if (LIGHT_MODE0 == 0 && LIGHT_MODE1 == 0 && LIGHT_MODE2 == 0)
                                            lcd_puts("(ALL OFF)");
                          
                }
                flag=0;
          }
    			

	}

    
 //Security Enable               
    else if (security_enabled == 1)
       {
           if(fireerror == 1 || intrudererror == 1  )         
		
                        {
                        if (flag==1)
                        {
                        lcd_clear();     
			            lcd_goto(0x00);
			            lcd_puts("    WARNING!!!  ");
			            lcd_goto(0x40);
			            
			              if(fireerror == 1) 
			                         {
                                         
				                     lcd_goto(0x40);
				                     lcd_puts("SMOKE");
			                         }
                          if(intrudererror == 1) 
                                     {
                                           
				                     lcd_goto(0x44);
				                     lcd_puts("THIEF");
			                         }
			 
                                    if (num_entered==0)
                                         {
                                         lcd_clear();
                            			 lcd_goto(0x00);
                                         lcd_puts("-Reset System-");
                                         }
                                         else
                                         {
                            			 lcd_goto(0x40+num_entered-1);
                            			 lcd_puts("*");
                            			// lcd_goto(0x4a);
                            			 //lcd_putch(0x30 + num_entered);
                                        }
                               // return;
                                }
                                flag=0;
                      }
                      
                      
             if(flag==1)
			{
             if (num_entered==0)
             {
             lcd_clear();
			 lcd_goto(0x00);
             lcd_puts("-Enter 4 CODES-");
             }
             else
             {
			 lcd_goto(0x40+num_entered-1);
			 lcd_puts("*");
			 //lcd_goto(0x4a);
			 //lcd_putch(0x30 + num_entered);
            }
            }
            //flag=0;

		return;	
     }
    //}


 else if(security_enabled == -1)
	{		
	if(flag==1)
			{
             if (num_entered==0)
             {
             lcd_clear();
			 lcd_goto(0x00);
             lcd_puts("Enter 4 NewCodes");
             }
             else
             {
			 lcd_goto(0x40+num_entered-1);
			 lcd_puts("*");
             }
            }
            //flag=0;

		return;
	}
    
}
    
//*************************************************************************
//track keypad and take action
void task_keypad(void)
{
    if(security_enabled == 0)
	{
                   
					   
					
                                                                                                              
                        
		if(curr_menu == 0)
		{
                     
			getKey();
			curr_key = mapKey(new_num);
			intrudererror = 0;
			fireerror = 0;
			
			if(curr_key == 'U')
				{curr_menu = 6;flag=1;}
			else if(curr_key == 'D')
				{curr_menu = 2;flag=1;}
				else if(curr_key == '0')
				{curr_menu = 8;flag=1;}
		}
		else if(curr_menu == 1)
		{	
			getKey();
			curr_key = mapKey(new_num);
			if(curr_key == 'E')
			{
				security_enabled = 1;
				intrudererror = 0;
				fireerror = 0;
				lightingserror = 0;
				master_lock = 0;
				flag=1;
			
			}
        }
			
			else if(curr_menu == 9)
		{	
			getKey();
			curr_key = mapKey(new_num);
			if(curr_key == 'E')
			{
				security_enabled = 1;
				intrudererror = 0;
				fireerror = 0;
				lightingserror = 0;
				master_lock = 0;
				flag=1;
			
			}
		
				else if(curr_key == '0')
				{curr_menu = 8;flag=1;}
			//return;
      }
      
		else if(curr_menu == 2)
		{
			getKey();
			curr_key = mapKey(new_num);
			if(curr_key == 'E')
			{
                        flag=1;
                        fire_system=1;
				if(fire_enabled == 0)
					fire_enabled = 1;
			}
			else if(curr_key == '*')
			{
                        flag=1;
                        fire_system=0;
                        
                        fire_enabled = 0;
                        }
			else if(curr_key == 'U')
			{	curr_menu = 0;flag=1;}
			else if(curr_key == 'D')
				{curr_menu = 3;flag=1;}
				else if(curr_key == '0')
				{curr_menu = 8;flag=1;}
			//return;
		}
		else if(curr_menu == 3)
		{
			getKey();
			curr_key = mapKey(new_num);
			if(curr_key == 'E')
			{
                       flag=1;
                       num_entered = 0;
                       if(burglar_enabled == 0)
					   burglar_enabled = 1;
					
			}// E
        
			else if(curr_key == '*')
			{
                        flag=1;
                        burglar_enabled = 0;
                        intrudererror = 0;
                        //burglaralarm =0;
                        LIGHT_MODE0 = 1 ;
                        LIGHT_MODE1 = 0;
                        LIGHT_MODE2 = 1;
                        
                        }
		    else if(curr_key == 'U')
				{curr_menu = 2;flag=1;}
			else if(curr_key == 'D')
			{	curr_menu = 4;flag=1;}
			else if(curr_key == '0')
				{curr_menu = 8;flag=1;}
			//return;
		}
		else if(curr_menu == 4)
		{
			getKey();
			curr_key = mapKey(new_num);
			if(curr_key == 'E')
			{
				
                      curr_menu = 7;
                      flag = 1;
				
			}
			else if(curr_key == 'U')
				{curr_menu = 3;flag=1;}
			else if(curr_key == 'D')
				{curr_menu = 5;flag=1;}
				else if(curr_key == '0')
				{curr_menu = 8;flag=1;}
		//return;
		}
		
		
		else if(curr_menu == 5)
		{
			getKey();
			curr_key = mapKey(new_num);
			if(curr_key == 'E')
			{
				security_enabled = -1;flag=1;
			}
			else if(curr_key == 'U')
				{curr_menu = 4;flag=1;}
			else if(curr_key == 'D')
				{curr_menu = 6;flag=1;}
				else if(curr_key == '0')
				{curr_menu = 8;flag=1;}
			//return;
		}
		
		else if(curr_menu == 6)
		{
			getKey();
			curr_key = mapKey(new_num);
			if(curr_key == 'E')
			{
                      flag=1;
				
					master_lock = 1;
			
			}
			else if(curr_key == '*')
			{
                 flag=1;
                 master_lock =0;
            }
			else if(curr_key == 'U')
				{curr_menu = 5;flag=1;}
			else if(curr_key == 'D')
				{curr_menu = 0;flag=1;}
				else if(curr_key == '0')
				{curr_menu = 8;flag=1;}
		}	
		

⌨️ 快捷键说明

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