具有刷卡支付功能的出租车计价器设计.docx

上传人:b****7 文档编号:9392470 上传时间:2023-02-04 格式:DOCX 页数:46 大小:791.64KB
下载 相关 举报
具有刷卡支付功能的出租车计价器设计.docx_第1页
第1页 / 共46页
具有刷卡支付功能的出租车计价器设计.docx_第2页
第2页 / 共46页
具有刷卡支付功能的出租车计价器设计.docx_第3页
第3页 / 共46页
具有刷卡支付功能的出租车计价器设计.docx_第4页
第4页 / 共46页
具有刷卡支付功能的出租车计价器设计.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

具有刷卡支付功能的出租车计价器设计.docx

《具有刷卡支付功能的出租车计价器设计.docx》由会员分享,可在线阅读,更多相关《具有刷卡支付功能的出租车计价器设计.docx(46页珍藏版)》请在冰豆网上搜索。

具有刷卡支付功能的出租车计价器设计.docx

具有刷卡支付功能的出租车计价器设计

HUNANUNIVERSITY

毕业论文

 

论文题目

具有刷卡支付功能的

出租车计价器设计

学生姓名

学生学号

专业班级

学院名称

指导老师

学院院长

 

年月日

具有刷卡支付功能的出租车计价器设计

摘要

出租车计价器,是一种能根据乘客乘坐出租车行驶距离,以及停车时间的多少,进行计价,并直接显示路程、等待时间、车费的电子计量设备。

本设计即是基于AT89C51单片机,以及外围电路设备,组合设计而成的出租车计价器。

设计电路包括AMPIRE128×64的LCD12864显示屏,用以显示4行详尽的计价内容;装在车轮处的霍尔传感器,发送脉冲进行计数以统计行程距离;用开关控制开启计价,按键控制打印功能;为融合一卡通支付功能,设计了RF射频刷卡支付系统模块;采用微型打印机,打印票据。

该设计硬件部分主要用Proteus8仿真平台模拟各输入输出效果;软件部分采用keilμvision进行C语言编程。

整个系统结构简易,成本较低,符合市场要求,易于推广。

关键词:

出租车计价器;AT89C51;LCD12864;RF刷卡;微型打印机

Taximeterwithcardpaymentfunctiondesign

Abstract

Taximeter-anelectronicmeteringequipmentwhichaccordingtothedistanceandwaitingtimeofpassengerstakingataxitraveling,calculatethepriceanddisplayeddirectly.ThedesignthatisbasedonAT89C51microcontrollerandperipheralcircuitsequipment,designedbyacombinationofthetaximeter.CircuitdesignincludesaAMPIRE128×64LCD12864display.4linestoshowdetailedpricingcontent.MountedonthewheelattheHallsensorsendspulsesarecountedinstatisticstraveldistance.Usingaswitchtocontroltheopeningvaluation,anduseabottomtocontrolprinter;ForOne-Cardpaymentsystem.DesignaRFcardpaymentsystemmodules.Usingamicro-printer,printbills.

ThedesignofthehardwarepartofthemainsimulationplatformwithProteus8analoginputsandoutputsofeacheffect;thepartofsoftwareusedCprogramminglanguageonkeilμvision.Theentiresystemsimplestructure,lowcost,inlinewithmarketrequirements,easytospread.

Keywords:

taximeter;AT89C51;LCD12864;RFcard;micro-printer

1绪论

1.1设计课题背景

随着出租车行业的发展,出租车已经是城市交通的重要组成部分。

出租车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量设备。

从加强出租车的行业管理,以及减少乘客们与司机的纠纷出发,具有精准且性能稳定的计价器,对出租车司机和乘客来说都是很有必要的。

[1]

出租车计价器是出租车进行营运收费的专用智能化仪表设备,随着电子技术的发展,出租车计价器各项技术也在不断进步和提高,国内出租车计价器已经经历了多个阶段的逐步发展,总体趋势就是电子化越来越明显,集成度越来越高,精确性愈加提高。

