智能密码锁单片机课程设计
单片机数字密码锁课程设计报告

.专业:电子信息工程一、设计内容:数字密码锁二、设计要求:(一)基本要求1、利用889C51作为控制器组成一数字型码锁。
2、开锁动作用LED管模拟。
3、开锁代码由小健盘输入,且同时有4位LED显示器上显出来,当你输入的四位数字与原存的密码完全相同时,则将锁打开。
4、密码可由小键盘输入进行改写。
5、修改密码,必须在30秒内完成,否则将发出报警号。
6、锁门与否,可由一开关控制,每次按Enter键时,89C51根据此开关的状态决定锁住或打开。
(二)扩展功能1、键盘增加退格键、清除键和复位键。
2、三次输入密码不正确,系统将锁定,输入代码将无效。
按复位键后,将解除锁定。
三、设计所需硬件及结构图:(一)硬件:AT69C52,8255A,MAX232,2803,按钮键盘,电容,排阻若干(二)硬件结构图:6位数码管AT89C52 8255A小键盘发光二极管四、程序流程图五、软件软程序代码PA EQU 7CFFH;A 口地址PB EQU 7DFFH;B 口地址CTR EQU 7FFFH;控制字地址YR1 EQU 30H;密码存储单元YR2 EQU 31H;YR3 EQU 32HYR4 EQU 33HNEW1 EQU 45H;用户输入密码存储单元NEW2 EQU 46HNEW3 EQU 47HNEW4 EQU 48HLOCK_TIMES EQU 35HORG 0000HJMP START_00ORG 0100H ;START_00:MOV YR1,#1H;初始密码为1234 MOV YR2,#2HMOV YR3,#3HCLR 02HMOV YR4,#4H;修改MAIN:MOV IE,#86H;开定时器0和外部中断1的中断SETB IT1LCALL KEYJB 02H,START;已经开始计时就不要再开始了MOV 50H,#08H;若是12mhz来算则R7应为0FFH,R3应为0F4HMOV 51H,#06HMOV TMOD,#01H;定时器定时工作方式1MOV TH0,#15HMOV TL0,#0AHSETB 02H;开始计时标志置1SJMP STARTSTART:MOV DPTR,#CTRMOV A,#80HMOVX @DPTR,ACLR PSW.1 ;PSW.1是是否进入重设密码功能的标志位,为0则没进入;反之则进入。
电子密码锁单片机课程设计

电子密码锁单片机课程设计一、课程目标知识目标:1. 学生理解单片机的基本原理,掌握其编程方法;2. 学生掌握电子密码锁的工作原理,了解其电路组成;3. 学生了解数字输入输出接口的使用,能运用相关知识进行密码锁设计。
技能目标:1. 学生能运用C语言进行单片机编程,实现电子密码锁的功能;2. 学生能够运用仿真软件对设计的电子密码锁进行调试与优化;3. 学生能够运用所学知识,解决实际电子密码锁单片机课程设计过程中遇到的问题。
情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,提高学习积极性;2. 学生培养团队协作精神,提高沟通与协作能力;3. 学生培养创新意识,提高动手实践能力,增强自信心。
课程性质:本课程为实践性较强的课程,要求学生在理解理论知识的基础上,动手实践,完成电子密码锁单片机课程设计。
学生特点:学生处于高年级阶段,已具备一定的单片机编程和电子技术基础,具备独立思考和解决问题的能力。
教学要求:教师应注重理论与实践相结合,引导学生主动参与,培养学生的创新能力和实践能力。
在教学过程中,关注学生的学习进度和需求,及时调整教学策略,确保课程目标的达成。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高综合运用能力。
二、教学内容1. 单片机基础理论:包括单片机结构、工作原理、编程语言(C语言)等,对应教材第1章至第3章内容。
- 单片机内部结构及功能;- 单片机工作原理及指令系统;- C语言编程基础及单片机程序设计方法。
2. 电子密码锁原理与设计:包括密码锁电路组成、工作原理、设计方法等,对应教材第4章内容。
- 电子密码锁电路组成及各部分功能;- 电子密码锁工作原理及设计要求;- 数字输入输出接口的使用及编程。
3. 单片机编程与调试:包括编程环境搭建、程序编写、仿真调试等,对应教材第5章内容。
- 编程环境(如Keil)的安装与使用;- 单片机程序编写、编译、下载;- 仿真软件(如Proteus)的使用及调试技巧。
51单片机四位密码锁课程设计

