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

合集下载

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

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

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

电子密码锁是一种智能化的安全设备,它可以通过输入特定的密码来进行开锁操作。随着科技的不断发展,电子密码锁已经逐渐取代了传统的机械锁,成为了现代家庭和商业场所的常见安全防盗设施。本文将详细介绍基于单片机的电子密码锁设计,并探讨其优点和使用方法。

一、电子密码锁的设计原理

电子密码锁的设计原理是基于单片机技术的,它通过对单片机芯片进行编程,并利用数字电路和所需器件来实现开关门的功能。一般来说,电子密码锁需要以下几个部分来实现:

1. 输入设备:用来输入密码的设备,比如键盘或者触摸

屏等。

2. 单片机控制器:通过控制器来对输入的密码进行处理,以实现开关门的功能。

3. 信号放大器:用来提高输入的信号强度,以确保单片

机能够正确读取输入的密码。

4. 储存器:用来存储密码,以便后续进行比较和验证。

5. 驱动器:用来控制锁的开合状态。

二、电子密码锁的优点

相比传统的机械锁,电子密码锁具有以下优点:

1. 安全性高:电子密码锁采用数字密码输入方式,可以避免机械密码锁遭受钥匙钥匙相对的安全问题,同时还能设置多种安全保护措施,比如报警和密码连续输入错误次数限制等。

2. 方便性高:电子密码锁无需使用钥匙,只需要记住正确的密码即可,方便快捷。

3. 可扩展性高:电子密码锁还可以与其他智能设备联合控制,比如与报警器、摄像头等联动,增强安全性。

三、电子密码锁的使用方法

电子密码锁使用方法较为简单:

1. 输入正确密码:输入正确密码后,开门锁将自动解锁。

2. 输入错误密码:输入错误密码可连续出错5次会发出报警声音。

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

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

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

一、课程目标

知识目标:

1. 学生理解单片机的基本原理,掌握其编程方法;

2. 学生掌握电子密码锁的工作原理,了解其电路组成;

3. 学生了解数字输入输出接口的使用,能运用相关知识进行密码锁设计。

技能目标:

1. 学生能运用C语言进行单片机编程,实现电子密码锁的功能;

2. 学生能够运用仿真软件对设计的电子密码锁进行调试与优化;

3. 学生能够运用所学知识,解决实际电子密码锁单片机课程设计过程中遇到的问题。

情感态度价值观目标:

1. 学生培养对单片机及电子技术的兴趣,提高学习积极性;

2. 学生培养团队协作精神,提高沟通与协作能力;

3. 学生培养创新意识,提高动手实践能力,增强自信心。

课程性质:本课程为实践性较强的课程,要求学生在理解理论知识的基础上,动手实践,完成电子密码锁单片机课程设计。

学生特点:学生处于高年级阶段,已具备一定的单片机编程和电子技术基础,具备独立思考和解决问题的能力。

教学要求:教师应注重理论与实践相结合,引导学生主动参与,培养学生的创新能力和实践能力。在教学过程中,关注学生的学习进度和需求,及时调整教

学策略,确保课程目标的达成。通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高综合运用能力。

二、教学内容

1. 单片机基础理论:包括单片机结构、工作原理、编程语言(C语言)等,对应教材第1章至第3章内容。

- 单片机内部结构及功能;

- 单片机工作原理及指令系统;

- C语言编程基础及单片机程序设计方法。

2. 电子密码锁原理与设计:包括密码锁电路组成、工作原理、设计方法等,对应教材第4章内容。

单片机电子锁课程设计

单片机电子锁课程设计

SJ005-1 目录

1.题目 (3)

2.内容和要求 (3)

3.目的和意义 (4)

4.整体方案和设计思路 (6)

5.软件设计(包括系统资源分派,软件流程,源程序设计及关键模

块程序说明) (16)

6.课程设计总结心得体会 (17)

7.参考文献 (18)

一,题目:单片机电子密码锁

二,内容和要求:

以AT89C52单片机为核心设计单片机电子密码锁,其人机接口包括字符型液晶显示器,键盘,喇叭,由继电器操纵模拟开锁关锁的指示灯。键盘包括以下键:0, 1, 2, 3, 4, 5, 6, 7, 8, 9,修改,确认。密码锁第一次加电会自动设置一个初始密码8888. 密码锁平常处于待机关锁状态。

