【《基于STC89C52单片机的出租车计价控制系统设计》12000字(论文)】_第1页
【《基于STC89C52单片机的出租车计价控制系统设计》12000字(论文)】_第2页
【《基于STC89C52单片机的出租车计价控制系统设计》12000字(论文)】_第3页
【《基于STC89C52单片机的出租车计价控制系统设计》12000字(论文)】_第4页
【《基于STC89C52单片机的出租车计价控制系统设计》12000字(论文)】_第5页
已阅读5页,还剩22页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第页共=34\*Arabic34页1绪论1.1研究背景我国的生活水平在近十年内的提升速度有目共睹,而出租车的普及就是一个典型的发展产物,充分适应时代的发展和人们的需求。目前市场上的出租车都有计价系统,通过时间、里程数据读取自动计算单次载客价格,这些计价系统大多通过单片机控制、传感器感应、网络通讯等技术手段进行操控、联网、上传数据,实现智能功能。单片机微控器起源于上个世纪七十年代,功能结构单一,控制器体积大,时至今日,单片机体积越来越来,功能也越发多样性、智能化,被广泛地应用于各大领域,出租车计价器便是其中之一,从宏观来看,出租车计价器系统的发展取决于几大影响因素,如政治经济环境、社会市场需求情况、技术发展进程等因素。归根结底智能数据采集方案都是基于物联网技术的硬件基础来实现,通过在硬件设备上搭建各种环境采集类别的传感器装置,可布置一组或多组传感器装置来实现更高精度的环境参数采集,随着无线通信技术的进一步优化和水平的提升,传感器都具备了无线的功能,更大的推动了智能出租车计价器采集的无线布置,大力度的减少此前繁杂的接线。随着嵌入式平台处理器的发展,在近年来的智能化系统中得到了更大的推广,新兴产业更新迭代快,发展日新月异,出租车计价器早已屡见不鲜,但是物联网的发展将大力推行将微控处理器和无线通信紧密相连,在未来更新型的高科技应用也会有更深入的提升。本设计的目的就是为了寻求设计一款性能更高效的出租车计价器,尽可能解决市面上以往存在的问题,从更深层次实现智能化、数字化,减少无谓的精力及资源浪费,使得人们在乘车时安心乘坐,不为计价问题产生纠纷。1.2国内外研究现状在我国,出租车的前身是马车、轿子以及黄包车等古代代步交通工具,这些交通工具随着工业时代的历史进程一代一代地发展着,最终演变为出租车行业。上个世纪40年代的出租车行业还是新兴行业,只有国家重要人员、外国重要客人才可以享受出租车专车接送。直到上世纪60年代后,出租汽车行业才开始面向普通民众,定点载客,形式虽然死板,但是也标志着出租汽车行业进入里程碑式的运营模式。此后,随着生活水平越来越好,新的观念和消费习惯不断冲击着人们和这个行业,人们对出租车的需求越来越大,与之匹配的出租车计价器的发展也开始深入人心。国际上,出租车的出现要追随到18世纪,英国人想要短途旅行,便需要雇用马车,跟我国古代的马车属于同类。19世纪后,城市中便出现了专供客户租用的大型马车,此后“TAXI”开始被广泛应用,随着单片机技术、通讯技术的发展,出租车行业经久不衰,其衍生出的计价器系统也不断推陈出新,但是始终存在性能与价格难以两全的问题。计价器在我国发源于上世纪80年代后期,因市场需求日益提高被广为人知,但是当时我国国力不够强盛,因而大多数产品皆从国外进口而来,此后随着国力增强,政策力度加大,我国越来越多专业人士投入了大量研究,方有如今沉淀下来的技术基础,但是即使当前种类繁多、款式各异,性能却大多单一,有待于更细致的研究。1.3主要内容与机构安排本次设计是以一个单片机为核心处理器载体,在此基础上利用传感器采集数据完成出租车计费参数的采集,并实现液晶屏数据的直观显示,可对出租车计费规则进行调整,进行智能控制,实现准确计费的操作。本论文分为六章进行诠释设计的全周期。第一章节为绪论,通过图书馆、上网等平台查阅相关资料文献,深入分析本设计发展历程,完成的主要内容包括了引言、阐述本课题研究的背景和意义、分析国内外研究现状、预测本设计产品的未来走向,通过以上内容引出本文主要研究的内容并介绍全文结构安排。第二章节为系统设计组成介绍模块,一是对本系统各模块的组成进行分节说明,并绘制系统各组成模块的设计框图,二是对本系统各主要模块的选型进行多方案对比,通过功能实现效果、性价比等各方面显示出的才能进行比较,最终确定选型方案。第三章节为硬件设计及组成部分,本章将详细地阐述各个硬件模块的设计思路、设计原理解析、设计结构分析、设计过程图解,通过分解分析本文要素,提高人们对本文的接受能力。第四章节为软件设计的介绍,利用程序流程图对本设计中所软件使用的程序语言及开发环、各子模块程序的设计进行简要介绍。第五章节为系统硬件和软件的调试,根据实物设计的多次整机调试给出调试方案和过程,并深入分析调试结果,减小实物数据的误差性。第六章节是总结与展望,对本设计从设计准备阶段到完成使用阶段的全周期进行回顾和总结,同时向未来抒发理想展望。

