智能门禁系统 - 图文

更新时间:2024-05-27 13:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西南科技大学本科生毕业论文 I

智能门禁系统设计

摘要:随着射频技术的飞速发展及其应用范围的越发宽广,在身份识别和安防等行业,门禁系统作为智能建筑的重要单元越来越得到重视,从原始的机械锁操作到如今刷卡的智能门禁系统。射频识别技术的出现弥补了原来门禁系统的不足,而且让门禁系统变的更加安全、便捷和实用。射频标签是采用非接触式,具有读写速度快、功耗低等优点。

本文设计了一种采用RFID(Radio Frequency Identification)技术的高安全性的智能门禁系统。首先分析了门禁系统的国内外发展现状和趋势,阐述了门禁系统当前存在的问题,引出课题研究目的和意义,给出了智能门禁系统设计方案,并对射频识别技术进行了阐述,研究了射频识别系统的工作原理、主要技术参数和相关的关键技术。其次完成了系统硬件和软件设计,对硬件电路芯片的选择、硬件驱动程序的设计、串口通讯程序的设计等作出了具体详细的分析。

最后对智能门禁系统进行检测,当使用者进入门禁系统的检测范围时,系统会自动获取身份信息确定该使用者是不是授权用户,并且记录进出人员信息,对非授权用户发出报警信号。经试验测试,达到设计要求。

关键词:RFID;智能门禁;IC卡;STC89C52

Design of intelligent access control system

西南科技大学本科生毕业论文 II

Abstract:With the rapid development of radio frequency (RFID) technology and its application more and more broad, in the identification and security industries, access control system as an important element of intelligent building more and more importance has been attached to the, from the original mechanical lock operation to today's credit card intelligent access control system. The emergence of radio frequency identification technology has made up the shortage of the original access control system, and makes access control system become more secure, convenient and practical.. Radio frequency tags are non-contact, read and write fast and low power consumption.

In this paper, a high security intelligent access control system is designed, which is based on RFID (Frequency Identification Radio) technology.. Begins with an analysis of the access control system of the domestic and foreign development status and trends, describes the problems existed in current access control system, leads to the purpose and significance of the topic research, based on the design scheme of the intelligent entrance guard system, and on the radio frequency identification technology is discussed in this paper, introduces the radio frequency identification system, the working principle, main technical parameters and related key technologies. Secondly, the hardware and software design of the system are introduced, the choice of hardware circuit, the design of the hardware driver, the design of serial communication program, etc..

Finally, summary the paper, summarizes the research contents and results of this paper, when the user enters the detection range of access control system, the system will automatically obtain identity information to identify the user is not authorized to the user, and records and personnel information, to non authorized user sends out the alarm signal. The project also needs to improve the place, and the prospect of the development of RFID technology.

Key words: STC89C52, IC card, LCD1602, intelligent access control

西南科技大学本科生毕业论文 III

目 录

第1章 绪 论 ................................................................ 1

1.1 课题研究的背景及意义 ....................................................... 1 1.2 国内外技术的发展现状 ....................................................... 1 1.3 设计的主要目标任务 ......................................................... 2 1.4 本章小结 ................................................................... 3

第2章 门禁系统总体方案设计 .................................................. 4

2.1 系统设计原理 ............................................................... 4 2.2 硬件方案的选择 ............................................................. 4 2.2.1主控制芯片的选择 ......................................................... 4 2.2.2 显示模块的选择 .......................................................... 5 2.2.3电源电路的比较与选择 ..................................................... 5 2.2.4 键盘输入模块的选择 ...................................................... 5 2.2.5电子锁门禁驱动器件的选择 ................................................. 6 2.2.6 数据存储芯片的选择 ...................................................... 7 2.3 系统的软件设计 ............................................................. 7 2.3.1 RFID通讯协议 ............................................................ 7 2.3.2 RFID读写器 .............................................................. 7 2.3.3 软件开发环境 ............................................................ 8 2.4 本章小结 ................................................................... 8

第3章 门禁系统的硬件设计 .................................................... 10

3.1 单片机最小系统设计 ......................................................... 10 3.1.1 STC89C52单片机介绍 ...................................................... 10 3.1.2 51最小系统电路设计 ...................................................... 10 3.2 IC卡原理及驱动电路设计 .................................................... 12 3.2.1 Mifare射频卡技术参数 ...................................................... 12 3.2.2 IC卡内部结构介绍 ........................................................ 12 3.2.3 IC卡读写过程 ............................................................ 14 3.2.4单片机与IC卡读卡模块接口电路设计 ........................................ 15 3.3 键盘电路设计 .............................................................. 15

西南科技大学本科生毕业论文 IV

3.3.1 键盘识别原理 ............................................................ 15 3.3.2 键盘电路及键盘按键定义 .................................................. 16 3.4 电子锁门禁继电器驱动电路设计 ............................................... 16 3.4.1 继电器介绍 .............................................................. 16 3.4.2 继电器驱动电路设计 ...................................................... 17 3.5 LCD1602液晶显示电路设计 .................................................... 18 3.5.1 LCD1602液晶介绍 ......................................................... 18 3.5.2 单片机与LCD1602液晶接口介绍 ............................................. 18 3.6 本章小结 ................................................................... 19

第4 章 系统的软件设计 ......................................................... 20

4.1 系统总程序设计 ............................................................. 20 4.2 IC卡读写子程序设计 ......................................................... 21 4.3 键盘扫描程序的设计 ......................................................... 22 4.5 LCD1602液晶显示子程序 ...................................................... 22 4.6 电子锁门禁开关子程序设计 ................................................... 23 4.7 报警子程序设计 ............................................................. 24 4.8 本章小结 ................................................................... 24

第5 章 门禁系统的调试 ......................................................... 25

5.1 门禁系统模拟调试 ........................................................... 25 5.1.1 单片机软件模拟调试 ...................................................... 25 5.1.2 单片机硬件模拟调试 ...................................................... 27 5.2 系统硬件焊接与调试 ......................................................... 27 5.3 功能验证 ................................................................... 28 5.4 本章小结 ................................................................... 31

结论 .......................................................................... 32 致谢 .......................................................................... 32 参考文献 ...................................................................... 34 附录1 电路图 .................................................................. 35 附录2 部分软件程序 ............................................................ 36

