毕业设计 基于51单片机的电子密码锁的设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的电子密码锁的设计

1 密码锁硬件电路设计

1.1 STC89C52最小系统设计

单片机是电子密码锁控制系统的核心控制器件,设计中选择了STC89C52单片机,这是一款可以完美的兼容传统的51 单片机,无论从功能上还是从结构上都可以进行完整的替换,而且这款单片机的性价比非常的高,单片机FLASH的大小为8K,可以存放程序。单片机RAM大小为512字节。可用的I/O资源为32个,可以把这32个I/O端口分成P0、P1、P2和P3四组。STC89C52RC单片机是一款8位的单片机。特别要注意的是STC89C52RC单片机的P3端口是多功能端口,可以作为普通的I/O端口,可以做多为第二功能端口使用。STC89C52RC单片机的内核和传统的51单片机的一样,因此在功能上和传统的51单片机一样,而且程序和传统的51单片机都兼容,但是这款单片机的性能要不传统的51单片机强很多,执行的速度是传统51单片机的8-12倍[10]。STC89C52RC单片机在外形具有贴片封装和双列直插封装,对我们初学者来说可以采用直插形式的封装,封装为DIP-40直插形式,单片机的工作电压为5V,最大的晶振可以达到35MHz,使用串口的方式进行程序的下载。单片机功能简单,学起来非常的容易。单片机的引脚图如下图所示。

单片机引脚图

通过电容、晶振器件可以搭建出晶振电路,晶振电路能够不断的输出晶振信号给单片机,晶振信号可以驱动单片机工作、执行程序指令,晶振信号通过STC89C52RC芯片的第18引脚和第19引脚输入。如下图2-2所示是本次设计的晶振电路。

STC89C52单片机时钟电路

复位电路也是STC89C52RC处理器工作不可缺少的电路,单片机在程序执行进入死循环或者出现BUG的时候回卡死,此时如果内有复位电路单片机就必须要断电后才能在此执行,如下图2-3是本次设计的复位电路,当复位按键按下的时候单片机进入复位状态。

STC89C52单片机复位电路

单独的单片机芯片不能工作,必须要根据单片机的设计手册设计相关的配套电路后,STC89C52单片机才可以正常的工作,此时单片机可以运行下载的程序,晶振电路、复位电路是单片机最小系统的重要组成电路。STC89C52单片机的最小系统电路原理图如下图所示。

STC89C52单片机最小系统

1.2门锁密码输入电路设计

本次设计的电子密码锁,需要通过矩阵键盘输入密码,本次设计使用了4*4矩阵键盘,可以实现对门锁密码的输入、门锁密码的修改。电路图如下图2-5所示。矩阵按键的行控制线和单片机的P14-P17连接,矩阵按键的列控制线和单片机的P10-P13连接。通过行扫描和列扫描实现按键的是否功能。

按键电路

1.3 LCD液晶显示电路设计

本次设计中的电子密码锁具有一个液晶显示装置,可以显示密码锁的状态信息。设计中选择了LCD1602这款液晶实现。本次设计的电子密码锁的液晶显示电路如下图所示。

LCD1602液晶显示电路

1.4开锁驱动电路设计

电子密码锁在开锁和关锁的控制电路主要是通过单片机控制继电器来实现,通过继电器实现了密码锁开锁接口。继电器在控制上需要通过三极管进行驱动,如下图所示是电子密码锁的继电器开锁驱动电路,单片机的P2.2引脚和三极管Q3的基极连接,控制三极管导通或者关闭,当三极管导通的时候继电器的线圈会通电,此时继电器的触点会闭合,实现开锁控制。

密码锁驱动电路

1.5 报警电路设计

报警模块是本次设计的报警提示装置,当密码锁输入密码锁无后,能够通过蜂鸣器进行报警。这里采用的是蜂鸣器报警。报警电路通过单片机控制价三极管驱动蜂鸣器实现,单片机的P3.3引脚驱动三极管Q2导通或者关闭,实现蜂鸣器的发声控制。如下图所示。