51单片机四位密码锁课程设计51单片机四位密码锁是一种常见的电子锁,它使用51单片机作为控制核心,通过输入四位密码来控制锁的开关。
本文将介绍关于51单片机四位密码锁的课程设计。
我们需要明确设计的目标和要求。
本设计的主要目标是实现一个四位密码锁系统,并且需要满足以下要求:1.能够输入四位数字密码。
2.密码输入正确时,能够解锁并输出解锁信号。
3.密码输入错误时,不能解锁。
4.能够重置密码。
接下来,我们将详细介绍设计的步骤和实现。
1.硬件设计:在硬件设计方面,我们需要准备以下器件:- 51单片机-数码管显示模块-按键模块-继电器模块-电源模块2.软件设计:在软件设计方面,我们需要编写51单片机的程序,通过编程实现密码锁的功能。
以下是设计的主要步骤:-初始化:设置输入输出引脚,并初始化时钟和数码管显示。
-输入密码:设计密码输入的函数,通过按键模块获取用户输入的密码。
-检验密码:设计密码检验的函数,将用户输入的密码与预设的密码进行比对。
-解锁信号:如果密码输入正确,输出解锁信号,通过继电器控制开关,实现解锁。
-密码错误:如果密码输入错误,通过数码管显示密码错误的提示信息。
-重置密码:设计密码重置的函数,将新设置的密码保存。
3.程序流程:根据以上设计的步骤,我们可以得到以下主要的程序流程:-初始化引脚和时钟。
-设置初始密码。
-进入主程序循环。
-接收用户输入的密码。
-检验密码是否正确。
-如果密码正确,显示解锁信号并控制继电器解锁。
-如果密码错误,显示密码错误信息。
-进入下一次循环。
4.调试和测试:完成程序编写后,我们需要进行调试和测试。
在测试过程中,我们需要输入正确和错误的密码进行验证,检查程序是否能够正常运行,并且能够正确判断和处理用户输入的情况。
5.优化改进:如果在测试中发现问题或不足之处,我们可以对程序进行优化和改进。
例如,可以增加密码输入的最大尝试次数,增加延时等待时间,增加密码保护等功能。
总结:通过对51单片机四位密码锁的课程设计,我们学习了如何使用51单片机编写程序,实现密码锁的功能。
51单片机四位密码锁课程设计

51单片机四位密码锁课程设计
课程设计如下:
1. 首先,介绍51单片机的基本知识和密码锁的原理,包括输入和输出端口的使用方法。
2. 确定密码锁的功能需求,如输入密码、验证密码、更改密码等。
3. 设计密码锁的硬件电路,包括矩阵键盘、LCD显示屏和继电器等。
4. 编写51单片机的程序代码,实现密码锁的功能。
5. 进行硬件和软件的调试,确保密码锁功能正常。
6. 进一步扩展密码锁的功能,如增加报警器、记录错误密码次数等。
7. 进行综合实验,将密码锁与其他设备或系统结合起来使用,如与门禁系统、智能家居系统等。
8. 对课程设计进行总结和展示,包括电路图、程序代码和实验结果等。
9. 学生通过实验,掌握51单片机的基本原理、密码锁的设计方法和调试技巧。
10. 学生能够在实际应用中灵活运用所学知识,设计和实现各种密码锁系统。
以上为课程设计的大纲,可以根据具体的实际情况进行细化和调整。
单片机密码锁课程设计

