出租车计价器18435

发布时间:2019-05-28 21:54:03

1出租车计价器的方案论证

1.1出租车计价器的功能要求

本课题研究的是出租车计价器,要进行计价器的设计,首先要了解本课题对计价器的基本功能要求和设计参数。

1.1.1出租车计价器的基本功能

本课题所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、计时计价、单价输出、路程的输出、语音播报数据信息、实现在系统掉电的时候保存单价和系统时间等功能。当按下按键后,启动计价器,由路程传感器开始采集信号,然后传送到单片机,单片机进行处理,计算出行驶路程以及总金额,将计算结果通过液晶显示屏显示,并且通过语音芯片进行播报。本电路设计的计价器不但能实现基本的计价,而且还能根据白天和黑夜来调节单价。

1.1.2出租车计价器的主要设计参数

本课题对出租车计价器的设计要求如下:

设计一个出租车自动计价器,计价包括起步价和行车里程计费两部分,用1602液晶显示总金额,最大值为999元,起步价为8.0元,3km之内起步价计费,超过3km 每增加1km增加1.5元用液晶显示总里程、等待时间和总金额。

1、计费功能

费用的计算是按行驶里程收费。设白天<6点到晚上22点)起步价为6.00元,晚上<晚上22点到第二天6点)起步价为7.00元。

<1)当里程<3km时,按起价计算费用

<2)当里程>3km时,按1.5/km计费

2、显示功能

<1)显示行驶里程:用四位数字显示,显示方式为“XXX”,单位为km。计程范围0-999km,精确到1km

<2)显示总费用:用三位数字显示,显示方式为“XXX”,单位为元。计价范围0-999元,精确到1元。

1.2方案论证与比较

方案一:采用数字电子技术,利用555定时芯片构成多谐振荡器,或采用外围的晶振电路作为时钟脉冲信号,计数芯片对脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示,以下是该方案的系统框图,方案一如图1.1所示:

1.1基于定时芯片的计价器

方案二:采用单片机技术,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,以下是方案二的系统流程图,如图1.2所示:

1.2基于单片机控制的计价器

通过两个方案的比较,方案二设计符合人性化,性价比较高,因此采用方案二。

2出租车计价器的硬件设计

2.1单片机的介绍

在众多的51系列单片机中,要算 ATMEL公司的AT89C51AT89S51更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4kB程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 ATMEL AT89xx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。AT89C51AT89S51目前的售价比8031还低,市场供应也很充足。AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4kB ISP(In-system programmable>的可反复擦写1000次的Flash读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。因此采用AT89S51单片机作为控制器。

AT89S51的引脚如图2.1所示:

word/media/image3_1.png

2.1 AT89S51的引脚结构

其各自引脚功能如下:

VCC:电源电压。GND:地。

P0口:P0口是一组8位漏极开路型双向I/O接口,即地址/数据总线复用口。当访问外部数据存储器或程序存储器时,这组口线分时转换地址和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接受指令字节,而在程序校验时 ,输出指令字节,校验时,要求外接上拉电阻。

P1口:P1口是一个带内部上拉电阻的8位双向I/O接口,P1的输出缓冲级可驱动4TTL逻辑门电路。端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流IL),FLASH编程和程序校验时,P1接收低8位地址。

P2口:P2 是一个带有内部上拉电阻的 8 位双向 I/O口,P2 的输出缓冲级可驱动<吸收或输出电流)4 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流IL)。在访问外部程序存储器或16位地址的外部数据存储器<例如执行 MOVX@DPTR 指令)时,P2 口送出高8位地址数据。在访问8位地址的外部数据存储器<如执行 MOVX@Ri 指令)时,P2口线上的内容<也即特殊功能寄存器)区中 P2 寄存器的内容),在整个访问期间不改变。Flash 编程或校验时,P2 亦接收高位地址和其它控制信号。

P3口:P3口是一组带有内部上拉电阻的 8 位双向 I/O口。P3口输出缓冲级可驱动<吸收或输出电流)4TTL逻辑门电路。对 P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流IL)。

