毕业论文基于单片机的门禁控制系统设计WORD档.docx

上传人:b****6 文档编号:7527684 上传时间:2023-01-24 格式:DOCX 页数:28 大小:48.32KB
下载 相关 举报
毕业论文基于单片机的门禁控制系统设计WORD档.docx_第1页
第1页 / 共28页
毕业论文基于单片机的门禁控制系统设计WORD档.docx_第2页
第2页 / 共28页
毕业论文基于单片机的门禁控制系统设计WORD档.docx_第3页
第3页 / 共28页
毕业论文基于单片机的门禁控制系统设计WORD档.docx_第4页
第4页 / 共28页
毕业论文基于单片机的门禁控制系统设计WORD档.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

毕业论文基于单片机的门禁控制系统设计WORD档.docx

《毕业论文基于单片机的门禁控制系统设计WORD档.docx》由会员分享,可在线阅读,更多相关《毕业论文基于单片机的门禁控制系统设计WORD档.docx(28页珍藏版)》请在冰豆网上搜索。

毕业论文基于单片机的门禁控制系统设计WORD档.docx

毕业论文基于单片机的门禁控制系统设计WORD档

本科生毕业论文(设计)

 

题目:

基于单片机的门禁控制

系统设计

学生姓名:

学号:

专业班级:

指导教师:

 

完成时间:

2013年5月10日

 

基于单片机的门禁控制系统设计

电子信息科学与技术专业学生:

指导教师:

摘要:

近年来,电子电器的飞速发展。

然而不法分子也是越来越多,原因在于大部分人防盗意识还不够强,造成偷盗现象屡见不鲜。

因此,出于安全方便等方面的需求,门禁控制系统相继问世.本设计是以单片机AT89S51为主控芯片,并结合外围液晶显示LCD1602、红外遥控HS0038,以及键盘输入、复位、电源等电路组合而成。

系统能够完成开锁、报警、修改密码等基本功能,还能够通过红外来控制单片机的开锁。

整个设计在Keil开发环境下,用C语言编写主控芯片的控制程序来实现具有多功能的门禁控制系统。

关键词:

门禁控制系统,AT89S51,显示,红外

TheDesignofAccessControlSystemBasedOnMCU

ElectronicsandInformationScienceandTechnology

Abstract:

Inrecentyears,withtherapiddevelopmentofelectronicappliances.Howevercriminalsarealsomoreandmore,becausemostpeoplesecurityawarenessisnotstrongenough,causingstealphenomenonitisoftenseen.Therefore,forthesafeandconvenientandotheraspectsofthedemand,accesscontrolsysteminsuccession.ThedesignisbasedonSCMAT89S51asmaincontrolchip,andthecombinationofperipheralLCD1602liquidcrystaldisplay,infraredremotecontrolHS0038,andkeyboardinput,reset,powercircuitassembly.Thesystemcancompletethelock,alarm,modifypasswordsandotherfunctions,canalsothroughinfraredtocontrolchiplockfunction.ThewholedesignintheKEILdevelopmentenvironment,usingClanguagemastercontrolchipcontrolprocedurestoachievemultifunctionalelectroniccipherlock.

Keywords:

AccessControlSystem,AT89S51,Display,Infrared

引言

随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到冶金、电力、建材、化工、机械、石油、食品等各个行业。

单片机控制无疑是人们追求的目标之一,它所给人们带来的方便也是不可否认的其中单片机控制就是一个典型的例子。

MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片机微型计算机应用系统开发的一个重要系列。

目前,单片机原理与应用教材大都采用汇编语言讲解和设计程序实例,但汇编语言学习困难。

在实际应用系统开发调试中,特别是开发比较复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。

在信息产业飞速发展的今天,我们生活中必不可需的设备都向着小型化、便携化、智能化、自动化的方向发展。

所以门禁控制系统随着快节奏的生活应运而生。

在我国六七十年代还是传统的一把钥匙配一把锁,不管是单位还是个人每天都要认真检查是否锁上了门,而且钥匙还不能随便乱放,一旦不小心忘记放在哪里很可能就打不开门了。

