版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
1、智能门禁系统设计智能门禁系统设计 摘要:随着射频技术的飞速发展及其应用范围的越发宽广,在身份识别和 安防等行业,门禁系统作为智能建筑的重要单元越来越得到重视,从原始的机 械锁操作到如今刷卡的智能门禁系统。射频识别技术的出现弥补了原来门禁系 统的不足,而且让门禁系统变的更加安全、便捷和实用。射频标签是采用非接 触式,具有读写速度快、功耗低等优点。 本文设计了一种采用 RFID(Radio Frequency Identification)技术的高安全 性的智能门禁系统。首先分析了门禁系统的国内外发展现状和趋势,阐述了门 禁系统当前存在的问题,引出课题研究目的和意义,给出了智能门禁系统设计 方案,
2、并对射频识别技术进行了阐述,研究了射频识别系统的工作原理、主要 技术参数和相关的关键技术。其次完成了系统硬件和软件设计,对硬件电路芯 片的选择、硬件驱动程序的设计、串口通讯程序的设计等作出了具体详细的分 析。 最后对智能门禁系统进行检测,当使用者进入门禁系统的检测范围时,系 统会自动获取身份信息确定该使用者是不是授权用户,并且记录进出人员信息, 对非授权用户发出报警信号。经试验测试,达到设计要求。 关键词:RFID;智能门禁;IC卡;STC89C52 Design of intelligent access control system Abstract:With the rapid deve
13、4 附录 1 电路图.35 附录 2 部分软件程序.36 第 1 章 绪 论 1.1 课题研究的背景及意义 IC 卡门考勤与门禁系统有人也称门禁系统器。其中比较核心的是 IC 读卡器部分。提起 IC 卡读卡器,很多人都立即会想到这种产品是配合数码相机而产生的,不过目前已经不再 局限于数码相机使用了,而是扩展到了更多的领域。“读卡器”顾名思义这是一种读取数据 的设备,但其不单单可以支持数据的读取同样支持数据的写入。其初期的设计思路主要是为 了弥补数码相机数据输出的缺陷而产生的。由于早期 USB 接口并不普及,因此数码相机的 输出口都是同电脑的串口连接的,由于串口的数据传输速度很低,如果把这些数据
14、拷贝到硬 盘上,那就要花费大量的等待时间了。因此,读卡器就应运而生了。 早在 1970 年 IC 卡读写器就伴随 IC 卡的产生而产生了,IC(Integrated Circuit)卡是 1970 年由法国人 Roland Moreno 发明的,他第一次将可编程设置的 IC 芯片放于卡片中,使 卡片具有更多功能。法国布尔(BULL)公司于 1976 年首先创造出 IC 卡产品,并将这项技术 应用到金融、交通、医疗、身份证明等多个行业,使读卡器也产生了不同的功能,和适应不 同场合的不同类型,它提供了将微电子技术和计算机技术结合在一起的 IC 卡与人直接沟通 的枢纽,提高了人们生活和工作的现代化程
15、度。 在我国的一些领域,如电信、交通、医疗等部门,使用 IC 卡也已经很普遍,很多单位 也已经使用 IC 卡来进行人员和财务管理。目前市面上见到读卡器都是被整合在自助一体付 费机里,或连接在银行柜台服务员的电脑里。有接触类和非接触类之分,用于读取不同的接 触类卡片和非接触类卡片。IC 卡读写器主要应用于为智能卡进行余额查询和充值的读写数 据工作。 如今,IC 卡考勤与门禁系统的制作成本将不断降低,IC 卡芯片随着半导体技术、大规 模集成电路芯片的发展而产生,也必将随着计算机技术、网络技术等的高速发展而迅速发展 壮大。而与其相伴而生的考勤与门禁系统的科学技术和制造工艺也再不断进步。 IC 卡发展
16、 的如此迅疾自然也会导致其读写器的性能越来越好,功能也越来越强。IC 卡考勤与门禁系 统现在在银行、消费办公场所到处可见。今天我们用的校园一卡通,在卡务中心就是通过 IC 卡读写器将 IC 卡与电脑相连来进行充值的,所以本设计将对 IC 卡考勤与门禁系统装置展 开研究。 1.2 国内外技术的发展现状 门禁控制系统是跟随着自动识别技术发展起来的,拥有很大的市场,有很多公司都从事门 禁控制系统的生产和开发。在国外的门禁系统有很多品牌,主要有美国的休斯(HID)、摩托 罗拉(MOTOROLA)、英国的集宝,以色列的 SERVANT 等品牌,国内门禁系统的品牌主要有 清华紫光和捷顺等。门禁系统可有效管
17、理门的开启与关闭,保证授权人员自由出入,限制未 授权人员进入。智能化门禁管理不仅方便了内部管理,而且增强了内部的保安,从而为用户 提供一个高效和具有经济效益的工作环境。 基于 RFID 技术的门禁管理系统将“感应卡”与“锁具”有机结合,进而由“感应卡” 替代“钥匙”,配合电脑实行智能化管理。正是由于感应卡的上市,使用者再也不需要携带 钥匙,更免除了钥匙被复制的烦恼,再也不必担心财物可能蒙受损失。同时,它在功能上实 现了通讯自动化、办公自动和管理自动化,以计算机网络为桥梁,全面实现对通讯系统、办 公自动化系统的综合管理。基于 RFID 技术的门禁系统作为一项先进的高科技技术防范和管 理手段,在一
18、些经济发达的国家已经广泛应用于科研、工业、博物馆、酒店、商场、医疗监 护、银行、监狱等,正是因为门禁技术应用的多样性,功能的完善和广泛的适应性,已成为 安防技术重点研究和开发的方向。 射频识别与手动系统如条形码相比有几项优势。即便标签被他物遮盖或者不可见,射频 标签只要靠近通过一个读取器就可以读取。无论是在手提箱里,纸箱里,盒子里,或是其他 什么容器里,射频标签都可以被读取。读取机可以一次读取上百个射频标签,而条形码只能 一次一读。 射频识别技术可应用的领域十分广泛,主要决定因素是该项技术在相应领域中的经济效 益。经常提到的具体应用包括:门禁系统、身份证、通行证(包括门票)、电子收费系统 (高
19、速公路收费、停车场收费)、饲养动物识别、图书管理、物流管理等。 在我国读写器也已经很普遍,IC 卡读写器也就是我们平时应用到的智能卡的读写机具、 考勤与门禁系统等等。比如我们用的预付费电卡、煤气表卡、水表卡、乘车的公交卡等。目 前市面上见到读卡器都是被整合在自助一体付费机里,或连接在银行柜台服务员的电脑里。 有接触类和非接触类之分,用于读取不同的接触类卡片和非接触类卡片。IC 卡读写器主要 应用于为智能卡进行余额查询和充值的读写数据工作。 1.3 设计的主要目标任务 智能门禁系统设计主要分为两个部分:硬件系统和软件系统。硬件系统包括射频卡读写 器电路的设计和相关芯片的选择;软件系统包括非接触式
20、 IC 卡读写程序的设计、防冲突程 序等的设计和串口通信程序的编写,以及门禁系统管理界面的设计。以射频识别技术为基础, 依照国际标准 ISO14443,设计出一种完整的非接触式 IC 卡读写模块并提出网络化门禁系统 的设计方案。 本系统以 89C51 系列单片机 STC89C52 为控制核心,利用非接触式高频 Mifare IC 卡模 块读取用户手中的 IC 卡信息,识别成功后与系统存储的 IC 卡库数据进行比对校验,如果 IC 卡数据库中有 IC 卡则证明 IC 卡合法,单片机通过控制继电器控制电子锁门禁开启和关 闭。同时系统采用 4*4 矩阵键盘作为输入,LCD1602 液晶作为人机交互显
21、示,让系统具备 更大的实用价值。 本课题设计功能有: (1)51 单片机最小系统设计。 (2)射频 IC 卡模块电路及驱动程序设计。 (3)LCD1602 液晶显示模块及驱动程序设计。 (4)电子锁继电器驱动模块及驱动程序设计。 (5)4*4 键盘模块及驱动程序设计。 (6)蜂鸣器/LED 报警提示模块电路及驱动程序设计。 1.4 本章小结 本章通过调研此课题研究背景及国内外射频技术应用的现状,分析了门禁系统的重要意 义,确定了本课题研究的主要意义及目标任务。 第 2 章 门禁系统总体方案设计 2.1 系统设计原理 本系统是基于 STC89C52 单片机设计的 IC 卡门禁系统。系统由两个部分
22、构成:硬件电 路部分和软件部分。硬件部分主要是电路板的设计与制作,软件部分主要是各个模块的驱动 及总程序调试与实现。 硬件电路主要由:51 单片机最小系统、射频 IC 卡模块、LCD1602 液晶显示模块、报警 提示模块、4*4 键盘模块、电子锁继电器模块、电源模块等构成。设计硬件系统总体框图如 图 2-1 所示。 电源 单片机 STC89C52 IC卡读卡模块 4*4键盘模块 LCD1602液晶显示模 蜂鸣器/LED报警提示 时钟 电子锁门禁继电器驱动 图图 2-1 门禁系统总体框图门禁系统总体框图 2.2 硬件方案的选择 2.2.1 主控制芯片的选择 方案一:采用 ARM9 微处理器作为控
24、制器 STC89C52 单片机是对目前所有兼容 Intel 8031 指令系统的单片机的统称。该系列单片 机的始祖是 Intel 的 8031 单片机,后来随着 Flash rom 技术的发展,8031 单片机取得了长足 的进展,成为目前应用最广泛的 8 位单片机之一,其代表型号是 ATMEL 公司的 AT89 系列, 它广泛应用于工业测控系统之中。目前很多公司都有 51 系列的兼容机型推出,在目前乃至 今后很长的一段时间内将占有大量市场。51 单片机是基础入门的一个单片机,还是应用最 广泛的一种。需要注意的是 52 系列的单片机一般不具备自编程能力。51 成本低廉,使用方 便,适合与本门禁系
25、统的识别与控制。 综上分析,我们采用了第二个方案,即采用 STC89C52 单片机作为主控制芯片。 2.2.2 显示模块的选择 方案一:采用数码管显示。 数码管显示具有亮度高、显示简单简洁、成本低廉,可靠性高、响应速度快等有点。但 如果采用数码管显示要想让能见度较远并且醒目的同时又要显示汉字、图片等丰富的信息, 则需要的屏就要足够大,理所当然成本也就很高。电路复杂需器件也多。 方案二:采用 LCD1602 液晶显示。 LCD1602 液晶器件与数码管显示模块相比,在硬件电路结构或显示程序都要简洁得多, 且该器件的价格适中,批量价格更低。而且显示平稳、省电、美观,更容易实现题目要求, 对后续的功
26、能兼容性高。软件操作简单,可操作性强。 综上分析,采用第二个方案。 2.2.3 电源电路的比较与选择 方案一:采用干电池供电。 因为单片机系统工作电压为 5V 直流,采用三节干电池串联的方式能够提供 4.5V 直流 电压,能满足本课题演示过程需要,而且也比较稳定、方便。 方案二:自制直流稳压电源模块。 将插线板电源经过变压、整流、滤波、稳压后输出。为系统提供稳定可靠的电源。自制 电源会增加硬件成本,同时高压转抵押也带来不稳定等因素,因此不采用此方法。 由于串联干电池方式能达到很好的要求,同时自由度很大,能满足系统的要求,且成本 低廉,因此我们选择了方案一。 2.2.4 键盘输入模块的选择 方案
27、一:采用独立按键电路输入 独立按键结构简单使用它方便,只需要单片机 I/O 口和地跨接即可,当按下按键时候单 片机 I/O 口电压被拉低,单片机就可以检测到此电压的变化,一次来判断是否有按键按下。 但缺点是占用较多的 I/O 口资源。本系统需要按键数目较多,单片机 I/O 口相对紧张,不能 占用太多 I/O,因此此方法不可行。 方案二:采用 4*4 矩阵键盘模块。 在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,如图 3-5 所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键 加以连接。这样,一个端口(如 P1 口)就可以构成 4*4=1
28、6 个按键,比直接将端口线用于键 盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线 键的键盘, 而直接用端口线 键)。由此可见,在需要的键数比较多时,采用矩阵法 来做键盘是比较合理的。 综上,本系统需要实现数字输入、IC 卡添加、删除等复杂的功能,因此需要按键数据 较多,所以我们选择占用较少 I/O 口的方案二。 2.2.5 电子锁门禁驱动器件的选择 方案一:采用 S8550 三极管、继电器驱动。 S8550 是一种常用的普通三极管。 它是一种低电压,大电流,小信号的 PNP 型硅三极 管。三极管驱动具有电路结构简单,成本低廉等特点,比较适合此类设计。
29、 继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出 电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控 制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用 小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换 电路等作用。 在使用时增大 S8850 三极管驱动电流来驱动继电器开关,进而来控制电子锁部件。 方案二:采用 L298N 驱动芯片。 L298N 是一种双 H 桥电机驱动芯片,其中每个 H 桥可以提供 2A 的电流,功率部分的 供电电压范围是 2.5v-48v,逻辑部分 5
30、v 供电,接受 5vTTL 电平。LN298 内部继承大功率 H 桥路。具有稳定性高、MK体育平台使用简单,驱动力大等特点。 由于 L298N 芯片器件成本较高,会大大加大开发成本,同时光耦元件适用于高速低电 压的开关场合,因此本方案不可取。 综上分析,我们采用了第一个方案。 2.2.6 数据存储芯片的选择 方案一:采用单片机自带的 EEPROM 存储数据。 STC89C52 单片机片内自带了 2K 的 EEPROM 闪存。改闪存可以反复擦除和读写很多次, 不需要采用另外的存储器,使用起来方便快捷、而且不增加成本。 方案二:采用 AT24C02 存储芯片。 AT24C02 是 TI 公司退出的典型的基于
31、IIC 总线 封装的偏外存储芯片。其 内部是一个 2K 位串行 CMOS EEPROM,内部含有 256 个 8 位字节。AT24C02 支持 I2C,总 线C,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线 接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。 通过器件地址输入端 A0、A1 和 A2 可以实现将最多 8 个 AT24C02 器件连接到总线上。此 芯片性能较好,完全能够满足次设计的要求,但此芯片价格昂贵,需要增加外部电路和硬件 成本,因此用于本课题大材小用。 综上分析,我们采用了第一个方案。 2.3
32、 系统的软件设计 2.3.1 RFID 通讯协议 读卡器与电子标签之间的通信方式是非接触式的无线通信,系统要与 RFID 通信并获取 相关的信息,电子标签要给系统返回命令执行的结果,读写器与门禁控制器之间的通信和数据 交换是通过双向的智能无线)编码方式 在该门禁控制系统中电子标签与读卡器之间采用的是半双工的通信方式,编码方式采用 的是脉宽调制编码方式,即 PWM 编码方式,该系统中 PWM 信号不是由硬件产生的,由单片机 通过软件方式产生和调制 PWM 信号。设 Te 为 PWM 信号的码元周期,一般情况下 Te 取 100 娜到 400 娜之间,由码元周期 Te 可知该通
33、信过程中的波特率为 1/Te。在编码的过程中如果用 3 位码元来表示 1 位要发送的数据,第一和第三位码元为起始和终止码元,用中间的码元作为 信息码元,即要发送的数据,采用 3 位码元来表示一位数据的 PWM 的编码方式。 (2) 数据格式 门禁控制器与电子标签之间的通信是通过约定好的协议来完成。射频标签向读写器发送 数据是通过 RF 发射模块来完成的,RF 数据帧的数据是由滚动码和固定码组成的,该系统中 约定采用 32 位滚动码和 34 位固定码的数据帧格式,固定码是由 28 位的序列号、4 位功能码 和 2 位状态码组成的。控制器向 ID 卡发送数据帧是通过门禁控制器的 LF 发射模块来实
34、现 的。 2.3.2 RFID 读写器 RFID 系统的工作方式为:MCU(微控制器,即 STC89C52)通过串行口接收 PC 机的控制 指令,与 MFRC500 进行数据通信;读写器的核心部分 MF RC500 负责数据信号的编码、解 码,信号的调制、解调并通过天线建立读写器同射频 Mifare 卡之间的联系,实现对射频 Mifare1 卡进行读写等一系列操作。 为实现读写器的功能,并根据系统硬件电路可知,硬件电路确定之后,射频读卡系统的 主要功能将依赖于软件来实现,读写器软件部分设计包括三部分:系统硬件配置初始化、对 Mifare1 卡的读写操作、利用液晶显示屏显示数据。 1系统硬件配置
35、初始化:包括对 LCD 液晶显示的初始化,射频模块接口的初始化。初 始化成功后系统才可以正常工作。 2对 Mifare1 卡的读写操作:这个过程包括装载密码,寻卡,防冲突,选卡,验证密 码,读写卡,停卡等一系列过程。 3液晶显示屏显示相关数据:液晶显示模块可以显示 Mifare1 卡的序列号等相关数据, 也可以显示初始化、读写卡等相关程序的执行情况。 2.3.3 软件开发环境 单片机开发所使用的语言一般为汇编语言和 C 语言。本读写器中使用 C 语言进行程序 设计。 KEIL C51 是德国 KEIL 公司推出的 WINDOWS 版的 MCS-51 系列单片机开发套件, 可以直接对 8051
36、单片机的内部特殊功能寄存器 I/O 口进行操作,直接访问片内或者片外存 储器,还可以进行各种位操作,能够产生简洁、高效率的程序代码,在代码质量上可以与汇 编语言的特点相媲美,可用于编译汇编源程序、C 源程序,链接和定位目标文件和库,创建 HEX 文件以及调试目标程序,并内嵌有 RTX51 实时操作系统,可简化复杂的多任务实时应用 系统的设计。因此选用 KEIL C51 软件进行设计。 2.4 本章小结 通过对主控芯片、显示模块和电源电路等模块不同方案的比较,择优选取了适合本设计 要求的既能满足要求又实惠的器件,来完成硬件部分模块的设计。并介绍了 RFID 通信协议、 RFID 读写器的和软件开
37、发环境。 第 3 章 门禁系统的硬件设计 整个系统硬件电路由:单片机最小系统、4*4 键盘模块、LCD1602 液晶显示模块、IC 卡读卡模块、电子锁门禁继电器驱动模块、数据存储模块等组成。: 3.1 单片机最小系统设计 51 单片机最小系统一般有:51 单片机、电源模块、复位电路、时钟电路。 3.1.1 STC89C52 单片机介绍 STC89C52 是 STC 公司生产的一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在 系统可编程 Flash 存储器。STC89C52 使用经典的 MCS-51 内核,但做了很多的改进使得芯 片具有传统 51 单片机不具备的功能。在单芯片上,拥有
38、灵巧的 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、定时器/计数器、串口、中断继续工作。
39、掉电保护方式下,RAM 内 容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运 作频率 35MHz,6T/12T 可选。 3.1.2 51 最小系统电路设计 a.复位电路 单片机的复位分为上电自动复位和按钮手动复位两种。 上电复位电路:由 22uf 电解电容和 10K 电阻构成。原理是上电瞬间,电容充电电流最 大,电容相当于短路,RST 端为高电平,自动复位;电容两端的电压达到电源电压时,电容 充电电流为零,电容相当于开路,RST 端为低电平,程序正常运行。 按键手动复位电路:电路由按键、10K 电阻、1K 电阻、22uf 构成。原理是首先经过上 电复位,当按下按
40、键时,RST 直接与 VCC 相连,为高电平形成复位,同时电解电容被短路 放电;按键松开时,VCC 对电容充电,充电电流在电阻上,RST 依然为高电平,仍然是复 位,充电完成后,电容相当于开路,RST 为低电平,正常工作。 这里我们采用按键复位来实现,电路图如 3-1 所示: 图图 3-1 单片机复位电路单片机复位电路 b.时钟电路设计 时钟电路用于产生单片机所需要的时钟信号,单片机在时钟信号的控制下各部件之间同 步协调工作。根据产生的方式不同,分为内部和外部两种时钟电路。 在 MCS-51 芯片内部有一个用于构成振荡器的高增益反相放大器,其输入端为芯片引脚 XTAL1,其输出端为引脚 XTA
41、L2。而在芯片的外部,XTAL1 和 XTAL2 之间跨接晶体振荡 器和微调电容,从而构成一个稳定的自激振荡器,在引脚 XTAL1 和 XTAL2 上输出 3V 左右 的正弦波,这就是单片机的振荡电路,如图 3-2 所示。 图图 3-2 单片机振荡电路单片机振荡电路 通常,电容 C2 和 C3 这取 30pf 左右,主要作用是帮助振荡器起振,晶体的振荡频率范 围是 1.212MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。在 通常应用情况下,MCS-51 使用振荡频率为 6MHz 或 12MHz。在由多片单片机组成的系统中, 为了各单片机之间时钟信号的同步,应当引入唯一的公
42、用外部脉冲信号作为各单片机的振荡 脉冲。这是,外部的脉冲信号时经过 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, 内部集成过热保护和限流电路,温度范围在-40C 25C 之间,适用于各类电子产品。 3.2 IC 卡原理及驱动电路设计 3.2.1 Mifare 射频卡技术参数 (1)容量为 8K 位(bits)=1K 字节(bytes)EEPROM (2)分为 16 个扇区,每个扇区为 4 块,每块 16 个字节,以块为存取单位 (3)每个扇区有独立的一组密码及访问控制 (4)每张卡有唯一序列号,为 32 位 (5)具有防冲突机制,支持多卡操作 (6)无电源,自带天线,内含加密控制逻辑和通讯逻辑电路 (7)数据保存
44、期为 10 年,可改写 10 万次,读无限次 (8)工作温度:-2050(湿度为 90%) (9)工作频率:13.56MHZ (10)通信速率:106 KBPS (11)读写距离:10 cm 以内(与读写器有关) 3.2.2 IC 卡内部结构介绍 (1)M1 卡分为 16 个扇区,每个扇区由 4 块(块 0、块 1、块 2、块 3)组成, 16 个 扇区的 64 个块按绝对地址编号为 063,存贮结构如图 3-3 所示: 块 0 数据块0 块 1数据块1 块 2数据块2 扇区 0 块 3密码 A 存取控制 密码 B控制块3 块 0数据块4 块 1数据块5 块 2数据块6 扇区 1 块 3密码
45、A 存取控制 密码 B控制块7 块 0数据块 60 块 1数据块61 块 2数据块62 扇区 15 块 3密码 A 存取控制 密码 B控制块63 图图 3-3 M1 卡存储结构示意图卡存储结构示意图 (2)第 0 扇区的块 0(即绝对地址 0 块),它用于存放厂商代码,已经固化,不可更 改。 (3)每个扇区的块 0、块 1、块 2 为数据块,可用于存贮数据。 数据块可作两种应用: a)用作一般的数据保存,可以进行读、写操作; b)用作数据值,可以进行初始化值、加值、减值、读值操作。 (4)每个扇区的块 3 为控制块,包括了密码 A、存取控制、密码 B。具体结构如下: 密码 A(6 字节) 存取
46、控制(4 字节) 密码 B(6 字节) (5)每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存 取控制。存取控制为 4 个字节,共 32 位,扇区中的每个块(包括数据块和控制块)的存取 条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如 下: 块 0: C10 C20 C30 块 1: C11 C21 C31 块 2: C12 C22 C32 块 3: C13 C23 C33 A0 A1 A2 A3 A4 A5 FF 07 80 69 B0 B1 B2 B3 B4 B5 三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如
48、10C33_bC32_bC31_bC30_b 字节 8C33C32C31C30C23C22C21C20 字节 9 注: _b 表示取反 。 3.2.3 IC 卡读写过程 非接触式 IC 卡的读写过程:通常由非接触式 IC 卡与读写器之间通过无线电波来完成读 写操作。非接触型 IC 卡本身是无源体, 当读写器对卡进行读写操作时,在电磁波的激励下, 卡片的 LC 串联谐振电路,由于其频率与读写器发射的频率相同,使得卡片中的 LC 谐振电 路产生共振,从而是卡片的内置电容有了电荷,并通过在此电容另一端接有的一个单项导通 的电子泵将电容内的电荷送到另一个电容内存储,当所积累的电荷达到一定值时,此电容作
49、 为电源为电路提供工作电压,将卡内数据发射出去或接收读写器的数据。 本设计采用的是无源非接触式 IC 卡,其卡片距离读卡器的有效范围是 115cm,属于近 耦合卡。 整个读写卡过程包括装载密码、询卡、防冲突、选卡、验证密码、读写卡和停卡。这一 系列操作必须按固定的顺序进行。在非接触通讯中,为了保证读写器和卡片之间数据传递完 整、可靠,采取以下措施:一是防冲突算法,二是通过 16 位 CRC 纠错,三是检查每字节的 奇偶校验位,四是检查位数,五是用编码方式来区分“1”、“0”或无信息,而 Mifare1 卡 片采用的是防冲突算法,在进行硬件复位后就进入防冲突机制。并且 Mifare1 卡是针对用
50、户 便捷操作的需要来进行优化的,高速的数据传输使得用户不必在读卡器天线处停留,能够形 成高通过率,这也是本设计中所要实现的一个目标。 命令由读卡器发出,根据读写条件受数字控制单元的控制。当卡上电复位后,通过发送 request 应答码(ATQA,符合 ISO/IEC14443A),能够回应读写器向天线范围内所有卡发出的 request 命令。并且只有通过了防冲突机制以后才能选定卡片和通过认证,此后才能进行数据 存储的一系列功能。 3.2.4 单片机与 IC 卡读卡模块接口电路设计 本系统单片机和 IC 卡读卡器模块通过 5 个 I/O 口相连,驱动程序通过 SPI 总线模式 实现 IC 卡的读
51、写操作。IC 卡读卡器与单片机接口电路如图 3-4 所示: 图图 3-43-4 接口电路接口电路 3.3 键盘电路设计 3.3.1 键盘识别原理 在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,如图 1 所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加 以连接。这样,一个端口(如 P1 口)就可以构成 4*4=16 个按键,MK体育平台比之直接将端口线用于键 盘多出了一倍,而且线数越多,区别越明显。 矩阵键盘的扫描通常采用:行扫描法。行扫描法又称为逐行(或列)扫描查询法,是一 种最常用的按键识别方法,介绍过程如下。 (1)判断键盘中有无键按下 将
52、全部行线置低电平,然后检测列线的状态。只要有一列 的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线 根行线 个按键之中。若所有列线均为高电平,则键盘中无键按下。 (2)判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其 方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某 根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电 平的行线交叉处的按键就是闭合的按键。 3.3.2 键盘电路及键盘按键定义 本系统中 4*4 矩阵键盘通过 8 个 I/O 口与单片机相接,电路中我们用到了 P1 口
53、。每个 按键通过程序识别唯一的编号,然后在程序中对按键的键值进行在定义,让按键具备新的功 能。矩阵键盘电路及按键定义如图 3-5 所示: 图图 3-5 4*4 键盘电路键盘电路 表表 3-33-3 键盘按键对应功能表键盘按键对应功能表 0123 4567 89确认退出 设置+-密码清除 行线所接的 I/O 口作为输出端,而列线所接的 I/O 口则作为输入。这样,当按键没有按 下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输 入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。 3.4 电子锁门禁继电器驱动电路设计 3.4.1 继电器介绍 继电器是具
54、有隔离功能的自动开关元件,广泛应用于遥控、遥测、通讯、自动控制、机 电一体化及电力电子设备中,是最重要的控制元件之一。如图 3-6 所示: 图图 3-63-6 继电器示意图继电器示意图 继电器一般都有能反映一定输入变量(如电流、电压、功率、阻抗、频率、温度、压力、 速度、光等)的感应机构(输入部分);有能对被控电路实现“通”、“断”控制的执行机 构(输出部分);在继电器的输入部分和输出部分之间,还有对输入量进行耦合隔离,功能 处理和对输出部分进行驱动的中间机构(驱动部分)。 3.4.2 继电器驱动电路设计 本系统设计的电子锁门禁系统,采用了一只 PNP 三极管 S8550 来驱动电路,其目的是
55、增 大驱动电流,因为继电器线圈驱动需要较大的电流才能启动,而单片机 I/O 输出的电流非常 微弱,达不到驱动的要求。 当单片机 I /O 口输出低电平时 S8550 三极管导通,继电器线圈产生电磁感应将开关吸 合,就接通了电子锁电源,电子锁就可以开了。当 I/O 口给高电平时,线圈没有电流,继电 器断开。继电器电路如图 3-7: 图图 3-73-7 继电器驱动电路继电器驱动电路 3.5 LCD1602 液晶显示电路设计 3.5.1 LCD1602 液晶介绍 字符型液晶显示是一种专门用于显示字母、数字、符号等点阵式 LCD,本设计采用的 是 LCD1602 型液晶显示器,其外形尺寸为 80361
56、4,单 5V 供电,由左到右共 16 个引脚, 其实物如图 3-7 所示: 图图 3-83-8 LCD1602 实物图实物图 LCD1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字 符图形,如图 3.13 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和 日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 B(41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A”。 3.5.2 单片机与 LCD1602 液晶接口介绍 LCD1602 液晶显示模块可以和单片机 STC89C52 直接接口,D
57、B0DB7 与单片机的 P0.0P0.7 连接以便数据的传送与接收,4 管脚、5 管脚、6 管脚分别与 STC89C52 单片机的 P2.7 口、P2.6 口、P2.5 口连接,电路如图 3-9 所示: 图图 3-93-9 液晶接口电路液晶接口电路 3.6 本章小结 本章主要介绍的是 RFID 读写器系统的硬件电路设计,包括单片机最小系统的设计、IC 卡驱动电路设计、键盘电路设计、LCD1602 液晶电路设计,其中包括单片机的晶振电路和 复位电路、MFRC500 外围电路、天线 芯片与单片机接口电路、按键选 择电路、显示电路和通信模块电路的设计,来实现各模块的设计。 第
58、 4 章 系统的软件设计 4.1 系统总程序设计 整个 RFID 系统的工作方式为:MCU(微控制器,即 AT89C52)通过串行口接收 PC 机的 控制指令,与 MF RC500 进行数据通信;读写器的核心部分 MF RC500 负责数据信号的编 码、解码,信号的调制、解调并通过天线建立读写器同射频 Mifare1 卡之间的联系,实现对 射频 Mifare1 卡进行读写等一系列操作。系统上电后首先进行初始化,完成液晶、键盘等初 始化任务。然后进入死循环,单片机控制 IC 卡模块时时扫描判断是否有 IC 靠近,当靠近时, 启动 IC 卡读取程序,识别 IC 卡卡片信息后,与 AT24C02 芯
59、片内存储的 IC 卡数据库信息进 行比对,如果校验成功则控制门禁开,反之则不开门禁。系统主流程图如图 4-1 所示: 开始 结束 收到数据? 系统初始化 处理转换数据 1602液晶显示 NRF2401无线 系统主程序流程系统主程序流程 4.2 IC 卡读写子程序设计 IC 卡读写卡的过程一般包含如下几个步骤: (1)复位应答(Answer to request) 射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作 范围时,读写器以特定的协议与它通讯,从而确定该卡是否为 M1 射频卡,即 验证卡片的卡型。 (2)防冲突机制 (Anticollision L
60、oop) 当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操 作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。 (3)选择卡片(Select Tag) 选择被选中的卡的序列号,并同时返回卡的容量代码。 (4)三次互相确认(3 Pass Authentication) 选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码 进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另 一扇区时,则必须进行另一扇区密码校验。) IC 卡读写流程图如图 4-2 所示: 复位应答 防冲突机制 选择卡片 三次相互验证 写块读块减值加值中止 按钮 图图
61、 4-2 IC 卡读写操作流程图卡读写操作流程图 4.3 键盘扫描程序的设计 每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。 矩阵的行线和列线分别通过两并行接口和 CPU 通信。键盘处理程序的任务是: 确定有无键按下,判断哪一个键按下,键的功能是什么,还要消除按键在闭合 或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另 一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键, 通过软件查表,查出该键的功能。矩阵键盘扫描子流程图如图 4-3 所示: 向Px口送扫描字 Px口的值读回A 向Rn送列键值+1 Rn清零 扫描字左移一位 向A送FEH
62、 向A送4 向A送8 向A送12 A+Rn 送显示 向A送0 Px7为高? 扫描完毕 Px4为高? A的高四位 =F? Px5为高? Px6为高? 开始 N N N N N N Y Y Y Y Y Y 图图 4-3 矩阵键盘扫描子程序流程图矩阵键盘扫描子程序流程图 4.5 LCD1602 液晶显示子程序 LCD1602 液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符, 同时每行可以写 40 个字符。LCD1602 液晶显示程序流程图如图 4-4 所示: 开始 LCD初始化 判忙 LCD判忙 设置显示位 写数据 LCD写命令 P0.7=0? P0.7=0? 写完? 写完? 结束 N Y
63、 N Y Y N N Y 图图 4-4 LCD1602 液晶显示子程序流程图液晶显示子程序流程图 从此流程图我们得出:LCD 液晶显示屏在写显示程序的时候,我们要先写 命令,再设定字符显示和汉字的位置,最后写数据,在每写一次命令或数据都 需要判断液晶是否忙。打开液晶显示屏进入初始化状态,开始写命令,首先判 断 LCD 是否忙,如果是 P0.7=0,那么进入下一步写命令,如果不是 P0.7=0,返 回 LCD 是否忙。 4.6 电子锁门禁开关子程序设计 本系统的电子锁门禁开关,单片机只需要输出高低电平即可,输出高电平 代表继电器上电,模拟电机运作,门禁开门,低电平即电机停止,门禁自动关 闭。程序
64、流程如图 4-5 所示: 开始 IC卡扫描 识别成功? I/O输出低电平 电子锁门禁开 N Y 图图 4-5 门禁系统开关子程序流程图门禁系统开关子程序流程图 4.7 报警子程序设计 本系统的报警提示是通过蜂鸣器和 LED 来实现的,根据报警电路原理,报 警是通过一个 I/O 口来实现的,当 I/O 口输出低电平,蜂鸣叫叫且 LED 亮;当 I/O 口输出高电平,蜂鸣器不叫且 LED 灭。报警提示子程序流程如图 4-6 所示: 开始 IC卡扫描 识别成功? I/O输出高电平 LED/蜂鸣器报警关 LED/蜂鸣器报警开 N Y 图图 4-6 蜂鸣器蜂鸣器/LED 报警子程序流程图报警子程序流程图
65、 4.8 本章小结 本章主要完成了系统总程序的设计,一系统框图的方式,将各个模块如何 运行,完成各自需要的动作,以实现设计要求的各项功能,其中包括了 IC 卡读 写子程序的设计和键盘扫描程序的设计,以及液晶显示子程序等。 第 5 章 门禁系统的调试 5.1 门禁系统模拟调试 5.1.1 单片机软件模拟调试 系统软件调试采用 Keil4 编译器进行源程序编译及仿真调试,同时进行硬 件电路板的设计制作。将设计的程序通过编程器下载到单片机 STC89C52 单片 机中,再将单片机插入插座里,给制作的实物连通电源。即可完成程序下载。 下载过程中,若出现现在失败,是因为单片机需要断电上电才能下载。关 闭
66、电源即可。前提是串口要找正确,单片机型号选择要正确。 软件调试也需要和硬件结合起来,本系统调试过程中即使如此。调试步骤 如下: (1)KEIL 软件代码编写; (2)KEIL 软件代码编译; (3)程序纠错,指导错误为 0; (4)程序下载到单片机看运行情况; (5)是否达到设计要求,否则返回 1 进行代码编写。 将软件程序下载到 KEIL 软件后运行程序,软件界面显示程序有误,如图 5-1 所示: 图图 5-1 程序报错程序报错 经过分析,在软件程序中代码有误,将程序出错代码改写, init_all(); GG=byte_read(0 x2000); 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-25-2 KEIL 软件调试软件调试 单片机软件的调试主要是观察以下几个方面: 在没有连接任何硬件设备之前,进行软件
1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
UG NX12.0机电产品三维数字化设计实例教程 教案全套 戚春晓 1.UG设计基础 -6.工程图设计