P3口除了作为一般的 I/O口线外,P3口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号,更重要是它的第二功能,如下表所示:

2.2 P3口的引脚及功能

RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置 SFR AUXR DISRT0 <地址 8EH)可打开或关闭该功能。DISRT0 位缺省为 RESET 输出高电平打开状态。

ALE/:当访问外部程序存储器或数据存储器时,ALE<地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的 1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。

/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器<地址为 0000HFFFFH),EA 端必须保持低电平<接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平< VCC 端),CPU 则执行内部程序存储器中的指令。F1ash 存储器编程时,该引脚加上+12V 的编程电压 VPP

:程序储存允许。输出是外部程序存储器的度选通信号。

XTAL1:振荡器反相放大及内部是钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端。

2.2单片机最小系统

单片机的最小系统由电源供电模块、复位电路、晶体振荡电路组成。

2.2.1电源供电模块

通过考虑,计费系统最终是安装在计程车上的,电源一般不是220V交流电压,而是有电瓶输出的直流电压,因此采用输入一个6~10V的直流电压,再稳压得到5V电压。

因为计价器的工作环境比较差,它要求有抗振动、抗高低温、抗潮湿、抗电磁干扰等能力,特别是电源方面的干扰,如出租车启动时,发动机打火、电瓶充电等造成输入计价器的+5V 电源不稳定。因此采用+l2V电瓶电源经过滤波和电源稳压芯片LM78L05后得到+5V的稳定电压输出,保证整个系统能够正常工作。电源模块具体电路如图2.3所示:

word/media/image11_1.png

2.3 电源电路

2.2.2复位电路

复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R3R4分压,在RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RESET引脚的高电平将逐渐下降。按键复位电路原理:在单片机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0VRESET处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RESET引脚又接收到高电平。单片机系统自动复位。

按键复位电路图如图2.4所示:

2.4 复位电路

2.2.3晶体振荡电路

单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容<电容一般取30pF)。这样就构成一个稳定的自激振荡器。振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号是机器周期信号。晶振电路如图2.5所示:

2.5 晶振电路

2.3里程计算模块的设计

信号采集主要是通过传感器对采集车轴转数,通过主机模块进行计算,从而得出里程,金额等信息。通过对传感器的工作方法研究发现,传感器A44E是比较符合条件。

2.3.1霍尔传感器简介

霍尔传感器是利用霍尔效应实现磁电转换的一种传感器,它具有灵敏度高,线性度好,稳定性高、体积小和耐高温等特点,在机车控制系统中占有非常重要的地位。对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。

霍尔器件具有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高<可达1MHZ),耐震动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。

霍尔传感器A44E工作原理,A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片>B、差分放大器C、施密特触发器DOC门输出E 五个基本部分组成。在输入端输入电压,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差HV出,该HV信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点时,触发器输出高电压(相对于地电位>使三极管导通,此时OC门输出端输出低电压,通常称这种状态为。当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为。这样两次电压变换,使霍耳开关完成了一次开关动作。

集成开关型霍尔传感器原理如图2.6所示。

2.6 集成开关型霍耳传感器原理图

其集成霍耳开关外形及接线如图2.7所示。

2.7 集成霍耳开关外形及接线

2.3.2里程计算、计价单元的设计

里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如图2.8所示。

2.8 传感器测距示意图

因为A44E 属于开关型的霍尔器件,其工作电压范围比较宽<4.518V),其输出的信号符合TTL电平标准,可以直接接到单片机的I/O 端口上,而且其最高检测频率可达到1MHZ

我们选择了P3.2 口作为信号的输入端,内部采用外部中断0<这样可以减少程序设计的麻烦),车轮每转一圈<我们设车轮的周长是1 M),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到1000 次时,也就是1 公里,单片机就控制将金额自动的增加。计算公式如下:3公里以内,金额=起步价;3公里以外,金额=起步价+<公里数-3*单价。例如:设行驶里程为5里,起步价为8元,超出3公里后按每公里一元收费,则金额=8+<5-3*1.5=11<元)。