传统的锁也相当的不安全,会有一些不法分子想尽办法打开你的房锁去偷盗东西。

门禁控制系统的产生使得这些问题都不再是问题,我们只需简单的记住七位密码即可。

1概述

1.1门禁控制系统简介

门禁控制系统是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。

现在应用较广的门禁控制系统是以芯片为核心,通过编程来实现的。

其性能和安全性已大大超过了机械锁。

其特点如下:

1)保密性好,编码量多,远远大于弹子锁。

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

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

人员的更替而使锁的密级下降。

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

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

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

6)操作简单易行,一学即会

1.2门禁控制系统的发展趋势

日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。

目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。

针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。

由于电子器件所限,以前开发的门禁控制系统,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。

随着电子元件的进一步发展,门禁控制系统也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的门禁控制系统。

出于安全、方便等方面的需要许多门禁控制系统已相继问世。

但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。

由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。

可以看出组合使用电子信息是门禁控制系统以后发展的趋势。

1.3本设计所要实现的目标

本系统采用以单片机为核心元件的控制方案。

由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以获得最佳的性价比。

一般来说在选取单片机时从下面几个方面考虑:

性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些方面外,还有一些最基本的条件,比如:

中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。

在开发过程中还要考虑开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等因素。

基于以上因素本设计选用单片机AT89S51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。

在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。

其原理如下图1.1所示。

 

图1.1单片机控制方案

2系统硬件设计与实现

2.1主控芯片AT89S51

在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。

它是一款低功耗,AT89S51就是一款广泛应用的,高性能CMOS8位单片机,由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。

主控模块采用单片机最小系统是由于AT89S51芯片内含有8B的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0~24MHz,并且价格低廉,批量价在10元以内。

AT89S51是一款功能强大的微型计算机,它可为许多嵌入式控制应用系统提供高性价比。

单片机[1]的最小系统是由复位电路、时钟电路和电源组成。

复位操作有上电自动复位、按键复位和外部脉冲复位3种方法。

本文采用的是上电复位它是通过系统外部的复位电路来实现的。

根据电路原理可知电容两极板间的电压不能突变当单片机电源接通电源的瞬间单片机的9管脚会产生一个阶跃信号,所以RTS端维持高电平由于这个充电时间

远远大于1ms,一般就可以实现对单片机的上电自动复位,即接通电源就完成了系统的初始化。

初始化是为了让单片机从地址0000H开始执行,除此之外单片机要想正常工作还必须有时钟电路,时钟电路是产生时序的基础,单片机每执行一条指令都是建立在时序电路上的,为了能保证单片机执行指令的同步,电路就要在唯一的时钟信号控制下按时序的先后进行工作。

它分为内部时钟电路和外部时钟电路。

本文采用的是内部时钟电路,在MCS—51单片机的内部有一个高增益的反向放大器,其输入端为引脚XTAL1,输出端为XTAL2,只要在外部接上两个电容和一个晶振,就能够成一个稳定的自激振荡器。

这里主要看一下电容和晶振的选择,晶振的大小与单片机的振荡频率有关,电容的大小影响着振荡器振荡的稳定性和起振的快速性,通常选择10~30pF的瓷片电容。

本系统电容选择为33pF,晶振为12MHz之所以选择这一频率的晶振是为了在进行单片机与电脑进行串口通信时容易产生和电脑时钟同步的波特率,另外在设计电路时,晶振和电容应尽可能的靠近芯片,这样可以提高系统的抗干扰能力,电源部分,电源与地之间可以接一个0.1μF的电容,它用来滤除电源的纹波,使单片机稳定工作,单片机最小系统如图2.1所示

图2.1单片机最小系统

单片机[2]引脚说明:

VCC:

电源电压输入端。

GND:

电源地。

P0口:

P0口是一个8位漏极开路双向I/O端口,每个引脚可以吸收8TTL门电流。

P0口当作数据输出时需要加上拉电阻,当P0口的I/O口被写“1”后,被定义为高阻抗输入状态。

