电子密码锁单片机课程设计

合集下载

基于单片机的电子密码锁设计课件

基于单片机的电子密码锁设计课件
3、硬件电路
3.5 晶振部分
根据实际情况,本设计中采用12MHZ做为系统的外部晶振,电容取值为20pF。
图3-6 晶振电路原理图
3、硬件电路
3.6 显示部分
为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示LCD1602取代普通的数码管来完成。其显示部分引脚接口如图3-8所示:
基于单片机的电子密码锁设计
1、系统结构分析
图1-1 系统结构框图
本设计系统主要由单片机芯片、电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分显示部分、报警部分、开锁部分组成。
AT 89S51
键盘输入
复位电路
密码存储电路
晶振电路
电源输入
显示电路
报警电路
开锁电路
选用单片机AT89S51作为本设计的主控芯片。 采用矩阵键盘进行功能按键的输入。 外接AT24C02芯片用于密码的存储与修改。 利用LCD1602液晶显示器进行显示。 利用蜂鸣器进行报警工作。
图3-3 键盘输入原理图
3.3 电源输入部分
3、硬件电路
密码锁主控制部分电源需要用5V直流电源供电,其电路如图3-5所示:
图3-4 电源输入电路原理图
3.4 复位部分 根据实际情况选择如图3-6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键。
3、硬件电路
图3-5 电源输入电路原理图
2、方案设计
3.1 存储芯片AT24C02
3、硬件电路
图3-1 AT24C02的电路接线图
3.2 矩阵键盘 采用4*4矩阵式键盘实现密码输入功能。 4*4键盘不但能完成密码的输入,还能作特别功能键使用,比如修改密码功能等。
3、硬件电路
图3-2 矩阵键盘

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电子密码锁HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】山东交通学院单片机原理与应用课程设计院(部):轨道交通学院班级:自动化121学生姓名:学号:指导教师:时间:—课程设计任务书题目电子密码锁设计系 (部) 轨道交通学院专业班级自动化121学生姓名学号06 月 01 日至 06 月 12 日共 2 周指导教师(签字)系主任(签字)年月日目录3.总体设计 (2)4密码比较模块 (6) (6) (8) (9)附录 (10)摘要设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。

在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。

利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。

关键词:单片机、密码锁、修改密码1.设计要求本实验将实现六位数的电子密码锁。

要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。

具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。

2. 按下“10”,开始则显示“Enter Please:”。

3. 随时可以输入数值,并在LCD上实时显示‘*’。

当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。

4. 按下“13”键,则表示确定键按下,进行密码对比。

如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。

基于单片机的电子密码锁

基于单片机的电子密码锁

基于单片机的电子密码锁第一章:引言电子密码锁是随着科技的不断进步,应用于各个领域的一种新型门禁系统。

相较于传统的机械锁具,电子密码锁具有更高的安全性与便捷性。

而基于单片机的电子密码锁,则是通过单片机作为核心控制器,通过输入正确的密码才能进行开锁操作。

本文旨在介绍基于单片机的电子密码锁的原理、设计和实现过程。

第二章:电子密码锁的工作原理2.1 单片机简介单片机是一种集成了微处理器、存储器和各种输入输出接口于一体的微型计算机系统。

它具有体积小、功耗低、性能稳定等特点,适用于各种电子设备的控制系统。

2.2 电子密码锁的组成部分基于单片机的电子密码锁由输入模块、控制模块、显示模块和输出模块组成。

输入模块用于输入密码,控制模块用于验证密码的正确性和执行开锁指令,显示模块用于显示相关信息,输出模块用于控制锁的状态。

2.3 电子密码锁的工作原理当用户输入密码时,控制模块将用户输入的密码与预设密码进行比较。

如果输入的密码正确,则控制模块发送开锁指令,输出模块解除锁的限制,用户可以开启门。

否则,控制模块继续等待用户输入密码。

第三章:电子密码锁的设计步骤3.1 系统需求分析根据实际应用需求,确定电子密码锁系统的功能、性能和外观设计等方面的要求。

3.2 硬件设计根据系统需求,设计硬件电路,包括输入模块、控制模块、显示模块和输出模块等。

3.3 软件设计基于单片机的电子密码锁需要编写适用的软件程序。

根据密码验证算法,编写程序实现密码的比较和开锁指令的发送。

3.4 电子密码锁的制作流程根据硬件设计和软件设计的结果,进行电子密码锁的组装和制作。

3.5 电子密码锁的测试与调试对制作完成的电子密码锁进行测试,包括考虑用户输入的密码是否正确、开锁是否正常、显示是否准确等方面的问题。