2.4显示模块设计

显示部分要求显示单价、里程、总金额等各种信息。

针对出租车计价器,只需显示简单的字符和数字,因此选择LCD1602就能满足要求,且成本较低。

LCD1602的基本参数如下:

LCD1602显示容量:16*2个符;

芯片工作电压:4.5~5.5V

工作电流:2.0mA(5V>

最佳工作电压:5V

字符尺寸:2.95*4.35(W*H>mm

LCD1602的各个引脚的功能如表

2.9 LCD1602引脚说明

显示模块的硬件电路设计:根据LCD1602的基本工作参数和引脚接口信号的介绍,设计出显示电路如图2.10所示。

2.10 显示电路

此模块电路电源电压为5V,由接口VCC引入,上电后芯片开始工作。数据端8位接分别由单片机的P0 I/O口与其线连接,3个控制端口分别有P2.0~P2.2端口来控制,8位双向数据线7~14与单片机的P0端口相连,实现液晶与单片机的通信。液晶对比度通过1602的第三脚接可调电阻来调。

2.6掉电存储电路的设计

当用户每次通过出租车计价器更改数据的时候,应该把更改后的数据保存,这样不用断电时候都要重新进行基本信息的设置,这就是掉电保护模块的作用。可以进行存储的芯片有很多种,在这个设计中采用了AT24C02这款芯片。

AT24C02是一个2字节串行CMOS EEPROM,内部有2568位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗,AT24C02还有一个16字节读写缓冲器。

AT24C02的管脚及其功能如下表所示:

2.11AT24C02管脚功能

AT24C02管脚图如图2.12所示:

2.12 AT24C02管脚图

根据AT24C02的引脚,设计出掉电存储电路电路图如图2.13所示:

2.13掉电存储电路

3出租车计价器的软件设计

3.1 模块介绍

本系统的软件设计主要可分为主程序模块、里程中断程序、定时中断程序、显示子程序服务程序四大模块。下面对各部分模块作介绍。

3.2 主程序模块

在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。

当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格通过显示电路显示出来。当到达目的地的时候,因为霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。

主程序流程图如图3.1所示。

3.1 主程序流程图

3.3 里程计数中断程序

在里程计数中断服务程序中,车轮每转一圈<我们设车轮的周长是1 M),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到1000 次时,也就是1 公里,单片机就控制将金额自动的加增加,送数据到相应的显示缓冲单元,并调用显示子程序显示。

里程计数中断服务程序流程图如图3.2所示。

3.2 里程计数中断程序流程图

3.3定时中断服务程序

在定时中断服务程序中,每100ms 产生一次中断,当产生10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。

定时中断服务程序流程图如图3.3所示。

3.3 定时中断程序流程图

3.4 显示服务子程序

1602液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写40个字符,在写显示程序的时候,我们先写命令,再设定字符显示,最后写数据,在每写一次命令或数据都需要判断液晶是否忙。液晶显示程序流程图如图3.4所示:

3.4 显示服务程序流程图

4系统调试

根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。因为在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试。

4.1 软件调试

编程工具—C51语言

8051单片机的应用程序设计,使用C51语言进行程序设计虽然相对于汇编语言代码效率有所下降,但可以方便地实现程序设计模块化,代码结构清晰、可读性强,易于维护、更新和移植,适合较大规模的单片机程序设计。近年来,随着C51语言的编译器性能的不断提高,在绝大多数应用环境下,C51程序的执行效率已经非常接近汇编语言,因此,使用C51进行单片机程序设计已经成为单片机程序设计的主流选择之一。

程序调试工具—KEIL

本设计的软件都是在 Keil μ Vision 7.5上进行编写,编译,调试以及运行操作。

单片机仿真软件在线调试—PROTEUS

1.打开Proteus软件。

2.选择file菜单下的 open design选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存。

3.将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定。

4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。

下图是通过在Keil C中编译通过,并生成Hex文件,在PROTEUS仿真通过的整体硬件原理图。

4.1 系统仿真图

4.2里程计价测试

因为实验条件有限,我们采用电动机附带霍尔元件作为车轮,电机为3V 的直流电机,每分的转速可以达到几千转,我们设定电机每转一圈为车轮转动1 M,当电机转动达到1000圈时,就表示已经到达了一公里,系统自动将当前的单价加到总金额上。

4.1 的测试条件是:设定白天的起步价是6 元,晚上起步价是7<包含3 公里),超出3公里按每公里1元收费,分别行驶不同里程测得数据如下表。