如果采用模拟和数字电路组合设计的计价器,整体电路的规模较大,且用到的器件多,易造成故障率高,且难调试。

而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合,就可以很容易地实现设计要求,灵活性强,而且可以通过软件编程来完成更多的附加功能。

[2]

如今出租车计价器种类繁多,功能也大同小异,但设计都是出于实用性、易用性、易读性。

综合考虑稳定性和性价比的各方案,如今单片机已经价格较低,可靠性稳定性已符合要求,非常适于搭配周边电子设备组成计价器设备。

1.2出租车计价器现状及发展趋势

出租车刚兴起时代,国内普遍使用的出租车计价器仅仅具备单一的路程计量功能,最后费用都需要司机自己手工计算。

而如今计价器技术发展迅速,路程、时间等计量仅仅是出租车计价器必备的基本功能。

随着科技的进步和经济社会的发展,计价器的功能不断增加和扩展。

随着单片机性能不断提高而价格却不断下降,单片机控制得到更广泛的应用,外围芯片的不断发展,使得计价器的功能更加强大,性能更加稳定。

随着电子技术的发展以及对计价器的不断改进和完善,便产生了诸多的附加功能。

新型数据存储器的应用使得计价器的营运数据在掉电情况下还可以保存10年。

目前,计价器除了具备基本功能外,还增加了发票打印、语音报价、计量和公司管理、税务控制、IC卡、GPS定位终端连接等诸多功能。

如今计价器已经成为出租车不可或缺的必要工具。

随着城市一卡通支付功能的增加和逐步应用,对出租车计价器功能的进一步扩展有了更多要求。

一卡通支付系统可简化支付,一张IC卡便可完成多功能支付,方便司机与乘客,同时避免了假币流通。

这是一种新趋势,支付平台一旦建成,行业规范与管控将更加到位,乘客能获得更多便利。

1.3设计目的与要求

1.3.1设计目的

1.通过设计巩固和加深对本专业课程有关内容的理解与掌握;

2.掌握单片机设计的主要内容、一般程序及基本原则、设计步骤和方法;

3.培养和提高综合运用所学的基础理论、专业知识和基本技能去分析和解决本专业范围内工程实际问题的能力和进行科学研究的初步能力;

4.完成基于单片机的出租车计价器设计,实现实时显示里程、停车等待时间、总价,刷卡支付、打印票据等功能。

1.3.2主要设计内容及基本要求

本课题要求以单片机为核心,设计一套计费准确、成本低廉、简单易用的出租车计价系统。

要求该系统具有计程、计时、计费、显示、刷卡支付以及票据打印等多种功能,给出系统总体结构框图,并完成其软、硬件系统的设计。

通过以上各功能设计,制作出的计价器应具有以下功能:

上电时显示全零,根据内置时间自动切换白天/夜间两种不同的计费模式;显示屏显示信息;如遇中途塞车,计停车时间以及费用;超出一定远距离加收返程费用;开关控制计价,按键控制打印;到达目的地计价开关关闭可停止计价,并将总价传到RF射频卡支付系统,完成一卡通支付;通过微型打印机,打印票据。

1.4论文设计内容及构成

详细分析课题任务,结合研究内容和思路,对出租车计价器的发展现状和趋势结合电子技术原理进行深入分析。

根据其要求选用合适芯片以及外设,并将其综合设计,实现控制任务的硬件结构及其原理图、相关软件程序,并进行仿真调试。

第一章介绍了出租车计价器的背景及发展现状。

第二章介绍系统的硬件设计,包括单片机的选型,核心模块的连接,车轮处距离采集模块,开关控制模块,显示模块,RF刷卡模块,微型打印模块。

图文结合。

第三章介绍系统的软件设计,先是整个系统的主要流程,然后进行各模块的软件设计说明,包括显示程序,中断程序,计价计费程序,RF刷卡程序,打印程序。

程序说明根据各模块程序流程图进行步骤以及原理的介绍。

第四章介绍系统调试。

