导航:首页 > 电器电路 > 密码盘电路

密码盘电路

发布时间:2022-02-06 12:55:45

Ⅰ 电子密码锁电路

见:

程序
//晶振11.0592MHz,T1每250微秒中断,按键P1.0-P1.7,发光二极管接P3.0-P3.3,p3.4
/*变量的定义:
show_val[6]: 显示的值
init_val[6]: 密码初始值
key_val: 返回按键的值 255-表示无按键按下
key_index: 当前按键是哪一位密码
T1_cnt: 定时器计数溢出数
cnt_val_15s: 报警计时的数值
cnt_val_5s: 待机时间计时
cnt_val_4s: 输入正确,等待4秒清除开锁信号
cnt_state: 计时状态
error_num: 错误次数
led_seg_code:数码管7段码
*/
#include "reg51.h"
/*说明key0=P1^0; key1=P1^1;key2=P1^2; key3=P1^3;key4=P1^4;key5=P1^5;enter=P1^6;esc=P1^7;*/
sbit relay_open=P3^0; //电磁锁开锁驱动
sbit pw_error=P3^1; //密码错误信号
sbit alarm_out=P3^2; //报警输出
sbit open_lock=P3^3; //已开锁指示信号
sbit audio_out=P3^4; //有源蜂鸣器
unsigned char data cnt_val_15s,cnt_val_5s,cnt_val_4s,cnt_state;
unsigned int data T1_cnt;
unsigned char data key_val,key_index,key_val_old;
unsigned char data state_val,error_num;
unsigned char data show_val[6];
char code init_val[6]=;
char code led_seg_code[11]=;
//led_seg_code[0-9]代表0-9 led_seg_code[10]=0x00数码管不显示任何内容
//--------延时程序----------------
void delay(unsigned int i)//延时

