基于51单片机的三位电子密码锁
目录
具体实现功能
设计介绍
资料内容
全部内容
资料获取
具体实现功能
具体功能:
(1)按下“开”按键后,启动密码锁;
(2)密码由三位数字构成,初始密码为“123”,密码输入正确后,屏幕显示“欢迎回家”,LED灯亮,电机转动;
(3)输入密码错误后,屏幕显示“剩余xx次机会”,当连续输错5次后,锁定1min,蜂鸣器响10S。
仿真演示视频:
基于51单片机的三位电子密码锁-仿真视频
设计介绍
51单片机简介
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。
资料内容
仿真实现(protues8.7)
本设计利用protues8.7软件实现仿真设计,具体如图。
程序(Keil5)
本设计利用KEIL5软件实现程序设计。
主函数如下:
///
void main()//主函数
{uchar i,j,num1=0;SCON=0X50; //设置为工作方式1TMOD=0X21; //设置计数器工作方式2TH0=0X3C; //定时50msTL0=0XB0; ET0=1;TR0=0;EA=1; while(1){i=key_scan();//按键检测if(i==11)//开始{lcd_init(); // 初始化lcd_clear(0); // 清屏lcd_set_line(0); // 设置起始行为0mima_in();}if((i>0)&&(i<11))//读取按键{mima0[0]=mima0[1];//输入密码mima0[1]=mima0[2];mima0[2]=mima0[3];mima0[3]=i; //显示disp_xin(); }if(i==12)//OK{ num1=0;for(j=0;j<8;j++) //检验输入密码{if(mima0[j]-1==mima1[j]){num1++;} }if(num1>2)//密码正确{ times=0;zhengque=1;led=0; mima_yes();cishu=0;}else{times++;zhengque=0; }//清空密码mima0[0]=0;mima0[1]=0;mima0[2]=0;mima0[3]=0; disp_xin();if(times==1)//1次错误{mima_no();}if(times==2)//2次错误{mima_no1();}if(times==3)//3次错误{mima_no2();}if(times==4)//4次错误{mima_no3();}if(times==5)//5次错误{TR0=1;mima_lock();while(times==5);}}}
}
程序运行结果如图:
全部内容
全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、答辩PPT、开发资料、资料使用介绍、仿真视频、最小系统介绍视频等。
资料获取
https://docs.qq.com/doc/DT01zU0F5RVRzZGhB