单片机课程设计报告题目:电子密码锁系别:班级:姓名:学号:指导老师:时间:目录一系统总体设计方案 (2)1设计课题任务 (2)2 功能要求说明 (2)3 总体方案介绍及工作原理 (2)二方案选择 (3)1 控制器: (4)2 键盘模块: (4)3显示模块: (5)三硬件部分 (5)四软件部分 (7)五总结 (8)1 系统总体设计方案1.1 设计课题任务设计一个具有特定功能的密码锁。
该密码锁上电或按键复位后显示小数点,进入准备工作状态。
该密码锁设有系统原始密码000000。
1.2 功能要求说明密码锁主要实现的功能是:在输入的密码正确时驱动继电器开锁,但错误时,蜂鸣器发出警报音。
1.3 总体方案介绍及工作原理电子密码锁的总体功能原理是以AT89S51单片机为主要的控制核心,通过外接4*4矩阵式键盘作为信号源,七段数码管阵列,继电器,蜂鸣器作为提示音器件,单片机实时的去执行相应的功能。
CPU控制原理图如下图所示。
三、方案选择1、控制器:由于这个题目不是很复杂,使用8位的单片机就可以完成,这里我们选用价格便宜使用较为广泛的AT89S51单片机。
2、键盘模块:数字密码锁的设计肯定是离不开键盘的,这里根据题目的要求只需要一个自制一个4*4的小键盘就能够满足要求了。
键盘在整个设计中也是很重要的,这里我们使用的是行扫描的方法读取键盘的值,其程序流程图如下:行扫描的原理就是逐行对键盘进行扫描,先扫描第一行,如果没有健按下就继续扫描第二行直道某一行有键按下就跳出扫描重头再来,若是扫描完四行后都没有键按下就返回。
键盘扫描和显示如下:3、显示模块:显示的方法有很多,比较简单的就是数码管的显示,这样就需要数码管阵列。
显示函数与片选信号要调整好;四、硬件部分硬件连接图:图2图2是整个设计的硬件连接图,由图可以看到键盘接在P1口,数码管的数据端口接在P0口,其控制端口和两个指示灯都接在P3口,总体的电路结构不是很复杂。
五、软件部分既然硬件部分比较简单那主要的任务就在程序的编写上了,总体程序流程图如下:图3进入系统后,首先的界面是输入密码,密码对就驱动继电器开锁,否则驱动蜂鸣器发声。
单片机课程设计密码锁设计

单片机课程设计密码锁设计在当今社会,安全问题越来越受到人们的重视,密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。
本次单片机课程设计的任务就是设计一款基于单片机的密码锁。
一、设计要求本次设计的密码锁需要具备以下功能:1、能够设置和修改 4 位数字密码。
2、输入密码正确时,锁打开,并有相应的指示灯提示。
3、输入密码错误时,有错误提示,且错误次数超过 3 次则报警。
4、具备密码重置功能。
二、系统方案设计1、硬件设计单片机选型:选择 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
输入模块:采用 4×4 矩阵键盘作为密码输入设备,可方便地输入数字和功能按键。
显示模块:选用 1602 液晶显示屏,用于显示密码输入状态、提示信息等。
存储模块:使用 EEPROM 芯片 AT24C02 来存储密码,以保证断电后密码不丢失。
报警模块:当密码输入错误次数超过 3 次时,通过蜂鸣器发出报警声音。
2、软件设计主程序:负责系统的初始化、键盘扫描、密码输入处理、密码验证、显示控制等。
键盘扫描程序:检测矩阵键盘上的按键动作,并将按键值返回给主程序。
密码处理程序:包括密码设置、修改、存储和验证等功能。
显示程序:控制 1602 液晶显示屏的显示内容。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振为单片机提供时钟信号,复位电路用于系统的初始化。
2、矩阵键盘电路由16 个按键组成 4×4 矩阵,通过行线和列线的扫描来确定按键值。
3、显示电路1602 液晶显示屏通过数据总线和控制总线与单片机相连,实现数据的传输和显示控制。
4、存储电路AT24C02 通过 I2C 总线与单片机进行通信,用于存储密码数据。
5、报警电路蜂鸣器通过三极管驱动,当单片机输出高电平时,蜂鸣器发声报警。
四、软件程序设计1、主程序流程系统初始化,包括单片机端口初始化、液晶显示屏初始化、EEPROM 初始化等。
单片机电子密码锁课程设计

