基于51单片机的公交车只能收费系统的设计综述.docx

上传人:b****6 文档编号:8449182 上传时间:2023-01-31 格式:DOCX 页数:57 大小:899.92KB
下载 相关 举报
基于51单片机的公交车只能收费系统的设计综述.docx_第1页
第1页 / 共57页
基于51单片机的公交车只能收费系统的设计综述.docx_第2页
第2页 / 共57页
基于51单片机的公交车只能收费系统的设计综述.docx_第3页
第3页 / 共57页
基于51单片机的公交车只能收费系统的设计综述.docx_第4页
第4页 / 共57页
基于51单片机的公交车只能收费系统的设计综述.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

基于51单片机的公交车只能收费系统的设计综述.docx

《基于51单片机的公交车只能收费系统的设计综述.docx》由会员分享,可在线阅读,更多相关《基于51单片机的公交车只能收费系统的设计综述.docx(57页珍藏版)》请在冰豆网上搜索。

基于51单片机的公交车只能收费系统的设计综述.docx

基于51单片机的公交车只能收费系统的设计综述

2015届毕业设计

基于51单机片的公交智能收费系统的设计

院、部:

电气与信息工程学院

学生姓名:

颜凯康

指导教师:

黄海波职称实验师

专业:

电气工程及其自动化

班级:

电气本1105班

完成时间:

2015年6月

 

摘要

 

公交车如今已成为都市重要的交通工具,收费的方式也从人工收费慢慢转变成智能收费,利用智能收费先是便利,再是快捷,还有就是有利于减少现金流动。

公交车智能收费系统成为现代公交系统重要的组成部分,研究操作方便,可靠性高的智能收费系统具有广阔应用前景。

论文拟采用51单片机为主控芯片来设计一套公交车智能收费系统,设计系统包括车载刷卡机,与后台收费系统。

车载刷卡机能实现对公交卡内金额的扣除,余额的显示等功能。

后台收费系统能实现卡内金额的调整,卡的挂失,等功能。

通过仿真基本达到了预期目标。

关键词:

单片机;非接触式IC卡;读写器

 

ABSTRACT

 

Nowadays,bushasbecomeanimportanttoolforurbantransportation,andthechargingmodehasgraduallytransformedfrommanualtollcollectiontotheintelligentone.Intelligenttollcollectionisconvenientandfast,andalsoadvantageoustothedecreaseofcashflow.Intelligenttollcollectionsystemequippedonbushasbecomeanimportantconstituentpartofmodernpublictransportationsystem.Theresearchoftheintelligenttollcollectionsystem,whichisconvenientandhighlyreliable,enjoysavastprospectinapplication.

Itisplanedthat51single-chipmicrocomputershouldbeadoptedasthemaincontrolchiptodesignanintelligenttollcollectionsystemequippedonbus.Thedesignedsystemincludesbus-mountedcard-swipingmachineandbackstagetollcollectionsystem.Thebus-mountedcard-swipingmachinecanrealizesuchfunctionsasbalancedeductinganddisplaying,etc.Thebackstagetollcollectionsystemalsoenablesseveralfunctions,suchasbalanceadjustmentandlossreporting,etc.Byvirtueofsimulation,theanticipatedobjectivescanbasicallybereached.

KeywordsSingle-chipmicrocomputer;Non-contactICcard;Cardreader

1绪论

 

公交如今已成为城市重要的交通工具,收费的时候有人工的收费方式也有采用了智能的收费系统。

利用智能收费先是便利,再是快捷,还有就是有利于减少现金流动。

公交车智能收费系统在公交系统中极大地促进了非接触式IC卡的发展。

国外已有许多知名的公司已使用这方面的技术。

中国虽开始较晚,但成长迅速。

公交IC卡作为非接触卡,操作方便,可靠性高,寿命长,发展潜力巨大[1]。

公交收费系统的读写操作,只需要将卡放在读写区间内就可以实现数据交换,没有任何接触,使用十分方便,速度快,不易损坏。

所以,除了用在公交系统,在门禁、学校、企业人事管理、娱乐场所等领域有极大的应用前景。

1.1公交智能收费系统现状及发展趋势

交通行业涵盖范围非常广。

从智能交通应用领域看,包括城市轨道交通、城市公交智能化、高速公路智能化及高速铁路智能化;从智能交通行业主要子系统产品范围看,包括智能交通信息服务系统产品、交通视频监控系统产品、智能化车辆控制系统产品、智能交通管理系统产品、智能收费系统主要产品及智能公交运营系统产品等[]。

