密码锁电路
- 格式:doc
- 大小:1.42 MB
- 文档页数:18
密码锁本设计以STC89C52RC单片机为核心,利用AT24C02存储密码,做到掉电存储密码的电子密码锁。
电路:程序:#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define N 7#define OP_READ 0xa1 // 器件地址以及读取操作#define OP_WRITE 0xa0 // 器件地址以及写入操作#define MAX_ADDR 0x7f // AT24C02最大地址sbit SCL=P2^0;sbit SDA=P2^1;sbit CSH=P3^0;sbit e=P3^4;sbit rs=P3^5;sbit sp=P3^6;sbit lock=P3^1;sfr duan=0x80;sfr key=0x90;uint ci;uchar kc,sc,sc2;int shu1,shu2,jh,jg;uchar code table[] =" LOCK "; uchar code table2[]="WELLCOME TO USE!"; uchar code table3[]="PASS WORD:";uchar code table4[]="ERRO!";uchar code table5[]="OPEN!";uchar code table6[]="NEW PASS WORD"; uchar code table7[]="SUCCESSFUL!";uchar code table8[]="FAIL!";uchar code cmm[6]={1,2,3,3,2,1};uchar mm[6];uchar tablesuan[N];void init();void writec(uint com);void writed(uint dat);void delay(uint shu);uchar keyscan();void xieshuzu(uchar a[],uchar add);void shuru();void kaiji();void bijiao();void xies(uchar a,uchar add);void delayms(unsigned char ms);void gmm();/***********************//***********************//***********************/void start()// 开始位{SDA = 1;SCL = 1;_nop_();_nop_();SDA = 0;_nop_();_nop_();_nop_();_nop_();SCL = 0;}void stop()// 停止位{SDA = 0;_nop_();_nop_();SCL = 1;_nop_();_nop_();_nop_();_nop_();SDA = 1;}unsigned char shin()// 从AT24Cxx移入数据到MCU{unsigned char i,read_data;for(i = 0; i < 8; i++){SCL = 1;read_data <<= 1;read_data |= (unsigned char)SDA;SCL = 0;}return(read_data);}bit shout(unsigned char write_data)// 从MCU移出数据到A T24Cxx{unsigned char i;bit ack_bit;for(i = 0; i < 8; i++) // 循环移入8个位{SDA = (bit)(write_data & 0x80);_nop_();SCL = 1;_nop_();_nop_();SCL = 0;write_data <<= 1;}SDA = 1; // 读取应答_nop_();_nop_();SCL = 1;_nop_();_nop_();_nop_();_nop_();ack_bit = SDA;SCL = 0;return ack_bit; // 返回A T24Cxx应答位}void write_byte(unsigned char addr, unsigned char write_data) // 在指定地址addr处写入数据write_data{start();shout(OP_WRITE);shout(addr);shout(write_data);stop();delayms(10); // 写入周期}unsigned char read_current()// 在当前地址读取{unsigned char read_data;start();shout(OP_READ);read_data = shin();stop();return read_data;}unsigned char read_random(unsigned char random_addr)// 在指定地址读取{start();shout(OP_WRITE);shout(random_addr);return(read_current());}void delayms(unsigned char ms)// 延时子程序{unsigned char i;while(ms--){for(i = 0; i < 120; i++);}}/***********************//***********************//***********************/ //主程序/void main(){ init();kaiji();delay(1000);writec(0x01);xieshuzu(table3,0x80);if(CSH==0){write_byte(2,cmm[0]); //在24c02的地址2中写入数据secdelayms(2);write_byte(3,cmm[1]); //在24c02的地址2中写入数据sec delayms(2);write_byte(4,cmm[2]); //在24c02的地址2中写入数据sec delayms(2);write_byte(5,cmm[3]); //在24c02的地址2中写入数据sec delayms(2);write_byte(6,cmm[4]); //在24c02的地址2中写入数据sec delayms(2);write_byte(7,cmm[5]); //在24c02的地址2中写入数据sec delayms(2);}mm[0]=read_random(2);delayms(2);mm[1]=read_random(3);delayms(2);mm[2]=read_random(4);delayms(2);mm[3]=read_random(5);delayms(2);mm[4]=read_random(6);delayms(2);mm[5]=read_random(7);while(1){lock=0;shuru();bijiao();}}/***********************/ //初始化/ void init(){lock=0;writec(0x01);writec(0x38);writec(0x0c);IT0=1;EX0=1;}/***********************/ //写开机画面/ void kaiji(){xieshuzu(table,0x80);xieshuzu(table2,0xc0);}/***********************/ //写数组/ void xieshuzu(uchar a[],uchar add){uchar cis;writec(add);for(cis=0;a[cis]!='\0';cis++){writed(a[cis]);delay(2);}}/***********************/ //写数字/ void xies(uchar a,uchar add){writec(add);writed(0x30+a);}/***********************/ //写指令/ void writec(uint com){e=0;rs=0;duan=com;delay(2);e=1;delay(2);e=0;}/***********************/ //写数据/void writed(uint dat){e=0;rs=1;duan=dat;delay(2);e=1;delay(2);e=0;}/***********************/ //延时/ void delay(uint shu){uint i,j;for(i=shu;i>0;i--)for(j=110;j>0;j--);}/***********************/ //现盘扫描/ uchar keyscan(){uchar k,skey;key=0xfe;skey=key;sp=1;if(skey!=0xfe){delay(10);skey=key;if(skey!=0xfe){switch(skey){case(0xee):k=7;kc++;break;case(0xde):k=8;kc++;break;case(0xbe):k=9;kc++;break;case(0x7e):k=0x0a;kc++;break;default:break;}while(skey!=0xfe)skey=key;sp=0;return k;}}key=0xfd;skey=key;if(skey!=0xfd){delay(10);skey=key;if(skey!=0xfd){switch(skey){case(0xed):k=4;kc++;break;case(0xdd):k=5;kc++;break;case(0xbd):k=6;kc++;break;case(0x7d):k=0x0b;kc++;break;default:break;}while(skey!=0xfd)skey=key;sp=0;return k;}}key=0xfb;skey=key;if(skey!=0xfb)delay(10);skey=key;if(skey!=0xfb){switch(skey){case(0xeb):k=1;kc++;break;case(0xdb):k=2;kc++;break;case(0xbb):k=3;kc++;break;case(0x7b):k=0x0c;kc++;break;default:break;}while(skey!=0xfb)skey=key;sp=0;return k;}key=0xf7;skey=key;if(skey!=0xf7){delay(10);skey=key;if(skey!=0xf7){switch(skey){case(0xe7):k=0x0d;kc++;break;case(0xd7):k=0; kc++;break;case(0xb7):k=0x0e;kc++;break;case(0x77):k=0x0f;kc++;break;default:break;}while(skey!=0xf7)skey=key;sp=0;return k;}}}/***********************/ //输入数据处理/ void shuru(){uchar k=0,xw=0x80;sc=0;kc=0;xieshuzu(table3,0x80);do{while(kc==sc)k=keyscan();if(kc==1)writec(0x01);tablesuan[sc]=k;//xies(tablesuan[sc],xw);xies(tablesuan[sc],0xc0);writec(xw);writed(0x2A);xw++;if(sc==5)goto out;}while((tablesuan[sc++]<=9)&&(sc<N));out:;if(sc>N){writec(0x01);xieshuzu(table4,0x80);}}void bijiao(){if((tablesuan[0]==mm[0])&&(tablesuan[1]==mm[1])&&(tablesuan[2]==mm[2])&&(tablesuan[3] ==mm[3])&&(tablesuan[4]==mm[4])&&(tablesuan[5]==mm[5])){EA=1;lock=1;writec(0x01);xieshuzu(table5,0x80);delay(6500);EA=0;}else{writec(0x01);xieshuzu(table3,0x80);}}void gmm(){uchar k=0,xw=0x80;sc2=0;kc=0;xieshuzu(table6,0x80);do{while(kc==sc2)k=keyscan();if(kc==1)writec(0x01);mm[sc2]=k;xies(mm[sc2],0xc0);writec(xw);writed(0x2A);xw++;if(sc2==5)goto out2;}while((mm[sc2++]<=9)&&(sc2<N));//out:;//if(sc>N)//{writec(0x01);xieshuzu(table8,0x80);goto out3;//}out2:;writec(0x01);xieshuzu(table7,0x80);write_byte(2,mm[0]); //在24c02的地址2中写入数据secdelayms(2);write_byte(3,mm[1]); //在24c02的地址2中写入数据secdelayms(2);write_byte(4,mm[2]); //在24c02的地址2中写入数据secdelayms(2);write_byte(5,mm[3]); //在24c02的地址2中写入数据secdelayms(2);write_byte(6,mm[4]); //在24c02的地址2中写入数据secdelayms(2);write_byte(7,mm[5]); //在24c02的地址2中写入数据secdelayms(2);out3:;}void INTT0() interrupt 0{EA=0;gmm();EA=1;}。
数字逻辑电路课程计课题:电子密码锁姓名:班级:学号:成绩:指导教师:开课时间:2014-2015学年第2学期2007年 6 月 20日电子密码锁摘要:采用逻辑门电路设计电子密码锁,阐述了其工作原理,给出了具体的电路原理图。
该密码锁具有密码预置功能,保密性强,误码报警,并且报警时间可以设定,同时用数码管显示出报警时间。
密码正确时驱动继电器控制开锁指示灯,误码时报警信号由蜂鸣器发出,声音为间歇式鸣笛。
采用自行设计的5V稳压电源供电,具有耗电省等特点。
当密码正确时密码锁可以被打开,绿色二极管亮代表密码正确,锁可以打开。
密码不正确时,红色二极管被点亮,同时蜂鸣器鸣笛5秒,数码管显示5秒计时;计时结束时,20秒计时开始。
关键词:电子密码锁;数字电路;预置密码;误码报警Using logic gate design of electronic combination lock, this paper expounds its working principle, gives the specific circuit principle diagram of the combination lock with password preset function, strong confidentiality, error alarm, and alarm time can be set, at the same time using digital tube display the alarm time. Password correctly drive relay control lamp, when the error alarm signal by a buzzer, voice for intermittent ing self-designed 5 v regulated power supply, has the characteristics of power saving electricity. When the correct password combination lock can be opened, the green led light on behalf of the correct password, the lock can be opened. Password is not correct, the red leds lit up, at the same time a buzzer honking 5 seconds, the digital tube display 5 seconds time, at the end of the timing, 20 seconds timer starts.Keywords: electronic password ,combination lock,digital circuit preset ,Error alarm目录1、设计背景 (4)2、设计方案 (5)2.1原理框图 (5)2.2总体思想 (5)3、方案实施 (7)3.1.1密码输入 (7)3.1.2密码存储 (8)3.1.3比较电路 (8)3.1.4 5秒计时器 (9)3.1.5 20秒计时器 (10)3.2电路仿真 (11)4、结果与结论 (12)5、收获与致谢 (14)6、参考文献 (15)1、设计背景1.1背景及其发展前景随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。
数字电路课程设计设计报告课题名称:密码锁设计成员1:设计成员2:设计成员3:密码锁一、目录1、设计项目综述 (2)2、设计方案及分析 (3)2.1设计方案 (3)2.2设计分析 (4)2.3方案优缺点 (4)3、电路原理分析 (5)3.1模块1:八进制优先编码器74ls148 (5)3.2模块2:4位双稳锁存器74LS75 (6)3.3模块3:4位数字比较器74LS85 (8)3.4模块4:可预置bcd计数器74LS160 (9)3.5 总图 (14)4、总结 (16)4.1设计中遇到的问题及解决方法 (17)4.2设计方案中需要改进的地方 (17)4.3这次设计中的收获和教训 (17)二、设计项目综述:1、可以预置1位十进制数密码,并保存密码。
2、开锁时,输入正确密码,按开锁键,锁打开。
3、当输入密码时,数码管显示相应的输入数字。
密码输入错误时计数一次,当输入错误密码连续达到四次,拒绝再输入密码。
需用复位键将其还原才能再次输入。
4、输入密码时,数码管8显示密码的数值。
拒绝输入密码时,只显示0。
按开锁键时,数码管5显示密码输入错误的次数;当错误次数连续少于4次以下时,则当输入密码正确时数码管5清“0”。
5、开锁指示灯亮表示锁已经打开。
三、设计方案及分析1、设计方案根据以上密码锁的设计任务,我们拟定的方案可以简略的如以下框图所示:2、方案分析(1)密码输入:由于要求通过每按一个输入键时直接显示为对应的十进制数密码,所以需要将二进制数转换为对应的十进制数。
根据前面这个要求,我们有两个选择74ls147和74ls148。
74ls147与74ls148比较,74ls148比74ls147多一个功能端。
使用74ls148可以实现输入四次错误自动锁定。
虽74ls148总的输入键只有8个,使用两块74ls148,并他们通过级联可以解决0~9输入。
当多过输入端同时出现时,只对其中优先权最高的一个进行编码,这个编码就是我们要的对应的十进制数。
“数字电子技术”课程设计实验报告姓名:指导老师:班级:13电子卓越班 学号:2013*********时间:2014·12·05东莞理工学院电子工程学院密码锁目录一、选题意义 (3)二、方案论证选择 (4)2.1 设计要求 (4)2.2 拓展要求 (4)2.3 系统框图 (4)2.4 设计过程 (5)三、电路设计 (5)3.1 所需芯片及芯片管脚图 (5)3.2 CD4017构成的主题电路 (6)3.2确认键的电路设计 (6)3.3输入密码三次锁死系统原理分 (7)3.4用led显示当前输入密码个数 (8)3.5 综合电路 (8)四、电路调试及实物照片 (9)五、心得体会 (13)一.选题意义1概述电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
2性能特点其性能和安全性已大大超过了机械锁,特点如下:1.保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2.密码可变。
用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3.误码输入保护。
当输入密码多次错误时,报警系统自动启动。
4. 电子密码锁操作简单易行,一学即会。
5.干扰码功能在输入正确密码前可输入任意码。
6.安保功能如果连续输错4次密码将会自动断电3分钟。
7.紧急开启功能(Panic Open)出门时无需其他操作,只需一次的把手动作,可机械的开启门,所以遇到火灾等应急状况下也迅速,安全的开启门。
8.入侵感应功能在门上锁的状态下,有人破锁而入时,会发出强力的报警音。
9.火灾报警功能在室内如果温度达到75°左右,将会发出强力的报警音,同时锁会自动开启。
10.双重锁定功能外部强制锁定:在内部不能开启,适用于外出时,防止有人入侵。
基于Multisim的电子密码锁设计报告一、实验目的本次实验的目的是利用Multisim软件来模拟设计一款电子密码锁电路,并运用实验设计与验证技能,实现对其正确性的验证。
二、实验原理1. 采用TTL 74LS161四位二进制可编程计数器芯片来作为密码锁的实现电路。
2.在74LS161中将4个D触发器的引脚Q4、Q3、Q2和Q1相连,形成一个四位二进制计数器。
D0、D1、D2和D3端分别保存四个密码。
J端与K端都接地,保证其无法跳转,输入端(P输入)通过翻转外电平跳转。
3.在密码输入时,将四个D触发器之间的连接管脚断开,用四个单独红色LED灯来表示各自的D触发器的状态。
4.密码输入结束之后要再通过一个译码器,将存储器里的二进制数转换成相应的16进制数,然后用一个比较器和一个与门来完成密码的验证。
三、实验步骤1. 在Multisim中,依次添加TTL 74LS161、LED、Decoder、Comparator、AND gate等元件。
2. 将74LS161的P0-P3引脚连接四个SIN箭头元件,将输入端的SIN箭头也连接到P电平输入端。
3. 将74LS161的Q0-Q3引脚连接到四个LED元件上,并将LED元件连成串。
4. 将Decoder的A0-A3引脚连接74LS161的Q0-Q3,将Out0-Out3引脚与与门的一个端口连接,另一个与门的端口连接密码输入的中转电路。
5. 将与门的输出端口连接Comparator的“+”端口,将一个预先设定的密码与Comparator的“-”端口相连。
6. 输入正确的密码,实验成功。
四、实验结果通过电路模拟,输入正确密码时四个LED灯都会相应亮起来,且输出信号会自动上升至“5V”。
若输入密码错误,则四个LED灯都不会亮,输出信号为“0V”。
五、实验分析本次实验的电子密码锁电路,通过四位二进制可编程计数器芯片,实现用户输入固定密码,验证正确性后输出特定信号,实现门的自主解锁。
数字密码锁的控制电路实验报告摘要:本实验旨在设计和实现一个数字密码锁的控制电路。
通过使用数字集成电路和逻辑门电路,我们成功地实现了一个简单而有效的数字密码锁系统。
实验结果表明,该控制电路能够准确地识别输入的密码,并控制锁的开关状态。
本实验为数字密码锁的设计和应用提供了有益的参考。
引言:数字密码锁是一种常见的安全措施,广泛应用于各种场合,如家庭、办公室和酒店等。
它通过输入正确的数字密码来控制锁的开关状态。
本实验旨在设计和实现一个数字密码锁的控制电路,以便更好地理解数字密码锁的工作原理和应用。
材料与方法:1. 数字集成电路(例如74LS47、74LS74)2. 逻辑门电路(例如74LS08、74LS32)3. 七段数码管4. 按钮开关5. 电源和电线6. 面包板和连接线实验步骤:1. 将数字集成电路和逻辑门电路按照电路图连接在面包板上。
2. 将七段数码管和按钮开关连接到电路中相应的引脚上。
3. 将电源和电线连接到电路中,确保电路正常工作。
4. 设计一个四位数字密码,并将其编程到电路中。
5. 测试电路的功能,尝试输入正确的密码并观察锁的开关状态。
结果与讨论:经过实验,我们成功地设计和实现了一个数字密码锁的控制电路。
该电路能够准确地识别输入的密码,并根据密码的正确与否控制锁的开关状态。
当输入正确的密码时,锁会打开;当输入错误的密码时,锁会保持关闭状态。
通过实验,我们发现数字集成电路和逻辑门电路在数字密码锁的控制中起到了关键作用。
数字集成电路负责将输入的密码转换为七段数码管上的数字显示,而逻辑门电路则负责判断输入的密码是否正确,并控制锁的开关状态。
此外,我们还发现,设计一个安全可靠的数字密码锁需要考虑以下几个因素:1. 密码的复杂性:密码应该足够复杂,以防止被他人轻易猜测或破解。
2. 锁的安全性:锁的机械结构应该坚固可靠,以防止被非法开启。
3. 电路的稳定性:电路应该能够稳定地工作,并能够抵抗外界的干扰。
课程设计:电子密码锁(附原理图及PCB)电子密码锁摘要:本设计是通过判断输入密码正确与否从而控制相应电路工作,完成开锁、报警、锁定键盘等任务的电子密码锁。
它具有预设密码功能,超时报警功能,键盘锁定功能,错误提示功能等。
预设密码和输入密码是用两个八位的锁存器实现,密码判断是由数值比较器电路组成,超时报警功能是用NE555所构成的单稳态触发器实现,超时次数及密码错误次数由计数电路记录,而键盘锁定功能则是通过电路的逻辑关系巧妙控制锁存器的输出使能端实现的。
关键词:电子锁,密码锁,键盘锁定,报警电路Abstract:This design is to control the corresponding circuit by judging the password correctly or not work, do lock, alarm, lock the keyboard and other electronic combination lock. It has default password function, timeout alarm function, and key lock function, error function, etc. Default password and enter the password is to use two of the eight latch, password is consist of numeric comparator circuit, timeout alarm function is formed by using NE555 monostable trigger, timeout number and password error number recorded by counting circuit, and key lock function is through the logical relationship of the circuit can control the output of the latch makes the server-side implementation.Keywords:Electronic lock ,Combination lock,Keyboard lock, warning circuit.目录1 前言 (1)1.1 设计背景 (1)1.2 设计概述 (1)2 总体方案设计 (3)2.1 程序框图 (3)2.2 电路分析 (4)3 单元模块设计 (5)3.1 密码锁存电路 (5)3.2 密码判断电路 (7)3.3 计数器电路 (8)3.4 计时器电路 (9)3.5电路参数的计算及元器件的选择 (13)3.6 各单元模块的联接 (13)4 系统调试 (14)4.1 仿真电路总图 (14)4.2系统仿真参数设置 (14)4.3 功能调试 (17)4.4 调试结果分析 (23)5 系统功能、指标参数 (25)5.1 系统实现的功能 (25)5.2 系统指标参数测试 (25)6 结论 (26)7 设计总结 (27)7.1 设计的收获体会 (27)7.2 对设计的进一步完善提出意见或建议 (27)8 致谢 (28)9 参考文献 (29)附录1:电子密码锁的仿真总图 (31)附录2:电子密码锁的PCB图 (33)1 前言1.1 设计背景随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。
数字电路设计实验报告——简易密码锁学院:班级:学号:姓名:目录●任务要求●系统设计✓设计思路✓总体框图✓分块设计●波形仿真及波形分析●源代码●功能分析●故障分析及问题解决●总结及结论●任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。
基本要求:1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上显示所输入数字。
通过密码设置确定键(BTN 键)进行锁定。
2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。
输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。
3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
2、密码锁的密码位数(4~6 位)可调。
3、自拟其它功能。
●系统设计设计思路将电子密码锁系统分为三个部分来进行设计,数字密码输入部分、密码锁控制电路和密码锁显示电路。
密码锁输入电路包括时序产生电路,键盘扫描电路,键盘译码电路等,将用户手动输入的相关密码信息转换为软件所能识别的编码,作为整个电路的输入。
密码锁控制电路包括相应的数据存储电路,密码核对电路,能够进行数值的比较,进行电路解锁,开锁,密码的重新设置等。
密码锁显示电路包括将待显示数据的BCD 码转换成数码管的七段显示驱动编码,密码锁在相应的状态下的点阵输出以及蜂鸣器的报警输出。
总体框图按复位键 键入初始密码0000 密码错误密码正确 按确认键 按复位键按确认键密码锁显示电路 密码锁控制电路 数码管显示报警电路密码更改与密码设计电路键入状态闭锁状态开锁状态 报警状态分块设计✓键盘扫描电路首先,向列扫描地址逐列输出低电平,然后从行码地址读回,如果有键摁下,则相应行的值应为低,如果没有按键按下,由于上拉的作用,行码为高。
课程设计说明书课程设计名称:数字电路课题设计课程设计题目:带报警器的密码电子锁和门铃电路学院名称:信息工程学院专业:电子信息工程班级: 090411学号:姓名:评分:教师:20 1 1年 09 月11日脉冲数字电路课程设计任务书20 10 -20 11 学年第二学期第 1 周- 2 周注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。
摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。
本系统是由D触发器,蜂鸣器、555和报警系统,门铃系统所组成的带报警电子密码锁和门铃电路。
系统完成按键输入、开锁、超时报警、错误密码报警、复位等数字密码锁的基本功能。
在当今的社会安全是人民特别关心的话题,生命安全,财产安全等等。
密码门铃电路就是在现实生活为人民提供安全保护设备。
关键字:数字密码锁 74LS74 555 解锁与报警目录摘要 (2)第一章、系统设计方案选择 (4)1.1方案一 (4)1.2方案二 (4)第二章系统组成及工作原理 (6)2.1密码锁电路 (6)2.2门铃及报警电路: (6)2.3继电器电路 (9)2.4.供电电路: (9)第三章整体电路及系统的调试和安装 (10)3.1安装 (10)3.2调试方法与调试过程 (10)3.3制作成品 (11)第四章设计心得及几点补充说明 (12)五.参考文献 (13)附录一电路图和PCB版 (14)附录二元件清单 (16)附录三芯片资料 (17)第一章、系统设计方案选择1.1 方案一该设计主要分输入电路,存储电路,信号处理电路,输出电路四大部分,首先从输入电路送出的编码信号到比较器与存储器的存储密码进行比较,两者一致则将锁打开,反之则驱动报警电路报警,存储器中的密码可以通过写允许端修改密码。
图1.1 整体方案设计流程1.2 方案二74LS74组成的数字电子密码锁方案二是以D触发器74LS74为中心的数字逻辑电路,通过按键改变CP脉冲改变D触发器的输出端Q,传递信号,而实现电子密码功能。
图1.2 74LS74组成的数字电子密码锁原理框图1.3方案论证与对比这两个方案都是可行的,两者能实现的功能是一样,都能实现对锁的电子控制。
两者最大的不同就是方案二具有复杂的数字逻辑关系,而方案一不具备。
方案一的灵活度低,方案一的电路完全是运用集成芯片的功能来实现,对于初学者,还是方案二比较好,可以更好的运用所学的知识来实现这个课题设计,很明显方案一有优势,方案一的密码输入部分由八个按键组成,密码输入灵活度非常高,变换多样,密码验证部分由四块数字芯片组成,增加了电路的数字逻辑关系,使密码锁的密码破译难度加大。
但是根据实际情况。
方案一的集成芯片比较少用很难找到,如四位比较器,4*4寄存器,权衡利弊,和实际情况,我选择了方案二由74LS74为中心的数字电子密码锁。
第二章系统组成及工作原理2.1 密码锁电路在图3.1中,六个D触发器U1~U6构成密码电路,本电路密码设定为134678,S1、S3、S4、S6、S7、S8分别是1、3、4、6、7、8、六位密码按钮端;平时六个触发器CP端皆悬空相当于1状态,触发器保持原状态不变。
当按下S1时,CP1为低电平,松手后S1自动恢复搞电平,CP1获上升沿,此时Q1=D1=1;再按下S3时,CP2为低电平,松手后S3自动恢复高电平,CP2 获上升沿,此时Q2=D2=Q1=1;同理,按下S4、S6、S7、S8并松手后D6=1用此Q=6去控制开锁。
此处用电阻和发光二极管串联,通过二极管的亮来表示开锁。
在图3.1中,C1因电压不能突变,在接通电源的瞬间C1电压为零使U1~U6各位皆为零。
当输入密码错误时将会自动清零。
2.2 门铃及报警电路:图2.2.1 门铃电路图2.2.2 报警电路如[图3.1.1]所示门铃电路由555定时器连成的多谐振荡器构成,当按下门铃时电路接通电源产生约500Hz的振荡信号,同时按下门铃按钮实现清零的功能。
报警电路也是由555定时器构成,通过单稳态定时电路,去驱动多谐振荡器报警时产生1KHz 的信号,当输入密码时间超过一定的时间后,单稳态定时电路就会产生高电平,高电平就会驱动多谐振荡电路实行报警功能。
此外,按下清零/门铃按钮后可以实现对报警的解除,因为此时一个低电平信号与来自判断输出端的高电平信号相与后,为一低电平信号,报警电路不工作。
一、单稳态触发器1.单稳态触发器的特点单稳态触发器具有下列特点:第一,它有一个稳定状态和一个暂稳状态;第二,在外来触发脉冲作用下,能够由稳定状态翻转到暂稳状态;第三,暂稳状态维持一段时间后,将自动返回到稳定状态,而暂稳状态时间的长短,与触发脉冲无关,仅决定于电路本身的参数。
(a) 电路 (b) 工作波形图4-1-8 555定时器构成的单稳态触发器2.555定时器构成的单稳态触发器的电路组成及其工作原理 单稳态触发器的组成如图4-1-8所示。
接通VCC 后瞬间,VCC 通过R 对C 充电,当uc 上升到CCV 32时,比较器C1输出为0,将触发器置0,uo =0。
这时Q=1,放电管T 导通,C 通过T 放电,电路进入稳态。
ui 到来时,因为CCi V u 31< ,使C2=0,触发器置1,uo 又由0变为1,电路进入暂稳态。
由于此时Q=0,放电管T 截止,VCC 经R 对C 充电。
虽然此时触发脉冲已消失,比较器C2的输出变为1,但充电继续进行,直到uc 上升到CC V 32时,比较器C1输出为0,将触发器置0,电路输出uo =0,T 导通,C 放电,电路恢复到稳定状态。
3.主要参数的估算(1) 输出脉冲宽度:t P=1.1RC (2) 恢复时间:tre=3~5RCES ·C(3) 最高工作频率:rep t t f +=1max 2. 555定时器构成的多谐振荡器555定时器构成的多谐振荡器的波形。
该振荡器的工作原理是:接通V CC 后,V CC经R 44和R 45对C 1充电。
当u c 上升到CC V 32时,u o =0,T 导通,C 1通过R 45和T 放电,u c 下降。
当u c 下降到CC V 31时,u o 又由0变为1,T 截止,V CC 又经R 44和R 45对C 1充电。
如此重复上述过程,在输出端u o 产生了连续的矩形脉冲。
振荡频率和占空比的估算:1.电容C 充电时间:145441)(7.0C R R t P += 2.电容C 放电时间:14527.0C R t P = 3.电路谐振频率f 的估算: 振荡周期为:14544)2(7.0C R R T +=振荡频率为:1454414544)2(43.1)2(7.011C R R C R R T f +≈+==2.3继电器电路图2.3.1 继电器电路在图3.3.1中可以看出继电器部分是通过一个三级管驱动继电器的,本来是可以有直流5V 的继电器直接接入电路中的,但是手头上没有5V 的继电器,所以改用直流12V 驱动交流220V 的继电器,所以用到了三级管的导通电压很小,截至电压很大的功能,搭成的电路,个人意见觉得用三级管驱动继电器性能指标更稳定,因为驱动继电器的电源是独立的。
2.4.供电电路:可由干电池或变压器提供5~7伏电压供电,为了简化原理图供电部分没有画出。
第三章整体电路及系统的调试和安装整体电路见附录一3.1安装按照总原理图将元器件正确安装在电路板上,先部好局,布局的时候应特别注意电容和二极管的正负,不要把正负接反了。
还应值得注意的就是555和电位器的管脚分配,不要因为接错管脚而实现不了功能。
检查好布局,最后再去焊接。
在焊接的时候不要虚焊,焊点要均匀。
3.2调试方法与调试过程1.焊接检查: 先进行芯片的管脚检查,是否管脚和相应的焊接点导通。
其次检查电容和二级管的极性是否正确,最后用万用表检查电路是否连对。
2.基本原件的调节:把电位器的电阻参数大概调节到适合的阻值,然后芯片插入。
3. 通电观察:通电后不要急于测量电气指标,而要观察电路有无异常现象,例如有无冒烟现象,有无异常气味,手摸集成电路外封装,是否发烫等。
如果出现异常现象,应立即关断电源,待排除故障后再通电。
4 . 静态调试:静态调试一般是指在不加输入信号,或只加固定的电平信号的条件下所进行的直流测试,可用万用表测出电路中各点的电位,通过和理论估算值比较,结合5. 通过示波器观察555多谐振荡电路输出波形是否符合指标。
3.3制作成品图3.3.1 成品正面图3.3.2 成品反面第四章设计心得及几点补充说明通过这两个学期电路知识的学习,我们初步掌握了一些基本的模拟电子、数字电子的知识,但当我们拿到课程设计的题目时还是觉得比较茫然,不知从何下手,对好多芯片的使用不很了解,在一些工具书上也没查到其具体的功能。
因此这个电路设计的可能有点繁杂,肯定有更好的方案我们没有发现,在此我们也希望指导老师和同学批评指正。
本次课程设计是我们第一次亲身体会自己动手查资料、设计电路、仿真等过程,个人感觉收获很大。
每当电路要成功时,当时的心情是那么的激动,但是前几次都没有成功,在我的不断努力、不断探索、不断查资料之下,终于将电路设计成功,在成功之时心情真的是好极了!当我们选择这个课程设计题目时感觉很简单,但是在实践中还是遇到很多困难,不知道从何入手去调试,只有两张设计要求和设计电路图,没有工具、没有资料、如何能完成设计要求呢!后来经过本人上网查资料了,使用Multisim对其进行仿真,无需将电路事物图做出来。
用Multisim10对电路进行仿真真的很方便,而且安全,还便于对电路进行修改。
本次设计中采用电路模块化理念,将本来非常复杂的电路分解成一个个简单的单元电路,然后设计单元电路,单元电路设计起来就简单多了。
最后将每个单元电路连接起来便成了一个复杂的,具有特定功能的电路。
本次设计中遇到了不少困难,但在老师同学的帮助下、在我们组的努力下,还是一个一个的将问题解决了!个人感觉收获最大的就是学会了设计电路的这种方法和分析问题解决问题的思想!五.参考文献[1]康华光.电子技术基础数字部分[M].北京:高等教育出版社,1980[2]谢自美.电子线路设计实验测试[M].武昌:华中理工大学出版社,1994[3] 中国集成电路大全编委会.高速CMOS电路[J].北京:国防工业出版社,1995[4] 王伯雄.测试技术基础[M]. 北京:高等教育出版社,2003[5] 焦宝文.电子技术基础课程设计指南[M]. 北京:清华大学出版社,1988[6]张清战.电子技术基础实训[M].北京:科学出版社,1994[7]朱承高.电工及电子技术手册[M].北京:高等教育出版社,1990附录一电路图和PCB版附录二元件清单附录三芯片资料555定时器的集成电路外形、引脚、内部结构如图4-1-1所示。