基于单片机和RFID技术的无源IC卡读写器_第1页
基于单片机和RFID技术的无源IC卡读写器_第2页
基于单片机和RFID技术的无源IC卡读写器_第3页
基于单片机和RFID技术的无源IC卡读写器_第4页
基于单片机和RFID技术的无源IC卡读写器_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

大学2010届本科毕业论文基于单片机和RFID技术的无源IC卡读写器ThepassiveICCardRead–WriteBasedonMCUandRFID 论文作者姓名: 作者学号: 所在学院: 计算机与信息工程学院 所学专业: 自动化 导师姓名职称: (讲师) 论文完成时间: 2010年5月20日2010年5月20日目录摘要 4ABSTRACT 5第1章绪论 11.1设计概述 11.1.1设计背景 11.1.2设计意义 21.2IC卡技术的应用与发展 21.3系统设计目标及原则 31.3.1系统设计目标 31.3.2系统设计原则 41.4论文的组织结构 4第2章设计方案论证和系统结构 62.1方案论证 62.2系统结构 7第3章系统硬件设计 83.1单片机概述 83.1.1AT89S51单片机结构和原理 83.2监控模块 103.2.1概述 103.2.2MAX813L的结构及特点 113.2.3监控接口电路 123.3键盘输入模块 133.4液晶显示模块 133.4.11602概述 133.4.2显示接口电路 153.5报警器驱动模块 163.6通信模块 163.6.1MAX232概述 163.6.2通信接口电路 173.7读写器接口模块 183.7.1Mifare1型非接触式IC卡 183.7.2读写器芯片MFRC500 203.7.3接收天线 223.7.4MFRC500与AT89S51的接口电路 23第4章系统软件设计 244.1主程序及子程序 26结论 33参考文献 34摘要随着改革开放的深入发展和市场经济体制的不断完善,传统的人工收费方式已越来越不适应现代化管理的需要。在电子技术和通信技术飞速发展的同时,公交系统与IC卡技术的融合也就成为当今社会发展的必然趋势。这就使得公共交通自动收费的实现有了现实和技术上的可能性。本文提出了一种采用无线射频技术,以快速、安全、稳定为性能指标的非接触式公交IC卡读写系统。论述了基于AT89S51单片机和MF-RC500的系统组成,并详细的论述系统的工作机理以及相应的硬件设计和软件设计方案。关键词:AT89S51;非接触式IC卡;读写器;MF-RC500ABSTRACTWiththedeepeningofreformandopeningupthedevelopmentandconstantimprovementofthemarketeconomysystem,thetraditionalmanualchargingmethodshavenotmettheneedsofmodernmanagement.Withtheelectronictechnologyandthecommunicationstechnologyrapidlydeveloping,thepublictransportsystemandICcardtechnologyintegrationhasbecomeaninevitabletrendofsocialdevelopmenttoday.Thismakestherealizationofpublictransportfaresautomaticallyhavearealisticandtechnicalpossibility.Thisthesisputsforwardthenon-contactpublictransportationICcardreadersystemwhichadaptsradiofrequencytechnologyandtakesthefastsafeandstableastheperformance.AtthesametimethisarticlediscussesthecompositionofthesystemwhichbasedontheAT89S51andtheMF-RC500,andexplainstheworkingprincipleofthesystemandthecorrespondinghardwareandsoftwaredesignationsindetail.Keywords:AT89S51;non-contactICcard;reader;MF-RC500

