基于单片机的门禁系统设计_第1页
基于单片机的门禁系统设计_第2页
基于单片机的门禁系统设计_第3页
基于单片机的门禁系统设计_第4页
基于单片机的门禁系统设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的门禁系统设计本设计采用STC89C52单片机作为基本控制,并从蜂鸣器控制电路装置,断路指示灯,电源门锁控制电路和8位数码管显示电路。访问控制系统由CPU复位电路,电源指示,工作指令,晶振电路,所述门锁控制电路,读取器模块,液晶模块显示器等组成。通过刷卡开门IC通过具体方案的设计和实施完成:第一种是当IC卡作为该卡的授权,允许显示模块显示的卡号而继电器开门,灯光熄灭,当涉及到非法时没有显示卡号,锁车门不会打开。第二种是按键密码开锁,输入正确密码而继电器开门,输入错误而会报警。该系统的设计方便,卓越的性能,具有一定的实践。关键词:门禁系统单片机读卡器IC卡目录1引言………………………12门禁系统方案设计与选择…………22.1方案的选择……………………22.2IC卡的选择…………………32.3设计原理………………………32.4设计功能…………33门禁系统硬件电路的设计………43.1门禁系统电路基本原理…………43.1.1门禁系统结构图………………43.1.2门禁系统工作原理……………43.2门禁系统整体电路图…………43.3门禁系统各部分电路图………53.3.1主控芯STC89C52……………53.3.2门锁电路………………………53.3.3报警电路……………………63.3.4读卡模块……………………83.5显示模块……………………103.6修改密码……………………113.7硬件调试过程…………………114门禁系统软件设计与调试………144.1系统软件设计基本思路………144.2系统软件主流程图…………144.3软件调试………………………154.3.1程序调试用到的软件及工具…………………164.3.2调试过程………………………165门禁系统的仿真………………185.1整体电路的功能仿真………185.1.1系统通电后无刷卡时的仿真………………185.1.2刷卡时的仿真………185.2调试分析………………………19结论…………………20附录A程序清单……………………231引言在当今社会,随着人们在访问控制系统的要求各方面继续上涨,门禁系统的范围更加广泛,从而使开发门禁系统已成为一个热门话题在现代技术领域。目前,门禁系统的安全系统已经成为在发达世界极为重要的部分,访问控制系统比其他安全产品高得多快节奏发展。门禁系统能够无数安全产品异军突起,其根本原因是访问控制系统在过去的安防产品,如防盗报警改变,闭路监测被动安全通过主信道控制来代替主动控制被动监视,大大防止罪犯从正常通道入侵,并致力于也相同罪行由该链的门控制限制罪犯的活动范围制止犯罪或减少损失。此外,人们访问控制系统的应用已不再局限于一个输入控制和单输出,但它也适用于访问控制的智能建筑和高档社区防盗报警器,考勤管理,电梯控制,停车场控制,楼宇控制等。本文介绍了基于访问控制IC卡系统和实施的研究STC89C52单片机,采用了微控制器基本的编程方法,实现了门禁系统的功能。根据该指令的地图和开关门的设计要求的比较已被写入该程序,并写在微控制器的程序存储器中的程序。程序运行通过读卡器读取卡号码,卡号,然后发送到微控制器作比较,以实现访问控制功能。2门禁系统的方案设计与选择2.1方案的选择门禁系统有许多种方案:主要有联网和不联网型。联网型的结构图如图2-1所示。计算机 计算机管理机管理机刷卡机N刷卡机刷卡机 图2-1联网型结构图 刷卡机N刷卡机刷卡机基于网络的访问控制系统的优点:(1)实时联网(2)存储卡后立刻将数据传送到主机(3)易于检查,并生成报告缺点:(1)要求计算机,每天24小时(2)计算机或管理单位的情况下,有故障系统瘫痪(3)有较大的影响面问题不联网门禁系统的优点:单卡机器的运转,无需布线,操作方便。缺点:不易查询。基于以上分析,我们选择不受联网。由于这种设计简单,易于提交工作,易操作。2.2IC卡的选择目前市场上有很多种类型的卡:条码,磁卡,接触式IC卡,非接触式IC卡,条码和磁卡,超市和银行更多的应用程序,IC卡不接触,在公共电话以前使用的在露卡易腐多,但非接触式IC芯片,易折叠,而不是两个非接触式IC卡射频卡,智能卡和线圈包,不易损坏,不怕恶劣的环境中现在是高可靠性的社区很受欢迎。根据分析,我们选择了最广泛的普及,高可靠性和卡只读的成本低,使用的卡的MIFARE智能卡的类型。2.3设计原理该设计采用STC89C52单片机作为主元件,它包括一个中央处理器CPU,随机存取存储器RAM,一个ROM,I/O接口电路,定时器/计数器,串行通信接口。在该结构中,使用一个微控制器和一个复位电路,一个振荡器,一个蜂鸣器电路,门锁控制电路读取模块,显示模块的访问控制系统。STC89C52是整个门禁系统,以实现通过编制和实施程序访问控制,指示和报警功能的核心组件。2.4设计功能该设计是IC卡门禁系统。他的访问控制功能的实现:第一种通过IC卡非接触式刷卡式刷卡,当刷卡成功会进入欢迎界面,同时将卡片信号显示出来,同时继电器熄合,指示灯亮,门禁开。第二种通过矩阵键盘输入密码。密码输入正确,也会今日欢迎界面,同时继电器熄合,指示灯亮。如果密码输入错误,会有蜂鸣器报警提示。3门禁系统硬件电路的设计3.1电路基本原理3.1.1门禁系统结构图该门禁系统结构图如下图所示。蜂鸣器及指示灯显示示蜂鸣器及指示灯显示示门控门控STC89C52门锁门锁读卡器读卡器门禁系统结构图3.1.2门禁系统的工作原理本系统由单片机最小系统,液晶显示模块,4*4矩阵模块,IC卡射频识别模块以及继电器举动模块等组成。当合法刷卡时,蜂鸣器响,显示卡号,而继电器开门,指示灯亮。当密码输入正确,继电器开门,显示灯亮。当密码输入错误,则蜂鸣器报警。3.2门禁系统电路原理图在STC89C52单片机的基础上,外围增加电控锁控制电路、蜂鸣器控制电路、开门指示灯电路、电控锁控制电路以及LCD显示电路等,构成了门禁系统的控制电路。其电路原理图如下图所示。门禁系统电路原理图3.3各部分电路原理3.3.1主控芯片STC89C523.1

