多功能电子密码锁的设计与制作
创始人
2024-01-31 11:23:03

目 录
第一章 绪论 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所示:
在这里插入图片描述

图2.1 单片机控制密码锁原理图
可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案

#include 
#include
//宏定义
#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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
呼伦贝尔大草原在哪 呼伦贝尔天... 世界四大草原分别是:呼伦贝尔草原、那拉提草原、潘帕斯草原、锡林郭勒草原。其中内蒙古的呼伦贝尔大草原,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
重阳节是几月几日 24个传统节... 农历 节日1. 正月初一春节2. 二月初二祭社神:二月二既是龙抬头节也是土地公 诞辰,“土地 诞”也...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...