基于ARM的校园一卡通研究与实现_第1页
基于ARM的校园一卡通研究与实现_第2页
基于ARM的校园一卡通研究与实现_第3页
基于ARM的校园一卡通研究与实现_第4页
基于ARM的校园一卡通研究与实现_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

安徽新华学院2015届本科毕业论文(设计)本科毕业论文(设计)题目:基于ARM的校园一卡通研究与实现姓名:徐晓东学号:1142056232专业:自动化(2)班院系:电子通信工程学院指导老师:李红星职称学位:讲师/硕士完成时间:2015年5月教务处制

安徽新华学院本科毕业论文(设计)独创承诺书本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。毕业论文(设计)作者签名:日期:

基于ARM的校园一卡通研究与实现摘要随着现代社会的发展,人们越来越需求方便的生活方式,校园一卡通在我们生活中担当着不可或缺的重要地位。我们生活中的一卡通分为两种:一种是ic式智能卡;另一种是射频识别卡(RFID),随着电子领域的快速发展射频识别技术渐渐的取代了传统的IC卡的地位,目前广泛用于图书馆、食堂、门禁系统等。本文为介绍了IC和射频识别的工作原理,由于传统的IC卡可靠性不高、不方便学生上机和收费管理。鉴于以上问题,为提高机房管理效率,降低工作强度,所以采用射频识别技术来实现校园一卡通的研究与实现,简要的介绍了设计方法和用途。本系统实施是基于ARM平台,介绍了读写器的组成、芯片的选型,通过嵌入式系统来完成的。关键字:ARM、射频识别、读写器。安徽新华学院2015届本科毕业论文(设计)ResearchandImplementationofCampusCardBasedonARMAbstractWiththedevelopmentofmodernsociety,peoplearemoreandmoredemandforconvenientlifestyle,campuscardplayanindispensableroleinourlife.Weliveinthecardisdividedintotwokinds:onekindisICtypesmartcard;theotherisaradiofrequencyidentificationcard(RFID),withtherapiddevelopmentofradiofrequencyidentificationtechnologyofelectronicfieldgraduallyreplacedthetraditionalICcardstatus,isnowwidelyusedinthelibrary,cafeteria,accesscontrolsystem,etc.Inthispaper,weintroducetheworkingprincipleofICandradiofrequencyidentificationcard,becausethetraditionalreliabilityisnothigh,notconvenientforstudentsandthemanagementfees.Inviewoftheaboveproblems,inordertoimprovethemanagementefficiency,reducetheintensityofwork,sotheuseofradiofrequencyidentificationtechnologyresearchandimplementationofcampuscardsystem,introducesthedesignmethodandapplication.TheimplementationofthissystemisbasedontheARMplatform,introducesthecomposition,selectionofthechipreader,accomplishedbyembeddedsystem.Keywords:ARM,RFID,reader

目录TOC\o\h\z\u1绪论 71.1研究课题的意义 71.2IC卡和射频识别技术的介绍 71.2.2射频识别技术 82ARM的简介 142.1微处理器介绍 142.2RISC体系结构 153系统硬件设计 163.1嵌入式微控制器MCU 163.2射频读写电路 173.3电源及稳压电路 193.4RTC电路 213.5系统指示电路 213.6LCD接口电路 223.7485传输电路 233.8显示电路与按键扫描电路 243.9存储电路 253.10看门狗电路 273.11嵌入式网络接口电路 284系统软件设计 294.1Mifare1卡 294.2FM1702SL基本指令 314.3主程序软件设计 345测试与结果 355.1软件测试 355.2调试结果 356结论 37致谢 38参考文献 39附录 40

1绪论1.1研究课题的意义

随着经济的飞速发展,电子技术正在向智能自动化快速迈进。当今的信息产业已成为全球最大的产业,是世界各国发展经济的共同选择,成为衡量一个国家综合国力的重要指标。RFID卡在我们生活中担当着重要的角色,在现代因特网全面普及的时代。RFID卡给我们的生活带来了巨大的方便,在学校里、公交系统、图书馆、门禁、停车场等都能用到RFID卡。随着社会的进步和快速的发展,传统的接触式IC卡满足不了人们的需求,渐渐的被RFID卡所替代。本章介绍了课题背景及研究意义,介绍了读写器的一般组成及各部分的作用,给出了IC卡和射频识别技术的概念。1.2IC卡和射频识别技术的介绍IC卡是继磁卡之后出现的又一种信息载体。我们生活中常见的IC卡采用射频技术与读卡器进行通讯,一般用的校园卡就是IC卡的一种,IC卡的成本一般比磁卡高,但保密性更好。IC卡与磁卡的区别在于IC卡是通过卡里的集成电路存储信息,而磁卡是通过卡内的磁力记录信息。RFID卡是一种非接触式IC卡,它成功地解决电子领域的一大难题,实现了免接触和无源的突破。主要用于公交、电信、银行、车场管理等领域,主要的功能包括安全认证,电子钱包,数据储存等。