基于单片机的电子密码锁设计一、设计要求和条件1.1 设计要求根据单片机开发板所提供的元件特性和硬件电路,编写相关的程序,通过实验开发板实现电子密码锁在LCD1602上显示的功能。
1.搭建proteus仿真电路图平台,模拟单片机要实现的功能;2.焊接单片机系统开发板;3.编写程序,实现密码锁相关功能;4.下载并调试程序,实现密码锁的具体功能。
1.2 设计目的1.熟练掌握KEIL软件的使用方法;2.熟练掌握PROTEUS软件的使用方法;3.掌握单片机I/O接口的工作原理;4.掌握中断系统的工作原理;5.掌握液晶LCD1602的工作原理及编程方法;6.掌握蜂鸣器的编程使用;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”,接着会给你第二、第三次机会输入密码,如果三次密码都错误时,发出“叮咚”的报警声,且红色报警指示灯不停闪烁,按复位键清除报警。
(4)按“7”号键表示若密码不小心输入时,可以删除输入错误的密码。
(5)按“6”修改密码,要求输入原密码是正确的,然后按该键后,蓝色密码修改指示灯会亮,并且1602上会显示“Input new code”,输入正确要求再次输入,两次输入一致提示“Modify right!!!”并返回主菜单。
单片机密码锁课程设计