P0可以用于外部程序数据存储器,P0口可以是地址的低八位以及数据输出口。

P1口:

P1口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P1口缓冲器可接收的4TTL栅极电流输出。

P1口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P1口外部下拉低时输出电流,这是因为有内部上拉的缘故。

P2口:

P2口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P2口缓冲器可接收的4TTL栅极电流输出。

当P2口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P2口外部下拉低时输出电流,这是因为有内部上拉的缘故。

当P2口用于外部程序存储器或外部数据存储器时P2口是地址高八位输出。

P3口:

P3口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P3口缓冲器可接收的4TTL栅极电流输出。

P3口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P3口外部下拉低时输出电流,这是因为有内部上拉的缘故。

P3口除了普通I/O口功能,还有其第二功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(T0定时器的外部计数输入)

P3.5T1(T1定时器的外部计数输入)

P3.6/WR(外部数据存储器的写选通)

P3.7/RD(外部数据存储器的读选通)

RST:

复位引脚高电平时MCU复位,复位信号输入端口,当MCU要复位时,给与此引脚高电平,高电平持续时间是不少于两个机器周期的时间。

ALE/PROG:

地址锁存使能以及编程脉冲信号端口。

当单片机访问外部的存储器时,地址锁存使能锁存地址低八位。

通常情况下,ALE引脚输出单片机外部振荡器的频率的1/6的频率输出。

应该注意到的是:

当用于单片机扩展外部的数据存储器时,它会少一个ALE脉冲。

如果你想禁止ALE输出可以设置为0在SFR8EH地址。

此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。

此外,ALE引脚倍稍微拉高。

如果微处理器在外部执行状态ALE的禁令,设置无效。

PSEN:

程序存储器允许输出控制端,在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作。

EA/VPP:

外部程序存储器访问允许。

当/EA接高电平时,单片机读取内部程序序存储器,当扩展有外部ROM时,当读完内部ROM后自动读取外部ROM,当/EA接低电平时,单片机直接读取外部程序存储器。

XTAL1:

片内振荡器反相放大器和时钟发生器的输入端。

XTAL2:

片内振荡器反相放大器的输出端。

2.2红外模块HS0038

红外数据传输[3]的特点:

成本廉价、建设工程期短、适应性好、扩展性好、设备维护上更容易实现。

使用红外模块进行传输,丰富了系统的功能,提高了系统的可操作性,因而达到了交互式与智能化。

红外数据传输广泛地运用在红外遥控系统和车辆的监控、门禁控制系统、小区的安全防火系统和传呼系统、身份的识别、非接触RF的智能卡等。

工业设备中,在高压,辐射、有毒气体、粉尘等环境下,采用红外遥控不仅完全可靠而且能有效地隔离电气干扰。

一体化红外线接收头三个管脚分别是地、+5V电源、解调信号输出端接在单片机P3.3引脚上。

利用外部中断进行数据的接收。

下图2.2为红外模块硬件结构。

图2.2红外模块硬件结构

红外线接收器大都将信号的接受、放大、检波等集于一身,而且可以经过编码解码时单片机收到可识别的信号源。

这样一来便会减少硬件设计过程中的麻烦,使电路简单化,且应用起来比较方便。

下图为红外一体化接受头HS0038,外观图如图2.3所示。

图2.3红外接收元器件

2.3显示模块LCD1602

自然界中如果想要了解系统的运行与工作状态显示器是不可缺少的,显示器是一个典型的输出设备并且它的实际应用也是极为广泛的,几乎所有的电子产品都会使用到显示器其差别仅在于显示器的结构类型不同而已。

最简单的显示器可以是LED发光二极管或者数码管,它可以给出一个简单的开关信息或者数字显示,而需要显示复杂的完整的信息上述的器件就不能胜任,而液晶的出现就很好的解决了这一问题,它不仅显示内容丰富而且好节约了单片机的管脚资源。

本设计采用的是液晶显示LCD1602。