在待机关锁状态下,用户在键盘上按数字键,密码锁以为用户开始输入开锁密码,并自动记录所按键值,待用户在键盘上按“确认”键后,密码锁开始比较用户密码是不是正确。若是密码正确,给继电器线圈加电,指示灯亮,表示开锁,若是密码错误,声光报警器并提示用户从头输入正确的开锁密码,若是持续3次开锁密码错误,系统自锁10分钟,10分钟后,用户可再次输入开锁密码。

在待机关锁状态下,用户在键盘上按“修改”按钮,在显示器提示输入旧的密码,输入旧额的密码后,在按“确认”按钮,若是旧密码错误。蜂鸣器报警,返回待机状态。如旧密码正确,在显示器提示输入新的密码,输入密码后按“确信”按钮,在显示器提示再次输入新的密码,再次输入新的密码后按“确信”按钮,若是两次输入的新密码一致,在显示器提示修改密码成功,不然蜂鸣器报警,以后均返回待机关锁状态。

除开锁密码错误系统自锁外,密码锁在一分钟内若是没有接收到任何按键的情形下,均自动返回待机关锁状态。

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

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

第1章设计目的

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

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

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

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

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

第2章设计要求及总体思路

2.1设计要求

1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密“12345”共5位密码。

2、密码的输入:采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。

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

2.2 总体思路

系统总体设计方案框图如下:

图2-1

一般而言,要实现相同的功能,硬件复杂的系统其软件一般较简单,而软件复杂的系统其硬件一般相对简单,本着经济性的原则,我们应该尽可能少用硬件,根据这个设计理念和设计要求,本单片机系统的设计思路如下:

1)电子密码锁所用的数据的存储和运算用单片机来完。

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

电子密码锁设计方案

电子密码锁设计方案

电子密码锁设计方案

电子密码锁是一种以电子技术为基础的智能门锁系统,它通过电子芯片和密码输入来实现对门锁的开启和关闭,具备高安全性和便捷性的特点。下面是一种电子密码锁的设计方案。

1. 硬件设计:

- 使用单片机作为控制核心,可选择常见的ARM、AVR等

型号。

- 采用芯片级密码芯片,实现密码输入和验证的功能。

- 使用继电器或电子开关控制门锁的开启和关闭。

- 采用LCD显示屏或LED指示灯显示输入密码和开锁状态。 - 使用电池或电源适配器供电。

2. 软件设计:

- 编写单片机的固件程序,实现密码输入、验证和开锁的逻辑。

- 设计密码管理系统,包括密码的设置和修改功能。

- 添加防撬警报系统,当门锁被非法破坏时触发报警。

- 支持远程控制,通过手机或电脑连接网络,实现远程开锁

和密码管理的功能。

- 添加开锁日志记录,记录每次开锁的时间和密码,以便追

踪和管理。

3. 安全性设计:

- 使用多种加密算法对密码进行加密存储,防止密码泄露。

- 设计密码错误次数限制机制,连续输入错误密码达到一定

次数后自动锁定一段时间。

- 采用物理隔离设计,防止针对针脚的攻击。

- 添加声音提示系统,当输入错误密码或开锁时间超过设定范围时发出警报,防止他人盗窃或篡改密码。

4. 用户友好性设计:

- 设计人性化的界面,使用按键输入密码,并在显示屏或指示灯上显示输入的密码和开锁状态。

- 支持多种开锁方式,包括密码、指纹和刷卡等,方便用户选择。

- 提供密码保护功能,每次输入密码后自动清空密码,防止他人偷看。

- 支持语音提示功能,给予用户使用指导和提示。

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

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

课程设计(综合实验)报告( 2009 -- 2010 年度第二学期)

名称:微处理器系统课程设计题目:电子密码锁设计

院系:电子与通信工程系

班级:电子0702班

学号: 0201

学生姓名:白羽峰

指导教师:张宁

设计周数: 1周

成绩:

日期: 2010 年 7 月

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

一、课程设计要求

1.通过键盘输入密码。

密码正确与错误进行相应的音乐提示,与液晶显示提示。

3次按下错误密码则锁死,禁止信号输入。

2.通过超级密码(长度为16位)进入密码修改模式,进行密码修正,用户密码长度为8位。

二、实验目的

进一步的掌握使用ICC进行编程以及程序调试,熟悉并掌握AVR单片机片上外设功能及其使用,熟练掌握单片机学习板上矩阵键盘、1602液晶、蜂鸣器、EEPROM (AT24C02)等外设的使用以及和单片机间的通信。

三、设计思路

