突然在网盘资料里找到了大学毕业设计的资料,非常青涩,但是至少可以用,写出来就当给自己留个纪念。

一、题目选择

仔细想想,大学上的也不咋地,在校期间也没干啥有意义的事。不过大学四年都一直在做关于单片机的东西,参加了一下学校的机器人队,所以最后就做了一个基于单片机的项目,至于为啥做指纹锁,单纯是因为好奇这个东西。

二、系统设计

说起系统设计,最开始研究的时候是打算用STM32来写的,最后由于用的proteus软件版本比较低,里面没有stm32的芯片,但是学校还要求必须要有仿真,所以被逼无奈最后用了AT89C52芯片,后期又因为仿真的代码已经敲了好多,所以就彻底决定使用AT89C52芯片。
硬件需求:
芯片选择AT89C52,指纹模块:AS608,人机交互界面:LCD1602A,键盘:4*4矩阵键盘,数据存储芯片:AT24C02。还有一些杂七杂八的东西,芯片底座,IC座,杜邦线,按键,指示灯,蜂鸣器,洞洞板,USB转TTL……

1、系统流程图设计

三、系统仿真

采用Proteus软件,使用按键来模仿指纹是否验证成功。

四、程序设计

程序主要分为几个模块,按键模块——用来选择功能、密码输入,信息存储模块——24C02芯片,指纹模块——用于指纹录入、识别,人机交互界面——方便用户进行操作。

1、按键部分

按键模块主要有两种,一种是有上拉电阻的,还有一种是没有上拉电阻的,这两种在使用上的主要区别就是能否使用线反转法来判断按下的是哪个按键,由于购买的键盘没有上拉电阻,所以我采用了扫描法。

具体代码在此不做叙述,文末有下载链接。

2、24C02

为了使得项目更加切合实际,特意给该项目增加了AT24C02芯片,这是一种EEPROM芯片,这种芯片可以掉电保存数据,使得数据不会丢失。在这里大致介绍一下芯片引脚。
第一个是SCL行时钟信号引脚,这个引脚在检测到上升沿信号的时候,会将接收到的数据保存到自身对应的地址当中,在检测到下降沿信号的时候,会将对应地址当中的数据取出。第二个引脚是SDA串行数据输入/输出引脚,这个引脚的主要任务是实现数据的传输,该引脚在使用时是双向传输的,也就是说可以传入,也可以取出。剩下的引脚是地址脚A0、A1、A2,这三个引脚是地址输入引脚,在使用的时候通常与GND串联使用。在具体使用中,用户首先需要向芯片发送一个起始命令,这个命令需要将SCL端口设置为高,SDA端口由高到低变化,这个状态会被视为芯片的起始命令,在使用时,无论是读操作还是写操作,必须以起始命令开始。相对应的,芯片还有一个停止命令,用户需要将时钟信号引脚使能,SDA输入上升沿信号,芯片获取完一个数据后,停止命令会是芯片进入保持状态。在使用时,还有一个应答状态,这是因为数据在传输的时候,设备需要知道数据是从什么时候开始传输的,又是在什么时候结束的,在传输完一组8位的数据之后,芯片会返回一个数据,或者说是状态,当单片机在检测到这个状态的时候,单片机会判定该数据传输完成,从而可以执行下一个指令。

2、IIC通讯协议

I2C(Inter-integrated Circuit)总线常用于不同设备之间的短距离通信,在大多数的情况下,主要用于核心与外部设备之间的数据交换。I2C协议把传输的消息分为两种类型的帧:一个地址帧——用于MASTER指明消息发往哪个SLACVE;一个或多个数据帧——由MASTER发往SLACVE的数据(或由SLACVE发往MASTER),每一帧是8-bit的数据。注:协议要求每次放到SDA上的字节长度必须为8位,并且每个字节后须跟一个ACK位。数据在SCL处于低电平时放到SDA上,并在SCL变为高电平后进行采样。读写数据和SCL上升沿之间的时间间隔是由总线上的设备自己定义的,不同芯片可能有差异。在这里我们选用IIC协议对24C02芯片进行数据的读写。

权限管理

作为一个锁设备,权限管理是必须的。设计管理员模式进行指纹设置,密码设置是非常合理的。我采用了单独的密码作为管理员密码,与开锁密码进行分离。

可能遇到的问题

大家购买指纹模块的时候,店家会给指纹模块的代码,有部分人会遇到使用TTL与指纹模块直连的时候使用是正常的,但是使用店家给的代码会出错,我检查后发现是由于店家波特率部分的代码有问题,与指纹模块所需的波特率不匹配,需要自己更改使用。

https://download.csdn.net/download/qq_39558813/12994051

本文到此结束,希望大家毕业顺利,未来可期。

发现有很多人想要下载连接,csdn有点贵了,阿里云盘连接:https://www.aliyundrive.com/s/JraZpN58Lg6
更新一版地址,发现阿里和谐了压缩文件
https://www.aliyundrive.com/s/CgNvPpCJeWL

后续如发现链接失效,评论或私信留言链接失效即可
各位自取
ps:老代码了,好多东西我也忘了,大家可以找同学帮忙看看