城市化和汽车普及进程的加快使得通过智能交通缓解交通拥堵的需求上升。

根据资料显示,中国城市人均道路面积只有10.6平方米,远低于外国城市人均道路面积15到20平方米,与此同时,城市的机动车所有权很高,以15%的速度加强,城市道路的增长率只有3%[]。

这种矛盾让包括上海,北京,广州,重庆等城市都面临着交通不便和不安全。

在有限的土地资源,公路建设下大规模的道路拓宽成本高,只有通过智能交通信息化建设,有效缓解交通拥堵的状况才能减少成本。

目前国内从事智能交通行业有2000多家企业,主要集中在道路监控,高速公路收费,全球定位系统,地理信息和系统集成。

智能交通行业可分为设备提供商、软件开发商、系统集成商和运营商的平台[]。

智能交通的每个链接都是最初的阶段,但由于前端设备如传感线圈、视频、微波、等广泛使用的成本很低,因此发展迅速。

1.1.1概述

公交智能收费总线结构可以说是比较的复杂,所以,公交车IC卡收费系统包含公交车载机、后台上位机和读卡程序的三个部分。

智能公交系统紧密结合当下城市中的公共交通的实际情况,随着先进的科学技术的发展,加上结合设计理念人性化,构建了一套复杂的网络视频监控管理系统[]。

公共交通运营系统提供了可视化的管理服务,为人们出行提供方便,为公共安全提供强有力的保障。

1.1.2现状

如今,公交车收费系统发展迅速,其接触式IC卡与人工收费渐渐被非接触式IC卡所取代。

在接触式IC卡的普及过程中,逐渐发现了许多的弊端:

卡在读写器上经常拔插造成的磨损导致接触不良,从而引起数据传输错误,并且卡与读写器之间的磨损也大大缩短了卡和读写器的使用寿命;另外,接触式IC卡的通讯速率较低,再加上插拔卡的动作延误,造成每一笔交易需要较长时间的等待。

 

越来越多的应用除了对非接触卡的接口提出了要求,还对传统非接触卡的应用开发提出了进一步的要求。

原来非接触卡的指令比较简单,功能比较少。

要完成一个复杂的操作如建立一个文件需要对非接触卡的数据结构十分了解而且要编写许多条指令。

特别是非接触卡中存放的许多资料是比较敏感的,如金额之类,在对这些资料进行读写时,如果发生意外使操作中断,如何正确恢复资料是一个很头痛的问题,这需要很高软件技巧。

所有这些大大阻碍了非接触卡的应用开发。

所以怎么样解决这些问题是非常关键的,但是在所设计的非接触IC卡中难题逐一被解决[]。

1.1.3发展

公交智能收费系统以非接触式IC卡收费为标准,在国际ISO组织上确定了两个主要标准,一个是以菲利蒲、西门子公司为代表的TYPE A,一个是以摩托罗拉、意法半导体公司为代表的TYPE B。

两者各有优缺点。

 

以菲利蒲、西门子公司为代表的TYPE A。

这种标准是目前广泛运用的一种标准,即MIFARE标准。

它与TYPE B的区别主要是卡与读写器的通讯调制方式。

MIFARE采用的是一种间断是调制方式,即当表示信息为1时,有信号传到卡,当表示信息为0时没有信号传到卡,当然这个间隔是相当短的,不会影响到卡的正常工作。

这种方式的优点是信息区别明显,受干扰的机会少,不容易误操作。

缺点是在需要持续不断的提供能量到非接触卡时,能量有可能会出现波动。

 

在公共汽车上干扰很大,打卡时间又必须非常快,误信号出现的机率越小越好,从这个方面来说,采用TYPE A相对来说适合一些。

另外,由于受国情限制,公交在短期内采用非接触CPU卡的机会不大,一般采用非接触逻辑加密卡。

在使用非接触逻辑加密卡的过程中,由于卡里没有CPU在工作,对能量的持续性要求并不是很强,所以TYPE A可以很好地工作。

 

我国引进的射频 IC卡主要有PHILIPS公司的Mifare和ATMEL公司的Temic卡。

制作的IC卡读写器可以实现制卡、售卡、自动收费等功能,具有安全、实用、方便、快捷、可靠性高的特点,解决了城市公共交通服务行业既频繁又琐碎的收费管理问题,有广泛的应用前景。

 

在我国应用最广的就是Mifare系列非接触式IC卡。