LCD1602内部的字符已经储存了不同的字符形式,每一个字符都有一个固定的代码,其代码与标准的ASCII字符代码一致。

因此只要写入显示字符的ASCII码即可,这种标准化的设计给使用带来很大的方便。

比如英文字母“C”的ASCII代码是01000011(43H),显示时单片机往液晶模块写入显示指令,模块就会把地址为43H中的点阵字符图形识别出,并会在液晶屏相应位置上看到字母“C”。

LCD1602液晶显示与单片机的连接可以分为两种方式:

总线方式和模拟口线方式。

在实验中,我们常采用模拟口线连接方式。

如图2.4所示。

图2.4显示模块硬件结构

目前市场字符液晶绝大多数是基于HD44780[4]的液晶芯片,控制原理是完全相同的,因此基于HD44780的写控制程序可以很容易地应用到市场上大部分的字符液晶。

LCD1602液晶的几个特性:

+5V电压、对比度可调、内含复位电路;提供各种控制命令,如:

清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有160个5X7点阵的字型的字符发生器CGROM8个可由用户自定义的5X7的字符发生器CGRAM。

表2-5LCD液晶屏引脚说明

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

DataI/O

2

VDD

电源正极

10

D3

DataI/O

3

VEE

液晶显示偏压信号

11

D4

DataI/O

4

RS

数据/命令选择端(H/L)

12

D5

DataI/O

5

R/W

读写选择端(H/L)

13

D6

DataI/O

6

E

使能信号

14

D7

DataI/O

7

D0

DataI/O

15

BLA

背光源正极

8

D1

DataI/O

16

BLK

背光源负极

LCD1602[5]采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,VEE为液晶显示器。

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。

E端为使能端。

D0~D7为8位双向数据线。

2.4键盘输入模块

键盘是单片机十分重要的输入设备,是实现人机对话[6]的纽带。

键盘是由一组规则排列的按键组成,一个按键实际上就是一个开关元件,即键盘是一组规则排列的开关。

根据按键与单片机的连接方式不同,按键主要分为独立式按键和矩阵式按键,有了这些按键,对单片机的控制就方便多了。

本设计按键数量较多,所以采用矩阵式按键以节省I/O口线。

将16个按键分为4排4列排列好,如图2.5矩阵键盘硬件结构。

当有一个键按下时,通过某一边引脚赋低电平,扫描全部引脚看是否与最初的赋值一样,不一样则根据相应的算法(通过改变后的值与初始值相或,根据结果赋值)确定是哪个键按下。

键盘为4×4形式,按键包括阿拉伯数字0~9,以及锁定、更改和改密三个应用按键。

当用户需要输入密码或修改密码时,按下相应按键即会与单片机产生信号,并会执行相应的程序。

2.5键盘模块硬件结构图

2.5复位电路

能让单片机运行起来的最小硬件连接就是单片机最小系统电路,51单片机的最小系统电路一般包括工作电源、振荡电路和复位电路[7]等几部分。

复位电路(图2.6是单片机复位电路)具有上电自动复位和手动复位的双重功能。

单片机的RST引脚是复位信号的输入端,复位信号是高电平的时候才有效,其有效时间应持续24个震荡脉冲周期(即2个机器周期)以上;通常为了保证应用系统能够准确地复位,复位电路应使引脚RST脚保持10ms以上的高电平状态。

只要RST保持高电平,单片机就会自动循环复位。

当RST引脚从高电平状态转为低电平状态时,单片机退出复位状态,从程序存储器的0000H地址开始执行用户程序。

电容C3和电阻R5组成上电复位电路。

上电瞬间RST引脚获得高电平,随着电容C11的充电,RST引脚的高电平逐渐下降。

只要高电平保持足够的时间,单片机就能完成复位。

手动复位的原理与此类似。

图2.6复位电路硬件结构

3系统软件设计

软件设计主要包括了主程序设计、键盘扫描设计、密码修改设计、开锁程序设计以及红外遥控设计五个方面。

本设计采用Keil编译器来进行软件的编程

主程序主要完成了系统的初始化、按键扫描、按键功能、以及调用显示等功能。