西南科技大学本科生毕业论文

第1章 绪 论

1.1 课题研究的背景及意义

IC卡门考勤与门禁系统有人也称门禁系统器。其中比较核心的是IC读卡器部分。提起IC卡读卡器,很多人都立即会想到这种产品是配合数码相机而产生的,不过目前已经不再局限于数码相机使用了,而是扩展到了更多的领域。“读卡器”顾名思义这是一种读取数据的设备,但其不单单可以支持数据的读取同样支持数据的写入。其初期的设计思路主要是为了弥补数码相机数据输出的缺陷而产生的。由于早期USB接口并不普及,因此数码相机的输出口都是同电脑的串口连接的,由于串口的数据传输速度很低,如果把这些数据拷贝到硬盘上,那就要花费大量的等待时间了。因此,读卡器就应运而生了。

早在1970年IC 卡读写器就伴随IC卡的产生而产生了,IC(Integrated Circuit)卡是1970年由法国人Roland Moreno发明的,他第一次将可编程设置的IC芯片放于卡片中,使卡片具有更多功能。法国布尔(BULL)公司于1976年首先创造出IC卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个行业,使读卡器也产生了不同的功能,和适应不同场合的不同类型,它提供了将微电子技术和计算机技术结合在一起的IC卡与人直接沟通的枢纽,提高了人们生活和工作的现代化程度。

在我国的一些领域,如电信、交通、医疗等部门,使用IC卡也已经很普遍,很多单位也已经使用IC卡来进行人员和财务管理。目前市面上见到读卡器都是被整合在自助一体付费机里,或连接在银行柜台服务员的电脑里。有接触类和非接触类之分,用于读取不同的接触类卡片和非接触类卡片。IC卡读写器主要应用于为智能卡进行余额查询和充值的读写数据工作。

如今,IC卡考勤与门禁系统的制作成本将不断降低,IC卡芯片随着半导体技术、大规模集成电路芯片的发展而产生,也必将随着计算机技术、网络技术等的高速发展而迅速发展壮大。而与其相伴而生的考勤与门禁系统的科学技术和制造工艺也再不断进步。 IC卡发展的如此迅疾自然也会导致其读写器的性能越来越好,功能也越来越强。IC卡考勤与门禁系统现在在银行、消费办公场所到处可见。今天我们用的校园一卡通,在卡务中心就是通过IC卡读写器将IC卡与电脑相连来进行充值的,所以本设计将对IC卡考勤与门禁系统装置展开研究。

1.2 国内外技术的发展现状

门禁控制系统是跟随着自动识别技术发展起来的,拥有很大的市场,有很多公司都从事门禁控制系统的生产和开发。在国外的门禁系统有很多品牌,主要有美国的休斯(HID)、摩托罗拉(MOTOROLA)、英国的集宝,以色列的SERVANT等品牌,国内门禁系统的品牌主要有清华紫光和捷顺等。门禁系统可有效管理门的开启与关闭,保证授权人员自由出入,限制未授权

1

西南科技大学本科生毕业论文

人员进入。智能化门禁管理不仅方便了内部管理,而且增强了内部的保安,从而为用户提供一个高效和具有经济效益的工作环境。

基于RFID技术的门禁管理系统将“感应卡”与“锁具”有机结合,进而由“感应卡”替代“钥匙”,配合电脑实行智能化管理。正是由于感应卡的上市,使用者再也不需要携带钥匙,更免除了钥匙被复制的烦恼,再也不必担心财物可能蒙受损失。同时,它在功能上实现了通讯自动化、办公自动和管理自动化,以计算机网络为桥梁,全面实现对通讯系统、办公自动化系统的综合管理。基于RFID技术的门禁系统作为一项先进的高科技技术防范和管理手段,在一些经济发达的国家已经广泛应用于科研、工业、博物馆、酒店、商场、医疗监护、银行、监狱等,正是因为门禁技术应用的多样性,功能的完善和广泛的适应性,已成为安防技术重点研究和开发的方向。

射频识别与手动系统如条形码相比有几项优势。即便标签被他物遮盖或者不可见,射频标签只要靠近通过一个读取器就可以读取。无论是在手提箱里,纸箱里,盒子里,或是其他什么容器里,射频标签都可以被读取。读取机可以一次读取上百个射频标签,而条形码只能一次一读。

射频识别技术可应用的领域十分广泛,主要决定因素是该项技术在相应领域中的经济效益。经常提到的具体应用包括:门禁系统、身份证、通行证(包括门票)、电子收费系统(高速公路收费、停车场收费)、饲养动物识别、图书管理、物流管理等。

在我国读写器也已经很普遍,IC卡读写器也就是我们平时应用到的智能卡的读写机具、考勤与门禁系统等等。比如我们用的预付费电卡、煤气表卡、水表卡、乘车的公交卡等。目前市面上见到读卡器都是被整合在自助一体付费机里,或连接在银行柜台服务员的电脑里。有接触类和非接触类之分,用于读取不同的接触类卡片和非接触类卡片。IC卡读写器主要应用于为智能卡进行余额查询和充值的读写数据工作。

1.3 设计的主要目标任务

智能门禁系统设计主要分为两个部分:硬件系统和软件系统。硬件系统包括射频卡读写器电路的设计和相关芯片的选择;软件系统包括非接触式IC卡读写程序的设计、防冲突程序等的设计和串口通信程序的编写,以及门禁系统管理界面的设计。以射频识别技术为基础,依照国际标准ISO14443,设计出一种完整的非接触式IC卡读写模块并提出网络化门禁系统的设计方案。

本系统以89C51系列单片机STC89C52为控制核心,利用非接触式高频Mifare IC卡模块读取用户手中的IC卡信息,识别成功后与系统存储的IC卡库数据进行比对校验,如果IC卡数据库中有IC卡则证明IC卡合法,单片机通过控制继电器控制电子锁门禁开启和关闭。同

2

西南科技大学本科生毕业论文

时系统采用4*4矩阵键盘作为输入,LCD1602液晶作为人机交互显示,让系统具备更大的实用价值。

本课题设计功能有:

(1)51单片机最小系统设计。

(2)射频IC卡模块电路及驱动程序设计。 (3)LCD1602液晶显示模块及驱动程序设计。 (4)电子锁继电器驱动模块及驱动程序设计。 (5)4*4键盘模块及驱动程序设计。