每年超过几亿张的IC卡发卡量,使我国成为世界IC卡应用发展最快的国家之一。

根据估测, 近年来所售出的非接触式IC卡的50%是使用在公共交通领域。

我国每年的IC卡销售额的大幅度上升,让我国快速成长为最快的公交卡使用国家,在这之外,这些年来有将近一半的非接触型IC卡也陆陆续续的出现了[]。

1.2设计的内容

该设计研究的是公交智能收费系统的收费系统,由于是以非接触式通信为技术基础,以车载刷卡机、后台PC机连接系统和收费系统为重点进行设计。

设计中是以射频技术为基础,以单片机编程来控制MFRC500的读写卡操作,然后卡里的内容跟时钟信息一起存放在存储器里,之后显示模块显示卡的扣除费用等,同时蜂鸣器在操作无误时响一声。

而DS1232为控制芯片,能解决程序跑飞的问题。

然而在存储器存储的信息达到最大值时,就会通过TC232和上位机相接,然后把信息发给PC机。

 

2设计方案

 

设计中设计了一种智能收费系统,其特色是收费合理,使用方便[]。

克服了现有“分段计费”的缺点,其创新点为系统由“公交车计价器”与“多费率收费机”组成:

1、采用“公交车计费器”统计价格,使用电子屏幕给司机以及消费者显示“计费表”,司机和了解路程的消费者在1到3秒就可以得知所需要支付的价格[]。

由于每到一站“票价表”都会重新计算生成,这样的话可以有效解决固定分段所产生的收费不合理等问题的出现。

2、若分段收费按1元、2元、3元扣费,现有公交车收费机一般只有一种扣费率,如1元/次,交3元需刷卡3次,若乘客多将使上车时间大大延迟。

为解决分段收费的弊端,设计了一种“多费率收费机”,具有几个不同扣费率的刷卡区,各种票价只需上车时在相应刷卡区刷卡一次就能完成。

单片机的程序主要有:

一个计时器显示程序,读写卡程序,和PC通信中断程序,蜂鸣器提醒程序。

2.1硬件设计选择

MCU选用是单片机89C52,首先其操作非常稳定且89C52相比于89C51更省电,其高性能的CMOS8位单片机编程闪存,使其具有8K,256字节的内存,超过一倍89C51。

更重要的是,89C52中很多指令在89C51单片机产品中可以兼容[]。

公交收费系统结构复杂,环节较多,包括公交售卡机、公交车载机和公交制卡机三个部分。

除了售卡机要求有键盘外,其余的硬件组成大体相同[]。

图1为STC89C52为主芯片的非接触式IC卡的整体框图,主要由显示模块、DS1232监控模块、键盘模块、报警系统、TC232模块、掉电保护模块和IC卡通信模块组成。

 

 

图1整体框图

当IC卡在100MM内接受到感应天线发送的频率时,全程工作开始。

IC卡防冲突系统就会启动,读写器立马获取到卡里的数据信息,然后单片机立马把读到的数据进行处理,之后LED屏显示根据规定需要扣除路费的额度,然后显示扣费后的当前余额,将余额写入IC卡,如果写卡成功,蜂鸣器响一声。

最后将数据与这一刻的时间储存在单片机EEPROM(带电可擦可编程只读储存器)内,接着在LED上显示出所有的数据[]。

如果写卡失败了,LED显示出错的标志。

如果没有卡在工作范围内时,LED就是显示此时的时间。

在与上位机通讯时,单片机里EEPROM所存的信息就将发送至上位机。

2.289C52的接口介绍

 

图289C52的引脚图

2.2.1I/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输出缓冲区可以让4个TTL逻辑电平稳定的时候,P2端口写“1”,此时P2口是一个内部上拉电阻8位双向I/O端口。

在内部上拉电阻即将结束时,可作为输入端口,P2端口发送高8个地址。

整个过程,P2口会产生一个非常强大的拉力送“1”[]。

P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为STC89S52特殊功能(第二功能)使用。

2.2.289C52的功能口介绍

RST:

复位输入。

晶振工作时,RST脚持续2个周期的高电平使单片机80C52复位。

ALE/PROG:

地址锁存控制信号(ALE)正常,ALE在一个固定频率的脉冲下输出第六个晶体,用作外部定时器或时钟。

在Flash编程中,引脚(PROG)也用作编程的输入脉冲。

中断寄存器:

中断IE寄存器的起始位,其6个中断源可以在IE浏览器上的STC89C52中设置中断源,且拥有两个中断优先级。

