【毕业设计】11-基于单片机的电子密码锁设计(原理图+仿真工程+答辩论文+答辩PPT)

【毕业设计】11-基于单片机的电子密码锁设计(原理图+仿真工程+答辩论文+答辩PPT)

资料要求

包含此题目毕业设计全套资料:
原理图工程文件
原理图截图
仿真工程文件
源代码工程文件
答辩论文(低重复率),18046字
详情请私信!

任务书

主要研究内容:
基于51单片机作为主控,矩阵键盘、液晶显示器和密码存储等为外围电路,设计一个电子密码锁系统,并通过编程能够实现密码设置、密码修改、密码正确开锁、错误提示、报警等功能要求。

研究方法:
1.分析电子密码锁的结构,确定其功能要求;
2.对系统的硬件以及软件进行设计;
3.应用PROTEUS软件对电子密码锁的功能进行测试。

设计说明书

摘要

本次设计基于单片机的电子密码锁设计,电子密码锁需要实现密码锁的开锁、解锁、以及更改密码等功能,再通过LED灯和蜂鸣器辅助表示其状态等功能。需要使用51单片机及其外围电路组成控制系统。单片机最小系统、LCD1602显示器、键盘、AT2402储存器、蜂鸣器及其LED组合而成。
通过对当前关于锁的发展背景分析,确定系统功能实现。然后对系统的硬件与软件进行设计。整个系统是以模块化的形式设计电路的各个子电路为一个功能模块,最后汇总到一起组成的控制系统应用电路。软件设计同样是以模块化的形式编写程序,按照功能对软件驱动划分最后调用到主函数中。最后使用Proteus软件对系统仿真,通过对系统电路连接,并将程序导入到单片中,运行调试。
最后测试系统功能与系统稳定性,总结完成设计的相应功能,完成了本次的设计。

设计框架架构

在这里插入图片描述

在这里插入图片描述

前 言 1
第一章 绪论 2
第一节 电子密码锁的研究背景 2
第二节 电子密码锁的研究现状及趋势 3
一、研究现状 3
二、研究趋势 3
第三节 电子密码锁的研究意义 4
第四节 论文主要研究内容 4
第二章 电子密码锁的设计方案 6
第一节 系统的设计功能分析 6
第二节 电子密码锁的系统结构 6
第三节 本章小结 7
第三章 电子密码锁的硬件设计 8
第一节 单片机最小系统 8
第二节 矩阵按键电路 9
第三节 AT24C02电路 10
第四节 LCD1602显示器电路 11
第五节 蜂鸣器及LED电路 12
第六节 电源电路 13
第七节 系统的总电路 13
第八节 本章小结 14
第四章 系统的软件设计 15
第一节 编程软件的介绍 15
第二节 主程序设计 15
一、主程序设计流程 15
二、主程序源码 17
第三节 AT24C02程序设计 17
一、AT24C02程序流程设计 17
二、AT24C02程序 18
第四节 矩阵键盘程序设计 19
一、键盘输入板块的程序流程图 19
二、矩阵键盘程序 20
第五节 蜂鸣器报警及LED程序设计 22
一、报警器及其显示灯程序设计流程 22
二、蜂鸣器报警及LED程序源码 23
第六节 LCD1602显示程序设计 24
一、LCD1602显示程序设计流程 24
二、LCD1602程序源码 24
第七节 本章小结 25
第五章 系统仿真 27
第一节 仿真软件的介绍 27
第二节 系统仿真 28
一、仿真电路搭建 28
二、功能仿真 28
第三节 本章小结 31
结 论 33
致 谢 34
参考文献 35
附 录 36
一、英文原文 36
二、英文翻译 39
三、源代码 42

设计说明书及设计文件

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

源码展示

在这里插入图片描述

//退格
void password_back_answer()
{
	if(j>=0)
	{
		if(j==0)
		{
			password_save[0]=0;
		}
		else
		{
			password_save[--j]=0;
			lcd_wchar(1,10+j,'_');
		}
	}
}

//取消
void password_cancel_answer()
{
	uchar i;
	lcd_wstr(1,10,"______");
	for(i=0;i<j;i++)
	{
		password_save[i]=0;
	}
	j=0;
}