//--------清除输入内容----------
void init_variant()
{unsigned char i;
for(i=0;i<6;i++)
show_val[i]=10; //led_seg_code[10]=0x00表示数码管不显示任何内容
key_index=0; //没有任何输入或清除所有输入时,保存当前键的位置
}
//---------按键扫描---------------
unsigned char scan_key()
{ unsigned char i,k;
i=P1;
if (i==0xff && cnt_state!=2)
//无键按下
else //有键按下
{ delay(500); //延时去抖动
if(i!=P1)

else
{ TR1=1; //有键按下则开定时器,启动待机计时
cnt_val_5s=0;
switch (i)
{ case 0xfe: k=0; break;
case 0xfd: k=1; break;
case 0xfb: k=2; break;
case 0xf7: k=3; break;
case 0xef: k=4; break;
case 0xdf: k=5; break;
case 0xbf: k=6; break;
case 0x7f: k=7; break;
}
}
}
return k;
}
//---------数码管显示---------------
void led_show()
{P0=led_seg_code[show_val[0]];
P2=0xdf;
delay(500);
P0=led_seg_code[show_val[1]];
P2=0xef;
delay(500);
P0=led_seg_code[show_val[2]];
P2=0xf7;
delay(500);
P0=led_seg_code[show_val[3]];
P2=0xfb;
delay(500);
P0=led_seg_code[show_val[4]];
P2=0xfd;
delay(500);
P0=led_seg_code[show_val[5]];
P2=0xfe;
delay(500);
}
//--------定时器T1中断服务程序-----------------
void timer1() interrupt 3 //T1中断
{ T1_cnt++;
if(T1_cnt>3999) //如果计数>3999, 计时1s
{ T1_cnt=0;
switch (cnt_state)
{ case 0: //待机,需要计时5s
if(cnt_val_5s<5)

else
{ cnt_val_5s=0;
init_variant();//待机计时到5秒时,清除输入的内容
TR1=0; //停止计时
}
break;
case 1://密码输入正确,需要计时4s
if(cnt_val_4s<4)

else
{ cnt_val_4s=0;
init_variant();//密码输入正确,计时到4秒时,清除输入的内容
open_lock=1; //已开锁信号清零
relay_open=1; //开锁信号清零
cnt_state=0;
TR1=0; //停止计时
}
break;
case 2: //密码输入错误3次,计时15s
if(cnt_val_15s<15)

else
{ cnt_val_15s=0;
init_variant();//三次密码错误时,计时15秒,清除输入的内容
open_lock=1; // 清除所有指示和报警
relay_open=1;
alarm_out=1;
pw_error=1;
cnt_state=0;
TR1=0; //停止计时
}
break;
}
}
}
//--------判断键盘输入内容与密码是否一致------
unsigned char check_input_pw()
{ unsigned char i,k;
k=1;
for(i=0;i<6;i++)

return k;
}
//---------主程序----------------
main()
{ //初始化各变量
audio_out=1;
P3=0xff;
cnt_val_15s=0;
cnt_val_5s=0;
cnt_val_4s=0;
cnt_state=0;
//0-待机计时5s状态;1-密码正确,计时4s状态 ;2-三次密码错误,处于计时15秒状态。
T1_cnt=0;
error_num=0;
key_val_old=255;
init_variant();
//初始化51的寄存器
TMOD=0x20; //用T1计时 8位自动装载定时模式
TH1=0x19; //500微秒溢出一次; 250=(256-x)*12/11.0592 -> x=19
TL1=0x19;
EA=1; //开中断
ET1=1;
TR1=0; //开定时器T1
while(1)
{ key_val=scan_key(); //按键输入,有键按下key_val为0-7,无键按下key_val为255。
if (key_val!=key_val_old)
{ key_val_old=key_val;
if (key_val!=255&& cnt_state!=2)
{ audio_out=0;
delay(100); //延时去抖动
audio_out=1;
switch (key_val)
{ case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
if(key_index<6) //密码为6位,超过6位视为输入无效
{ show_val[key_index]=key_val;
key_index++; }
break;
case 6: //确认键
if(check_input_pw())
{//密码正确
error_num=0; //密码输入错误次数清零
//---------
pw_error=1; //密码错误指示灯灭
relay_open=0; //开锁驱动信号灯亮
open_lock=0; //已开锁信号灯亮
//---------
delay(50000); //两声短“滴”声
audio_out=0;
delay(50000);
audio_out=1;
delay(50000);
audio_out=0;
delay(50000);
audio_out=1;
//---------
cnt_state=1; //下一状态处于4秒计时的状态
TR0=1; //启动定时
}
else
{ if (error_num<2)
{error_num++; //输入错误次数小于3次时,没错一次error_num增一
pw_error=0; //密码错误指示灯亮
//-----------
delay(20000);//一声长“滴”声,提示错误
audio_out=0;
delay(60000);
audio_out=1;
//-----------
init_variant();//清除所有输入,等待下一次输入
}
else //输入错误次数超过3次
{ alarm_out=0; //报警灯亮
pw_error=0; //密码错误指示灯亮
error_num=0; //密码输入错误次数清零
//----------
audio_out=0; //长鸣声报警
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
audio_out=1;
//-------------
TR1=1; //打开定时器计时
cnt_state=2; //下一状态处于15秒计时的状态
}
}
break;
case 7://取消键
init_variant();
break;
}
}
}
led_show();
}
}
//-----程序结束-----------------

Ⅱ 密码锁的设计图(电路图)

100分以下没人费这劲,自个想吧。

Ⅲ 密码锁的基本原理

以拨码盘式为例,基本原理如下

是一种没有电子器件的大密钥量高可靠的全机械密码锁。它的操作方式独特,类似老电话机的拨号――从拨盘的起点开始,顺时针转动拨盘到某一位数码,然后退回到起点,就输入了一位密码。

如此重复直到输入了最后一位密码,再从起点逆时针转动拨盘就可以开锁。在开锁的同时,内部已经复位,所以拨盘退回到起点关锁后,必须重新输入密码才能开锁,不需要考虑内部复位问题。