T2CON:

定时器/计数器为2的控制寄存器

串行口控制寄存器SCON:

SCON是一个可位寻址的专用寄存器,用于串行数据通信的控制。

其单元地址为98H,位地址为98H-9FH。

RB8:

在方式2或方式3中,RB8为接收到的第9位数据。

TI:

是指发送中断的标志。

如果设置成功,那么一帧信息将发送置终端,或用中断方式发送数据,根据需要,从而通过软件查询方式所获得信息。

而此时TI必须清0。

RI:

接收中断标志。

RI一帧数据接收完毕后,可用查询的方法来接收数据使其中断,然后用软件清0。

电源控制寄存器:

PCON寄存器主要是为CHMOS型单片机的电源控制而设的专用寄存器,单元地址为87H,最高位SMOD是串口波特率倍增位。

当SMOD=1时,串行口波特率加倍。

系统复为时SMOD=0。

在定时器为2的定时寄存器T2CON2中,当程序进入中断服务时,硬件实现动作清除。

事实上可以说,在中断服务程序中,必须确定TF2或EXF2是否激活成为中断标志之后才能通过软件来置0。

在定时器1和定时器0中,当TF0和TF1的S5P循环溢流时,设置为2。

由电路捕获下一周期之后定时器2的TF2将被设置在同一周期的S2P2中。

2.3软件设计选择

读卡器的软件控制可采用汇编语言和C语言编程,这两种语言各有各的特点,汇编:

效率高,对硬件的可操控性更强,体积小,不易维护,可移植性很差且汇编语言是低级语言,能够直接操作硬件,并且生成机器码的效率高。

但汇编对平台的依赖性强,可移植性差,开发效率低[]。

C语言:

移植性比较好,代码效率也比较高,可以对部分硬件直接访问。

开发效率较高。

在目前的嵌入式系统中,C语言是使用最广泛的语言。

所以,两者各有优缺点,本设计采用的是汇编语言的软件设计方案。

3硬件设计

系统程序重点任务是让射频区所发射出的射频天线能够检测并且使用IC卡,并将结果存储、显示出来,然后记录送入PC机中。

存储卡读卡器是使用24C64芯片,存储的内容主要为:

机号、金额的总数和记录单。

而每一张卡所储存的信息包括:

增加卡的额度、IC卡所对应的证件号、售卡的时间与售卡时的负责人姓名[]。

 

图324C64芯片

当射频卡距离天线一定范围时,读卡器就读到卡中的信息。

系统单片机要把所读信息进行分析和处理,一旦符合条件,就读卡成功,然后指示灯亮一下,蜂鸣器响一声。

然后卡片数据跟此刻时间一起存储在单片机内的存储器24C64里。

同时LED显示器上显示卡所读数据。

要是无卡在读卡器的范围内时,则LED上显示此刻的时间。

倘若读卡出错什么的,并显示出错了错误标志。

则在和上位机进行通讯的时候,把单片机里EEPROM所存储的信息发向上位机[]。

主程序流程图如图4所示:

 

 

图4主程序流程图

 

3.1读/写卡程序

 

N

Y

N

Y

图5读写器针对IC卡的操作流程图

卡的读写过程是相当复杂的一个执行过程,要完成许多的操作指令,调用很多的函数。

其中应该包括装载密码,选卡,询卡,防冲突,读写卡,验证密码,停卡的操作[]。

并且在读卡程序验证密码和卡正确无误后,把读卡时间和卡号以及相关数据信息当作一条记录存储在E2PROM里,同时在显示器上显示当前的数

目。

如图5所示。

3.2显示电路

显示部分采用数字显示,一般显示的是其工作状态的读和写或读卡错误这三种消息,而且串行输入主要是用BCD码(十进制MC1449解码驱动器显示装置)来完成,从而使单片系统的输入数据显示在LED屏上。

这主要是:

在整个通道输出的装置里拥有一个20位的位移寄存器。

当BCD码输出解码时,则一个小数点DP和一个七段输出的驱动器开始工作。

在显示电路中,用P1口3根I/O口线(P1.0、P1.1、P1.2)分别提供时钟信号(CLK)、串行数据(DA)和使能信号(EN)。

MC14499每次可接收20位串行输入数据,前面4位可以用于控制数码管的小数点显示,后16位则是4个数码管的BCD码输入数据。

只要在每帧数据传送之前,就必须把EN置0;然后传送20位数,