3.1键值判断设计

键盘扫描和键值读取程序主要判断矩阵按键是否按下,按下的是哪一个键,并求出按键的键值。

矩阵键盘的识别方法有多种。

相对来说,矩阵式键盘的软件设计最终实现以下功能:

是否有按键被按下;消除抖动[6];确定哪个键被按下,若按键闭合了一次,操作也只能是一次。

3.2红外遥控设计

用HS0038[9]接收头负责红外遥控信号的解调,将调制在38kHz上的红外脉冲信号解调并反相后输入到单片机的P3.2引脚,接收的信号由单片机进行高电平与低电平宽度的测量,并进行解码处理。

解码编程时,既可以使用中断方式,也可以使用查询方式。

识别编码[10]的关键之一是确定扫描周期。

分析波形和参数知道:

整个数据14位,总时长为22ms~25ms,则一个数据位时长为1.5ms~1.8ms,占空比1:

1,脉宽为750μs~900μs。

在编程时要考虑脉宽的偏差容限,为保证扫描精度,选取扫描周期为100μs。

识别编码的关键之二是判别“0”和“1”。

数据“0”为波形从低到高,即在相邻的2次扫描中,扫描值从0到1,则识别数据为“0”;数据“1”为波形从高到低,即在相邻的2次扫描中,扫描值从1到0,则识别数据为“1”。

为了记录相邻2次扫描值,则分别用2个变量来记录当前扫描值和前一次的扫描值。

3.3Keil编程软件介绍

单片机的开发离不开必要的硬件,同样也离不开软件,编写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编。

随着单片机开发技术的不断发展,单片机的开发软件也在不断的发展,Keil软件是目前最流行开发51单片机的软件。

这款软件的操作方法也很简单,甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,这样可以把复杂电路的输入信号直接用信号发生器给定,或是用电源来给定通过对电压电流的调节来实现。

Keil[8]工程的建立打开已安装好的开发环境,进入界面后选择project然后在其下拉菜单中选择newproject选项如图3.1所示。

图3.1新建工程

这样就能新建一个工程,在选定的路径下建立一个名字叫做abc的文件夹如图3.2所示,在abc文件夹中建立了一个xyz.c文件之后点击保存按钮就会出现如图3.2所示的画面在此对话框中选择Atmel之后会弹出一系列的单片机在本次设计中选用的是51单片机,完成后在选Target1下的SourceGroup1选择Add把xyz.c文件加载到里面在xyz.c下添加所编好的C语言程序或是汇编语言程序,如果程序是分开写得就可以添加多个子程序还有主程序,每个程序中必须有头文件否则编译不会通过,会显示有错误。

等编译.hex文件时就要在此文件夹下找到。

图3.2新建工程文件夹的建立

图3.3芯片的选择

所有程序都加到工程项目文件夹中后就可以对其进行编译了。

编译成功后,下方会有对话框显示,有几个错误,分别是在那几个位置。

直接单击错误这条信息就可以索引到源文件中。

如图所示3.4所示。

图3.4错误的生成及索引

3.4Proteus仿真软件概述

Proteus是目前使用比较广泛的单片机类的仿真系统的软件之一,它可以实现的功能比较多,可以实现程序与原理图的连调,也可以单独作为绘制原理图的工具使用,与Protel有着过之不及的功能,于此同时还可以进行PCB版图的生成,在方法中与Protel类似。

此款软件及绘制原理图、PCB版图和仿真于一身。

Proteus此款软件的使用比较简单。

在运行环境搭载好的前提下,打开ISIS直接进入到主界面,在左边栏框中有一个快捷键P(从库中选取),点击后出现一个对话框然后输入想要查找的元器件即可。

之后在单击确定按键所选器件就会显示在界面左上角的小框中此时点击鼠标左键就会放到图层中,然后直接把鼠标放到接头处就会显示一个画笔的标志此时按住鼠标左键就可进行连线了。

如图3.5所示为绘图界面。

图3.5proteus绘图基本界面

3.5Proteus

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1