哈尔滨师范大学
学 年 论 文
题 目 基于单片机门禁系统的设计与实现 学 生 彭大林
指导教师 邢恺 讲师 年 级 2008级
专 业 计算机科学与技术 系 别 计算机科学与技术 学 院 计算机科学与信息工程学院
哈尔滨师范大学
2011年6月
论文摘要
随着经济的发展,高楼大厦拔地而起,随之也产生了不少安全隐患,入室偷窃抢劫犯罪的事件日益增多,怎样才能更有效地阻止这种犯罪行为和犯罪发生后更好地破案呢?仅仅靠传统的门锁和防盗门是远远不够的,于是,门禁系统出现了,它的出现打破了传统的“保安 铁锁”的防护方式,更好地保护人民财产安全。然而,市场上的门禁系统功能过于强大复杂,价格昂贵,在某些特定场合下,只需门禁系统具有开锁和记录开锁人信息的功能即可,在这种背景下,本文提出一种电路简单,实用性强,成本低,使用方便,的门禁系统的设计方案。
1
一 系统架构
设计的门禁控制系统采用Mifare卡片开锁方式,在工作状态下,读卡器不断通过其内部的线圈发出一个激发信号,持卡人只需将卡片在读卡器附近快速晃动一下,读卡器就能将卡片中的卡片内码读出并在读卡器内暂存,然后控制器将卡片内码同Flash中存储的内码权限进行比较,即进行卡片合法性的检查,控制器再根据对比结果作出相应的输出动作,即开门、报警或其它可控传动设备。同时系统将卡号、持卡人姓名、开门日期、开门时间等信息记录下来,通过RS485总线,把数据传到到管理中心计算机。
二 系统硬件设计
系统的硬件平台主要是由门禁控制器模块、存储器模块、LCD显示模块、读卡器模块、键盘模块、电控锁模块等组成。
2.1 门禁控制器
门禁控制器是整个门禁系统的核心,控制器选用ATMEL公司生产的一种低功耗,高性能的8位CMOS微处理器AT89S52。AT89S52具有40个引脚,8KB Flash片内程序存储器,256KB的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,两个16位可编程定时计数器,5个中断优先级2层中断嵌套中断,两个全双工串行通信口,看门狗电路,片内时钟振荡器。此外,AT89S52价格便宜,容易购买,是一种高性价比的控制器。
2.2 存储器模块
存储器模块主要存储Mifare卡片信息,存储器芯片选用K9F2808U0C芯片,这种芯片是16M×8Bit结构的Flash存储器件,使用128M bits,另外还有4M bits的闲置存储空间。芯片电源电压1.8v或3.3v,它是一款性价比很高的大容量固态数据存储器。上电加压后,即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程(烧写)、整片擦除、按扇区擦除以及其他操作。当需要将程序代码烧写到扩展的FLASH,则需要运行一个装载程序,该程序的功能是通过串口接收要烧写的数据,然后擦除编程Flash。
2.3 RS485通信接口模块
RS485是一种多点、双向、平衡传输规范,被命名为TIA/EIA-485-A标准。RS485由RS232发展而来,它改进了RS232通信距离短、速率低的缺点。RS485是一种平衡通信接口,传输速率最高可达10Mbit/s,最大传输距离约为1200m,并允许在一条平衡总线上连接最多32个设备,RS485完成了门禁控制器与中心管理机的数据传输。
2
2.4 读卡器模块
读卡器模块选用的是广州周立功单片机发展有限公司的ZLG500C读卡模块,内部功能由其独立完成,支持自动检测卡功能,当检测到卡时,可输出中断信号和输出串口数据,支持RS232、RS485或RS422总线通信,本系统单片机与读卡器之间RS232进行通信。所以只需控制器对其提供的端口进行简单的设置,发送Mifare读卡模块提供的函数,发出简单命令既可完成读卡和写卡任务。
2.5 键盘模块
该键盘模块用来密码开锁,用户通过键盘可以向系统发送开锁命令。所本系统键盘是一个4*4的行列式键盘,总共定义了16个按键。查看键盘中有无按键按下以及所按的是哪一个键,采用的是“键盘扫描”的方法。
2.6 LCD显示模块
LCD显示模块用来显示用户输入的加密后的密码和呼叫的房号,本系统采用液晶屏AT056TN52,这是一个5.6寸,18bit RGB格式,分辨率为640x480的TFT数字液晶显示屏。
2.7 电控锁模块
控磁锁是门禁系统的执行部件,电控磁锁在断电时呈开门状态,符合消防要求。在本系统中采用的是电控锁成品,只需要用使用一个GPIO口,外加一个高低阻态转换的电子开关即可。
三 软件设计
门禁系统软件设计是在KEIL C51开发环境下开发的,整个软件设计包括主控程序、单片机初始化程序、读卡器初始化程序、读卡程序、RS485传输程序等。
3.1 读卡器模式设置
要想让读卡器发射发出激发信号,必须在系统运行后,设置读卡器的检查模式。下面是设置自动检测模式函数。 uint8
DvcSetAutoDctct(uint8
ISOType,uint8
R_C,uint8
IOClrMask,uint8
IOSetMask,uint8 S_M)
{uint8 Status;
SB[CMDTYPE]=1;
SB[COMMAND]='L';
3
SB[LENGTH]=5;
SB[DATA]=ISOType;
SB[DATA 1]=R_C;
SB[DATA 2]=IOClrMask;
SB[DATA 3]=IOSetMask;
SB[DATA 4]=S_M;
Status=Zlg500c_Cmd(SlvAddr);
if(Status==OK)
{Status=SB[STATUS];}
return Status;}
3.2 读卡器读取信息函数
当有Mifare卡进入到读卡器的有效范围,读卡器从Mifare卡中读取相关信息,存入存储器中。
uint8 ExchangeBlock(uint8*S_B,uint8 S_B_L,
uint8*R_B,uint8*R_B_L,uint8 A_CRC,uint8 FWI) {
uint8 Status;
SB[CMDTYPE]=1;
SB[COMMAND]='M';
SB[LENGTH]=S_B_L 3;
SB[DATA]=Append_CRC;
SB[DATA 1]=FWI;
4
SB[DATA 2]=S_B_L;
memcopy( SB[DATA 3],S_B,S_B_L);
Status=Zlg500c_Cmd(SlvAddr);
if(Status==OK)
{Status=SB[STATUS];
if(Status==OK){
*R_B_L=SB[DATA];
memcopy(R_B, SB[DATA 1],*R_B_L);}}
return Status;}
3.3 RS485通信接口
单片机与管理中心机之间的串行通信采用RS-485标准接口,PC端接一个RS232/485的转换器,单片机采用RS 485进行串行通信,只需要将TTL电平的串行接口通过芯片转换为RS 485串行接口即可,本系统采用的是MAX485芯片。管理中心机作为主机,各门禁控制器是从机,用RS-485总线进行系统通讯需要对其传输协议做规定,最重要的就是帧结构的设计。本系统数据帧的构造如下:主机发送命令帧格式: 地址 类型 数据长度 数据 校验和;从机应答帧格式:帧头 地址 类型 数据长度 数据 校验和 帧尾,除数据帧为N字节外(根据从机传送的数据而定),其余均占1个字节。
主机接收到帧头表示该帧的开始,连续接收从机回送的数据,直到收到帧尾表示该帧的结束,准备接收下一帧,一次通信完成,波特率设置: 9600 bit/s;传送帧格式: 1位起始位、8位数据位、1位数据/地址标志位、1位停止位。
4 结束语
本文设计的门禁管理系统,电路简单, 使用方便,可靠性高、系统维护方便、适用范围广且价格低廉,系统采用了模块化设计,可以稍加裁剪改造,比如,添加指纹模块、语音与视频模块按功能即可以成为可视对讲指纹门禁系统,适用于智能小区、公园景点、多校区图书馆等多种不同场合有很好的应用推广价值。
参考文献:
[1] 金文光.安防系统工程方案设计[M].西安:西安电子科技大学出版社,2006.
[2] 张毅刚.新编MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2006. [3] 边海龙,孙永奎.单片机开发与典型工程项目实例详解[M].北京:电子工业出版社,2008. [4] 孙惠芹.单片机项目设计教程[M].北京:电子工业出版社,2009.
5
学年论文(设计)成绩表
6
论文题目 基于单片机门禁系统的设计与实现 作 者 彭大林 指导教师 邢恺 指 导 教 师 评 语 指导教师签字
职 称 讲师 论文对单片机的门禁系统介绍的很详细,观点基本明确,语言表达基本清楚,论证较充分,逻辑较严密,结构层次较清楚,基本上具有独立分析问题、解决问题的能力。参考文献查阅比较准确,内容书写工整,格式规范。但应有一些不足,例如不能及时与导师交流论文的进程,知识面不够广等,希望同学注意 等级 7
因篇幅问题不能全部显示,请点此查看更多更全内容