基于单片机的电子密码锁设计(28页珍藏版)

《单片机电子密码锁课程设计.docx》由会员分享,可在线阅读,更多相关《单片机电子密码锁课程设计.docx(28页珍藏版)》请在新文库网上搜索。根据要求,给出了单片机密码锁的硬件电路和软件程序。

1、设计规范内容以单片机电子密码锁设计为基础。 1 设计要求和条件 1.1 设计要求。 根据单片机开发板提供的元件特性和硬件电路,编写相关程序,通过实验开发板实现在LCD1602上显示的电子密码锁。 功能。 1、建立proteus仿真电路图平台,对单片机要实现的功能进行仿真; 2、焊接单片机系统开发板; 3、编写程序实现密码锁相关功能; 4、下载并调试程序,实现密码锁的具体功能。 1.2 设计目的 1、掌握keil软件的使用; 2、掌握Proteus软件的使用; 3、掌握单片机I/O接口的工作原理; 4、掌握中断系统的工作原理; 5、掌握液晶屏LCD1602的工作原理及编程方法; 6、掌握蜂鸣器的编程和使用; 7.掌握行列式键盘的工作原理

2、了解工作原理和编程方法; 8、掌握单片机ISP的下载和使用方法。 1.3 功能概述 本设计是基于单片机密码锁的设计。 根据要求,给出了单片密码锁的硬件电路和软件程序。 同时给出了系统的硬件设计方案、软件流程图、C语言源程序及详细说明。 由于单片机实验板上的矩阵键盘为3*3,因此指定0-5键为数字键,6-8键为功能键。 密码锁的具体功能如下: (1)按“8”键输入密码。 初始密码为012345。LCD1602上显示的密码值为“*”(密码保密)。 输入6位数字后,键盘将锁定。 LCD1602 上会显示密码是否正确。 如果输入的密码长度小于6个字符,1602将等待密码输入。 (2) 如果密码输入正确,绿色LED灯亮起解锁,显示1602

3.“你说得对!” 并等待更改密码。 (3) 当密码输入错误时,将显示“Code Error”,然后您将有第二次和第三次输入密码的机会。 如果第三次密码错误,则会发出“叮咚”警报声,红色警报指示灯持续闪烁。 按复位键清除报警。 (4) 如果您不小心输入了密码,请按“7”删除错误的密码。 (5) 按“6”更改密码。 原始密码必须正确。 然后按此键,蓝色密码更改指示灯亮,1602上显示“输入新密码”。如果密码正确,则需要重新输入。 如果两次输入一致,会提示“修改正确!” 并返回主菜单。 如果两次不一致,会提示“修改错误!” 然后返回主菜单。 2、硬件设计方案论证整个系统主要分为五个模块,包括单片机最小系统、矩阵键盘、液晶显示器、报警系统、

4、指示电路及其他元件。 单片机系统的主要功能是处理外部输入数据。 显示电路显示要执行的步骤以指导用户。 当密码输入错误时,报警电路发出警告报警。 系统可以完成开锁、密码输入错误报警、删除密码、修改用户密码等功能。 还可以根据实验板的实际情况添加远程控制和断电保护功能。 2.1 总体方案设计 本设计具体总体模块设计方案如下图(1) 图(1)总体硬件方案模块框图 2.2 具体模块方案设计 1. 主控芯片方案选择方案 1:使用硬件电路设计电子密码锁,如74ls112双JK触发器组成的数字逻辑电路控制方案。 该方案可以实现基本功能。 优点是不需要软件编程,但电路连接较复杂。 关键是要满足自己设置密码的要求并不容易。 选项 2:微控制器 STC8

5、9C51是8位可编程控制器,具有高性能、低功耗等优点。 该核具有丰富的指令集和32个通用工作寄存器。 通过软件编程,可以实现电子密码锁设计中的各种要求和功能。 另外,单片机的I/O口充足,硬件电路连接也比较简单。 综上所述,电子密码锁系统的主控芯片是STC单片机的STC89C51,它负责对输入数据的采集、处理并发出相应的指令。 2.键盘模块选项选项1:可以选择独立连接的键盘。 采用独立连接的键盘,每个按键独立连接数据线。 正常情况下,所有数据线都接高电平。 当按下任意键时,其所连接的数据线将被拉低。 该方案在处理多个数据时,编程和硬件连接电路会比较复杂。 方案2:选择矩阵行列式键盘作为输入模块。

