51单片机项目(5)——基于51单片机的密码锁设计(2)

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

1. 实践和应用能力提升:通过设计和开发51单片机密码锁,学生可以锻炼自己的实践能力和应用能力。他们需要理解密码锁的原理和工作方式,并将其应用在具体的项目中,提高问题解决和创新思维能力。

2. 综合学科知识的应用:51单片机密码锁涉及相关的电子电路、嵌入式系统和编程知识等多个学科领域。学生在课题中需要综合运用这些知识来设计和实现密码锁,从而加深对这些学科的理解和应用能力。

3. 学习项目管理和团队合作:完成51单片机密码锁课题需要进行项目计划、资源管理和团队协作等工作。学生可以通过这个课题学习项目管理技能和团队合作精神,提高自己的组织能力和沟通能力。

4. 创造力和设计思维培养:课题要求学生设计密码锁的外观、功能和用户交互界面等。通过课题,学生可以培养自己的创造力和设计思维,探索不同的设计方案,并将其实现在具体的产品中。

5. 理论与实践的结合:51单片机密码锁课题将理论知识与实际应用相结合。学生需要将课堂上学到的理论知识转化为实际的设计和实现,培养在真实场景中应用理论知识的能力。

6. 提高安全意识:密码锁涉及到安全和保密性的问题。通过设计和研究密码锁,学生可以提高对信息安全和保护隐私的意识,了解密码保护机制的原理和应用。

总之,51单片机密码锁课题有助于学生综合运用多个学科领域的知识和技能,提高实践能力和创新思维能力。同时,它也培养了学生的项目管理和团队合作能力,并提高对安全意识和信息保护的认识。最重要的是,这个课题为学生提供了一个实践和应用学习的机会,帮助他们将理论知识应用到实际项目中。

2.实现功能

本次实现的功能如下:
初始密码:123456    密码位数:6位
注意:掉电后,所设密码会丢失,重新上电时,密码恢复为原始的123456
与P1.0相连的8位发光LED点亮代表锁被打开;熄灭代表锁被锁上

程序功能:
          1、开锁:
          下载程序后,直接按六次数字123456(即代表密码123456),LED亮,锁被打开,输入密码时,
          六位数码管依次显示小横杠。
          2、更改密码:
          只有当开锁(LED亮)后,该功能方可使用。
          首先按下更改密码键,然后设置相应密码,此时六位数码管会显示设置密码对应
          的数字。最后设置完六位后,按下确认密码更改,此后新密码即生效。
          3、重试密码:
          当输入密码时,密码输错后按下重试键,可重新输入六位密码。
          当设置密码时,设置中途想更改密码,也可按下此键重新设置。
          4、关闭密码锁:
          按下上锁按键即可将打开的密码锁关闭。
          
功能测试:输入原始密码123456—按下更改密码按键—按0到9设置密码—按确认键
       密码更改—按上锁按键关闭密码锁—输入新的密码打开密码锁

仿真图如下所示

主函数代码:

void main(void)
{
	InitI2C();			   //初始化
	TMOD = 0x01;
	TH0  = (65535-2000)/256;
	TL0  = (65535-2000)%256; 
	EA=1;
	ET0=1;
	TR0=1;
	WritePassWord_Ini();
	ReadPassWord();
	//if(PassWord[0]==0xff) WritePassWord_Ini();
		
	while(1)
	{
		keyscan();
		shumima();
		yanzheng();
		if(allow)	 //验证完后,若allow为1,则开锁
		{
			Lock=0;GLED=0;RLED=1;
			if(!genggai)	wanbi=0;
		}
		else 
		{
			Lock=1;GLED=1;RLED=0;
			if(wanbi)
			{
				delay(500);
				beep=0;delay(500);beep=1;delay(500);
				beep=0;delay(100);beep=1;delay(200);
				beep=0;delay(100);beep=1;delay(200);
				beep=0;delay(100);beep=1;delay(200);
				beep=0;delay(100);beep=1;delay(200);
				beep=0;delay(100);beep=1;delay(200);
				beep=0;delay(100);beep=1;
				wei=0;wanbi=0;allow=0;
				a=16;b=16;c=16;d=16;e=16;f=16;
				new1=0;new2=0;new3=0;new4=0;new5=0;new6=0;
			}
			
		}
		if(genggai)	  //当S16更改密码键被按下,genggai会被置一
		{
			if(allow)	 //若已经把锁打开,才有更改密码的权限
			{
				while(!wanbi)	//当新的六位密码没有设定完,则一直在这里循环
				{
					delay(20);
				 	keyscan();
					shumima();
					if(retry|close)	 //而当探测到重试键S18或者关闭密码锁键S19被按下时,则跳出
					{	


![img](https://img-blog.csdnimg.cn/img_convert/e1f64aa657070c058c79475a7e09bb7a.png)
![img](https://img-blog.csdnimg.cn/img_convert/050845de827a5c0664c579540851793b.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**

**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**

大纲路线、电子书籍、讲解视频,并且后续会持续更新**

**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值