数据传送完后,再将EN置1。

 

 

图6显示流程图

3.3I2C存储器24C64

在读写器中还设计了存储器24C64。

在车载机中主要存放乘客IC卡号、司机号和刷卡总数等信息。

这些信息都需要保存一定的时间周期后从读写器中取出,放置在管理中心,然后由管理中心的工作人员将储存在读卡器里中所有的信息放入PC机中进行保存处理。

设计中所选用的储存器则是24CXX系列中的串行E2PROM。

其内存读写器的设计采用24C64,存储大小为8KB,所以最大能存储1023张售卡记录。

如果需要,公共汽车公司可以使用拥有更高的存储容量的读写器,例如:

24C128或24C256等等。

24C64为I2C总线的E2PROM。

SCL400kHz时钟线,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数据线,以便存储器能继续接收数据[]。

3.4监控电路概述

监控电路为DS1232L芯片——又称看门狗定时器,功能是:

断电和上电时向89C52产生复位信号;看门狗进行系统监控,以防范死机的出现。

设计中的定时器的ST信号能够在微处理器的数据信号、控制信号或地址信号里获得,但是不管哪一种信号都必须能周期性的访问DS1232。

在DS1232计数没有溢出时单片机发一个信号就能使DS1232再进行重新计数,若一定时间内DS1232计数清零未完成,则DS1232就会发复位信号来促使单片机复位。

所以编程的时候,必须在一定时间内给ST脚发送一个信号。

3.5上、下位机通信设计

通过232TTL电平实现单片机与PC机之间的通信(0~5V)和RS232电平(+10V~10V)转换。

设计中采用中断方式,在此基础上,若采用方式1、2,则当1帧的数据接收或发送完后,TI/RI就会自动置为1,然后请求串行中断,但若是CPU中断,就进行串行中断,使得TI/RI清0而再次中断。

方式1是10位异步通信方式,其包括1个停止位,8个数据位和1个起始位。

而波特率是由串口控制寄存器SMOD的状态和定时器T1的溢出率决定,在CPU晶振是11.0592MHz时,波特率就为9600bit/s。

SBUF执行写操作就可以启动发送,当在发送移位时钟的同时,就从TXD先送出起始位,然后是8位数据位,最后是停止位,这样来完成1帧数据的发送,中断标志TI置位。

在允许接收的条件下(REN=1),当接收来自负跳变为1至0,即被当成1帧数据的起始位,启动1次接收过程。

当8位数据接收完,并检测到高电平停止位后,就把收到的8位数据装入SBUF,置位RI,1帧数据的接收过程完成。

发送时,数据从TXD引脚输出,当数据写入发送缓冲器SBUF时,就启动发送。

发送一帧数据后,有硬件将TI置1,并申请中断,通知CPU可以发送下一个数据,单片机即从存储器中将历史记录数据上传给PC机。

 

图7下位机发送流程图

3.6时钟电路

下图为DS1302的实时时间流程。

单片机对DS1302的读写控制主要包括读取DS1302的时间和日期和DS1302的初始化,初始化过程即给DS1302赋予初始日期和时间,当时钟芯片启动后,在新的初始化指令没有接收到的情况下,就会一直不停地运行其内部的时钟,以保证时的准确性和实时性;单片机在任何时候都可以通过读取DS1302内部时间和日期,DS1302过程图如下所示。

 

图8DS1302实时时间流程

3.7蜂鸣器模块概述

蜂鸣发声器程序:

通过在P1.7送出的音频范围的方波,驱动蜂鸣器发出响声,其中延时子程序的作用是使输出在人耳朵听觉能力之内的20KHZ以下的方波频率,要是没有延时程序的话,输出频率将会大大地超出人耳朵的听觉能力范围,无法听到发出声音。

只要更改延时常数,就可以改变输出频率来调整音调。

所以在设计中可以更改#228为其他值,以改变蜂鸣器音调来达到设计的目的。

蜂鸣器连接图如图9所示:

 

P1.7

 

图9蜂鸣器连接图

 

4软件设计

4.1读卡器流程图

读卡器软件设计流程图如图10所示:

首先单片机接通电源开始初始化等待ibutton接触,当有ibutton接触的时候读取其中的数值并对其进行减法操作所得数值返回ibutton,然后送数码管显示,最后把减去的金额送到I2C存储器存储,完成一次交易后单片机将又继续等待ibutton接触。

 

 

 

图10读卡器软件设计流程图

4.2公交收费

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1