(6)蜂鸣器/LED报警提示模块电路及驱动程序设计。

1.4 本章小结

本章通过调研此课题研究背景及国内外射频技术应用的现状,分析了门禁系统的重要意义,确定了本课题研究的主要意义及目标任务。

3

西南科技大学本科生毕业论文

第2章 门禁系统总体方案设计

2.1 系统设计原理

本系统是基于STC89C52单片机设计的IC卡门禁系统。系统由两个部分构成:硬件电路部分和软件部分。硬件部分主要是电路板的设计与制作,软件部分主要是各个模块的驱动及总程序调试与实现。

硬件电路主要由:51单片机最小系统、射频IC卡模块、LCD1602液晶显示模块、报警提示模块、4*4键盘模块、电子锁继电器模块、电源模块等构成。设计硬件系统总体框图如图2-1所示。

电源LCD1602液晶显示模IC卡读卡模块单片机STC89C52蜂鸣器/LED报警提示 4*4键盘模块电子锁门禁继电器驱动时钟

图2-1 门禁系统总体框图

2.2 硬件方案的选择

2.2.1主控制芯片的选择

方案一:采用ARM9微处理器作为控制器。

ARM9引系列处理器是英国ARM公司设计的主流嵌入式处理器 ARM9内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构; ARM9内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。ARM7没有MMU,ARM720T是MMU的 ,ARM9主要包括ARM9TDMI和ARM9E-S等系列ARM9是有MMU的,ARM940T只有Memory protection unit.不是一个完整的MMU。ARM7是典型的微处理器,体积小、处理能力强、功耗低,但价格昂贵,会造成产品成本增加。

4

西南科技大学本科生毕业论文

方案二:采用STC89C52单片机作为控制器

STC89C52单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。51成本低廉,使用方便,适合与本门禁系统的识别与控制。

综上分析,我们采用了第二个方案,即采用STC89C52单片机作为主控制芯片。 2.2.2 显示模块的选择

方案一:采用数码管显示。

数码管显示具有亮度高、显示简单简洁、成本低廉,可靠性高、响应速度快等有点。但如果采用数码管显示要想让能见度较远并且醒目的同时又要显示汉字、图片等丰富的信息,则需要的屏就要足够大,理所当然成本也就很高。电路复杂需器件也多。

方案二:采用LCD1602液晶显示。

LCD1602液晶器件与数码管显示模块相比,在硬件电路结构或显示程序都要简洁得多,且该器件的价格适中,批量价格更低。而且显示平稳、省电、美观,更容易实现题目要求,对后续的功能兼容性高。软件操作简单,可操作性强。

综上分析,采用第二个方案。 2.2.3电源电路的比较与选择

方案一:采用干电池供电。

因为单片机系统工作电压为5V直流,采用三节干电池串联的方式能够提供4.5V直流电压,能满足本课题演示过程需要,而且也比较稳定、方便。

方案二:自制直流稳压电源模块。

将插线板电源经过变压、整流、滤波、稳压后输出。为系统提供稳定可靠的电源。自制电源会增加硬件成本,同时高压转抵押也带来不稳定等因素,因此不采用此方法。

由于串联干电池方式能达到很好的要求,同时自由度很大,能满足系统的要求,且成本低廉,因此我们选择了方案一。 2.2.4 键盘输入模块的选择

方案一:采用独立按键电路输入

5

西南科技大学本科生毕业论文

独立按键结构简单使用它方便,只需要单片机I/O口和地跨接即可,当按下按键时候单片机I/O口电压被拉低,单片机就可以检测到此电压的变化,一次来判断是否有按键按下。但缺点是占用较多的I/O口资源。本系统需要按键数目较多,单片机I/O口相对紧张,不能占用太多I/O,因此此方法不可行。

方案二:采用4*4矩阵键盘模块。

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图3-5所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是比较合理的。

综上,本系统需要实现数字输入、IC卡添加、删除等复杂的功能,因此需要按键数据较多,所以我们选择占用较少I/O口的方案二。 2.2.5电子锁门禁驱动器件的选择

方案一:采用S8550三极管、继电器驱动。

S8550是一种常用的普通三极管。 它是一种低电压,大电流,小信号的PNP型硅三极管。三极管驱动具有电路结构简单,成本低廉等特点,比较适合此类设计。

继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

在使用时增大S8850三极管驱动电流来驱动继电器开关,进而来控制电子锁部件。 方案二:采用L298N驱动芯片。

L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5v-48v,逻辑部分5v供电,接受5vTTL电平。LN298内部继承大功率H桥路。具有稳定性高、使用简单,驱动力大等特点。

由于L298N芯片器件成本较高,会大大加大开发成本,同时光耦元件适用于高速低电压的开关场合,因此本方案不可取。

综上分析,我们采用了第一个方案。

6

西南科技大学本科生毕业论文

2.2.6 数据存储芯片的选择

方案一:采用单片机自带的EEPROM存储数据。

STC89C52单片机片内自带了2K的EEPROM闪存。改闪存可以反复擦除和读写很多次,不需要采用另外的存储器,使用起来方便快捷、而且不增加成本。

方案二:采用AT24C02存储芯片。

AT24C02是TI公司退出的典型的基于IIC总线协议的DIP8封装的偏外存储芯片。其内部是一个2K位串行CMOS EEPROM,内部含有256个8位字节。AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。此芯片性能较好,完全能够满足次设计的要求,但此芯片价格昂贵,需要增加外部电路和硬件成本,因此用于本课题大材小用。

综上分析,我们采用了第一个方案。

2.3 系统的软件设计

2.3.1 RFID通讯协议

读卡器与电子标签之间的通信方式是非接触式的无线通信,系统要与RFID通信并获取相关的信息,电子标签要给系统返回命令执行的结果,读写器与门禁控制器之间的通信和数据交换是通过双向的智能无线通讯来完成的。

(1)编码方式

在该门禁控制系统中电子标签与读卡器之间采用的是半双工的通信方式,编码方式采用的是脉宽调制编码方式,即PWM编码方式,该系统中PWM信号不是由硬件产生的,由单片机通过软件方式产生和调制PWM信号。设Te为PWM信号的码元周期,一般情况下Te取100娜到400娜之间,由码元周期Te可知该通信过程中的波特率为1/Te。在编码的过程中如果用3位码元来表示1位要发送的数据,第一和第三位码元为起始和终止码元,用中间的码元作为信息码元,即要发送的数据,采用3位码元来表示一位数据的PWM的编码方式。

