基于51单片机的公交,智能收费系统.doc
2014届毕业设计 基于51单机片的公交智能收费系统 院 、 部:电气与信息工程学院学生姓名: 刘波波 指导教师: 黄海波 职称 讲师 专 业: 电子信息工程 班 级: 电子1003班 完成时间: 2014年5月30日 摘 要 公交智能收费系统要求实现读卡、收费、LED显示、时钟电路和计算机的通讯功能,其中读卡过程(即自动识别用户的过程)是整个系统的重要部分,本设计对读卡器的设计作详细介绍。采用PHILIPS公司的Mi-fare卡作IC卡,制作的IC卡读写器可以实现制卡、售卡、自动收费等功能,公交IC卡读写器以射频识别技术为核心,读写器内主要使用了1片Mi fare卡专用的读写处理芯片-MMM微模块,单片机采用89C52。P1口与串行器件24C64和显示、报警电路连接;P0口与MMM微模块相连,用作数据线;P2口用作时钟电路连接;P3口用于读写控制和中断。程序主要包括IC卡读写操作程序、键盘扫描程序、显示程序、存储器读写程序和通信程序。在读写器中,单片机与PC机之间的通信主要由TC232来实现。读写器中,单片机程序可采用C语言进行编程。C语言有功能丰富的库函数,运算速度快、编译效率高、可移植性好、软件的可读性强,便于改进和扩充。本设计所研究的技术和方法不仅对于公交智能收费系统有着重要的作用,而且在其他各领域如校园卡、考勤卡等也具有广泛的应用价值。 关键词: 单片机;非接触式IC卡;读写器;串口通信 ABSTRACT The intelligent charging system requirements to achieve the card, charge, LED display, clock circuit and computer communication function, wherein the card reading process (i.e., automatic recognition of user process) is an important part of the whole system, the design of card reader to read the detailed design.Using PHILIPS's Mi-fare card IC card, IC card reader can make the implementation of the business card printing, Card saling, automatic charging and other functions, the public transportation IC card reader based on radio frequency identification technology as the core, the reader is mainly used 1 pieces of Mi fare card read-write processing chip -MMM micro module, single-chip microcomputer with 89C52. The P1 port and serial device 24C64 and display, alarm circuit; P0 and MMM micro module, is used as a data line; P2 is used as the clock circuit is connected; P3 port used to read and write control and interrupt. The program includes IC card read-write operation procedure, keyboard scanning procedures, display program, memory read and write program and communication program. In the reader, the communication between MCU and PC is mainly implemented by TC232. Reader, microcontroller program can be programmed in C language. C language library function rich, fast operation, high efficiency to compile, good portability, software readable, easy to improve and expand。Technology and methods of the research of this design not only for bus intelligent charging system plays an important role, but also in other fields such as campus card, attendance card also has extensive application value。 Key words monolithic ; non-contact type ; reader-writer ; serial communication目 录1 绪论11.1 公交智能收费系统现状及发展趋势11.1.1 概述11.1.2 现状11.1.3 发展21.2 本文的内容32 设计方案42.1 硬件设计选择42.2 89C52的接口介绍52.2.1 I/O口介绍62.2.2 89C52的功能口介绍62.3 软件设计选择83 硬件设计93.1读/写卡程序113.2 显示电路123.3 I2C存储器24C64133.4 监控电路概述143.5 上、下位机通信设计143.6 时钟电路163.7 蜂鸣器模块概述164 软件设计18 4.1读卡器流程图读卡18 4.2公交收费系统软件功能结构19 4.3公交管理软件系统软件19结束语23参考文献24致 谢26附录 程序清单271 绪论 公交如今已成为都市重要的交通工具,收费的时候有人为的收费也有采用了智能的收费系统。利用智能收费先是便利,再是快捷,还有就是有利于减少现金流动。公交车智能收费系统在公交系统中极大地促进了非接触式IC卡的发展。国外已有许多知名的公司已使用这方面的技术。中国虽开始较晚,但成长迅速。公交IC卡作为非接触卡,操作方便,可靠性高,寿命长,发展潜力巨大。公交收费系统的读写操作,只需要将卡在读写某一区间内可以实现数据交换装置附近,没有任何接触,使用十分方便,速度快,不易损坏。所以,除了用在公交系统,在门禁、学校、企业等人事管理、娱乐场所等领域有极大的应用前景。1.1 公交智能收费系统现状及发展趋势公交车收费系统一般采取接触式IC卡,因为卡在读写器上操作时常造成磨损引起的接触不良,从而导致数据传输故障,此外卡跟读写器的磨擦也极大地减短了卡和读写器的使用年限。随着技术的进步,公交车收费系统慢慢地被射频技术所替代,即非接触式的IC卡。读写器用射频识别技术为核心,每当射频卡靠近读写器的时候,因受读写器的电磁波激励的作用,LC谐振电路就开始产生共振和接收电磁波能量。每当射频卡一收集到充足的能量时,就会把卡内存储的识别卡和其他的数据传输的无线电波,读者和接受读者卡上的数据和进一步的操作。在环境多变的公交车上,这种收费系统一定有很大发展前景。1.1.1 概述公交智能收费体系构造复杂,所以,公交车IC卡的读写器最少包含公交车载机公交车售卡机、公交车制卡机的三个读写器。以下主要介绍公交车载机读写器的设计,主要部件是由单片机、MMM微模块、单片机、存储器、和监控电路还有PC通信的TC232通讯接口电路等部件构成。Mi fare卡专门使用的芯片MF RC500,它是由一个微型的且最大操作间距达100mm的Mi fare读/写设备的核心部件,其功能包括调制、解调、安全管理和防碰撞机制等。读写器是收取费用现场的, 且读写器编写的时候,只会进行读卡片的操作,且具备自动地收取费用的机能。1.1.2 现状当今,虽然接触式IC卡在交通中得以普遍的使用。但在接触IC卡的推广使用中,慢慢发现了许多缺点:卡在读写器上频繁的拔插的操作造成的磨损使得接触性不良,继而导致数据传送报错,另外卡与读写器之间的磨损也很大缩短了卡和读写器的使用年限;而且,此IC卡的通信效率很低,还有再个插拔卡的动作造成的延误,导致每次交易都要长久的等待。现在更多的应用不仅对卡的接口给予了不一样的需求,而且对传统非接触卡应用也提出了更多的需求。起先非接触卡的指令很简单,功能也很少。实现一个高难度的操作就像建立一个普通文件一样需要对卡的数据结构十分熟悉并且需要编很多指令。尤其是卡中大部分资料都是很敏感的,比如剩余金额的数目,所以在对这些资料进行操作的时候,万一出现意外使得操作突然停止,就要面临怎样地正确恢复资料的难题,这非常需要高软件技巧。以上所有的这些问题都大大防碍了非接触卡的应用创新。然而公交车智能系统非接触式IC卡也是应用里最大的领域之一。自2O03年以来我国就有许多城市开始陆续采用非接触式IC卡的电子车票体系。但也在很多城市中没有普及开来。人们还不理解公交卡所拥有的优势,还有就是收费体系做的也还不够完善,比如受公交环境差的影响使得系统出错率高等。1.1.3 发展现在国际ISO拟定了主要两个非接触IC卡国际准则,一个菲利蒲和西门子的公司的TYPE A标准,另外一个则是摩托罗拉和意法半导体公司的TYPE B标准。两个标准各有各的优点和缺点。然而TYPE A标准。则是目前运用较多的一种标准MIFARE标准。TYPE B与A的主要不同是卡跟读写器的调制方式的差异。而TYPE A采用的则是间断的调制原理,信息“1”为时,即有信号传到卡,信息显示是“0”时,则就无信号传到卡,并且时间的间隔非常短暂,基本不会影响到卡的正常工作。用这种方式信息区别会很明显,而且受环境影响的可能性小,很难会误操作。然而缺点就是在不断地传输能量到非接触卡的时候,能量会有几率发生波动。公共汽车上干扰因素很多,打卡时间又极短,错误信号发生的机率越小越好,因此,采用TYPE A相对来会好很多。而且,鉴于国情影响,车在较短时间里使用非接触CPU卡的可能性小,而使用逻辑加密卡。因为使用非接触逻辑加密卡时,因为没有CPU在工作,所以对能量的持续性要求很强,因此TYPE A可以很好胜任这工作。我国引进的射频 IC卡主要有PHILIPS公司的Mi fare和ATMEL公司的Demic卡。制作的IC卡读写器可以实现制卡、售卡、自动收费等功能,具有安全、方便、快捷、可靠性高等的特点,解决了城市公共交通服务行业既频繁又琐碎的收费管理问题,有广泛的利用远景。在我国最广使用的就是Mi fare IC卡。其每一年销售量达几亿张的IC卡,促使我国迅速成为IC卡应用发展速度最快的国家之一。此外, 近些年售出的非接触式卡里近一半是在公共交通中使用的。1.2 本文的内容此设计研究的是公交智能收费系统(B)标准,其重点进行卡的读写程序设计,它是以非接触式通信为技术基础。本课题设计是以射频技术为基础,铺以单片机编程来控制MF RC500的读写卡操作,然后卡里的内容跟时钟信息一起存放在存储器里,然后显示模块显示卡的扣除费用金额等,同时蜂鸣器在操作无误时就响一声。而DS1232为控制芯片,能解决程序跑飞的问题。然而在存储器存储的信息到顶时,就会通过TC232和上位机相接,然后把信息发给PC机。2 设计方案 设计的基本思想:一有Mifare1射频卡距离射频天线100mm内时,读写器就能够获取到卡中的数据信息。然后单片机把读取得数据进行处理,条件符合,蜂呜器就响一声。然后把数据跟当时的时间同时储存在单片机EEPROM内接着在LED上显示所读数据。然而当无卡在其工作范围时,就会在LED上显示此刻的时间。如果读卡出错,则显示出错的标志。在和上位机通讯时,把单片机里EEPROM存入的信息发向上位机。 单片机的程序主要有:时钟生成程序、读写卡程序、跟上位机的中断通信程序、时钟生成程序、显示驱动程序、数据存储程序、蜂鸣器报警程序。2.1 硬件设计选择 MCU采用单片机89C52,是因为89C52开发简单,运行稳定。89C52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器和256字节的RAM,比51多一倍。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 公交收费系统结构复杂,环节较多,因此,公交非接触IC 卡的读写器至少应包括公交售卡机、公交车载机和公交制卡机三个读写器。除了售卡机要求有键盘外,其余的硬件组成大体相同。图1为非接触IC卡及其读写器硬件电路原理图,主要由MMM微模块、单片机、键盘、显示、存储器、天线和监控电路以及与PC机通信的TC232串行通信接口电路等部分组成。 图1 智能系统原理图 2.2 89C52的接口介绍图2 89C52的引脚图2.2.1 I/O口介绍P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用。2.2.2 89C52的功能口介绍 RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。AT89C52有6个中断源,2个中断优先级,IE寄存器控制各中断位,IP寄存器中6个中断源的每一个可定为2个优先级。 T2CON:定时器/计数器2控制寄存器串行口控制寄存器:SCON是一个可位寻址的专用寄存器,用于串行数据通信的控制。其单元地址为98H,位地址为98H-9FH。 REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。TB8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通信中作为区别地址帧或数据帧的标志位。 RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。 TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的办法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。 RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI置位表示一帧数据接收完毕,可用查询的办法获知或者用中断的办法获知。RI也必须用软件清0。 电源控制寄存器:PCON寄存器主要是为CHMOS型单片机的电源控制而设的专用寄存器,单元地址为87H,最高位SMOD是串口波特率倍增位。当SMOD=1时,串行口波特率加倍。系统复为时SMOD=0。AT89C52 有6个中断源:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。如下表所示,IE.6位是不可用的。对于AT89C52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。 定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位TF0 和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的标志位TF2 在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。2.3 软件设计选择 读卡器的软件控制可采用汇编语言和C语言编程,这两种语言各有各的特点,汇编:效率高,对硬件的可操控性更强,体积小,不易维护,可移植性很差且汇编语言是低级语言,能够直接操作硬件,并且生成机器码的效率高。但汇编对平台的依赖性强,可移植性差,开发效率低。 C语言:移植性比较好,代码效率也比较高,可以对部分硬件直接访问。开发效率较高。写得好的C代码,可移植性是很好的,很多时候都不用修改或者只做少量修改。在目前的嵌入式系统中,C语言是使用最广泛的语言。所以,两者各有优缺点,本设计采用的是汇编语言的软件设计方案。3 硬件设计 系统程序重点任务是能够系统变量初始化,检测并且使用IC卡,并将结果存储跟显示、然后记录送入PC机中。读卡器里应用I2C存储器24C64,存储的内容主要是:机号(1个字节)、总金额(3个字节)和总记录(2个字节)。每一张卡的信息应该包括:加卡金额(1字节)、卡身份号(4字节)、售卡日期(2字节)跟售卡人编号(1字节)。 每当射频卡距离天线一定范围时,读卡器就读到卡中的信息。系统单片机要把所读信息进行分析和处理,一旦符合条件,就读卡成功,然后指示灯亮一下,蜂鸣器鸣向一声。然后卡片数据跟此刻时间一起存储在单片机内的存储器24C64里 。同时LED显示器上显示卡所读数据。要是无卡在读卡器的范围内时,则LED上显示此刻的时间。倘若读卡出错什么的,并显示出错了错误标志。则在和上位机进行通讯的时候,把单片机里EEPROM岁存储的信息发向上位机。主程序流程如图3所示:系统初始化装载密码开始有卡进入是串口中断卡合法Y读写卡操作报 警 处 理相关记录送PC数据处理及存储计数器满YYNN数据包有效执行PC机命令读时钟及转换显示时钟送LED显示器显示相关信息NNYYN图3 主程序流程图3.1读/写卡程序初始化退出将扣费后的金额写如卡IC卡防冲突显示扣费后的金额搜寻IC卡扣除规定金额显示卡中扣费前的余额读卡中余额认证选择IC卡是否写卡成功Y写卡累计次数加1累计次数 6NNY蜂鸣器响 图4 读写流程图 卡的读写过程是相当复杂的一个执行过程,要完成许多的操作指令,调用很多的函数。其中应该包括装载密码,选卡,询卡,防冲突,读写卡,验证密码,停卡的操作。并且所有的这些流程都一定要按着固定的顺序执行。在无Mi fare卡在天线的有效距离里面时,就会显示那个时候的时间,然而一旦有Mi fare卡在天线的有效范围里的时候,并且在读卡程序验证密码和卡正确无误后,把读卡时间和卡号以及相关数据信息当作一条记录存储在E2PROM里,同时在显示器上显示当前的金额数目4。如图4所示:读写器针对IC卡的操作流程图。3.2 显示电路显示部分采用数码显示,使用串行输入BCD码-十进制译码驱动显示器件MC14499来完成和单片机系统的显示接口,以显示输入的数据、读写器工作状态或读出卡中剩下和出错的信息等。此器件主要有1个多路输出器、1个锁存器和1个20位移位寄存器。当输出器输出的BCD码经译码后,变成小数点DP和七段码(abcdefg)输送到段驱动器输出。在显示电路中,用P1口3根I/O口线(P1.0、P1.1、P1.2)分别提供时钟信号(CLK)、串行数据(DA)和使能信号(EN)。MC14499一次可接收20位串行输入数据,前面4位可以用于控制数码管的小数点显示,而后16位则是4个数码管的BCD码输入数据。而在每帧数据传送之前,必须把EN置0;然后传送20位数, 数据传送完后,再将EN置1。 图5 显示流程图3.3 I2C存储器24C64 读写器中设计了存储器。存储器选用24CXX系列的串行E2PROM。在车载机中主要存放乘客IC卡号、司机号和刷卡总数等信息。正常工作后,每隔一段时间要把读写器拿到公交管理中心将读写器储存的信息回放到PC机中保存处理。读写器中存储器可采用24C64,其存储量为8KB,因此最大能存储1023张售卡记录。如有需要也可用容量更大的存储器如24C128或24C256等。24C64为I2C总线的E2PROM。SCL为400kHz时钟线,SDA为双向数据线,A2、A1、A0三位为片选地址,即I2C总线上最多可并联8个串行E2PROM芯片。对E2PROM的操作方式由读写控制命令字决定,如下图所示。其中"1010"为4位读写控制码,R/W为读写控制位:"0"为写操作,"1"为读操作。所以结合电路图可知A2H为写控制命令字,A3H为读控制命令字。对存储器写操作,首先,单片机向24C64发一个START命令,产生启动信号;然后,发写命令控制字(如A2H)。当24C64应答后,进入一个写周期,再由单片机发送写数据地址,即确定数据写入到存储器的哪个地址;当有应答,单片机将要存储的数据送入到SDA数据线上;写周期结束时,单片机再发一停止位(STOP)。对存储器读操作,首先,单片机向24C64发一个START命令,产生启动信号;然后由单片机给出读数据地址;发送成功后,单片机又向24C64发一个START命令,产生开始条件,然后发读命令控制字(A3H);当24C64应答后,进入一个读周期,单片机从SDA数据线上读出指定存储地址中的数据。读周期结束时,单片机再发一停止位(STOP)。值得注意的是,对存储器操作时,每读写一个字节,单片机必须送一个应答位(ACK),释放一下SDA数据线,以便存储器能继续接收数据图6 24C64读写流程图3.4 监控电路概述监控电路为DS1232L芯片又称看门狗定时器,功能是:断电和上电时向89C52产生复位信号;看门狗进行系统监控,以防范死机的出现。该定时器的ST信号能够在微处理器的数据信号、控制信号或地址信号里获得,但是不管哪一种信号都必须能周期性的访问DS1232。在DS1232计数没有溢出时单片机发一信号就能使DS1232再进行重新计数,若一定时间内DS1232计数清零未完车,则DS1232就会发复位信号来促使单片机复位。所以编程的时候,必须在一定时间内给ST脚发送一个信号。3.5 上、下位机通信设计通过232 TTL电平实现单片机与PC机之间的通信(05V)和RS232电平(+ 1010V)转换,转让全部车辆机器救卡的销售记录。本设计采用中断方式,在此基础上,若用方式1、2,则当1帧的数据接收或发送完后,TI/RI就会自动置为1,然后请求串行中断,但若是CPU中断,就进行串行中断,使得TI/RI清0而再次中断。方式1是10位异步通信方式,其包括1个停止位,8个数据位和1个起始位。而波特率是由串口控制寄存器SMOD的状态和定时器T1的溢出率决定,在CPU晶振是11.0592MHz时,波特率就为9600b/s。SBUF执行写操作就可以启动发送,当在发送移位时钟的同时,就从TXD先送出起始位,然后是8位数据位,最后是停止位,这样来完成1帧数据的发送,中断标志TI置位。在允许接收的条件下(REN1),当接收来自负跳变为1至0,即被当成1帧数据的起始位,启动1次接收过程。当8位数据接收完,并检测到高电平停止位后,就把收到的8位数据装入SBUF,置位RI,1帧数据的接收过程完成。发送时,数据从TXD引脚输出,当数据写入发送缓冲器SBUF时,就启动发送。发送一帧数据后,有硬件将TI置1,并申请中断,通知CPU可以发送下一个数据,单片机即从存储器中将历史记录数据上传给PC机。 图7为下位机发送流程图:关中断去数据首址去记录个数读24C64打开TC232发送数据关闭TC232发送完NY图7 下位机发送流程图3.6 时钟电路 下图为DS1302的实时时间流程。单片机对DS1302的读写控制主要包括读取DS1302的时间和日期和DS1302的初始化,初始化过程即给DS1302赋予初始日期和时间,当时钟芯片启动后,在新的初始化指令没有接收到的情况下,就会一直不停地运行其内部的时钟,以保证时的准确性和实时性;单片机在任何时候都可以通过读取DS1302内部时间和日期复位端产生一个高电平写1302地址延时一段时间将该地址的数据读出地址增加显示数据地址增加向该地址写数据使DS1302不具有写保护复位产生一个高电平写1302地址变量初始化延时一段时间开始数据写完了吗?N数据读完了吗YYN。 图8 DS1302实时时间流程3.7 蜂鸣器模块概述 蜂鸣器程序:本程序通过在P1.7送出的音频范围的方波,驱动蜂鸣器发出响声,其中延时子程序的作用是使输出在人耳朵听觉能力之内的20KHZ以下的方波频率,要是没有延时程序的话,输出频率将会大大地超出人耳朵的听觉能力范围,我们就不能听到发出声音。只要更改延时常数,就可以改变输出频率,也就可以调整音调。所以我们可以更改#228为其他值,以改变蜂鸣器音调来达到我们的目的。蜂鸣器连接图如图9所示: 图9 蜂鸣器连接图4 软件设计4.1读卡器流程图读卡 器软件设计流程图如图10所示:首先单片机接通电源开始初始化等待ibutton接触,当有ibutton接触的时候读取其中的数值并对其进行减法操作所得数值返回ibutton,然后送数码管显示,最后把减去的金额送到I2C存储器存储,完成一次交易后单片机将又继续等待ibutton接触。 图10 读卡器软件设计流程图 4.2公交收费系统软件功能结构公交收费软件应能实现如下图11所示的基本功能,IC卡收费PC机程序用卡管理车辆人员管理数据回收与查询日常报表处理系统管理日/月营业报表充值报表用户权限管理数据维护图11公交收费软件功能框图 4.3公交管理软件系统软件本设计的公交管理软件系统软件采用成熟的公交收费管理软件。该软件是由深圳市卡联科技有限公司开发,具体的功能界面截图如下。图12系统登录界面图13 开卡明细界面图14 退卡明细界面图15 注销卡明细报表界面图16用户余额明细报表界面图18个人消费记录报表界面图18个人消费汇总报表界面图19 司机出勤报表界面图 20 终端汇总报表界面结束语 该课题研究的公交智能收费系统在许多城市的公交交通中有着极为广泛运用,它使用射频技术为前提,课题设计的Mi fare系列射频卡读写器可以进行多种Mi fare系列射频卡读写操作,从而能够与计算机进行串行通信。读写器在大约010CM范围内可以对卡片进行非接触通讯操作,操作的时候没有方向的要求,银耳使用起来非常的方便、快捷。对于其可靠性:因为和读写器之间没有机械性接触,所以能够避免因为接触读写的磨损而造成的物理损伤引起的故障,如接触不良、芯片脱落、粗暴插卡、弯曲损坏等。 此外非接触卡中还有快速防冲突机制,该机制能防止卡片与卡片之间出现数据干扰混淆的功能,因此可以进行“同时”对多张卡的并行处理优点,从而提高系统工作效率与速度。 当然接触式卡的序列号是不能更改的,由于制造厂家固化的原因而是不可以更改的。卡中各扇区都有各自独立的访问条件和操作密码,读写器跟卡之间使用双向验证的机制,运行过程里全部数据都是加密的。乘车刷卡的时候,只要把卡的卡面靠近刷卡区并且停留大约0.3秒的样子,就可以完成乘车缴费的流程,同时显示屏上会显示卡内余额跟本次乘车的消费金额。虽然国内外对公交卡的系统已经有了多年的研究,但是非接触式射频系统如公交智能收费系统(B)研究过程也才几年的时间。此射频卡读写器系统读写非接触式IC卡片方便、迅速、可靠、安全,这种卡优点足以取代目前仍在使用的接触式IC卡读写器和磁卡,它的出现代表了科学技术发展的方向,以及其拥有的巨大发展和应用前景。参考文献1 杨振野. IC卡技术及其应用 .北京:科学出版社, 2006 .7 Yang Zhenye. The IC card technology and its application M.Beijing: Science Press, 2006.72 胡健等. 单片机原理与接口技术.机械工业出版社, 2004.6 Hu Jian. Single chip microcomputer principle and Interface Technology (M). Mechanical Industry Press, 2004.63 胡乾斌,李光斌,李玲,甘锡英. 单片微型计算机原理与应用. 华中科技大学出版社, 1997.7 Hu Qianbin, Li Guangbin, Li Ling, Gan Xiying. The single chip micro computer principle and application M. Huazhong University of Science and Technology press, 1997.74 赖麒文.C8051单片机语言开发环境实务与设计. 科学出版社, 2002.1 Lai Qiwen . C8051 language development environment and design practice (M).Science Press, 2002.15 崔光照. 单片机原理与接口技术.北京邮电大学出版社, 2005.10 Cui Guangzhao. Single chip microcomputer principle and Interface Technology (M) .Beijing University of Posts and Telecommunications press, 2005.106 J.卡尔.约瑟夫(美). 射频电路设计. 科学出版社, 2007 J. Carle Joseph (USA). RF circuit design (M). Science Press, 20077 陈邦媛. 射频通信电路. 科学出版社, 2007 Chen Bangyuan.RF communication ci