第1章绪论1.1设计概述1.1.1设计背景公共交通是城市交通建设的主体,其公交运营工作的质量和效率会直接影响到人们的日常生活和工作。而部分城市公交公司现行的售票方式已滞后于公交事业的整体发展,无人售票存在运营效率低,易收残币、假币、破币,对公交的社会效益和经济效益,城市形象都有消极的影响。手工的传统的低效率的工作方式已经不能适应城市公共交通事业的发展。近几年来,城市公交系统逐渐开始将IC卡技术应运于公交收费系统,不仅实现自动收费,电脑结算,而且缩短运行时间;减少点钞人员和管理环节,杜绝贪污,减少假币、假票,加速了资金周转,促进企业信息管理系统的完善,带来了管理机构和管理方式上的巨大变化。因此,IC卡应用的推广,可以改变城建系统企业传统的管理服务方式,提高企业劳动效率,使企业经济效益和服务水平明显提高,并对提高城市形象起到了极大的推动作用。实践证明,以非接触IC卡为支付介质的建设事业IC卡应用系统建设在城市公交、轨道交通、出租车、轮渡、高速路、停车场、公园景点等小额支付领域所表现的方便、快捷的卓越性能,是传统的磁卡和接触式IC卡不可比拟的。非接触IC卡的推广应用为公交支付提供了安全可靠,方便高效的支付方式和完整的业务处理系统,为提高公交行业的服务质量,树立公交行业优质高效服务的新形象,奠定了坚实的技术基础。同时,为城市居民的出行提供了极大的方银行更进一步地发展持卡消费,创造了良好的条件。因此,随着智能公交概念的提出和智能卡的深入发展,公交系统与非接触IC卡技术相结合成为发展的必然要求。公共交通实行一卡通也是大势所趋。但任何新事物都有缺乏经验的一面,也会出现令人无法预料的新情况,诸如卡丢失后无法挂失、卡内存储信息不全及充值烦琐等问题。所以如何建立整个城市范围内的公交车收费系统,并利用现代计算机和通讯技术,实现乘客IC卡系统的集中化及现代管理,改善公交车、售卡充值点和公交公司之间的数据通讯能力,促进各级内部处理手段和办公效率的全面提高,已成为公交企业当前急待解决的问题。1.1.2设计意义主要从经济效益和社会效益两个方面来讲设计的意义。(1)经济效益1)加快乘客上车速度,减少车辆停站时间,加速车辆周转等于减少车辆。2)促进管理,加强经济改革,最终减少公交企业亏损。3)及时掌握客流情况,科学合理调度而创造效益。4)可以节省无人售票点钞工作人员的费用。5)IC卡表面的封装广告和冠名权为运营公司带来直接的收益。6)采用预收费的方式,增加企业周转资金。7)有效制止了假币的流通。(2)社会效益1)提高公共交通的服务档次,符合建设国际城市的目标。2)方便市民,减少社会现金流通量。3)提高车辆运行效率,节省乘车时间。4)收费及统计全面自动化管理,有效堵塞漏洞,杜绝可能发生的管理人员贪污及假票现象。5)提高城市市政交通的信息化管理水平,响应国家促进城市信息化建设的号召,提升当地的城市面貌,为城市的发展带来新的商机。1.2IC卡技术的应用与发展IC卡的概念是20世纪70年代初提出的,法国布尔公司于1976年首先创造出IC卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个行业,它将微电子技术和计算机技术结合在一起,提高了人们的生活水平,满足了工作的现代化需求。IC卡的英文全名是IntegratedCircuitCard,IC卡将具有存储、加密、数据处理能力的一个或多个集成电芯片镶嵌于塑料卡片之中的,既具有智能性,又便于携带的卡片。而非接触式IC卡是世界上最近几年发展起来的一项新技术,它成功地将射频识别技术和IC卡技术结合起来.这一新技术结束了IC卡无源可工作和卡片免接触工作这一难题,是电子器件应用发展过程中的一大突破。非接触IC卡和接触IC卡相比具有可靠性高、操作方便、防冲突、可适合于多种应用、加密性能好等优点。IC卡具有信息存储量大、数据保密性好、可反复读写、易于管理等优点。因而发展迅速,在金融、通信、交通等众多领域这后来居上,已成为信息时代这不可缺少的重要工具之一,广泛地应用于社会事业的各个领域,出现在人们的日常生活中。IC卡不仅改进了现有多种卡的使用方法和功能作用,它还不断开创出新的应用发展领域。IC卡的产生现代信息的处理和传递提供了一种全新的手段,它一出现就备受关注和重视。1987年起,国际化标准组织ISO专门为IC卡制订了国际标准。国际标准的制订为IC卡在全世界范围内的推广和应用,为IC卡在使用过程中的规范化创造了前提和条件。从技术角度看,在IC卡应用过程中有以下几个发展趋势。1.从存储器IC卡同CPU卡方向发展。现在全国发行的IC卡中,90%以上是采用存储器IC卡。随着应用要求提高,且CPU卡价格下降,在今后几年内,CPU卡的应用总量将呈大幅度上升趋势:2.非接触式IC卡应用将大幅度增加。目前,非接触式IC卡已成为世界智能卡发展的主流。非接触式IC卡十分适用于地铁、公交、自来水、燃气等收费的日常生活消费领域,在我国已开始使用。下一代最具有前途的IC卡是接触式IC卡和非接触式IC卡的复合卡,对于需要特别灵活的多用途应用来说,它既能提供接触式应用,又有非接触式应用功能,为产品提供十分灵活的选择。3.对IC卡安全性提出越来越高的要求。金融IC卡、个人身份证等应用要求IC卡具有高安全性,要求应用程序在一个安全环境中装载和运行。一方面要求IC卡本身具有高安全性,具有DES加密算法和有512位或1024为公开密钥计算能力和加密卡可满足不同安全等级的要求;另一方面要加强IC卡安全管理,密钥管理尤其重要。4.一卡多用是IC卡发展的大方向。为了方便人们使用,同时规范应用市场,提高应用水平,需要推出一卡多用或多卡通用的IC卡。1.3系统设计目标及原则1.3.1系统设计目标公交汽车IC卡控制系统采用了先进的非接触式IC技术和计算机技术,以公交售卡充值IC卡读写器为设计对象的主体,以计算机系统为信息处理方法的现代化管理系统,充分利用了非接触式IC交易时间短,快捷,方便的特点,作为公交汽车控制系统的一种全新的现代化管理手段,提高了公交车辆的运营服务水平,使城市公交管理开放,不仅取得了较好的经济效益,同时还取得了良好的社会效益。公交汽车IC卡控制系统把公交汽车的售票方式以IC卡电子收费作为支付手段,以提高客运汽车的收费速度、简单快捷的售卡充值方式、自动化处理客运信息、准备结算、动态分析运营信息为目的,为客运企业的运营,城市交通管理,城市建设及发展提供了良好的科学依据。系统设计目标如下:1.为运营公交公司提供完善的、稳定的、可靠的管理功能。2.实现公交控制系统的规范化和数字化管理。3.收集公交运营数据,建立可供管理分析的数采集系统。4.控制系统具有可靠的安全管理系统。5.模块化的软硬件设计具有开放性、可扩展性、以便进行二次开发。6.尽可能简单明了操作方式,以实现IC卡读写器的运作及管理。1.3.2系统设计原则公交汽车IC卡控制系统设计要求在最大限度上满足公交公司不断增长和变化的业务需求。同时也使公交公司能在最大限度保护其投资的前提下利用迅速发展的新技术和产品。系统设计方案遵循一下原则设计:1.实用原则:采用的技术路线和采用的产品是成熟,可靠,易于操作的,设计结果能满足客户的需求并行之有效。2.安全原则:采用有效可信的安全措施,实现系统多层次的安全管理。3.高效原则:软硬件性能充分发挥,资源利用率高,性能好。4.可扩展原则:能够使系统在规模和性能两方面有扩展余地。1.4论文的组织结构本文的目的就是寻求一套更加完善的公交汽车IC卡控制系统方案。本文重点介绍以AT89S51单片机和非接触式IC卡读读写器MFRC500为核心,设计出一套性能好、安全措施有效可信、管理平台完善的公交非接触式IC卡控制系统。本文主要工作如下:1.完成公交汽车IC卡控制系统整体方案设计。根据公交汽车IC卡控制系统所要达到的性能指标,进行总体方案设计。2.以单片机AT89S51为核心实现公交汽车IC卡控制系统硬件设计。3.完成公交汽车IC卡控制系统的软件设计。基于汇编语言的编程方式,实现整个系统软件的设计。第2章设计方案论证和系统结构2.1方案论证从提供电源的角度来看,非接触式IC卡可分为有源和无源两种。无源系统的能量由数据载频提供,有源系统是在卡内封装一块非常薄的电池。从成本和生产方面考虑,无源系统是主流。从工作距离来分,非接触式IC卡有3种:近距离耦合(<2mm),邻近藕合(<10cm),远距离耦合(>15cm)。其中近距离藕合由于优势不明显而应用较少,而藕合距离较远的射频卡使用较普遍且最具发展潜力。从读写方式上,非接触式IC卡还有主动交易式和被动交易式之分:主动交易式指卡片需要主动靠近读卡器,用户需要持卡在读卡器上晃过去才会完成交易;被动交易式可以不用出示,比如揣在外衣口袋里,当走过读写器的识别距离范围内就可完成交易。非接触式IC卡,由于卡与读写器间无机械接触,而是借助“空间媒介”电磁波进行通讯,故在保留接触式智能卡原有优点的同时,又具备如下诸多长处:(1)可靠性高、寿命长卡与读写器间无机械接触,故不存在接触式读写器可能出现的各种故障,卡和读写器均无裸露触点,则无须担心触点损坏或脱落所致之卡片失效。卡和读写器均为全封闭防水、防尘结构,既避免了静电、尘污对卡的影响,操作快捷便利。这些都将大大提高卡乃至机具的可靠性和使用寿命。(2)防伪性好每张卡都有一个由制造商在产品出厂前固化于芯片的32位序列号,一旦写入即不可更改,且世界惟一。(3)安全性好卡与读写器间采用三次相互确认的双向验证机制,在读写器验证卡的合法性的同时卡也对读写器合法性进行检验。所有通讯数据均加密,以防止信号截取。卡内各扇区均有自己的操作密码和访问条件,并实行芯片传输密码保护。(4)抗干扰能力强具备防冲突(防碰撞)机制,同一时间可“同时”处理多张卡,而不致出现相互间的数据干扰。(5)一卡多用用户可根据需要,灵活定义各存储扇区的密码和访问条件,以便互不影响地分别满足不同场合、不同用途的要求。综上述两种IC卡的介绍,采用非接触式IC卡来完成公交汽车IC卡控制系统的设计。目前,在世界智能卡市场上主要有三大品牌:Mifare,Temic,Legic它们各具特点,性能也各具千秋。但由于市场占有率和性能价格比Temic和Legic不如Mifare1型IC卡,因此通常选择Mifare1型射频IC卡作为公交控制系统的信息载体。在本系统采用符合IS014443标准的Mifare1型非接触式逻辑加密卡。2.2系统结构公交IC卡读写器的硬件结构框图,如图2-1主要由单片机、监控电路、键盘电路、显示电路、IC卡的读写器、天线和以及与PC机通信的RS232串行通信接口电路组成。单片单片机键盘电路监控电路PC机通信报警电路感应天线IC卡读写器显示电路电源电路图2-1系统结构框图本系统以AT89S51单片机作为微控制器,采用MF-RC500芯片作为射频卡读/写模块,以MAX813L作为系统看门狗监控器,采用大屏幕点阵LCD显示,并以RS232接口和计算机通信,组成一套功能齐全的非接触IC卡读写系统。第3章系统硬件设计3.1单片机概述AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含有4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的AT89S51单片机功能强大,价位低,可灵活应用于各种控制场合。3.1.1AT89S51单片机结构和原理AT89S51的引脚排布如图3-1所示:图3-1图3-1(1)VCC:电源电压(2)GND:接地(3)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(4)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。(5)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(6)XTAL2:来自反向振荡器的输出。(7)P0口:P0口为一个8位漏极开路双向I/O口,也即地址/数据总线复用口。作为输出口用时,每个管脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。(8)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能吸收或输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。(9)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可吸收或输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(10)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可吸收或输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S51的一些特殊功能口,如下表3-1所示:

