1、 201 届毕业设计说明书模板 基于单片机的出租车计价器设计 院 、 部: 电气与信息工程学院 学生姓名: 指导教师: 职 称: 专 业: 电子信息工程 班 级: 完成时间: 摘 要随着时代的发展,出租车已经成为一个城市公共交通的重要组成部分。出租车计价器是出租车营运收费的专用智能化仪表,是出租车不可缺少的重要工具。它是乘客和司机的交易准则,关系到交易双方的利益。多年来国内普遍使用的计价器只具备单一的计量功能,随着出租车行业的日渐发展,从加强行业管理以及减少与乘客的纠纷出发,这种单一功能计价器越来越不能满足人们的需要。因此出租车计价器的技术也在不断改进与创新,设计出良好性能的多功能出租车计价器
2、显得尤为重要。本设计利用单片机AT89S52 为核心设计一款多功能出租车计价器,通过A44E霍尔传感器检测出租车运行里程,脉冲的提取。运用单片机实现对液晶显示LM016L的控制,同时完成整个出租车计价器信号的读、写处理。由于仿真中无法实现A44E霍尔传感器,在仿真中以脉冲发生器代替,用不同频率的脉冲模拟不同的车速,根据每秒传送的脉冲数程序判别汽车是处于高速行驶还是等待状态,自动跳转到通过计程计费还是计时计费。该计价器能实现里程与计价显示、时钟显示等功能。它比市场上的一些计价器使用更方便, 功能更全,能为加强出租车行业管理提供可靠的依据。采用单片机进行的设计,相对采用模拟电路和数字电路设计的计价
3、器来说功能更为强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,不但能通过软件编程实现所要求的功能而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。关键词:出租车计价器;单片机;液晶显示;霍尔传感器ABSTRACT With the development of the times, has become a city taxi important part of public transportation. Taxi meter taxi operating costs is dedicated intelligent instruments, is an
4、important and indispensable tool for a taxi. It is the passengers and the drivers trading standards related to the interests of both parties. For many years, widespread use of the meter have only a single measurement functions, with the gradual development of the taxi industry, from management to st
5、rengthen the industry as well as reduce disputes with passengers starting, this single-function meter increasingly unable to meet peoples needs . Therefore taxi meter technology is constantly improving and innovation, design a good performance multifunctional taxi meter is particularly important.Thi
6、s design uses a single-chip AT89S52 as the core design Multifunctional taxi meter, taxi via Hall sensor A44E running mileage, pulse extraction. Use MCU for LCD LM016L control, while completing the entire taxi meter signal read-write process. As the simulation can not be achieved A44E Hall sensor, in
7、 the simulation instead of a pulse generator, at a different frequency pulses simulate different speed, according tot he number of pulses transmitted per second discriminating process at high speed or the car is in a wait state, automatically jump By the meter to billing or time billing. The meter c
8、an achieve mileage and valuation display, clock display. It is on the market than some of the meter easier to use, more feature-full, able to strengthen the management of the taxi industry to provide a reliable basis. Using single-chip design, the relative use of analog and digital circuit design me
9、ter is more powerful, with less hardware and appropriate software can easily complement each other to achieve the design requirements, and flexibility, not only through software programming to achieve the required functionality and can to a large extent on the expansion of functions, you can easily
10、up grade the system. Key words: multifunctional taximeter; micro controller; lcd; hall sensor 目 录1 绪论11.1 本研究课题的背景及意义11.2 出租车计价器发展历程11.3 出租车计价器国内外发展现状及发展趋势21.4 论文的研究工作和组织结构32 多功能出租车计价器的硬件系统设计42.1 总体设计思想与方案论证42.1.1 设计思想42.1.2 方案选择52.1.3 实现功能52.2 主系统设计52.3 单片机最小系统62.4 按键模块的设计62.5 显示模块的设计72.6 A44E霍尔传感器
11、检测单元的设计92.7 实时时钟电路设计93 多功能出租车计价器的软件系统设计123.1 设计课题使用单片机资源的情况123.2 主程序的设计123.3 键盘程序的设计133.4 外部中断子程序143.5 显示程序的设计153.6 路程计算程序设计154 系统仿真及调试174.1 Keil uVision4程序调试174.2 系统仿真算法174.2.1 模拟车速算法174.2.2 仿真计费算法184.3 系统仿真及仿真结果184.3.1 仿真设置194.3.2 模拟仿真结果20结束语22致 谢23参考文献24附 录 一:程 序261 绪论本章简单的介绍了课题的背景、意义及发展市场,阐述了出租车
12、计价器发展的历程及国内外出租车计价器发展现状并对当前出租车计价器的特点及其未来发展趋势做了概括。另外,简要说明了设计各阶段所做的工作。1.1 本研究课题的背景及意义近年来,我国日新月异的城市发展使交通工具越来越多样化,人民生活水平也随之显著提高,虽然私家车的数量在大幅度地提高,但是出租车仍在我国的交通运输中承担着举足轻重的角色。我国出租汽车行业迅猛发展,使它成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可或缺的交通工具,出租车行业的健康和发展也获得越来越多的关注。从加强行业管理以及减少与乘客的纠纷出发,全国大部分地区要求出租汽车必须安装出租汽车计价器才能进
13、行营运,因此出租汽车与计价器紧密相连,出租车计价器也就随着出租车行业的发展而日益完善。出租汽车计价器根据乘客乘车行驶的距离和中途等待得时间进行合理计价,并直接显示车费值的计量工具。计价器是出租车运营者与乘车消费者之间的交易准则,是使交易双方能公平贸易的结算工具,因而计价器能否准确计价,直接关系到运营者和消费者的经济利益。依据国家相关法律、法规,出租汽车计价器是首批列入国家强制检定的工作计量器具之一,也是近年来国家质量技术监督部门强化管理的六类重点计量器具之一。出租车行业是人们来到一座陌生城市认识这座城市的第一扇窗,它已逐步成为衡量一个城市是否具备国际化大都市的现代标准和心理标准的标志之一。出租
14、汽车计价器作为出租汽车运营者与消费者之间进行贸易结算的计量器具,不仅要在市场上起到“秤”的重要作用,而且还能通过这杆“秤”折射出这个城市的技术水准和道德水准;出租车计价器是出租车营运收费的专用智能化仪表,是出租车不可缺少的重要工具。它是乘客和司机的交易准则,关系到交易双方的利益。多年来国内普遍使用的计价器只具备单一的计量功能,随着出租车行业的日渐发展,从加强行业管理以及减少与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。1.2 出租车计价器发展历程出租车在我国兴起于70年代,但那时的计费系统大都是国外进口不但功能简单计算不够准确,价格还十分昂贵。随着时代进步,出租车行
15、业的发展势头日益突出,国内各厂家纷纷推出自主研发的计价器。出租车计价器的功能从刚开始的只显示路程(需要司机根据定价,根据路程计算费用然后四舍五入),到现在不仅能够自主计费还能实现很多附加功能。城市旅游业的不断发展,出租车行业已成为一个城市的窗口,象征着一个城市的文明程度与道德水准。现在自动计价器已在各大中城市普及,所以计价器技术的发展已成定局。虽然部分小城市尚未普及,但随着城市建设快步发展,象征着城市面貌的出租车行业也将快速融入,计价器的普及也是无可厚非的,所以汽车计价器的市场发展还有很大的空间,十分有潜力。重庆市起重机厂是我国第一家自主研发生产计价器的企业。最早的计价器都十分的笨重,采用机械
16、齿轮结构,而且只能完成简单的计程功能,根本无法实现自动计价,可以说早期的计价器仅仅起到了里程表的作用。随着科学技术的不断发展,第二代计价器在技术和性能上都有了很大的飞跃。它采用了手摇计算机与机械结构相结合的工作方式,实现了半机械半电子化的模式。第二代计价器在计程的同时还可以完成计价的工作,初步使计价器功能得到了完善。大规模集成电路的飞速发展又产生了第三代计价器,也就是全电子化的计价器。在电子系统的设计技术和工具发生了深刻的变化,功能也在不断完善。当单片机出现并应用于计价器后,现代出租车计价器的模型也就基本具备了,它可以完成计程,计价,显示等基本工作及附加功能。单片机以及外围芯片的不断发展促进了
17、计价器的发展,为计程器的研发指明了新的方向。相比出租车计价器最初的性能,新型研发的计价器不仅成本低,精度高,可靠性好,而且具有完全的知识产权。1.3 出租车计价器国内外发展现状及发展趋势在我国出租车行业兴起于八十年代初,多年来国内普遍使用的计价器只具备单一的计量功能。现今发展迅速,也成为出租车不可或缺的必要工具。我国生产计价器的企业有上百家,主要集中在北京、台湾、上海、沈阳和广州等地。起初出租车计价器只能进行路程计量,最后费用都需司机自己计算。而如今路程、车速、时间的计量仅仅只是出租车计价器必备的基本功能,随着科学技术的进步和经济社会的发展,计价器的功能不断增加和扩展。目前,计价器除具备基本的
18、功能外,还增加了发票打印、语音报话、计量及行业和公司管理、税务控制、IC卡与GPS定位终端连接等诸多功能,计价器已成为客运、计量等管理部门及出租车汽车公司进行科学管理的重要载体。随着出租车数量的增多,客户要求的提高,对计价器检定和技术服务的效率将提出更高的要求;而随着计价器功能的增加和逐步应用,对出租车的科学管理手段将提出更高的要求。从国内新型号计价器已开发应用的功能看,计价器与车载GPS终端实现连接,使计价器工作状况、营运数据对GPS系统管理平台实现即时无线传输,从而使平台能对计价器实现无线遥控,这是一种新的趋势。该平台一旦建成,计价器强检管理可利用该平台掌握计价器相关状况,对超检定周期使用
19、的计价器进行控制。1.4 论文的研究工作和组织结构详细分析课题任务,结合研究的主要内容和思路,对出租车计价器的发展现状进行分析并对现代传感器技术的原理进行深入分析研究,查阅相关的参考资料,熟悉各模块的功能和各芯片的内部结构,并将其综合。然后根据课题任务的要求设计出实现控制任务的硬件结构及其原理图和相关软件程序,并进行访真调试。下面对本设计的主要研究工作做个简述:(1)根据设计要求,提出可行方案,对它们进行全面的论证;选择最优方案;(2)对整个系统硬件进行全局分析,整体讨论出租车计价器各组成模块功能及工作原理。主要包括:单片机最小系统模块、供电模块、语音播报、显示模块、DS1302模块、键盘模块
20、和传感器模块;(3)介绍相关现代传感技术,选择出信号采集的最佳方案;(4)对A44E霍尔传感器做简明分析,并对其工作原理进行详细的讨论;(5)应用LCD显示技术,可查询运行里程、起步价、等待时间和总金额;(6)详细阐述出租车计价器的软件设计,包括软件设计的思想和任务,采用模块化程序设计思想进行了各个模块的程序设计。给出各个子程序模块的流程图,以及重要模块的程序;(7)总结本次设计,详细阐述出租车计价器的可靠性和方便性。2 多功能出租车计价器的硬件系统设计本章是本文的核心内容,主要介绍的是系统硬件部分的设计。设计采用了模块化的设计方法,针对系统的工作原理和各个硬件模块的原理和电路进行了具体的介绍
21、,还对各种器件的选择如传感器做了详细的分析。2.1 总体设计思想与方案论证本章对出租车计价器的设计思想做了详细介绍,并在设计思想的基础上提出了三种出租车计价器的设计方案,并针对它们各自的工作原理和优缺点进行了简要分析。最终确定为采用以AT89C51单片机为核心部件,通过A44E霍尔传感器检测出租车运行里程,运用单片机实现液晶显示的控制,脉冲的提取。同时完成整个出租车计价器信号的读、写处理的多功能出租车计价器设计方案。2.1.1 设计思想多功能出租车计价器区别于我国以前普遍使用的计价器只具备单一的计量功能,针对目前客户要求的提高,本设计对多功能出租车计价器应该具有的功能提出以下设计思想。方案一:
22、采用数字电子技术的出租车计价器系统采用数字电子技术,分为计程计数单元、计时单元、单价输入单元、显示单元、计算单元等全部由基本逻辑门和器件完成;利用555定时芯片构成多谐振荡器或者采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲进行脉冲的计数与分频,最后通过译码电路对相应的数据进行译码,将译码所得的数据送给显示模块从而显示。方案二:采用EDA技术的出租车计价器系统采用EDA技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块 计量模块、译码和动态扫描显示模块。其中分频模块是其他模块的基础,为后续模块提供基本时钟;控制模块是系统的核心部分,对计价器的状态进行控制;计量模块完成
23、计价、计时、计程功能;译码显示模块完成计价、计时、计程数据显示,该模块经过8选1选择器将计费数据、计时数据、计程数据动态选择输出。此方案是基于VHDL进行编程,实现出租车计价器的基本功能。方案三:采用单片机技术的出租车计价器系统通过单片机作为主控器,利用LM016L液晶屏显示,结合单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格选择、时间显示控制等功能。通过单片机最小系统模块、供电模块、显示模块、键盘模块、语音播报模块、DS1302模块和传感器模块组合实现出租车计价器的基本功能。2.1.2 方案选择通过各个方案的比较,本次采用方案三。采用AT89C51单片机芯片控制电路简单
24、且省去了很多复杂的线路,用其来实现一台多功能出租车计价器,具有性能可靠、控制简单,成本低廉、电路简单易懂等特点。单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能, 而且还可以方便的对系统进行升级, 所以选择采用第三种方案。2.1.3 实现功能(1)开机系统能显示实时日期及时间,且通过按键能对日期及时间进行矫正。(2)系统内部设定了起步价和起步公里数。(3)系统具有白天和黑夜两种计价模式,设定了不同的起步价和每公里单价,通过按键实现更换计价模式;白天模式起步价为8元,3公里后每1公里1.5元;黑夜模式起步价为10元,3公里后每1公里2元。(4) 启动后,开始计价,计
25、价因素包括运行里程和等待时间,当汽车行驶未满起步公里数时,均按起步价计算,超过起步公里数后,实现超出部分每公里按单价收费;中间遇等待时,计程的数额将不再增加,开始计时收费,等待3分钟后,每分钟0.4元;最后测距收费和计时收费之和为总车费。(5) 在运行过程中会实时显示出租车的运行里程、等待时间及总价格;且工作时会显示实时时间。2.2 主系统设计本文设计原则是在低功耗的前提下,以控制芯片AT89C51为核心,通过A44E霍尔传感器检测运行里程数,运用单片机实现液晶显示的控制,脉冲的提取。完成整个出租车计价器信号的读、写处理,监控计价器工作的功能。硬件系统包括单片机最小系统模块、供电模块、显示模块
26、、键盘模块、语音播报、DS1302时钟模块和传感器模块。出租车计价器系统的设计总体方案硬件结构图如图1所示。本次设计多功能出租车计价器,采用AT89C51单片机芯片控制电路。单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂。利用DS1302时钟芯片为单片机实时提供时钟信息;且可使用键盘上的按键来调整设置系统日期及时间的显示;利用LM016L液晶来显示系统日期时间,通过按键选择白天/晚上模式,系统判断按键默认起步价和每公里单价。;利用安装在车轮上的A44E霍尔传感器检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,从而得到相关数据由LM016L液晶显示出来。在出
27、租车运行过程中同步显示实时时间、运行里程、等待时间和总价格等信息,出租车停止运行后计算并显示运行总费用。图1 多功能出租车计价器设计总体方案硬件结构图2.3 单片机最小系统微处理器是本设计中的核心器件。我们一般都选用单片机来进行控制。根据单片机的CPU是否有合适的处理能力、是否有系统所需要的I/O端口数、是否含有系统所需的中断源和定时器、片内是否有系统所需的外接口等多个方面的综合考虑,本设计中选用AT89C51单片机来实现,其具有电源电压适应范围宽、抗干扰能力和驱动能力强、价格便宜等特点,适用于本次设计的各种要求。单片机最小系统模块即控制模块,在本次设计中主要用于对按键信号的接受和处理以及控制
28、液晶显示处理完之后的信息。2.4 按键模块的设计本出租车计价器在电路设计中共采用了六个按键和两个开关,按键S1、S2、S3、S4、S5、S6,包括:暂停键、选择调整时间光标右位键、选择调整时间光标左位键、时间调整加一键、时间调整减一键、退出时间设置键,开关K1、K2,其功能分别:启动/复位计费运行键、白天/晚上状态键。这八个键其中S1连在I/O口线P1.3上,S2-S6这5个键依次连在I/O(P2.3-P2.7)口线上,K1、K2两开关分别接在P1.0和P1.1口线上,说明它们可以独立实现相应的功能。I/O口线通过按键与地直接相连,六个按键中任一键在没有被按下时,对应I/O口的引脚都为高电平,
29、一旦有按键被按下,相应的I/O口就变为低电平。在编程环节中就是通过相应I/O口是否有电平变化(在一定的时间范围内)来识别是否有键按下。键盘输入电路如图2所示。图2 键盘电路2.5 显示模块的设计单片机应用系统最常用的显示器是数码管显示器(LED)、液晶显示器(LCD)。这两种显示器可显示数字、字符及系统的状态。它们的驱动电路简单、易于实现且价格低廉。本次设计中的出租车计价器需要显示的内容主要有:系统日期时间,运行里程及运行时间、等待时间和总价格等相关信息,同时显示的日期和时间内容还可由用户自己矫对调节。这样显示的内容包括数字和符号,但是由于出租车计价器需要显示的符号不多且固定不变,所以本次设计
30、将要显示的符号固定在液晶片上的某些位置,通过运行不同的程序点亮其中的一些符号,同时配合数字的变化来显示不同的信息。由以上分析可知,使用液晶显示屏就可以满足要求。本设计选用Proteus中LM016L芯片仿真。LM016L液晶模块采用控制器是HD44780,它具有简单而功能较强的指令集,可以实现字符闪烁、移动等功能,LM016L与单片机MCU相接可采用4位或8位并行传输两种方式,HD44780控制器有两个8位寄存器、数据寄存器(DR)或指令寄存器(IR)、判忙标志(BF)、显示数RAM(DDRAM)、字符发生器ROMA(CGOROM)、字符发生器RAM(CGRAM)以及地址计数器RAM(AC)。
31、IR是用于寄存指令码,只能写入但是不能读出,DR则用于寄存数据,数据由内部操作能够自动写字符发生器RAM和字符发生器RAM,或者暂时储存从字符发生器RAM和字符发生器RAM读出的数据,BF为1时,液晶模块属于内部模式,不响应外部操作的指令和接受数据,显示数RAM是用来存储显示的字符,能存储80个字符码,字符发生器ROMA由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,LM016L液晶模块原理图如图3所示。图3 LM016L原理图在对液晶显示模块硬件进行调试的时候必须注意正确的接线,特别是电源的正负接线不能有错,否则将会烧坏电路芯片。LM016L的各
32、引脚功能如表1所示。引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接负电源时对比度最高。(对比度如果过高就会产生“鬼影”,使用时可以通过10K的电位器调整对比度)4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平时进行读操作,低电平时进行写操作。6EE端为使能端,下降沿使能。7DB0底4位三态、 双向数据总线 0位 (最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向
33、数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)表1 液晶12864引脚功能表 注意:实际液晶显示芯片LM016L内部D0-D7已有上拉电阻,可以使用单片机AT89C51芯片的P0口直接驱动。但在Proteus的仿真里面该芯片内部没有上拉电阻,应该人为加上拉电阻。建议不要使用排阻,使用普通电阻一个一个的拉才能达到我们需要的效果!2.6 A44E霍尔传感器检测单元的设计A44E是一种开关型的霍尔器件,它的工作电压范围比较宽(4.518V),输出的信号符合TTL电平标准,可以直接连接到单片机的IO
34、 端口上,而且它的最高检测频率可以达到1MHZ。霍尔传感器A44E由稳压器、差分放大器、霍耳电势发生器(即硅霍耳片)、OC门输出和施密特触发器五个基本部分组成。 在输入端输入电压VCC,经过稳压器稳压后再加到霍尔传感器发生器的两端,按照相应的原理,霍尔片处在磁场中的时候,在垂直于磁场的方向通给电流,就会在和这二者相垂直的方向上产生霍尔电势差VH的输出,该电势差信号经过放大器对它放大后发送到施密特触发器中进行整形,使它成为方波再送到OC门输出。当施加的磁场达到设计工作点时,触发器输出的高电压让三极管导通,此时OC门输出端再输出低电压,三极管截止,让OC门输出高电压的这种状态为关。这样的两次电压变
35、换,就完成了霍尔开关一次开关动作。 计价器设计中的路程计算是依靠安装在车轮上的霍尔传感器检测脉冲信号,再将脉冲信号传送到单片机使其产生中断,单片机再根据所编写的程序设定,计算出相应的行驶里程。其霍尔传感器的原理如图4所示。图4 传感器测距示意图2.7 实时时钟电路设计2.7.1 DS1302功能 DS1302是一款能计算年、月、日、时、分、秒还有闰年调整能力的芯片。DS1302芯片的电压工作范围比较窄(2.05.5V),而且工作电流2.0V时,小于300nA,可选工业级温度范围-40到+85。它通过内含有实时时钟/日历和31字节的静态RAM,通过简单的串行接口与单片机进行通信。DS1302芯片
36、可以根据表面装配选择8脚DIP封装或8脚SIOC封装;这款芯片能对每月的天数和闰年的天数自动调整,时钟操作可通过AM/PM 的指示来决定采用24小时制还是12小时制。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:RES 复位、I/O 数据线和SCLK(串行时钟)。时钟RAM 的读/写数据以一个字节乃至多达31个字节的字符组方式进行通信。DS1302芯片工作时功耗低,保持数据和时钟信息时的功率小于1MW。对VCC1有可选的涓流充电能力,双电源管用于主电源和备份,电源供应备份,电源管脚可由电池或大容量电容输入。2.7.2 DS1302特性 DS1302时钟芯片是由芯
37、片DS1202改进而来的,两者对比它增加了以下几个特性:双电源引脚用于主电源和备份电源的供应,VCC1为可编程的涓流充电电源,附加了七个字节存储器。它已经广泛应用于便携式仪器、电话、传真以及对电池供电的相关仪器等产品领域。实时时钟属于出租车计价器的辅助功能,对实时系统的精度要求没有其他产品那样严格,所以选择了DALLAS公司的一款时钟芯片DS1302,涓流充电时钟芯片内含有一个实时时钟/日历、31字节的静态RAM,它还可以通过简单的三个串行接口(SPI串行接口)与单片机实现用同步串行的方式进行通信。原理图如图5所示。图5 DS1302时钟电路原理图2.7.3 DS3102各引脚功能VCC1:主
38、电源;VCC2:备份电源;当VCC2VCC1+0.2V时,由Vcc2向DS1302供电当VCC2 VCC1时,由Vcc1向DS1302供电。SCLK:串行时钟,输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期间,必须为高。该引脚CE开始控制字访问移位寄存器的控制逻辑或提供结束单字节或多字节数据传输的方法。3 多功能出租车计价器的软件系统设计本设计采用了结构化的程序设计方法进行C语言编程。主要由主程序、显示程序、键盘程序、存储读写程序、外部中断0子程序、外部中断1子程序、测量及计算程序等模块组成。各部分作了详细的流程图,具体程序请见附录一。3.1 设计课
39、题使用单片机资源的情况设计课题使用单片机资源情况如下:AT89S52单片机的P0口通过上拉电阻接LM016L液晶显示的数据线,防止电路受到干扰,从而增加电路的稳定性。P1口接DS1302时钟芯片的引脚以便实时更新时钟信息以及启动/复位计费运行键、白天/晚上状态键两个开关和暂停按键,通过按键判断收费模式是白天还是晚上,由系统确定模式后根据起步价、单价对行驶距离和等待时间等不同情况来计算出收费金额。P2口接12864液晶显示的控制线以及接五个独立式按键作为调时系统的控制键,通过按键自主调节校对相应的日期、时间,方便运营者判别运营模式(白天/晚上)让乘客一目了然乘坐时间。由于仿真中无法实现A44E霍
40、尔传感器,在仿真中以脉冲发生器代替,用不同频率的脉冲模拟不同的车速,根据每秒传送的脉冲数程序判别汽车是处于高速行驶还是等待状态,自动跳转到通过计程计费还是计时计费,P3口用于接外部中断接脉冲发生器产生脉冲信号,仿真出租车汽车行驶时的车速。3.2 主程序的设计主程序主要完成系统的初始化,各种情况的判断如调整键是否按下、出租车是否开始计价、出租车是否处于等待状态,还要进行实时显示时钟、运行里程、等待时间和总金额等信息;停车后显示运行总时间。总体来说,主程序即系统监控程序用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制,使实现设计要求的过程一目了然。主程序的流程图如图6所示。具
41、体程序见附录。 图6 主程序流程图3.3 键盘程序的设计键盘程序模块即用于实现各个按键不同功能的程序,本次设计中有八个键功能程序,这八个键(S0-S7)的任一键都独自连一个I/O(P1.0-P1.7)口线上。按键S1、S2、S3、S4、S5、S6,包括:暂停键、选择调整时间光标右位键、选择调整时间光标左位键、时间调整加一键、时间调整减一键、退出时间设置键,开关K1、K2,其功能分别:启动/复位计费运行键、白天/晚上状态键。I/O口线通过按键与地直接相连,六个按键中任一键在没有被按下时,对应I/O口的引脚都为高电平,一旦有按键被按下,相应的I/O口就变为低电平。在编程环节中就是通过相应I/O口是
42、否有电平变化(在一定的时间范围内)来识别是否有键按下。本次设计采用查询的方式,放在主程序中,当查询到有键按下时,便执行相应的按键程序,若没有键按下,则跳过按键程序而执行其余的主程序。键盘程序的流程图如图7所示。具体程序见附录。图7 进入调整界面按键流程图3.4 外部中断子程序本设计实物选择A44E霍尔传感器的脉冲输出口接到单片机的脉冲输出口接到P3.2口外部中断1作为信号的输入端,车轮每转一圈(设车轮的周长是2.5米),霍尔开关就检测并输出脉冲信号,引起单片机的中断;进入中断子程序,对脉冲计数,当计数达到400次时,即1公里,单片机就控制将金额自动增加。其具体流程图如图8所示,具体程序见附录。
43、图8 里程中断程序流程图本出租车计价器系统理论选择了将A44E的脉冲输出口接到P32口外部中断作为信号的输入端,车轮每转一圈(设车轮的周长是2.5米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到400次时,即1公里,单片机就控制将金额自动增加,由于仿真中没有A44E霍尔传感器芯片,于是采用了直接输出不同脉冲来代替霍尔传感器所感应的车速,高速行驶时采用计程计费,低速行驶时采用计时计费,最终实现总计费。 3.5 显示程序的设计显示程序模块主要用于实时显示时钟信息以及显示运行里程、等待时间及总价格;当出租车停止计价时则显示运行总时间。显示程序的流程图如图9所示。具体程序见附录
44、。 图9 显示程序流程图3.6 路程计算程序设计测量及计算程序模块则主要包括测量出租车行驶里程、测量出租车等待时间,通过测量的里程数和等待的时间来计算总价格。通过显示模块可将测量的里程数、等待时间以及计算的总价格显示出来。其具体流程图如图10所示,具体程序见附录。设计的出租车计价器计费方式有白天/晚上模式,根据模式不同起步价和单价也不同。其中起租里程3公里,起步价白天为8元、晚上为10元。每天6:30至22:00之间,按“白天”计费,白天每公里单价1.5元;22:00至次日6:30,按“晚上”计费,每公里单价2元。同时堵车是要收费的,前30秒免费。当等待时间大于30秒,收费标准是每10秒跳0.
45、4元。等候时间的意思是:行驶停止或速度在10公里/每小时以下就称为低速。图10 路程计算程序流程图4 系统仿真及调试4.1 Keil uVision4程序调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障等问题。程序的调试应模块化地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,最后逐步将各子程序关联起来总调。联调需要注意的是,各个子程序模块之间能否正确传递参数,寄存器组是否有冲突,特别要注意各子程序的现场保护与恢复。4.2 系统仿真算法4.2.1 模拟车速算法本设计通过脉冲发生器模拟实现霍尔传感器识别车速及行驶距离的功能。车轮每转一圈(
46、设车轮的周长是2.5米),转2圈(即行驶5米)产生一个脉冲。脉冲发生器输出脉冲信号,系统程序通过识别脉冲个数来判断车速从而识别是低速行驶(或静止)和正常行驶。当脉冲个数每秒10个,系统程序判定为低速行驶(或静止),计费模式采用计时计费;当脉冲传送个数每秒10个时,则判定为正常行驶,计费模式则采用计程计费。出租车计程计价算法:(1) 出租车低速行驶算法: 若出租车行驶平均速度1.8km/h,则换算为每秒行驶5m;车轮周长2.5米,行驶2圈产生一个脉冲,即1s产生1个脉冲,周期T=0.2s,故脉冲频率为1/T=5HZ; 若出租车行驶平均速度3.6km/h,则换算为每秒行驶10m;车轮周长2.5米,行驶2圈产生一个脉冲,即1s产生2个脉冲,周期T=0.1s,故脉冲频率为1/T=10HZ。(2) 出租车正常行驶算法: 若出租车行驶平均速度90km/h,则换算为每秒行驶25m;车轮周长2.5米,行驶2圈产生一个脉冲,即1s产生5个脉冲,周期T=0.2s,故脉冲频率为1/T=25HZ; 若出租车行驶平均速度180km/h,则换算为每秒行驶50m;车轮周长2.5
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100