出租车计价器.docx

上传人:b****3 文档编号:3486089 上传时间:2022-11-23 格式:DOCX 页数:26 大小:492.46KB
下载 相关 举报
出租车计价器.docx_第1页
第1页 / 共26页
出租车计价器.docx_第2页
第2页 / 共26页
出租车计价器.docx_第3页
第3页 / 共26页
出租车计价器.docx_第4页
第4页 / 共26页
出租车计价器.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

出租车计价器.docx

《出租车计价器.docx》由会员分享,可在线阅读,更多相关《出租车计价器.docx(26页珍藏版)》请在冰豆网上搜索。

出租车计价器.docx

出租车计价器

目录

【摘要】10

第一章绪论11

1.1课题背景、发展及意义11

1.2系统设计概述12

1.3主要元器件的介绍13

第二章电路的系统设计17

2.1设计总框图17

2.2里程计算、计价单元的设计18

2.3数据显示单元的设计19

2.4AT24CO2掉电存储单元的设计21

2.5按键单元的设计21

第三章程序设计23

3.1主程序模块23

3.2定时中断服务程序23

3.3里程计数中断服务程序23

3.4中途等待中断服务程序23

3.5显示子程序服务程序24

3.6键盘服务程序24

3.7程序流程图24

第四章测试分析与计算27

4.1.里程计价测试方法27

4.2.里程测量数据27

4.3.掉电储存测试28

第五章制作电路板29

5.1绘制电路原理图29

5.2制作PCB板31

第六章总结33

6.1实现功能33

6.2心得体会33

参考文献34

致谢35

附录一:

源程序36

附录二:

共阳数码管与74LS164的连接图43

出租车计价器

【摘要】随着出租车行业的发展,出租车行业已经是城市交通的重要组成部分,从加强行业管理以及减少与乘客的纠纷出发,以单片机为核心的智能出租车计价系统的开发就显得尤其重要。

本设计采用89S51单片机为主控器,以FJ2E-D10NK霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C02实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。

本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜,中途等待来调节单价,但同时在不计价的时候还能作为时钟为司机同志提供方便。

【关键词】89S51霍尔传感器AT24C02

TaxiCounter

Abstract:

Asthetaxiindustrydevelopment,urbantaxiindustryisanimportantcomponentofthetraffic,strengtheningmanagementandthereductionoftradedisputeswithpassengersproceedingtoSCMsmarttaxiatthecoreofthedevelopmentonthepricingsystemisparticularlyImportant.Thisdesignuses89S51MCU-basedcontroller,toFJ2E-D10NKHallsensorlocation,andthetaxi-pricingdesignandrealizationofthesystemusedAT24C02Power-downpriceandthetimesavedtimeandotherinformationsystems,outputByparagraph8ofthedigitaldisplay.ofthecircuitdesignofthemetercannotonlyachievethebasicpricing,butalsobasedontheday,night,waitingforthehalf-waytoregulatetheprice,butnotaccountedforinthetimeforthedriversbutalsoasaclockComradeconvenience.

Keywords:

89S51,Hallsensor,AT24C02,

 

第一章绪论

1.1课题背景、发展及意义

出租车行业在我国是八十年代初兴起的一项新兴行业,随着出租车的产生,计价器也就应运而生。

但当时在全国还没有一家企业能够生产,因此早期的计价器是由台湾引进的。

台湾是计价器的主要生产场地,目前全世界的计价器中有90%为台湾所生产。

现今我国生产计价器的企业有上百家,重庆市有两家企业在生产。

但由于技术原因,大部分厂家的产品都不能达标。

因此生产厂家主要还是集中在北京、上海、沈阳和广州。

我国第一家生产计价器的企业是重庆市起重机厂,最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能,可以说,早期的计价器就是个里程表。

随着科学技术的发展,产生了第二代计价器。

它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。

此时它在计程的同时还可完成计价的工作。

大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。

它的功能也在不断完善,当单片机出现并应用于计价器后,现代出租车计价器的模型也就基本具备了,它可以完成计程、计价、显示等基本工作。

单片机以及外围芯片的不断发展促进了计价器的发展,出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。

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

1.2系统设计概述

采用单片机控制。

以单片机为核心,设计上采用89S51单片机为主控器,以FJ2E-D10NK霍尔传感器测距,并采用AT24C02实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。

利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调整、时钟显示功能。

原理结构如图1-1所示。

图1-1原理结构框图

本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜,中途等待来调节单价,但同时在不计价的时候还能作为时钟为司机同志提供方便。

单片机计算总价的公式为:

总价=起步价+单价*(总里程-起步里程)。