口管脚备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.4T0记时器0外部输入P3.5T1记时器1外部输入P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通表3-1P3特殊功能口P3口同时为闪烁编程和编程校验接收一些控制信号。(11) ALE//PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(12)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。3.2监控模块3.2.1概述随着单片机技术的发展和制造工艺的日益成熟,单片机的应用领域不断拓宽,但由于单片机自身的抗干扰能力较差,尤其是在一些条件比较恶劣,噪声大的场合,常会出现单片机因受外界干扰而导致死机的现象,造成系统不能正常工作。设置看门狗是防止单片机死机、提高单片机系统抗干扰性的一种重要途径。本监控电路采用性能可靠、使用简单、价格低廉的MAX813L芯片,MAX813L芯片应用在单片机产品中能够很好的提高硬件的抗干扰能力。在公交汽车IC卡控制系统的读写器设计中它是个看门狗定时器。其功能是:上电和掉电时给AT89S51产生RESET信号,由看门狗定时器对系统进行监控,防止死机。3.2.2MAX813L的结构及特点(1)MAX813L芯片特点

加电、掉电以及供电电压下降情况下的复位输出,复位脉冲宽度典型值为200ms。

独立的看门狗输出,如果看门狗输入在1.6s内未被触发,其输出将变为高电平。

1.25V门限值检测器,用于电源故障报警、电池低电压检测或+5V以外的电源。