2系统方案分析2.1系统框架说明通过文献和市场调查,本设计的实现方案框架是以单片机为核心控制处理器搭建外围的功能模块如霍尔测速传感器模块、按键模块、时钟设备模块、电机驱动模块模拟出租车行驶和计费规则存储模块来实现,辅以显示模块来展示。该系统通过按键和电机驱动实现出租车正常运行,利用霍尔测速传感器采集模块实现对出租车行驶里程的实时监测,时钟模块采集当前耗时数据的记录,通过串口通信等方式与单片机主控器连接,单片机主控制器完成数据识别和解析后驱动显示器显示、并通过记录在存储模块的计费规则来完成计算,进而完成最终的车费输出。本次系统的整体框架如图2.1所示。图2-1系统总体框图2.2主要模块的选型在系统方案进行设计的过程中,在对各方面因素进行多方面的考虑之后。为了确保操作系统能够正常运行,在能够自由切换模式的同时尽可能降低系统站工作内存,这也是为了降低系统工作过程中功耗损失情况。通过选择低电压来进行系统的供电操作,选用单片机的设计,也是做好了在之后量产过程中的成本、功耗问题的考虑。整体上保证系统工作过程中,性能稳定、安全可靠,提高数据传输的能力,同时降低外界各项因素对系统正常运行可能造成的干扰。避免整个系统在正常运行工作过程中出现失误的情况。2.2.1微处理器方案一:选择FPGA作为主控制器,FPGA即可编程逻辑器件。与其他类型的MCU相比较,其运行的方式是并行的,即编写的程序是并行运算的,而不是单条语句依次运行,因此其运算效率非常高,广泛应用于对速度要求高的场合。在型号选择方面,目前主流的是Altera和Xinlinx两家公司,这两家公司占了全球90%以上的FPGA市场,其针对各自的产品,也开发了相应的开发平台。在开发语言方面,其主要有VHDL和VHERILOG这两种语言,在编程方面,其使用会复杂一点,尤其是涉及到小数或者除法等运算时,因为其本质上是硬件电路,所以不能像C语言一样可以直接使用小数或者除法之类,甚至于乘法也不能直接使用,往往需要考虑很多因素,所以对基础知识要求非常高。在硬件上面,其供电通常是需要3.3V和1.8V两种以上的供电,3.3V给IO引脚,1.8V则给内核,对于一些性能好的,则需要三种以上的供电,因此设计较为复杂,所以适合于需要复杂,速度要求高,成本不敏感的场合。方案二:选择STC89单片机,该系列的单片机有四组IO口引脚,可以通过编程的方式对每个IO口进行控制。其为8位的总线,采用了MCS-51的指令集,因此在程序编写上与其类似。同时为了方便使用,该单片机还集成了FLASH等存储器资源,这样用户可以不用另外配置额外的存储器,方便使用。其支持多种开发平台,如Keil,IAR等等,支持在线调试,可以方便的对其内部寄存器数据进行监控。而且其开发语言也是常用的C语言,方便上手,其下载方式也支持多种方式,如ISP下载,串口下载,或者专用下载器下载等等都可以,并且还提供加密技术,方便用户保护知识产权。同时其成本非常低,性能也可靠,已经在市场上大量的低端产品进行使用,具有很高的市场经济价值。方案三:选择STM32单片机,其是由ST公司设计生产的32位MCU,其运算速度快,最高可以达到72MHZ,并且其内核采用的是ARM,具有非常强的优势。并且ST公司除了为其开发配套的库函数外,还开发了CUBEMX工具,用户使用该工具可以通过图形化的方式对IO口,定时器,ADC模数转换器以及其他功能进行设置,完成初始化的程序自动生成,节约用户大量时间,也降低了编程难度,同时具有丰富的例子程序,方便用户进行学习和进一步扩展。通过对三组主控芯片的发展和优缺点比对,结合本次设计需求和难度等级进行方案筛选,首先考虑主控方案的成熟度和设计难度,是否有丰富的经验案例和技术总结务必是前提条件,因此本次设计暂不考虑选择FPGA处理器。其次针对设计需求的外设种类和复杂程度选择可支持快速响应和稳定运行的处理器,偏向STM32处理器方案,最后成本评估,STC89C52单片机的性价比是最高的,不会对设计造成经济困扰。最终本次主控处理器的选择为STC89C52处理器。2.2.2液晶显示模块方案一:选择一组或多组LED数码管来完成系统的显示界面需求。LED数码管显示器包含有8个高亮的LED灯。通过控制1个或多个LED灯的亮灭,就可以组成0-9数字的形状。其优点是:数码管显示数字非常直观,使用无毒材料制成,环保且坚固耐用,使用寿命较长,但其缺陷也很显著,无法满足多内容和复杂字符的需求,受限于此LED数码管方案大多仅用来显示数字界面。方案二:选择LCD12864液晶屏来完成系统的显示界面需求。LCD12864液晶显示屏可显示的信息种类较为多样,包括数字、英文字符与图形符号,显示容量16*4个字符,完全满足本设计的需要。并且由于它的显示程序简洁,硬件电路结构也并不复杂,仅需要对为数不多的控制线进行驱动,按照规格书中的液晶点亮时序逻辑图即可实现数据的显示。方案三:选择OLED12864液晶屏来完成系统的显示界面需求。OLED液晶屏在同等数据显示的前提下尺寸可制作的比LCD小,在越来越考虑集成化小型化的新设备上有取代LCD的趋势,例如OLED12864仅为0.96寸,非常的小巧便携。OLED由于存在自发光特性,即便在环境光照较强的情况下仍能实现较好的视觉效果,OLED的控制电路也很简单,管脚数目为7pin,仅需要一组数据管脚即可实现显示数据的通讯,不需要大幅占用IO口资源,在近些年的电子大赛和教学设计上应用的非常广泛。通过对上述三种液晶方案的分析,考虑到本次设计系统所需显示的内容为多组数据,且应用场景基本不会涉及到强光情况,综合考虑成本和效果,选用方案二LCD1602来实现数据的完整显示,同时提高用户的体验感。2.2.3时钟模块的选择方案一:使用集成芯片作为时钟计时载体,选用DS1302方案来实现记录时间数据,DS1302模块的作用是用于完成时钟计数计时,其工作电压跨度较大,可实现从2.2V到5.5V的电压区间。DS1302模块的内部有一个临时寄存器单元,用于实现存储时间数据即便是断电也可以保持时间数据的连续,其整体的功耗很低,通常是用3.3V的纽扣电池仍可实现3年以上的工作周期,因此被广泛利用在手持、车载和小型智能电子设备上。方案二:使用单片机内部RTC电路作为时钟计时载体,但是单片机的RTC时钟精度相比外部时钟偏差,应用在对时间精度要求不高的场景下可满足,在对时间精度要求比较高的工业和专业计时方面的应用就显得不符合。综上方案的优劣势阐述,本次的是专业时钟电路的应用,所以采用方案二明显没办法满足精度要求,因此选择方案一。2.3硬件系统组成通过以上方案总体规划和选型分析后,本次设计以STC89C52单片机为主要控制模块,作为车速采集功能的霍尔传感器,输出显示模块以LCD1602液晶模块来展示人机界面,实现出租车启停控制的电机驱动模块,以及读写出租车计费规则功能的AT24C02存储模块,所有的模块通过与单片机各定义IO口连接进行通信。下图2-1为本次系统的总体组成图示。图2-1系统总体框图3系统硬件设计3.1主控电路的设计单片机实质上属于一种微型计算机,利用其内部编程进行智能化的操纵和处理。单片机的基本组成主要包括控制器、存储器、并行I/O口、时钟电路与时序这四个部分。做为单片机的主要控制核心,控制器的作用主要是在系统正常工作过程中,能够对单片机传达的指令进行有效识别,同时依据命令所对应的只是来对系统中的部件功能进行控制,以此来保证单片机能够根据指令完成规定的工作需求。指令从接收后都进行相应的存储工作。随后利用指令译码器将其破译,将相应的结果传输至时序控制逻辑电路,再将相应的数据信息利用指令传输至其他部件,使单片机能够进行工作。整个系统在工作中始终持续的读写指令并驱动后道电路响应和控制。本设计选用了40pin的STC89C52单片机,共有四组控制引脚,P0到P3,主控芯片的用途在于内部烧录程序的执行,调用和驱动外围功能模块按照预设逻辑工作,还可以将数据存储在里面以免失去电源。单片机最小系统原理图如图3-1所示。图3-1单片机最小系统原理图下图3.1为单片机的管脚说明表3.1单片机管脚说明管脚序号名称说明第1~8脚P10~P178位、准双向I/O口第9脚RESET复位管脚,高电平有效第10~第17脚P30~P378位、准双向I/O口,具备复用功能第18、19脚X2、X1外部晶体输入管脚第20脚GND地管脚第21~28脚P20~P278位、准双向I/O口第29脚PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号第30脚ALE/P在FLASH编程期间用于输入编程第31脚/EA外部访问允许第32~39脚P07~P008位、漏极开路的双向I/O口第40脚VCC电源管脚3.1.1晶振电路单片机的最小系统由一组按键实现系统初始化功能的复位电路及产生维持RTC时钟的晶振电路构成,晶振电路即利用了一个产生固定且稳定频率的石英振荡器来实现,通过适配电容来使得晶体可正常起振并持续稳定,本次设计选用的是12M晶体,匹配电容C1、C2通过计算后选用30pF。当系统正常供电后,晶振电路顺利起振给单片机带来时钟信号,用于完成单片机控制指令工作的前提条件,这样有助于延时程序和读写时序的设计。系统能够产生晶体及补偿电容需要靠近单片机摆放,这样有利于提高晶体的抗干扰能力,减少高速信号引入的干扰,同时有利于阻抗匹配设计,减少反射干扰。图3.1.1晶振电路原理图3.1.2复位电路复位电路的作用是用于消除系统在运行中出现程序跑飞或卡顿所产生的系统无法正常响应的现象,当出现系统功能异常或者程序死锁时,无需拔掉电源,可以通过复位电路,将单片机的工作状态恢复到初始状态,避免电源端口的反复拔插,造成内部存储器件的损伤。整个电路所需器件较少,不需要复杂的设计,通常是在单片机的RST管脚上连出一个按键来实现驱动控制,另外为了避免错误的复位指令被响应,复位按键一般不会凸显在设备外部,而是隐藏在机壳内部需要触笔等类型工作方可实现触发,复位控制电路原理图如下图3-3所示。图3-1.2复位电路原理图3.2霍尔测速模块电路的设计本次设计采用的是单极性霍尔效应开关ES3144,作为本次出租车计价器系统的测速模块,ES3144是半导体集成技术制造的磁敏电路元器件。ES3144可以通过磁性元件检测附近磁场的变化,从而得到磁场变化值,进而通过3脚输出电平信号,从而计算获得模拟车轮的转速。霍尔传感器出现在图3-2中。图3-2霍尔模块原理图3.3时钟模块电路的设计DS1302模块的作用是用于完成时钟计数计时,其工作电压跨度较大,可实现从2.2V到5.5V的电压区间。DS1302模块的内部有一个临时寄存器单元,用于实现存储时间数据即便是断电也可以保持时间数据的连续,其整体的功耗很低,通常是用3.3V的纽扣电池仍可实现3年以上的工作周期,因此被广泛利用在手持、车载和小型智能电子设备上。DS1302时钟模块电路如下图3-4所示,DS1302为8个管脚的器件,1脚和8脚为VCC电源脚,1脚与3.3V电源线相连实现供电,8脚与纽扣电池相连在断电时保持对RTC的供电,确保时钟数据连续。4脚为GND接地脚,连接到地线上,2脚和3脚为时钟晶振电路,本次设计配置了一组32.768kHz的晶体,此为时钟电路的关键。图3-3DS1302时钟模块原理图3.4存储模块电路的设计为了实现计费数据的存储,本次设计增加了存储电路来对其进行扩展,利用了AT24C02型号Flash芯片实现。24C02A为8个管脚的器件,8脚为VCC电源脚,与3.3V电源线相连实现供电。1至4脚可与接GND脚,连接到地线上,6脚为SCL时钟信号线,与单片机管脚直连,5脚为SDA是数据线与单片机连接实现实时通信,在电路设计上通常在数据管脚上利用一个10KΩ上拉电阻R13将其输出时钟处于一个高电平状态,检测到有读写数据后DATA数据被拉低,单片机可实现接收AT24C02储存的脉搏数据,存储电路如图3-3所示。图3-4存储模块原理图3.5其他电路的设计3.5.1电源模块电路现阶段供电方式和接口均往标准化方向在发展,所以此次出租车计价器控制系统选用了5V电源方案。DC直流电源插座的地脚与地线相连,自锁开关的6脚与电源插座VCC脚连接,3脚与元器件的供电脚相接。本次设计中,系统电源电路如图3-4所示。图3.5.1电源模块电路原理图3.5.2液晶模块电路的设计由于人机交互的需求,本次设计通过LCD1602来呈现系统数据,体现当前系统的水位测试数据以及各工作状态的名称,使得用户可一目了然的获取终端系统当前的运行结果。因此如何合理展示数据就是设计的重点考量点。LCD1602液晶屏的是TN屏,具有不带背光和带背光自发光的两种功能模式,在3.3V的正常供电下可点亮背光,屏幕的像素矩阵划分为X轴方向16个页地址,Y轴方向2个列地址,而每一单元均通过存储寄存器上的对应定位的0/1来映射,实现亮暗数据的切换。本次LCD1602使用IIC通信协议进行数据显示驱动。液晶屏管脚SCL为液晶屏的时钟信号线,SDA是液晶屏的数据信号线,此两根信号线与单片机管脚连接,单片机运行完数据逻辑处理后实现显示数据借助SCL和SDA传输到LCD1602液晶的个每一个寄存器上,进而完成数据的直观显示,设计过程中务必遵循LCD1602的数据时序图,按照所制定的逻辑规则进行程序编译。本设计,液晶显示模块用于实时显示当前系统环境下的的湿度数据。液晶显示模块采用LCD1602,其接口定义简单,功耗低,可以实现16x02即32个字符显示,LCD1602共16个管脚,需要连接的管脚主要是RS命令选择、R/W读写及E使能脚,DB1-DB7为显示数据总线,LCD1602使用5V供电,按照规格书的时序说明进行执行,液晶显示模块原理图如图3-5所示。图3.5.2液晶模块原理图3.5.3按键模块电路的设计任何产品都少不了人工控制部分,电子产品通常是用独立按键或矩阵按键模块来实现,将外部的人工控制控制指令输入到处理器,实现最简单有效的人机交互操作。本次设计的按键模块用于完成智能电磁炉工作模式的切换,自动模式、手动模式。对于单个按键由于物理量的差异存在两种状态,即响应和断开。在硬件电路中关于按键的连接设计,按键的一端接着GND地线,另一端与单片机对应的IO管脚直连并拉高电平,当处于自然状态,按键的物理行程为不接触,因此单片机的IO管脚识别到的为高电平,不会触发处理器响应按键指令,当按键按下后,物理行程为接触,单片机的管脚直连GND,处理器可接收到一个低电平信号进而触发对按键指令的执行,从而完成人机交互的目的。按键模块原理图如图3.4.4所示。图3.5.3按键模块原理图3.5.4电机模块电路的设计舵机模块电路如下图3-8所示,控制马达为6个管脚的器件,6脚为VCC电源脚,与VCC电源线相连实现供电。4脚为PWM控制信号线通过滑动变阻器实现调速功能。图3.5.4电机模块原理图4系统软件设计在此次设计系统的各项功能的实现过程中,是在硬件载体正常供电的基础上使用软件编程来控制的,因此软件程序设计是系统成功与否的关键,本章节对各功能模块的运行进行分析和绘制程序流程图的方式来展现。4.1开发环境介绍基于系统的设计开发完成硬件底层的设计和连接后,下一步就是应用层的功能软件设计,需要一个合适便捷的工具来进行代码编译和运行调试等设计步骤,实现系统主程序和各子功能调用程序的模块划分和编写,汇编语言是最早产生的一种软件编程语言,随着时代的发展和技术的改良,C语言出现完全替代掉繁琐的汇编语言,现主流设计均采用C语言进行设计,针对C语言的编译工具也根据不同平台开发了例如keiluVison、IDE、MDK等代码工具,甚至树莓派的py语言也是在C语言的基础上发展而来。本次系统开发的编程平台选择了拥有广泛群众基础的KeiluVision4,软件的界面和操作便利性得到了很大的提升和改进。在兼容性方面也很强大,可包容51全系列的单片机控制器产品、功耗极低的MSP430系列产品以及嵌入式平台的STM32系列单片机处理器,软件首先要建立一个工程文件,随后分支建立第二级、第三级等子功能模块调用函数的.C文件和.H文件,在主程序中实现库函数和功能模块函数之间的循环调用。模块化的编译方式在查找问题时也显得轻松,将范围缩小至一个函数中,待每个函数都可执行下去且无出现任何bug和错误信息,则表明程序函数的编译完成,可生成HEX文件下载至控制器内,完成系统的软硬件结合。软件调试界面如图4-1所示。图4-1软件编译调试界面图4.2主程序的设计主程序流程为系统上电后首先完成系统参数各配置项的初始化,系统开启后完成系统配置初始化,清楚标志位和显示缓存区,系统调用时钟采集程序,完成实时的时钟数据的采集和识别,随后为了将数据直观显示出来,需调用液晶驱动程序完成采集端时钟数据的展示,下一步就是主控模块要对当前的工作模式进行判断,首先需要对计费规则进行读取,若需要调整可以通过按键控制完成规则修改和存储。系统运行状态若处于空车则仅完成以上时钟显示的操作,系统运行状态若处于有客状态则程序调用霍尔车速传感器采集函数,实现对行驶车程的记录同时记录停车等待时长等计费规则中的细节数据,最终完成本次出租车计费的费用输出。主程序的具体流程图如图4-2所示。图4-2系统主流程图4.3时钟采集程序设计STC89C52处理器上电后,首先对DS1302的数据信息进行初始化,随后DS1302开始自计时,此时需要对时钟电平信号进行判断,是否已完成一次电平切换,若已完成则读出当前的8位时钟数据,发送给单片机进行数据解析。该时钟采集程序流程图如图4-3所示。图4-3时钟采集程序流程图4.4液晶显示程序设计对于本次LCD液晶显示的程序设计,主要是按照LCD1602的上电逻辑时序来编写,操作首先首先对LCD102液晶进行初始化,对信号进行检测,随后延时5ms后进入判断当前液晶的状态是否忙,若清屏状态下会显示清屏(0x01),若判断为未清屏,则会显示关闭;随后可写入液晶指令数据,如果未显示完成,就需要重新显示字符;如果显示完成,就可以进入下一个软件程序。液晶程序显示流程图如图4-4所示。图4-4液晶屏显示程序流程图4.5计费程序设计本次设计的最终结果是要完成各组单次车程的计费输出,也是计费规则的执行计算。计费启始的判断为判断当前出租车的启停状态,若判断为停止则计费执行处于中断状态,当判断出租车已开始载客启动,计费程序开始执行,通过调用霍尔传感器采集函数,返回车速和时长数据可计算出当前里程,下一步判断是否超出起步价公里标准,若未超出则金额保持起步价不对,只有里程数据超出了起步价公里标准,计费程序执行长途计费方式,按照每超出一公里的单价进行累加。在判断里程的同时对停车信号实时查看,若获取在载客过程中出现停车等待的情况,则系统调用时钟记录等待时长按照等待单价进行累计,此时可通过液晶屏实时查看到各阶段的计费明细,当本次里程结束后完成整个计费程序执行结果的输出保持不动,直至下一次载客启动才调用。整个计费程序流程图如4-5所示。图4-5计费程序设计流程图