利用EEPROM(AT24C02)掉电不丢失的特性设计电子密码锁,先向AT24C02中写入一组数据作为密码(密码设定),然后进入密码输入界面,输入密码并进行密码真伪判别,密码真伪有不同对应的提示,表现在液晶显示和蜂鸣器鸣响上,出现三次密码输入错误则锁死,不能进行任何操作,只能关闭电源重新开始。

四、实验源程序代码如下:

#include <>

#include <>

#include <>

#define uchar unsigned char

#define uint unsigned int

#define LCD_EN BIT(PC3)

#define LCD_RS BIT(PC2)

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

基于52单片机电子密码锁的设计
4、存储电路:选用EEPROM存储器,用于存储用户输入的密码。
5、驱动电路:采用三极管驱动 电路,用于驱动开锁信号。
根据以上清单,可以按照以下步骤完成硬件设计:
1、绘制电路原理图,将52单片机、键盘矩阵、LED数码管、EEPROM存储器和 驱动电路连接起来。
2、根据电路原理图,设计并制作PCB板。将元器件按照原理图的要求焊接在 PCB板上。
四、
感谢观看
1、程序的设计思路:通过单片机读取输入键盘的数据,将读取的数据与事 先存储的密码进行比较,如果密码正确,则控制开锁机构开锁;如果密码不正确, 则LED显示错误提示信息。
2、输入输出的控制:为了提高系统的稳定性,我们采用了中断方式进行输 入和输出。当用户按下按键时,单片机通过中断读取按键值;同时,单片机通过 另一路中断控制LED显示和开锁机构的工作状态。
硬件设计
硬件设计是电子密码锁的基础,主要包括电路原理和设计。以下是一份简单 的硬件设计清单:
1、52单片机:作为控制电路的核心,选用经典的52单片机。 2、按键电路:选用4×4的键盘矩阵,支持10位数字和1个确认键输入。
3、显示电路:采用4位7段LED数码管,用于显示当前密码输入的位数和核对 结果。
1、按键处理程序:该程序负责检测按键输入,当检测到按键输入时,将密 码位数加1,同时将输入的数字添加到密码缓冲区。
2、密码存储程序:在用户输入密码的过程中,密码缓冲区会不断存储输入 的数字。当用户输入完成并按确认键时,密码缓冲区中的数字将存储到密码存储 器中。

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

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

1 设计课题任务、功能要求说明及总体方案介绍

1.1 设计课题任务

设计一个具有特定功能的密码锁。该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。

1.2 总体方案介绍及工作原理说明

(1)原始密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“888888”共6位密码。

(2)密码的输入:采用按键来完成密码的输入,输入时密码处于显示保密状态,输入六位密码后,自动结束输入,并判断其正确性

(3)密码若输入错误,显示输入错误提示信息,密码输入正确后,可以用键盘任意输入数字,若按下第八个按键,则进入修改密码

(4)密码修改:可以任意输入“1-7”中的六位数字作为密码,密码输入时处于保密显示状态,六位密码输入结束确认后显示P.。

图1 设计总框图

2 密码锁硬件系统的设计

2.1 密码锁硬件系统各模块功能简要介绍

此次课程设计是基于单片机控制的电子密码锁,结合主要设计条件,本设计由单片机系统、独立式键盘、LED显示和报警系统组成,系统能完成开锁、错误报警、密码修改功能等功能,设计硬件系统如下:

(1)单片机系统:

此次课题采用一种是用以AT89S52为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。此次课题用单片机P1口与键盘相连,做输入口,P0口与显示器段控相连,输入段控码,P2口输入位控码。

基于MSP432单片机的电子密码锁设计与实现

基于MSP432单片机的电子密码锁设计与实现

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

电子密码锁的使用越来越广泛,它方便安全地替代了传统的物理锁。本文将介绍基于MSP432单片机的电子密码锁的设计与实现。首先,

我们将简要介绍MSP432单片机的特性,然后详细说明电子密码锁的

设计流程,最后给出实际实现的示范。

MSP432单片机是德州仪器(TI)公司推出的一款低功耗、高性能

的ARM Cortex-M4F系列单片机。它具备丰富的外设接口和高度集成

的功能,非常适合用于电子密码锁的设计与实现。

设计一个电子密码锁的关键步骤如下:

1. 系统需求分析:首先,我们需要明确电子密码锁的功能要求。比如,密码锁是否需要具备安全性强的密码保护、是否需要防暴力破解等。

2. 硬件设计:根据系统需求,选择合适的硬件组件,如键盘、LCD

屏幕、电池等,并将它们与MSP432单片机进行连接。