4.1白天单价测试

4.2测试条件是:晚上的单价设定为3.0 元,起步价为5 <包含3 公里),分别行驶不同里程测得数据如下表。

4.2晚上单价测试

里程测试数据的分析:

通过表5.1、表5.2中的数据,我们可以看到系统的计价功能很稳定,误差很小,几乎为零,不过还应该在实际的应用中测试。

结论与展望

在这段时间里,经过自己努力,基本上完成了设计要求的内容,在系统可行性分析、原理图设计等方面都作了许多实际工作,取得了一些成绩,同时也遇到了一些问题,存在一些不足。经过这段时间的学习和工作,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。这次设计很好的把以前学到的理论知识应用于实践,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。

通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用项目化的思想来解决问题。这在以前的学习过程中是不曾学到的。

提这次设计是我认真认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。另外通过本次设计,使我认识到自己理论知识的应用能力有很大的欠缺,需要在以后的学习中进一步高。

可行性分析报告

1)研究的必要性:随着城市化水平的提高和人民生活水平的改善,出租车的服务显得越来越重要。出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

2)设计原理可行性:本文采用AT89S51单片机为主控制器,以A44E霍尔传感器测行驶里程,实现对出租车计价器的计价设计,并采用掉电存储单元AT24C02来实现在系统掉电时保存单价和系统时间等信息,输出采用LCD1602液晶显示,并且通过语音芯片ISD2560进行语音播放。本电路设计的计价器不但能实现基本的计价,而且还能根据时钟芯片自动调节白天、黑夜及中途等待单价,在不计价的时候,还能作为时钟为司机提供时间显示。

3)知识能力的可行性:通过平时所掌握硬件设计能力和实际的专业,大学的学习使我掌握单片机的相关知识,培养扎实了软硬件设计能力,运用所学相关专业知识解决检测与控制领域相关问题。平时的实验和课程设计都让我对这方面还算比较熟悉,设计过程中还可以查阅各种资料,和同学一起探讨研究,完成这项设计也是我单片机这门课掌握情况的最好反映。

4)实验条件的可行性:学院具备该方面的实验室与实验测试设备,毕业设计实验器件,并且在老师的精心指导下,按照研究课题设计要求进行设计、调试与测试分析。

参考文献

[1] 张友德,赵志英,涂时亮.单片微型机原理、应用与实验.上海:复旦大学出版社 2005,12

[2] 李群芳,肖看.单片机原理接口与应用.北京:清华大学出版社,2005

[3]李广弟,朱月秀,冷祖祁.单片机基础[M].3.北京航空航天大学出版

社,2007

[4] 魏永昌.单片机外围电路设计.北京.电子工业出版社.2006[5] 马淑华,王凤文,张美金.单片机原理与接口技术.北京.北京邮电大学出

版社,2005

[6] 张鑫,华臻,陈书谦.《单片机原理及应用》[M].电子工业出版社2005. 

[7] 丁元杰、吴大伟.《单片微机实题集与实验指导书》[M].机械工业出版

,2004.

[8] Kuo B.C. Automatic Control Systems.8th ed. New Jerssy Prentice-Hall, Inc. 2002

[9] Dabis.W.S. PCB and Design A structured Approach. Addison Wesler Puh.Co. 2003

word/media/image26_1.png

1 系统原理图

出租车计价器18435

相关推荐