《基于射频识别技术的门禁系统设计--毕业论文.doc》由会员分享,可在线阅读,更多相关《基于射频识别技术的门禁系统设计--毕业论文.doc(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕 业 论 文基于射频识别技术的门禁系统设计作 者 姓 名 : 专 业、班 级: 学 号: 校内指导教师: 校外指导教师: 完 成 日 期 : xxx水利职业技术学院自动化工程系xxx水院自动化工程系毕业论文摘 要本文研究一种基于射频识别(RFID)技术的门禁系统。(1)研究了基于射频识别技术的门禁系统的总体设计,设计了射频IC读卡器的电路原理图。读卡器主要由射频天线、读卡模块、RS485通信接口及单片机控制系统组成,(2) 深入研究RFID 天线的EMC过滤器、接收电路以及天线匹配电路等构成并设计优化了天线耦合电路。(3)门禁终端通信采用RS485总线,同时结合门禁读卡器研究了RS485的网
2、络拓扑结构,通过RS485接口与PC机组成通信网络系统。(4)设计单片机的包看门狗、液晶显示、数据存储和实时时钟等在内的外围模块电路。(5)采用模块化软件设计方法,根据MF RC500的特性,系统地对MF RC500芯片的操作流程进行研究,设计主程序的流程图和各个模块子程序。(6)并建立一个Access数据库用来存储用户信息。上位机与下位机之间的通信采用串口通信,选用MAX232CPE芯片完成上、下位机之间的通信。关键词:门禁系统;射频识别;MF RC500;非接触式IC卡;串口通信- I -目 录摘 要I引言1第1章 门禁系统总体设计方案21.1 门禁系统总体系统设计21.2 门禁系统硬件设
3、计21.3门禁系统软件设计3第2章 门禁系统主要硬件电路设计32.1 门禁主控器32.2源模块设计52.3射频控制模块设计62.3.1 射频识别系统的典型结构62.3.2射频识别系统原理72.4 RS485通信模块设计92.4.1RS485接口92.4.2RS485网络拓扑结构112.5 液晶显示模块设计132.5.1 LCD1602介绍132.5.2 引脚功能介绍142.5.3 寄存器选择功能及指令功能142.6实时时钟的硬件设计152.6.1 实时时钟的接口152.6.2 时钟数据传输的控制162.6.3 时钟数据传送方式172.7电平转换电路设计172.7.1电平转换芯片172.7.2
4、MAX232芯片182.7.3电路连接图192.8报警电路设计19第3章IC卡与门禁主控器的选择203.1非接触式IC卡的选择203.2门禁控制电路213.3 读卡器选择22第4章 门禁系统软件设计244.1系统总体程序流程设计244.2 射频控制模块244.4 通讯模块274.5显示模块314.6上位机设计324.6.1 上位机程序流程图324.6.2用户登录界面设计334.6.3门禁系统界面设计35第5章系统调试及结果分析375.1 系统调试375.2 结论分析37参 考 文 献38附录 部分电路原理图及PCB图39致 谢41- I -引言随着我国社会主义市场经济的深入发展和未来知识经济时
5、代的临近,门禁系统作为一项安防措施,将会形成更大规模的产业。这方面的社会需求已在逐步升温。作为政府职能的重要组成部分,保障公民生命财产安全和社会的安定,实施综合安全服务工程将会像环保工程、生态农业工程一样,受到社会的关注和公众的欢迎。出入口门禁安全管理系统是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,光学,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施。适用各种机要部门,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂等。第1章 门禁系统总体设计方案1.1 门禁系统总体系统设计基于MF RC5
6、00射频识别门禁系统是以射频识别读写器为核心,系统的总体结构见图,门锁继电器以及其他一些辅助器件而组成的系统。系统的工作原理是先由微处理器ATmega16控制射频识别读写器读取非接触式IC卡的信号,接着,ATmega16根据所得数据输出四个开关量信号(门阀继电器有两个,分别控制进出),经放大后分别用于控制门锁继电器和读取门磁信号,并且整个系统与上位PC机之间进行通讯,获得指令以及传输系统状态等,最后,对系统的辅助设备,如液晶屏、E2PROM等进行操作。图3.1 系统的总体结构图1.2 门禁系统硬件设计系统硬件设计主要由ATmega16主控芯片和非接触式IC卡模块构成。硬件电路由八部分构成:微控
7、制器ATmega16、读卡器模块非接触式IC卡、LCD1602显示、串口通信MAX232、按键电路、AT24C04存储、报警电路、门控电路。微控制器ATmega16负责非接触式IC卡的初始化,上位机通过串口向非接触式IC卡发送命令,非接触式IC卡根据上位机发送的命令做相应的操作,然后将得到的信息传送给微控制器ATmega16,然后微控制器控制其它模块完成显示、报警、判断和门控操作。上位机与下位机之间的连接主要是通过串口进行通信,采用MAX232芯片并将芯片的输入和输出管脚连接到ATmega16的I/O口,在MAX232的引脚上连接10F的电解电容用来滤波。读卡器模块非接触式IC卡与微控制器AT
8、mega16之间的通信是通过I2C总线进行的,由于ATmega16单片机本身并没有I2C总线,所以将非接触式IC卡模块的串行时钟线与数据线接到ATmega16的两个I/O口,然后通过模拟I2C时序来完成ATmega16与非接触式IC卡之间的通信,为了防止出现三态,在非接触式IC卡的串行时钟线和数据线上分别上拉10k电阻。而非接触式IC卡与RFID卡之间的数据通信主要是通过天线进行的。AT24C04与ATmega16之间的通信也是通过模拟I2C时序进行,同时为了防止出现三态,在时钟线与数据线上分别连接5.1 k的上拉电阻。LCD1602与ATmega16之间的通信是通过将LCD1602的3条控制
9、线和8条数据线与ATmega16的I/O口相连。对于按键电路的设计是将3*4按键直接连接到ATmega16的7位I/O口,采用线反转法通过查询方式进行工作。1.3门禁系统软件设计软件主要实现数据的采集,数据的分析,模块之间的通信,以及相应的数据处理。数据采集:非接触式IC卡通过天线读取RFID卡的数据,然后将数据传送出去。数据分析:ATmega16接收到数据后,将数据传送给AT24C04或上位机,AT24C04或上位机对数据进行分析,从而判断数据的有效性。模块之间的通信:ATmega16与AT24C04之间的通信都是通过模拟I2C总线进行的, I2C总线的高效性、高实用性、高可靠性数据传输增强
10、了系统的实时性和可靠性。数据处理:针对数据的采集和分析的结果做出相应的处理,例如显示、报警、门控等。第2章 门禁系统主要硬件电路设计2.1 门禁主控器门禁系统的主控设备采用ATmega16单片机。AVR系列单片机是ATMEL公司开发的新一代单片机,在设计上打破常规,采用了全新的概念,突出的优点是高性能、低功耗的 8 位AVR 微处理器,并且具有先进的RISC 结构,方便设计者使用。一般而言ATmega16在1 MHz, 3V, 25C 时的功耗正常模式时的工作电流为 1.1mA ,空闲模式时的工作电流为 0.35mA,掉电模式时的工作电流 1 A。此外,该系列单片机拥有各种流行接口,方便与目前
11、许多种类的外围设备连接通信,操作方便快捷,非常适合于低功耗、混合信号处理的产品与应用。ATmega16的硬件设计特点如下:(1)CPU设计ATmega16单片机的CPU采用8位的RISC结构。拥有32个8位通用工作寄存器,其中X、Y、Z 特殊寄存器可以用作3 个16 位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。(2)内部存储器分为程序存储器(FLASH)和数据存储器(RAM)ATmega16具有丰富的内部存储单元,包括16K字节的程序存储器FLASH,512 字节EPROM和1K字节SRAM。(3)输入/输出(I/O)口ATmega16单片机32 个通用I/O 口线,作为通用数字
12、I/O 使用时,所有AVR I/O 端口都具有真正的读- 修改- 写功能。这意味着用SBI 或CBI 指令改变某些管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻) 时不会无意地改变其他管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻)。有些引脚还具有特殊功能,包括可工作于主机/ 从机模式的SPI 串行接口。(4)定时计数器ATmega16系列单片机有2个两个具有独立预分频器和比较器功能的8位定时器/计数器一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器(5)指令系统ATmega16系列单片机具有先进的RISC 结构,131条指令,并且大多数指令执行时间为单个时钟周期(6)睡眠模
13、式空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby模式综上所述,ATmega16单片机是一款功能强大、集成资源丰富的智能型微控制器。利用其上述特性,结合本系统的设计需求,主控设备需要实现以下的操作:(1)控制无线传输平台的传输过程,包括发送、接收模块的配置与控制.(2)控制电子锁的开启(3)LCD输出显示的驱动程序(4)报警模块的驱动程序针对以上需实现的功能,ATmega16单片机预留相应的资源与之对应。PB端口与无线传输系统的RF模块相连接,PC端口与LCD显示模块相连接,PD口与读卡模块相连接,PA口用于电子锁和报警模块相连接。ATmega1
14、6单片机的引脚图如图2.1所示。图2.1ATmega16单片机的引脚图2.2源模块设计门禁系统的电源电路如图2-2所示图2-2电源电路如图所示电路为输出电压+5V、输出电流1.5A的稳压电源。它由电源变压器T1,桥式整流电路D1,滤波电容C4、C6,防止自激电容C5、C13和一只固定式三端稳压器(LM7805)组成的。 220V交流市电通过电源变压器变换成交流低压,再经过桥式整流电路D1和滤波电容C4的整流和滤波,在固定式三端稳压器LM7805的IN和GND两端形成一个并不十分稳定的直流电压。此直流电压经过LM7805的稳压和C6的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。
15、2.3射频控制模块设计2.3.1 射频识别系统的典型结构射频识别系统的典型结构见图2.3主要是由两部份组成:读写器和射频卡。读写器同射频卡之间通过无线方式通讯,因此它们都有无线收发模块及天线(或感应线圈)。射频卡中有存储器,内存容量为几个比特到几十千比特。可以存储永久性数据和非永久性数据。永久性数据可以是射频卡序列号,它是用来作为射频卡的唯一身份标识,不能更改;非永久性数据写在E2PROM等可重写的存储器内,用以存储用户数据。射频卡可以根据读写器发出的指令对这些数据进行相应的实时读写操作。控制模块完成接收、译码及执行读写器的命令,控制读写数据,负责数据安全等功能。射频卡分无源卡和有源卡两种,有
16、源卡内置天线和电池,而无源卡只有内置天线没有电池,其能量由读写器提供,由于无源卡无需电池因此其尺寸较小且使用寿命长,应用越来越广泛。读写器内的控制模块往往具有很强的处理功能,除了完成控制射频卡工作的任务,还要实现相互认证、数据加解密、数据纠错、出错报警及与计算机通信等功能。计算机的功能是向读写器发送指令,并与读写器之间进行数据交换。图2.3.1 RFID系统典型结构2.3.2射频识别系统原理图2.4为RFID系统的工作过程,这是一个无源系统,即射频卡内不含电池,射频卡工作的能量是由射频读写模块发出的射频脉冲提供11-13。射频读写模块在一个区域内发射能量形成电场,区域大小取决于发射功率、工作频
17、率和天线尺寸。射频卡进入这个区域时,接收到射频读写模块的射频脉冲,经过桥式整流后给电容充电。电容电压经过稳压后作为工作电压。 数据解调部分从接收到的射频脉冲中解调出命令和数据并送到逻辑控制部分。逻辑控制部分接收指令完成存储、发送数据或其它操作。 如果需要发送数据,则将数据调制然后从收发模块发送出去。 读写模块接收到返回的数据后,解码并进行错误校验来决定数据的有效性,然后进行处理,必要时可以通过RS232或RS422或RS485或RJ45或无线接口将数据传送到计算机。读写器发送的射频信号除提供能量外,通常还提供时钟信号,使数据同步,从而简化了系统的设计。有源系统的工作原理与此大致相同,不同处只是
18、卡的工作电源由电池提供。图2.3.2射频识别系统原理图系统主要由MCU、时钟芯片、MF RC500、液晶屏、看门狗以及RS485通信模块组成。系统的工作方式是先由MCU 控制MF RC500 驱动天线Mifare卡,进行读写操作,然后,根据所得的数据对其它接口器件,如液晶屏、E2PROM、时钟芯片等,进行响应操作,最后,再与PC机之间进行通信,把数据传给上位机。MCU采用89C52,是因为89C52开发简单,运行稳定。E2PROM 采用24C64,用于存储系统的数据。24C64是串口操作方式,是一种性价比较高的存储芯片。液晶屏采用带字库的ST7920,是因为它是并口操作方式的,操作方便。时钟芯
19、片采用DS1302。DS1302是Dallas公司生产的新型产品,内置电池,可连续使用10 年,可以方便记录事件的发生时间。为了防止系统“死机”,使用x5045作为看门狗。x5045是串口工作方式,内置E2PROM,可用来存储一些系统参数。与上位机的通信采用RS485 通信模式,通信距离可以达到1000m左右。整个系统由9V电源供电,再由稳压模块7805 稳压成5V的电源。由于7805的工作热量很高,故在7805上安置一个散热片。图2.5 MF RC500与89C52的接口电路MF RC500是应用于13.56 MHz非接触式通信中高集成读卡IC系列中的一员。该读卡IC系列利用了先进的调制和解
20、调概念,完全集成了在13.56 MHz下所有类型的被动非接触式通信方式和协议。MF RC500支持IS014443A所有的层。内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(100mm)。接收器部分提供一个坚固而有效的解调和解码电路,用于ISO14443A兼容的应答器信号。数字部分处理ISO14443A帧和错误检测(奇偶&CRC)。此外,它还支持快速CRYPTO1加密算法用于验证MIFARE系列产品。方便的并行接口可直接连接到任何8位微处理器,这样给读卡器/终端的设计提供了极大的灵活性。2.4 RS485通信模块设计2.4.1RS485接口RS485定义了一种平衡通讯接口,它
21、允许在一条平衡线上同时接多个接收器。它的数据信号采用差分传输方式,也称作平衡传输。它使用一对双绞线,将其中一条线定义为A,另一条定义为B 13 。通常情况下,发送器A,B之间的电压在6-2V表示逻辑0;在+2+6V表示逻辑1,另外有一个信号地C。在RS485中还有一个使能端ENABLE;它用于控制发送器与传送线A, B断开与连接。当ENABLE为0时,发送器处于高阻状态并与平衡双绞线A, B断开;只有当ENABLE为1时,RS485的发送器才工作。接收器通过平衡双绞线将A与B分别对应连接,当接收器A, B之间的电压在+200mV-+6V之间时,输出逻辑1;在-6V -200mV时,输出逻辑0。
22、RS485 可以实现点对多通信和多对多通信,并可同时接32个发送器和32个接收器。RS485需要两个终接电阻接在传送总线的两端(在传送距离小于300米时可以不接),其阻值要求等于传送电缆的特性阻抗。本文中PC机与门禁系统之间采用RS485接口实现点对多通讯,工作于半双工方式 15 。读卡器在门禁系统中一般距离PC管理机比较远,而RS232只能用于短距离通信,长距离都用RS485串行通信芯片,数据传输距离一般达到1200m。 RS485是RS422的子集,以差分平衡方式传输信号,具有很强的抗共模干扰的能力。SP485R芯片管脚及互连电路见图3.7。 RS485收发器以半双工方式、单一+5V电源工
23、作,内部一个接收器R,一个驱动器D。 SP485R接口芯片是Sipex公司的一种RS485产品,8个管脚DIP封装141516 。(1)A ,B 为RS485总线接口。A为非反相接收输入或非反相驱动输出,B为反相接收输入或反相驱动输出。A端电平高于B端,代表数据1;A 端电平低于B端 ,代表数据0。(2)DI为发送器输入端,RO为接收器输出端。分别与单片机的TXD,RXD连接,单片机输出的信号从TXD发送,由DI输入经过SP485R驱动器转变成A,B信号传送出去; 外部输送进来的A,B 信号经过SP485R接收器转变成一个RO信号 ,输出给单片机RXD。(3)RE, DE为收发使能端。RE是接
24、收器输出使能,低电平有效;DE是驱动器输出使能 ,高电平有效,SP485R与单片机接口时,DI接单片机的发送端TXD,RO接单片机的接收端RXD,收发使能RE和DE两个管脚接单片机的一个I/O口线P3.3。 当P3.3= 1,DE满足要求,SP485R处于发送状态,当P3.3=0, RE满足要求,SP485R处于接收状态。单片机通过控制P3.3 实现与PC机数据交换的串行通信。图 2.4.1 SP485R 管脚及互连电路RS485总线型网络系统连接。数据传输采用主从站的方式,主机为PC机,从机为读卡器单片机。每个从机拥有自己的固定的地址,由主机控制完成网上的每一次通信。R为平衡电阻,通常取为1
25、20欧。开始所有从机处于监听状态,等待PC机的呼叫。当PC机向网上发某一从机的地址时,所有从机接收到该地址并与自己的地址相比较,如果相符说明PC机在呼叫自己,应发回应答信号,表示该从机已准备好,可以接收后面的命令和数据。不是呼叫自己,则不予理睬,继续监听呼叫地址。PC机收到从机的应答后,则开始一次通信。通信完毕,从机继续处于监听状态,等待呼叫。由于PC机只有RS232通讯接口,因此必须经过RS232/RS485转换器转换信号, PC机才能同门禁系统通信。RS232/RS485转换器原理见图3.8。图2.4.2 RS232/RS485转换器原理图PC机的串口通讯接口经过SP232芯片变成TTL电
26、平,然后使用SP485R将TTL电平变成RS485电平。在SP232和SP485之间采用了高速光电隔离器PS2501以提高抗干扰能力。SP485R是低功耗、半双工RS485收发器,它包含1个发送器和1个接收器。SP485R芯片与单片机的接口原理图见图2.4.3。在电路设计时,注意A和B端要接一个终端电阻,本系统接的是120欧姆。SP485R芯片有8个引脚,其中需要一个I/O口(本系统采用P3.4) 来控制SP485R的发送数据。当该I/O口为1时,SP485R能发送数据,当为0时,SP485R处于监听状态,只能接收数据。图2.4.3 SP485R芯片与单片机的接口原理图2.4.2RS485网络
27、拓扑结构网络中一个或多个功能与传输线路互连的点称为节点。节点可以定义为网络中通向任何一个分支的端点,或通向两个或两个以上分支的公共点。节点间的物理连接结构称为拓扑,分布式系统中有以下三种网络拓扑结构:星形:是中央控制型结构,一切通信经由中央控制节点。这种结构的控制方式简单、便宜,缺点是中央控制点有故障时,整个系统就会瘫痪,当通信量增加并要求高速通信时,中央控制单元的功能必须扩充,以克服“瓶颈阻塞”问题;如果采用冗余装置和自动切换技术来改善可靠性,又会大大增加系统的复杂程度和成本。总线形:所有节点共享一个公共物理通道 总线。这种结构的特点是:网络不封闭,容易加扩新节点,甚至用中继器连接多个总线,
28、形成无根树结构;节点间通过总线直接通信,速度快、延迟和开销小;某个节点故障对整个系统的影响相对较小;若采用令牌(Token)传递的控制协议,则可保证该网络有确定的较好的实时响应性。环形:相邻节点顺序连接形成的环路结构,信息一般仅以一个方向在环上从源节点传送到目的节点,控制方式简单,节点间可采用不同传输介质,速度也不同,缺点是某个环节故障会阻塞信息通路,可靠性差。RS485 的网络拓扑一般只能采用终端匹配的总线型结构,它不支持环形或星形网络,并且在构建网络时,应注意如下几点:从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。因为信号在各支路末端反射后与原信号叠加
29、,会造成信号质量下降,并且随着通信距离的延长或通信速率的提高,其不良影响会越来越严重。应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。下列几种情况易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。总之,RS485网络应该提供一条单一、连续的信号通道作为总线。门禁控制上位机与读卡器的底层控制结构采用了基于RS485小型局域网的分布式结构。由于要进行远距离传输数据,所以线路应接终端电阻进行阻抗匹配,以抑制数据传输的终端反射,避免信号失真。结构见图2.4.2。图2.4.2 上位机与读卡器的底层控制结构图由于冲突检测
30、和同步通信功能无法由软件实现,因而RS485总线通常采用二线制主从、异步通信方式。物理层采用带有屏蔽层的双绞线,通信方式为半双工方式,要经过RS232/RS485转换器才能实现RS232和RS485之间的通信规约以及相应的数据传输。RS485总线可以连接若干个节点,节点的个数,取决于所选用的RS485接口芯片的驱动器能驱动多少个标准的RS485负载。根据规定,标准RS485接口的输入阻抗为大于等于12千欧 ,相应的标准驱动节点数为32。为适应更多节点的通信场合,有些芯片的输入阻抗设计成1/2负载大于等于24千欧, 1/4负载大于等于48千欧,甚至1/8负载大于等于96千欧,相应的节点数可增加到
31、64、128和256。在RS485网络中,信号在传输线上传送,若遇到阻抗不连续的情况时,就会出现反射现象,从而影响信号的远距离传送。因此必须采用阻抗匹配的方法来消除反射。为了与电缆特性阻抗进行匹配,通常在总线的开始和末端都并接120欧电阻。此外,在系统安装过程中,传输线最好采用屏蔽线,而且应尽量做到信号传输线单独铺设,并且强信号线和弱信号线应尽量避免平行走向,尽量使二者正交,以使电磁耦合干扰减到最小。如果难以做到正交,也可以平行布线,但两者距离应足够大。2.5 液晶显示模块设计液晶显示器(LCD),具有功耗小,体积小,重量轻,超薄等许多其它显示器无法比拟的优点,近年来被广泛用于单片机控制的智能
32、仪器、仪表和低功耗电子系统中,LCD可分为段位式LCD、字符式LCD和点阵式LCD。其中段位式LCD和字符式LCD只能用于字符和数字的简单显示,点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字,并且可以实现屏幕上下左右滚动、动画功能等功能,用途十分广泛。本次设计主要是用于显示正确及错误信息,因此从性价比上考虑,选择了字符式LCD显示器1602,该显示器的显示容量是162个字符。本系统显示电路设计如图2.5.1所示。图2.5.1 LCD1602显示电路原理图2.5.1 LCD1602介绍如表3-2所示。VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高
33、,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度。RS为寄存器选择信号,高电平时选择数据寄存器,低电平时选择指令寄存器。R/W为读/写信号,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。2.5.2 引脚功能介绍表2.5.2 LCD1602引脚功能介绍引线号符号名称功能1VSS接地0V2VDD电路电源510%3VEE液晶驱动电压保证VDD-VEE=4.55V电压差4RS寄存器选
34、择信号H:数据寄存器 L:指令寄存器5R/W读/写信号H:读 L:写6E片选信号下降沿触发,锁存数据续表2.5.2 LCD1602引脚功能介绍引线号符号名称功能7|14DB0|DB7数据线数据传输15LEDA背光源正极16LEDK背光源负极2.5.3 寄存器选择功能及指令功能如表2.5.3寄存器选择功能描述,应当注意的是当忙标志为“1”时,表明正在进行内部操作,此时不能输入指令或数据,要等内部操作结束,忙标志为“0”时。表2.5.4寄存器选择功能描述RSR/W操作00指令寄存器(IR)写入01忙标志和地址计数器读出10数据寄存器(DR)写入11数据寄存器读出指令格式:RS R/W DB7 DB
35、6 DB5 DB4 DB3 DB2 DB1 DB0LCD1602共有11种指令:清除,返回,输入方式设置,显示开关,控制,移位,功能设置,CGRAM(可自编数据区)地址设置,DDRAM(显示缓冲区)地址设置,读忙标志,写数据到CG/DDRAM,读数据由CG/DDRAM。2.6实时时钟的硬件设计刷卡时要记录刷卡的时间,可以用单片机的定时器实现,这叫软件时钟。它有一定的局限性,设置时间间隔不当、CPU掉电等都会影响时钟的正常运行。用外接实时时钟芯片的办法,不仅能为系统提供一个准确可靠的时钟,而且节省CPU的资源,用备用电池供电能保证在CPU掉电时也不影响它的正常运行,这叫硬件时钟。在联网的情况下,
36、为了保证刷卡的时间与PC机上的时钟一致,PC机会每隔一定时间校核单片机内的时间。校核办法是由PC机将时间数据通过串口传送给单片机,单片机将该时间写入时钟芯片的内部时钟单元,以新的时钟为准计时。硬件实时时钟根据数据传送方式分为两种,一种是并行接口方式的,如DS12887, DS1387。并行接口方式数据传送快,但管脚多,与CPU的接口连线多,而且体积大。另一种是串行接口方式的,如DS1302, Philips公司的PCF8583等。这种芯片通常为8脚DIP封装,占用空间小,连线简单,一般只需占用CPU的2-3条I/O口线。我们采用体积小、接口简单的串行实时时钟DS1302芯片作硬件时钟。DS13
37、02是美国DALLAS公司推出的低功耗串行通信接口专用芯片,采用3线串行方式与单片机通信。片内有31字节的静态RAM,日历时钟可自动进行闰年补偿。时钟的运行可采用24h或带AM(上午)和PM (下午)的12h格式。数据可按单字节方式或多字节突发方式传送。DS1302是DS1202的升级产品,除保持DS 1202的实时时钟功能外,增加了双电源管脚。2.6.1 实时时钟的接口DS1302时钟芯片为8引脚DIP封装,引脚及与单片机的接口方式见图2. 6.1。管脚的含义 3536 :图2. 6.1 实时时钟的接口电路设计(1)X1, X2外接32768Hz的石英晶振;(2) Vcc1,Vcc2是电源引
38、脚,单电源供电时接Vcc1脚,双电源供电时主电源接Vcc2,备份电源接Vcc1,(3)SCLK是串行时钟输入线;(4)I/O是双向串行数据传送线,串行数据在时钟SCLK的上升沿输入;(5) RST为串行通信允许信号,RST=1允许通信,RST=0禁止通信。它与AT89C52的连接见图3. 14 34 ,DS1302与AT89C52连接的3根线是:(1) SCLK接CPU的P1.4, 同步时钟输入;(2) RST接CPU的P1.5,通信允许信号;(3) IO接 CPU的P1.4,串行数据输入输出。DS1302其它管脚的连接:(1) X1,X2接32768Hz的石英晶振(2) Vccl接3.6V,
39、60mAh备用理电池,为时钟的不间断运行提供电源。2.6.2 时钟数据传输的控制每个数据传输都是以先送命令字节开始,随后才是数据。命令字节又叫地址命令字节,其中包含要访问的地址及访问控制方式。格式如下:D7D6D5D4D3D2D1D01DRAM/CKA4A3A2A1A0R/W最高位必须是逻辑1,如果是0,则DS1302不允许写。D6位为逻辑0是操作时钟,逻辑1是内部RAM操作。D1到D5指出要操作的寄存器地址。D0是读/写操作控制,逻辑0是写,逻辑1是读。命令字节本身总是输入,低位D0在前 1 。2.6.3 时钟数据传送方式DS1302有单字节传送方式和多字节传送方式。在RST=1期间(RST
40、必须为1数据传送才有效),先送命令,紧接着发送一个字节的数据。DS1302在接收到命令后自动将数据写入指定的内部地址或从该地址读取数据。“二数据在SCLK的上升沿有效,读数据是在SCLK的下降沿有效。如果有额外的SCLK,会重新发送数据字节。多字节突发(burst)方式传送与单字节传送方式相似,在命令字节后,是多个字节的数据。但命令字节中的地址A0-A4必须全为1。在RST=1期间,DS1302接收到命令后,接着进行8个字节时钟或31个字节内部RAM数据的读写操作。时钟操作时,A0-A4表示的时钟寄存器地址中,00H-06H分别对应存放秒、分、时、日、月、星期、和年信息的寄存器,07H为写保护
41、控制寄存器,08H为电池充电控制寄存器。时钟数据以BCD码格式存放在00H-06H这7个寄存器中 12 。(1) 秒寄存器地址是00H,低4位为秒的个位。最高位为时钟控制位,该位为1时钟振荡器暂停,时钟停,为0时钟正常运行。高三位为秒的十位。(2)分钟寄存器地址是01H,低4位为分的个位,最高位为0,高三位为分的十位。(3)小时寄存器地址为02H,D7位为12/24小时选择位,D7=1是12小时制,此时D5表示上午/下午 ,D5=1是下午;24小时制时,D5是小时十位的另一位,即此 时 要用两位来表示小时的十位,D6位固定为0。(4)写保护寄存器为地址07H,也叫控制寄存器。最高位为写保护控制
42、位WP,其它位为0。 WP =1,不能向其它寄存器写。因此,在向DS1302进行写入操作之前必须先使写保护寄存器的最高位为0,然后才能写入其它单元。2.7电平转换电路设计2.7.1电平转换芯片如果两个51系列单片机系统之间距离很短,可以通过将它们的自带串口直接连接的方法实现双机通信15。但若通信距离较远,就可使用RS-232C接口延长通信距离。RS-232C标准是美国EIA与BELL等公司一起开发的,1969年公布的通信协议7。由于RS-232C标准规定的逻辑电平与TTL等数字电路的逻辑电平不兼容,因此二者之间进行相互连接时必须先进行串口电平的转换,即必须将单片机的TTL电平和RS-232C标
43、准电平进行转换。能够实现RS-232C电平转换的专用芯片有很多种,如MC1488、SN75150芯片可完成TTL到EIA电平的转换,而MC1489、SN75154可实现EIA到TTL电平的转换。常用的是Maxim公司的MAX232集成芯片,它能完成TTL和RS-232C的双向转换。2.7.2 MAX232芯片(1) MAX232的电路原理图如图2.7.1所示。 图2.7.1 MAX232的电路原理图 图2.7.2 MAX232的引脚图(2) MAX232的引脚图如图2.7.2 MAX232的引脚主要分为5个部分外接电容:有5个外接电容,进行电压匹配8和电源去藕。TTL的输入:两路TTL电平的输
44、入引脚11和10引脚,连接单片机的TXD的输出端口。TTL的输出:两路TTL 电平的输出引脚12和9引脚,连接单片机的RXD输出端口。RS-232的输入:两路RS-232电平的输入引脚13和8引脚,连接RS-232的TXD的输出端口。RS-232的输出:两路RS-232电平的输出引脚13和8引脚,连接RS-232的RXD的输出端口。2.7.3电路连接图MAX232的电路连接图如图2.7.3所示。图2.7.3 MAX232的电路连接图MAX232有两组通信串口,本系统只用到一组,其中T1IN连接单片机的P3.1,R1OUT连接单片机的P3.0,而T1OUT连接九针串口的2端,R1IN连接九针串口
45、的3端。这样单片机与PC机的串口连接起来了。2.8报警电路设计在本设计中,需要用到报警电路,当出现非法卡或输入的密码不正确时,就会进行报警。采用蜂鸣器和LED灯(红)作为报警电路的主要器件,将蜂鸣器的正端连接到+5V电源上,负端连接到三级管的发射极,集电极连接到地端,基极连接到1k电阻的一端另一端连接到单片机的26引脚上。当给0时蜂鸣器响,当给1时蜂鸣器不响。将LED(红)灯的正端通过300的电阻连接到+5V电源上,负端连接到单片机的17引脚上。当给17引脚送0时,LED(红)灯亮,送1时LED(红)灯灭。在本设计中,三级管起到开关作用,与三级管相连的1k电阻是为了保护三级管,防止电流过大而烧
46、毁三级管。与LED灯相连的300电阻也是起保护LED灯的作用。报警电路原理图如图2.8所示。图2.8报警电路原理图第3章IC卡与门禁主控器的选择3.1非接触式IC卡的选择基于MFRC500的射频模块可以采用Mifare1卡和MifareLight卡,它们都是Philips公司的Mifare系列产品。Mifare Light是一种小容量卡,其特性有:(1)容量为384位;(2)16位的数值计算;(3)128位的数据区;(4)用户可自定义控制权限;(5)唯一的32位序列号;(6)工作频率:13.56MHZ;(7)通信速率:106KB波特率;(8)防冲突:同一时间可处理多张卡;(9)读写距离:在10cm以内(与天线有关);(10)卡内无需电源:而 Mifare1 卡是较新的Mifare系列产品,其主要特性有:(1)容量为8K位E2PROM;(2)分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位;(3)每个扇区有独立的一组密码及访问控制;(4