第四章:电子密码锁的功能与特点4.1 密码设置与管理用户可以根据需要设置密码,并进行密码的管理,包括密码的增、删、改等功能。

4.2 多种开锁方式电子密码锁可以支持多种开锁方式,例如密码开锁、指纹识别、刷卡开锁等。

51单片机四位密码锁课程设计

51单片机四位密码锁课程设计

51单片机四位密码锁课程设计51单片机四位密码锁是一种常见的电子锁,它使用51单片机作为控制核心,通过输入四位密码来控制锁的开关。

本文将介绍关于51单片机四位密码锁的课程设计。

我们需要明确设计的目标和要求。

本设计的主要目标是实现一个四位密码锁系统,并且需要满足以下要求:1.能够输入四位数字密码。

2.密码输入正确时,能够解锁并输出解锁信号。

3.密码输入错误时,不能解锁。

4.能够重置密码。

接下来,我们将详细介绍设计的步骤和实现。

1.硬件设计:在硬件设计方面,我们需要准备以下器件:- 51单片机-数码管显示模块-按键模块-继电器模块-电源模块2.软件设计:在软件设计方面,我们需要编写51单片机的程序,通过编程实现密码锁的功能。

以下是设计的主要步骤:-初始化:设置输入输出引脚,并初始化时钟和数码管显示。

-输入密码:设计密码输入的函数,通过按键模块获取用户输入的密码。

-检验密码:设计密码检验的函数,将用户输入的密码与预设的密码进行比对。

-解锁信号:如果密码输入正确,输出解锁信号,通过继电器控制开关,实现解锁。

-密码错误:如果密码输入错误,通过数码管显示密码错误的提示信息。

-重置密码:设计密码重置的函数,将新设置的密码保存。

3.程序流程:根据以上设计的步骤,我们可以得到以下主要的程序流程:-初始化引脚和时钟。

-设置初始密码。

-进入主程序循环。

-接收用户输入的密码。

-检验密码是否正确。

-如果密码正确,显示解锁信号并控制继电器解锁。

-如果密码错误,显示密码错误信息。

-进入下一次循环。

4.调试和测试:完成程序编写后,我们需要进行调试和测试。

在测试过程中,我们需要输入正确和错误的密码进行验证,检查程序是否能够正常运行,并且能够正确判断和处理用户输入的情况。

5.优化改进:如果在测试中发现问题或不足之处,我们可以对程序进行优化和改进。

例如,可以增加密码输入的最大尝试次数,增加延时等待时间,增加密码保护等功能。

总结:通过对51单片机四位密码锁的课程设计,我们学习了如何使用51单片机编写程序,实现密码锁的功能。

单片机课程设计 电子密码锁

单片机课程设计   电子密码锁

第1章设计目的1.利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。

2.我们这次的课程设计是以单片机为基础,设计出一个具有一定功能的电子密码锁。

3.掌握一些重要芯片的功能特性及使用方法,并能运用其组合成一个简单的单片机机应用系统。

4.锻炼同学们的动手能力和独立思考的能力,巩固理论知识,加深对课堂内容的理解。

5.培养同学们对单片机的兴趣,通过课程设计调动同学们的积极性,使更多的人将来能在单片机领域有所建树。

第2章设计要求及总体思路2.1设计要求1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密“12345”共5位密码。

2、密码的输入:采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。

在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。

然后进入密码的判断比较处理状态并给出相应的处理过程。

3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。

2.2 总体思路系统总体设计方案框图如下:图2-1一般而言,要实现相同的功能,硬件复杂的系统其软件一般较简单,而软件复杂的系统其硬件一般相对简单,本着经济性的原则,我们应该尽可能少用硬件,根据这个设计理念和设计要求,本单片机系统的设计思路如下:1)电子密码锁所用的数据的存储和运算用单片机来完。

2)因为没有专用的输入键盘,所以按键输入用计算器输入键盘代替。

按键密码从P3口输入。

3)用六位显示器显示五位密码,显示器选择动态扫描,用P0口作段控,用P2口作位控。

4)开锁信号从P1.1口输出,报警信号从P1.0口输出。

5) 按键分为功能键和数字键,具体如表2-1。

6)输入五位密码后按确认键,系统验证密码是否正确,若密码正确,则产生开锁信号,若接连三次输入错误密码,则产生报警信号。

7) 当错误输入某位密码时,可按删除键进行删除,也可按清零键对所输入的数进行整体清除。

单片机课程设计密码锁设计

单片机课程设计密码锁设计