(2) 数据格式

门禁控制器与电子标签之间的通信是通过约定好的协议来完成。射频标签向读写器发送数据是通过RF发射模块来完成的,RF数据帧的数据是由滚动码和固定码组成的,该系统中约定采用32位滚动码和34位固定码的数据帧格式,固定码是由28位的序列号、4位功能码和2位状态码组成的。控制器向ID卡发送数据帧是通过门禁控制器的LF发射模块来实现的。 2.3.2 RFID读写器

7

西南科技大学本科生毕业论文

RFID系统的工作方式为:MCU(微控制器,即STC89C52)通过串行口接收PC机的控制指令,与MFRC500进行数据通信;读写器的核心部分MF RC500负责数据信号的编码、解码,信号的调制、解调并通过天线建立读写器同射频Mifare卡之间的联系,实现对射频 Mifare1卡进行读写等一系列操作。

为实现读写器的功能,并根据系统硬件电路可知,硬件电路确定之后,射频读卡系统的主要功能将依赖于软件来实现,读写器软件部分设计包括三部分:系统硬件配置初始化、对 Mifare1卡的读写操作、利用液晶显示屏显示数据。

1.系统硬件配置初始化:包括对LCD液晶显示的初始化,射频模块接口的初始化。初始化成功后系统才可以正常工作。

2.对Mifare1卡的读写操作:这个过程包括装载密码,寻卡,防冲突,选卡,验证密码,读写卡,停卡等一系列过程。

3.液晶显示屏显示相关数据:液晶显示模块可以显示Mifare1卡的序列号等相关数据,也可以显示初始化、读写卡等相关程序的执行情况。 2.3.3 软件开发环境

单片机开发所使用的语言一般为汇编语言和C语言。本读写器中使用C语言进行程序设计。

KEIL C51是德国 KEIL公司推出的 WINDOWS 版的 MCS-51系列单片机开发套件, 可以直接对 8051 单片机的内部特殊功能寄存器I/O口进行操作,直接访问片内或者片外存储器,还可以进行各种位操作,能够产生简洁、高效率的程序代码,在代码质量上可以与汇编语言的特点相媲美,可用于编译汇编源程序、C源程序,链接和定位目标文件和库,创建HEX文件以及调试目标程序,并内嵌有RTX51实时操作系统,可简化复杂的多任务实时应用系统的设计。因此选用 KEIL C51 软件进行设计。

2.4 本章小结

通过对主控芯片、显示模块和电源电路等模块不同方案的比较,择优选取了适合本设计要求的既能满足要求又实惠的器件,来完成硬件部分模块的设计。并介绍了RFID通信协议、RFID读写器的和软件开发环境。

8

西南科技大学本科生毕业论文

第3章 门禁系统的硬件设计

整个系统硬件电路由:单片机最小系统、4*4键盘模块、LCD1602液晶显示模块、IC卡读卡模块、电子锁门禁继电器驱动模块、数据存储模块等组成。:

3.1 单片机最小系统设计

51单片机最小系统一般有:51单片机、电源模块、复位电路、时钟电路。 3.1.1 STC89C52单片机介绍

STC89C52是STC公司生产的一种低功耗、高性能CMOS 8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。

3.1.2 51最小系统电路设计

a.复位电路

单片机的复位分为上电自动复位和按钮手动复位两种。

上电复位电路:由22uf电解电容和10K电阻构成。原理是上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。

按键手动复位电路:电路由按键、10K电阻、1K电阻、22uf构成。原理是首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。

这里我们采用按键复位来实现,电路图如3-1所示:

10

西南科技大学本科生毕业论文

图3-1 单片机复位电路

b.时钟电路设计

时钟电路用于产生单片机所需要的时钟信号,单片机在时钟信号的控制下各部件之间同步协调工作。根据产生的方式不同,分为内部和外部两种时钟电路。

在MCS-51芯片内部有一个用于构成振荡器的高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,在引脚XTAL1和XTAL2上输出3V左右的正弦波,这就是单片机的振荡电路,如图3-2所示。

图3-2 单片机振荡电路

通常,电容C2和C3这取30pf左右,主要作用是帮助振荡器起振,晶体的振荡频率范围是1.2~12MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。在通常应用情况下,MCS-51使用振荡频率为6MHz或12MHz。在由多片单片机组成的系统中,

11

西南科技大学本科生毕业论文

为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。这是,外部的脉冲信号时经过XTAL2引脚注入,其连接如图3-2所示,由于XTAL2端逻辑电平不是TTL的,故需要外接一个上拉电阻,外接信号应为时钟频率低于12MHz的方波信号。 3.1.3 电源模块

主控部分的STC89C52芯片正常工作需5V电压,射频模块的MFRC522芯片正常工作需3. 3V电压,这就要求电源模块将输入的5V电压转化为3. 3V电压,从而能提供稳定的5V和3. 3V电压。

5V电压转化为3. 3V电压采用的是AMS1117芯片,它是一款正电压输出的低压降三端线性稳压电路,固定输出电压为3. 3V的电压精度为1%,在1A电流下的压降仅为1.2V,内部集成过热保护和限流电路,温度范围在-40°C ~25°C之间,适用于各类电子产品。

3.2 IC卡原理及驱动电路设计

3.2.1 Mifare射频卡技术参数

(1)容量为8K位(bits)=1K字节(bytes)EEPROM

(2)分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位 (3)每个扇区有独立的一组密码及访问控制 (4)每张卡有唯一序列号,为32位 (5)具有防冲突机制,支持多卡操作

(6)无电源,自带天线,内含加密控制逻辑和通讯逻辑电路 (7)数据保存期为10年,可改写10万次,读无限次 (8)工作温度:-20℃~50℃(湿度为90%) (9)工作频率:13.56MHZ (10)通信速率:106 KBPS

(11)读写距离:10 cm以内(与读写器有关) 3.2.2 IC卡内部结构介绍

(1)M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成, 16个扇区的64个块按绝对地址编号为0~63,存贮结构如图3-3所示:

12

西南科技大学本科生毕业论文

块0

