出租车计费系统.docx
- 文档编号:5595282
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:22
- 大小:681.93KB
出租车计费系统.docx
《出租车计费系统.docx》由会员分享,可在线阅读,更多相关《出租车计费系统.docx(22页珍藏版)》请在冰豆网上搜索。
出租车计费系统
济南铁道职业技术学院
毕业设计
题目:
出租车计价系统
系另H
专业:
电气自动化
班级:
0833
学生姓名
指导教师
完成日期:
2011年3月20日
摘要
随着经济的发展,带动汽车行业快速发展,出租车日益普遍化,在市场经济的环境下,出租车计费的公平性也成了大家在意的话题。
了解在出租车上应用的计费系统,对我们日常出行有所帮助。
本出租车计费系统由单片机AT89C5和一些外围电路组成,具有结构简单、操作方便、显示清晰、功能强大等特点。
本方案使用六个七段数码管作为显示器,可以显示数字使系统信息一目了然。
比较真实地模拟出租车的空车、载客、到站及对各状况的费用的计算、统计和显示等功能。
本系统涉及到的理论知识有:
AT89C51单片机工作原理及应用,实时时钟芯片的工作原理及应用,出租车计费系统的原理和实现方法。
关键词:
单片机AT89C51时钟芯片DS1302掉电保护芯片AT24C02
1前言4
1.1出租车计费器4
1.2单片机的发展及其应用范围4
1.3出租车计费系统设计方案5
2出租车计费系统6
2.1计费系统的组成6
2.2出租车行驶里程和费用计算6
3出租车计费系统选用的器件8
3.1AT89C51单片机8
3.2时钟芯片DS130210
3.3掉电保护芯片AT24C0211
3.4光电传感器12
3.5LED数码管13
4出租车计费系统模块组成14
4.1里程信息采集模块14
4.2掉电保护模块14
4.3按键模块15
4.4实时时钟模块16
4.5显示模块16
5系统程序设计18
5.1系统主程序流程框图18
5.2里程和费率计算程序流程图19
总结24
致谢25
参考文献26
1前言
1.1出租车计费器
出租车是现代的重要交通工具,出租车计费器是乘客与司机双方的交易准则,而其安全性和先进性是人们普遍关心的问题,要求计费器的稳定,计费准确,以及预防司机作弊等等都关系到乘客的切身利益。
它是出租车行业发展的重要标志,是出租车中最重要的工具。
出租车计费器关系着交易双方的利益,所以,具有良好性能的计费器无论是对广大出租车司机还是乘客来说都是很必要的。
因此,出租车计费器的研究也是十分有应用价值的。
目前,普遍的出租车计费器具有时钟,起步价,里程计费,等待计费及显示几个功能。
其发展前景是客观的,将来的产品除了具有以上功能外,另外还可增加如下功能:
防作弊功能,IC卡付费,语音播报:
当乘客上车时可自动问好,当到达目的地,自动播报乘车费用并礼貌再见,表达希望下次乘车的意思。
增加的这些功能将会更好的服务乘客。
1.2单片机的发展及其应用范围
单片机是单片微型计算机的简称。
它不仅仅是完成某一个逻辑功能的芯片,而是将中央处理器、存储器、输入输出接口、定时/计数器等微型计算机系统部件集成到一个芯片上而构成的计算机。
自单片机诞生至今,已经走过30年的发展历程。
从30年发展历程可以看出,单片机技术的发展以微处理器(MPU技术及超大规模集成电路技术的发展为先导,以广泛的应用领欲为动力,表现出较微处理器更具个性的发展趋势。
单片机在目前的发展趋势下,表现出几大趋势。
1)可靠性及应用水平越来越高,和Internet连接已是一种明显的趋势。
2)所集成的部件越来越多
3)功耗越来越低,和模拟电路结合越来越多单片机在各个领域均得到了广泛地应用。
1)智能仪器仪表
2)实时工业控制
3)计算机智能终端
4)通讯设备
5)导航系统
6)家用电器
1.3出租车计费系统设计方案
出租车计费系统可以利用数字电路来实现,采用传感器件,输出脉冲信号放大整形作为移位寄存器的脉冲,实现计价。
该方案虽然电路简单,但是性能不够稳定,而且不能调节单价,也不能根据时间来调节计费标准,电路不够实用。
本出租车计费系统采用单片机控制,利用单片机丰富的10端口,及其控制的灵活性,实现里程计费功能和价格调节、时钟显示功能。
其原理如图1-1所示。
图1-1单片机控制方案
所以,采用单片机设计方案有较大的活动空间,不但能实现所要求的功能而在很大的程度上扩展功能,而且还可以方便的对系统进行升级。
2出租车计费系统
2.1计费系统的组成
出租车计费系统以单片机为系统核心,利用AT89C51单片机再配合六个数码管组成的显示模块等,实现出租车计价器功能。
本系统是由AT89C51单片机、数码管显示模块、计数脉冲发生器、系统实时时钟及语音等模块组成。
系统框图如图2-1所示:
图2-1出租车计费系统功能图
2.2出租车行驶里程和费用计算
单片机对传感器输出脉冲进行计数,并将脉冲数换算成公里数每公里的脉冲数:
PulsePerKM=10(个脉冲)
(1)汽车行驶里程。
用四位数字显示,显示方式为“xxx.X”单位Km精确到0.1Km
(2)里程单价。
用三位数字表示,显示方式为“XXX.X”,单位为元/Km根据时间段不同有两种情况:
当时间段为5:
00-23:
00时单价为2元/Km其他时间段为2.4元/Km
(3)低速等待时间和费用。
用四位数字显示分钟和秒,显示方式为“XX
X.X”,等候时间定义:
当汽车行驶速度低于6公里/小时为等候时间。
低速等待费用:
累计每满3分钟加收1元。
(4)费用的计算。
出租车的起步价为7.00元,当总里程小于3Km时按起步价计算费用。
当总里程大于3Km时按下式计算费用:
费用=起步价+里程X里程单价+低速等待时间X低速等待费用
(5)费用显示。
用四位数字显示,显示为“XXX.X”,单价为元。
当出租车运行时,应显示当前费用,在汽车熄火的情况下,时钟必须正常工作,但是可以不显示。
3出租车计费系统选用的器件
3.1AT89C51单片机
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPERO—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8&微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该
器件采用ATMEI高密度非易失存储器制造技术制造,与工业标准的MCS-51指令
集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL勺AT89C51是一种高效微控制器。
AT89C51的管脚排列及描述如下图3-1所示
AM?
:
!
]
图3-1AT89C51的管脚排列图
AT89C51管脚说明
VCC供电电源
GND接地
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数
据存储器,它可以被定义为数据/地址的第八位。
、
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器
能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接
收,输出4个TTL门电流,当P2口被写“T时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出
电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址
外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“T时,
它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输
出其特殊功能寄存器的内容。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4
个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由
于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号
RST复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的
高电平时间
ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,贝U在此期间外部程序存储器
(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA
将内部锁定为RESET当/EA端保持高电平时,此间内部程序存储器。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.2时钟芯片DS1302
DS1302内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCL串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW/DS1302的管脚排列及描述如下图3-2及表所示
DS1302
8-PINDIP(300MIL)
RST复位脚
I/O—数据输入/输出引脚
SCLK串行时钟
图3-2DS1302管脚配置和管脚功能说明
DS130特性:
1)实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰
年调整的能力
2)318位暂存数据存储RAM串行I/O口方式使得管脚数量最少
3)宽范围工作电压2.0到5.5V,工作电圧2.0V时电流小于300nA
4)读/写时钟或RA数据时有两种传送方式单字节传送和多字节传送字符组方式,8脚DIP封装或可选的8脚SOIC封装根据表面装配
5)简单3线接口,与TTL兼容Vcc=5V,可选工业级温度范围-40C、+85C
3.3掉电保护芯片AT24C02
单片机实现的仪器仪表,家用电器,工业监控等系统中,对某些状态参数,
不仅要求能够在线修改,而且断电能保持,以备上电后恢复系统的状态。
断电数据保护方法可选用具有断电保护功能的RAI'和电可擦存储器EEPROM/I具有断电保护功能的RA容量大,速度快,但占用线多,成本高,EEPROS合数据交换量少,对传送速度要求不高的场合。
AT24CX系列EEPROM串行的用电擦除的可编程CMO只读存储器。
自定时写周期包括自动擦除时间不超过10ms典型时间为5ms擦除/写入周期寿命一般都可达到10万次以上。
片内数据保存寿命可达40年以上。
采用单一电压+5V,低功耗工作电流1mA备用状态只有10uA,端口为三态门输出,与TTL电平兼容。
一般商业品工作温度为0〜+70C,工业品为-40〜+85C。
这个系列的芯片有8脚DIP(双列直插)封装,8脚SOIC(表面贴装)封装,一部分型号还有14脚SOIC封装。
ATC24C0是目前最常用的型号,支持器件地址编码,统一串行总线最多时可同时连接1〜8片,支持硬件设置数据保护。
AT24C0系列引脚结构如图3-3。
图3-3AT24C02引脚结构图
AT24C0的EEPROM引脚说明如下:
SCL串行时钟端,用于对输入和输出数据的同步。
写入串行EEPRO的数据
用SCLh升沿同步,输出数据用下降沿同步
SDA串行数据输入/输出端,漏极开路结构。
使用时该引脚必须接一个5.1KQ左右的上拉电阻。
SDA线上数据传送顺序是高位在先,低位在后。
WP:
写保护,用于硬件数据保护功能。
当该引脚接地时,可以对整个存储器进行正常读/写操作;当其接电源Vcc时,芯片就具有写保护功能,被保护的区域因型号而异。
被保护部分的读操作不受影响,实际上这时被保护的区域就可以作为串行只读存储器。
应注意,对AT24C0芯片,虽然第7脚也定义为WP但实际不起作用。
A0,A1,A2:
片选或以页面选择地址输入,用于EEPRO器I件地址编码。
将这3个引脚配置成不同的编码值,可选中不同的芯片。
在同一串行总线上最多可扩充8片同一容量或不同容量的芯片。
但注意,有些型号的地址是无效的。
例如,AT24C1所对应的3个引脚均无效,因此使用AT24C1时只能寻址1片,同样,使用AT24C04寸刻寻址4片;使用AT24C0可寻址2片。
TEST测试,用于对存储器的检测。
VCC:
电源电压+5V。
GND:
接地端
3.4光电传感器
光电传感器是采用光电元件作为检测元件的传感器。
它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。
光电传感器一般由光源、光学通路和光电元件三部分组成。
光电式传感器是以光电器件作为转换元件的传感器。
它可用于检测直接引起光量变化的非电量,如光强、光照度、辐射测温等;也可用来检测能转换成光量变化的其他非电量,如零件直径、表面粗糙度、位移、振动、速度、加速度,以及物体的形状等。
光电式传感器具有非接触、响应快、性能可靠等特点,因此获得广泛应用。
光敏二极管是最常见的光传感器。
光敏二极管的外型与一般二极管一样,只是它的管壳上开有一个嵌着玻璃的窗口,以便于光线射入,为增加受光面积,PN结的面积做得较大,光敏二极管工作在反向偏置的工作状态下,并与负载电阻相串联,当无光照时,它与普通二极管一样,反向电流很小,称为光敏二极管的暗电流;当有光照时,载流子被激发,产生电子-空穴,称为光电载流子。
在外电场的作用下,光电载流子参于导电,形成比暗电流大得多的反向电流,该反向电流称为光电流。
光电流的大小与光照强度成正比,于是在负载电阻上就能得到随光照强度变化而变化的电信号。
3.5LED数码管
发光二极管(LED是能将电信号转换成光信号的发光器件。
如果把发光二极管制成条状,再按照一定方式连接,组成数字“8”,就构成LED数码管。
使用时按照一定规律使某些笔端上的发光二极管发光,即可组成0到9的一系列数字。
数码显示管有共阴极和共阳极接法。
若采用共阴极接法,那么阴极公共点接地,各阳极独立,当有高电平时发光。
共阳极接地灯光显暗淡,本设计采用共阴极接法。
LEE显示器与单片机接口一般有静态显示和动态显示两种方式。
LED采用静态
显示与单片机接口时,在位数比较多时,电路较复杂,需要的接口芯片也越多,成本也就越高。
动态LED显示接口由于各个数码管共用同一个段码输出口,从而大大简化了硬件电路,降低了成本。
LED显示器中每个发光二极管要通过5mA到20mA勺电流二极管才能正常发光。
在显示过程中每位数码管的点亮时间为2ms
由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各个数码管并非同时点亮,但只要扫描的速度足够快,给人们的印象就是一组稳定的显示数据,不会有闪烁感。
动态显示和静态显示是一样的,能节省大量的I/O端口,而且功耗低。
本设计采用的是动态显示,目的就是为了节省硬件资源。
AJrtBERCC
1
2
3
4
f
4
,1
寸
-卜
5
■
-
豪f
—1
6
7
I
1i
S
6
图3-4LED管脚配置图
4出租车计费系统模块分析
4.1里程信息采集模块
对射式光电传感器
图4-1遮断式光电测量示意图
本设计采用的是遮光式对射光电传感器,图4-1是其示意图。
遮光盘不
管是什么材料,只要在遮光盘的同心圆上均匀分布若干个通光的孔,光电传感器
固定在遮光盘工作的位置上,一般不能用在粉尘较多的场合。
光电传感器电路图如图4-2所示。
图4-2光电传感器电路图
本文选择了P3.2口作为信号的输入端,内部采用外部中断0,车轮每转一圈,光电传感器就检测并输出信号,引起单片机的中断,对脉冲计数。
通过计算将脉冲增加体现在里程和金额上。
4.2掉电保护模块
本设计掉电保护电路采用了AT24C02芯片来完成此部分功能。
掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。
AT24C02是2KB字节的电可擦除存储芯片,芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。
其电路如图4-3所示
图4-3掉电存储电路原理图
图中R8R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL
(移位脉冲)和SDA(数据/地址)与单片机传送数据。
每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。
4.3按键扫描模块
图4-4键盘接线图
在单片机应用系统中,键盘是人机交互的重要组成部分,用于单片机应用系统输入数据和控制信息。
键盘实质上是一组按键组合开关的集合。
本出租车计费系统当单价等信息需要修改时,就要用到键盘进行修改。
由于调节的信息不多,故采用五个键盘即可,一个“启动/停止”四个功能调整按键,分别实现清零、切换、增加(空车)和减小(载客)作用。
电路原理如图4-4所示。
4.4实时时钟模块
用实时时钟芯片DS1302乍为时钟电路,产生年/月/日/时/分/秒等信号,与AT89C5单片机P1.6、P1.7、P2.4接口相连供系统调用。
时钟模块电路图如图4—5所示。
图4-5时钟模块电路图
DS1302内部寄存器:
CH:
时钟停止位寄存器2的第7位12/24小时标志
CH=0振荡器工作允许bit7=1,12小时模式
CH=1振荡器停止bit7=0,24小时模式
WP:
写保护位寄存器2的第5位:
AM/PM定义
WP=0寄存器数据能够写入AP=1下午模式
WP=1寄存器数据不能写入AP=0上午模式
TCS:
涓流充电选择DS:
二极管选择位
TCS=1010使能涓流充电DS=01选择一个二极管
TCS其它禁止涓流充电DS=10选择两个二极管
DS=00或11,即使TCS=1010,充电功能也被禁止
4.5显示模块
图4-6LED显示器连线
同键盘一样,显示器也是人机交流的重要组成部分。
计算机运行结果和运行
状态可以通过显示器显示出来。
所以为了直观的显示出系统数据,本设计中采用
7段LE[显示器。
字符和数字量与段编码关系如下:
对应数据线
D7
D6
D5
D4
D3
D2
D1
D0
对应显示段
EJ
f
DPJ
g
c
]d
rb
a
显示数字段码
0
3FH
1
1
0
0
1
1
1
1
1
06H
0
0
0
0
0
0
1
1
2
5BH
01
1
o:
1
1
r1
r0
1[
3
4FH
o「
1
o「
1
1
r0
p1
厂
4
66H
1
0
0
1
0
0
1
1
5
6DH
1J
1
0
1
1
0
1
0
6
7DH
1
1
01
1
1
1
1
01
7
07H
0「
1
0「
0
0
P0
p1
1J
8
7FH
11
1
01
1
1
r1
r1
11
9
6FH
1
1
0
1
1
0
1
1
LED显示器与单片机电路连接图如图4-6所示
5系统程序设计
5.1系统主程序流程框图
在本次设计中电路键盘用到了P2口,其中P2.0到P2.3口作为键盘的输入,里程信息采集电路的控制线用了P3.2口线,掉电电路的控制线用了P2.5和P2.6口线,实时时钟电路控制线用了P1.6、P1.7和P2.4口线。
P0和P1部分口线连接显示电路和LED信号控制脚。
其它口线连接单片机的基本电路。
以下为出租车计费器系统主程序流程图。
开始
单片机初始化
[
IC总线初始化
J
显示模块初始化
5.2里程和费用等部分子程序程序流程图
在单片机程序运行过程中,当有中断源产生中断信号,并且中断是允许的,
就会进入中断处理过程。
中断处理过程可分为中断响应、中断服务和中断返回三
在每个机械周期,单片机对所有中断源按顺序检测,找到所有的中断请求,即检测是否有按键按下。
当检测到S4按下时,启动计费系统,单片机采集里程信息,10个脉冲为一公里,本程序采用5个脉冲数增加一次总里程和总费用。
当单片机检测到S3按下时,乘客到达目的地,计费结束中断返回并显示总费用和总里程。
出租车进入空车状态,显示器显示时间,等待下一次中断。
出租车计费系统程序编程如下:
ORG0000H'
LJMPMAIN
ORG0100H
MAIN:
MOVER1,#00H;初始化
MOVR2,#00H
MOVR3,#00H
MOVR4,#00H
MOVR5,#00H
XHPD:
JNBP1.1,JSDJNBP1.0,XD;LCALLPANDLCALLXIANSJMPXHPD
XD:
LCALLD2MSJNBP1.0,HFLJMPXHPD
HF:
JNBP1.1,JSDLCALLPANDLCALLXIANSJNBP1.0,HF;
JBP1.4,JSJNBP1.4,JSSLCALLPANDLCALLXIANSLJMPXHPD
是否等待计价,若是调用计时子程序
是否有信号
;确定有信号
信号是否结束
;调用计数子程序
计算部分程序流程图如下图所示:
部分子程序编程
1、计时子程序编程:
JSD:
JBP2.4,XHPD
LCALLD2S
LCALLJS
LCALLPAND
LCALLXIANS
JMPJSD
2、计数子程序编程如下:
JS:
INCR1
CJNER1,#0AH,JS1;个位力卩1
MOVR1,#00H
INCR2
CJNER2,#0AH,JS1;十位力卩1
MOVR2,#00H
INC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车 计费 系统