1.2.1IC卡IC卡是一种电子式数据自动识别技术,IC卡分为接触式IC卡和非接触式IC卡。接触式IC卡是集成电路卡,通过卡里的集成电路存储信息,它将一个微电子芯片嵌入到卡基中,做成卡片形式,通过卡片表面的8个金属触点与读卡器进行物理连接,来完成通信和数据交换。IC卡包含了微电子技术和计算机技术,作为一种成熟的高技术产品,是继磁卡之后出现的又一种新型信息工具。IC卡的优点有信息安全、携带使用方便、验证方法独特等,所以它在食堂、门禁、公交车系统、停车场、图书馆等得到广泛的应用,在人们生活中扮演重要角色。工作原理:射频读卡器向IC卡发一组固定频率的电磁波,卡片内有一个IC串联谐振电路,其频率与读卡器发射的频率相同,这样在电磁波激励下,LC谐振电路产生共振,从而使电容内有了电荷;在这个电荷的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2V时,此电容可作为电源为其它电路提供工作电压,将卡内数据发射出去或接受读卡器的数据。其发射原理是非接触性IC卡与读卡器之间通过无线电波来完成操作。二者之间的通讯频率为13.56MHZ。1.2.2射频识别技术RFID技术在日常生活中已有广泛的应用:目前,RFID技术已在食品卫生、物流、零售、制造、服装、医疗、交通、防伪等多个领域得到普遍应用。RFID技术是一种非接触式的自动识别技术,它通过无线射频方式自动识别目标对象,识别工作无需人工干扰。RFID可以识别高速运动的物体,可以同时识别多个目标,可以实现远程读取,并可以工作在各种恶劣环境。RFID技术与传统的识别技术相比优点:(1)特有的无接触性,可远距离进行使用。(2)RFID电子标签抗污损能力强。(3)RFID电子标签安全性能高、标签容量大。(4)RFID可远距离同时识别多个电子标签。(5)RFID是物联网的基石。一套完整的RFID设备至少需要两个部分的器件,分别是阅读器和电子标签。阅读器与电子标签通过自身内置的天线发出或接收射频信号。RFID的组成部分:电子标签、读写器、系统高层。图1.1RFID系统结构图电子标签(Tag)

电子标签都是天线及芯片组成的,通过附着在物体上来标识目标对象,电子编码的独特性使得它不可或缺。芯片用来存储物品的数据,天线用来收发无线电波。电子标签上的数据可以加密,存储数据容量大,存储信息容易更改。电子标签又称为射频标签,应答器,数据载体。

标签分类:电子标签的结构形式多种多样,有卡片型、环型、钮扣型、条型、盘型、钥匙扣型和手表型等。电子标签可能会是独立的标签形式,也可能会和诸如汽车点火钥匙集成在一起进行制造。(1)卡片型电子标签图1.2我国第二代身份证图1.3门禁卡(2)标签类电子标签图1.4具有粘贴功能图1.5钥匙扣读写器(ReaderandWriter)又称为阅读器(Reader),是读取和写入电子标签内存信息的设备。读写器可以与计算机网络进行连接,计算机网络可以完成数据信息的存储、管理和控制。读写器是一种数据采集设备,将前端电子标签所包含的信息,传递给后端的计算机网络。读写器基本由射频模块、控制处理模块和天线三部分组成。读写器通过天线与电子标签进行无线通信,读写器可以看成一个特殊的收发信机;同时,读写器也是电子标签与计算机网络的连接通道。

阅读器分类:

(1)根据读写器天线与读写器模块是否分离,读写器可以分为集成式读写器和分离式读写器。 (2)根据读写器外形和应用场合,读写器可以分为固定式读写器、OEM模块式读写器、手持式读写器、工业读写器和读卡器等。

读写器的工作特点:(1)电子标签与读写器之间的通信。(2)读写器与计算机网络之间的通信。(3)防碰撞识别能力。(4)对电子标签能量的管理。(5)读写器的适应性。(6)应用软件的控制作用。低频和高频RFID的近场特性:工作原理:读写器和电子标签之间射频信号的传输主要有两种方式,一种是电感耦合方式,一种是电磁反向散射方式,这两种方式采用的频率不同,工作原理也不同。低频和高频RFID系统基本上都采用电感耦合识别方式。低频和高频RFID电子标签与读写器的距离很近,这样电子标签可以获得较大的能量。低频和高频RFID电子标签与读写器的天线基本上都是线圈的形式,两个线圈之间的作用可以理解为变压器的耦合。

图1.6读写器工作原理RFID电感耦合方式使用的频率主要为13.56MHz。除此之外,RFID也采用其它频率。(1)小于135kHz的RFID系统。(2)6.78MHz的RFID系统。(3)13.56MHz的RFID系统。(4)27.125MHz的RFID系统。微波RFID的电波特性:微波RFID的工作波长较短,电子标签基本都处于读写器天线的远区,电子标签获得的是读写器的辐射信号和辐射能量。微波RFID系统的阅读距离一般大于1m,典型情况为4m~7m,最大可达10m以上。图1.7微波读写器微波RFID的频率主要包括433MHz、800/900MHz、2.45GHz或5.8GHz。其中,433MHz和800/900MHz频段电波的绕射能力较强,障碍物对电波传播的影响较小;2.45GHz和5.8GHz电磁波的波长较短,收发天线直线之间最好没有障碍物。天线定义:凡是利用电磁波来传递信息和能量的,都依靠天线来进行工作,天线是用来发射或接收无线电波的装置和部件。天线是无线通信系统的第一个器件和最后一个器件。天线按照结构分类:(1)线状天线(2)面状天线(3)缝隙天线(4)微带天线天线的效率:天线在工作时,并不能将输入天线的能量全部辐射出去。天线的效率定义为天线的辐射功率P1与输入功率P2的比值,即:n=P1/P2。方向性系数:在离开天线某一距离处,天线在最大辐射方向上产生的功率密度,与天线辐射出去的能量被均匀分到空间各个方向(即理想无方向性天线)时的功率密度之比,称为天线的方向性系数。电基本振子的方向性系数为1.5。增益定义为当天线与理想无方向性天线的输入功率相同时,两种天线在最大辐射方向上辐射功率密度之比增益同时考虑了天线的方向性系数和效率。低频和高频RFID天线的结构和图片:RFID应用领域:制造领域、物流领域、零售领域、医疗领域、身份识别领域、军事领域、防伪安全领域、资产管理领域、交通领域、食品领域、图书领域、动物领域、农业领域、电力管理领域、电子支付领域、环境监测领域、智能家居领域。技术特点:

1、数据存储:同传统标签比较,标签容量更大,数据可随时更新、可读写。

2、读写速度:读写速度更快,与条码相比,可同时对多个目标识别、对快速运动物体识别。

3、使用方便:体积小,容易封装,可以嵌入产品内。

4、安全:专用芯片、序列号惟一、很难复制。耐用:无机械故障、寿命长、抗恶劣环境。