扇区0 块1

块2 块3

扇区1

块0 块1 块2 块3

块0 块2 块3

图3-3 M1卡存储结构示意图 密码A 存取控制 密码B 密码A 存取控制 密码B ∶ ∶ ∶ 数据块 数据块 数据块

60 61 62 63

数据块 数据块 数据块 控制块 数据块 数据块 数据块 控制块

0 1 2 3 4 5 6 7

扇区15 块1

密码A 存取控制 密码B 控制块

(2)第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。 (3)每个扇区的块0、块1、块2为数据块,可用于存贮数据。

数据块可作两种应用:

a) 用作一般的数据保存,可以进行读、写操作;

b) 用作数据值,可以进行初始化值、加值、减值、读值操作。

(4)每个扇区的块3为控制块,包括了密码A、存取控制、密码B。具体结构如下:

A0 A1 A2 A3 A4 A5 FF 07 80 69 B0 B1 B2 B3 B4 密码A(6字节) 存取控制(4字节) 密码B(6字节)

(5)每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:

块0: C10 C20 C30 块1: C11 C21 C31 块2: C12 C22 C32 块3: C13 C23 C33

13

西南科技大学本科生毕业论文

三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如进行减值操作必须验证KEY A,进行加值操作必须验证KEY B,等等)。三个控制位在存取控制字节中的位置,以块0为例: 表3-1 对块0的控制表 bit 字节6 字节7 字节8 字节9 7 6 5 4 C20_b 3 2 1 0 C10_b C30_b C10 C30 C20 注: C10_b表示C10取反 。

存取控制(4字节,其中字节9为备用字节)结构如下所示:

表3-2 存取控制表 bit 字节6 字节7 字节8 字节9 7 C23_b C13 6 C22_b 5 C21_b 4 C20_b 3 C13_b C33_b 2 C12_b C32_b 1 C11_b C31_b 0 C10_b C30_b C12 C32 C11 C31 C10 C30 C33 C23 C22 C21 C20 注: _b表示取反 。

3.2.3 IC卡读写过程

非接触式IC卡的读写过程:通常由非接触式IC卡与读写器之间通过无线电波来完成读写操作。非接触型IC卡本身是无源体, 当读写器对卡进行读写操作时,在电磁波的激励下,卡片的LC串联谐振电路,由于其频率与读写器发射的频率相同,使得卡片中的LC谐振电路产生共振,从而是卡片的内置电容有了电荷,并通过在此电容另一端接有的一个单项导通的电子泵将电容内的电荷送到另一个电容内存储,当所积累的电荷达到一定值时,此电容作为电源为电路提供工作电压,将卡内数据发射出去或接收读写器的数据。

本设计采用的是无源非接触式IC卡,其卡片距离读卡器的有效范围是1~15cm,属于近耦合卡。

整个读写卡过程包括装载密码、询卡、防冲突、选卡、验证密码、读写卡和停卡。这一系列操作必须按固定的顺序进行。在非接触通讯中,为了保证读写器和卡片之间数据传递完整、可靠,采取以下措施:一是防冲突算法,二是通过16位CRC纠错,三是检查每字节的奇偶校验位,四是检查位数,五是用编码方式来区分“1”、“0”或无信息,而Mifare1卡片采用的是防冲突算法,在进行硬件复位后就进入防冲突机制。并且Mifare1卡是针对用户便捷操作的需要来进行优化的,高速的数据传输使得用户不必在读卡器天线处停留,能够形成高通过率,这也是本设计中所要实现的一个目标。

14

西南科技大学本科生毕业论文

命令由读卡器发出,根据读写条件受数字控制单元的控制。当卡上电复位后,通过发送request应答码(ATQA,符合ISO/IEC14443A),能够回应读写器向天线范围内所有卡发出的request命令。并且只有通过了防冲突机制以后才能选定卡片和通过认证,此后才能进行数据存储的一系列功能。

3.2.4单片机与IC卡读卡模块接口电路设计

本系统单片机和IC卡读卡器模块通过5个I/O口相连,驱动程序通过SPI总线模式实现IC卡的读写操作。IC卡读卡器与单片机接口电路如图3-4所示:

图3-4 接口电路

3.3 键盘电路设计

3.3.1 键盘识别原理

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显。

矩阵键盘的扫描通常采用:行扫描法。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,介绍过程如下。

(1)判断键盘中有无键按下 将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。

(2)判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

15

西南科技大学本科生毕业论文

3.3.2 键盘电路及键盘按键定义

本系统中4*4矩阵键盘通过8个I/O口与单片机相接,电路中我们用到了P1口。每个按键通过程序识别唯一的编号,然后在程序中对按键的键值进行在定义,让按键具备新的功能。矩阵键盘电路及按键定义如图3-5所示:

图3-5 4*4键盘电路

表3-3 键盘按键对应功能表 0 4 8 设置 1 5 9 + 2 6 确认 - 3 7 退出 密码清除 行线所接的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

3.4 电子锁门禁继电器驱动电路设计

3.4.1 继电器介绍

继电器是具有隔离功能的自动开关元件,广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一。如图3-6所示:

16

西南科技大学本科生毕业论文

图3-6 继电器示意图

继电器一般都有能反映一定输入变量(如电流、电压、功率、阻抗、频率、温度、压力、速度、光等)的感应机构(输入部分);有能对被控电路实现“通”、“断”控制的执行机构(输出部分);在继电器的输入部分和输出部分之间,还有对输入量进行耦合隔离,功能处理和对输出部分进行驱动的中间机构(驱动部分)。 3.4.2 继电器驱动电路设计

本系统设计的电子锁门禁系统,采用了一只PNP三极管S8550来驱动电路,其目的是增大驱动电流,因为继电器线圈驱动需要较大的电流才能启动,而单片机I/O输出的电流非常微弱,达不到驱动的要求。

当单片机I /O口输出低电平时S8550三极管导通,继电器线圈产生电磁感应将开关吸合,就接通了电子锁电源,电子锁就可以开了。当I/O口给高电平时,线圈没有电流,继电器断开。继电器电路如图3-7:

图3-7 继电器驱动电路

17

西南科技大学本科生毕业论文

3.5 LCD1602液晶显示电路设计

3.5.1 LCD1602液晶介绍