报警电路连接图

1.6密码存储电路设计

本次的电子密码锁具有掉电存储功能,设计中采用AT24C02存储芯片实现,这样当系统掉电后密码信息也能正常的保存到AT24C02芯片中。本次设计中使用了AT24C02存储芯片实现,AT24C02是一款具有I2C接口的储存芯片,AT24C02存储电路的电路图如下图所示。

掉电存储电路

1.7 电源电路设计

电源主要是给电子密码锁供电,如下图2-10是整个系统的供电电路。系统USB接口的方式供电,其中SW1是电源开关,LED1 是供电指示灯。

电源电路

1.8本章小结

本章是本次设计的主要设计的章节,在本章中设计了系统的详细的硬件电路图,包括介绍了各个模块电路的作用和功能,使用protel99se绘图软件设计了系统的电路连接图。为后面的调试部分奠定了基础。

2 系统的调试与仿真

2.1系统硬件调试

硬件设计指的是和设计相关的硬件电路图的设计,因此硬件调试主要的功能就是设计的硬件电路图进行检查和功能调试,同时还包括硬件电路板焊接情况的调试,在硬件调试的过程中应用的最大的测量工具如电压表、电流表、示波器等检测设备。在进行硬件调试的时候可以按照如下的方式进行检测:

第一,将下载使用的所有的芯片的设计文档,通过文档和设计中的硬件电路图进行对比,明确每个芯片的引脚的连接是否正确,是否有电路图连接错误的地方,特别要注意芯片的VCC电源和地线GND连接是否有错误[15]。

第二,使用电烙铁、焊锡等设备根据原理图焊接相关的硬件电路板,在焊接的过程中一定要仔细认真,确保不出现虚焊和漏焊以及焊接错误等情况的发生。

第三,使用万用表、示波器等检测设备对焊接的电路板进行检测,通过万用表可以检测芯片的电压、电流和短路等情况,使用示波器可以测量芯片的波形输出,在每项测试都通过的情况下完成硬件调试。

2.2 软件调试

软件设计指的是对设计的软件逻辑进行C语言程序的设计,软件性能好的好坏会直接影响着系统的功能,因此软件调试在设计中也是非常重要的一个环节。在进行C语言软件调试的过程中我们主要使用了keil4编程和调试软件实现,可以实现对设计的C语言软件的语法检测、功能检测以及系统联调等功能的调试。软件调试的步骤如下:

第一,选择keil4编程环境,建立编程环境的工程文件,在工程文件中编写设计中使用的C语言程序代码;

第二,在建立好的Keil4工程文件下,使用Keil4中自带的程序编译功能对程序的C语言文件进行编译,通过“Build”按钮可以实现编译,在编译的过程中可以检测设计的C语言的语法是否正确,是否有未定义的变量或者程序代码。在输出窗口中可以查看相关的错误信息,根据错误的提示信息可以对应查找程序中的错误。

第三,使用keil软件的在线调试功能,记性系统的在线调试,在线调试的时候可以进行程序的单步仿真调试和全速运行功能进行调试。如下图4-1所示是keil4调试成功的界面。在界面上的输出窗口可以看到0错误和0警告。

keil编译程序成功

调试成功的C语言程序文件,需要下载到单片机中才能运行。因此我们需要选择单片机程序下载软件对程序进行下载,在设计中选择了一款一款常用的软件STC-ISP.exe,通过使用这款软件可以将在keil中生成的.hex 文件下载到单片机中。下载的过程如下:

第一,选择单片机型号,点击“打开程序”按钮加载hex文件;

第二,点击“Download/下载”按钮开始下载,在下载的过程中会提示给单片机上电

第三,上电后可以看到下载的进度条开始提示下载进度,下载成功后会提示校验OK,下载OK,以加密等信息。

如下图所示是单片机程序下载界面

