单片机 > 单片机程序设计 > 详情

51单片机的电子密码锁综合课程设计

发布时间:2021-01-21 发布时间:
|

这是我的单片机结课项目
原理比较简单,主要使用80C51单片机,加一个lcd屏

摘 要

在日常的生活和工作中,住宅安全,文件资料的保护都需要用锁来保证。传统往往使用机械式钥匙开锁,但钥匙丢失会使锁的安全性大打折扣。随着科学技术的不断发展,电子密码锁应运而生,而密码锁也具有安全性高、成本低、功耗低、易操作等优点。

本设计是基于51单片机,并结合液晶显示LCD1602,以及矩阵键盘输入、复位、电源等电路组合而成。系统能够完成开锁、修改密码等基本功能。整个设计在Keil开发环境下,用C语言编写主控芯片的控制程序来实现具有多功能的电子密码锁。


一、绪论

1.1电子密码锁的背景

随着社会不断进步,人民生活水平不断提高,安全成为现代居民最关心的问题之一。从古至今,锁一直就是保护人们财产的必不可少的工具。目前,我们最常用的锁就是圆柱形销栓的弹子锁,其机构简单,使用方便,价格便宜,但在使用中暴露了很多缺点:1、容易被开启;2、内部机械结构复杂、故障率高;3、换锁麻烦;4、互开率高;5、易被破坏;6、带钥匙的烦恼;7、钥匙开门的烦恼。


电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。所以,研究电子密码锁,符合现在主流发展趋势,具有极大的研究意义和现实意义,也具有经济可行性。


1.2电子密码锁的特点

1.保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。

2.密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。

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

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

5.干扰码功能。在输入正确密码前可输入任意码。

6.安保功能。如果连续输错4次密码将会自动断电3分钟。

7.紧急开启功能(Panic Open)。出门时无需其他操作,只需一次的把手动作,可机械的开启门,所以遇到火灾等应急状况下也迅速,安全的开启门。

8.入侵感应功能。在门上锁的状态下,有人破锁而入时,会发出强力的报警音。

9.火灾报警功能。在室内如果温度达到75°左右,将会发出强力的报警音,同时锁会自动开启。

10.双重锁定功能。外部强制锁定:在内部不能开启,适用于外出时,防止有人入侵。内部强制锁定:在外部不能开启,让您在家时更安心、安全。

11.弱电提醒功能。弱电提醒当电量不足时,在启动开门时,会有美妙的音乐提示您及时更换电池。

12.自动上锁功能。采用全自动锁芯,门关后6秒内自动上锁,外出更加安全。

13.外部显示功能。当密码输入错误,锁舌没正常锁到位,室内反锁,弱电等情况下,外部都有提示功能。


1.3电子密码锁的设计意义

单片机是典型的嵌入式微控制器(Microcontroller Unit),由运算器,控制器,存储器,输入输出设备等构成,相当于一个微型的计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;从上世纪80年代,由当时的4位、8位单片机,已经发展到现在的32位300M的高速单片机。


单片机相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。


在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。


现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。


基于单片机的电子密码锁设计,只需在单片机外围接简单的接口电路,核心部分由人为写入程序即可,这样不仅易于操作,也可使产品成本大大降级,且容易进行升级改善。该种电子密码锁设计方法合理,简单易行,成本低,符合人们需求,具有一定的商业价值和市场推广性。



二、实验原理

2.1单片机开发系统主要硬件简介

单片机开发系统的硬件采用的是普中科技的HC6800EM3单片机开发试验仪,它是具有“实验、编程、ISP下载线”多功能合一的新一代单片机开发系统。该51单片机学习实验板支持STC的增强型51单片机的实验、编程功能,同时也兼容AVR系列单片机的烧写和实验。

  • 硬件布局

2、实验板端口资源

整个板子采取功能模块化设计,也就是说每个功能模块都是独立,端口之间都未连接,因此做实验时候需要学习者自己先进行硬件电路的设计与连接来搭建。详细见实验板原理图和每个实验的内容。下表为部分引脚和外围IC的接口对照表:


外围IC与单片机接口对照表

74HC165

并入串出锁存器

CLOCK

P3.6

74HC595

串入并出锁存器

MISO

P3.4(有短路帽)

INDAT

P1.7(有短路帽)

SCK

P3.6

SH/LD

P1.6

RCK

P3.5

74HC138

138译码器

A

P2.2

DS1302

实时时钟

SCK

P3.6

B

P2.3

I/O

P3.4(有短路帽)

C

P2.4

RST

P3.5

AT24C02

EEPROM

SCL

P2.1

PCF8591

数模/模数转换

SCL

P2.1

SDA

P2.0

SDA

P2.0

继电器


P1.4(有短路帽)

蜂鸣器


P1.5(有短路帽)

红外接收头


P3.2(有短路帽)

温度检测


P3.7

步进马达


P1.0-P1.3

串口通信


P3.0  P3.1

1602/12864/彩屏8位数据接口


P0.0-P0.7

NE555

555定时器


P3.5(有短路帽)

2.2单片机开发软件简介

KeilC51软件开发系统简介

单片机开发中除必要的硬件外,同样离不开软件,汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。


单片机在发展了这么多年来,出现了各种各样的编译软件,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,是目前开发51系列单片机的主流工具。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。


C语言是一个通用的编程语言,它提供高效的代码、结构化的编程和丰富的操作符。C语言不是一种大语言,不是为任何特殊应用领域而设计,它一般来说限制较少,可以为各种软件任务提供方便和有效的编程。许多应用用C比其他语言编程更方便和有效。


优化的Cx51的C编译器完整的实现了ANSI的C语言标准,对8051来说,Cx51不是一个通用的C编译器,它首先的目标是生成针对8051的最快和最紧凑的代码。Cx51具有C编程的弹性和高效的代码和汇编语言的速度。


C语言不能执行的操作如输入和输出,需要操作系统的支持的一部分提供,因为这些函数和语言本身无关,所以C特别适合对多平台提供代码。


8051系列是增长最快的微处理器构架之一,从不同的芯片厂家提供了400多种新扩展的8051芯片,如PHILIPS的8051MX有几M字节的代码和数据空间大的应用中。为了支持这些不同的8051芯片,Keil提供了几种开发工具输出文件格式,OMF2允许支持最多16MB代码和数据空间的PHILIPS 8051MX结构。


Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。


2.3程序烧录

程序烧录有两种方法:

  • 使用普中科技的程序下载软件

  • 使用STC官方软件下载


三、系统总体方案设计

3.1电子密码锁功能简介

电子密码锁由机械模块、集成线路、电子元件、运行算法等多部分组成,其核心为芯片,通过程序算法下达各种指令,由其他部分配合完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值、接收传感器送来的报警信号、发送数据等工作。


密码锁的核心原理也很容易让人理解,单片机接收用户输入的指令(密码),与存贮在EEPROM中的密码进行对比。若指令相同,则驱动电机开锁;若指令不同,则提示错误和重新输入密码。同时芯片会记录用户操作的指令以及芯片做出的反应状态,作为后续智能化分析单依据。


3.2 STC15W4K32S4系列单片机简介

STC15W4K32S4系列单片机是 单片机是STC生产的单时钟/机器周期(1T)的单片机,是宽电压/高速/高可靠/低功耗/超强抗干扰的新一代8051单片机,采用STC第九代加密技术,无法解密,指令代码完全兼容传统8051,但


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C8051F020的UART