门限电压为4.65V

低电平有效的手动复位输入。

8引脚DIP封装。(2)引脚及功能MAX813L引脚如图3-3所示。图图3-3MAX813L引脚图引脚功能:1)手动复位输入端():当该端输入低电平保持140ms以上,MAX813L就输出复位信号.该输入端的最小输入脉宽要求可以有效地消除开关的抖动。与TTL/CMOS兼容。2)工作电源端(VCC):接+5V电源。3)电源接地端(GND):接0V参考电平。4)电源故障输入端(PFI):当该端输入电压低于1.25V时,5号引脚输出端的信号由高电平变为低电平。5)电源故障输出端():电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。6)看门狗信号输入端(WDI)程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。若超过1.6s该输入端接收不到脉冲信号,则内部定时器溢出,8号引脚由高电平变为低电平。7)复位信号输出端(RST):上电时,自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。8)看门狗信号输出端():正常工作时输出保持高电平,看门狗输出时,该端输出信号由高电平变为低电平。3.2.3监控接口电路看门狗的周期输入信号WDI可以从微处理器的地址信号、数据信号或控制信号中获得,不论哪种信号都必须能够周期性的访问MAX813L,对于MCS51系列单片机,一般使用ALE信号。图3-4监控接口电路MAX813L与AT89S51单片机的接口电路如图3-4图3-4监控接口电路S1为手动复位按键。3.3键盘输入模块本系统采用矩阵式键盘,当读写器不联计算机独立工作时,完成读卡、写卡、加值、减值等控制。在系统软件中软件实现时,可采用中断方式,也可以采用查询方式,本系统采用查询方式。键盘接口电路图如图3-5所示:图图3-5键盘接口电路图键盘接口电路共有4个键。其中K4为加值键,K3为减值键,K2为退出键,K1为清屏键。加值键:通过此键对用户卡进行加值。减值键:通过此键对用户卡进行减值。退出键:通过此键对用户卡进行显示操作。清屏键:通过此键对用户卡显示进行清屏操作。3.4液晶显示模块3.4.11602概述显示模块采用点阵式LCD液晶显示,使用户自定义输入变得非常方便。液晶显示屏轻薄短小、低耗电量、平面直角显示影像稳定,并且可视面积大、画面效果好、分辨率高、抗干扰能力强,能够满足本系统显示信息的需求。LCD自带字符库,不必利用控制芯片创建字符库,利用LCD的字符库进行编程,可以实现各信息的显示,既节约了资源,又省去了大量的编程任务。1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。(1)引脚结构和功能。1062引脚分布如图3-6所示。 图3-61602引脚图1602引脚功能如表3-1所示。表3-1引脚功能表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15~16脚:BLA(BL1)为LED背光正极。需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右,一般接一个几十欧姆的电阻,47欧、33欧等;BLK(BL2)为LED背光地端。(2)1602数据显示原理1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。1602还可以生产8组5×8点阵的字符模,相对应的字符码从CGROM的00H~07H范围内选择。这样1602就可以显示用户自定义的字符了。自定义字符最多同时只能编写8个“元”字的字符表为:0EH,00H,1FH,0AH,0AH,0AH,13H,00H。3.4.2显示接口电路本系统的读写器采用1602液晶显示器显示,利用串行输入控制指令实现1602与单片机系统的显示接口,以显示IC卡中的余额。1602液晶显示器与AT89S51的接口电路如图3-7所示。图图3-7显示接口电路3.5报警器驱动模块图3-8蜂鸣器驱动电路如图3-8所示,驱动器的输入端接AT89S51的P1.7。蜂鸣器是在每次读卡操作不成功的时候发出报警指示音。由于MCU的I/O口驱动能力有限,一般不能直接驱动压电式蜂鸣器,因此选用一PNP型晶体管组成晶体管驱动电路。MCUI/O口(P1.7)输出经驱动电路放大后即可驱动蜂鸣器。本设计中当P1.7输出高电平“1”时,晶体管导通,蜂鸣器获得5V电压而发出警报;P1.7输出低“0图3-8蜂鸣器驱动电路 3.6通信模块3.6.1MAX232概述由于RS232采用负逻辑,并且其电压规定也与常用的TTL电平不符合,所以,在用RS232进行串行通信时必须进行电平转换。本系统设计中采用的电平转换芯片是MAX232。(1)MAX232的引脚结构和功能图3-9MAX232引脚图图3-9MAX232引脚图2)引脚功能