2ARM的简介2.1微处理器介绍ARM是全球领先的16/32位RISC微处理器的知识产权设计供应商,ARM公司通过转让高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。目前,应用比较多的是ARM7系列、ARM9系列、ARM9E系列、ARM10系列、ARM11系列、SecurCore系列和Intel的StrongARM、XScale系列。ARM7TDMI基于ARM体系结构V4版本,是目前低端的ARM核,具有广泛的应用,其最显著的应用为数字移动电话。ARM7TDMI使用流水线以提高处理器指令的流动速度。流水线允许几个操作同时进行,以及处理和存储系统连续操作。ARM7TDMI使用三级流水线,因此,指令的执行分成三个阶段——取指、译码和执行。ARM7TDMI核是冯·诺依曼体系结构,使用单一32位数据总线传送指令和数据,只有加载、存储和交换指令可以访问存储器中的数据。ARM7TDMI-S是ARM7TDMI的可综合版本(软核)。对应用工程师来说,除非芯片生产商对ARM7TDMI-S进行了裁减,否则在逻辑上ARM7TDMI-S与ARM7TDMI没有太大区别,其编程模型与ARM7TDMI一致。ARM公司系列产品主要有ARM7、ARM9、ARM9E、ARM10E、SecurCore和ARM11等。其中ARM7TDMI是嵌入式处理器的主力产品之一。本书介绍的三星公司S3C44B0X嵌入式微处理器,就是采用了ARM7TDMI核。StrongARM和XScale系列产品在各种嵌入式系统中同样得到了广泛的应用。StrongARM是基于ARM核设计的微处理器。

2.2RISC体系结构RISC体系的指令长度不固定,指令集庞大,指令执行周期长短不一,给芯片的成本价格和开发设计带来了困难,使流水线的实现和指令译码在硬件上难以实现。随着计算机技术的发展需要不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。剩下的的指令在程序中不常用,在程序设计的时候只用了大概20%的指令,所以这种体系是不合理的。