3. 软件设计:编写相应的程序代码,实现电子密码锁的逻辑控制。

在设计中,我们将采用按键扫描、密码验证、锁定/解锁功能等技术手段。

4. 系统调试与优化:完成硬件连接和软件编写后,对电子密码锁进

行系统调试,确保其功能正常。此外,对系统进行优化,提升性能和

稳定性。

下面将详细介绍电子密码锁的设计与实现。

1. 系统需求分析

在系统需求分析阶段,我们应该明确电子密码锁的基本功能。例如,我们可以设置一个4位数字密码,并使用LCD显示屏显示输入密码的

状态。此外,我们还可以增加一些扩展功能,如多用户密码管理。

2. 硬件设计

硬件设计是电子密码锁实现的基础。我们可以选择一个合适的键盘

作为输入设备,并通过引脚连接到MSP432单片机。同时,我们还需

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

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

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

一、设计要求和条件

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!〞,等待是否修改密码。

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

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

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

电子密码锁是一种常用的智能锁具,它使用数字密码代替传统的钥匙,能够提供更高的安全性和方便性。基于单片机的电子密码锁能够实现简单的密码输入、校验和控制逻辑,下面是一种基于单片机的电子密码锁设计方案。

硬件部分:

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. 电子密码锁原理:讲解电子密码锁的基本工作原理,分析锁体的电路组成和功能。

单片机课程设计密码锁

单片机课程设计密码锁

单片机课程设计密码锁

一、课程目标

知识目标:

1. 理解单片机的基础知识,掌握其基本原理和编程方法;

2. 学习并掌握密码锁的原理与设计,能够运用单片机实现密码锁功能;

3. 了解并掌握相关传感器和执行器的使用,实现密码锁的输入和输出控制。技能目标:

1. 能够运用所学知识,设计并编写出实现密码锁功能的单片机程序;

2. 掌握使用相关调试工具,对单片机程序进行调试和优化;

3. 提高学生的动手能力,培养实际操作中解决问题的能力。

情感态度价值观目标:

1. 激发学生对单片机及电子制作的兴趣,培养创新意识和实践精神;

2. 培养学生团队协作精神,学会与他人共同解决问题;

3. 引导学生关注科技发展,了解单片机在现实生活中的应用,增强社会责任感。

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

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

教学要求:结合学生特点和课程性质,注重实践操作,强调理论知识与实际应用相结合。通过课程学习,使学生能够独立完成一个具有实际应用价值的单片

机项目。在教学过程中,关注学生的学习进展,及时调整教学策略,确保课程目标的实现。将目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容

1. 单片机基础知识回顾:C语言编程基础,单片机工作原理,I/O口编程。教材章节:第一章单片机基础。

2. 密码锁原理与设计:

- 密码锁的组成和工作原理;

- 矩阵键盘原理与编程;

- 密码比对算法;

教材章节:第三章输入输出接口,第六章矩阵键盘。

应用AT89C单片机设计电子密码锁

应用AT89C单片机设计电子密码锁

应用AT89C单片机设计电子密码锁

1. 本文概述

随着现代科技的发展,电子密码锁因其安全、便捷的特性在各个领域得到了广泛应用。本文旨在探讨如何利用AT89C单片机设计一种高效、可靠的电子密码锁系统。文章将介绍AT89C单片机的基本特性及其在电子密码锁设计中的优势。接着,我们将详细阐述电子密码锁的系统设计,包括硬件设计(如键盘输入、显示模块、存储模块等)和软件设计(如密码验证算法、系统安全机制等)。文章还将讨论系统的测试与优化过程,确保设计的电子密码锁在实际应用中具备良好的性能和稳定性。本文将总结AT89C单片机在电子密码锁设计中的应用,并对未来的发展趋势进行展望。

2. 89单片机概述

定义与背景:AT89C单片机是一种基于Intel 8051微控制器架构的微控制器,由Atmel公司生产。它广泛应用于工业控制、消费电子、汽车电子等领域。

特点:AT89C单片机以其高性能、低功耗、可编程性和高可靠性而著称。它集成了多种功能,包括定时器计数器、串行通信接口、中断系统等。

中央处理单元(CPU):介绍CPU的结构和性能,如处理速度、指令集等。

存储器组织:详细描述内置的ROM、RAM结构及其在程序存储和数据存储中的应用。

输入输出(IO)端口:阐述IO端口的配置和使用方法,以及它们在电子密码锁设计中的角色。