6. 矩阵行列式键盘由行和列组成。 键位于行和列的交叉点。 行和列连接到按键开关的两端,列线通过上拉电阻连接到高电平。 当没有按键操作时,该栏处于高级状态; 当按下按键时,相交处的行线和列线连接,列线电平状态将由连接到该行线的行线电平决定。 这次通过键盘输入的有各种数值。 矩阵键盘存储了大量的I/O端口,适合按键数量较多的场合。 综上所述,根据本次设计的单片机实验板,选用3*3矩阵键盘来完成密码值的输入。 键盘功能简单实用,如下图(2) (2) 矩阵键盘 3、显示模块方案方案一:主液晶屏采用LCD1602。 该液晶屏允许输入两行字母或数字。 这个功能比较简单,通用性强。本设计中需要显示数据值以及输入密码的各种功能

7. 提示。 采用LCD1602液晶屏作为显示模块更加直观。 如图(3)所示,显示更加直观。 图(3)LCD1602显示方案二:用数码管实时显示输入的密码值。 由于密码数量为6个,硬件电路连接线路复杂,连接引脚较多,导致观看不清晰、不直观。 通过以上两种方案的比较,本设计采用方案一。 4、报警模块方案选择方案1:1602用于显示特殊数字或字母来指示输入的密码是否正确或错误。 该方案也可以通过视觉方式表达。 方案二:声光双效报警。 如果密码输入错误,报警灯会闪烁,蜂鸣器会发出声音。 密码错误报警可以从多个角度发出。经过上述分析比较,采用方案2的开锁声光报警失败,如图(4)所示。 图(4)报警电路设计 5.报警释放模块。 该模块采用最新的单片机。

8.小系统的复位功能不仅可以保存I/O引脚,还可以重新输入密码。 该模块中蜂鸣器的作用是,当用户错误输入密码超过3次时,蜂鸣器会发出警报,并且键盘被锁定。 电路原理图如图(5) 图(5)复位电路 3、软件设计 软件设计主要包括主程序模块、键盘扫描模块、LCD1602显示模块、密码比较模块、开锁程序模块、报警模块等3.1 主程序模块 主程序主要完成液晶屏初始化并检查是否有按钮、来电显示、密码修改程序等,主程序流程图如图(6) 图(6)主程序框图 3.2 开锁程序模块 解锁程序流程图如图(8)所示。 图(7)解锁子程序模块 3.3 LCD1602 显示模块 系统采用LCD1602 来实现显示。初始化可参考LCD1602 用户手册。

9、对显示进行优化编程,即在编程中添加LCD1602驱动程序。 这里的驱动主要包括初始化函数、设置显示坐标、写字符函数和写字符串函数。 时钟界面显示时间操作,密码锁定界面主要显示提示信息和输入的密码。 当然,当输入密码数字时,输出并不显示而是用“*”代替。 LCD1602 的部分读写控制时序程序如下图(8)所示: 图(8)LCD1602 初始化 3.4 键盘扫描处理模块 该模块的功能如下:逐列扫描键盘的具体位置,并判断是否存在键盘扫描处理模块。键盘上的键被按下。 接下来,消除抖动、判断关闭键是否松开等。模块使用case语句来判断按键是否按下。 方法是:依次向行发送低电平,然后检查所有列行的状态。如果都是1,则按下的键不在该列; 如果

10、如果不是全部为1,则按下的按键一定在该列,并且该按键一定在与零电压平行线的交点处。 首先将Fe赋值给P2端口,然后扫描P2端口,然后与F8比较,看是否相等。 如果是,则不按任何键,如果不是,则按一个键,然后判断该键在哪一列,然后执行按键处理函数。 处理功能流程图如图(9)所示。 图(9)关键功能程序 4.系统调试 4.1 调试采用先单独调试各单元模块,再调试整机的方式,提高了调试效率。 (1)键盘测试,使用单片机在电路板上对3*3矩阵键盘进行编程调试,并在LCD上显示键盘锁对应的数字和功能。 调试成功后,通过编程器将程序写入芯片中。 (2)测试报警调试成功后,通过编程器将程序写入芯片。 (2)测试报警及开锁控制电路,通过矩阵键盘输入正确的开锁密码,锁灯亮; 当密码连续3次错误时,报警指示灯闪烁,蜂鸣器报警,键盘被锁定。 (3)显示电路用电位器测试1602液晶屏的对比度和背面

单片机

关于单片机和plc有什么区别?单片机的主要区别

2024-1-27 2:04:45

单片机

PLC与单片机的差别应该是什么?有什么区别?

2024-1-27 3:03:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索