?? 14thjune.c
字號:
#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 + -