1、 编号毕业设计(论文)题目出租车里程、计费显示系统二级学院电子信息与自动化专 业测控技术与仪器班 级 111070301学生姓名张利娜学号 1110703135 指导教师王先全评阅教师时 间重庆理工大学毕业论文 目录目录摘 要 IAbstractII1 绪 论 11.1 研究目的意义 11.2 国内外现状 11.3 发展趋势 21.4 本文主要内容 22 方案设计 42.1 设计的主要功能 42.2 设计的原理 43 硬件设计 63.1 单片机最小系统 63.2 晶振电路 63.3 按键扫描模块 73.4 AT24C02 掉电存储模块 83.5 DS1302 实时时钟芯片模块 93.5.1 D
2、S1302 的简介 93.5.2 DS1302 的工作模式寄存器 103.5.3 DS1302 读写时序说明 103.5.4 DS1302 电路连接图 113.6 A3144 霍尔传感器测距模块 123.6.1 A3144 测距原理 123.6.2 A3144 功能框图 133.6.3 A3144 电路连接原理图 143.7 驱动电路模块 153.8 LM016L 显示模块 163.8.1 LM016L 的简介 163.8.2 LM016L 工作原理 163.8.3 LM016L 电路连接原理图 173.9 LED 指示灯模块 173.10 总体电路图 183.11 本章小结 184 软件设计
3、 194.1 软件开发环境 194.2 程序设计总方案 194.3 按键扫描子程序 20重庆理工大学毕业论文 目录4.4 定时器子程序 214.5 DS1302 时钟子程序 224.6 计算总金额子程序 244.7 显示子程序 254.8 本章小结 265 仿真与调试 275.1 编程工具-C51 语言 275.2 单片机仿真软件调试-PROTEUS275.2.1 AT24C02 掉电保护仿真 275.2.2 DS3102 定时时钟仿真 285.2.3 里程、等待时间、总金额的仿真 305.3 实物调试 305.4 软件设计中遇到的问题及解决方法 315.5 硬件制作中遇到的问题及解决方法 3
4、25.6 本章小结 336 结束 34致 谢 35参考文献 36附录一:电路原理图 38附录二:源程序 39附录三:元件清单 61文献综述 62重庆理工大学毕业论文 摘要摘 要在现代生活中,出租车在道路交通中承担着一个非常有意义的角色。所以,出租车拥有十分良好的计费性能不论是对于出租车司机或者乘客来说都是非常重要的。计价器自产生以来,大部分应用在出租车上的计价器都仅仅具备很简单的计费功能。目前,国内的很多出租车计价器依然只是根据出租车的行车的里程来进行计费的。随着现代社会科技的发展,出租车的计价器的合理性、科学性等优良性能也被要求越来越高。所以,出租车计价器的计费、显示等功能亟待优化。在现代的
5、电子行业中,出租车计价器采用模拟电路和数字电路设计的计价器系统十分复杂、发生的故障比较多、调试计价器准确性的难度也很大。另外,这种计价器设计中模式的转换采用的是机械开关,不方便快捷的实现计价器的每项功能。本设计给出了一种基于 AT89C51 单片机的出租车里程、计费显示系统的设计方法,主要包括用 AT89C51 单片机为主控芯片,单片机系统分别控制 A3144 霍耳传感器检测里程模块、驱动电路模块、按键控制模块、DS1302 实时时钟模块、LM016L 液晶显示模块、LED 指示灯模块等。采用单片机的出租车里程、计费显示系统具有精度高、功能齐全、读数方便、抗干扰能力强、并且具有可扩展性等优点,
6、在将来一定会全面应用于出租车计价器的领域。关键词:计价器 AT89C51AT24C02 A3144 霍耳传感器 LM016L 液晶显示重庆理工大学毕业论文 AbstractAbstractIn modern life, taxi play a very significant rolein road traffic.Therefore, taxi has a very good performance on billingare all very importantfor taxi drivers and passengers .Since the Taximeter produced, mo
7、st of the taximeters applications only have simple billing function.At present, most of the domestictaximeter is still based on the taxi driving mileage for billing.With the development of science and technology in modern society, the taximeters rationality, scientific and other excellent properties
8、 are required higher and higher.So, the taximetersfunction of billing and display should be optimized.In modern electronic industry, taximeter adopts analog circuit and digital circuit design of the taximeter system is very complex, lots of fault, debugging the taximeters accuracy is very difficulty
9、 .In addition, this kind of mode conversion of taximeteruses the design of a mechanical switch, it is veryinconvenient to realize each function of the taximeter.This design presents a taximeter system of billing and display ,which is based on AT89C51 design methods, including using AT89C51 as the ma
10、in control chip, SCM system control the A3144 Hall sensor detection distance module, driver circuit module, key control module, DS1302 real-time clock module, LM016L liquid crystal display module, LED Indicator light module, etc.Taximeter has lots of futures,such as charging display system with high
11、 precision, complete function, easy reading, strong anti-interference ability, and has the advantages of expandability.in the future,this kind of taximeterwill be fully applied.Keywords:Taximeter AT89C51AT24C02A3144 Hall SensorLM016LDisplay重庆理工大学毕业论文 绪论01 绪 论1.1研究目的意义在中国,城市交通中的出租车自二十世纪八十年代兴起。随着该出租车行
12、业的蓬勃发展,出租车已然成为城市道路交通中的必要成分和现代城市的必备的交通基础设施,变成了人们在生活和工作中十分重要的一种交通设施。出租车在我们的道路交通中扮演着非常必要的角色,由此而诞生的计费器则是出租车上不可或缺的重要计量仪器,它主要负责出租车正常运作和收费的专用智能化仪器 1。出租车里程、计费显示系统是一个依据出租车行驶的里程和行车途中等待的时间来进行计费,并可以直接显示出等待时间、单价、起步价和总金额的的设计系统。随着生活质量的提高,出租车司机和乘客不再仅仅要求计价器计费精准、性能稳定等特性,而且对计价器的外观等要求也逐渐提高。出租车计费器的计费方法是一种基于乘客和出租车司机之间的交易
13、规范,这是出租车行业蓬勃发展的重要标志,也是出租车正常运营的最重要的电子仪器之一,它关系着出租车中交易双方的切身利益。为了维护出租车司机和乘客双方的权益,现在大多数的国家都对出租车计费系统,进行强制的管理。依据国家的法律、法规,出租车计费器是纳进我国第一批强制进行检查认定的计量仪器之一 2。因此,出租车里程、计费显示系统的研究和设计是相当具有实际应用效益的。1.2国内外现状1)秦浩华发表的“具有区域识别区域功能出租车计价器车载定位模块的研制 3”研究论文里详细讲述了依据公共交通需求的不同,可以对出租车实现分区域计价的方法。也就是出租车需求较高的中心区域,计价上涨;需求较低的其他地方,计价降低。
14、通过这种方式来适应人们出行的习惯和方式,从而让出租车的利用价值提到最高,可以很好的解决中心区域的拥堵情况。2)杨书华在期刊论文“出租车计价器加密传感器的设计 4”中详细讲述了一种新型对出租车计费的管理方法,呈现了出租车里程检测所用的传感器存在漏洞的问题。此设计给出了传感器可加密的模型和设计的系统结构模型,增强了出租车计价器的计费管理。3)陈伟宏、肖卫初、杨明在期刊论文“基于单片机的多功能出租车计价器的设计 5”重庆理工大学毕业论文 绪论1里讲述了用 AT89S52 芯片控制的具有很多功能的计价器的设计,并且详细讲述了在软件设计和硬件设计时有些技术问题解决的办法。设计的计价器具有检测里程、显示时
15、间、计算总金额、调出明细、查看、总计的作用,而且还有语音提醒:超速等、预防作弊、打印账单等功能。4)杨世品、陈林在“基于 Proteus 的单片机出租车计价器的设计 6”设计论文中,将出租车计价器的硬件仿真部分在 Proteus 软件中进行仿真。在这里,他们详细讲述了Proteus 的优点、仿真方法和 Proteus 在电子技术方面的一些实用价值。1.3发展趋势自从出租车计费器问世以来,不仅给司机带来方便,也给乘客带来极大的好处。我国国内出租车从诞生开始就是使用的仅仅能够进行计算里程功能的计费器。目前生产的计费器中有极大部分是台湾本土公司制造的。如今,我们国家制造计费器的公司有一百多家,主要是
16、集中在北京,上海,沈阳和广州等地 7。在中国第一个生产出租车计费器的公司是重庆市起重机厂 8,那时的计费器几乎都是采用的机械齿轮结构,而且仅仅能够进行简单的计算里程的功能,当时的计费器成为早期的计费器应该算是计费器制造的一个里程表。伴随电子科学行业的蓬勃发展,就制造出了第二代计费器,它能够实现半机械半电子化。此时它在计程的同时还可以完成计价的工作。随着集成电路的大规模的迅速发展,就制造出了全电子化的出租车计费器,此时的计费器的功能也增强了很多,这就产生了第三代出租车计费器。当单片机系列逐渐发展并且将其运用到出租车计费器上后。现代出租车计费器的各种功能也更加完善,同时具备了计里程,计费,液晶显示
17、,语音提示等多样功能。而且,单片机以及其外围芯片的快速研发也更加加快了出租车计费器设计的发展。出租车计费器在现在交通中使用时,不仅被要求能够很好的计里程和计费等功能,而且要求较好的可靠性和很高的计算精度。1.4本文主要内容本次设计的主要内容是运用 AT89C51 单片机作为本系统的核心,实现对出租车里程、计费显示系统的设计,使得单片机和设计电路都能够正常运行,对输入信号做出应有的正确反映。其具体工作如下:重庆理工大学毕业论文 绪论21)研究出租车里程、计费显示系统的原理,并设计出总体设计方法;2)选定出租车行车里程检测传感器(A3144 霍尔传感器),并设计出其驱动电路和放大电流作用的电压跟随
18、器电路;3)选定实时时钟芯片(DS1302 实时时钟芯片),使设计系统能够准确显示时间,并设计电路;4)选定防止设计的系统因为掉电使得系统历史信息丢失的芯片(AT24C02 掉电存储芯片),并设计电路;5)选定显示屏(LM016L 液晶显示屏),并设计电路;6)设计单片机硬件系统,包括数据的处理电路,行车里程的数据的采集电路,定时时钟电路,按键控制电路,掉电保护电路;7)设计出租车里程、计费显示系统的单片机软件程序;8)在 Proteus 中将电路仿真图,进行仿真调试。重庆理工大学毕业论文 方案设计02 方案设计2.1设计的主要功能1)实现车辆行车里程计数、等待时间的采集;2)系统掉电时具有保
19、存历史总金额和系统时间等信息,具有掉电存储能力;3)系统能够根据出租车行驶的里程、中途的等待时间、行车时间属于白天/夜间模式,显示出对应的起步价、单价时间,并计算出总金额等信息;4)系统能够自动进行白天与夜间计费模式的切换。5)系统能够清楚的显示出租车行车起步价、白天或夜间每公里的单价、当前时间、行车里程、等待时间及总金额等信息。2.2 设计的原理本设计出租车里程、计费显示系统使用 AT89C51 单片机芯片控制程序的运行,利用单片机具有多样 IO 接口和单片机灵活的控制性,来实现 A3144 霍尔传感器的行车里程的检测功能、行车总里程和总金额计算的功能、夜间和白天行车单价和起步价,自动切换工
20、作模式和时间、日期显示的功能。由于传统的出租车计费器功能比较单一,不能满足日益迅猛发展的计费器行业的需求。因此,采用单片机的出租车里程、计费显示系统具有精度高、功能齐全、读数方便、抗干扰能力强、具有可扩展性等优点成为计价器发展的一种趋势。本系统出租车里程、计费显示系统的硬件设计主要包含九个模块:单片机最小系统模块、晶振电路模块、按键控制模块、DS1302 实时时钟模块、AT24C02 掉电存储模块、A3144 霍尔传感器里程采集模块、驱动电路模块、 LM016L 显示模块、LED 指示灯模块。本设计方案可变空间大,不仅能够实现任务书需要的功能,还具有扩展的功能。出租车里程、计费显示系统的总体框
21、图如图 2.1 所示。重庆理工大学毕业论文 方案设计1图 2.1 系统总体框图开关(按键)启动系统,系统开始运行,LED 指示灯运行,然后调用 AT24C02 掉电存储模块里存储的历史信息:历史总金额,起始价及单价。然后运行(按键)启动驱动电路模块和霍尔传感器里程采集模块,此时单片机开始采集里程检测信号。当出租车启动时,AT89C51 单片机将 A3144 霍尔传感器检测到的信号进行里程计算,总金额计算,最后在 LM016L 液晶显示分别将历史总金额,起始价,单价,时间,里程,当前总金额分屏显示。重庆理工大学毕业论文 硬件设计23 硬件设计3.1 单片机最小系统单片机最简单的系统就是最小系统,
22、它主要有复位电路、晶振电路、功能实现电路等组成部分 25。单片机最小系统方便设计、应用比较简单,所以在现在电子硬件设计行业中受到大多数人群的欢迎。本系统的硬件设计仿真部分的核心芯片选用 AT89C51 单片机。AT89C51 单片机有着较高的性能 CMOS、低电压的特点。其片内含有 256b 的随机存取存储器 RAM 和 8kb 的可以反复擦写的 Flash 只读程序存储器,兼容标准 MCS-51 指令系统,片内置有 8 位中央处理器和 Flash 存储单元,在电子行业中有着广泛的应用 9。此次设计单片机 AT89C51基本电路如图 3.1 所示。图 3.1 最小系统图3.2晶振电路晶振电路是
23、单片机的核心部分,它掌握着单片机的运行节奏,使单片机完成不同的指令功能。本系统设计单片机的时钟电路,采用内部时钟的方式。如图 3.1 所示,重庆理工大学毕业论文 硬件设计3C1、C2 为谐振电容,它们的电容大小会直接影响振荡器频率的高低、稳定性。而 XTAL1脚和 XTAL2 脚是单片机内部的高增益反相放大器的输入端、输出端,这样组成的振荡器的频率范围是 1.2MHz12MHz。当电容大小取 C1=C2=22pF 时,产生的时钟频率为12MHz,可以让单片机更加快速的处理数据。图 3.1 晶振电路3.3 按键扫描模块为了快捷实现系统各个模式的选择,最简单的方法就是采用按键的形式。如图 3.4所
24、示,选择按键一端接地,另一端分别接单片机的引脚 P1.4 和引脚 P1.5。按键连接到单片机上需要连接上拉电阻,确保按键的准确性。在按键没有按下之前,单片机的引脚检测到高电平;在按键按下过后,单片机就会检测到低电平。通过电平由高到低的转变,就可以判断按键按下了,并执行相应的程序。图 3.4 按键扫描电路重庆理工大学毕业论文 硬件设计43.4 AT24C02掉电存储模块本系统设计的掉电保护模块由 AT24C02 芯片来实现掉电存储的功能。掉电保护模块的作用就是当系统电源断开后,AT24C02 芯片存储断电前已显示的历史总金额的信息。因为掉电保护芯片 AT24C02 有两条线:地址线、数据线,它们
25、是复用的,而且通过串口的方式传送数据。因此,只有两个端口 SDA(数据/地址)、SCL(移位脉冲)和AT89C51 单片机系统间进行相关的数据的传送。本设计系统设定为每隔 3s 就将总金额信息保存到 AT24C02 芯片中。当出租车里程、计费显示系统再次通电时,AT24C02 就会运行读存储器程序,然后把存储器内存储的历史总金额信息,写到芯片缓存单元中,提供给主程序执行命令。该部分电路如图 3.3 所示。图 3.3AT24C02 掉电存储电路3.5 DS1302实时时钟芯片模块本设计是出租车里程、计费系统,因此白天与夜间计费单价不同,设计的系统需要在一天的特定时间点自动跳变计费单价,这就需要在
26、液晶显示屏上显示出当前准确时间和单价,以确保乘客和出租车司机共同的权益,不存在计费作弊的嫌疑。3.5.1 DS1302的简介DS1302 是一种可以显示时间、日期的芯片,它具有特点:高性能、低功耗、带RAM,它具有闰年补偿的功能,并且能够精确对秒、分、时、日、周、月、年进行计时23。此外,实时时钟芯片 DS1302 的工作电压范围是 2.5V5.5V,DS1302 模块电路如图 3.4 所示。重庆理工大学毕业论文 硬件设计5各引脚的功能为:Vcc1:备份电源;Vcc2:主电源。当 Vcc1Vcc2+0.2V 时,由 Vcc1 向 DS1302 供电,当 Vcc1晚上 6 点=白天start_v
27、alue = 10;run_value = 2;State_val = Day;else /夜晚重庆理工大学毕业论文 软件设计19start_value = 11;run_value = 2.3;State_val = Night;4.6计算总金额子程序本设计的重点是通过行车里程和等待时间计算总金额,计算总金额流程图如图 4.6所示。以下是详细计算方法:1) 等待时间和等待费用:行车途中,出租车里程、计费显示系统可以根据等待时间计费,每等待 3 分钟计费 1 元。2) 白天:行车里程在 3km 以内,起步价为 10.00 元,超过 3km 后,每公里按 2.00 元计费。夜间:行车里程在 3k
28、m 以内,起步价为 11.00 元,超过 3km 后,每公里按 2.30 元计费。总金额=起步价+里程里程单价+等待时间等待单价;3) 计费器以 km 为单位统计里程,计算里程到 0.5km。图 4.5 计算总金额流程图重庆理工大学毕业论文 软件设计20计算总金额部分程序如下:if(total_mileage/1000 = 3) /超出 3kmmoney=start_value + run_value*(total_mileage/1000 - 3 ) +wite_value*(wait_time/3);/起步价+里程里程单价+等待时间等待单价if(dispbuf2 = 5) money+=
29、run_value/2.0; /尾数是否大于 0.5km else money=start_value + wite_value*(wait_time/3);4.7 显示子程序尽管数码管也可以完成,但界面不够美观。本设计采用 LM016L 液晶显示屏,它具有重量轻、体积小、功耗低、接口简单方便可靠性高等优点。它内部带有一定字符的字库,只要把对应数字或字母的 ASC值,送到它的 8 位数据端,即可显示对应字符。显示程序流程图如图 4.6 所示。重庆理工大学毕业论文 软件设计214.6 显示子程序流程图4.8本章小结本章节主要介绍了系统的软件部分的设计部分。开始部分总体介绍了系统的总流程图,然后分模块介绍了中断程序流程、按键程序流程、显示流程、总金额程序。各个模块给出了主要程序段和流程图。系统的详细程序清单见本文的附录二。