Vcc:电源

GND:电源地

电源转换部分:V+、V-、电容C1、C2、C3、C4

接收部分:T1IN、T2IN、R1IN、R2IN

发送部分:T1OUT、T2OUT、R1OUT、R2OUT (2)MAX232的特点MAX232芯片包含两路驱动器和接收器的RS232电平转换芯片,适用于噪声严重环境下的公交IC卡控制系统中的RS232通信。每个发送器输出和接收器输入勿需封闭均可抗击±15V静电放电冲击。能保证最高达120Kbps的数据传输速率。MAX202芯片内部有一个电源电压变换器,可以把输入+5V电源电压变换成为RS232输出电平所需的±10V电压,所以采用此芯片接口的串行通信系统只需单一的+5V电源即可。在实际应运中,T1IN、T2IN可以直接连接TTL/CMOS的AT89S51单片机的串行发送端TXD引脚。R1OUT、R2OUT可以直接连接TTL/CMOS的AT89S51单片机的串行接收端TXD引脚。T1OUT、T2OUT可以直接连接PC机的RS232串口的接收端RD。R1IN、R2IN可以直接连接PC机的RS232串口的发送端TD。3.6.2通信接口电路系统设计中采用串行接口芯片MAX232实现AT89S51单片机和PC机的RS232接口通信电路如图3-10所示。图图3-10通信电路从MAX232芯片中的两路发送接受中选择T1IN、R1OUT、R1IN、T1OUT作为接口。V+、V-是电源变换部分,使用单一的+5V电源供电,电容C1、C2、C3、C4采用0.1uF的电容,以提高抗干扰能力。因为器件对电源噪声很敏感,所以芯片的Vcc必须要对地加0.1uF去耦电容。且要注意其发送与接收引脚对应,否则可能对器件或计算机串口造成永久性损坏。3.7读写器接口模块3.7.1Mifare1型非接触式IC卡(1)工作原理非接触式IC卡的数据通信采用的是射频识别技术。射频识别技术,即指应用射频识别信号对目标物进行识别,是非接触式自动识别技术的一种,它通过射频信号自动识别目标对象并获取相关数据。射频识别系统一般由应答器和阅读器两个部分组成,应用中,应答器附着在待识别的物品上,阅读器用于当附着应答器的待识别物品通过其读出范围时,自动以无接触的方式将应答器中的约定识别信息取出,从而实现自动识别物品或自动收集物品标识信息的功能。应答器与阅读器之间通过耦合元件实现射频信号的空间(无接触)耦合、在藕合通道内,根据时序关系,实现能量的传递、数据的交换。Mifare1型非接触式IC卡是一种可以用于电子钱包和公共交通收费系统等方面的多功能卡。非接触性IC卡与读卡器之间通过无线电波来完成读写操作。二者在13.56MHz工作频率下,以半双工方式进行读写器与IC卡之间的双向数据传输。非接触式IC卡读写器将要发送的信息编码后加载到一固定频率的载波上,卡片内有一个LC串联谐振电路,其载波频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压、复位信号、系统时钟,读写器发送的数据信息经过卡内射频接口模块解码,由控制单元来判断这些信息的要求和合理性,然后进行处理,最终决定是否对EEPROM内的数据进行改写或者输出。读写器和IC卡之间通过无线方式通信,因此它们都有无线收发模块及天线(或感应线圈)。射频卡中有存储器,内存容量为几十字节到几K字节,可以用来存储用户数据和系统数据等。射频卡可根据阅读器发出的指令对这些数据进行相应的实时读写操作。控制模块完成接受、译码及执行阅读器命令,控制读写数据,负责数据安全等功能。射频卡的几个模块集成到一块芯片中,芯片外围只需连接天线,对有源卡还必须有电源。阅读器中控制模块往往有很强的处理功能,除了完成控制射频卡工作的任务外,还需要实现相互认证、数据加密解密、数据校验、出错报警及与计算机的通信等功能。 (2)性能指标1)容量为8K位EEPROM;2)分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位;3)三次相互认证(ISOIIECDIS9798-2),每个扇区有独立的一组密码及访问控制;4)每张卡有唯一序列号,为32位;5)具有防冲突机制,支持多卡操作,一时间可处理多张卡;6)无电源,自带天线,内含加密控制逻辑和通讯逻辑电路;7)数据保存期为10年,改写10万次,读无限次;8)工作频率:13.56MHz;9)通信速率:106Kbps;10)动态读写距离:在l00MM内,能方便、快速地传递数据,每块有16位CRC纠错,每字节有奇偶校验位。(2)接口功能Mifare1型卡含有1024X8bitEEPROM,分为16个区,每个分区都具有独特存取条件,如写保护、读保护、独立的密钥等。接口分为射频接口模块和数字接口模块。1)射频接口模块主要完成的功能

