单片机电子密码锁课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机电子密码锁
课程设计
1
基于单片机的电子密码锁设计
一、设计要求和条件
1.1 设计要求
根据单片机开发板所提供的元件特性和硬件电路, 编写相关的程序, 经过实验开发板实现电子密码锁在LCD1602上显示的功能。
1.搭建proteus仿真电路图平台, 模拟单片机要实现的功能;
2.焊接单片机系统开发板;
3.编写程序, 实现密码锁相关功能;
4.下载并调试程序, 实现密码锁的具体功能。
1.2 设计目的
1.熟练掌握KEIL软件的使用方法;
2.熟练掌握PROTEUS软件的使用方法;
3.掌握单片机I/O接口的工作原理;
4.掌握中断系统的工作原理;
5.掌握液晶LCD1602的工作原理及编程方法;
6.掌握蜂鸣器的编程使用;
2
7.掌握行列式键盘的工作原理及编程使用方法;
8.掌握单片机的ISP下载使用方法。
1.3 功能概述
本设计是基于单片机的密码锁设计方案, 根据要求, 给出了该单片机密码锁的硬件电路和软件程序, 同时给出了硬件设计方案、软件流程图、C语言源程序及详细注释等内容, 由于单片机实验板上的矩阵键盘为3*3的, 则规定0-5号键为数字键, 6-8号键为功能键, 其中该密码锁的具体功能介绍如下:
(1)按”8”号键则输入密码, 初始密码为012345, 在LCD1602上显示密码值为”******”( 密码是保密的) , 输完6位后键盘就锁定, 在LCD1602上显示密码是否正确, 若输入的密码长度小于6位, 则1602等待密码输入。
(2)若密码输入正确后, 则绿色的发光二极管亮表示开锁, 而且1602上显示”you are right!”, 等待是否修改密码。
(3)密码输入错误时显示”code is wrong”, 接着会给你第二、第三次机会输入密码, 如果三次密码都错误时, 发出”叮咚”的报警声, 且红色报警指示灯不停闪烁, 按复位键清除报警。
3
(4)按”7”号键表示若密码不小心输入时, 能够删除输入错误的密码。
(5)按”6”修改密码, 要求输入原密码是正确的, 然后按该键后, 蓝色密码修改指示灯会亮, 而且1602上会显示”Input new code”, 输入正确要求再次输入, 两次输入一致提示”Modify right!!!”并返回主菜单。两次不一致时提示”Modify error!!!”, 然后返回主菜单。
二、硬件设计方案的论证
本系统整体主要划分为五大模块, 分别是由单片机最小系统、矩阵键盘、LCD显示、报警系统、指示灯电路等组成。单片机系统主要功能是对外部输入的数据进行处理, 显示电路将所要操作的步骤显示出来, 指导用户使用, 报警电路是对输入错误密码时的警告报警。系统能完成开锁、密码输入错误报警、密码删除、修改用户密码基本的密码锁的功能。若依据实际的实验板情况还能够添加遥控和掉电保护功能。
2.1 总体方案设计
本设计的具体总模块设计方案如下图( 1) 所示
4
图( 1) 硬件总方案模块框图
2.2 具体模块方案的设计
(3)主控芯片的方案选择
方案一: 采用硬件电路进行电子密码锁设计, 比如使用74LS112 双JK 触发器构成的数字逻辑电路控制方案, 该种方案能够实现基本功能, 而且优点是不需要软件编程, 但电路连接比较复杂, 关键在于不易实现自行设置密码的要求。
方案二: 单片机中的STC89C51是具有高性能和低功耗优点的
8位可编程控制器, 内核具有丰富的指令集和32个通用工作寄存器, 能够经过软件编程来实现电子密码锁设计中的各项要求和功能, 而且单片机的I/O 口也足够使用, 硬件电路连接比较简单。
综上所述方案论证, 本次电子密码锁系统设计的主控芯片选择
5