字符型液晶显示是一种专门用于显示字母、数字、符号等点阵式LCD,本设计采用的是LCD1602型液晶显示器,其外形尺寸为80×36×14,单5V供电,由左到右共16个引脚,其实物如图 3-7所示:

图3-8 LCD1602实物图

LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图3.13所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 3.5.2 单片机与LCD1602液晶接口介绍

LCD1602液晶显示模块可以和单片机STC89C52直接接口,DB0~DB7与单片机的P0.0~P0.7连接以便数据的传送与接收,4管脚、5管脚、6管脚分别与STC89C52单片机的P2.7口、P2.6口、P2.5口连接,电路如图3-9所示:

18

西南科技大学本科生毕业论文

图3-9 液晶接口电路

3.6 本章小结

本章主要介绍的是RFID读写器系统的硬件电路设计,包括单片机最小系统的设计、IC卡驱动电路设计、键盘电路设计、LCD1602液晶电路设计,其中包括单片机的晶振电路和复位电路、MFRC500外围电路、天线设计电路、MFRC500芯片与单片机接口电路、按键选择电路、显示电路和通信模块电路的设计,来实现各模块的设计。

19

西南科技大学本科生毕业论文

第4 章 系统的软件设计

4.1 系统总程序设计

整个RFID系统的工作方式为:MCU(微控制器,即AT89C52)通过串行口接收PC机的控制指令,与 MF RC500 进行数据通信;读写器的核心部分MF RC500负责数据信号的编码、解码,信号的调制、解调并通过天线建立读写器同射频 Mifare1卡之间的联系,实现对射频Mifare1卡进行读写等一系列操作。系统上电后首先进行初始化,完成液晶、键盘等初始化任务。然后进入死循环,单片机控制IC卡模块时时扫描判断是否有IC靠近,当靠近时,启动IC卡读取程序,识别IC卡卡片信息后,与AT24C02芯片内存储的IC卡数据库信息进行比对,如果校验成功则控制门禁开,反之则不开门禁。系统主流程图如图4-1所示:

开始系统初始化NRF2401无线接收收到数据?NY处理转换数据1602液晶显示结束

图4-1 系统主程序流程

20

西南科技大学本科生毕业论文

4.2 IC卡读写子程序设计

IC卡读写卡的过程一般包含如下几个步骤: (1)复位应答(Answer to request) 射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。 (2)防冲突机制 (Anticollision Loop) 当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。 (3)选择卡片(Select Tag) 选择被选中的卡的序列号,并同时返回卡的容量代码。 (4)三次互相确认(3 Pass Authentication) 选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。) IC卡读写流程图如图4-2所示: 按钮复位应答防冲突机制选择卡片三次相互验证读块写块加值减值中止 图4-2 IC卡读写操作流程图

21

西南科技大学本科生毕业论文

4.3 键盘扫描程序的设计

每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么,还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。矩阵键盘扫描子流程图如图4-3所示:

开始Px4为高?Rn清零Y向A送FEHPx5为高?NY向Px口送扫描字Px6为高?NPx口的值读回AYPx7为高?A的高四位=F?Y扫描字左移一位YNNN向A送0向A送4向A送8向A送12A+Rn向Rn送列键值+1Y扫描完毕N送显示

图4-3 矩阵键盘扫描子程序流程图

4.5 LCD1602液晶显示子程序

LCD1602液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写40个字符。LCD1602液晶显示程序流程图如图4-4所示:

22

西南科技大学本科生毕业论文

开始设置显示位LCD初始化写数据LCD写命令判忙LCD判忙写完?YP0.7=0?Y结束NP0.7=0?NYN写完?YN

图4-4 LCD1602液晶显示子程序流程图

从此流程图我们得出:LCD液晶显示屏在写显示程序的时候,我们要先写命令,再设定字符显示和汉字的位置,最后写数据,在每写一次命令或数据都需要判断液晶是否忙。打开液晶显示屏进入初始化状态,开始写命令,首先判断LCD是否忙,如果是P0.7=0,那么进入下一步写命令,如果不是P0.7=0,返回LCD是否忙。

4.6 电子锁门禁开关子程序设计

本系统的电子锁门禁开关,单片机只需要输出高低电平即可,输出高电平代表继电器上电,模拟电机运作,门禁开门,低电平即电机停止,门禁自动关闭。程序流程如图4-5所示:

开始IC卡扫描识别成功?YI/O输出低电平N电子锁门禁开

图4-5 门禁系统开关子程序流程图

23

西南科技大学本科生毕业论文

4.7 报警子程序设计

本系统的报警提示是通过蜂鸣器和LED来实现的,根据报警电路原理,报警是通过一个I/O口来实现的,当I/O口输出低电平,蜂鸣叫叫且LED亮;当I/O口输出高电平,蜂鸣器不叫且LED灭。报警提示子程序流程如图4-6所示:

开始IC卡扫描识别成功?NYI/O输出高电平LED/蜂鸣器报警关LED/蜂鸣器报警开

图4-6 蜂鸣器/LED报警子程序流程图

4.8 本章小结

本章主要完成了系统总程序的设计,一系统框图的方式,将各个模块如何运行,完成各自需要的动作,以实现设计要求的各项功能,其中包括了IC卡读写子程序的设计和键盘扫描程序的设计,以及液晶显示子程序等。

24

西南科技大学本科生毕业论文

第5 章 门禁系统的调试

5.1 门禁系统模拟调试

5.1.1 单片机软件模拟调试

系统软件调试采用Keil4编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作。将设计的程序通过编程器下载到单片机STC89C52单片机中,再将单片机插入插座里,给制作的实物连通电源。即可完成程序下载。

下载过程中,若出现现在失败,是因为单片机需要断电上电才能下载。关闭电源即可。前提是串口要找正确,单片机型号选择要正确。

软件调试也需要和硬件结合起来,本系统调试过程中即使如此。调试步骤如下:

(1)KEIL软件代码编写; (2)KEIL软件代码编译; (3)程序纠错,指导错误为0; (4)程序下载到单片机看运行情况;

(5)是否达到设计要求,否则返回1进行代码编写。

将软件程序下载到KEIL软件后运行程序,软件界面显示程序有误,如图5-1所示:

图5-1 程序报错

经过分析,在软件程序中代码有误,将程序出错代码改写,

25

西南科技大学本科生毕业论文