卡本身无电源,需通过该模块中的电源产生电路并经整流、滤波、稳压后,为芯片提供直流工作电压。

由时钟发生器提供芯片工作所需的系统时钟口

由上电复位电路提供芯片工作所需的初始化复位脉冲。

完成通讯过程中的调制、解调、编码、解码。

由电荷泵提供擦写EEPROM时所需的高压。2)芯片电路的数字部分中各块的功能

复位响应电路Mifare1型射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器对IC卡进行上电复位,自动将卡的有关信息传递给读写器,从而确定该卡是否为Mifare1型射频卡,以便使读写器正确识别卡类型并对其进行相应操作。即复位响应电路主要完成验证卡片卡型的工作。

防冲突电路当有多张卡进入读写器工作范围时,防冲突机制会从中选择一张作为处理对象,并通过防冲突电路使未选中的卡置于空闲模式以等待下一次被选择,该过程会返回被选中卡的序列号。

应用选择电路由于Mifare1型卡可“一卡多用”,它负责从存储区中选择所需的应用。

认证与存取控制电路验证密码和访问权限以控制对EEPROM的访问。

控制与算术单元对卡片系统进行配置、控制和对卡内数据进行加减运算。

加密单元对通讯数据进行加密解密等。

EEPROM接口电路对EEPROM进行译码和读写擦除等操作。