//密码正确
void succeed_answer()
{
	led_green=0;
	led_red=1;
	confirm_flag=0;
	fail_times=0;
	lcd_wcmd(0x01);
	lcd_wstr(0,0,"The password is");
	lcd_wstr(1,0,"right. Welcome!");
	lcd_delay(3000);
}

//密码错误,蜂鸣器报警
void fail_alarm()
{
	uint i;
	for(i=0;i<2000;i++)
	{
		DelayMs(1);
		beep=~beep;
	}
}
//密码错误
void fail_answer()
{	
	fail_times++;
	led_red=0;
	if(fail_times==3)
	{	
		fail_times=0;
		lcd_wcmd(0x01);
		lcd_wstr(0,0,"The password is");
		lcd_wstr(1,0,"wrong. Sorry!");
		fail_alarm();
		lcd_delay(3000);
		input_admin_password();
		ReadFromROM(read_password,6,6);
		password_confirm();
		if(confirm_flag)
		{
			led_green=0;
			led_red=1;
			confirm_flag=0;
			lcd_wcmd(0x01);
			lcd_wstr(0,0,"The adm code is");
			lcd_wstr(1,0,"wright. Welcome!");
			lcd_delay(3000);
			lcd_wcmd(0x01);
			lcd_wstr(0,1,"Do you want to");
			lcd_wstr(1,1,"show the code?");
			key=16;
			while((key!=confirm)&&(key!=password_cancel))
			{
				keydown();
			}
			if(key==confirm)
			{
				display_password();
				lcd_delay(6000);
				function_choose();
			}
			else
			{
				function_choose();
			}
		}
		else
		{ 
			lcd_wcmd(0x01);
			lcd_wstr(0,0,"The adm code is");
			lcd_wstr(1,0,"wrong. Sorry!...");
			fail_alarm();
			lcd_delay(3000);
			lcd_wcmd(0x01);
			lcd_wstr(0,0,"Lock is locked!!");
			lcd_wchar(1,2,':');
			lcd_wchar(1,5,':');
			lcd_wstr(1,9,"......");
			EA=1;
			while(count_second!=1)
			{
				display_initial_time();
			}
			count_second=0;
			lock_flag=1;
			while(lock_flag)
			{
				display_lock_time();
			}
			system_start();
		}
	}
	else
	{
		lcd_wcmd(0x01);
		lcd_wstr(0,0,"The password is");
		lcd_wstr(1,0,"wrong. Again...");
		lcd_delay(3000);	
		input_password();
		ReadFromROM(read_password,0,6);
		password_confirm();
		if(confirm_flag)
		{
			succeed_answer();
			function_choose();
		}
		else
		{
			fail_answer();
		}
	}	
}


  • 54
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
单片机6位数电子密码锁源码设计是基于单片机控制的密码输入和判断功能,可以实现锁的开关与密码的设置与改变。以下是一个简单的实现过程: 1. 硬件设计:基于该密码锁的电路设计需要包括单片机、键盘接口、显示屏、驱动电路和电源等部分。通过合适的布局设计和连接设计,保证各个模块能够正常工作。 2. 软件设计:基于C语言的单片机编程,通过读取键盘输入、判断输入密码是否正确等操作来实现密码锁的功能。具体步骤如下: a. 初始化:初始化单片机及外设,设置初始密码。 b. 输入密码:通过键盘输入6位数的密码,存储在单片机中。 c. 验证密码:将输入的密码与单片机存储的密码进行比较。如果密码匹配,显示屏显示"密码正确"并打开锁;如果不匹配,显示屏显示"密码错误"并保持锁的关闭状态。 d. 改变密码:在验证密码成功后,可以进入密码修改模式,通过输入新的6位数密码并存储到单片机中来改变密码。 3. PCB设计:基于软件设计和电路要求,通过软件工具进行PCB设计,包括布局、走线、添加电源和连接电路、引脚复用等。确保PCB电路板能够正常工作。 4. 仿真原理图设计:在PCB设计完成后,可以通过仿真软件进行仿真原理图设计。该步骤可以验证原理图的正确性,并通过仿真结果来检查电路是否符合设计需求。 因为字数有限,这里只给出了基本的实现步骤,实际的实现可能还涉及到更多的细节和优化的设计。希望这个回答对您有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cqtianxingkeji

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值