• 大小: 71KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-07-07
  • 语言: 其他
  • 标签: LCD  密码锁  

资源简介

LCD显示密码锁,仿真加程序,89c51+1602

资源截图

代码片段和文件信息

//LCD显示电子密码锁
//作者:鲍光兵
//合肥学院
//仅供参考和相互交流学习
/*主要具有如下功能:
#?) 设置6位密码,密码通过键盘输入,若密码正确,则将锁打开,初始化密码为(111111)。
(2) 密码可以由用户自己修改设定(支持6位密码),锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。
(3) 报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。
电子密码锁的设计主要4×4矩阵键盘接口电路、密码锁的控制电路。
(1) 密码输入功能:按下一个数字键,一个“-”就显示在最左边的液晶屏上,同时将先前输入的所有“-”向右移动一位。
(2) 密码清除功能:当按下清除键时,清除前面输入的一个值,并可以清除所有显示。
(3) 密码更改功能:将输入的值作为新的密码。
(4) 开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开?/
/*****************************************/
#include 
#include 
#define ulong unsigned long
#define uint unsigned int
#define uchar unsigned char
/*****************************************/

uchar tempnumflagsum=0r;
/****************************************/
uchar code table1[]=“  welcome!(^_^)“;
uchar code table2[]=“0123456789ABCDEF“;
uchar code table3[]=“******“;
uchar code table4[]=“code is wrong!“;
uchar code table5[]=“you are right!“;
uchar code table6[]=“the second time!“;
uchar code table7[]=“the last time!“;
uchar code table8[]=“Input new code:“;
uchar code table9[]=“Modify right!!!“;
uchar code table10[]=“password:“;
uchar code table11[]=“TEL:13956040525“;
uchar code table12[]=“  calling....“;
uchar code table13[]=“      “;
uchar code table14[]=“Input again:“;
uchar code table15[]=“Modify error!!!“;

uchar  init_pswd[6]={111111};//初始化密码
uchar  pswd[6]={0};
sbit lcdrs=P2^4;
sbit lcdrw=P2^5;
sbit lcden=P2^6;
sbit beep=P2^0;
/*****************************************子函数声明*/
void delay(uint z);
void init();//初始化子函数
void write_com(uchar com);//写指令子函数
void write_data(uchar dat1);//写数据子函数
void keyscan();
void mima();
void mima1();
void delete();
/************************************************液晶驱动*/
void init()
{
lcden=0;
write_com(0x38);
write_com(0x0e);
write_com(0x06);
write_com(0x01);
write_com(0x80);

}

void write_com(uchar com)
 {

lcdrs=0;
lcdrw=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
 }

void write_data(uchar dat1)
{
lcdrs=1;
lcdrw=0;
P0=dat1;
delay(5);
lcden=1;
delay(5);
lcden=0;
}

/****************************************延迟函数*/
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*******************************************键盘编码*/
void keyscan()
{
P3=0x7f;
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
delay(5);
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
temp=P3;
switch(temp)
{
case 0x7e:num=0;flag=1;
break;
case 0x7d:num=1;flag=1;
break;
case 0x7b:num=2;flag=1;
break;
case 0x77:num=3;flag=1;
break;
}
while(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
}
}
}

P3=0xbf;
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
delay(5);
temp=P3;
temp=temp&0x0f;
while(temp!=0x0f)
{
temp=P3;
switc

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      18687  2009-08-15 21:13  电子密码锁\mimasuo

     文件      10083  2009-08-15 21:24  电子密码锁\mimasuo.c

     文件       5645  2009-08-15 21:13  电子密码锁\mimasuo.hex

     文件      32930  2009-08-15 21:13  电子密码锁\mimasuo.LST

     文件      24279  2009-08-15 21:13  电子密码锁\mimasuo.M51

     文件      21919  2009-08-15 21:13  电子密码锁\mimasuo.OBJ

     文件       1294  2009-08-15 18:53  电子密码锁\mimasuo.Opt

     文件        882  2009-08-15 21:12  电子密码锁\mimasuo.plg

     文件       2063  2009-08-15 00:16  电子密码锁\mimasuo.Uv2

     文件       5115  2002-04-16 15:32  电子密码锁\STARTUP.A51

     文件      11766  2009-08-15 21:13  电子密码锁\STARTUP.lst

     文件        830  2009-08-15 21:13  电子密码锁\STARTUP.obj

     文件      82604  2009-08-15 21:06  密码锁\Last Loaded 密码锁.DBK

     文件      82604  2009-09-22 00:54  密码锁\密码锁.DSN

     文件      13257  2009-12-29 23:28  密码锁\密码锁.DS_

     文件        653  2009-12-29 23:29  密码锁\密码锁.PWI

     目录          0  2009-09-06 19:03  电子密码锁

     目录          0  2009-12-29 23:29  密码锁

----------- ---------  ---------- -----  ----

               314611                    18


评论

共有 条评论