EEPROM存储数据。3.7.2读写器芯片MFRC500MF-RC500是Philips公司生产的应用于13.56MHz非接触通信中高度集成读写器芯片。该读卡器IC系列利用先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。内部的发送器部分不需要增加有源电路就能直接驱动近距离工作的天线(可达100mm),接收器部分提供一个坚固有效的调制和解码电路,用于ISO/IEC14443兼容的应答器信号;数字部分处理ISO/IEC14443-2-2001帧和错误检测(奇偶校验和CRC)。此外,还支持快速CRYPTO1加密算法用于验证MIFARE系列产品。方便的并行接口可直接连接到任何8位处理器,给读写器的设计提供了极大地灵活性。MFRC500的功能框图如图3-11所示。图图3-11MFRC500功能框图由图可知,MFRC500内部包括并行微控制器接口、双向FIFO缓冲区、中断、数据处理单元、状态和控制单元、安全和密码控制单元、模拟电路接口及天线接口。MFRC500的外部接口包括数据总线、地址总线、控制总线和电源等。(1)MFRC500的引脚功能MFRC500引脚如图3-12所示,MFRC500为32脚SO32封装。图图3-12MFRC500引脚图 (2)MFRC500的特征1)高集成度模拟电路以用于电子标签应答的解调和解码;2)缓冲输出驱动器使用最少数目的外部元件以连接到天线;3)近距离操作(可达100mm);4)用于连接13.56MHz石英晶体的快速内部振荡器缓冲区;5)带低功耗的硬件复位功能;6)时钟频率监视;7)软件实现掉电模式;8)并行微处理器带有内部地址锁存和IRQ线,可以很方便地与MCU接口;9)有易用的发送和接收FIFO缓冲区;10)支持Mifare卡有关协议;11)支持MifareClasic;12)适合高安全性的终端;13)数字、模拟、发送电路都有各自独立的供电电源。3.7.3接收天线MFRC500通过TX1和TX2提供13.56MHz的能量载波,驱动天线。根据寄存器的设定对发送数据进行调制来得到发送的信号,在其射频范围内的非接触卡采用RF场的负载调制进行响应。天线接收到卡片的响应信号经过天线匹配电路送到MF-RC500的接收引脚RX,MF-RC500的内部接收器对信号进行检测和解调并根据寄存器的设定进行处理,最后将数据发送到并行接口由微控制器读取。(1)高频滤波电路为了防止信号线上的干扰,使用了EMC高频滤波电路。MF-RC500的天线引脚TX1、TX2、RX以及参考电压VMID先经过EMC滤波电路,然后再与天线匹配电路连接。如图3-19所示EMC滤波电路。(2)天线及匹配电路 为了给射频卡提供足够的能量,天线和卡片间必须实现紧密耦合,耦合系数最少为0.3,因此天线线圈采用直径为1mm的导线,设计为3圈65mm×54mm方形天线,此时,天线线圈产生的电感,有下列公式计算:L=2×I×[ln(I/D)-K]×其中:L-天线电感;I-环形导体的长度(即1圈导体的周长),单位为cm;D-导体的宽度,即导体的直径,单位为mm;K-天线形状因数(对环形天线K=1.07,对矩形天线K=1.47);N-线圈的圈数。由公式可计算出天线线圈的电感值约为1uH。为了使天线线圈接收的来自芯片天线引脚的射频信号尽可能减少损失与辐射,采用了如图3-14所示的天线匹配电路对其进行阻抗转换。天线匹配电路的电容参数由天线的电感决定。由于不同的天线电路板实际的天线线圈电感值总是会稍有差异,因此在天线匹配电路上使用了一个可调电容,通过调整电容将每块天线板的读写距离调整到最佳。