单片机课程设计密码锁设计在当今社会,安全问题越来越受到人们的重视,密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。

本次单片机课程设计的任务就是设计一款基于单片机的密码锁。

一、设计要求本次设计的密码锁需要具备以下功能: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、MCU:选择一款高性价比的8位单片机,如AT89C51,具备足够的存储空间、操作速度和通用IO口。

2、键盘:选用16键或12键矩阵键盘,提供数字、字母和功能键,可灵活设置密码。

3、数码管:用于显示输入密码和状态信息,一般采用4位共阳数码管。

4、电路保护:此处需添加过流保护、短路保护、反向保护以及过压保护等电路。

5、电源:选择电池供电模式,例如4节AA碱性电池并联,以保证足够的电量和使用寿命。

软件部分:
1、键盘输入检测:通过IO口扫描矩阵键盘输入状态,检测按下的键位并读取对应键值,避免误触。

2、密码存储:将设定好的开锁密码存储在MCU内部的Flash或EEPROM中,以保证密码安全并避免意外丢失。

3、密码校验:将输入的数字密码与存储的密码进行比较,如一致则允许开锁,否则拒绝开锁并显示“密码错误”。

4、状态显示:通过4位共阳数码管显示输入密码、开锁状态、警报状态等信息,方便用户操作。

5、警报功能:若输入错误密码超过规定次数,则触发警报,并向指定手机号或邮箱发送警报信息。

总之,基于单片机的电子密码锁设计需要合理安排硬件和软件功能,充分保证安全性和可靠性,并考虑升级和扩展的可能性。

单片机电子密码锁课程设计

单片机电子密码锁课程设计

单片机电子密码锁课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握电子密码锁的基本工作原理。

2. 使学生掌握电子密码锁设计中涉及的编程知识,如C语言基础、寄存器操作等。

3. 帮助学生了解电子密码锁电路的组成,熟悉相关电子元器件的使用。

技能目标:1. 培养学生运用所学知识设计并实现一个简单的单片机电子密码锁的能力。

2. 提高学生动手实践能力,学会使用编程软件、烧录器和相关调试工具。

3. 培养学生团队协作和问题解决能力,学会分析电子密码锁故障并找出解决办法。

情感态度价值观目标:1. 激发学生对电子制作的兴趣,培养创新意识和动手能力。

2. 培养学生严谨的科学态度,注重实验数据和实验结果的准确性。

3. 引导学生关注单片机技术在日常生活中的应用,提高对科技的认识和热爱。

本课程针对高年级学生,他们在之前的学习中已经具备了一定的电子和编程基础。

因此,课程设计将注重实践操作,以项目为导向,让学生在动手实践中巩固知识,提高技能。

通过本课程的学习,学生将能够独立设计并实现一个具有实用价值的单片机电子密码锁,提升解决实际问题的能力。

二、教学内容1. 单片机基础原理:回顾单片机的组成、工作原理,重点讲解51单片机的内部结构、时钟电路和复位电路。

教材章节:第三章《单片机原理与接口技术》2. C语言编程基础:介绍C语言在单片机编程中的应用,讲解数据类型、运算符、控制语句等基本语法。

教材章节:第四章《单片机C语言编程》3. 电子密码锁原理:讲解电子密码锁的基本工作原理,分析锁体的电路组成和功能。

教材章节:第七章《单片机应用实例》4. 硬件设计:学习并设计电子密码锁的硬件电路,包括键盘输入、显示模块、锁驱动电路等。

教材章节:第五章《单片机接口技术》5. 软件设计:编写电子密码锁的控制程序,实现密码输入、校验、开锁等功能。

教材章节:第四章《单片机C语言编程》6. 系统调试与优化:学习使用调试工具,对电子密码锁系统进行调试和优化。

单片机课程设计密码锁

单片机课程设计密码锁

单片机课程设计密码锁一、课程目标知识目标:1. 理解单片机的基础知识,掌握其基本原理和编程方法;2. 学习并掌握密码锁的原理与设计,能够运用单片机实现密码锁功能;3. 了解并掌握相关传感器和执行器的使用,实现密码锁的输入和输出控制。

技能目标:1. 能够运用所学知识,设计并编写出实现密码锁功能的单片机程序;2. 掌握使用相关调试工具,对单片机程序进行调试和优化;3. 提高学生的动手能力,培养实际操作中解决问题的能力。

情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养创新意识和实践精神;2. 培养学生团队协作精神,学会与他人共同解决问题;3. 引导学生关注科技发展,了解单片机在现实生活中的应用,增强社会责任感。

