资源简介
根据设定好的密码,采用二个按键实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的三次的密码不正确,就锁定按键3秒钟,同时发现报警声,直到没有按键按下3种后,才打开按键锁定功能;否则在3秒钟内仍有按键按下,就重新锁定按键3秒时间并报警。
代码片段和文件信息
#include
unsigned char code ps[]={12345};
unsigned char code dispcode[]={0x3f0x060x5b0x4f0x66
0x6d0x7d0x070x7f0x6f0x000x40};
unsigned char pslen=9;
unsigned char templen;
unsigned char digit;
unsigned char funcount;
unsigned char digitcount;
unsigned char psbuf[9];
bit cmpflag;
bit hibitflag;
bit errorflag;
bit rightflag;
unsigned int second3;
unsigned int aa;
unsigned int bb;
bit alarmflag;
bit exchangeflag;
unsigned int cc;
unsigned int dd;
bit okflag;
unsigned char oka;
unsigned char okb;
void main(void)
{
unsigned char ij;
P2=dispcode[digitcount];
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(cmpflag==0)
{
if(P3_6==0) //function key
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_6==0)
{
if(hibitflag==0)
{
funcount++;
if(funcount==pslen+2)
{
funcount=0;
cmpflag=1;
}
P1=dispcode[funcount];
}
else
{
second3=0;
}
while(P3_6==0);
}
}
if(P3_7==0) //digit key
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_7==0)
{
if(hibitflag==0)
{
digitcount++;
if(digitcount==10)
{
digitcount=0;
}
P2=dispcode[digitcount];
if(funcount==1)
{
pslen=digitcount;
templen=pslen;
}
else if(funcount>1)
{
psbuf[funcount-2]=digitcount;
}
}
else
{
second3=0;
}
while(P3_7==0);
}
}
}
else
{
cmpflag=0;
for(i=0;i {
if(ps[i]!=psbuf[i])
{
hibitflag=1;
i=pslen;
errorflag=1;
rightflag=0;
cmpflag=0;
second3=0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 76800 2007-08-23 14:49 32.电子密码锁设计\32.电子密码锁设计.doc
文件 8393 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock
文件 4839 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock.c
文件 1792 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock.hex
文件 41 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock.lnp
文件 8837 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock.LST
文件 12183 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock.M51
文件 9171 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock.OBJ
文件 1025 2007-08-23 14:42 32.电子密码锁设计\Keil-C\lock.Opt
文件 2134 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock.plg
文件 2146 2007-08-20 03:36 32.电子密码锁设计\Keil-C\lock.Uv2
文件 34 2007-08-23 14:41 32.电子密码锁设计\Keil-C\lock.__i
文件 6376 2005-03-22 15:22 32.电子密码锁设计\Keil-C\STARTUP.A51
文件 14048 2007-08-20 03:35 32.电子密码锁设计\Keil-C\STARTUP.LST
文件 758 2007-08-20 03:35 32.电子密码锁设计\Keil-C\STARTUP.OBJ
文件 90642 2007-08-23 14:42 32.电子密码锁设计\Last Loaded lock.DBK
文件 91573 2007-10-16 22:13 32.电子密码锁设计\lock.DSN
文件 832 2010-05-29 18:47 32.电子密码锁设计\lock.PWI
目录 0 2010-05-29 21:26 32.电子密码锁设计\Keil-C
目录 0 2010-05-29 21:26 32.电子密码锁设计
----------- --------- ---------- ----- ----
331624 20
- 上一篇:用IO口模拟I2C对AT24C16进行读写的程序
- 下一篇:四位超前进位加法器
相关资源
- 电子密码锁verilog语言程序代码.zip
- 课程设计题十二:电子密码锁.zip
- 基于51单片机的电子密码锁设计
- 电子密码锁设计源代码
- 基于51单片机的的电子密码锁设计.r
- 基于FPGA的电子密码锁程序
- 基于51单片机电子密码锁
- 电子密码锁论文 电子密码锁论文
- 电子密码锁基于VHDL语言
- 单片机电子密码锁课程设计
- 课程设计电子密码锁报告
- 基于AT89C52单片机的电子密码锁内附电
- 电子密码锁设计电子密码锁设计电子
- 基于FPGA的电子密码锁的设计
- 基于FPGA的电子密码锁的设计报告
- 基于西门子的PLC电子密码锁
- 最新数字电子课程设计电子密码锁的
- 电子密码锁 proteus仿真
- VHDL 专题--------电子密码锁
- 两个proteus仿真6位数显频率计数器和
- zw_wangxingse-6021953-24C04与1602LCD设计电子
- 基于51单片机的电子密码锁keil源码电
- 基于24C02和LCD液晶显示的电子密码锁
- 基于单片机的红外遥控电子密码锁.
- 数字电子密码锁课程设计
- 电子密码锁电子密码锁
- 用FPGA的电子密码锁
- 电子密码Proteus锁仿真
- 基于51单片机的 4×4键盘及8位数码管显
- 电子密码锁的设计 汇编
评论
共有 条评论