4.6存储读写程序设计本次出租车计价器设计最核心的部分就是计费规则的设置和执行,因此需要将计费规则写入存储模块的指定地址位,系统上电后便会寻址读取当前的计费规则,如果需要变更单价或判断标准,可通过按键触发变更,重新调整将更新后的数据再次写入存储计费规则的地址位,系统重新寻址读取新计费规则后正常执行。存储读写程序流程图如图4-6所示。图4-6存储读写程序流程图

5系统调试在以上软硬件的设计完成后,需要安排实际的电路设备的功能调试,根据硬件原理图所导出的电子物料清单进行逐一购买,购物的物料需查看各规格书中对管脚定义的说明后方可进行下一步的焊接操作,避免管脚弄错导致的器件损毁更有甚至会产生更多不良的后果。软件的程序编译需理解清楚每一层的逻辑单元,在keil软件上完成逻辑编译和调试,运行无出现任何错误时才可安排下载至单片机,可先使用仿真软件对设计进行初步验证,避免到真正器件电路上才发现异常,有可能使得造成经济损失,影响设计过程的自信心,因此系统调试是必不可少的步骤,此举可在设计过程中对实物的功能进行验证。5.1实物连接调试在完成系统的硬件电路设计后,便需要根据整理列出的元器件清单购买相应的元器件,来进行实物的制作,焊接硬件过程中,还需要使用到常见的恒温烙铁等维修工具进行作业。硬件选用了万用板,区分出各器件的正负极后按照布局焊接到位,不可出现虚焊、包焊等不良的现象。主板背面各管脚之间的焊接首要保证牢靠性,避免在运行过程焊点断开。液晶显示模块要摆放在无遮挡的位置,避免高器件导致的显示界面查看不完整的问题。功能外设模块的电机驱动模块放置在板边缘便于接入实际的复杂电器。主板背面各管脚之间的焊接首要保证牢靠性,避免在运行过程焊点断开,管脚连接的飞线需要做好整理线材的准备,不可出现多组线相互堆叠多重交叉的风险隐患,飞线长度也需要控制合理长度,过长和过短都会带来不好的体验效果,可能影响信号质量,最终系统的实物连接图如图5-1所示。