基于51单片机的指纹锁设计(附带密码解锁)相关推荐

  1. 基于51单片机智能指纹锁设计

    资料编号:181 功能讲解: 本设计师以51单片机作为核心微控制器通过单片机串口通信发送指令控制指纹识别模块进行存贮指纹比对指纹的作业.具体工作原理如下 1.指纹登陆的过程 指纹登陆时通过51单片机发 ...

  2. 基于51单片机的指纹密码锁设计

    目录 具体实现功能 设计介绍 单片机介绍 设计思路 资料内容 原理图 程序 仿真实现 全部资料 具体实现功能 具体功能: 本设计采用STC89C52.AT89C52.AT89S52作为主控芯片,LCD ...

  3. 基于51单片机的指纹解锁自动开门

    基于51单片机的指纹解锁自动开门 目录 基于51单片机的指纹解锁自动开门 一.设计说明 二.总体设计思路 三.系统硬件设计 四.系统软件设计 五. 实物制作与现象 七.体会 一.设计说明 指纹解锁:手 ...

  4. 基于51单片机的指纹密码锁

    1.系统功能概述 本次分享的是一款基于51单片机的指纹识别电子密码锁系统,该系统以STC89C52单片机作为模块核心,通过串口通信控制指纹模块AS608实现录取指纹并存储指纹数据,并通过LCD1286 ...

  5. 单片机四路抢答器课程C语言设计,基于51单片机四路抢答器设计

    内容简介: 毕业设计 基于51单片机四路抢答器设计 共25页,9905字 随着经济水平的不断提高,人们在物质文明得到满足的同时更注重精神文明的追求,各种娱乐节目不断涌现,提高节目的质量尤为重要..本次 ...

  6. 基于51单片机的公交车安全智能检测系统、基于51单片机的金属探测仪控制设计、基于单片机的智能电子密码锁系统设计、基于51单片机酒精浓度检测仪设计【资料转发分享】

    630基于51单片机的公交车安全智能检测系统-设计资料 本资料是基于单片机的公交车安全监测系统 具有如下功能: 1.监测环境的温度,超标报警.可以设置上下限 2.监测是否有火灾以及有毒气体,超标报警, ...

  7. 基于单片机的智能电子密码锁系统设计-基于51单片机酒精浓度检测仪设计-基于单片机的水缸加热温控控制系统设计-基于单片机蓝牙技术的温室监测系统设计-基于单片机智能PWM调光灯系统设计【毕设方案】

    600基于单片机的智能电子密码锁系统设计-电路程序资料 本设计采用的是AT89C51单片机作为控制核心,控制外围电路工作的装置.在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核 ...

  8. 基于微型计算机系统的实时时钟设计,基于51单片机的实时时钟设计报告.doc

    基于51单片机的实时时钟设计报告 PAGE PAGE 24 课程设计(论文)任务书 信息工程 学 院 信息工程 专 业 (2) 班 一.课程设计(论文)题目 嵌入式课程设计 二.课程设计(论文)工作自 ...

  9. matlab ds18b20 单片机,基于51单片机ds18b20温度检测————设计报告.doc

    基于51单片机ds18b20温度检测----设计报告 课程名称: 微机原理课程设计 题 目: 温度检测课程设计 摘要 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为 ...

  10. 基于51单片机的电子时钟设计

    基于51单片机的电子时钟设计 0 功能介绍 1.从DS1302中读取时间显示 2.一共4个按键,按键1按下进入修改时间模式,再按下切换修改的时间变量,这个时候第2和3个按键就是修改时间变量的按键,修改 ...

最新文章

  1. 时序分析中的关键术语
  2. 10W学习笔记——查询之联接
  3. mysql把sql文件导入到数据库
  4. Oracle导入导出数据
  5. C#之out和ref区别
  6. 机器学习论文泛读总结
  7. 关于c语言的基本知识,第二章_关于C语言的基本知识.ppt
  8. Android开发笔记(二)颜色的使用
  9. Windows核心编程(笔记13) 第十六章--第二十六章
  10. ICEFaces Note(7)
  11. 2021江西高考成绩查询方式6,2021年江西高考成绩6月23日公布 多种查分方式
  12. 中子穿墙问题的MonteCarlo求解方法
  13. Codeforces.1051G.Distinctification(线段树合并 并查集)
  14. 讨论一道求质数的面试题
  15. win2003 ent 64 + mssql ent 64
  16. unity三维地形制作
  17. js/JavaScript获取IP地址的方法小结
  18. html 输入年份,判断是否是闰年
  19. 快速入门丨篇五:如何进行运动控制器输入/输出IO的应用?
  20. 大学python笔记整理_python学习笔记整理(一)

热门文章

  1. leetcode174.地下城游戏
  2. NGUI Sprite的各种Type(Simple、Sliced、Tiled、Filed、Advanced)
  3. 解决数据库数据粘贴到excel中换行、换列问题
  4. excel表格打印每页都有表头_excel技巧:excel表格打印后每页自动带标题、页眉页脚...
  5. 千图成像,手把手教你制作人像拼图效果
  6. 2019计蒜之道初赛第一场 A 商汤的AI伴游小精灵(DFS)
  7. 叮咚智能音箱使用体验:好看的皮囊千篇一律,有趣的灵魂万里挑一
  8. 盯盯拍CEO 罗勇现身云栖大会 畅谈车联网生态并发布全新产品mini3
  9. mysql建立spj_数据库概论——SQL练习一(SPJ零件问题)
  10. linux 卸载dnw命令,linux下使用usb2ram替代dnw