课程性质:本课程为实践性较强的课程,旨在通过单片机实现密码锁的设计与制作,让学生在动手实践中掌握单片机知识。

学生特点:学生处于高年级阶段,已具备一定的单片机基础,对实际应用有较高的兴趣。

教学要求:结合学生特点和课程性质,注重实践操作,强调理论知识与实际应用相结合。

通过课程学习,使学生能够独立完成一个具有实际应用价值的单片机项目。

在教学过程中,关注学生的学习进展,及时调整教学策略,确保课程目标的实现。

将目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. 单片机基础知识回顾:C语言编程基础,单片机工作原理,I/O口编程。

教材章节:第一章单片机基础。

2. 密码锁原理与设计:- 密码锁的组成和工作原理;- 矩阵键盘原理与编程;- 密码比对算法;教材章节:第三章输入输出接口,第六章矩阵键盘。

3. 单片机与外部设备接口:- 传感器与执行器的应用;- 单片机与继电器、电磁锁等执行器的连接;教材章节:第四章传感器与执行器,第五章单片机与外部设备接口。

4. 程序设计与调试:- 程序结构设计;- 程序编写与调试;- 优化程序性能;教材章节:第七章程序设计与调试。

5. 实践操作:- 搭建电路,连接硬件;- 编写程序,实现密码锁功能;- 调试与优化;教材章节:实践操作部分。

单片机密码锁课程设计

单片机密码锁课程设计

单片机密码锁课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本原理,掌握密码锁设计的硬件组成和工作原理。

2. 学生能够运用C语言编写简单的程序,实现密码锁的功能。

3. 学生了解密码锁的安全性,掌握基本的安全防护措施。

技能目标:1. 学生能够独立完成单片机密码锁的硬件连接,具备实际操作能力。

2. 学生能够运用所学知识,编写和调试程序,实现密码锁的开锁和关锁功能。

3. 学生能够通过小组合作,分析问题,解决问题,提高团队协作能力。

情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新精神。

2. 学生树立安全意识,认识到技术在实际应用中的重要性。

3. 学生在团队协作中,学会尊重他人,提高沟通表达能力。

课程性质:本课程为实践性课程,结合理论知识,培养学生的动手操作能力和实际应用能力。

学生特点:学生处于初中阶段,对新鲜事物充满好奇,具备一定的逻辑思维能力,但实践经验不足。

教学要求:教师需注重理论与实践相结合,引导学生主动探究,关注学生的个体差异,提高学生的实践操作能力。

在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。

1. 理论知识:- 单片机原理与结构:介绍单片机的基本组成、工作原理及功能。

- C语言基础:讲解C语言的基本语法、数据类型、运算符、控制结构等。

- 密码锁原理:分析密码锁的硬件组成、工作原理及安全性。

2. 实践操作:- 硬件连接:指导学生完成单片机、键盘、显示模块等硬件的连接。

- 程序编写:教授学生编写密码锁程序,实现开锁、关锁等功能。

- 调试与优化:引导学生分析程序运行过程中出现的问题,并进行调试和优化。

3. 教学大纲:- 第一周:单片机原理与结构学习,C语言基础学习。

- 第二周:密码锁原理学习,讨论密码锁的安全性。

- 第三周:硬件连接,小组合作进行程序编写。

- 第四周:程序调试与优化,总结与反思。

4. 教材章节:- 单片机原理与结构:教材第1章。

- C语言基础:教材第2章。

单片机电子密码锁课程设计

单片机电子密码锁课程设计

单片机技术及应用综合训练(设计报告)前言随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。

在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。

本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E²PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。

它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。

用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。

本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。

关键词:电子密码锁、报警、液晶显示目录一、选题要求 (1)二、硬件电路设计 (1)2.1 51单片机 (2)2.2 键盘电路 (2)2.3 液晶显示电路 (2)2.4 警报电路 (3)2.5 密码储存电路 (3)2.6 晶振、复位及关锁 (3)三、软件设计 (4)四、软硬件调试结果 (9)4.1 电路总原理图 (9)4.2 调试结果 (10)五、总结 (11)一、选题要求本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为0~9,用户可以自行设定和修改密码。

用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警,期间输入密码无效,以防窃贼多次试探密码。

6位密码同时输入正确,锁才能打开。

锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。

其特点如下:1) 保密性好,编码量多,远远大于弹子锁。

随机开锁成功率几乎为零。

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

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

基于单片机的电子密码锁设计一、电子密码锁的工作原理电子密码锁主要由输入模块、控制模块、存储模块和执行模块组成。