init_all();

GG=byte_read(0x2000); init_lcd();num=255;

timer0_init();//定时器初始化函数

YE=13;MO=11;DA=2;XQ=6;HH=MM=SS=0;//时钟、日期初始化

counter11=0;counter=0;x=0;

重新下载到软件并运行,结果与预想一样,能够实现预期的结果,调试如图5-2所示:

图5-2 KEIL软件调试

单片机软件的调试主要是观察以下几个方面:

在没有连接任何硬件设备之前,进行软件部分的上机的模拟调试。主要是使所编辑的程序没有语法上的错误。并且使得软件的编译尽量模块化,符合硬件的实际工作环境。

模拟量采集的软件调试部分:对8路模拟量的采集是通过一个调用函数READ_MONI()来实现的。在调试中要做到的就是模拟量采集数据的准确性。在实际调试中,通过在ADC0809的模拟通道上加上稳定的电压,然后由单片机读取并将结果送至上位机处理后显示出来结果与实际的电压对比,观察其相差程

26

西南科技大学本科生毕业论文

度的大小来实现的。对8个通道数据的采集都是采用这样的方法。直到所有的通道采集结果均达到所要求的精度要求就可以了。 5.1.2 单片机硬件模拟调试

在完成了系统的软、硬件设计工作之后,进行了实际的电路板焊装和整体调试,调试中使用的主要仪器有:万用表、示波器、伟福810仿真开发系统以及串口调试助手串口精灵。

卡操作调试

利用串口调试助手,刷卡后,观察卡号是否能够在串口精灵中正确显示。调试结果为:刷卡后,在串口精灵中可以看到正确的卡号。该调试结果表明:主板部分和读卡器部分以及串口通信都正常工作,能够达到预期的效果。

按键操作调试

在卡操作达到预期效果的前提下,按照按键操作说明,分别进行键盘操作,观察卡注册、卡注销、呼叫开门、修改密码等按键操作后,其相关操作都能正常工作。该调试结果表明:按键部分也能正常工作。

5.2 系统硬件焊接与调试

根据系统设计方案,本系统的调试可分为两大部分:模拟部分和纯MCU部分。由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试。断开两部分的连接点,先调试MCU部分。试着输入一系列脉冲(用适当的电阻接正极,间断性地输入),观察MCU部分能是否能显示;模拟借助示波器观察波形效果如何。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。最后将各模块组合后进行整体测试,使系统的功能得以实现。

1.硬件调试

硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺故障。 (1)脱机检查。按照电路原理图用万用表逐步检查电路板中所有器件的各引脚,尤其是电源的连接是否正确;检查各开关按键是否能正常工作:为了保护芯片,优先对各IC座(尤其是电源端)电位进行检查,确定无误后插入芯片。

(2)联机调试。暂时拆下芯片,将仿真器的仿真插头插入芯片插座进行调试,检验键盘电路是否满足要求。通过简单的测试软件来查看接口工作是否正常。例如,将一个能通过安检控制蜂鸣器声响检测键盘电路的好坏。运行结果与预期相符,蜂鸣器动作,可验证键盘电路没问题。

27

西南科技大学本科生毕业论文

2. 单片机的调试方法

首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间电压,看是否是电源电压,例如常用的5V。接下来就是检查复位引脚电压是否正 常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查 晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头 的“X10”档。另一个办法是测量复位状态下的I/O口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。另外还要注意的地方是,如果使用片内 ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将 EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因之一)。经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)。

5.3 功能验证

该部分调试是在系统软件以及硬件部分或者全部完成的情况下进行的。主要是观察部分或者全部系统的运行状况,以便进行下一阶段的设计或者改进。门禁系统硬件如图5-3所示:

图5-3 门禁系统硬件实物图

下面针对本项目在设计过程中的主要调试部分进行简要的过程、结果分析和说明。

28

西南科技大学本科生毕业论文

连接好硬件,包括:电源、各数据线以及串口线; 编译、运行单片机和上位机软件;

用一张已注册的卡刷卡,观察上位机界面中的相关变化:

在实时监控窗口中,显示:2015 年 5月 14 日 8 时 48 分,刷卡开门正确。LCD1602显示“DOOR OPEN 10S”如图5-4所示:

图5-4 刷卡开门正确

刷卡正确,门禁系统做出相应动作,继电器带电,表明能够完成开门动作,继电器动作如图5-5所示:

图5-5 继电器动作开门

用一张未注册的卡刷卡,观察上位机界面中的相关变化:

29

西南科技大学本科生毕业论文

在实时监控窗口中,显示:2015 年5 月 14 日 8 时 48 分,刷卡开门错误。 LCD1602显示“the card is not in the access”,如图5-6所示:

图5-6 未注册卡刷卡开门错误

通过键盘操作在管理员界面操作,输入密码进入管理员界面,对已注册卡进行操作。输入密码进入管理员界面如图5-7所示:

图5-7 输入密码

设置禁用该卡,观察上位机界面中的相关变化,随后用该卡开门,LCD1602显示屏显示“the card is not in the access”。如图5-8所示:

30

西南科技大学本科生毕业论文

图5-8 刷卡开门错误

至此,整个系统的调试部分完毕。调试结果表明,该系统能够达到预期的功能,而且工作稳定。

5.4 本章小结

本章主要描述了硬件的的焊接和系统程序的调试、优化,从KEIL软件的的安装开始,编写软件程序,并进行调试,以及出现错误和调试的办法。

31

西南科技大学本科生毕业论文

结 论

本系统以89C51系列单片机STC89C52为控制核心,利用非接触式高频Mifare IC卡模块读取用户手中的IC卡信息,识别成功后与系统存储的IC卡库数据进行比对校验,如果IC卡数据库中有IC卡则证明IC卡合法,单片机通过控制继电器控制电子锁门禁开启和关闭。同时系统采用4*4矩阵键盘作为输入,LCD1602液晶作为人机交互显示,让系统具备更大的实用价值。

本系统主要实现了一下功能: 1) 刷卡开门禁

刷卡后,系统自动识别IC卡的卡号信息,并与单片机数据库中存储的数据信息进行比对校验,当校验成功后,自动开启门禁,如果校验失败则蜂鸣器报警提示。

2) 键盘输入密码开门禁

