文档库

最新最全的文档下载
当前位置:文档库 > Digital_lock(电子密码锁程序——完整版)

Digital_lock(电子密码锁程序——完整版)

//////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////
#include
#include
#include
#include"KEY_4x4.h"
#include"LCD_1602.h"
#include"I2C.h"
#define uint unsigned int
#define uchar unsigned char

uchar code table0[]=" ";
uchar code table1[]="PLESSE ID";
uchar code table2[]="WELCOME";
uchar code table3[]="HAPPY";
uchar code table4[]="ERROR";
uchar code table5[]="****";
uchar code table6[]="ERROR AGAIN";
uchar code table8[]="SUCCEED";
uchar code table9[]="OK";
uchar code table10[]="Change Password";
uchar code table11[]="Y/N";
uchar code table12[]="New Password";
uchar code table13[]="Succeed";
uchar code table14[]="NOT FORGET";
uchar code table15[]="Keyboard Locked";
uchar code table16[]="S_users Y/N";
uchar code table17[]="YOU NOT S_user";
uchar code table18[]="S_user Password";
uchar code table19[]="S_user Password";
uchar code table20[]="S_user ID";
uchar code table21[]="Remember:";
uchar code table22[]="Init Password";

sbit yellow=P2^5; // 上锁 指示灯
sbit red=P2^6; //密码错误信号
sbit green=P2^7; //已开锁指示信号
sbit blue=P2^4; //修改密码指示信号

bit keyscan_flag;//键盘有键按下标志
bit BJCB=0; //密码正确错误标志
bit BJ=0; //报警标志位
bit SJ=0; //锁键盘标志位
bit super_flag=0;//超级用户密码是否正确标志

bit come_flag=0; //用户输入标志位
bit finish_flag=0; //密码输完标志位
bit error_alarm_flag=0;// 密码错误报警标志
bit right_alarm_flag=0;//密码正确报警标志

uchar PSWD0[10]=0; //密码输入缓存存储单元
uchar PSWD1[10]=0; //读出密码缓存存储单元
uchar PSWD2[4]={8,8,8,8};//用户初始密码存储单元
uchar PSWD3[4]={1,1,1,1};//超级用户密码存储单元
uchar m,num,wo,count=0;

void delay1(uint x)
{
uchar i;
for(;x>0;x--)
for(i=200;i>0;i--);
}
/***************************************************************
函数功能:第一次烧片时将初始密码烧到24c02
****************************************************************/
void burn_frist(void) //
{
uchar i;
for(i=0;i<4;i++)
{
I2C_write_data(i,PSWD2[i]);
delay1(20);
}
delay1(20);
for(i=0;i<4;i++)
{
I2C_write_data(i+10,PSWD3[i]);
delay1(20);
}
}
/***************************************************************
函数功能:报警声音
***************************************************************/
void alarm_error(uint t)
{
uint n;
for(;t>0;t--)
{
for(n=0;n<300;n++);
BEEP=~BEEP; //取反输出到喇叭的信号
}
}
void alarm_right(uint t)
{
uint n;
for(;t>0;t--)
{
for(n=0;n<500;n++);
BEEP=~BEEP; //取反输出到喇叭的信号
}
}
/**************************************************************
函数功能:

免费下载Word文档免费下载: Digital_lock(电子密码锁程序——完整版)

(共6页)