多功能电子密码锁的设计与制作 川长思鸟来 2024-03-31 08:25 16阅读 0赞 目 录 第一章 绪论 1 1.1 课题背景和意义 1 1.2 多功能电子密码锁发展趋势 2 第二章 总体设计方案的确定 3 2.1 多功能电子密码锁设计的具体要求 3 2.2 总体设计方案选定 3 第三章 系统硬件设计 5 3.1 设计原理 5 3.2 单片机STC89C51简介 5 3.3 AT24C02存储芯片 9 3.4 LCD显示模块 10 3.5 键盘设计 12 3.6 声音提示模块 14 3.7 继电器控制模块 15 第四章 系统软件设计 17 4.1主程序模块 17 4.2 键盘扫描子程序 18 4.3 系统模块密码设置子程序 18 4.4开锁子程序 20 4.4软件调试 20 第五章 系统制作及调试 24 5.1 注意事项 24 5.2 硬件调试问题及解决方法 25 第六章 结论 26 参考文献 27 附录一 原理图 28 附录二 仿真图 29 附录三 多功能电子密码锁程序源代码 30 第二章 总体设计方案的确定 2.1 多功能电子密码锁设计的具体要求 (1)本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号。 (2)设计开锁密码位六位密码的多功能电子密码锁。 (3)能够LCD显示在密码正确时显示OPEN,密码错误时显示 ERROR,输入密码时显示INPUT PASSWORD。 (4)实现输入密码错误超过限定的三次多功能电子密码锁定。 (5)4×4的矩阵键盘其中包括0-9的数字键、*、\#和A-D的功能键 (6)本产品具备报警功能,当输入密码错误时蜂鸣器响并且LED灯亮。 (7)密码可以由用户自己修改设定(只支持6位密码),修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作 。 2.2 总体设计方案选定 方案一:采用数字电路控制。 用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用。 方案二:采用一种是用以STC89C51为核心的单片机控制方案。 选用单片机STC89C51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。其原理如下图2.1所示: ![在这里插入图片描述][7f24dafbea43424285fc9d8fd8fb0fbb.png] 图2.1 单片机控制密码锁原理图 可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案 #include <REG51.h> #include<intrins.h> //宏定义 #define LCM_Data P0 //将P0口定义为LCM_Data #define uchar unsigned char #define uint unsigned int #define w 6 //定义密码位数 //1602的控制脚 sbit lcd1602_rs=P2^7; sbit lcd1602_rw=P2^6; sbit lcd1602_en=P2^5; sbit Scl=P3^4; //24C02串行时钟 sbit Sda=P3^5; //24C02串行数据 sbit ALAM = P2^1; //报警 sbit KEY = P3^6; //开锁 sbit open_led=P2^2; //开锁指示灯(选配) bit operation=0; //操作标志位 bit pass=0; //密码正确标志 bit ReInputEn=0; //重置输入允许标志 bit s3_keydown=0; //3秒按键标志位 bit key_disable=0; //锁定键盘标志 unsigned char countt0,second; //t0中断计数器,秒计数器 void Delay5Ms(void); //声明延时函数 unsigned char code a[]={ 0xFE,0xFD,0xFB,0xF7}; //控盘扫描控制表 //液晶显示数据数组 unsigned char code start_line[] = { "password: "}; unsigned char code name[] = { "===Coded Lock==="}; //显示名称 unsigned char code Correct[] = { " correct "}; //输入正确 unsigned char code Error[] = { " error "}; //输入错误 unsigned char code codepass[] = { " pass "}; unsigned char code LockOpen[] = { " open "}; //OPEN unsigned char code SetNew[] = { "SetNewWordEnable"}; unsigned char code Input[] = { "input: "}; //INPUT unsigned char code ResetOK[] = { "ResetPasswordOK "}; unsigned char code initword[] = { "Init password..."}; unsigned char code Er_try[] = { "error,try again!"}; unsigned char code again[] = { "input again "}; unsigned char InputData[6]; //输入密码暂存区 unsigned char CurrentPassword[6]={ 1,3,1,4,2,0}; //管理员密码(只可在程序中修改) unsigned char TempPassword[6]; unsigned char N=0; //密码输入位数记数 unsigned char ErrorCont; //错误次数计数 unsigned char CorrectCont; //正确输入计数 unsigned char ReInputCont; //重新输入计数 unsigned char code initpassword[6]={ 0,0,0,0,0,0}; //输入管理员密码后将密码初始为000000 ![在这里插入图片描述][5450dc7963424ffdb5e08f6f4e7fd34a.png_pic_center] ![在这里插入图片描述][9cbb110250af4924b2efac5d075ab73f.png_pic_center] ![在这里插入图片描述][0e520fb010e74892a08416cd6cbaff36.png_pic_center] ![在这里插入图片描述][bffa94df3c2b4ea6b876ac5704ed8d87.png_pic_center] ![在这里插入图片描述][468a39caf61846eaa4425c0d8eb2087d.png_pic_center] ![在这里插入图片描述][64d554c46b9d4f519d349bf6b7c11372.png_pic_center] ![在这里插入图片描述][d5b429fbd6d54f96b94c24f62f4460c1.png_pic_center] ![在这里插入图片描述][a8dca203df65400893abdb65e5cec6f5.png_pic_center] ![在这里插入图片描述][e66f82e071a849a0a5fe2ce20b22b7cf.png_pic_center] [7f24dafbea43424285fc9d8fd8fb0fbb.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/50c7ebc6e12d459c916104b43c4a2f22.png [5450dc7963424ffdb5e08f6f4e7fd34a.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/2aadeef29bf846828bccbf9a1e4a3ce3.png [9cbb110250af4924b2efac5d075ab73f.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/78bc518ad5d344e4a6ea500018e032db.png [0e520fb010e74892a08416cd6cbaff36.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/b94d596ab7f447e2a8c72c45283b6239.png [bffa94df3c2b4ea6b876ac5704ed8d87.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/e790df562b894371a28a795c054097b9.png [468a39caf61846eaa4425c0d8eb2087d.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/f2caadd392684a3fa8f360c2acfe6617.png [64d554c46b9d4f519d349bf6b7c11372.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/24bbf59bcf1a431e9f03262b399fe777.png [d5b429fbd6d54f96b94c24f62f4460c1.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/c584eae988b2419e882b18d94ba11aa3.png [a8dca203df65400893abdb65e5cec6f5.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/76b4db41fa814a6da51df1211e5679f0.png [e66f82e071a849a0a5fe2ce20b22b7cf.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/31/a397531db10246d48a1e99b8b4404b96.png
还没有评论,来说两句吧...