89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能为设计电路提供了很好的选择。

1.3主要元器件的介绍

(1)MCS—51系列AT89S51

AT89S51的是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4Kbytes的可系统编程的Flash只读程序存储器,高密度、非易失性储存生产,兼容标志8051指令系统及引脚。

低价位的它可以提供许多高性价比的应用场合,可灵活控制。

芯片管脚图如图1-2所示:

图1-289S51芯片管脚图

主要性能参数:

●与MCS—51产品指令系统完全兼容

●4K字节在系统编程(ISP)Flash闪速储存器

●1000次擦写周期

●4.0—5.5V的工作电压范围

●全静态工作模式:

0HZ—33HZ

●三级程序加密锁

●128*8字节内部RAM

●32个可编程I/O口线

●2个16位定时/计数器

●6个中断源

●全双工串行UART通道

●低功耗空闲和掉电模式

●中断可从空闲模式唤醒模式

●看门狗(WDT)及双数据指针

●掉电标识和快速编程特性

●灵活的在系统编程(ISP字节或页写模式)

功能特性概述:

4K字节Flash闪速储存器,128字节内部RAM,32个I/O口线,看门狗,两个数据指针,两个16位计时器,一个5向量两级中断结构,一个全双工串行通讯口,片内振荡器及时钟电路。

同时AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲方式停止工作并紧张其它所有部分工作直到下一个硬件复位。

方框图如1-3所示。

图1-3方框图

(2)FJ2E-D10NK霍尔传感器

它是一种磁传感器。

可以检测磁场及其变化,可在各种磁场有关的场合中使用。

以会儿效应为其工作基础。

它结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高,耐震动不怕一些污染和腐蚀,而且精度高工作温度范围宽。

这种霍尔元件大量用于直流无刷电机和测磁仪表。

FJ2E-D10NK集成霍尔开关由稳压器A,霍尔电势发生器(即硅霍尔片)B,差分放大器C,施密特触发器D和OC门输出E五个基本部分组成。

(1)、

(2)、(3)代表集成霍尔开关的三个引出端点。

外形及接线如图1-4所示。

(a)外形图(b)接线图

图1-4霍尔传感器外形及接线

在输入端输入电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。

