单片机交流
登录
直播中
王艳
7年用户
1223经验值
私信
关注
[问答]
请问怎样去设计一种基于51单片机的密码锁?
开启该帖子的消息推送
51单片机
密码锁
怎样去设计一种基于51
单片机
的密码锁?如何对密码锁的开关进行
仿真
?
回帖
(1)
李荞
2021-7-16 15:13:05
本次的项目是基于51单片机的密码锁,适合用来作为课程设计
主要实现了:密码锁功能,通过矩阵按键输入密码,输入范围为0-F,共有四位;同时,也可以使用更改按键更改密码,在更改时需要输入原密码来进入更改模式,四位密码显示H标识,成功修改后,红绿指示灯会同时闪烁;在输入密码正确后,绿色指示灯点亮,舵机启动,模拟密码锁的打开过程;错误时则会红色指示灯亮起。
本项目的优点在于加入了舵机来仿真密码锁的开关,这就意味着这不是个单纯的仿真了,至少是在PCB打样焊接后,这是个可以使用的东西,而不是现在网上那些没法出东西的虚拟仿真!!
同时,这次的设计还加入了AT24C02,这是个IIC接口的EEPROM器件,通过这个内存芯片,我们就可以储存密码,这样就可以实现每次上电后,自动加载修改过后的密码。但是!!!由于Proteus的破解问题,在A版的仿真中,写入内存无法实现,但是实际在实物中可以实现,B版不包含掉电写入功能,初始密码均为1121。
本项目的文件夹里包含了两个版本的PCB,可以直接打样来制作实物
注意!!在PCB中有两个贴片电阻,这两个电阻的作用是防止舵机驱动芯片L298N的电流传感引脚直接接地,可以选择焊接0欧电阻,或者是选择使用一根飞线连接,但是不可以不焊接。相关文章解析:AD原理图编译ERROR:GND contains Output Pin and Power Pin objects
B版的设计也带有PCB,也是需要这两个电阻,不同点就在于不带有内存芯片,这对于一些要求较低的课设来说,可以有效的降低成本和难度,便于贴合实际设计能力。
部分代码如下所示:
void main() //主函数{ uchar i; uchar x;//存放内存读取的标识 uint temp1,temp2; EA=1; EX0=1; IT0=1; x=At24c02Read(1); if(x==3) { temp1=At24c02Read(4); temp2=At24c02Read(7); password[0]=smgduan[(temp1/10)]; password[1]=smgduan[(temp1%10)]; password[2]=smgduan[(temp2/10)]; password[3]=smgduan[(temp2%10)]; } while(1) { if((time==0)&&(state!=1)) //初始化状态 { LED_Green=1; LED_Red=1; for(i=0;i《4;i++) { disp=0xbf; //写入横杠 } } keys_scan(); //扫描有无按键按下 }} 本设计包含:Proteus仿真原理图、仿真设计;keil5的C语言代码;ad的原理图,PCB;产品说明书,所有代码都含有注释,这样便于理解,而且还有技术答疑!!
本次的项目是基于51单片机的密码锁,适合用来作为课程设计
主要实现了:密码锁功能,通过矩阵按键输入密码,输入范围为0-F,共有四位;同时,也可以使用更改按键更改密码,在更改时需要输入原密码来进入更改模式,四位密码显示H标识,成功修改后,红绿指示灯会同时闪烁;在输入密码正确后,绿色指示灯点亮,舵机启动,模拟密码锁的打开过程;错误时则会红色指示灯亮起。
本项目的优点在于加入了舵机来仿真密码锁的开关,这就意味着这不是个单纯的仿真了,至少是在PCB打样焊接后,这是个可以使用的东西,而不是现在网上那些没法出东西的虚拟仿真!!
同时,这次的设计还加入了AT24C02,这是个IIC接口的EEPROM器件,通过这个内存芯片,我们就可以储存密码,这样就可以实现每次上电后,自动加载修改过后的密码。但是!!!由于Proteus的破解问题,在A版的仿真中,写入内存无法实现,但是实际在实物中可以实现,B版不包含掉电写入功能,初始密码均为1121。
本项目的文件夹里包含了两个版本的PCB,可以直接打样来制作实物
注意!!在PCB中有两个贴片电阻,这两个电阻的作用是防止舵机驱动芯片L298N的电流传感引脚直接接地,可以选择焊接0欧电阻,或者是选择使用一根飞线连接,但是不可以不焊接。相关文章解析:AD原理图编译ERROR:GND contains Output Pin and Power Pin objects
B版的设计也带有PCB,也是需要这两个电阻,不同点就在于不带有内存芯片,这对于一些要求较低的课设来说,可以有效的降低成本和难度,便于贴合实际设计能力。
部分代码如下所示:
void main() //主函数{ uchar i; uchar x;//存放内存读取的标识 uint temp1,temp2; EA=1; EX0=1; IT0=1; x=At24c02Read(1); if(x==3) { temp1=At24c02Read(4); temp2=At24c02Read(7); password[0]=smgduan[(temp1/10)]; password[1]=smgduan[(temp1%10)]; password[2]=smgduan[(temp2/10)]; password[3]=smgduan[(temp2%10)]; } while(1) { if((time==0)&&(state!=1)) //初始化状态 { LED_Green=1; LED_Red=1; for(i=0;i《4;i++) { disp=0xbf; //写入横杠 } } keys_scan(); //扫描有无按键按下 }} 本设计包含:Proteus仿真原理图、仿真设计;keil5的C语言代码;ad的原理图,PCB;产品说明书,所有代码都含有注释,这样便于理解,而且还有技术答疑!!
举报
更多回帖
rotate(-90deg);
回复
相关问答
51单片机
密码锁
怎样
去
设计
一种
基于
51
单片机
的电子
密码锁
电路
2021-08-31
1425
怎样
去
设计
一种
基于
51
单片机
+LCD1602的数字
密码锁
呢
2022-01-26
1260
怎样
去
设计
一种
基于
51
单片机
的WIFI遥控防盗电子
密码锁
APP?
2021-07-16
1401
怎样
去
设计
一种
基于
单片机
的四位
密码锁
呢
2022-01-21
1123
关于制作
单片机
指纹
密码锁
2014-03-24
2218
怎样
利用矩阵键盘
去
制作
一种
密码锁
呢
2022-01-20
895
怎样
去
设计
一种
基于
单片机
的指纹识别电子
密码锁
2021-09-18
1545
怎么实现基于
单片机
的电子
密码锁
设计?
2021-11-04
1333
怎么实现基于STC
51
单片机
的
密码锁
设计?
2021-10-20
1201
如何利用
51
单片机
实现
密码锁
设计?
2021-11-04
1115
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分