控制核心:解释AT89C单片机如何在电子密码锁系统中充当控制核心,处理输入信号、执行密码比对和驱动输出设备。

系统集成:探讨如何利用AT89C单片机的集成功能(如定时器、中断系统)来增强电子密码锁的性能和安全性。

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

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

单片机技术及应用综合训练

(设计报告)

前言

随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。

本文从经济实用的角度出发,系统由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位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下:

51单片机电子密码锁设计(包含原理图-电路设计-c语言程序)

51单片机电子密码锁设计(包含原理图-电路设计-c语言程序)

电子密码锁设计

1.实验任务

根据设定好的密码,采用二个按键实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的三次的密码不正确,就锁定按键3秒钟,同时发现报警声,直到没有按键按下3种后,才打开按键锁定功能;否则在3秒钟内仍有按键按下,就重新锁定按键3秒时间并报警。

2.电路原理图

图4.32.1

3.系统板上硬件连线

(1).把“单片机系统”区域中的P0.0/AD0用导线连接到“音频放大模块”区域中的SPK IN端子上;

(2).把“音频放大模块”区域中的SPK OUT端子接喇叭和;

(3).把“单片机系统”区域中的P2.0/A8-P2.7/A15用8芯排线连接到“四路静态数码显示”区域中的任一个ABCDEFGH端子上;

(4).把“单片机系统“区域中的P1.0用导线连接到“八路发光二极管模块”区域中的L1端子上;

(5).把“单片机系统”区域中的P3.6/WR、P3.7/RD用导线连接到“独立式键盘”

区域中的SP1和SP2端子上;

4.程序设计内容

(1).密码的设定,在此程序中密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。

(2).密码的输入问题:

由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按

键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入

密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,

才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过

程。

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

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

单片机技术及应用综合训练

(设计报告)

前言

随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。

本文从经济实用的角度出发,系统由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) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。

2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的

更替而使锁的密级下降。

3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。

4) 无活动零件,不会磨损,寿命长。

5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。

6) 电子密码锁操作简单易行,一学即会。

二、硬件电路设计

下面是整个设计的流程图:

2.1 51单片机

这次课程设计采用的是5系列单片机AT89C52。其外部封装如下图所示:

AT89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根[8]。

P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7

2.2 键盘电路

本次试验采用的是行列键盘,C语言程序中有相应的驱动程序,其硬件电路如下所示,下右对应的为各个按键所对应的数字及功能。

0 1 2 3

4 5 6 7

8 9 确认重输

改密

2.3 液晶显示电路

实验中采用的是LM016L液晶显示,其数据端口采集数据通过单片机的P0口,接法如下图所示。不同情况下会有不同的显示,显示内容包括:Welcome、Hello Boss、Wrong、OK等内容。

2.4 警报电路

下图是警报电路连接图,警报触发为:连续三次输错密码,警报触发后会有一个时间延迟,延迟时间内任何操作都是无效的,过后通过关锁按钮可解除。

2.5 密码储存电路

实验中考虑到实用性方面时,就想到了密码储存及修改的问题,于是采用了FM24C02F作为面膜储存模块,电路连接如下所示:

2.6 晶振、复位及关锁

晶振、复位及关锁电路如下所示(作图所示按钮为复位按钮):

三、软件设计C语言源程序:

#include

#include

#include

#define CHECK_BUSY

#define DataPort P0

#define KeyPort P1

sbit RS = P2^4;//液晶显示的定义端口

sbit RW = P2^5;

sbit EN = P2^6;

sbit scl=P3^0;//24c02端口定义

sbit sda=P3^1;

sbit baojing=P2^1;//报警器

sbit jdq=P2^0;//继电器

sbit jb=P2^3;//警报灯

sbit close=P2^2;

unsigned char old1,old2,old3,old4,old5,old6; //原始密码000000

unsigned char new1,new2,new3,new4,new5,new6;//代表新密码

void delay1(unsigned int m)

{

unsigned int n;

for(n=0;n

}

void delay(unsigned int m)

{

unsigned int a; unsigned char b;

for(a=0;a

{for(b=0;b<125;b++);}

}

void DelayUs2x(unsigned char t) {

while(--t);

}

void DelayMs(unsigned char t) {

while(t--)

{

DelayUs2x(256);

DelayUs2x(256);

}

}

void baojingqi()

{

baojing=0;

DelayUs2x(256);

if(baojing==0)

{

baojing=0;

DelayUs2x(256);

}

}

bit LCD_Check_Busy(void)//判忙函数 {

相关文档
最新文档