射频身份识别系统设计_第1页
射频身份识别系统设计_第2页
射频身份识别系统设计_第3页
射频身份识别系统设计_第4页
射频身份识别系统设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

射频卡身份识别系统设计PERSONIDENTIFICATIONSYSTEMDESIGNOFRFIDCARD摘要随着科学技术的飞速发展,单片机的应用正在不断地走向深入。单片机技术应向着数字化控制,智能化控制方向发展。门禁,又称出入管理控制系统ACCESSCONTROLSYSTEM。是一种管理人员进出的数字化管理系统。射频识别技术是一项利用射频信号通过空间耦合交变磁场或电磁场实现无接触信息传递并通过所传递的信息达到识别目的的技术。射频识别是非接触式的自动识别,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。射频识别技术中,标签与读写器通过无线射频信号交换信息。由于RFID标签具有非接触识别、可识别高速运动物体、抗恶劣环境、保密性强、可同时识别多个识别对象等突出特点,射频标签已被广泛应用于工业、商业、交通运输、物流、物品管理系统、畜禽检疫管理等众多领域。本文介绍单片机结合RF01D读卡机模块实现的方案。RF01D感应式读卡机模块是针对125KHZ非接触式RFID晶片而设计的读卡机模块。它能针对目前市面上125KHZ非接触式RFID晶片进行资料读取与资料判断。本系统将RF01D读卡器读入的卡号通过韦根26通信协议读出并通过数码管显示出来。该系统是具有识别ID卡功能的产品,产品主要应用范围为人员考勤管理、门禁管制系统、玩具、动物或物品辨识及产品管理。关键词单片机读卡机模块通信协议ABSTRACTWITHTHERAPIDDEVELOPMENTOFSCIENCEANDTECHNOLOGY,THEAPPLICATIONOFSINGLECHIPMICROCOMPUTERISCONTINUOUSLYDEEPENINGSINGLECHIPTECHNOLOGYSHOULDBETOWARDSTHEDIGITALCONTROL,INTELLIGENTCONTROLOFDIRECTIONACCESSCONTROL,ALSOKNOWNASACCESSMANAGEMENTCONTROLSYSTEMACCESSCONTROLSYSTEMMANAGERSACCESSTOADIGITALMANAGEMENTSYSTEMRADIOFREQUENCYIDENTIFICATIONTECHNOLOGYISUSAGEOFARADIOFREQUENCYSIGNALTHROUGHSPACECOUPLINGALTERNATINGMAGNETICFIELDORELECTROMAGNETICFIELDTOACHIEVENONCONTACTTRANSMISSIONOFINFORMATIONANDTHROUGHTHEMESSAGETOIDENTIFYTHEPURPOSERFIDISNONCONTACTAUTOMATICIDENTIFICATION,ITGETSTARGETANDRELEVANTDATATHROUGHTHERADIOFREQUENCYSIGNALAUTOMATICALLY,IDENTIFIESWITHOUTHUMANINTERVENTION,CANWORKINAVARIETYOFHARSHENVIRONMENTSINRFIDTECHNOLOGY,LABELSANDREADERSEXCHANGETHEINFORMATIONTHROUGHRADIOFREQUENCYSIGNALSASTHERFIDTAGHASANONCONTACTIDENTIFICATION,ITCANIDENTIFYHIGHSPEEDOBJECTS,ANTIPOORENVIRONMENT,CONFIDENTIALITY,IDENTIFYMULTIPLETARGETSSIMULTANEOUSLY,SUCHSALIENTFEATURESMAKINGITWIDELYUSEDININDUSTRY,COMMERCE,TRANSPORTATION,LOGISTICS,MATERIALSMANAGEMENTSYSTEMS,LIVESTOCKQUARANTINEMANAGEMENTANDMANYOTHERFIELDSTHISARTICLEDESCRIBESTHECOMBINATIONOFSINGLECHIPMODULERF01DREADERPROGRAMINDUCTIVERF01DREADERMODULEISAIMEDAT125KHZCONTACTLESSCHIPRFIDREADERDESIGNEDMODULESITISCURRENTLYAVAILABLEINTHEMARKETFOR125KHZCONTACTLESSRFIDCHIPREADINGANDDATAINFORMATIONTOJUDGERF01DTHESYSTEMWILLREADTHECARDREADERTHROUGHTHEWIEGANDCOMMUNICATIONPROTOCOLTOREADOUT26ANDOUTTHROUGHTHEDIGITALDISPLAYTHESYSTEMISAFUNCTIONOFIDENTIFICATIONIDCARDPRODUCTS,ANDPRODUCTSAREMAINLYFORSTAFFTIMEANDATTENDANCEAPPLICATIONMANAGEMENT,ACCESSCONTROLSYSTEMS,TOYS,ANIMALSOROBJECTSTOIDENTIFYANDPRODUCTMANAGEMENTKEYWORDSSINGLECHIPMICROCOMPUTERREADERMODULECOMMUNICATIONPROTOCOL目录摘要IABSTRACTII绪论11系统总体设计211引言212系统的基本构成2121系统实现方法2122系统结构213工作原理32硬件设计421硬件系统的主要构成4211单片机89C524212RF01D读卡器模块7213CD4511芯片10214ULN2003达林顿阵列1222系统硬件电路模块13221感应读卡机模块13222显示模块1423本章小结153软件设计1631引言1632系统软件主要构成16321总模块的流程图16322初始化程序16323显示程序17324中断读入数据程序18325密码比较程序20326总控制程序2333本章小结284系统调试2941引言2942系统硬件调试2943系统软件调试30431显示调试30432中断读数调试3044本章小结32结论34致谢35参考文献36附录一电路原理图38附录二软件总程序39绪论随着科学技术的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益。单片机在电子科技中扮演的角色越来越重要,许许多多复杂的功能的实现通过一个小小的芯片就能得到解决。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用的,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合。单片机技术的应用给人们的工作、科研、生活带来很大的方便。单片机技术应向着数字化控制,智能化控制方向发展。为了更好的运用这门技术,需要我们不断深入的学习。射频识别技术具有很多优势通过射频信号自动识别目标对象,无需可见光源;具有穿透性,可以透过外部材料直接读取数据,保护外部包装,节省开箱时间;射频产品可以在恶劣环境下工作,对环境要求低;读取距离远,无需与目标接触就可以得到数据;支持写入数据,无需重新制作新的标签;使用防冲突技术,能够同时处理多个射频标签,适用于批量识别场合;可以对RFID标签所附着的物体进行追踪定位,提供位置信息。由于RFID芯片的小型化和高性能芯片的实用化,射频识别标签不仅帮助不同领域的管理者追踪物品的位置和搬运情况,还可以实时报告标签上附带的其他信息,比如温度和压力等。射频标签是通过连接到数据网络上的读写器来提供此类信息的,迄今为止射频识别标签主要作为条码的延伸而应用于工厂自动化或者库存管理等领域。但最终说来,尺寸更小的射频识别标签将应用于更先进的领域内。WIEGAND协议是国际上统一的标准,有很多格式,标准的26BIT应该是最常用的格式。而标准26BIT格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26BIT格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26BIT格式。1系统总体设计11引言在日常生活中经常要用到门禁系统来保护我们的财产。非接触IC卡由于其较高的安全性,最好的便捷性和性价比成为门禁系统的主流。RF01D感应式读卡机模块是针对125KHZ非接触式RFID晶片而设计的读卡机模块。它能针对目前市面上125KHZ非接触式RFID晶片如瑞士EM公司H4001、4102;台科TK4001、4102以及凌航科技GK4001晶片或其他规格相近产品进行资料读取与资料判断,使用者可以发展此感应式读卡机建立相关应用系统,产品主要应用范围为人员考勤管理、门禁管制系统、玩具、动物或物品辨识及产品管理。此读卡机模块优点有1独立性高,后段控制规划容易,安装简单。2资料读取稳定性高。3系统安全性高;RFID资料不重复且难以复制可以安全使用。(3)可规划输出控制标准界面格式(跳线设置)。12系统的基本构成整个系统以单片机89C52为控制核心,由感应读卡机模块、显示模块、LED指示模块、报警模块组成,他们共同完成读卡校验的任务。其中读卡机模块对非接触式RFID晶片进行读入,由单片机进行卡号比较,LED指示模块可进行报警。121系统实现方法RF01D感应式读卡机对RFID晶片通过韦根26协议进行读取。显示模块由8位七段数码管组成,可实现显示卡号的功能,报警模块由红色LED实现卡号错误的时候发光报警功能,其实现方法是通过读入卡号和单片机内部设定的正确卡号比对来判断是否应该报警。122系统结构整个系统都是围绕89C52展开的。它控制着整个系统的工作,是整个系统的“心脏”。89C52有一个输入,发出两个个输出控制信号。一个输入时RF01D读卡器读入卡号,两个个输出是首先是8位七段数码管显示卡号,其次是LED指示模块显示卡片是否正确。13工作原理整个系统的工作原理是首先上电后由单片机对各部分扫描,对RF01D模块和显示模块初始化,使8位七段数码管显示全部0。当由H4001系列芯片制作的非接触时卡片进入天线(感应线圈)电磁场工作范围内,引起电场振幅变化时,RF变换处理电路将这种振幅变化处理成脉冲波型变化,并送至存储器等候单片机的调用。由4000MHZ晶体振荡器产生的基频信号,经32分频、放大后,送至天线,用以产生具有一定功率的、频率稳定的125KHZ射频信号,处在该射频信号的场强范围内的非接触式卡片,便可以在该场强中获得能量,再利用非接触式卡片内IC电路自带的电源转换处理模块,将电磁场能量转换为直流电源,以供整个非接触式卡片电路用电。单片机依据MANCHESTERCODE曼彻斯特码的规则将这些PULSES脉冲信号转成HEXCODE十六进制的数字编码,最后由DATAOUTPUT端子输出控制数据。根据RF01D的LED脚的数据进入中断,开始由2个中断分别读入DATA0和DATA1,两根线分别将0或1输出。当26位数据都读入以后,将26BIT数据的二进制卡号译成十进制卡号,并送入显示模块显示。将卡号与系统内存的正确卡号对比,若卡号正确,则正常显示卡号;若卡号错误,则LED指示模块的红灯亮。2硬件设计21硬件系统的主要构成整个系统主要由单片机89C52、RF01D读卡器模块、8位七段数码管显示模块、LED指示模块、报警模块组成。每个器件完成它相应的功能。211单片机89C52AT89C5215是美国ATMEL生产的低电压,高性能COMS8位单片机,片内含有8KBYTES可反复擦写的只读程序存储器(PEROM)和256BYTES随即存储数据存储器(ROM),器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准的MCS51指令系统和8052产品引脚相兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大的AT89C52适用与许多较为复杂的应用场合。主要参数说明(1)与MCS51产品指令和引脚完全兼容(2)8K字节可重擦写FLASH闪速储存器(3)1000次擦写周期(4)全静态操作0HZ24MHZ(5)三级加密程序储存器(6)256字节内部RAM(7)32个可编程I/O口线(8)3个16位定时/计数器(9)8个中断源(10)可变成串行UART通道(11)低功耗空闲和掉电模式图21AT89C52管脚图功能特性概述89C528提供以下标准功能8K字节FLASH闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,ATM89C52可降至0HZ的静态逻辑操作,并支持两种软件可选的节点工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作禁止其他所有部件工作直到下一个硬件复位。引脚功能说明(1)VCC电源电压(2)GND地(3)P0口18P0口是一组8位漏极开路型双向I/O口,也是地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接受指令字节,而正在程序校验时,输出指令字节,校验时,要求外接上拉电阻16。(1)P1口7P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此可作为输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚处被外部信号拉低时会输出一个电流(IIL)。与89C51815不同之处是,P10和P11还可以分别作为定时/计数器2的外部计数输入(P10/T2)和输入(P11/T2EX),参见表21。FLASH10编程和程序校验期间,P1接收低8位地址。表21P10和P11的第二功能引脚号功能特性P10T2(定时/计数器2外部计数脉冲输入),时钟输出P11T2EX(定时/计数2捕获。重装载触发和方向控制)(2)P2口9P2是一个带用内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)15。在访问外部程序存储器或16位地址外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。FLASH编程或校验时,P2亦接受高位地址和一些控制信号。(3)P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,他们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)13。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表22所示表22P3口引脚功能此外,P3口还接受一些用于FLASH闪速存储器编程和程序校验的控制信号。(4)RST复位输入。当振荡器工作时,RST引脚出现两个机器人周期以上高电平将单片机复位。(5)ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率端口引脚第二功能P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外中断0)P33/INT1(外中断1)P34T0(定时/计数器0)P35T1(定时/计数器1)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是每当访问外部数据存储时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(/PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该操作位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效5。(6)/PESN程序存储允许(/PSEN)输出是外部程序存储器的选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次/PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次/PSEN信号。(7)/EA/VPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),/EA端必须保持低电平(接地)。需注意的是如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。FLASH存储器编程时,该引脚加上12V的编程允许电源VPP,当然这必须是该器件是使用12编程电压VPP。(8)XTAL1振荡器反相放大器的及内部时钟发生器的输入端。(9)XTAL2振荡起器反相放大器的输出端。212RF01D读卡器模块(1)概述单片机控制的ID卡智能门禁系统主要器件是单片机和射频卡读写模块。单片机选用ATMEL公司的芯片AT89C52,它可以完全满足本试验的功能需求,读卡器选用RF01D。RF01D感应式读卡机模块是针对125KHZ非接触式RFID晶片而设计的读卡机模块。它能针对目前市面上125KHZ非接触式RFID晶片如瑞士EM公司H4001、4102;台科TK4001、4102以及凌航科技GK4001晶片或其他规格相近产品进行资料读取与资料判断,使用者可以发展此感应式读卡机建立相关应用系统,产品主要应用范围为人员考勤管理、门禁管制系统、玩具、动物或物品辨识及产品管理,此读卡机模块主要有点叙述如下独立性高,后段控制规划容易,安装简单。资料读取稳定性高。系统安全性高;RFID资料不重复且难以复制可以安全使用。可规划输出控制标准界面格式(跳线设置)。(2)硬体/软体功能125KHZ感应式读卡器系统图示如下图22RF01D系统图使用RF01DMANCHESTERCODEFIXEDCODETAG,以125KHZ的低频频率在515CM距离内读取H4001TAGCODE的时间不超过100MS。感应式读卡机系统点为DC5V电源,如使用AC110V或AC220V交流电源则需使用AC/DC电源转换器。感应线圈为系统必须,感应线圈可以与系统分开放置,亦可设于系统中,为防止感应电磁场干扰,请勿以金属板置于线圈感应面。(3)硬体/软体规则感应式读卡器模块硬体架构图如下图23感应式读卡器模块硬体架构图当由H4001系列芯片制作的非接触时卡片进入天线(感应线圈)电磁场工作范围内,引起电场振幅变化时,RF变换处理电路将这种振幅变化处理成脉冲波型变化,并送至存储器等候单片机的调用。由4000MHZ晶体振荡器产生的基频信号,经32分频、放大后,送至天线,用以产生具有一定功率的、频率稳定的125KHZ射频信号,处在该射频信号的场强范围内的非接触式卡片,便可以在该场强中获得能量,再利用非接触式卡片内IC电路自带的电源转换处理模块,将电磁场能量转换为直流电源,以供整个非接触式卡片电路用电。单片机依据MANCHESTERCODE曼彻斯特码的规则将这些PULSES脉冲信号转成HEXCODE十六进制的数字编码,最后由DATAOUTPUT端子输出控制数据。(4)读卡机模块电器特性读卡机模块引脚输出功能说明如表23所示表23读卡机模块引脚输出NUMBERNAMEI/ODESCRIPTION15VDINPUT2CLKOUTPUTWIEGANDD13DATAOUTPUTWIEGANDD04CPOUTPUTABA5SW1INPUTMODESELECT16SW2INPUTOUTPUTMODESELECT27SW3INPUTOUTPUTMODESELECT38SW4INPUTMODESELECT49LEDOUTPUT10GNDOUTPUT/INPUTA1ANTOUTPUT/INPUTANTENNACOILCONNECTIONA2ANTOUTPUT/INPUTANTENNACOILCONNECTION(5)模块控制流程SW2、SW3决定输出格式表24输出格式SW2SW301RS23210WIEGEND26WIEGAND26输出数据格式图24读写时序图表25读写时序数据SYMBOLPARAMETERLIMITSMINLIMITSMAXTYPEUNITSTHDHOLDSTARTDATAREADDELAYTIME052055MSTDWDATAPLUSEWIDTHTIME2010050USTIWDATAPULSEINTERVALTIME0242MSTSNDATASENDDELAYTIME580USTCSHOLDANDSTARTREADTIME40120100MSTATOTALSCANTIME100MS韦根数据输出由二根线组成,分别是DATA0和DATA1;二根线分别将0或1输出。输出0时DATA0线上出现负脉冲;输出1时DATA1线上出现负脉冲;负脉冲宽度TP100微秒;周期TW1600微秒213CD4511芯片CD4511是BCD/七段数码译码锁存驱动IC,它与七段数码管配合使用。数码显示器采用八段发光二极管显示器,它可直接显示出译码器输出的十进制数。七段发光显示器有共阴接法和共阳接法两种共阴接法就是把发光二极管的阴极都接在一个公共点接地,其引脚排列和内部原理如图25(A)所示,配套的译码器为CD4511,CD4028等;共阳公共点接法相反,它是把发光二极管的阳极接在一起接VCC,配套的译码器为CD4028等,其引脚排列和内部原理如图25B所示。A共阴极LEDB)共阳极LED图25LED数码显示器1、2、6、7脚(ABCD)为二进制码输入端。LE(5脚)输入锁存控制端,低电平有效。B1(4脚)LT(3脚)解码输出控制端,高电平有效。123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE9MAR2007SHEETOFFILEE习习习习习习习习习LYKSDDBDRAWNBYB1C2LT3B14LE5D6A7VSS8E9D10C11B12A13G14F15VDD16CD4511U4VCCVCCR41200R42200R43200R44200R45200R46200R47200GNDP27P26P25P24GNDABCDPVDEGFV2U18图26CD4511电路配置图其控制逻辑关系如下表表26控制逻辑关系表输入输出十进制或功能LELTDCBAIABCDEFG字型012345678900000000001111111111000000010010001101000101011001111000100111111111111111110011000011011011111001011001110110110011111111000011111111111011消隐锁定灯测试1110010000000锁定在上一个LE0时1111111214ULN2003达林顿阵列图27ULN2003的内部结构和功能它的内部结构是达林顿的,专门用作驱动电路的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC电流200MA,饱和压降VCE约1V左右,耐压BVCEO约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器SSR等外接控制器件,也可直接驱动低压灯泡。经常在工控的板卡中见到这个芯片。有个完全一样的型号MC1413,不过现在好像不怎么见到这个型号了,但是管脚与2003完全兼容。ULN2003可以接7个控制端;ULN2803接8个控制端。常用的芯片是ULN2003,因为使用的量大,所以价格便宜,一片大概需要25元左右。图28ULN2003管脚排列图22系统硬件电路模块整个系统可以分为感应读卡机模块、显示模块、LED指示模块、报警模块。每个模块执行其相应的功能,共同组成了一个有序、协调的系统。221感应读卡机模块密码门禁系统由于其本身的安全性弱和便捷性差已经面临淘汰,生物识别门禁系统安全性高,但成本高,由于拒识率和存储容量等应用瓶颈问题而没有得到广泛的市场认同。现在国际最流行最通用的还是非接触IC卡门禁系统。非接触IC卡由于其较高的安全性,最好的便捷性和性价比成为门禁系统的主流。RF01D感应式读卡机模块是针对125KHZ非接触式RFID晶片而设计的读卡机模块。它能针对目前市面上125KHZ非接触式RFID晶片如瑞士EM公司H4001、4102;台科TK4001、4102以及凌航科技GK4001晶片或其他规格相近产品进行资料读取与资料判断,使用者可以发展此感应式读卡机建立相关应用系统。当由H4001系列芯片制作的非接触时卡片进入天线(感应线圈)电磁场工作范围内,引起电场振幅变化时,RF变换处理电路将这种振幅变化处理成脉冲波型变化,并送至存储器等候单片机的调用。由4000MHZ晶体振荡器产生的基频信号,经32分频、放大后,送至磁感应量为350H的天线,用以产生具有一定功率的、频率稳定的125KHZ射频信号,处在该射频信号的场强范围内的非接触式卡片,便可以在该场强中获得能量,再利用非接触式卡片内IC电路自带的电源转换处理模块,将电磁场能量转换为直流电源,以供整个非接触式卡片电路用电。单片机依据MANCHESTERCODE曼彻斯特码的规则将这些PULSES脉冲信号转成HEXCODE十六进制的数字编码,最后由DATAOUTPUT端子输出控制数据。RF01D接线图如下所示图29RF01D接线图222显示模块显示选用8位共阳七段数码管。数据经过4511翻译后送到数码管显示,并且由4028控制数据显示的位置;同时,单片机每送一次后就会通过ULN2003驱动后点亮相应的位,点亮后经过一段延时等待,就可以关闭并开始送下一组数据。如此重复进行。显示模块电路图如下所示123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE7MAY2009SHEETOFFILEH习习DDBDRAWNBYP101P112P123P134P145P156P167P178RESET9P3010P3111P2021P2122P2223P2324P2425P2526P2627P2728P3212P3313PSEN29ALE/PROG30XTAL018XTAL119EA/VPP20P3616P3717P0732P0633P0534P0435P0336P0237P0138P0039P3414P3515VSS20VCC40U189C52D1D2D3D4D5D6D7D8C10110KR1VCC10KJTCB222CB322SW19CD10R310KVCCDATA0DATA1Q03Q114Q22Q315Q41Q56Q67Q74Q89Q916A10B13C12D11U640281R12R23R34R45R56R67R7GND8Q116Q215Q314Q413Q512Q611Q710VCC9U5ULN20031R12R23R34R45R56R67R7GND8Q116Q215Q314Q413Q512Q611Q710VCC9U4ULN20031E11D21C31DP42E52D62G72C82DP92B102A112F122CN131CN141B151A161G171F18U782LEDA13B12C11D10E9F15G14A7B1C2D6LT3BI4LE5U34511123456789PR9VCCGNDGNDL1L2L3L4L5L6L7L8L9LD1LD2LD3LD4LD5LD6LD7LD8LD9DP1DP2DP3DP4DP5DP6DP7L1L2L3L4L5L6L7L8L9DP1DP2DP3DP4DP5DP6DP7DP1DP2DP3DP4DP5DP6DP71E11D21C31DP42E52D62G72C82DP92B102A112F122CN131CN141B151A161G171F18U882LEDDP1DP2DP3DP4DP5DP6DP7DP1DP2DP3DP4DP5DP6DP71E11D21C31DP42E52D62G72C82DP92B102A112F122CN131CN141B151A161G171F18U982LEDDP1DP2DP3DP4DP5DP6DP7DP1DP2DP3DP4DP5DP6DP71E11D21C31DP42E52D62G72C82DP92B102A112F122CN131CN141B151A161G171F18U1082LEDDP1DP2DP3DP4DP5DP6DP7DP1DP2DP3DP4DP5DP6DP7LD1LD2LD3LD4LD5LD6LD7LD8LED13LABALED1LED2GND1KR4LED17NPN5V1KR5LED123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE8MAY2009SHEETOFFILEH习习DDBDRAWNBY5VDATA010KL1LEDDATA1ANT1ANT25VDC3CLK4DAT5CP6SW17SW28SW39SW410LED11GND12U2RF01D图210显示电路图23本章小结硬件部分是软件部分的基础,只有硬件连接是合理正确的,软件才能在其中准确无误的执行。本章对硬件部分进行了详细的介绍,下面的章节将要开始描述我在实验过程中所遇到的软件情况。3软件设计31引言系统硬件设计的完成,而第二个重要工作系统软件的设计,是实现和发挥系统硬件各种功能的关键步骤,所以在对系统软件编写与分析是由为重要的一步。根据系统的要求,我把系统的软件设计分为三大模块控制模块、读卡器模块、显示模块。通过这三大模块一一编写和分析,最后做出总的系统软件程序。32系统软件主要构成本软件设计主要有处理模块、显示模块、读卡模块、LED显示模块。整个系统的硬件需要软件的驱动,才能实现相应的功能。软件的编写指挥着硬件,让其安制定的功能,完成相应的功能。321总模块的流程图图31模块流程图322初始化程序根据系统的要求及硬件的匹配,初始化如下ORG0000HLJMPMAINORG0003HLJMPINT0ORG0013HLJMPINT1ORG0030H323显示程序将送入的数据由二进制转换成十进制,然后送入显示程序,在8位共阳七段数码管上显示出来。程序为DISPLAYMOVR5,07HMOVR0,37H8个显示单元DISPRMOVA,R5SWAPA将A中的高低四位互换ANLA,0F0H保留A中的第四位ORLA,R0取显示MOVP1,A输入到P1口,送显DECR0减1指到下一显示单元LCALLWAITDJNZR5,DISPRCLRAORLA,R0MOVP1,ALCALLWAITRET将16进制转成10进制BCDCHANGESETBRS0MOVR6,41HMOVR7,42HCLRABCD码初始化MOVR3,AMOVR4,AMOVR5,AMOVR2,10H转换双字节十六进制整数HB3MOVA,R7从高端移出待转换数的一位到CY中RLCAMOVR7,AMOVA,R6RLCAMOVR6,AMOVA,R5BCD码带进位自身相加,相当于乘2ADDCA,R5DAA十进制调整MOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,AMOVA,R3ADDCA,R3MOVR3,A双字节十六进制数的万位数不超过6,不用调整DJNZR2,HB3处理完16BIT324中断读入数据程序标准韦根26格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26BIT格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26BIT格式。WIEGAND(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式DATA0和DATA1两根数据线分别传输0和1现在应用最多的是26BIT,34BIT,36BIT,44BIT等等。韦根数据输出由二根线组成,分别是DATA0和DATA1;二根线分别将0或1输出。输出0时DATA0线上出现负脉冲;输出1时DATA1线上出现负脉冲;负脉冲宽度TP100微妙;周期TW1600微妙韦根26位输出格式EXXXXXXXXXXXXXXXXXXXXXXXXO前12BIT偶校验前12位后12位后12BIT奇校验以上数据从左至右顺序发送。高位在前。如果电卡的地区码位2个字符,即8位则可用那设置255个地区码(15X1615255);电子卡的卡号位4个字符,即16位则可设置65536个卡号(15X16X16X1615X16X1615X161565,535)。韦根的接收对时间的实时性要求比较高,如果用查询的方法接收会出现丢帧的现象假设查询到DATA0为0时主程序正在指向其他任务,等主程序执行完该任务时DATA0已经变为1了,那么这样就导致了一个0BIT丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出CPU接收不到ID模块发送的卡号了。唯一的办法是在外部中断里接收每个BIT。(仅仅在中断里获得开始接收WIEGAND数据还不行,因为这是尽管给开始接收WIEGAND数据标志位置位了,但是主程序还在执行其他代码而没有到达查询开始接收WIEGAND数据标志位这条指令)。WIEGAND接口界面由三条导线组成DATA0暂定,兰色,P25(通常为绿色)。DATA1暂定,白色,P26(通常为白色)。GND(通常为黑色),暂定信号地。当安装工程师拿到读卡器时,他们希望在读卡器和门禁控制面板的连接点(终端)上都能够看到这三个名称。目前所有的标准型读卡器都提供可选择的WIEGAND接口。这三条线负责传送WIEGAND数据,也被称为WIEGAND信号。通过P32、P33两个中断端口读入DATA0和DATA1的数据,分别为0和1,程序为INT0CLREA暂时关闭CPU的所有中断请求CLRCMOVA,R1RRCAMOVR1,AINCR3SETBEA允许中断RETI退出子程序INT1CLREA暂时关闭CPU的所有中断请求SETBCMOVA,R1RRCAMOVR1,AINCR3SETBEA允许中断RETI退出子程序325密码比较程序将读入的数据与原设定的数据相比较,若数据错误,则给P34信号0,红灯亮。程序为D1CJNER5,37H,D2;与第一个正确号码比较LCALLCHAIZI1CLRRS0RETD2CJNER5,64H,D3;与第二个正确号码比较LCALLCHAIZI1CLRRS0RETD3CJNER5,78H,D4;与第三个正确号码比较LCALLCHAIZI1CLRRS0RETD4CLRP34;错误号码红色LED发光报警LCALLCHAIZI1CLRRS0RET326总控制程序根据密码比较的结果来控制报警系统。若密码正确,则一切正常;若密码错误,则红灯亮。程序为MAINMOVSP,68HMOVA,0FFHCLEARMOVR0,ADECR0DJNZR5,CLEARMOV30H,00HMOV31H,00HMOV32H,00HMOV33H,00HMOV34H,00HMOV35H,00HMOV36H,00HMOV37H,00HMOV40H,00HMOV41H,00HMOV42H,00HMOVR1,40H存放读取卡内容的单元4042HMOVR0,0记录读取位数MOVR3,0记录读取卡字节数SETBIT0设定INT0的触发方式为脉冲负边沿触发SETBIT1SETBEX0打开INT0中断请求SETBEX1SETBEA打开CPU总中断请求CUNCHUCJNER3,8,NEXT1;存储数据MOVR3,0INCR1CJNER1,43H,3;不相等转到下一条指令JCNEXT1MOVR1,40HLCALLCHANGE;调16进制数转10进制数LOOPLCALLDISPLAY;调显示CLREAJBP20,LOOPMOV40H,00HMOV41H,00HMOV42H,00HSETBEANEXT1SJMPCUNCHU;存储INT0CLREA暂时关闭CPU的所有中断请求CLRCMOVA,R1RRCAMOVR1,AINCR3SETBEA允许中断RETI退出子程序INT1CLREA暂时关闭CPU的所有中断请求SETBCMOVA,R1RRCAMOVR1,AINCR3SETBEA允许中断RETI退出子程序CHANGESETBRS0MOVR6,41HMOVR7,42HCLRABCD码初始化MOVR3,AMOVR4,AMOVR5,AMOVR2,10H转换双字节十六进制整数HB3MOVA,R7从高端移出待转换数的一位到CY中RLCAMOVR7,AMOVA,R6RLCAMOVR6,AMOVA,R5BCD码带进位自身相加,相当于乘2ADDCA,R5DAA十进制调整MOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,AMOVA,R3ADDCA,R3MOVR3,A双字节十六进制数的万位数不超过6,不用调整DJNZR2,HB3处理完16BITD1CJNER5,37H,D2;与第一个正确号码比较LCALLCHAIZI1CLRRS0RETD2CJNER5,64H,D3;与第二个正确号码比较LCALLCHAIZI1CLRRS0RETD3CJNER5,78H,D4;与第三个正确号码比较LCALLCHAIZI1CLRRS0RETD4CLRP34;错误号码,红色LED发光报警LCALLCHAIZI1CLRRS0RETCHAIZI1MOVA,R5;进行拆字ANLA,0FHMOV30H,AMOVA,R5ANLA,0F0HSWAPAMOV31H,AMOVA,R4ANLA,0FHMOV32H,AMOVA,R4ANLA,0F0HSWAPAMOV33H,AMOVA,R3ANLA,0FHMOV34H,AMOVA,R3ANLA,0F0HSWAPAMOV35H,ARET显示程序将R3R5内容拆分到30H37HDISPLAYMOVR5,07H;显示程序MOVR0,37HDISPRMOVA,R5SWAPAANLA,0F0HORLA,R0MOVP1,ADECR0LCALLWAITDJNZR5,DISPRCLRAORLA,R0MOVP1,ALCALLWAITRET等待程序WAITMOVR7,0F0HDJNZR7,RETEND33本章小结本设计中的软件编程部分是整个设计能否成功,以及系统能否达到预期要求的关键。本章主要介绍了本程序中三大程序模块的分析与编写,描述了各个模块的程序流程以及总的程序流程。程序是为硬件服务的,只有完成了软件部分才能进行软、硬件的整体调试。在下面一章,将讲述整个系统的调试。4系统调试41引言用了硬件和软件的准备,下一步就是要将这两者结合起来对实验做最后的调试,调试的过程占了实验的大部分时间,因为里面需要解决一些实际问题,下面将介绍本次课题设计中所碰到的一些调试过程中出现的问题。42系统硬件调试硬件测试部分是实验中比较重要的一个环节,因为软件功能的实现是基于硬件上的。硬件测试首先要根据电路图检查硬件板上面有没原理上的错误,比如错接或者不合理的外围电路。然后就是元器件是否都可以正常工作。具体检查方法是利用万用表的发声档,将万用表的一个表笔固定在要检测的引脚上,另一表笔在需要检测的其他表笔上依次滑行,若是导通,则万用表会发出声音警告。最后,就是看看是否有虚焊或焊接不牢固的现象。使用放大镜,在台灯下观察,排除不合格焊点。由于印刷电路板上没有我所需要的读卡器模块,所以我在电路板上空下来的,单片机旁边的10个焊点上焊上了读卡器模块,并把这10个焊点与别的焊点间的连线切断,然后分别焊接到想对应的焊点。读卡器模块有了,可是没有现成的350H的感应线圈,我就自己做了一个,用纸卷做线圈底座,然后用铜丝绕了50圈,经Q表测量得出这个线圈的磁感应强度没有达到要求,只有200H,根据磁感应强度计算公式(41)HNI/LE(41)式中H为磁场强度N为励磁线圈的匝数I为励磁电流LE为测试样品的有效磁路长度磁感应强度和线圈匝数成正比,通过计算将线圈匝数增加到88圈,然后用Q表测量其磁感应强度,经微调最终制成磁感应强度为350H线圈,然后将线圈和读卡器模块焊接起来,这样整体硬件基本完成。下一步就是测试读卡器模块是否正确连接到单片机上了,经测试发现连接完全错误原来是我太大意,将读卡器模块的底视图看反了,所以所有线路都接反了,拆下来后重新连接,测试后一切正常。43系统软件调试硬件调试完毕后,就是软件调试的过程了,调试软件,首先要检查基本的语法错误,然后是逻辑上的错误,检查出错误后,要一步步的排除,这样得出的程序才可能是正常工作的。431显示调试首先输入八个0,显示正常,然后输入八个8,显示正常,最后输入1到8八个数,显示正常,说明显示没有问题。432中断读数调试作为门禁系统,能否正确读入卡号是最关键的问题。取下芯片,接上仿真机,刷卡后显示“00000000”,没有读进数据,原错误程序为CUNCHUCJNER3,8,NEXT1;存储数据MOVR3,0INCR1CJNER1,43H,3JCNEXT1MOVR1,40HLCALLCHANGE;调16进制数转10进制数LOOPCLREAJBP20,LOOPMOV40H,00HMOV41H,00HMOV42H,00HSETBEALCALLDISPLAY;调显示(此处错误)NEXT1SJMPCUNCHU;存储调显示位置错误,程序进入一个错误的循环,读不入数据,更改程序为CUNCHUCJNER3,8,NEXT1;存储数据MOVR3,0INCR1CJNER1,43H,3JCNEXT1MOVR1,40HLCALLCHANGE;调16进制数转10进制数LOOPLCALLDISPLAY;调显示CLREAJBP20,LOOPMOV40H,00HMOV41H,00HMOV42H,00HSETBEANEXT1SJMPCUNCHU;存储修改后的程序,在计算机端显示已经读入了数据,可是单片机显示不出来,原显示程序为DISPLAYMOVR5,07HMOVR0,37H8个显示单元DISPRMOVA,R5SWAPA将A中的高低四位互换ANLA,0F0H保留A中的第四位ORLA,R0取显示MOVP1,A输入到P1口,送显DECR0减1指到下一显示单元LCALLWAITLCALLWAIT;出错原因DJNZR5,DISPRCLRAORLA,R0MOVP1,ALCALLWAITLCALLWAIT;出错原因RET究其原因是多了一次LCALLWAIT,遂修改程序为DISPLAYMOVR5,07

温馨提示

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

评论

0/150

提交评论