软件编译的调试,硬件原理图的调试,最后两者进行编译后的系统联调,以验证系统各功能的工作是否正常。

2系统硬件设计

2.1系统总体设计

(1)选择单片机型号和所需外围器件型号。

(2)行程距离采集办法:

通过在车轮上安装的霍尔传感器,当车轮每转1圈,霍尔传感器就检测并输出信号,引起单片机的中断,对中断脉冲计数。

在已知轮径后,通过计数乘周长便可得知行程。

(3)数据显示的设计:

采用1块LCD12864显示屏,使得计价显示更全面。

包括:

路程、超出的返程距离、中途等待时间、最终总价,共4个部分,分4行显示。

(4)输入设备:

1个开关作为计价开关,1个按键作为打印功能启动按键。

(5)中途等待时机计价:

当在计数状态下,霍尔传感器没有输出信号,片内的T1定时器便被启动,每当计时到达1s,就对当前金额加上中途等待的单价。

当中途等待结束时,就自动切换到正常的路程计价。

(6)RF刷卡支付:

运营结束,采用MFRC500模块进行RF无线射频刷卡支付。

(7)微型打印机:

采用RD-D针式打印机,单片机通过并口控制微型打印机,打印票据。

系统总体框图如下:

图2.1系统总体框图

司机按下计价开关即开始计价过程,由系统时间自动判断白天/夜间单价模式。

车轮处霍尔传感器将脉冲发送到单片机,计价的数据均显示在LCD上。

运营完成司机关闭计价开关,单片机会将数据发送到RF刷卡支付的模块,可进行一卡通支付;按下打印按钮,可打印票据。

2.2主控芯片的选型

主控芯片的选择是确定整个硬件系统方案的关键,对于出租车计价器,一般使用的MCU有多种,可选的单片机一般有以下几种:

<1>8051系列单片机。

8051单片机,是微机的一个重要而经典的分支。

单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、ROM、RAM、I/O接口和中断系统等集成同一硅片的器件。

80年代以来,单片机发展迅速,各类新品涌现,现已成为工业自动化和各个控制领域的支柱产业之一。

<2>AVR单片机

AVR单片机是1997年由ATMEL公司的A先生和V先生研发出的增强型内置Flash的RISC(ReducedinstructionsetCPU)精简指令集高速8bit单片机。

AVR功能较完善,自带A/D转换,但开发编程相较于8051系列有些复杂,需要更多的学习使用。

<3>Cortex系列单片机

ARM公司在经典处理器AMRⅡ以后的产品改用Cortex命名,并分成A、R、M三类,旨在为不同市场提供服务。

Cortex属于ARMv7架构,此为ARM公司最新的指令集架构。

ARM系列单片机开发复杂,需要深入学习,当然其功能也强大,不过价格也相对8051贵一些。

出租车计价器作为一种简单的电子计价设备,本身价值不高,且功能不需太多,更注重的是市场的性价比要求,主控内部要有强大的控制能力即可,而且要考虑安装和兼容性,计价器体积受限。

基于以上几点考虑,确定采用8051系列的AT89C51作为主控。

2.3硬件电路设计

硬件组成主要包括:

供电模块,核心模块,距离采集模块,显示模块,开关控制模块,RF刷卡支付模块以及打印模块等。

2.3.1供电模块

出租车上使用的电源为蓄电池的24V电源,而单片机AT89C51,以及其它的外围芯片均使用的是+5V电源,因此需要电源模块提供转换的+5V电压。

电路图如下:

图2.2供电模块

该DC-DC电路采用LM7805芯片,将车载铅蓄电池的24V转为集成电路所需的5V直流电路,用2个电容接地进行滤波,滤除交流杂波,稳定直流供电。

2.3.2核心模块

AT89C51具有40个引脚,4KB闪存片内程序储存器,128Bytes随机数据存储器RAM,5个中断优先级两层中断嵌套,2个16bit可编程定时计数器,P0~P3每8个共32个外部双向I/O接口,2个全双工串行通信口,看门狗电路。