用户通过输入模块(如键盘)输入密码,控制模块(单片机)对输入的密码进行处理和判断,并与存储模块中预先设定的密码进行比对。

如果输入密码正确,控制模块将向执行模块发送开锁指令,实现开锁;如果输入密码错误,则执行相应的错误处理操作,如报警、锁定等。

二、硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机。

该单片机具有性能稳定、功耗低、接口丰富等优点,能够满足电子密码锁的控制需求。

(二)输入模块输入模块采用了矩阵键盘,通过行列扫描的方式获取用户输入的密码。

矩阵键盘具有按键数量多、占用端口少的特点,能够有效节省单片机的资源。

(三)存储模块为了存储预设的密码,选用了_____型号的EEPROM芯片。

EEPROM具有掉电不丢失数据的特性,能够保证密码的安全性和可靠性。

(四)显示模块为了给用户提供反馈信息,使用了_____型号的液晶显示屏。

可以显示开锁状态、输入错误提示等信息。

(五)执行模块执行模块包括电磁锁和报警装置。

当输入密码正确时,单片机控制电磁锁打开;当输入密码错误次数超过设定值时,启动报警装置。

三、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、EEPROM读取预设密码等。

然后进入密码输入等待状态,当检测到有按键输入时,进行密码处理和判断,并根据判断结果执行相应的操作。

(二)密码输入处理在密码输入过程中,对输入的按键进行去抖处理,防止误判。

同时,对输入的密码进行加密处理,提高密码的安全性。

(三)密码比对将输入的密码与存储在EEPROM中的预设密码进行比对。

比对过程中,采用逐位比较的方式,确保密码的准确性。

(四)错误处理当输入密码错误时,记录错误次数。

如果错误次数超过设定值,则启动报警装置,并锁定键盘一段时间,防止暴力破解。

四、系统调试与测试(一)硬件调试首先检查电路连接是否正确,有无短路、断路等情况。

基于单片机的电子密码锁的课程设计

基于单片机的电子密码锁的课程设计

基于单片机的电子密码锁的课程设计随着科技的发展,电子密码锁在日常生活中得到越来越广泛的应用。

电子密码锁具有安全性高、易于操作、使用方便等优点,受到了广泛的欢迎。

因此,在大学的课程设计中,基于单片机的电子密码锁也成为了一个热门的课程设计课题。

本文将介绍这个课程设计的步骤、具体内容和实现方法。

一、课程设计的步骤课程设计步骤主要包括需求分析、电路设计、程序设计和实验验证。

在需求分析阶段,需要明确电子密码锁的基本功能与操作流程,包括输入密码、判断密码正确性、开关门等。

在电路设计阶段,需要考虑到电路的可靠性、安全性以及实现的复杂度等因素。

在程序设计阶段,需要编写代码和测试程序。

在实验验证阶段,需要将课程设计投入实际应用,并测试其功能、稳定性等指标。

二、课程设计的具体内容1.硬件设计硬件设计主要包括电路设计和元器件选择两个部分。

电路设计主要包括输入密码电路、密码储存电路、密码判断电路和驱动开锁电路等。

元器件选择主要包括单片机、键盘、LCD屏幕和驱动芯片等。

2.软件设计软件设计主要包括系统流程设计、密码的输入和储存、密码的判断和开锁等功能的编写和测试。

3.系统整合系统整合是将硬件和软件组合到一起,实现功能的完整性并检测系统的稳定性和实用价值。

三、实现方法1.铁电非易失存储器电子密码锁需要存储用户密码信息,可以使用铁电非易失存储器来实现密码数据的存储和读取,铁电非易失存储器比普通存储器更加安全和稳定。

2.芯片加密在硬件电路的设计中,可以使用芯片加密的技术来提高电子密码锁的安全性。

通过软件和加密芯片相结合,可以防止非法破解和恶意攻击。

3.矩阵键盘在电子密码锁输入密码时,可以使用矩阵键盘来实现。

矩阵键盘的输入方式相比普通电子锁更加安全和方便。

综上所述,基于单片机的电子密码锁的课程设计不仅可以提高学生的电子技术和程序设计能力,还可以实现实用价值,为社会贡献力量。

电子密码锁单片机课程设计

电子密码锁单片机课程设计