单片机程序下载

2.3功能仿真演示

Proteus是一款非常好用的电路放着软件,可以进行硬件的设计和仿真、PCB图的设计,还可以进行硬件的仿真,硬件和程序联合仿真等操作。对于单片机的开发者来说proteus仿真软件非常的好用,可以说方便了单片机开发者,开发者在不需要制作电路板的情况下就能够通过仿真软件验证自己的程序的功能。大大的提高了开发者的开发效率。点击运行按钮后就可以开始软件和硬件的仿真联调。通过调试不但可以测试硬件的功能而且还可以测试软件的功能,达到共同仿真的目的。

在进行系统的仿真的时候可以按照如下的步骤进行:

第一步:首先在电脑上安装proteus仿真软件,安装完成后在电脑的程序中可以看到仿真软件Proteus 7 Professional。此时说明软件安装成功,可以正常使用。

第二步:双击Proteus 7 Professional软件,Proteus 软件会自动打开,在仿真软件中选择File”菜单下的“New Design…”选项,建立一个工程项目,之后再弹出的图纸界面中设置图纸尺寸,根据自己的实际电路图的复杂成都选择,本次选择A4纸。

第三步:添加所需要的选器件,添加方法非常的简单,只需要用鼠标点击上图中红圈中的“P”按钮,会弹出proteus软件的元器件库,在元器件库中选择需要的器件,点击添加按钮后该器件就会自动添加到工程的器件菜单下。

第四步:器件添加完毕后,将器件拖拽到项目的图纸中,用连接工具进行电路图的绘制和连接,连接完电路图后可以对电路图进行检查,检查是否有错误的地方。确保电路图的连接没有错误的地方。

第五步:添加编译好的程序文件,绘制好的电路图在没有程序的时候如果运行仿真按钮,会弹出提示信息,此时需要将.hex 文件下载到单片机中。双击仿真中的CPU,在界面上Program File:选项后的

中选择软件自动生成的.hex文件,进行加载。注意:程序的路径一定要选对。

第六步:运行仿真,点击“运行”按钮,图标为

电路图会开始进行仿真,此时通过电路图上的器件的状态就可以看到仿真的效果,例如如果有显示器在显示器件上可以看到显示的内容。如果想停止仿真,也可以点击软件左下角的“停止按钮”,图标为,此时proteus软件会停止仿真。

本次设计的电子密码锁,为了验证其功能使用了proteus仿真软件对电子密码锁的密码输入功能,密码错误报警功能进行了仿真。如下图4-3是系统的仿真原理图,液晶上提示InPut:**此时代表可以输入密码。

整机proteus原理图

根据上面液晶的提示,我们通过按键输入六位开锁密码,输完密码后电机“确认”按钮,如果密码正确,则门锁会打开,继电器开锁电路工作,门锁开锁指示灯点亮,代表开锁成功。如下图所示。

成功开锁界面

根据上面液晶的提示,我们通过按键输入六位开锁密码,输完密码后电机“确认”按钮,如果密码错误,则门锁不会打开,继电器开锁电路不工作,门锁开锁指示灯你点亮,此时蜂鸣器会发出医生报警,LCD1602液晶显示屏幕上会显示Password error cishu:01,代表输入错误密码1次,如下图所示。

密码输入错误界面

2.4本章小结

这是整个毕业设计最难的一个环节,遇到了许多问题。并且其中在调试部分中所涉及的问题是最让我记忆深刻的。通过调试,完成了设计的所有功能的测试,通过proteus仿真软件实现了对系统功能的测试。

如果你需要帮助、建议或解决问题,不要犹豫,可以随时向老师提问或寻求支持。专注于单片机的解决方案可以为你提供有关电子设计、嵌入式系统、编程和硬件方面的宝贵信息。无论你的问题涉及到哪个方面,都可以向老师咨询,以获得有针对性的建议和指导。祝愿你在单片机设计领域取得成功!

  • 21
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值