单片机的最小系统是单片机系统的核心,最小系统都包括电源、晶振、复位电路这三部分组成。

图2.3AT89C51管脚功能分配图

本设计中使用的时钟振荡电路,由12MHz晶体振荡器以及2个约为30pF的电容组成。

在XTAL1和XTAL2两端跨接晶振,晶振可在电路中产生振荡电流,发出时钟信号。

所接电容大小不影响振荡频率的高低,电容主要用来削减谐波对电路的稳定性的影响。

时钟电路在整个系统中为各部分提供基准频率,以避免因工作频率不稳定而造成的其它相关元件的工作频率不稳定。

复位电路设计,当Vcc上电时,电容C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,电容充满,电阻上的电流降为0,电压也为0,使得单片机进入工作状态。

工作期间,按下按钮,C放电,在10K电阻上出现电压,使得单片机复位。

S松手,电容充电,几个毫秒后,单片机进入工作状态。

本次设计中用到的单片机各主要I/O引脚功能如下表:

表2.1系统I/O信号分配总表

引脚

名称

I/O

设计功能

P0(8位)

D0~D7

输入/输出

MFRC500以及RD-D微打的的8位D数据总线接口

P1.0

RS

输出

LCD12864的RS口,进行LCD命令/数据写入的切换

P1.1

E

输出

接LCD的E使能端

P1.2

CS1

输出

接LCD的CS1端

P1.3

CS2

输出

接LCD的CS2端

P1.4

NCS

输出

控制MFRC500的NCS端

P1.5

ALE

输出

控制MFRC500的ALE端

P1.6

Print_ctrl

输入

开启打印按键

P1.7

switch

输入

开启/停止计价开关

P2(8位)

DB0~DB7

输出

LCD12864的8位D数据总线接口

P3.0

STB

输出

控制RD-D微型打印机的STB

P3.1

EN

输出

控制RD-D微型打印机的EN

P3.2

HALL

输入

接收车轮处霍尔传感器的输入

P3.6

WR

输出

控制MFRC500的NWR端

P3.7

RD

输出

控制MFRC500的NRD端

2.3.3距离采集模块

距离采集采用常见的脉冲计数法,此为智能测距/测速中常用的方法,精确且稳定。

只要车轮转轴每转1圈,产生一个电脉冲,让单片机接收到此脉冲即可计数。

生产中可有多种方法获得脉冲信号。

如果采用光电式电气元件,由于车轮处极易沾染泥水等污垢,阻碍光信号的传导,且光电式传感器普遍造价较高,不适宜设计的要求。

故采用电磁式传感器——霍尔传感器,其造价便宜,且具有体积小、抗污染、抗震性能良好、灵敏度高、稳定性高等特点,非常适宜装载车轮处进行距离脉冲信号的采集,能很好地满足车轮测距系统设计的需要。

霍尔传感器A44E是一种利用霍尔效应的磁感应式电子开关属于有源磁电转换器件。

其输入为磁感应强度,输出为数字电压信号,霍尔传感器可将距离信息用磁通物理量,转化为电学物理量,方便与单片机进行信息通信。

将霍尔传感器A44E装在车轮附近,磁铁装在车轮辐条上。

车轮每转一周,磁铁经过A44E一次,A44E的第3脚就输出一个脉冲信号作为单片机AT89C51的外中断信号,从P3.2口INT0输入。

单片机测量脉冲信号的个数,通过测量车轮的直径,根据脉冲信号的个数,即可很容易地计算出里程并显示在计价器上。

图2.4A44E霍尔传感器导通距离测量

图2.5A44E霍尔传感器与单片机硬件连接

2.3.4显示模块

显示设备可有多种,LED数码管,LCD液晶显示屏等。

考虑到传统LED数码管显示信息较少,为突出设计特点,采用1块LCD12864液晶显示屏AMPIRE128X64作为显示设备,可显示中文字符和各个部分的计量数值。

图2.6AMPIRE128X64引脚图