课程设计任务书课程名称单片机原理及应用课题基于单片机的密码锁设计专业班级测控技术与仪器0601班任务书下达日期 2014 年 2 月 24 日任务完成日期2014 年 3月 7 日第1章系统概述1.1系统功能 (1)1.2设计内容及要求 (1)第2章系统方案设计2.1总体方案 (2)2.2系统组成 (2)第3章硬件设计3.1按键电路设计 (9)3.2指示灯及报警蜂鸣器的电路设计 (9)3.3显示电路设计 (10)第4章软件设计4.1主程序设计 (11)4.2按键识别与编码设计 (11)4.3显示程序设计 (13)4.4密码修改程序设计 (15)第5章系统调试5.1软件模拟调试 (16)5.2硬件接线及调试 (17)第6章总结6.1课程设计总结 (18).附:A、硬件图B、主程序流程图C、程序清单第1章系统概述1.1系统功能本次设计使用ATMEL公司的AT 80C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1)设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。

(2)密码可以由用户自己修改设定(只支持6位密码),锁打开后才能修改密码。

(3)状态指示、报警、锁定键盘功能。

密码输入正确时有GOOD提示信息、密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘,并且相应的有指示灯指明状态。

电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。

另外系统还有LED提示灯,报警蜂鸣器等。

1.2设计内容及要求(1)密码的设定,此密码是固定在程序存储器ROM中,假设预设的密为“12345”共5位密码。

(2)密码的输入:采用两个按键来完成密码的输入,其中一个按键为功能键另一个按键为数字键。

在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。

然后进入密码的判断比较处理状态并给出相应的处理过程。

(3)按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南工程学院课程设计课程名称单片机原理与应用课题名称电子密码锁设计专业班级学号姓名指导教师2013 年 5 月31 日湖南工程学院课程设计任务书课程名称单片机原理与应用课题电子密码锁设计专业班级学生姓名学号指导老师审批任务书下达日期2013 年 5 月27 日任务完成日期2013 年6 月05 日目录第1章系统概述1.1系统功能 (7)1.2设计内容及要求 (7)第2章系统方案设计2.1总体方案 (7)2.2系统组成 (8)第3章硬件设计3.1按键电路设计 (8)3.2指示灯及报警蜂鸣器的电路设计 (9)3.3显示电路设计 (10)第4章软件设计4.1主程序设计 (11)4.2按键识别与编码设计 (12)4.3显示程序设计 (13)4.4密码修改程序设计 (14)第5章系统调试5.1软件调试 (15)5.2硬件接线及调试 (16)5.3调试心得 (17)第6章总结6.1课程设计总结 (17).附:A、硬件图B、主程序流程图C、程序清单第1章系统概述1.1系统功能本次设计使用ATMEL公司的AT 80C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1)设置4位密码,密码通过键盘输入,并显示在数码管上,若密码正确,则将锁打开。

(2)密码可以由用户自己修改设定(只支持4位密码),锁打开后才能修改密码。

(3)状态指示、报警、锁定键盘功能。

密码输入正确时,开锁,且第一个灯亮,密码输入错误时,第二个灯亮,表示密码输入错误,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘,并且第一和第二个灯亮。

电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。

另外系统还有LED提示灯,报警蜂鸣器等。

1.2设计内容及要求(1)密码的设定,此密码是固定在程序存储器ROM中,假设预设的密为“1234”共4位密码。

(2)密码的输入:采用两种按键来完成密码的输入,其中一个按键为功能键另一个按键为数字键。

在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。

然后进入密码的判断比较处理状态并给出相应的处理过程。

(3)按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。

第2章系统方案设计2.1总体方案本密码锁系统采用80C51做主控制器,控制密码的输入、判断密码的正确与否。

首先,系统将允许用户输入密码,用存储单元把输入的密码进行动态的保存,当用户输入完后可以按下“F键”表示确定,系统将进行密码的确认,如果密码正确,则显示开锁,并且有第一个LED灯亮,如果不正确,则用户可以再次进行输入密码,第二个LED灯亮,当用户连续三次输入错误时,第二和三个灯同时亮,蜂鸣器报警,并且把键盘进行锁定,禁止用户进行输入,扩展功能的实现可以外交一个按键“C”,在输入了正确的密码之后,当该按键被按下时,就可以对默认密码进行修改,按下表确定的“F”键之后, 将修改的密码保存到存储默认密码的单元,即修改功能得以实现,修改成功之后第一,二和三灯都亮,并且由数码管显示被修改后的密码。

2.2系统组成与总流程图本系统由单片机80C51系统、矩阵键盘、开关、LED显示和报警系统组成。

系统组成原理框图如图2-1所示2-1 系统组成原理框图第3章硬件设计3.1按键电路设计由于设计要求使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。

其原理如图3-1所示。