3系统硬件设计本章主要是介绍LPC1768的硬件组成部分,之前想过用单片机和MFRC522的组合也能实现硬件部分的设计,最终感觉LPC1768和FM1702SL比较方便,所以就选择了这个组合。硬件设计方面的电源部分采用的是3.3V供电,还有RTC电路保证整个电路的运行畅通。3.1嵌入式微控制器MCU系统选用LPC1768作为读写模块的主控MCU。LPC1768有充足的通用I/O,不仅完全满足与液晶显示的并行接口需要,还可以扩展键盘、存储器、蜂鸣器、指示灯等其他外部设备;其内部总线频率高达100MHZ,运算能力完全满足控制读写设备的需求;另外,LPC1768还有串行通信模块、以太网MAC和8通道的通用DMA控制器等功能模块。LPC1768芯片的主要功能模块包括:(1)CPU:LPC1768处理器内部总线频率高达100MHZ,Cortex-M3内核采用3级流水线和哈佛结构,集成了独立的本地指令和数据总线以及用于外设的稍微低性能的第三条总线,CPU还包含一个支持随机跳转的内部预取指单元指令系统,功能强、寻址方式多、编程方便。(2)看门狗定时器模块(WDT):当微控制器出现错误状态时WDT电路会在一定时间内使系统复位当看门狗使能时,如果用户程序没有在溢出周期内喂狗(给看门狗定时器重装定时值),看门狗会产生一个系统复位。。(3)异步串行通信接口模块(SCI):RS-485是能使用异步串行通信规程的通信方式,能和计算机、传真机等多种设备进行数据传输。(4)存储器:当LPC1700系列微控制器从Flash运行程序代码时,存储器加速模块的设计极大的提高了处理器性能,同时也节省了整个系统功率。存储器加速模块还改进了访问Flash存储器数据的速度和功率。(5)实时时钟(RTC):RTC模块包括20字节电池供电的备用寄存器,当芯片的其它部分掉电时允许系统状态存储在该寄存器中。电池电源可由标准的3V锂电池供电。当电池电压掉至2.1V的低电压时,RTC仍将会继续工作。3.2射频读写电路本课题选用复旦微电子推出的集成化单颗射频基站芯片FM1702SL来开发一卡通系统。FM1702SL是复旦微电子股份有限公司基于IS014443标准设计的非接触卡读卡器专用芯片,采用0.6微米CMOSEEPROM的工艺制造,支持ISOl4443typeA协议和MIFARE标准的加密算法。芯片内部集成了模拟调制解调电路,且含有512byte的EEPROM和64byte的FIFO,多用于手持设备,性能稳定、功耗低、价格低廉。FM1702SL共有24个引脚,如图3.1所示,其引脚可以分为以下几类:图3.1FM1702SL管脚配置(SOP24封装)(1)电源类引脚为使EMC特性和信号解耦方面达到最佳性能,器件使用了3个独立的电源,分别是:TVDD,TVSS(5脚,7脚):天线驱动部分的电源;AVDD,AVSS(18脚,20脚):模拟部分的电源;DVDD,DVSS(17脚,11脚):数字部分的电源;另外,还有天线部分的内部参考电压:VMID(22脚)。(2)天线引脚TX1,TX2(4脚,6脚):发送器引脚。FM1702SL通过TX1和TX2发送经过调制的13.56MHz载波信号。RX(21脚):接收器引脚。接收从天线耦合得到的来自卡片的13.56MHz输入载波。(3)复位引脚RSTPD(23脚):高电平复位内部电路,晶振停止工作,内部输入管脚和外部电路隔离,下沿触发内部复位程序。(4)晶振引脚OSCIN,OSCOUT(1脚,24脚):晶振(13.56MHz)的输入、输出引脚。(5)MIFARE接口MFIN,MFOUT(1脚,4脚):MIFARE接口输入、输出引脚。(6)串行通信接口FM1702SL有4个引脚用于控制SPI通信接口。MISO(12脚):主入从出,SPI接口下的数据输出。MOSI(14脚):主出从入,SPI接口下的数据输入。NSS(15脚):接口选通,选通SPI接口模式。SCK(13脚):串行时钟,为SPI通信提供时钟信号。AUX(19脚):模拟测试信号输出,输出模拟测试信号,测试信号由TestAnaOutSel寄存器选择。IRQ(2脚):中断请求引脚,当有中断事件发生时,输出中断源请求信号。C0(8脚)固定接高电平,C1(9脚)、C2(10脚)、C3(16脚)固定接低电平。FM1702SL根据其寄存器的设定对发送数据进行调制,通过由天线驱动引脚TX1和TX2以13.56MHz的电磁波形式发送出去。其中,天线是系统的一个重要组成部分,为了抑制13.56MHz中的三次、五次和高次谐波,设计天线电路时使用了EMC高频滤波电路。FM1702SL的天线引脚TX1、TX2、RX以及参考电压VMID先经过EMC滤波电路,然后再与天线匹配电路连接;为了提供稳定的参考电压,进一步减少干扰,在RX和VMID引脚间连接了820Ω的电阻R1起到分压器的作用。图3.2天线匹配电路我们把天线与卡片间设计成紧耦合,来给RFID卡提供足够的能量,PCB材质、天线附近的金属或铁氧体以及导体的厚度等因素会使天线线圈的电感和电容值发生改变,但可以用以下的公式来估算天线的电感:Ll[nH]=2×Ll[cm]×ln(Ll/Dl)-K×Nl1.8其中:Ll为一圈导线的长度;Dl为导线直径或者PCB板敷铜的宽度;K为天线形状系数(圆形K=1.07,矩形K=1.47);Ln为自然对数。3.3电源及稳压电路系统采用12V供电。变压器将220V市电降压为交流12V,通过整流桥将交流电压变成脉动的直流电压,滤波电路(C1和C2)可滤除直流电压中较大的纹波,整流滤波之后经稳压电路(L7812)稳压成12V,稳压后再次滤除电压中的高低频杂波,以保证电源的纯净。供电电路如图3.3:图3.3系统供电电路由于系统MCU(LPC1768)、射频读写芯片FM1702SL的工作电压为3.3V,存储器、看门狗电路以及按键扫描芯片等需5V供电,需对电源进行12V-5V-3.3V的转换。图3.45V稳压电路选用MP1582将输入的电压稳压至5V(如图3.4)。MP1582是种电流模式的降压转换器,MP1582能在700KHz或1.3MHz频率下使用,允许简单的过滤和低噪音。外部补偿引脚使用户灵活设置循环动力学,MP1582可以输出高达500mA的稳定5V电压。MP1582包括欠压锁定,电流限制和热过载保护防止损害的发生输出过载。选用AMS1117-3.3芯片将输入的5V电压稳压至3.3V(如图3.5)。AMS1117-3.3是一个低漏失电压调整器,片内过热切断电路对芯片提供了过载、过热保护。输出连接了一个22μF的钽电容和一个104陶瓷电容以保证输出电压的稳定,L3、L4对系统的模数地进行了隔离。图3.53.3V稳压电路3.4RTC电路系统需要维持一个系统时间,由于MCU内部集成了RTC模块,可为系统提供事件发生的基准时间(如图3.6)。该模块包括了一个20字节电池供电的备用寄存器,当芯片的其它部分掉电时允许系统状态存储在寄存器中。电池电源可由标准的3V锂电池供电。当电池电压掉至2.1V的低电压时,RTC仍可继续工作(时间不会因为系统掉电而停止)。同时在系统上电工作时,会和远程服务器进行信息交互,获取服务器时间,然后启用主控MCU的RTC时钟功能,保持系统与服务器的时间同步。图3.6RTC电路3.5系统指示电路嵌入式应用系统常采用发光二极管和蜂鸣器来指示系统的运行状态,驱动电路简单且易于实现。本系统设有3个状态指示灯和1个峰鸣器。3个状态指示灯包括1个电源指示灯(D1)和2个通信指示灯(D5、D6),如图3.7、3.8所示。D1接通电源时常亮,断开电源时熄灭;D6指示系统的运行状况(系统死机时熄灭);D5在扣费失败后闪烁;蜂鸣器在每次操作结束时发出指示音,如余额不足或扣费/充值成功。由于MCU的I/O口驱动能力有限,不能直接驱动压电式蜂鸣器,因此选用两个PNP型晶体管组成晶体管驱动电路,单片机I/O口(P0.24)输出经驱动电路放大后驱动蜂鸣器。图3.7蜂鸣器驱动电路图3.8系统状态指示灯3.6LCD接口电路系统预留了液晶显示接口,用来显示读写卡的通信状况,并提示用户的下一步操作等信息。液晶屏采用带字库的ST7920,支持8位并行接口及4位串行接口,可以很方便地与MCU进行连接,支持反白显示、画面垂直旋转等功能。在此不详细介绍ST7920的引脚定义和软件驱动,只简单地介绍液晶ST7920与MCU的连接,如图3.9:图3.9LCD显示电路3.7485传输电路在工业控制等环境中,传输线路常常会受到电气干扰而导致数据传输错误,RS-232通讯在不增加缓冲器的情况下只可传输15米。因此系统选用RS-485网络来传输用户消费、充值时产生的数据(如图3.10)。RS-485采用差分信号负逻辑,+2V~+6V表示“0”,-6V~-2V表示“1”。RS485有两线制和四线制两种接线方式,四线制是全双工通讯方式,两线制是半双工通讯方式。图3.10RS-485传输电路RS-485模块使用直线拓朴结构,为了网络的通讯阻抗达到匹配,降低不匹配引起的反射、吸收噪声,设计时在终端安装2个匹配电阻,其阻值等于传输电缆的特性阻抗(一般取值为120Ω),要特别注意在短距离或低波特率数据传输(300米以下、19200bps)时可不需匹配电阻。由于匹配电阻需要消耗很大电流,不适用于功耗限制严格的系统。在一些场合,可以考虑比较省电的并联“RC”匹配方案,可以节省功率,但电容C的取值是很难的,需要在功耗和匹配质量间进行折中。(1)A,B(6脚、7脚)为RS485总线接口。A为非反相接收输入或非反相驱动输出,B为反相接收输入或反相驱动输出。(2)RO(1脚)为接收器输出端,DI(4脚)为发送器输入端,分别与单片机的RXD、TXD连接。DI输入信号经SP3075E转换为A、B信号传送出去;接收到A、B信号经SP3075E转换为一个RO信号。(3)RE,DE(2脚、3脚)为收发使能端。RE是接收器输出使能端,低电平有效;DE是驱动器输出使能端,高电平有效[8]。收发使能RE、DE管脚与MCU的一个I/O口(P0.25)连接。当P0.25=1时,SP3075E处于发送状态,当P0.25=0时,SP3075E处于接收状态。连接至A引脚的上拉电阻R34、连接至B引脚的下拉电阻R33用于保证无连接的SP3075芯片处于空闲状态,提供网络失效保护,以提高RS-485节点与网络的可靠性[9]。电路图中,钳位于6.8V的TVS管D27可以避免总线在受外界干扰时(雷击、浪涌)产生的高压损坏RS-485收发器,对总线进行保护。3.8显示电路与按键扫描电路系统的显示电路与按键扫描电路由CH453器件完成。CH453内置时钟振荡电路,可以动态驱动16位数码管或者128只LED发光管;同时还可以进行64键的键盘扫描,如图3.11:图3.11显示电路与按键扫描电路CH453是2线串行总线接口,包含2个主要信号线:串行数据时钟输入线SCL、串行数据输入和输出线SDA;以及1个辅助信号线:中断输出线INT#。SCL用于提供串行时钟,SDA用于串行数据输入和输出,串行数据输入的顺序是低位在后,高位在前。CH453在上升沿时从SDA输入数据,在下降沿时从SDA输出数据。在SCL为高电平期间发生的SDA下降沿定义为串行接口的启动信号,在SCL为高电平期间发生的SDA上升沿定义为串行接口的停止信号。INT#为中断输出信号线,当有按键按下时,INT会被拉低,提示MCU读取按键代码。(1)显示驱动CH453采用动态扫描的方式驱动发光管,其顺序为DIG0至DIG15。内置显示电流驱动级,段电流不小于15mA,字电流不小于80mA。驱动数码管时,只需将字数据写入指定地址的数据寄存器中即可。(2)按键扫描CH453支持8×8矩阵的64键键盘。在键盘扫描期间,DIG7~DIG0引脚用于列扫描输出,SEG7~SEG0引脚带有内部下拉电阻,用于行扫描输入。CH453所提供的按键代码为7位,位2~位0是列扫描码,位5~位3是行扫描码,位6是状态码(键按下为1,键释放为0)。3.9存储电路系统的存储电路采用AT24C512与W25Q32结合的方式,用于存储系统的数据。AT24C512芯片(EEPROM)内含512K的存储单元,数据可保存100年。MCU使用串行操作方式将数据写入AT24C512,是一种性价比较高的存储芯片,主要用来存储上位机发送的指令,以及暂时存储读卡信息。图3.12存储电路存储器AT24C512为8引脚DIP封装,管脚的定义如下:A0到A2是地址输入线,决定了AT24C512的读写地址,总线上最多可挂接8片AT24C512,其地址分别为000到111。(2)SDA是双向串行数据线,用于数据的发送和接收。(3)SCL是串行时钟输入线,SCL线的时序即为IIC协议中的时钟信号。(4)WP是写保护线,接5V时存储器禁止写入数据,接地时才允许对存储器进行读写操作。