当施加的磁场达到工作点(即Bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,三极管截止,使OC门输出高电压,这种状态为关。

这样两次电压变换,使霍尔开关完成了一次开关动作。

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

图1-5集成开关霍尔传感器原理

(3)数码管

数码管时一种半导体发光器件,其基本单元时发光二极管。

数码管按段数分为七段数码管和八段数码管,按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

驱动时将所有数码管的8个显示笔划为“a、b、c、d、e、f、g、dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,通过单片机对位选通COM端电路的控制来觉得数码管显示的字形。

数码管74LS164的连接电路图见附录二,其管脚图见1-6所示。

 

图1-6数码管脚图

 

第二章电路的系统设计

2.1设计总框图

总框图的设计包括键盘控制模块,启动/清除开关模块,掉电储存单元模块,里程传感器,单片机控制模块部分,显示模块,锁存器和显示驱动电路。

输入部分通过89S51控制输出的显示数字。

其结构框图如2-1所示。

图2-1结构总框图

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

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

图2-2 传感器测距示意图

由于FJ2E-D10NK属于开关型的霍尔传感器件,其工作电压范围比较宽(4.5V~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的I/O端口上,而且其最高检测频率可达到1MHZ。

我们选择了P3.2口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈,霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当技术达到1000次时,也就是1公里,单片机就控制将金额自动的增加,其计算公式:

当前单价×公里数=金额。

2.3数据显示单元的设计

用单片机驱动LED数码管按显示方式分,有静态显示和动态(扫描)显示,由于设计要求有单价(2位),路程(2位),总金额(3位)显示输出,加上我们另外扩展了时钟显示(包含时分秒的显示),而且在白天其对比度也不能够满足要求,因此我们采用了6位LED数码管道分屏显示,如图2-3(A、B、C、D)所示。

图2-3(A)时钟显示(显示为12点00分46秒)

图2-3(B)总金额和单价显示(显示为总金额12.0元,每公里4.6元)

图2-3(C)路程和单价显示(图中显示总路程12公里,当前单价4.6元)

图2-3(D)单价调整显示(图中显示为右起白天单价4.6元、晚上7.8/中途等待1.2元)

数据的分屏的显示是通过按键S1实现切换的。

切换显示如图2-4所示。

图2-4切换显示屏

在出租车不走的时候,按下S1,可以实现数据的分屏显示;车载行走的时候只有总金额和单价显示屏在显示,当到达目的的的时候,客户要求查看总的里程的时候,就可以按下S1切换到里程和单价显示屏,供客户查询。

显示器原理图如2-5所示。

图2-5显示器原理图

从单片机串口输出的信号先送到左边的移位寄存器(74HC164),由于移位脉冲的作用,使数据向右移,达到显示的目的。

移位寄存器74HC164还兼作数码管的驱动,插头1(header1)接电源,插头2(header2)接数据和脉冲输出端。

电路中的三个整流管D1~D3的作用是降低数码管的工作电压,增加其使用寿命。

2.4AT24CO2掉电存储单元的设计

掉电存储单元的作用是在电源断开的时候,储存当前设定的单价信息。

AT24C02是ATMEL公司的2KB字节的电可擦除储存芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。

掉电储存电路如图2-6所示。

图2-6掉电储存电路

图中R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据地址)与单片机传送数据。

每当设定一次单价,系统就自动调用储存程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读储存器程序,将储存器的单价等信息,读到缓存单元内,供主程序使用。

2.5按键单元的设计

电路共采用了五个按键,S1、S2、S3、S4、S5,其功能分别是:

S1分屏显示切换按键,S2功能设定按键,S3:

+/白天晚上切换按键,S4:

—/中途等待开关,S5:

上电复位。

S1、S2、S3、S4按键电路图如图2-7所示,S5上电复位按键电路图2-8所示。

图2-7按键电路图

图2-8上电复位按键电路图

 

第三章程序设计

3.1主程序模块

在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。

灵位,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。

然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。

当按下S1时,就启动计价,则根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。

若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计几个,并将结果存于价格寄存器中,然后将市级和当前累计价格送显示电路显示出来。

当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。

3.2定时中断服务程序

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

3.3里程计数中断服务程序

每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,就有程序将当前总额,使微机进入里程计数中断服务程序中。

在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。

3.4中途等待中断服务程序

当在计数状态下霍尔开关没有输出信号,片内的T1定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每10分钟都自动加上中途等待的单价。

当中途等待介绍的时候,也就自动切换到正常的计价。

3.5显示子程序服务程序

由于时分屏显示数据,所以就要用到4个显示子程序,分别时:

时分秒显示子程序(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节子程序(PA_DIS)。

3.6键盘服务程序

键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。

3.7程序流程图

(1)计价流程,出租车计价流程图如图3-1所示。

图3-1出租车计价流程图

(2)单价时间调整流程图

出租车单价时间调整流程图如图3-2所示。

图3-2单价时间调整流程图

第四章测试分析与计算

4.1.里程计价测试方法

由于试验条件有限,我们采用电动机附带霍尔元件作为车轮,电机为3V的直流电机,每分的转速可以达到几千转,我们设定电机每转一圈为车轮转到1米,当电机转到1000圈时,就表示已经到达了一公里,单片机控制系统将金额自动的增加,其计算公式:

当前单价×公里数=金额。

4.2.里程测量数据

表1的测试条件时:

设定白天的单价时2.5元,起步价为5元(包含3公里),分别行驶不同里程测得数据如下表。

表1:

白天单价测试

公里

4

10

15

37

49

59

总金额

理论

7.5

22.5

35

90

120

145

实测

7.5

22.5

35

90

120

145

总里程

理论

4

10

15

37

49

59

实测

4.2

9.5

15

37.3

49

59

误差

0.2

0.5

0

0.3

0

0

表2的测试条件时:

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

表2:

晚上单价测试

公里

4

10

15

37

49

59

总金额

理论

8

26

41

107

143

173

实测

8

26

41

107

143

173

总里程

理论

4

10

15

37

49

59

实测

4

11

16

37

49

58

误差

0

1

1

0

0

1

里程测试数据的分析:

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

4.3.掉电储存测试

掉电储存是为了防止在系统掉电的情况所储存的单价信息丢失,我们用人为的掉电方法实现这一测试。

表4:

掉电储存测试

白天单价

晚上单价

中途等待单价

掉电前数据

2.5

3.0

1.0

重新上电后数据

2.5

3.0

1.0

表4显示的数据表明,系统能在掉电的情况下正确的保存数据,并且能在系统上电后将数据读到相应的储存单元。

第五章制作电路板

5.1绘制电路原理图

主要步骤:

1.进入Protel99SE环境

2.使用菜单File/New建立新设计数据库文件

3.使用菜单File/New在打开窗口选择SchematicDocument图标,建立新原理图文件

4.将原理图打开

5.设置画图环境

6.添加元件库

7.将所需元件从元件库中取出来,放置在图纸上,并且调整好位置

8.使用连线工具将元件连起来,设置元件属性,对元件进行编号

9.进行电气规格检查(ERC)

10.建立网络表,为制作电路板图做准备电路原理图如图5-1所示:

图5-1出租车计价器电路原理图

 

5.2制作PCB板

1.使用Protel99SE画电路板,工作步骤如下:

准备原理图

这一步是利用Protel绘制电路原理图,并用Protel提供的各种功能及命令编辑原理图文件。

2.启动Protel时参数设计

进入PCB编辑环境后,要先指定元件的布置参数、板层参数、布线参数等。

其实这些参数不是每一项都要指定,有些参数接受默认植即可,而且这些参数经过设置之后,符合个人的习惯以后就无须再改动了。

3.装入原理图及元件封装

该环节是在准备好的电路原理图的基础上进行的。

元件的封装也就是元件的外形,每个元件都对应电路板上的几个焊盘,对于每个装入的元件必须有相应的外形封装,这样才能保证电路板布线的顺利进行。

4.元件在电路板上的布置

放置了电路板的物理尺寸,即确定了电路板的板边之后,才可以装入电路原理图。

在装入电路原理图之后,程序自动装入所有元件,并自动

元件放在电路板边框内。

这时根据器件的布局需要把其中零乱的器件布置好。

5.自动布线和手工调整

PCB的自动布线功能非常强大,只要把有关参数设置适当,元件位置布置合理,自动布线的成功率几乎100%。

不过自动布线也有不如人意的地方,可以通过手工调整来弥补。

6.检查印刷电路板、存储及输出

保存设计好的PCB文件,可以通过Protel自带的一些菜单功能进行检查,也可以生成PCB的3D突来检查,最后可以打印输出。

在PCB设计过程之中,一定要充分考虑到电路板的外形尺寸,同时也要考虑布局生产工艺的要求,设计出符合要求的电路板。

PCB板以及PCB3D效果图如图5-2、5-3所示

图5-2出租车计价器PCB图5-3出租车计价器电路PCB3D效果图

第六章总结

6.1实现功能

经过查阅资资料设计方案,电路连接后进行实验调试,所设计的以单片机89S51为主的出租车计价器已经实现了所要求的基本功能。

主要功能如下:

1.实现对出租车的多功能的计价设计;

2.具有系统掉电的时候保存单价和系统时间等信息;

3.详细介绍软件设计方法,并给出个部分的程序清单;

4.经过优化的程序,使其有很高的智能化水平

6.2心得体会

通过这次单片机出租车计价器的设计,在指导老师的精心指导下,我受益匪浅。

为了使设计的系统更具人性化,我们将电源开关都引到盒外,是用了手动开关按键,使用起来非常方便。

通常在不同的时间,不同的情况下都会有不同的收费标准;白天、晚上和中途等待,我们考虑后首选用开关来实现这些切换功能,简单方便,同时显示器会显示相应的指示。

最大的方便了司机的计费控制。

并且能根据市场经济的变化而发生相应的跳动计价。

但是在设计和调试的过程中,也发现了一些问题,譬如计价的金额数有限,实际的里程可能会很远,会超出我们的显示范围。

计价器的设计不够人性化,比如加上语音的提示功能。

可能会更有生命力。

在动手的过程中产生一个想法,如果计价器兼具有防作弊功能可能会更让乘客放心乘坐出租车,并得到广泛的应用。

 

参考文献

[1].臧春华.电子线路设计与应用.高等教育出版社.2004年6月

[2].何小艇.电子系统设计.浙江大学出版社. 2000年5月

[3].高吉祥.电子技术基础实验与课程设计.电子工业出版社.2004年11月

[4].大连理工大学电工电子实验中心组编.数字电子技术基础与设计.  2004年5月

[5].卢宝良.单片机系统的可靠性措施.微型机与应用.1996年第12期

[6].张家良,董秀莲.单片机控制系统的设计与调试方法.现代电子技术.2002年第9期,4-7

[7].马崇良.单片微型计算机原理及应用.中国纺织出版社.1996

[8].周慈航.单片机应用程序设计技术.北京航空航天大学出版社.1991

 

致谢

初定课题时自己也有些茫然,看到如此长的程序也有些担忧,害怕自己没能力弄懂,但是我很庆幸有这么多热心的老师,无论是我的毕业设计指导老师还是以前的任课老师,甚至是从未带过我们课的电子系老师,只要我又困难找到他们,他们总能帮我解决,并尽力让我真正弄明白。

在本课题的整个研究设计过程中,得到了许多老师和同学的帮助,借此机会向他们一并表示诚挚的谢意。

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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