这种密码锁中,六位密码的可以有298万多组密码供主人随意变换,保密性极高,可选密码组是连续排列的,为选择容易记忆的密码提供了方便。

已开发的基本型产品,密码位数及密码量还可以根据用户的需求来重新设计,也可以为用户增加报警器接口。

(3)密码盘电路扩展阅读:

这种密码锁的优点:

1、不用钥匙,不用电源,不用电池,没有废弃污染物。

2、全机械结构,能承受相当恶劣的外部环境,使用范围广。

3、操作简单,开锁时间比较短,平均开锁时间约15秒。

4、实际密码量大保密性能高,试探开锁的概率几乎为零。

5、结构简单,结实可靠。

Ⅳ 单片机密码锁电路一位,原理图和程序,最好能放在一个文件夹里

Ⅳ 在网上看到各种CD4017制作的密码锁电路,比较复杂,安全性也高,不容易破解,可是觉得自己作为入门

VT2应该加上一个上拉电阻,VT1一个下拉电阻,各再经二极管连接到到这个共用的按键信号。
电路构思是可以,但时序方面还需要在实体电路上测试。

Ⅵ 求电子密码锁的实验电路图

电子密码锁的实验电路图:

Ⅶ 9位数字密码锁电路图如下:密码为302706249 请问详细原理是什么

你的图看着不是很清楚,可能还有错。
4017本来工作时就是在脉冲输入端加入脉冲信号回,每个周期输答出的10个脚依次发生电平变化。达到计数或流水灯的效果。
这种密码锁工作原理应该是:通过连线,在按对正对按键时,通过该引脚的电平驱动了脉冲输入端产生单次脉冲,再按对下一次按键再产生下一个脉冲,依次往下,直至最后一个脉冲也产生后给出开锁信号。

Ⅷ 电子密码锁电路原理图,求解答

这不是密码锁电路。不过,作为密码锁电路的电源电路是可以的。
工作原理是:
T1,降压,把220V高压隔离并降到约10V的低压。
D1,整流,把约10V的交流变成脉动直流。
C5、C6、滤波。把脉动直流变成平滑直流。此时的直流电压略高于10V。
7805, 把上述的直流降为稳定的5V。
C7、C8,对5V直流滤波
R3,给D2限流供电。
D2、5V电压的有电指示

Ⅸ 求用proteus仿真的密码锁电路,最好不要用单片机,用数字电路。大家帮帮忙啊,谢啦^_^

数字电路无非就是与非门,这个可以用布尔代数化解

Ⅹ 设计一个密码锁电路,要求有三个按键A,B,C,密码为100,密码对,则锁开,否则接通报警,用与门,

Y=A B' C' 。这样 A=1,B=0,C=0,Y就=1,表示密码正确,去开锁。
Y=0,就表示密码错误,去报警。
这里还要加上个变量 D,因为电路无法知道密码输入完成,得通过D变量来确认。

阅读全文

与密码盘电路相关的资料

热点内容
激光头原理与维修视频 浏览:50
房屋装修家具家电什么时候入场修 浏览:759
白城维修空调电话 浏览:590
火车电路工作原理 浏览:381
渭南电热水器维修电话号码 浏览:574
低层厂房消防水池多少吨 浏览:685
下沉卫生间做防水用什么材料填充 浏览:506
济宁苹果手机维修点查询 浏览:950
手机维修手机哪里有压屏机 浏览:673
达尔优机械键盘售后维修 浏览:328
尚品家居体验馆 浏览:421
物业开发商不给维修找哪个部门 浏览:515
如何给旧笔记本外观翻新 浏览:338
本田减震撞坏了维修要多少钱 浏览:852
iphone电源键坏了维修多少钱 浏览:982
车保如何维修视频 浏览:495
飞利浦手机广州维修中心 浏览:419
小狗的保修 浏览:326
总电闸跳闸维修多少钱 浏览:204
餐厅家具市场五一活动有什么 浏览:404