W25Q32(Flash)具有“PCB占用空间少”、“引脚数量少”、“功耗低”等特点,非常适合做代码下载应用。工作电压在2.7V~3.6V之间。W25Q32有16384可编程页,每页256字节,支持标准的SPI接口,传输速率最大75MHz,四线制:串行时钟引脚CLK,芯片选择引脚CS,串行数据输出引脚DO,串行数据输入输出引脚DIO,另外,芯片还具有保持引脚(HOLD)、写保护引脚(WP)、可编程写保护位、顶部和底部块的控制等特征,使得控制芯片更加灵活。以下三点是在使用W35Q32时需注意的事项:(1)对flash写数据,前提要做好必要的处理,首先要写入状态(取消写保护),写状态要15ms时间,写状态之前要打开写使能,状态写完会自动关闭写使能。其次是擦除(最小可以擦除一个扇区4k,需要时间300ms;其次区域大些可以块擦除64k,需要2s;也可以整个芯片擦除,但需要80s),擦除之前要打开写使能,擦除完会自动关闭写使能。最后可以写数据了,当然写数据之前要打开写使能,写完一次会自动关闭写使能,所以下一次写之前又要打开写使能,还有每次写数据的间隔要延时3ms,读数据不需要延时。(2)由于芯片中分了页,扇区,块,所以连写多个字节的数据时肯定会涉及到跨页和跨扇区。跨页或者跨扇区是不能连写的,如果每次写的字节是不定的那只能拆开写,如果每次写的字节是固定的个数(256能整除以的数),所以连写时要处理好跨页或者跨扇区的问题。(3)如果该扇区中有被写保护则扇区擦除和块擦除会失败,其它扇区可以被擦除,只要被擦除的区域没有保护着。如果是整个芯片擦除只要是有写保护在,则整块芯片会擦除失败。3.10看门狗电路为了防止系统“死机”和MCU在电源启动和关闭期间的误操作,采用看门狗芯片SP706S来监视系统的运行,如图2.14。图3.13看门狗电路SP706S包含uP复位模块,看门狗定时器,供电失败比较器,及手动复位输入模块,适用于+3.0V或+3.3V环境。WDO为看门狗输出引脚,当CPU在1.6秒内没有翻转I/O口(WDI,6脚)的电平,那么SP706S内部的看门狗溢出,当WDO脚输出低电平,MR脚被WDO脚改变为低电平,使得RESET脚输出200ms的复位脉冲令CPU复位,同时SP706S内部清零,让看门狗重新计数。在序调试或者ISP过程中,若CPU未在1.6秒内喂狗一次,则看门狗将会溢出导致CPU复位,从而中止程序的运行。因此在程序调试阶段和ISP阶段,可断开WDO和MR的连接(拔除短接帽),以禁止看门狗功能。3.11嵌入式网络接口电路嵌入式网络接口技术是在嵌入式系统中添加网络接口,从而实现网络数据传输。通过这种方式,主控MCU可及时地将数据上传到网络上。在校园一卡通系统中,以主控芯片LPC1768为核心,预留了以太网接口。以太网接口芯片选用TI公司的DP83848,与LPC1768的连接如下图所示:图3.14网络传输电路