目录1 引言 (1)2主要元器件介绍 (2)2.1主控芯片AT89S51 (2)2.1.1 AT89S51性能简介 (2)2.1.2 AT89S51引脚功能说明 (3)2.2 LCD1602显示器 (5)2.2.1接口信号说明 (5)2.2.2主要技术参数 (5)2.2.3 1602基本操作步骤 (5)3系统硬件 (7)3.1设计原理 (7)3.2电路总体构成 (7)3.3键盘输入部分 (8)3.4 LCD1602显示 (8)4系统软件设计 (10)4.1主程序模块 (10)4.2按键功能模块 (11)4.3修改密码模块 (13)4.4开锁模块 (14)参考文献 (16)附录 (17)1引言锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁。
在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。
由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易破解。
随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工程学院课程设计课程名称单片机技术与应用课题名称智能电子密码锁专业自动化班级学号姓名指导教师晓秀、王迎旭2013年12月09日工程学院课程设计任务书课程名称单片机原理及应用课题智能密码锁设计专业班级自动化1191学生学号指导老师审批任务书下达日期2013年12月2日任务完成日期2013年12月15日目录第1章概述 (1)1.1 课题设计要求 (1)1.1.1 设计容: (1)1.1.2 设计要求: (1)1.2 课题设计目的及意义 (1)第2章系统总体设计方案与说明 (2)2.1 系统硬件设计框图 (2)2.2 系统硬件工作原理 (2)第3章硬件电路设计 (4)3.1 I/O端口分配表 (4)3.2 时钟电路设计 (4)3.4 显示电路设计 (5)3.6 报警电路设计 (6)第4章应用软件设计 (7)4.1 主程序流程图 (8)4.2 子程序流程框图 (9)4.2.1 判断密码子程序流程图 (9)4.2.2 上锁子程序流程图 (9)4.2.3 修改密码子程序流程图 (10)4.2.5 报警子程序流程图 (11)第5章系统仿真 (12)5.1 系统仿真 (12)第6章硬件调试与结果分析 (13)6.1 硬件调试 (13)6.2 系统性能与操作说明 (14)6.3 系统结果分析 (15)第7章系统设计总结 (16)致谢 (16)附录A 系统硬件电路原理图 (17)附录B 程序清单 (19)电气与信息工程系课程设计评分表 (35)第1章概述1.1课题设计要求1.1.1 设计容:本课题是要发设计一种基于单片机控制的智能电子密码锁,主要功能有:按用户使用要求可设置、修改密码,遥控或按键开锁,错误报警、显示等辅助功能。
①密码可设4~8位,并可在线修改并存储;②密码输错3次应有报警信号提示,并有特殊密码解除;③出开锁时外的时候,要求显示的是时间;④信号可以通过继电器输出。
1.1.2设计要求:⑴根据课题要求,确定智能电子密码锁的硬件;⑵进行系统的硬件设计;⑶完成必要的参数计算与元器件选择;⑷完成应用程序设计;⑸进行单元电路及应用程序的调试;1.2 课题设计目的及意义学会灵活运用单片机,包括编程、下载和运行等,学会使用keil和protues编程和仿真。
通过本次课题设计真正的掌握单片机的设计和运用技术。
学会IIC虚拟总线、矩阵键盘、LCD1602的编程方法及使用第2章系统总体设计方案与说明2.1 系统硬件设计框图根据本系统设计的要求,以STC89C52RC单片机为核心设计了LCD1602显示电路,按键电路,AT24C02的IIC虚拟总线电路,蜂鸣器报警电路,指示灯显示电路,继电器模拟开锁电路。
同时也包括了单片机的最小系统(复位电路、晶振电路、电源电路)。
图2.1 系统结构图2.2系统硬件工作原理系统由单片机最小系统、1602液晶显示电路、矩阵键盘按键、LED显示电路和蜂鸣器报警电路等组成本电路是由STC89C52RC单片机为控制核心,具有与8051系列单片机完全兼容的效果。
51单片机为CPU,进行对外围电路的控制,当有密码输入时,检测所输入的密码是否正确,如果正确则CPU发送信号给显示电路,显示解锁信息,同时继电器打开,指示灯亮,表示解锁。
如果密码错误,1602提示错误,如果输入三次密码错误,则报警,同时锁住键盘。
只有通过PC机才能解除警报。
在解锁状态下,可以查看用户信息。
当上锁时,显示时间,每次显示的时间都存入24C02,以便下次上锁继续从此时间显示,在这期间是不能输入密码的。
当输入密码的时候想取消上次操作,可以按下取消键撤销。
如果忘记密码,可以通过PC机初始化密码。
第3章硬件电路设计3.1 I/O端口分配表对于本系统设计的需求和图2.1的系统结构图,其端口分配如表3-1所示。
表3-1 I/O端口分配表P0.0~P0.71602 D0~D7P3.5 24C02 SDAP2.0~P2.7矩阵键盘P3.6 1602 E P3.2 1602 RS P3.7 蜂鸣器P3.3 1602 RW P1.7 LED和继电器P3.4 24C02 SCK RXD、TXD PC串口线3.2 时钟电路设计时钟电路是采用部时钟电路,晶体频率是采用12MHZ的石英晶体,两个30pf的陶瓷电容谐振,机器周期为1us。
分别接在单片机的18和19管脚,电路图如图3.2所示。
图3.2 时钟电路3.3复位电路设计该系统设计是采用的按键上电复位电路,其中电阻是采用10K,22uF 的电解电容,还有一个按键产生按键复位接在单片机机的第9管脚。
其电路图如图3.3所示。
图3.3按键上电复位电路3.4 显示电路设计本系统设计所用的是背光的液晶1602,其作用是显示用户的当前操作。
LCD1602是一个16列×2行的显示屏。
其中数据管脚D0~D7接单片机的P0~P3管脚,寄存器选择管脚RS接单片机的P3.2管脚, 读写管脚R/W接P3.3,使能管脚E接P3.6。
电源正极VDD和背光正极A接VCC,电源负极VSS和背光负极K接GND,对比度管脚VEE接一个电位器来调节对比度。
其电路图如图3.4所示(由于仿真图的原因图中的电源管脚、电位器、背光正负极为画出)图3.4 LCD1602液晶显示电路3.5 按键电路设计根据本系统设计的结构图,需要用到16个键,作用和功能分别为10个数字键、修改密码、查看用户信息、解锁、上锁、确定、撤销。
为了节省单片机的I/O口,采用4×4的矩阵键盘方式,即键盘组合方式是4行4列。
其中行由上到下依次接P2.0~P2.3,列由左到右依次接P2.4~P2.7。
其功能和作用如图3.5所示。
图3.5 矩阵键盘按键电路3.6 报警电路设计当密码输错三次时,系统要求产生一个报警信号,用一个蜂鸣器来实现这一功能。
由P3.7引出接NPN三极管来控制三极管的导通与截止,三极管的发射极接100Ω的电阻。
其电路图如图3.6所示。
图3.6 蜂鸣器报警电路3.7模拟开锁电路和指示灯电路设计根据本系统设计要求要以一个继电器模拟开锁开关,当开锁的时候就可以产生一个开锁的信号,由P1.7引出接继电器,同时接一个指示灯的阴极来表示已开锁。
其电路图如图3.7所示。
图3.7继电器模拟开关电路第4章应用软件设计根据本系统设计需要实现的功能,采用了模块化编程。
因此设计了主程序,还有若干子程序。
其中主程序负责扫描键盘,负责对键盘的输入的命令进入子程序进行处理。
所有的子程序包括判断密码子程序,上锁子程序,修改密码子程序,查看用户信息和报警子程序。
图4 软件设计总流程图判断密码子程序的算法:将原密码读出存在一个数组b中,也将其长度存在一个变量longth中,将输入的密码也存在一个数组a中。
当按下确定键,两个数组比较是否相等。
上锁子程序算法:启用定时器中断,定时一秒变量sec加一,然后判断秒是否到60,再判断分是否到60,之后就分秒时都存入24C02的地址20,21,22当中。
修改密码子程序算法:沿用判断子程序的算法,同时用变量step来记录执行到第几步。
查看用户信息算法:不停的显示几个用户信息。
报警子程序算法:错误三次将蜂鸣器接通,之后一直扫描是否接收到PC机解除警报的信号。
4.1主程序流程图用户输入密码,输入正确则开锁,错三次报警,接收到初始化信号则密码初始化为1234,判断是否按下了查看用户信息键,在密码输入正确的情况下观看用户信息。
图如下:图4.1 主程序流程图4.2 子程序流程框图4.2.1 判断密码子程序流程图图4.2.1判断密码子程序流程图4.2.2上锁子程序流程图图4.2.2上锁子程序流程图图4.2.3 修改密码子程序流程图4.2.4 查看用户信息子程序流程图图4.2.4 查看用户子程序流程图4.2.5报警子程序流程图图4.2.5 报警子程序流程图第5章系统仿真5.1系统仿真通过keil将源程序编译成16进制 HEX文件,再加入到C51单片机中。
如下图所示。
图5.1.1 未运行时的仿真图通过点击运行按钮之后,仿真图开始运行。
图5.1.2 运行之后的仿真图第6章硬件调试与结果分析6.1硬件调试将keil编译生成的HEX16进制文件下载到单片机中,实物图如下图6.1.1 正在输入密码图6.1.3查看用户信息图6.1.4 修改密码输入旧密码界面图6.1.5 修改密码输入新密码界面图6.1.6 修改密码成功界面图6.1.7 电脑初始化密码界面图6.1.8 电脑解除警报界面6.2 系统性能与操作说明该密码锁的密码长度随用户自己设定(12位以),中间输错数字时可以撤销上次操作。
在密码正确的情况下可以查看用户信息,在密码错误三次的情况下,蜂鸣器会报警,需要在电脑用正确的用户名才能解除警报。
当忘记密码时,可以通过电脑用正确的用户名把密码初始化。
软件程序中在设定密码的尾部加了个字符‘a’,作为一个简单的加密工作。
电源一接通,LCD1602液晶显示屏显示“Input Password”用矩阵键盘扫描的方式进行查询按键,当按下的“确定”键,密码与所设定的密码相符合时,LCD1602显示“Unlock”,同时继电器模拟接通,指示灯也亮表示解锁。
解锁状态按下“查看用户信息键”的时候,可以循环查看用户信息。
此时按下“解锁”键可以进入主界面,即输入密码的界面。
按下了“修改密码”键,LCD1602显示“Old Password”,即输入旧密码,密码正确是才开始修改密码,LCD1602显示“New Password”, 两次输入一样则设置成功,LCD1602显示“Set Success”和你所设定的新密码,下次要输入的密码则需要新密码才能解锁。
如果两次新密码设置不一样则表示设置不成功,LCD1602显示“Set fail”。
如果输入旧密码错误则显示“Error”,锁定键盘三秒后进入主界面。
按下了“上锁”键,则LCD1602显示时间(由于缺少DS1302等时钟芯片,所以用总共上锁了多少时间来模拟显示时间)。
在输入密码的过程中想取消上次所输入的一个数字时,按下“撤销”键,可以取消上次所输入的数字。
如果输出三次密码则蜂鸣器报警。
6.3 系统结果分析在实物的调试过程中,解除警报这个操作是我调试用的最长时间,刚开始每次解除警报之后,下次输入密码反应很慢,而且错三次之后不能准确报警,但是复位之后才能再次正确运行。
因此我就想到了用软件复位,通过定义ISP_CONTR的SWRET位置1,使单片机复位,完美解决以上问题。
在所有程序测试完成之后,以前还行,目前没有发现问题。
第7章系统设计总结本系统可以随意修改密码(12位数字以的数字),查看用户信息,上锁显示时间,可以撤销很多上次输入。
通过PC机才可以解除警报,当忘记密码时,可以用PC机初始化密码。