图图3-13射频天线原理图图3-14MF-RC500与AT89S51图3-14MF-RC500与AT89S51的连接图第4章系统软件设计根据设计任务的要求确定系统程序的完整结构,尽可能采用模块化程序设计方法,将任务划分为相对独立的功能模块,明确各模块的功能、时间顺序和相互关系,系统的软件设计可以分为几个部分,首先是各个模块的底层驱动程序编写,而后是系统联机调试,编写上层系统程序。本系统软件程序主要包括:主程序、读写IC卡子程序、键盘扫描子程序、显示程序。程序流程图如下:图4-1主程序流程图,描述本读写器系统的基本工作流。图4-2液晶显示设置子程序,描述1602初始化工作流。图4-3LCD第一行显示子程序流程图,描述第一行显示自定义字符工作流。图4-4LCD第二行显示子程序流程图,描述第二行显示IC卡余额工作流图4-5键盘扫描子程序流程图,描述键盘扫描查询工作流,实现对IC卡的操作。图4-2图4-2液晶显示设置子程序图4-1主程序流程图图4-3LCD图4-3LCD第一行显示子程序流程图图4-4LCD第二行显示子程序流程图图图4-5键盘扫描子程序流程图4.1系统主程序及子程序 ;主程序XEQU2FH;LCD地址变量 RSEQUP1.2 RWEQUP1.1 EEQUP1.0MAIN: ACALLSET_LCD;LCD初始化设置子程序 ACALLPRD RET ;读IC卡子程序 PRD: MOVDPTR,#4006H ;#4006H存储卡上余额 PRD0: MOVXA,@DPTR MOVB,A LCALLKEYBOARD ;调用KEYBOARD,键盘查询程序 RET;键盘扫描子程序 KEYBOARD: MOVA,P3 ANLA,#33H CJNEA,#33H,DELAY LCALLPRD0 DELAY: LCALLDELAY0 ;延时10ms程序 CJNEA,#33H,KB1 KB1: JNBP3.5,WORK1 ;加值程序 JNBP3.4,WORK2 ;减值程序 JNBP3.1,WORK3 ;余额不操作程序 JNBP3.0,CLR_LCD ;清屏程序 RET;余额加值程序 WORK1: MOVA,B MOVB,#N ;N为增加的数值 ADDA,B MOVX@DPTR,A LCALLCHANGE ;CHANGE为数据转换程序 RET ;余额减值程序 WORK2: MOVA,B MOVB,#W ;W为减去的数值 SUBBA,B JCSOUND ;SOUND为报警子程序 MOVX@DPTR,A LCALLCHANGE ;CHANGE为数据转换程序 RET;余额不变程序 WORK3: MOVA,B LCALLCHANGE ;CHANGE为数据转换程序 LJMPPRD RET;;数据转换程序 CHANGE: MOVX,#0 MOVB,#100 DIVAB ADDA,#30H PUSHB MOVB,X ACALLLCDP2 ;LCDP2为LCD第二行余额显示程序 POPB MOVA,#0AH XCHA,B DIVAB ADDA,#30H INCX PUSHB ACALLLCDP2 POPB INCX MOVA,B ADDA,#30H ACALLLCDP2 ;LCDP2为LCD第二行余额显示程序 ACALLLCD_Y ;显示“元”子程序 RET;LCD初始化设置程序 SET_LCD: CLRE CALLINIT_LCD ;INIT_LCD为初始化程序 CALLSTORE_DATA ;STORE_DATA为自定义字符程序 RET;LCD初始化 INIT_LCD: MOVA,#38H CALLWR_COMM ;WR_COMM为写指令程序 CALLDELAY1 ;DELAY1为延时5ms程序 MOVA,#0CH CALLWE_COMM CALLDELAY1 MOVA,#01H CALLWR_COMM CALLDELAY1 RET;自定义字符程序 STORE_DATA: MOVA,#40H ACALLWR_COMM MOVR2,#24 MOVDPTR,#D_DATA MOVR3,#00H S_DATA: MOVA,R3 MOVCA,@A+DPTR ACALLWR_DATA ;WR_DATA为写数据程序 INCR3 DJNZR2,S_DATA RET D_DATA: DB04H,07H,04H,1FH,04H,06H,05H,04H;卡代码为00H DB02H,19H,0EH,04H,1FH,0EH,15H,0CH;余代码为01H DB0EH,00H,1FH,0AH,0AH,0AH,13H,00H;元代码为02H;LCD第一行显示程序 LCDP1: ACALLSET_LED MOVA,#80H ;第一行显示DDRAM地址 ACALLWR_COMM MOVR2,#10 ;第一行显示10个字符 MOVR1,#00H MOVDPTR,#TABDIS ;要显示的数据首地址 LOOP1: MOVA,R1 MOVCA,@A+DPTR ;取字符代码 MOVP0,A ACALLWR_DATA I

温馨提示

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

评论

0/150

提交评论