4系统软件设计软件系统进行初始化后,读写器与卡片将进入操作准备阶段,这个阶段分为:寻卡、防碰撞、选卡和密码校验,密码校验成功后再根据程序代码进行相应的操作:读卡片块数据、向卡片的某块写数据、充值扣款、数据备份、停机状态。4.1Mifare1卡4.1MIFARE卡片状态图(1)MIFARE1的状态图:卡片在与读写设备的通信过程中的状态见图。POWER-OFF状态:在POWER-OFF状态,卡片由于缺少负载能量而处于断电状态。IDLE状态:在IDLE状态,卡片有电,可以侦听并识别出询卡命令REQA,WUPA。在执行过询卡命令后,卡片进入READY状态。READY状态:在READY状态,可应用防冲突方法得到完整的UID。当根据完整的UID,卡片被选中((SELECT)后,进入ACTIVE状态。ACTIVE状态:在ACTIVE状态,卡片可执行应用操作。当接收到一个有效的挂起(HLTA)命令后,卡片进入HALT状态。HALT状态:在HALT状态,卡片仅对WUPA命令有反应。(2)MIFARE1的射频通信处理流程如图:4.2MIFARE卡片通讯过程(2)MF1的射频通信处理流程复位应答(AnswertoRequest)当有卡片进入天线电磁波辐射范围内时,读写器以特定的协议与其进行通讯(卡片与读写器间的通讯协议和通讯波特率是预先定义好的),从而确定该卡片是否为M1卡,即验证卡片的卡型。防冲突机制(AnticollisionLoop)当有多张卡片进入读写器操作范围时,防冲突机制便会工作并从中选择一张卡片进行操作,未选中的卡片进入空闲模式等待下一次选卡操作,该过程会返回被选中卡片的序列号。选择卡片(SelectTag)选择被选中的卡的序列号,同时返回卡片的容量代码。三次互相确认(3PassAuthentication)选定要处理的卡片后,读写器对待读扇区的密码进行密码校验,通过三次相互认证之后就可以通过加密流与卡片进行数据的读写操作。(对另一扇区进行操作时,则必须进行另一扇区的密码校验,各扇区的校验密码是独立的。)4.2FM1702SL基本指令SPI_Init命令功能:该函数主要用来对FM1702SL的SPI口进行初始化,每次上电复位后调用。入口参数:无出口参数:c=1SPI接口初始化失败c=0SPI接口初始化成功FM1702SL_Init命令功能:该函数主要用来对FM1702SL的寄存器进行初始化,每次上电复位后调用。入口参数:无出口参数:c=1FM1702SL各寄存器初始化失败c=0FM1702SL各寄存器初始化成功Request命令功能:该函数主要用来向天线有效空间区域内发射卡片查询命令。入口参数:无出口参数:c=1卡片查询失败,有效空间区域内无卡c=0卡片查询成功,有效空间区域内有卡Get_UID命令功能:该函数主要用来得到存在于天线有效空间区域内卡片的5字节UID号。入口参数:无出口参数:c=1未得到卡片的5字节UID号c=0得到卡片的5字节UID号Card_UID用来保存得到的5字节UID号Select_Tag命令功能:该函数主要用来选中存在于天线有效空间区域内的卡片。Card_UID在Get_UID命令中得到的卡片UID号出口参数:c=1未选中卡片c=0卡片选中Load_Key_EE命令功能:该函数主要用来将FM1702SL密钥区的密码装载到FM1702SL的认证密钥缓冲区中,以供Authentication命令使用。入口参数:无出口参数:c=1密码装载失败c=0密码装载成功Authentication命令功能:该函数主要用来对存在于天线有效空间区域内的卡片进行三重认证操作。入口参数:无出口参数:c=1三重认证操作失败c=0三重认证操作成功Write_Block命令功能:该函数主要用来对存在于天线有效空间区域内的卡片的某块进行写操作。入口参数:Send_Buf待写入卡片中的16字节数据内容Block_num待写入卡片中的块号出口参数:c=1写块操作失败c=0写块操作成功Read_Block命令功能:该函数主要用来对存在于天线有效空间区域内的卡片的某块进行读操作。Block_num待读出卡片中的块号出口参数:c=1读块操作失败c=0读块操作成功Send_Buf读出的卡片中的16字节数据内容Load_Key命令功能:该函数主要用来将密码装载到FM1702SL的密钥区。Send_Buf写入FM1702SL密钥区地址(2bytes)及密码(6bytes),地址低字节在前。出口参数:c=1密码装载失败c=0密码装载成功4.3主程序软件设计通用读写卡器MCU内除固化的读写模块的对卡片操作函数外,为实现完整的读写器功能还有数码管显示函数、按键扫描函数、数据的存储及传输等函数接口。程序流程如下所示:(1)LPC1768进行寄存器与引脚功能的初始化,设置FM1702SL的工作方式,数码管显示欢迎界面;(2)主程序循环中一方面检测按键代码,并判断Enter键是否按下,Enter键未按下时,CPU继续扫描按键,按下后转3;另一方读取RTC时钟,判断当前系统时间是否为闲时段,忙时段时CPU扫描按键,限时段时读取Flash中的数据进行485远程数据传输;(3)读写器发送寻卡指令,等待一张卡片进入天线电磁波辐射范围内,之后执行防冲撞、锁定卡片、密码校验等一系列命令,并返回卡片卡号、存储空间等信息;(4)读取特定扇区内的数据,以此判断卡片是否进行初始化,若未初始化则进行卡片的初始化,已经初始化后的卡片转5;(5)判断此次操作为充值还是消费。充值时判断卡片数据是否超过999.99,超过时蜂鸣器发出嘶鸣声,提示用户此次操作无效,未超过时转6;消费时判断卡片数据是否小于0.00,若小于该数据蜂鸣器发出嘶鸣声,提示用户此次操作无效,不小于时转6;(6)将数据写入卡片特定的扇区块,同时读取RTC时钟,判断系统时间是否为闲时段,闲时段则将此次操作产生的数据(消费机号、操作时间、卡号、操作金额等数据)传输到PC上位机,忙时段则将数据写入Flash,并转2;

5测试与结果5.1软件测试对于LPC1768微控制器部分的测试,即测试LPC1768最小系统是否工作正常。LPC1768最小系统电路包括电源供电电路、时钟电路以及复位电路。(1)上电复位后,测量LPC1768的VSS、VDD管脚,测试电源供电电路是否正常供电;测量复位引脚RST是否处于高电平状态。(2)用示波器测量晶振的波形,测试时钟电路是否工作正常。(3)在LPC1768的一个通用I/O脚接上测试LED。编写一个简单的测试程序,让接有LED的I/O口的高低电平周期性变换,观察测试LED的闪烁情况。测试程序中主要包括对LPC1768进行寄存器初始化设置,包括堆栈指针的设定、PLL锁相环的配置、看门狗模块的设置。通过调整测试程序中的延时时间,可以看到LED闪烁频率的变化,由此判断LPC1768是否工作正常。5.2调试结果本课题设计的校园一卡通系统实现了刷卡消费、充值和远程传输消费/充值数据的功能。对于充值/消费时,可以实现固定金额操作(如打水)和非固定金额的消费与充值,闲时段时,将Flash中的数据读出通过485远程传输到控制台上。本系统操作方便,性能稳定。调试结果如图4.1所示。图4.1读出的IC卡数据

6结论RFID卡由于可以识别高速运动的物体,同时识别多个目标,实现远程读取,并可以工作在各种恶劣环境,便于维护和使用寿命长,使得它能取代现在接触式的IC卡得到更广泛的应用。本文采用LPC的32位处理器和复旦微电子的FM1702SL读写芯片实现了校园一卡通的设计,介绍了读写器与天线的设计及其实现过程。在硬件上介绍了LPC1768的各个电路还有读写器的工作原理;软件上实现了寻卡、读卡和修改数据的功能,还解释了一些FM1702的基本操作函数。但是由于课题研究时间的限制使论文有很多不足,对RFID技术的研究还有待继续深入的研究与学习。这是一种能为我们带来方便的新技术,RFID产业结合了电子、计算机、网络等技术领域,使RFID的优势远超于传统的条形码,射频识别技术在未来将深入到人们工作、生活的各个方面。随着RFID技术的发展演进以及成本的降低以及现在电子市场的壮大将为RFID带来巨大的商机。相信在众多研究者和开发人员的共同努力下,必定能推动RFID相关产品的问世。

致谢伴随着论文的完成,我的大学生活也就要这样结束了,虽然有点不舍但天下没有不散的宴席。很感谢在我写论文期间,老师和室友对我的巨大帮助,在论文的写作过程中我遇到了很多的困难,如果没有李红星老师的指导,我自己是很难完成的。另外,我在图书馆查找的资料也帮到了不少的忙,在此我向给予我帮助和指导的老师和同学表示诚心的感谢!感谢知网的无私精神,本文引用了多位学者的研究文献,这些文献给我指明了我要研究的方向,以及给了我理论的依据,在我一头雾水的时候,是他们为我照亮了前方的路。很感谢这些学者文献的帮助和启发,不然我将很难完成本论文的写作。由于课题研究时间的紧迫,使得论文的不足之处很多,还请各位老师的谅解和指正!参考文献[1]徐丽华.射频识别卡读写模块的设计与应用[M].苏州:苏州大学,2005.[2]陈龙.第二代身份证读写模块开发及应用[M].苏州:苏州大学,2007.10[3]许芬.基于ARM的RFID读写系统研究[M].上海大学,2010.[4]陈东.基于校园一卡通的小额自助网上缴费系统设计[J].2011.[5]王超.基于校园一卡通的学生收费管理系统设计[J].科技向导,2010.[6]战清,李苏剑.无线射频识别技术(RFID)理论与应用[M].电子工业出版社,2004.[7]贺利芳,范俊波.非接触IC卡技术及其发展和应用[J].通信与信息技术2003,(6).[8]解析无线射频识别技术[Z]./.2004-12.[9]李锦涛,郭俊波等.射频识别技术及其应用[Z].信息技术快报(中科院计算技术研究所内部刊物),2004,(11).[10]林树功,蔡竟业.射频识别技术原理分[Z]./,2004-10.[11]袁茂峰.全方位了解非接触式智能卡技术.金卡工程,2003[12][美]ArnoldBerger著.嵌入式系统设计[M].电子工业出版社,2002[13]孙永飞,基于ARM的RFID读卡器设计.南京理工大学,2007.7[14]汪开元,基于ARM的非接触式IC卡读卡器设计.南京理工大学,2009.5[15]徐守伟,基于ARM处理器的RFID读卡器的研制.电子科技大学,2006[16]王素琴,Mifare1非接触式IC卡的研究与实现.北京工业大学,2013.4[17]周密,13.56MHz射频读卡器系统的设计与研究.西南科技大学,2009.6.9[18]黄玉兰,物联网射频识别(RFID)技术与应用.人民邮电出版社.2013.5

附录附录一:硬件结构图LPC1768主板图硬件电路原理图附录二:源代码程序#include"..\config.h"externunsignedcharOk_Flag;externunsignedcharFlag_CardPro;externunsignedcharTime;intmain(void){ structTimeTime_Set={2014,5,14,3,9,21,30},*P; P=&Time_Set; targetInit();/*初始化目标板,切勿删除*/pinInit(); PCONP=PCONP|(1<<24); FIO0DIR&=~KEY;/*引脚初始化*/ uart0Init(); uart2Init(); SPIInit(); i2c1Init(100000); rtcInit(P); CH453_W(0x48,0x0b); Rc1702Ready(); PcdConfigISOType('A'); Hello_World(); Clear_Dis_All(); while(1) { while(Time==0) { DIS_Hell(); }; do{ Get_Key(); }while((Time>=1)&&(Ok_Flag==0)); while((Ok_Flag==1)||(Ok_Flag==2)) { Enter_Key(); Card_Pre(); if(Flag_CardPro==1) { Send_Message(); Flag_CardPro=0; } } }}I2CINT.CINT8UCH453_W(INT8Usla,INT8Udat){/*参数设置*/I2C_sla=sla;/*写操作的器件地址*/I2C_buf=&dat;/*待发送的数据*/I2C_num=1;/*发送1字节数据*/I2C_suba_en=0;/*无子地址*/I2C_end=0;I2C1CONCLR=0x2C;I2C1CONSET=0x60;/*设置为主机,并启动总线*/return(Wait_I2c_End(20));}INT8UCH453_R(INT8Usla,INT8U*dat){/*参数设置*/I2C_sla=sla;/*读操作的器件地址*/I2C_buf=dat;I2C_num=1;I2C_suba_en=0;/*无子地址*/I2C_end=0;I2C1CONCLR=0x2C;I2C1CONSET=0x60;/*设置为主机,并启动总线*/return(Wait_I2c_End(20));/*while(0==I2C_end);if(1==I2C_end)return(1);elsereturn(0);*/}DIS_KEY.C#defineBEEP(1<<24)/*P0.11脚控制蜂鸣器*/#defineBEEPOFF()FIO0DIR|=BEEP;FIO0SET|=BEEP#defineBEEPON()FIO0DIR|=BEEP;FIO0CLR|=BEEP#defineLED_G(1<<9)#defineLEDG_OFF()FIO0DIR|=LED_G;FIO0SET|=LED_G#defineLEDG_ON()FIO0DIR|=LED_G;FIO0CLR|=LED_GunsignedcharTime=0;unsignedcharMoney_Unp[20]={0x00};unsignedcharDot_Flag=0;signedcharNum_Dot=0;unsignedcharOk_Flag=0;unsignedlongintMoney=0; voidGet_Key(void) //读取按键数值{ unsignedcharTable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsignedcharTable_Dot[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; unsignedcharKey_buf[2]; if((FIO0PIN&KEY)==0) { CH453_R(0x4f,Key_buf); switch(Key_buf[0]) { case0x60://数字1 Time++; //金额位数加一 if(Dot_Flag) //小数点标志位 { Num_Dot++; //小数点后几位 if(Num_Dot>=3) { Num_Dot--; Time--; } else { if(Num_Dot==1) { if(Time==2) { Money_Unp[Time]=1; CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==3) { Money_Unp[Time]=1; CH453_W(0x78,Table[Money_Unp[Time-2]]); CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==4) { Money_Unp[Time]=1; CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table[Money_Unp[Time-2]]); CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time>=5) { Time--; } } elseif(Num_Dot==2) { if(Time==3) { Money_Unp[Time]=1; CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==4) { Money_Unp[Time]=1; CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==5) { Money_Unp[Time]=1; CH453_W(0x74,Table[Money_Unp[Time-4]]); CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time>5) { Time--; } } } } break; …… case0x59: //数字9 Time++; if(Dot_Flag) { Num_Dot++; if(Num_Dot>=3) { Num_Dot--; Time--; } else { if(Num_Dot==1) { if(Time==2) { Money_Unp[Time]=9; CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==3) { Money_Unp[Time]=9; CH453_W(0x78,Table[Money_Unp[Time-2]]); CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==4) { Money_Unp[Time]=9; CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table[Money_Unp[Time-2]]); CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time>=5) { Time--; } } elseif(Num_Dot==2) { if(Time==3) { Money_Unp[Time]=9; CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==4) { Money_Unp[Time]=9; CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==5) { Money_Unp[Time]=9; CH453_W(0x74,Table[Money_Unp[Time-4]]); CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time>5) { Time--; } } } } break; case0x50://清零 Time=0; Dot_Flag=0; Num_Dot=0; Ok_Flag=0; Clear_Dis_Half(); LEDG_OFF(); break; case0x49: //回车 Ok_Flag=1; if(Time==1) { Money_Unp[Time+1]=0; Money_Unp[Time+2]=0; CH453_W(0x78,Table_Dot[Money_Unp[Time]]); CH453_W(0x7a,Table[Money_Unp[Time+1]]); CH453_W(0x7c,Table[Money_Unp[Time+2]]); Num_Dot=2; Dot_Flag=1; Time=3; } elseif(Time==2) { if(Dot_Flag==0) { Money_Unp[Time+1]=0; Money_Unp[Time+2]=0; CH453_W(0x76,Table[Money_Unp[Time-1]]); CH453_W(0x78,Table_Dot[Money_Unp[Time]]); CH453_W(0x7a,Table[Money_Unp[Time+1]]); CH453_W(0x7c,Table[Money_Unp[Time+2]]); Num_Dot=2; Dot_Flag=1; Time=4; } elseif(Num_Dot==1) { Money_Unp[Time+1]=0; CH453_W(0x78,Table_Dot[Mone

温馨提示

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

评论

0/150

提交评论