3-1 单片机的键盘接口电路3.2指示灯及报警蜂鸣器的电路设计指示灯及报警蜂鸣器的电路如下图所示,当输入的密码正确时,第一号灯亮;当输入的密码错误时,第二号灯亮;当三次错误输入时,第二号和第三号灯同时亮并且报警法名器发出报警;当开关按下后,在输入正确的密码后可以修改密码。

原理如图2-1所示。

3.3显示电路设计将P0与显示的数据端相连,使其它能动态的传输要显示的数据,将p3的低四位与位选通端相连,选通相应的位。

接线如图2-3所示4.1主程序设计主程序主要完成初始化、调用按键识别和编码、显示、指示灯、密码修改等子程序。

具体模块包括:1、按键识别与编码设计2、显示程序设计3、密码判断设计4、密码保存设计5、密码修改程序设计6、延迟设计主程序的流程图见附表B.4.2按键识别与编码设计当没有按键按下的时候,单片机循环按键扫描指令,一旦有按键按下,便进行进一步处理,处理结束再返回。

每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。

在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。

当确认有按键按下后,下一步就要识别哪一个按键按下。

对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线翻转法。

对照图4.2所示的4*4键盘,说明扫描法原理。

首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。

把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。

比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P2.0列,而后面的1111是让读取的4行接脚先设高,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因為这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即为扫描原理。

由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,防抖动;为了避免让8051误判为多次输入同一按键,要加入按键是否松开,就可以让键盘的输入稳定。

按键的操作面板如图图4.2所示。

共计数字键10个,功能键6个。

如图,10个数字键用来输入密码,C用来修改密码,F用来进行输入密码的确认.图4.2 按键操作面板示意图流程图如下:图4.3 按键识别与编码流程图4.3显示程序设计显示设计采用动态扫描。

数码显示板上一共有4个数码管,如果按照传统的数码管驱动方式(静态扫描方式),则需要4 个七段译码器进行驱动,这样既浪费资源,有时电路工作也不可靠。

所以现在最常见的数码管驱动电路已经不用上述的静态扫描方式了,而是采用动态扫描显示的方式,这种方式只需一个译码器就可以实现电路正常、可靠的工作,这样大大节省资源。

动态数码扫描显示方式是利用了人眼的视觉暂留效应,把4个数码管按一定顺序(从左至右或从右至左)进行点亮,当点亮的频率(即扫描频率)不大时,我们看到的是数码管一个个的点亮,然而,当点亮频率足够大时,我们看到的不再是一个一个的点亮,而是全部同时显示(点亮),与传统方式得到的视觉效果完全一样。

因此我们只要给数码管这样一个扫描频率,那么就可以实现两个以上的数码管同时点亮。

而这个频率我们可以通过一个计数器来产生,只要计数频率足够大,就可以实现我们的要求。

事实上,因为数码管点亮不是瞬间就可以的,它也需要一定的时间,该时间与数码管的选择有关系。

为了折中这一对矛盾,实验中一般可将计数频率选择在100Hz左右肯定可以满足上述两个要求。

动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。

如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。

在C51指令中,延时子程序是相当简单的,并且延时时间也很容易更改,可参见程序清单中的DELAY延时子程序。

为了显示数字,要为LED显示器提供字型代码。

我用的是共阳极的显示器。

LED 显示器的字形代码如下表所示:主要有三个显示程序组成,分别为输入的密码值显示程序和按键后的密码正确的提示程序,密码输入错误后的提示子程序。

密码在规定的时间内输入错误次数超过3次后的锁定状态显示子程序,及键盘的锁定。

4.4密码修改程序设计修改密码的功能,是自己扩展的功能,在开关C被按下时,输入了正确的密码之后,就可以进行密码的修改了,用F来充当确定键,密码修改成功之后就有三指示灯提示亮,可以检验你是否真正的修改成功,只需输入你刚才修改的密码,如果有前三个灯亮,则已经修改成功了!你可以再输入原密码和新密码进行验证。

密码修改子程序流程图4.4所示:图4.4 密码修改子程序流程第5章系统调试5.1软件调试首先,用keil uvision4软件进行编译,其实,一开始编译肯定是有问题的,只是没想到一百六十多条指令会有一百五十多个错误···一开始还真把我给愣住了!接下来就是从主程序开始,一条一条指令的检查下去,从指令的规则开始,看看是否有不合规的用法···汇编出现错误后,下面build output窗口出现了“error :BAD INDIRECT REGISTER”的相应错误提示,双击该提示软件就会指出错误指令所在之处,刚开始看着这个指令我是不明白哪里错了的,一直以为自己的基础不错,指令的用法应该不会出错,所以一直在寄存器是否重叠使用方面找错误,可不管怎么找怎么改都是错的,最后还是无意之中在书上面翻到了@RI中只可用R0,R1两个寄存器,再看看我的程序,里面大部分我都是用的R3,R4,R5,改过来之后再编译,一个错误都没了,然后我就认为可以下载到芯片上进行操作了。