本系统可以通过4*4矩阵键盘完成数字密码的输入,当密码输入完成后自动进行密码校验,当校验成功自动开启门禁,校验失败门禁关闭。 3) 密码掉电存储

系统通过键盘设置的密码,能够自动保存到单片机自带的EEPROM中实现掉电不丢失等功能。 4) 对用户的授权进行管理

在管理员界面下,能够对已有信息的用户的授权进行管理,空门门禁对其开启与否。

由于时间的关系,本课题在一下方面还有待改进:

1) IC卡数量还不够多,没有验证大量用户的刷卡情况,考虑的情景相对单一。

后期还需要考虑大量用户刷卡的情景,重点研究数据库存储,数据如何读取等问题。

2) IC卡识别的距离还不够远,目前仅能满足0-10CM的刷卡距离,仅仅能够满

意基本需要,后期还可以对IC卡识别距离进行提高,达到50CM左右就比较理想。

通过这次课设让我更深一步的了解的89C51的实际用处,也让我感受到单片机在实际中的重要性,在大量的动手锻炼下个人能力也得到了很大的提升。

32

西南科技大学本科生毕业论文

致 谢

在项目即将完成之际,也意味着是我们大学即将圆满完成,此时此刻,我的心情无法平静,从开始进入课题到项目的顺利完成,有多少可敬的老师、亲爱的同学和朋友给了我们无尽的帮助,在这里请接受我诚挚的谢意!

首先,我要感谢我的指导老师张华老师!项目选题后, 在项目资料查询、调研、开题、研究设计和论文撰写的每一个环节,都得到了张老师的悉心指导和帮助。在此我向张老师表示衷心的感谢!

同时,我还要感谢所有任课老师和系部领导,感谢他们对我们学习上和上活上的关心与支持,他们不仅传授了我丰富的知识,还教会了为人处事的原则,这些都让我在设计的过程中有一个良好的心态,并能让我终身受益。

最后,我再次对所有帮助我们、关心我们和支持我们的老师、家人、同学、朋友致以最崇高的敬意!谢谢大家

33

西南科技大学本科生毕业论文

参考文献

[1] 周学叶,单承赣.基于RFID的门禁系统设计[D].合肥工业大学计算机与信息学院.安

徽.2009.

[2] 翟德旭.基于射频卡技术的智能门禁系统[D].黑龙江大学电子工程学院.黑龙江.2012. [3] 陈锦.基于射频识别技术的门禁系统研究[D].武汉理工大学自动化学院.湖北.2010. [4] 张彦伟.基于RFID与3G无线通信的分布式门禁系统研究[D].浙江理工大学机械制造及

其自动化.浙江.2013.

[5] 刘建超.单片机与INTERNET的网络通信应用研究[D].山东师范大学.山东.2007. [6] 王静.基于单片机的数据串口通信[D].长江大学.湖北.2013.

[7] 黄宽,王长涛,解亚男,朱东梅.基于RFID技术的读卡器设计[J].科技广场.2012-8. [8] 刘新跃.基于RFID的智能门禁系统设计[J].成都大学学报(自然科学版).成都.2012. [9] 张万良.基于RFID技术的实验室门禁系统设计[J].电子测试.北京.2013. [10]张洁.基于RFID技术的智能门禁系统设计[D].河北科技大学.河北.2010.

[11]Ali Motamedi, Rakesh Saini, Amin Hammad. Role-based access to facilities lifecycle

information on RFID tags[J]. Advanced Engineering Informatics. 2011,3(25): 559–568. [12]Agnes Kelma, Lars Lau?ata. Mobile passive Radio Frequency Identification (RFID)

portal for automated and rapid control of Personal Protective Equipment (PPE) on construction sites[J]. Automation in Construction.2013,(36):38-52.

[13]Ju Hyun Leea, b, Jeong Hwa Songa, Kun Soo Oha. Information lifecycle management with

RFID for material control on construction sites[J]. Advanced Engineering Informatics.2013,1(27):108-119.

[14]Tan-Hsu Tan. Development and evaluation of an RFID-based e-restaurant system for

customer-centric service[J]. Expert Systems with Applications.2010,9(37):6482-6492. [15]Javad Majrouhi Sardroud. Influence of RFID technology on automated management of

construction materials and components[J]. Scientia Iranica.2012,3(19):381-392.

34

西南科技大学本科生毕业论文

附录1 电路图

35

西南科技大学本科生毕业论文

附录2 部分软件程序

//------------------------------------------ unsigned char SPIReadByte(void) { unsigned char SPICount; // Counter used to clock out the data unsigned char SPIData; SPIData = 0; for (SPICount = 0; SPICount < 8; SPICount++) the data to be read { SPIData <<=1; data CLR_SPI_CK; //nop();//nop(); Raise the clock to clock the data out of the MAX7456 if(STU_SPI_MISO) { SPIData|=0x01; } SET_SPI_CK; //nop();//nop(); // Drop the clock ready for the next bit } return (SPIData); }

// 写SPI数据

void SPIWriteByte(unsigned char SPIData) { unsigned char SPICount; clock out the data for (SPICount = 0; SPICount < 8; SPICount++) { if (SPIData & 0x80) { SET_SPI_MOSI; } else { CLR_SPI_MOSI; } nop();nop(); CLR_SPI_CK;nop();nop(); SET_SPI_CK;nop();nop();

36

// Prepare to clock in // Rotate the // // and loop back // Finally return the read data // Counter used to 西南科技大学本科生毕业论文

SPIData <<= 1; } }

//功 能:读RC632寄存器

//参数说明:Address[IN]:寄存器地址 //返 回:读出的值

unsigned char ReadRawRC(unsigned char Address) { unsigned char ucAddr; unsigned char ucResult=0; CLR_SPI_CS;

ucAddr = ((Address<<1)&0x7E)|0x80; SPIWriteByte(ucAddr); ucResult=SPIReadByte(); SET_SPI_CS; return ucResult; }

//功 能:写RC632寄存器

//参数说明:Address[IN]:寄存器地址 // value[IN]:写入的值

void WriteRawRC(unsigned char Address, unsigned char value) {

unsigned char ucAddr; CLR_SPI_CS;

ucAddr = ((Address<<1)&0x7E); SPIWriteByte(ucAddr);

37

本文来源:https://www.bwwdw.com/article/5pg7.html

Top