2024年最新51单片机项目(5)——基于51单片机的密码锁设计,物联网嵌入式开发基础学习教程

img
img

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

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

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

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被按下时,则跳出
					{	
						wanbi=1;
						break;
					}
				}
			}
		}
		if(ok)	  //更改密码时,当所有六位新密码均被按下时,可以按下此键,结束密码更改
		{		  //其他时间按下此键无效
			ok=0; wei=0;Lock=1;GLED=1;RLED=0;
			genggai=0;
			PassWord[0]=new1;PassWord[1]=new2;PassWord[2]=new3; //此时,旧的密码将被代替
			PassWord[3]=new4;PassWord[4]=new5;PassWord[5]=new6;
			WritePassWord();
			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(retry)	//当重试按键S18被按下,retry会被置位
		{
			retry=0; wei=0;wanbi=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(close)  //当关闭密码锁按键被按下,close会被置位
		{
			close=0;genggai=0;//所有变量均被清零。
			wei=0;	wanbi=0;
			allow=0;
			Lock=1;GLED=1;RLED=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;
		}
	}
}

3.功能演示视频

密码锁功能演示

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

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

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

et/topics/618679757)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值