5.2硬件接线及调试接下来就是板子的导线连接!按照自己的设计要求,我将各个所要用到的相应的接口和线之间都接上相应的导线,其中最值得注意的是接位选的P3低四位和数码显示管的W1到W4,然后是键盘的行和列与P2口的高低四位的接法···然后是显示管的电源线个地线,其中应注意的是显示管电源应接主电路板的“+5”电源接口处。

生成hex文件后下载到芯片上,按下键后,显示器应该会有相应的显示,可是我按下键后显示器上什么都没有···所以我又得从新开始,回到程序又继续找是否有逻辑错误,其中我认为可能会有寄存器的重复使用,所以会出现逻辑混乱。

所以我将每一个子程序都列出来,然后将每个程序用到的寄存器列出来,看是否有覆盖或重叠,然后在显示子程序中找到了,原本是要将输入的密码存入55H,然后再将从键盘上所得的行列数找出相应的显示器编码,然后从P0口输出,而这些操作我只用到了R0 R1和A 之间的交换,所以之间的值被我覆盖了,所以才会显示错误···所以我用到了入栈操作,将要存入输入数据的地址先入栈,然后进行先找出按下键相应的编码,输出位选和段选之后再将原先入栈的地址到A,再进行相应的数据保存操作,保存后汇编没有出现错误,下载到芯片后又调试,按下键后有相应的显示,但是显示的顺序却和我设计的不一样!开始设计的是按下第一个键盘时,在左边的第一个显示数码管上显示相应的数据,可是实际上却是从右边开始显示数据的!所以肯定是我的位选错了,要么就是P3口和数码管的位选接错了!数码显示管是阳极的,当输入为“0”才有效,我再对准电路板的接线和我所设定的位选信号比较,才发现自己的确将有效信号的位数弄反了!将存未选信号的数据改过之后,保存、调试、再下载到芯片中,操作之后发现显示器的顺序改正过来了,但是当我按下密码和确认键后,第四个显示数码管依然显示着我最后输入的数据,回到程序才发现,数据显示子程序中,数据显示四次之后,从P3口输出的位选就一直为07H,P0口输出的就一直是最后输入的所按下键盘的编码,所以显示数码管会一直显示第四个数据,所以我在子程序调用完之后,加入了一条MOV P3,#0FFH 指令之后,在保存、调试之后,又下载到芯片中,在操作一次,确定键按下之后,显示器的保留问题解决之后,按下确定键后,一切显示都正确,当按下正确的密码之后按下修改键,显示器的第一个却显示的“0”,再输入密码时,显示是从第二个显示器开始的,嗨,又只能回到程序继续找逻辑错误!是在密码修改处出现错误,所以就直接从调用密码正确后的程序开始检查,后来发现也是因为没有将位选置“1”,所以改过之后,继续调试,下载程序,操作,输入密码正确之后进行修改,可是当我输入密码按下确定键后,还没按下第二次的键盘,第一个显示管就有0显示,再按密码时,显示就从第二个数码显示管开始显示了,我再三检查了程序,没发现有什么问题!后来我突然想到因为PC的晶振频率很大,指令执行的速度也快,当我按下确定键后,CPU就会迅速的跳转到键盘识别子程序中对键盘进行扫描和显示,而键盘的按钮松开最快也要经过几十毫秒甚至几百毫秒,所以CPU就将我按下的确定键当输入键传送给了P0输出,自然当我按下确定键或者修改键后,显示数码管会显示“0”···接下来检查三次输入错误之后蜂鸣器响,锁定键盘!而当我输入三次错误数据之后,蜂鸣器没响,键盘也没锁定,在主程序中,我是用存放在30H里面的一个值进行密码输入错误数据的记录和判断的,找了很久也改了很久,还是没有改正过来,最后我放弃了用片内30H来记录次数,而是调出一个寄存器R5来实现次数的记录与判断···改过之后调试、下载到芯片之后,再进行操作,输入错误密码三次之后,蜂鸣器发出了尖锐的声音,键盘也被锁定了,程序总算是调试成功了!5.3调试心得在整个程序设计过程中,我都还是自己想到什么就是什么,没有很系统化的思维,所以会出现各种各样的错误!然而我处理错误的办法也是随心所欲,想到哪一点就直接从哪一点入手,一样没有很整体化的思维方式。

相关文档
最新文档