表2.2LCD12864引脚功能说明表

符号

名称

功能

CS1,CS2

屏幕片选

CS1和CS2控制左右半屏点亮

RS

数据、指令选择

RS=1高电平为数据操作,RS=0为写指令

RW

读写选择

RW=1为读取,RW=0为写入

E

使能端

在E下降沿,数据被锁存;E高电平时,数据读出

DB0~DB7

数据总线

写入指令和数据

RST

复位信号

RST=1时,关闭液晶显示,起始行为0。

此次设计使用的LCD12864与单片机连接方式如下:

CS1:

接P1.2,低电平有效。

CS2:

接P1.3,低电平有效。

RS:

接单片机P1.0口,作为命令/数据切换。

RW:

接地,保持写入Write状态,因为无需从LCD自带存储器中读取数据。

E:

接P1.1口,作为使能切换用。

D0~D7:

由于P2口驱动能力有限,LCD通过一个上拉电阻后,接到单片机P2口。

RST:

低电平有效,故接VCC,保持一直不重置状态。

连接方式如图2.7:

图2.7LCD与单片机连接

2.3.5开关控制模块

单片机可接入多种输入设备,比如点阵键盘,按钮,开关等,对于出租车计价器来说,输入设备无需复杂。

如果输入设备能直接进行单价调整,则有些不良司机很可能在乘客不知情的情况下,违反物价局定价私自调高价格。

故不能将单价调整等权利设计在计价器硬件中,而应只允许在软件中按物价局定价,统一修改。

因此本设计没有使用复杂开关按键,用一个开关控制开启/停止计价功能,用一个按键控制打印功能。

计费开始/停止开关接单片机P1.7口,在出租车开始运营时,司机将开关闭合,单片机会先自动清零,然后开始计程、计费。

运营结束后,司机断开开关,停止计费,LCD上的计程计费数值固定显示,此时即使出租车继续行进也不会计程计费。

打印按键接到单片机P1.6口,该按键只有在计价开关断开时候才会生效,即运营结束后才能打印票据。

按一下,即可启动微型打印机,进行票据打印。

如图2.8所示:

图2.8开关控制模块

2.3.6RF刷卡支付模块

随着RF射频技术的推广,Mifare1卡已经被广泛地应用在手持设备、公交终端、非接触式PC设备终端、板载单元等各个非接触式的通信场合。

非接触式的智能卡读写系统可完成对指令的分析、对数据的采集等诸多功能,是射频技术中的一个重要组成部分。

这种RF射频读写系统的实现基本原理如下:

由读卡器对Mifare1射频卡发射频率特定的无线电波,当Mifare1卡靠近读卡器时,接收到读卡器所发射的无线电波激励,其频率与读写器发射的频率相同,卡片内的LC谐振电路产生电磁共振并接收电磁波能量,从而使卡内电容内有了电荷。

当Mifare1卡接收到足够的电荷能量时,就将卡内存储的识别资料以及其他数据以无线电波的方式传输到读写器并且接受读写器对卡内数据的进一步操作。

[3]

MFRC500是PHILIPS公司应用于13.56MHz非接触式通信中高集成读卡IC系列中的一员。

其与AT89C51连接采用模拟总线接口方式,即用单片机的P0口和MFRC500的D0~D7相连,用WR、RD、EA、ALE等作为控制线分别和MFRC500的NWR、NRD、NCS、ALE等相连。

图2.9MFRC500读卡模块图

低通滤波电路:

L1、C5和L2、C6各自组成一个低通滤波器,以滤除TX高次谐波。

接收电路:

VMID作为接收信号引脚RX的输入偏置。

为减少干扰,稳定参考电压,在VMID和地AVSS间接了一个0.1μF电容C9,同时在RX和VMID引脚键接了个820Ω的电阻R1作分压。

R2为2.7K,C10为15pF。

输出电路:

TX1和TX2提供13.56MHz能量载波,根据寄存器设定对发送数据进行调制,驱动天线输出信号。