主控芯片STC89C52

STC89C52单片机的主要特性如下:

Stc89c52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh

Programmable

and

Erasable

Read

Only

Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC的STC89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,STC89C52芯片引脚图如图3-1所示。

图3-1

STC89C52芯片引脚图

主要特性:

·与MCS-51

兼容

·8K字节可编程闪烁存储器

·寿命:1000写/擦循环

·数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·6个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

3.3.2门锁电路门锁电路如图3-2所示,门控信号的输入端(Q2的基极)与P1.5口相连,此电路由12V继电器、限流二极管、1K偏置电阻和S8500三级管的驱动电路组成。门锁电路的工作原理:当P1.5口输出高电平时,此时继电器的控制线圈为开路,继电器无反应。门锁接于继电器常闭端,门锁闭合,门处于关闭状态。当P1.5口输出低电平时,此时继电器的控制线圈闭合,继电器熄合。继电器常闭端打开,门锁打开,门处于打开状态。图3-2门锁电路3.3.3报警电路报警电路如图3-3所示,蜂鸣器控制信号的输入端(Q1的基极)与P2.4口相连,主要由蜂鸣器、S8550三极管组成。报警工作原理:当P2.4输出高电平时,蜂鸣器回路开路,蜂鸣器不响。当P2.4输出低电平时,蜂鸣器回路闭合,蜂鸣器发出报警。图3-3报警电路3.3.4读卡模块3.4.RC500读卡模块RC500是高度集成的非接触式读写卡芯片。此发送模块利用调制和解调原理,并将它们完全集成到各种非接触式通信方法和协议中。RC500芯片模块的内部发送器部分可驱动读写天线与MIFARE卡和应答机的通信,无需其他电路。接收器部分提供一个功能强大和高效的解调和译码电路,用来处理兼容ISO14443/MIFARE卡和应答机的信号。数字电路部分处理完整的ISO14443A帧和错误检测(奇偶&CRC)。RC500的简化框图如下:对于IC模块与主控MCU通信部分来说主要分为三部分。第一部分是主控MCU部分,即此处所选择的STC89C52单片机,主要提供对射频读写芯片的控制操作。这种控制操作体现在对射频读写芯片的电源控制。通过对射频读写部分的独立电源控制,用户可以在MCU中根据自己的需要选择或关闭射频读写功能。当应用系统有低功耗要求,不需要射频读写芯片一直工作时,这种控制方式是必不可少的。而且,通过MCU的供电控制,可以用软件方式实现射频读写芯片的上电复位。第二部分,射频读写芯片,它负责接收主控MCU的控制信息并完成与MIFARE卡的通信操作。为了正常工作,射频读写芯片须选用合适的并行接口与MCU连接。而为了发送、接收稳定的高频信号,射频读写芯片要通过高频滤波电路与天线部分连接。第三部分,天线部分,包括线圈及匹配电路,这是读写模块实现射频通信必不可少的一部分。读写模块要依靠天线产生的磁通量为MIFARE卡提供电源、在读写模块与MIFARE卡之间传送信息。读卡器引脚连接示意图3.5显示模块显示模块部分有二种方案可供选择。第一种方案采用LED数码管显示,该方案具有实现容易、发光亮度大、驱动电路简单等优点。第二种方案是采用LCD液晶显示,该方案具有低压微功耗、平板型结构、显示的信息量大、无电磁辐射、使用寿命长等优点。本设计要求显示的数据量大,能发挥其显示内容丰富的优点,同时占用I/O口线较少,所以,通过比较,选用第二种方案LCD液晶显示。显示模块电路图如3-6所示。图3-6显示模块电路图3.6修改密码1.开机即需要输入密码:初始密码为6个0。可以根据键盘或遥控定义输入密码后,按确认/返回键即可进入页面。若密码忘记,需重新上电即恢复初始密码初始界面下返回密码输入界面,继续按确认/返回键即可锁屏。密码未输入或输入错误LED亮,输入正确进入主界面灭,表示输入正确锁开。2.密码修改:按键盘上定义的改密/返回键即可进入改密状态,此状态下,输入任意6位数字,输入完成后继续按此键保存密码并退出。3.改密验证:当修改完密码后,按确认/返回键可以返回到密码输入状态,此状态下输入密码,弱正确则进入主界面若不正确则报警提示,密码忘记重启电源恢复初始密码。0123456789确认/返回改密/返回参数选择+-密码清除按键功能说明图3.7硬件调试过程项目设计重点是一切从头开始。所以,从一开始就具备最基本的,先学会焊接电路,再学会识别各种电子元器件,然后就读于整体开发板布局和走线。从最直观的了解如何单片机最小系统工作正常的角度。接通电源后的实物图放入IC卡后可见下图:读出卡的序号0x0A,0x08,0x98,0xB4,是预设好的卡号,报警器不响,由此完成门禁系统硬件调试。4门禁系统软件设计4.1系统软件设计整体思路一个应用系统要完成各项功能,首先必须要拥有完善的硬件作为保证,同时还必须要拥有相应的设计合理的软件作为支持。尤其是在微机应用十分发达的今天,许多需要由硬件来完成的工作,都可以通过软件的编程来代替。甚至有些需要采用非常复杂的硬件来完成的工作,有时采用软件编程会使工作变得很简单。因此充分地利用其内部十分丰富的硬件和软件资源,采用与STC系列单片机相对应的汇编语言以及结构化程序设计方法进行软件编程。程序设计的语言分为三种:机器语言、高级语言和汇编语言。机器语言是计算机唯一能“看懂”的语言,用高级语言或汇编语言编写的程序都必须要翻译成机器语言的程序,这样计算机才可以“看懂”,然后再去逐一地执行。高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,因此本系统选用了高级语言。4.2系统软件设计主流程图主程序主要内容是各程序模块的调用,并利用各模块进行电子密码锁功能的实现,即是键盘输入密码并在LCD1602液晶显示屏显示密码,当密码输入完成后,单片机会将输入进的密码与原单片机内部所储存的密码进行对比,如若密码正确,则代表电磁吸合器的发光二极管会发光,同时LCD1602液晶显示屏会显示出正确的密码;如若密码错误,会启动计数器计数,当错误次数超过三次时,报警系统会启动即是蜂鸣器会发出报警声,以提醒保安。初始化初始化指示灯亮指示灯亮N是否有卡刷N是否有卡刷YY读卡读卡报警判权限报警判权限是否合法N是否合法NYY开锁指示灯熄灭显示卡号开锁指示灯熄灭显示卡号图4-1系统程序流程图4.3软件调试在已经写入的C语言程序调试软件装入软件调试工具来检查软件是否已经成功,根据软件提示更改此过程,直到没有任何错误,然后生成机器码MCU可运行。根据51单片机开发板或其他工具来编写写在单片机程序调试的实际机器代码,然后将程序按照短缺的实际情况进行修改,直至达到设计要求。本设计采用十六进制生成文件后,Proteus和KEIL软件仿真,调试,首先在Proteus软件描绘的硬件电路,其次是电子锁,KEIL软件的源代码,源代码编译的准备,最后生成的目标文件添加到单片机仿真调试。4.3.1程序调试用到的软件及工具调试本程序需要用到KEILC51和开发板一块及其配套的下载烧录软件。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。4.3.2调试过程首先打开新建工程,新建文本框写入程序,保存,检查是否有语法错误,经反复检查无误后汇编,生成51单片机可执行的HEX文件。然后用51开发板相匹配的烧录软件把HEX文件写入单片机。调试过程如图4-2所示。图4-2调试过程5门禁系统的仿真本文的前几章详细介绍了器件的选择,硬件电路部分的设计以及软件设计流程,本章的工作是把各部分组合成一个总体,进行软硬件的联合调试以及系统整体功能的仿真。5.1整体电路的功能仿真5.1.1系统通电后无刷卡时的仿真系统通电后无刷卡时的仿真结果如图5-1所示,从图中可以看出当系统通电后无刷卡时,红色指示灯亮,数码管无显示,绿色指示灯不亮代表门锁闭合,喇叭无响声。图5-1系统通电后无刷卡时的仿真图5.1.2刷卡时的仿真刷卡时的仿真结果如图5-2所示。事先存入单片机一个合法卡号为“123456”,当有合法卡进行刷卡时,红色指示灯熄灭,绿色指示灯发光代表门锁打开,数码管显示合法卡号“123456”,喇叭无响声。图5-2合法卡刷卡时的仿真图5.2调试分析通过以上调试仿真的过程可以看出,IC卡门禁控制系统的基本功能都已经实现,能够实现卡号的比较,卡号的显示,开锁,声光报警等功能。由于proteus中没有IC卡读卡器的仿真模型,在仿真中用键盘输入卡号的方式代替读卡器读取卡号并传送给单片机的过程。此外为了更加直观地表示门锁是否打开,采用绿色LED代替继电器开锁。结论本设计采用STC89C52单片机作为控制核心,外围加蜂鸣器控制电路、开门指示灯电路、电控锁控制电路以及LCD液晶显示电路等,来实现门禁控制系统的功能。其中的主要工作有:(1)本设计中采用STC89C52单片机作为主控元件。(2)硬件系统主要设计了以下几部分:读卡器电路、液晶显示电路、工作指示灯电路、开锁电路、控制电路、报警电路等。(3)软件采用C语言来实现初始化、卡号的对比、卡号的显示和对设备的控制。(4)完成了整个系统的调试与仿真,实现了系统的基本功能。(5)通过键盘输入密码的方式,这样更有利于管理者管理用户IC卡。本门禁控制系统还可以一些功能扩展,使其更符合实际应用的需要。可以进行的改进与完善工作。如:本系统可以增加存储模块使系统功能更完善,管理者可以查询历史刷卡记录,以便统计人员出入情况。附录A程序清单#include<at89x51.h>#defineucharunsignedchar#defineuintunsignedintuintnum=10; bitset=0; charcount=-1; sbitBeep=P1^2;uchartemp;ucharpws[6]={1,2,3,4,5,6}; ucharpwx[6]; bitrightflag; ucharworkbuf[6];ucharcodetabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; ucharcodetablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; uintkeyscan();voiddelay(ucharz) { uchary; for(;z>0;z--) for(y=120;y>0;y--);}voidsetpw() /{ keyscan();}uintkeyscan() { P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3;temp=temp&0xf0; if(temp!=0xf0) { count++; temp=P3; switch(temp) { case0xee: { num=7; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; } } break; case0xde: { num=8; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; } } break; case0xbe: { num=9; { if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11];} } } break; case0x7e: { set=1; P1_3=0; workbuf[0]=0x00; workbuf[1]=0x00; workbuf[2]=0x00; workbuf[3]=0x00; workbuf[4]=0x00; workbuf[5]=0x00; count=-1; if(count<6) { setpw(); } } break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xfd; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) { count++; temp=P3; switch(temp) { case0xed:{ num=4; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; } } break; case0xdd: { num=5; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; } } break; case0xbd: { num=6; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; } } break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; }} } P3=0xfb; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) { count++; temp=P3; switch(temp) { case0xeb: { num=1; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; } } break; case0xdb: { num=2; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; } } break; case0xbb: {num=3; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; } } break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xf7; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) { count++; temp=P3; switch(temp) { case0xd7: { num=0; if(count<6) { if(set==0) pwx[count]=num; else pws[count]=num; workbuf[count]=tabledu[11]; }} break; case0xe7:num=20;break; case0x77: { P1_1=0; P1_3=1; set=0; num=10; count=-1; workbuf[0]=tabledu[10]; workbuf[1]=tabledu[10]; workbuf[2]=tabledu[10]; workbuf[3]=tabledu[10]; workbuf[4]=tabledu[10]; workbuf[5]=tabledu[10]; P1_0=1; } break; case0xb7: { count--; workbuf[count]=0x00; count--; if(count<=-1) count=-1; } break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } return(num);}voidinit() { TMOD=0x01; TH0=(65536-500)/200; TL0=(65536-500)%200; ET0=1;EA=1; TR0=1;}bitcompare() { if((pwx[0]==pws[0])&(pwx[1]==pws[1])&(pwx[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论