图5-1实物连接图本设计的硬件调试方案为功能模块化测试方式,首先断开外部的所有功能模块,确保单片机最小系统可实现稳定运行无异常卡死或断电不良,随后逐个添加独立的子功能模块进行性能测试,是否按照预期的功能实现,由于变更的内容仅为新增的独立功能子模块,因此这样有利于排查当前的故障原因,更容易理顺问题的分析思路而不会被其他模块干扰造成困惑,所有的功能模块均添加并调试成功后,可以以整机完整功能进行可靠性测试。5.2软件调试软件测试过程:(1)在编译软件中按照逻辑写好程序,解决存在的错误和BUG信息;(2)通过烧录器将HEX程序文件烧入STC89C52芯片中;(3)系统上电查看液晶屏是否被点亮,显示的数据与预期是否一致;(4)模拟当前出租车处于空车状态,观察系统是否正常进行工作,液晶屏仅显示当前的时钟。(5)通过按键设置,观察系统时钟数据和计费规则是否可以调节。(6)模拟当前出租车已处于载客状态,观察驱动电机转动时霍尔传感器是否可正确采集到车速数据并在液晶屏上显示出行驶里程。(7)模拟本次行程未超出3公里,观察计费结果是否仅为起步价。(8)模拟本次行程超出3公里,观察计费结果是否为起步价加上增加里程乘上长途每公里车程的单价。(8)模拟本次行程有停车等待,观察计费结果是否有增加停车等待时长乘上等待的单价。5.3系统调试结果输出由于系统在数据显示部分采用本地液晶端显示的方式,显示的数据内容主要为系统当前的时钟即计费信息,通过公式计算所得的车费终值,整体来看内容相对简单且清晰,因此本部分的关键功能调试主要就是控制端与数据采集的准确性比对,同时也对系统的软件工程化开发进行可靠性测试。测试用例与测试结果如表5.3所示:表5.3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论