天线电路:

天线的组成有电容C7、C8,外部电阻Rext,线圈电阻Rcoil,线圈电感L=La+Lb,各值的最终确定需满足以下条件:

匹配电路负载阻抗700Ω;谐振频率13.56MHz;品质因数Q约为35(Mifare系统)。

[3]

2.3.7微型打印模块

微型打印机选用RD-D系列的带字库针式打印机,其体积小,操作简单,可直接由微机并口或单片机控制。

AT89C51单片机的P0口直接与微型打印机的8位D数据总线相连接(与MFRC500共用P0口),P3.0与微型打印机的STB端相连,P3.1与打印机的EN使能端相连。

STB为数据选通信号,上升沿时写入数据。

单片机通过控制P0可以此进行控制打印机工作状态,通过控制STB引脚发送打印允许电平,控制其EN使能端,可让他在与MFRC500共用端口时候,通过编程不同时候EN端状态,让它们各自分时工作。

RD-D微型打印机与单片机连接方法如图:

图2.10微型打印机与单片机连接

3系统软件设计

3.1软件设计说明

51单片机常用程序语言主要有2种:

一是汇编程序语言,二是C语言。

两种语言各有优缺点,要根据实际情况进行选择。

用汇编语言编写,比较节省ROM空间,程序可直接执行汇编指令,无需翻译,可让51单片机更有效率更高速地运行。

C语言程序,虽然不及汇编那样代码效率高,但程序简单易读,符合人类思维习惯,容易查错,需要的存储空间也不大。

目前的编译工具已经能让C语言编译后达到汇编语言效率的70%~80%,对于一些对速度不敏感的小型程序设计有优势。

此外,C语言程序还可以进行模块化编程,将各模块子程序进行区分整合,利于开发者。

因此,使用C语言进行单片机程序设计已经成为业界主流。

本次设计即是基于C语言编写,采用模块化结构设计,使得程序在编写,纠错,执行的时候,方便易行。

3.2系统程序设计

本设计中,软件采用模块化结构,利用各模块直接子程序相互调用,使得各模块在主程序中相互联系。

系统上电后,单片机先进行中断和计时器的初始化,清零,然后自动查询计价开停开关状态,是否开始计价。

之后根据编程的内置时间自动切换白天/夜间模式,执行不同计价费用标准(白天1.5元/KM,夜间2元/KM)。

单片机通过接收来自霍尔传感器的脉冲在INT0产生中断,进行累积加计数,进而累计行程,通过内部编写的计费程序,进行路程费用计算(2KM内只收起步价7元,超过2KM开始加收每公里价格)。

如果遇到红灯塞车停车,一定时间内中断数量前后差值低于阈值,则开始计时,并计算费用。

如超过20KM,则还需加收返程费用。

最终所有行程、停车时间、费用,通过显示子程序,全部显示在LCD液晶屏上。

并将总价输入刷卡支付模块,进行RF刷卡支付。

按下打印键进行票据打印。

主程序流程图如下图3.1:

图3.1系统流程图

3.2.1显示程序

通过控制LCD的RS和RW引脚,可切换LCD的写入状态,控制其为写入命令cmd还是数据data状态,在显示子程序中通过单片机的模拟端口进行控制。

使用前,要先将LCD初始化,设置工作模式:

先将其设置为写指令cmd模式,用wrt_cmd()子程序完成,初始化写入的指令分别有:

wrt_cmd(0x30);//基本操作指令

wrt_cmd(0x0c);//打开显示,光标关闭

wrt_cmd(0x01);//清除LCD显示容

由于proteus仿真软件中,没有带字库的LCD12864型号,所以要先进行字模字库的编写,将要显示的中文、数字和英文字母点阵,均先写在ZK.H头文件中

点阵LCD的显示原理

在数字电路中,所有的数据都是0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。

对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。

而对于中文,将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。

而剩下的低128位则留给英文字符使用,即英文的

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

当前位置:首页 > 高等教育 > 经济学

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

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