【《基于STC89C52单片机的公交车自动报站系统设计与实现》22000字(论文)】_第1页
【《基于STC89C52单片机的公交车自动报站系统设计与实现》22000字(论文)】_第2页
【《基于STC89C52单片机的公交车自动报站系统设计与实现》22000字(论文)】_第3页
【《基于STC89C52单片机的公交车自动报站系统设计与实现》22000字(论文)】_第4页
【《基于STC89C52单片机的公交车自动报站系统设计与实现》22000字(论文)】_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

基于STC89C52单片机的公交车自动报站系统设计与实现摘要随着时代的不断发展和科技的迅速进步,嵌入式控制技术经过近几年的发展趋于成熟,特别是在人工智能技术不断发展的今天,嵌入式控制系统在市场上占据着重要地位,嵌入式产品也带来了经济、社会效益,方便了人们生活。公交车是绿色出行的主要方式之一,怎样既能满足公交车安全行驶又能够为公交车司机减负,适应社会需求的同时降低费效比,是目前公交车报站方式的主要研究方向。目前已有的公交车报站方式和技术无法很好地满足社会需求,所以此次论文的内容是在进行市场调研的基础上,根据目前社会的需求进行了基于单片机的公交车自动报站系统的设计。首先对传统的公交车报站方式及相关技术进行了调研分析,结合嵌入式控制的特点和优势,设计符合本次论文要求的系统。本论文主要完成控制系统程序的设计,对控制系统开发板进行分析,设计电子电路并完成原理图和PCB图的设计,根据功能需求对主要元器件进行选型,然后根据系统功能利用C语言进行编程,最后制作原理样机并对系统进行调试,检测各工作模块是否顺利工作,数据传输是否可靠。经过多次调试,各模块工作顺利,能自动、准确地播报站名、安全提示等消息,系统控制稳定,低耗高效,具有很好的应用前景。关键词:嵌入式控制;全球定位系统;公交车;数字语音;自动报站目录TOC\o"1-3"\h\u90301概述 4113051.1研究的背景 424131.2目的和意义 4185411.3研究的发展趋势和现状 5140331.3.1国外技术现状 5287681.3.2国内技术现状 6182871.3.3嵌入式系统的发展及特点 6167001.4工作内容和方法 7308081.4.1项目任务 7166831.4.2设计方案 7187361.4.3研究内容 9171151.4.4研究方法 9135941.4.5技术路线 10172251.5重难点与拟解决方法 1186771.5.1任务的重点 117121.5.2任务的难点 12249391.5.3拟解决的方法 1269942总体方案设计 1479642.1方案的对比研究 1498382.2方案的对比结论 1689193控制系统硬件设计 17223143.1结构方案与主要部件选型设计 17234133.1.1STC89C52概述 17207303.1.2STC89C52引脚 17303823.1.3STC89C52内部原理 1926813.2原理设计 19146683.3按键控制电路 20172583.4时钟电路 2186413.5电源电路 2339323.6LCD12864液晶显示电路 23288243.7语音播报模块电路 24171263.8GPS电路 26198143.9工具软件介绍 27162193.10PCB设计 28133314控制系统软件设计 29146764.1功能设计 29301464.1.1功能分析描述 29144904.1.2功能实现流程 32127004.2程序设计 37174475样机试制与调试 3933995.1样机试制及调试 398515.2样机测试 40291455.3测试结果分析 4495916总结与展望 45310996.1工作总结 45111396.2工作展望 4519287参考文献 4819707附录 508932附录一:12864程序 5023448附录二:common延时程序 5524931附录三:GPS程序 5625280附录四:uart串口程序 67概述研究的背景能源与环境是当今社会重点关注的两大主题,公交车作为一种绿色、低碳、环保的出行方式,越来越受到人们的青睐,公交车在低碳出行的生活方式中发挥的作用也越来越突出,人们对公交车的安全运营也提出了更高的要求。目前,安装了自动报站系统的城市只有少部分中等城市和大型城市(据调研,目前国内公交车全面采用自动报站系统的城市不足30%),有部分城市即使安装了自动报站系统,但不是所有的公交线路都普及了自动报站系统,没有安装自动报站系统的公交车在运行过程中不仅给司机增加了工作量同时也增加了行驶过程中的安全隐患,故急需驾驶安全、检修方便、成本低的公交车自动报站器REF_Ref17310\r\h[1]。因此,具有普适性的公交车自动报站系统是目前公交车提高效率、增加安全行驶的主要途径,也能比较显著的降低费效比。目的和意义公交车的运行为人们提供了便捷、舒适、绿色的出行方式,但是公交车的报站方式直接影响了乘客的使用体验。传统的通过乘务员或者公交车司机报站的方式不仅会给相关工作人员增加工作强度,还会增加车辆行驶过程中的安全风险,因此在很多城市已经不再使用人工报站的方式了。如今,科学技术迅猛发展,微机技术在各行各业的许多领域都发挥着重要作用REF_Ref17601\r\h[2]。在提高并完善人性化服务上,目前可以使用微机技术与数字语音芯片相结合实现语音合成,来实现公交车的自动报站REF_Ref17650\r\h[3]。综合目前微机技术和语音技术的发展并结合现实的公交车实际使用情况,设计一个基于单片机控制的公交车报站系统有一定必要性,且能产生一定的社会经济效益。如今,我国机动车数量在很多大城市已达到饱和状态,道路拥堵、出行缓慢的问题突出。为解决道路拥堵的问题,目前我国正在大力发展公共交通运营体系,为出行的人们提供较为便捷、快速的出行方式,并且公共交通对于文明、绿色的城市建设也有促进作用,能较好提高城市形象。此外,还能减少政府投入,创造良好的社会经济效益。与传统的公交运营系统相比,智能化的公交运营系统能较好实现经济效益和社会效益的完美结合。随着科学技术的发展和社会文明的进步,公交车的运行不仅对于创建文明城市和卫生城市有积极促进作用,而且还能增加社会效益。虽然目前已有部分城市使用了GPS技术对公交车进行报站,但是由于GPS技术的成本较高,普适性较低,难以在所有城市进行推广使用。为了实现公交车自动报站在城市中普遍覆盖,设计一套具有普适性、低成本、高性能的公交车自动报站系统具有一定的现实意义。研究的发展趋势和现状国外技术现状近年来,国内外专家学者在公共交通智能化的发展上有了较大进展,无线通讯技术、嵌入式控制技术、GPS技术等已广泛的运用到了公共交通的智能化发展中。其中电子信息技术如今已应用在了国外发达国家的公交车系统中,如液晶电子显示器、语音播报系统、无线射频刷卡机、GPS卫星定位系统等,促进了社会发展提高了社会经济效益REF_Ref17751\r\h[4]。国外许多学者也在有关技术上不断探索,诸如:WaelA.Salah1,BasemAbuZneid等通过研究回顾了微型计算机在智能远程监控应用中使用无线/有线技术控制和管理不同系统的进展REF_Ref17787\r\h[5]。JorgeTavares,FernandoJ.Velez,JoãoM.Ferro确定了无线传感器网络(WSN)在汽车上的某些应用REF_Ref17820\r\h[6],并考虑了在2.4GHz下使用CrossbowMICAz节点以及TinyOS支持。MohammedAbuzalata,MuntaserMoman等研究了基于单片机的防盗车应用系统,通过使用基于微控制器的系统来保护汽车免受非授权用户的攻击REF_Ref17859\r\h[7]。SathyaNarayanan,Gayathri通过对基于PIC单片机的无线家庭自动化及安防系统设计的研究,让电子领域的新技术为每个人的日常生活带来了巨大的变化,目前这些技术已经进入了工业、医药、电信和家庭自动化等领域REF_Ref17898\r\h[8]。VijethaTummala,S.AkshayKumar,P.Srinivas,G.Sravan使用GPS模块接收经纬度值,然后把这个值发送给微控制器,微控制器检查当前位置,显示并播报相应的公交车站REF_Ref17950\r\h[9]。当前,美国的部分城市已经利用GPS全球卫星定位系统实现公交语音报站,这种方式功能强大,系统稳定。国内技术现状近年来,随着我国工业化、信息化建设迅速推进,城市建设的加快和经济制度的改革,将现代通信、信息、电子、控制、计算机、网络、传感器等新技术集成应用是当今智能公共交通系统构建的研究热点。如今,国内报站方式还是以人工手动报站为主,部分地区还存在着售票员进行报站的方式。国内学者在有关技术方面也在不断探索,冯国平等在分析ZigBee技术的基础上,通过对公交车站台的地址进行编码,然后使编码后的站台信息自动发射,设计了一款基于ZigBee技术的单片机自动报站系统[1]。黄发乾等应用无线传感器网络技术,对定位误差进行修正并最终减小了定位误差,该技术首先通过使用里程表对站点的信息标号进行检测,然后对站点的误差范围进行推算,并根据检测和推算结果提出了一种信标误差修正的定位算法,此外还通过无线传感器开发平台对节点的相关参数进行测量,根据测量结果对有定位误差的参数通过使用最大信号法来进行定点修正,然后通过单片机对射频数据在发送和接收过程中存在的字节对齐问题进行了处理,并在对射频数据和字节对齐问题的处理上进行归纳汇总,最终给出了在SPI驱动模式下利用曼彻斯特编码处理字节同步问题的解决方案。此外,在利用无线传感器网络技术对定位误差进行修正时,黄发乾等还发现了无线通信技术在目前还存在可靠度不高的问题,通过对无线链路的工作特性和优缺点进行研究分析,提出了度量链路质量的新标准,通过ManchesterViolationIndication对链路质量进行度量分析REF_Ref18045\r\h[10]。黄艳国、许伦辉、眭相林等在对公交车报站进行研究时,发现目前社会上使用的公交车在到达公交车站台对站名进行语音播报时,存在播报的语音质量较差,区分度不够明显的问题。此外,在与公交车司机和维修检测人员沟通交流中了解到,在对公交车语音播放数据进行修改时难度也比较大,针对上述问题提出了通过使用MP3或者U盘来进行报站的方案REF_Ref18071\r\h[11]。为了公交车的行驶安全,目前很多公交车上都安装了实时定位器来跟踪公交车的行驶轨迹,袁焱、王澄、诸勤敏通过对公交车运行路线和到站时间的不确定性进行推理,在对公交车行驶里程进行测算和随机到站时间进行推算的基础上,提出了一种简化的航迹推算定位办法REF_Ref18104\r\h[12]。嵌入式系统的发展及特点(1)嵌入式系统的发展:20世纪60年代,发布了由单独的晶体管逻辑电路构成的D-17自动导航控制系统,这种系统带有主存储单元的硬盘。随着科学技术的发展,在20世纪70年代,世界上第一个微处理器诞生,但它并不像现在的微处理器那样自己具备存储芯片和逻辑电路。随着时代进步,科学技术得到进一步发展,微处理器的所有器件全部容纳到了一个微型晶片单元,使得嵌入式的构造、成本得到有效降低。再之后嵌入式系统几乎出现在所有的电子装置中REF_Ref18143\r\h[13]。到了1970年左右,嵌入式技术得到全面发展,嵌入式技术被广泛使用在通信、电子器件、国防军事等领域REF_Ref18172\r\h[14]。同时,嵌入式系统在新型元器件和高新技术产业上也逐渐发挥着越来越重要的作用,很多高端设备目前都设计了人机交互页面,能够打破人与机器之间冷漠的机械交流方式,增加了设备的感染力和亲和力REF_Ref18283\r\h[15]。(2)嵌入式系统的组成:一个嵌入式系统装置通常由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是系统的核心,由硬件层、中间层、系统软件层和应用软件层组成REF_Ref18359\r\h[16]。(3)嵌入式系统的特点:嵌入式系统具有灵活性高、个性化强、能源消耗低、可靠度高等特点REF_Ref18391\r\h[17],在复杂环境中能体现出更好的抗干扰性REF_Ref18548\r\h[18]。嵌入式系统与其他计算机相比还有一个比较突出的性能,即是他的隐蔽性。由于嵌入式系统的主要功能为对系统进行控制,故其还有一个突出特点是对控制对象表现出智能特性REF_Ref18594\r\h[19]。工作内容和方法项目任务完成基于单片机的公交车自动报站系统设计的市场调研和综述,了解控制参数、原理、发展及现状。进行技术路线分析、完成系统总体方案设计,根据功能确定模块的组成。控制系统方案设计,完成原理图。基于嵌入式控制的PCB图的设计,BOM表统计,进行制版。完成基于嵌入式语言编程,实现对应的功能并验证。演示样机制作调试,能进行操作演示,以达到更好的、清晰地展示最终完成的实验成果。完善设计论文及样机,详细概括介绍基于该方案设计的产品的基本原理、主要功能以及工作过程等。设计方案在前期技术调研的基础上,分析研究了基于无线射频技术、红外线传感技术、ZigBee技术在公交车自动报站系统上的应用,经过分析其技术现状和优缺点提出本项目的技术方案是基于GPS技术的自动语音报站系统。设计的报站系统结合了手动报站和自动报站两种模式,手动报站司机可以通过键盘模块操作进行报站和切换下一个站点。基于单片机的公交车自动报站系统主要由硬件模块、软件系统及其外围电路三大部分构成。采用STC89C52单片机作为主控制器,接收传感器的信息,控制液晶屏和各个外设,需要提前熟悉单片机的硬件结构、管脚功能、I/O接口设计、指令系统等。系统用DS1302作为时钟模块,以WT588D为数字语音模块,以GPS模块为数据采集器,以LCD12864为液晶显示模块,从而实现信号采集、数据处理、语音报站和信息显示等功能。公交车在自动报站运行前,通过按键模块选择语音播报模式,然后对时间、日期和经纬度等信息进行设置。系统上有五个按键分别表示手动模式、自动模式、经纬度数据设置、返回上一级和手动播报等功能,在手动模式下系统上有两个按键分别表示上一站和下一站,通过按下这两个按键可以手动对8个不同的车站进行语音播报。在自动模式下,当按下按键时,可以分别输入八个站点各自对应的经纬度,在公交车进行自动报站时,GPS模块接收到当前站点位置的经纬度信号,经过和前期存储的经纬度信息进行比对,然后GPS模块将通信数据通过串行口发送给单片机。公交车在报站时用到的语音需要在使用前通过专门的下载器下载站点播报时需要的站名和温馨提示语音频文件,后期生成地址再发送给单片机,在最后需要播报时传输到WT588D语音模块进行播报。使用WT588D语音模块要熟悉模拟电子电路、会在Keil软件中用C语言进行编程,会设计数字语音电路。公交车进入到之前设置经纬度的误差范围内时,接收到有关数据,对数据进行比对后单片机分别控制WT588D和LCD12864对当前站名进行语音播报和站名显示,同时播报温馨提示语等消息,提示乘客携带好随身物品有序下车。DS1302时钟模块可以获取或者自动设置当前日期、时间等信息并实时显示日期和时间在LCD12864液晶屏上,LCD12864模块还可以将当前公交车的运行线路图、实时线路等行驶情况显示在液晶显示器中,便于乘客了解当前所在位置避免误站。自动报站系统框图如图1.1所示。在软件设计上,系统原理图和PCB图使用AD(altiumdesigned)绘制,编程使用C语言,系统调试使用Keil软件。图1.1系统框图研究内容在前期文献调研的基础上,分析了目前几种使用的自动报站系统的优点和不足,本次设计的主要研究内容为针对现存的自动报站系统的缺点进行优化和加深改进,并利用GPS技术设计并制作一个基于GPS的公交车自动报站系统。此系统不仅能通过按键输入控制,还能通过接收GPS信号,经过信号处理能在液晶显示中自动显示站名和提示并用语音播报。本次设计主要围绕GPS信号检测、站点信息显示、站名和温馨提示的语音播报三个部分来设计。单片机采用STC89C52单片机作为CPU处理器,信号检测通过时钟信号和GPS信号检测来实现。按键模块先设置当前报站模式并将站点的经纬度信息输入。显示的部分由LCD12864完成对当前站名和下一站站名,以及时间、日期等信息进行显示。当公交车行驶到最后一个站台时,单片机控制WT588D语音芯片和LCD12864液晶显示器对终点站进行显示和语音播报,并提醒乘客终点站到了,携带好随身物品有序下车。图1.2是整体工作原理图:图1.2系统工作原理图研究方法(1)通过CNKI、学校图书馆以及知网研学查找文献,完成对自动报站系统的调研及发展现状分析以及嵌入式系统的特点及结构分类分析,结合分析结果,思考该如何实现课题的任务要求,制定系统总体设计方案;(2)根据系统总体设计方案,对每个模块的功能及特点进行分析,运用所学模拟电路、数字电路、单片机、控制理论等相关知识以及各种嵌入式系统的参考,对基本的模块进行功能梳理和电路初步设计;(3)对嵌入式系统进行深入学习,根据设计方案所需功能,重点学习模拟电路、串口通信、函数编写等功能;(4)架构设计,代码的编写,调试各模块的工作状况以及通信情况,完成对系统软件部分功能的测试;(5)了解完成设计需要使用到的软件,完成系统的控制方案设计,同时学习AD软件,基本掌握绘制原理图,PCB图的方法,查找资料制作BOM统计表;(6)焊接电路板,将各模块组装在一起制作样机,最后进行功能测试。技术路线本课题的目的是以单片机为控制单元,通过GPS技术,设计出一个公交车自动报站系统。为了完成该课题,首先根据课题任务书确定课题的主要研究任务和大致要达到的技术指标,即基于单片机应用嵌入式控制实现公交车自动报站系统的设计。当确定了课题的研究方向后,通过查阅大量文献资料和有关书籍,扎实基础知识,然后调研目前市场上已经存在的自动报站产品。通过上述过程加深对课题技术背景和国内外技术现状的认识,同时为接下来的方案设计奠定坚实的基础。这一阶段的成果产出主要是文献综述和外文文献翻译。在后续的研究中,着重开展对系统的软件和硬件的设计研究,并在研究过程中完成电子电路图的设计和程序设计,最终能实现Keil和Proteus的联合仿真。仿真正常条件下对样机进行焊接调试,最终将程序烧录到样机中进行演示,最终完成论文论文的撰写。在整个系统的技术路线中主要分为了硬件电路设计和软件系统设计,总共包括了GPS模块、时钟模块、按键模块、数字语音模块、液晶显示模块等,在研究过程中着重深入学习并应用这几种模块来实现系统的功能。技术路线如图1.3所示。图1.3技术路线图重难点与拟解决方法任务的重点根据系统的总体设计方案和控制系统方案的主要内容进行研究分析,设计中主要有以下重点:(1)语音功能模块的设计与使用由于在公交车自动报站过程中会使用语音模块对公交车站台进行语音播报,所以在选择语音功能模块时需要选择一个播报清晰、语音质量较高的模块。在对语音功能模块进行选型对比的基础上确定了WT588D,但是由于WT588D的功率输出比较大,所以在使用过程中需要设计一个功率放大电路对语音功能模块的输出进行缓冲。通电连接后,直流信号也会对语音播报质量产生影响,所以要通过连接一个适当的电容滤去直流信号。在对电路板进行布线的时候还要把模电和数电分开,使用阻值较低的电阻将数字地和模拟地直接连接到电源的地线REF_Ref18718\r\h[20]。(2)抗干扰设计由于电子设备的性能与其周围工作环境的噪声和干扰有关,故要提高电子设备的性能就要减少干扰和噪音。硬件电路中采用了较多电子元器件,对电路的干扰较大,噪音也比较大,故在电子电路设计中应考虑减少干扰,可采取以下措施:①芯片VCC与GND之间可接在1μF左右的去耦电容;②晶振两端加瓷片电容,防止晶振停振;③印刷电路的电容值应准确,保持在最小误差范围内,且电容要远离发热元器件。(3)程序编写设计的软件系统由各个模块的控制系统构成,每个控制系统涉及到几个子程序,整个设计会调用到很多个程序。在编写程序时应该考虑如何使每个子程序尽量简洁且能够梳理出主程序的架构,在主程序调用相关子程序时能更节约反应时间,同时整个系统的程序结构也比较简洁,一目了然。任务的难点根据总体软硬设计方案和控制系统方案的主要内容进行分析,设计中主要有以下难点:(1)由于每个单片机的引脚个数在出厂时就是设计好的,所以在单片机引脚个数有限的情况下如何最大限度的将单片机的功能进行最大化使用?(2)如何提高GPS定位的精度?由于公交车在城市中运行,有很多高楼大厦和树木对GPS信号进行干扰和屏蔽,所以这是一个技术上存在的较大的一个问题。拟解决的方法对所提出的重难点进行详细的分析与思考,提出以下拟解决方案:(1)掌握CNKI、学校图书馆等文献查找网址的运用方法,检索大量与设计题目相关的文献进行阅览,学习当前相关技术的发展前沿,并通过对比分析有关前沿技术,找到能解决问题的最优方案。在使用单片机时,可以使单片机的引脚实现多功能利用,或者在电路板焊接式时可以对单片机的布局进行合理布置,最大限度发挥单片机的功能。此外,合理布线可以有效避免引脚接触时可能会产生的问题,从而最大限度提高单片机的可用性。(2)为解决问题2,采用了两种解决办法:方法一:使用数学方法可以消除GPS数据的误差,能够使得GPS数据的误差范围缩小到1m左右。目前差分技术是在GPS使用过程中减小误差普遍使用的一种数学方法,他能够对GPS数据的伪距离进行差分,然后使得GPS的数据误差减小到仅仅由SA和电离层残差引起的误差。此外,还可以通过将全球定位系统与其他精度较高的定位系统进行融合,结合使用弥补不足,从而降低单独使用GPS时产生的误差。方法二:在使用全球定位系统时,可以通过延长观测卫星的时间来提高全球定位系统的精度。观测时间越长,能够观测到的卫星数量就越多,或者说在观测相同数量卫星的情况下,观测的时间越长,我们获取到的观测值就会越多,从而对于获取位置的值就有更多的数据,从而提高定位精度。

总体方案设计方案的对比研究随着中国现代化的进程,人工智能时代已然到来。人工智能在社会智能化的发展进程中将发挥着更重要的作用。公交车自动报站系统是智能公共交通管理系统的基础。公交车自动报站系统主要包括以下几个方面的内容:①单片机控制技术;②数字语音技术;③短距离无线通讯技术;④GPS技术等。通过前期对比国内外研究技术,目前使用的语音报站技术各有优缺点。方案一:基于RFID的自动报站系统,通过使用无线射频技术来实现公交车自动报站系统的设计。使用无线射频技术需要在公交车和公交站台上分别安装无线射频发射器和无线射频接收器,当公交车行驶靠近站台时,公交车上的无线射频接收器接收到公交站台上无线射频发送器发送的信号,无线射频处理平台通过对公交车站台上发送的数据进行处理,然后将含有当前公交车站台数据的信号传送给单片机,单片机通过控制总线中的语音模块来对当前站名进行播报,并提示下一站的站名。方案二:基于红外感应器的自动报站系统,通过使用红外线来发射和接收编码信号实现公交车自动报站功能。使用红外线传感技术,分别在公交车站台和公交车上安装一个红外线编码发送装置和红外线编码接收装置,公交站台上的红外线编码发射装置一直不停地往外面发射该站点的编码信号,公交车在行驶过程中公交车上的红外线编码接收装置一直开启,当公交车靠近站台时,进入到红外线编码的接收范围内,公交车上的红外线编码接收装置接收到前方站台的信号,通过编码芯片对接收到的站台信号进行解码,然后将解码后的数据与存储的数据进行比对,如果信号正确是当前站点的信号,则对当前站点进行语音播报,如果数据比对有误,则循环比对。经过对信号的处理和识别来判别当前站点,最终实现通过红外线编码信息控制报站器进行报站REF_Ref18888\r\h[23]。方案三:基于ZigBee技术的自动报站系统。在公交线路复杂的城市,公交站台数量较多,一个公交站台有时可能会同时停靠多辆公交车,每个站点的名字也可能会因为公交线路的不同会有不同的名称。所以,在公交车行驶过程中公交车要不断的识别当前行驶到的位置,对公交车的行驶路线进行实时追踪,并且通过位拨码开关对站址编码信息进行动态设置。方案四:基于GPS的语音报站系统,通过全球定位系统获取当前公交车行驶到达的经纬度,然后将获取到的经纬度信息与存储的经纬度信息进行比对,如果数据正确则进行报站。通过使用全球定位系统,可以将公交车导航、定位和自动报站功能结合在一起,大大提高了公交车行驶过程中的使用效率和安全性能。表2.1公交车自动报站方案优缺点序号方案优点缺点一基于RFID的自动报站系统①信息匹配度高,报站语音与站点信息一致,即使公交线路改变也能准确报站,避免乘客误站REF_Ref18819\r\h[22];②发射系统与接收系统可以形成一对多的关系,一个公交车可以匹配多个站点;③经济,抗干扰能力强,提高公交车服务质量。①通用性不理想,如今无线通信技术越来越成熟,无线网络下的数据传输和网络监控已广泛应用;②基于单片机的GSM数据传输方案在远程遥测遥控系统中的应用已走向成熟;③RFID技术目前比较落后,新兴的5G技术在智能化发展中占据着重要地位REF_Ref18959\r\h[25]。二基于红外感应器的自动报站系统①通用性强,每个站台的编码数据都是同一个地址数据;②系统检修方便快捷。①抗干扰性能差,易受高温、射频辐射、高温气流影响;②被动红外穿透能力差,红外辐射易被遮挡;③稳定性较低;三基于ZigBee技术的自动报站系统①性能强,性价比高;②可扩展性强,成本低;③适合大规模推广使用;④通用性强,维护简便。①成本高昂,ZigBee芯片及其他外围器件和射频器件成本贵;②通信稳定性不强,衍射能力弱,信号差;③自组网耗费时间和资源。四基于GPS语音报站系统①算法技术成熟、安全性高、体积小、方便携带;②具有全天候,高精度、自动化、高效益、性能好、应用广等特点;③能准确的采集多种数据(时间、经纬度、速度、航向、海拔等等)REF_Ref18927\r\h[24];④功能强、成本低、系统稳定、无需人工介入、抗干扰能力强、存储方便;⑤实用性很强,提高了公交系统的服务质量和安全性。①有技术依赖性,造价较高,不利于大规模推广;②替代性差,其它定位技术和方法尚在研究;③有数据误差,由于树木、高楼的遮挡会导致有些路段接收GPS信号效果不佳。方案的对比结论通过以上对公交车自动报站系统相关技术的对比论证,FRID、红外线感应、ZigBee、GPS等技术均有一定局限性,不能完美的在社会中适应于大中小城市的全面需求,因此探索一个普适性的公交车自动报站系统不仅对公共交通的智能化发展起了画龙点睛的作用,而且对于提高卫生城市和文明城市建设起到了促进和导向作用。基于GPS的语音报站系统,集合了全球定位系统技术、语音播报技术、显示提示技术于一体的综合技术,可以实现车辆的自动报站和自动定位,大大的减少交通安全事故的出现和极大的提高效率。因此本设计方案选择基于GPS的语音报站系统。

控制系统硬件设计结构方案与主要部件选型设计本次设计的公交车自动报站系统的结构分为硬件系统和软件系统。硬件系统就是对系统的元器件进行选型,在满足各个模块功能的需求下,通过对比不同型号的元器件优缺点和价格等因素,确定使用的元器件的型号。在选择完元器件后就要对电子电路进行设计,在电路设计时要合理布线,在正确布线的前提下使整个电路板的线路清晰、简洁,元器件布局规则、合理。设计完原理图、画好PCB图后,需要对腐蚀板进行制作,并将电子元器件焊接在腐蚀板上形成完整的硬件系统。在完成硬件系统的设计基础上,还要对系统进行软件设计,用来控制整个单片机和所有的模块按照正常功能运行。在编程过程中,采用KEIL软件用C语言来编写程序,然后对编写好的程序进行测试,先检测每个模块的子程序是否能按照各个板块的功能需求开展工作,然后测试主程序能不能按照程序结构来调用子程序并使得整个程序简洁、高效,最后将hex文件烧录进单片机。在单片机的选择上,使用STC89C52单片机作为系统的控制核心,对信号检测、信息显示和信息播报进行控制。STC89C52概述STC89C52单片机是一个微小电路集成系统,能够通过自身对收集到的信号进行处理,然后对系统和外围部件进行控制。但是因为他体积小,只有40条引脚,功能比较局限,所以能够控制的单元和作用有限。但目前单片机已经广泛应用在了人工智能、航空航天、家用电器、工业制造等领域,发挥着越来越重要的作用。STC89C52单片机与51单片机相比较,STC89C52单片机拥有更大的存储器,51单片机只有4K字节的内存而STC89C52有8K字节。此外,使用STC89C52单片机在烧录程序时只需要通过相应的引脚,使用对应的编译器就可以将程序直接烧录进单片机。所以STC89C52单片机具有简单、高效、性能高等特点,有较高适用性。STC89C52引脚STC89C52单片机有40条引脚,采用双列直插式进行封装。单片机的引脚作为“连接中端”将单片机和外部元器件进行连接,外部元器件通过引脚将信号传输给单片机,单片机将处理后的信号反馈给控制元器件进行输出,这样单片机才可以和传感器等外设部件进行信息的交互。但是由于每个单片机的引脚个数在生产时就是固定的,所以在单片机引脚个数有限的情况下要通过采用多功能引脚来最大限度的使单片机的功能最大化使用。如图3.2所示,是STC89C52单片机的封装引脚图。图3.1STC89C52单片机引脚图主电源引脚VCC引脚—40号引脚,输入电源正极,输入电压为5V;VSS引脚—20号引脚,作为GND引脚,用于接地,连接电源负极。时钟源XTAL1引脚—19号引脚,用来连接晶振的一端,如果连接的是外部震荡的晶振,那么此引脚要接地。XTAL2引脚—18号引脚,连接晶振,当连接的晶振位于外部时,XTAL2引脚需要接地。多功能I/O单片机一共具有32个I/O引脚,分成4组,分别是P0,P1,P2,P3口,分别具体不同功能的I/O口。控制,选通或复用EA/Vpp引脚—31号引脚。该引脚的作用是作为单片机的信号输入输出端口,可以连接外部或者单片机内部的存储器。但是仅仅在输入低电平时才有效。本次设计是按键复位方式,复位通过当按键按下时,上电复位;当按键按压下时,复位端通过和电阻、+5V电源项链来实现宽度的阀值电压的方式来实现。STC89C52内部原理STC89C52单片机内部有4K字节ROM、128字节RAM、2个16位定时器/计数器、32个I/O口、64K总线扩展控制、2个串行输入/输出口等结构,外部有振荡器和定时电路。虽然STC89C52单片机体积很小,但是结构却很复杂,虽然只是一个微型处理器,但具备处理器所有基础的结构。STC89C52单片机内部结构如图3.2所示。图3.2单片机内部电路图单片机的最小系统由振荡电路、供电电源和单片机三部分组成。单片机晶振给单片机提供特殊的工作周期,让单片机有序的工作,陶瓷电容滤波,排除干扰信号;P0口是八位高阻态,接上拉电阻,将电平钳制在高电平,外接的并口能够进行正常的数据传输。为了防止程序运行过程中出现卡死和跑灰,一般采用复位的方式来避免。复位有上电复位和按键复位两种方式,我们在使用过程中采用上电复位方式,这种复位方式只需要电源导通后再关闭就可以直接实现复位,故使用一个10μF的电解电容和一个下拉电阻,在0.1s时完成一个复位操作。原理设计设计思路:系统采用5V、2A的直流电源进行供电,在电源处设置自锁开关控制电源的供给,原理样机在使用过程中可以采用移动电源来进行供电。单片机型号为STC89C52单片机,用来控制各个模块。为了获取准确的时间,系统通过设置外部时钟DS1302来进行时间信号的获取,DS1302获取到时钟信息后传输给单片机,通过LCD12864液晶显示器来显示当前的时间信息和状态,LCD12864芯片一端连接一个二极管和电容,当断电后可以单向导通实现供电。按键有两种电频特性,即高电平和低电平,高电平松开低电平连接,按键还用来设置公交车站名的播报模式和设置站点的经纬度信息,根据经纬度进行自动语音播报。语音播报使用WT588D模块,使用过程中下载音频文件生成地址发送给单片机然后控制WT588D进行语音播报,当公交车到达站点时对当前站点和下一个站点的站名进行播报,并播放温馨提示。GPS通过串口通信基于9600的波特率来实现通信,串口RX和TX分别表示发送和接收,GPS获取到经纬度信息通过串口发送给单片机,单片机对接收到的信息进行处理然后用液晶显示当前站点信息。图3.3是设计的硬件电路原理图。图3.3电路原理图按键控制电路按键是用来进行设置相关信息参数的,设计的按键电路由5个微动开关通过并联而成。按键有4个引脚,对角连接到单片机引脚或者GND,引脚1、2和3、4是内部导通的,设计时只需要把1、2或者3、4连接到单片机或者GND,当按键按下后输出低电平,按键松开为高电平。按键由于在波动时存在误差,需要在编写函数时采用一个短暂的延时函数来提高精确性。按键能够选择自动模式和手动模式,并设置当前经纬度信息,在自动模式时根据识别经纬度来进行语音播报。图3.4为按键实物图,图3.5为按键控制电路原理图。图3.4系统中使用的按键图3.5按键控制电路原理时钟电路时钟模块采用DS1302,DS1302是一款高性能、低功耗的实时时钟芯片,可以显示时间、日历和星期等信息。芯片将时钟信息传输给单片机,通过LCD12864显示当前信息。时钟模块附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,具有掉电保存的特性,当我们给电路断电的时候,电路可以通过二极管单向导通使时钟正常供电并仍然行走。DS1302芯片中有12个寄存器,其中有7个寄存器与日期和时间有关系,其关系如表3.1所示。表3.1日历、时钟寄存器与控制字母表单片机和DS1302芯片在通讯时通过同步串行的方式来实现,由单片机向DS1302芯片中写入一个命令帧。帧的格式如表3.2所示。表3.2DS1302内部寄存器寄存器名称命令字取值范围各位内容写读76543210秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H010MINMIN时寄存器84H85H00-5912/240AHRHR日寄存器86H87H01-12或00-230010DATEDATE月寄存器88H89H01-1200010MMONTH星期寄存器8AH8BH01-0700000DAY年寄存器8CH8DH00-9910YEARYEAR图3.6DS1302与单片机连接图电源电路电源电路采用直流5V、2A供电,电源模块包括一个3脚的连接外部电源的电源座子和一个6脚的电源自锁开关组成。设计的电源电路如图3.7所示:图3.7电源电路图LCD12864液晶显示电路液晶显示电路采用LCD12864液晶显示器作为输出,能够显示当前的时间、星期和报站模式,对当前所到站名进行显示并提前提醒乘客下一站的站名。LCD12864具有64行输出,每行128个字符,能够同时显示8192个字符。图3.8LCD12864芯片如图3.9所示,是LCD12864液晶显示器的引脚连接图,其对应的引脚功能如表3.3所示。图3.9LCD1602液晶显示引脚连接图语音播报模块电路语音播报模块采用WT588D语音芯片。语音播报之前需要相应的下载器来下载音频文件,音频文件生成地址,单片机调用当前地址和下一站地址进行组合,单片机发送指令语音模块进行播报。如图3.10为语言芯片电路引脚图,扬声器用来进行语音播报,P02是复位引脚也可以不接,只有P03口是数据引脚。图3.10语音播报引脚表3.3LCD12864各引脚功能表3.4WT588D注意事项GPS电路GPS使用串口通信,使用9600波特率,将频道设置在固定频道完成通讯。当GPS的TXD发送信号,单片机RXD接收信号,单片机处理信号后液晶显示器显示当前信息。GPS定位技术具有高精度、高效率和低成本的优点,使其在各类大地测量控制网的加强改造和建立以及在公路工程测量和大型构造物的变形测量中得到了较为广泛的应用REF_Ref20119\r\h[26]。图3.11GPS芯片当GPS模块接收到卫星信号后,对信号进行处理,然后通过串口将信号移植到STC89C52单片机对定位信息、时间进行解码,信息解码后转换成经度信号和纬度信号发送到单片机,单片机将数据信号传输到WT588D语音播报模块和LCD12864液晶显示模块。如图3.12所示为GPS引脚,管脚说明如表3.5所示。图3.12GPS引脚表3.5GPS管脚说明工具软件介绍AD(AltiumDesigner)是软件开发商Altium公司推出的一体化的电子产品开发系统,是一个功能强大的PCB设计软件,能使原理图和PCB图实现互通。在统一的开发环境下,可以进行前端设计与捕获、物理PCB设计、混合信号电路仿真、信号完整性分析、PCB制造等方面的电子开发。此外,还能够同时打开原理图、PCB和outputjob文件,并显示从完成的电路板生成的所有输出,在电子设计和机械设计之间紧密配合,能方便地在两者之间传递设计数据,使电路设计的质量和效率大大提高。AD集成了现代设计数据管理功能的AltiumDesigner成为电子产品开发的完整解决方案REF_Ref19224\r\h[27]。PCB设计通常一个工程为一个PCB项目,一个工作组可以包含多个工程,一个工程可以包含多个原理图和PCB。下面简单介绍下设计PCB的流程:(1)新建封装库和与元件库,在封装库和元件库中新建元件封装和元器件,将绘制原理图所需元器件与元件封装一一对应;(2)新建工程组,在工程组中新建PCB工程,在PCB工程中添加原理图文件;安装前面设计的元件库,从元件库中取出元器件添加到原理图中,进行连线,网络标号等进行原理图设计,设计完成后编译检验原理图是否有错误,修改错误直到编译无误;(3)在PCB工程中添加PCB文件,保存,设置板框;随后将原理图导入到保存的PCB中,检查元件,线段是否有缺少,接着设置设计规则;最后在PCB文件中对元件进行布局,布线,铺铜等PCB设计;(4)在布局的时候,一般是以一个功能模块为单元,先摆置核心部件或者占位较大的部件,然后再放置其他器件。布线时首先要画电源和GND,之后再连接其他的外围器件;大电压之间的线距离要设置的稍微大一点,保证系统安全可靠,同时在走线时注意折线的夹角,之后进行铺铜REF_Ref20164\r\h[28]。(5)PCB设计完成之后,进行DRC(设计规则检查);DRC没有错误,输出生产文件进行加工;导出BOM,采购元器件。图3.13PCB图控制系统软件设计功能设计功能分析描述系统中主要有5种模块,分为按键模块、时钟模块、语音模块、GPS模块、显示模块,这五种模块在系统中根据报站的需要承担着不同的功能。在控制系统软件设计版块,主要围绕时钟模块、语音模块、GPS模块和液晶显示模块来开展。(1)主程序:首先定义变量,并使串口初始化,用定时器作为波特率发生器。通过调用各模块子程序实现相应功能。(2)液晶显示模块:LCD12864初始化,设置并行通信口,又由于DB0和DB7倒置排列,所以需要设置一个调换函数,当模块在接收指令之前,必须先确认模块内部是否处于非忙碌状态,所以要设置判断忙函数,当处于非忙碌状态时可以写入指令数据到LCD,然后使LCD初始化,设定显示的坐标位置。液晶显示模块具有并行和串行两种连接方式,我们根据液晶显示模块时序图,可以编写出相应的驱动程序。液晶显示模块读写资料时序图如图4.1-4.3所示。图4.1写资料到模块图4.2从模块读资料图4.3串行连接时序图(3)晶振延时函数:由于GPS芯片在对获取到的经纬度信息进行比对时需要一段时间,所以通过编写common程序,对晶振延时1ms。(4)DS1302时钟模块:表4.1DS1302功能分析GPS模块:表4.2GPS模块功能分析功能实现流程由于系统分成手动报站和自动报站两种方式,故系统的主流程主要围绕这两个功能来编写。首先对系统进行初始化,然后按下按键选择启用自动/手动模式,在手动模式下,按动一次按键,系统则根据储存在语音芯片内的数据进行站点播报。当选择自动模式,则切入到GPS模块中,首先接收GPS信号对数据进行解析转换,然后到了站点对站点的经纬度进行数据校核,确认到达指定经纬度,进站后进行语音播报和站点信息显示。主流程图如图4.4所示。图4.4主程流序程图在按键模式下,首先确认是否按下按键,按下按键后选择系统相关模块的函数,并对时间、日期、站点的经纬度等数据进行设置。此外,当还通过按键设置液晶显示的数据信息,完成四行字符的显示。流程如图4.5所示。图4.5按键流程图在DS1302模块中,首先对变量进行初始化,要关闭DS1302写保护,然后复位关闭。首先将地址写入,然后由于写入数据需要时间,所以要增加一个延时函数,当数据写完后复位关闭,写入地址,再进行延时,最后将地址读出,地址增加,最后显示数据。流程如图4.6所示。图4.6DS1302流程图在GPS模块中,首先要对串口进行初始化,使其前面所有经过串口通信的数据清零,然后编写延时函数。首先GPS要判断是否接收到信后,信号接收后通过串口将字符串发送给单片机,单片机对字符串进行解析,解析出经纬度,然后再转换为字符串,最后返回。流程如图4.7所示。图4.7GPS流程图在WT588D数字语音模块,首先对WT588D进行初始化,然后生成语音地址,等待主函数调用语音地址,当GPS信号经过解析确认已经到站后,调用相应站点的语音地址,语音地址里面已经载入该站点的语音文件,故可以通过WT588D进行语音播报。流程如图4.8所示。图4.8WT588D流程图在LCD12864模块,首先需要对液晶显示模块进行初始化操作,清空存储的所有数据,并对显示屏上面的所有字符清零。然后对起始页面和起始列进行设置,设置完成后进入到汉字显示程序,调用写汉字程序,如此反复六次,确保液晶显示模块的所有行都全部初始化。然后,计算汉字代码的初始地址,写入起始页地址和起始列地址,调用写入数据子程序,如此往复直到R0=16,起始页地址加1,重新设置起始页地址然后再一次调用写入数据子程序,直到R0=32。当按下按键时,单片机操控写入引脚要显示内容的命令,然后LCD12864显示对应的站台的中文名称。液晶显示器显示流程图如图4.9和4.10所示。图4.9液晶显示器初始化流程图图4.10液晶显示器程序流程图程序设计根据控制系统硬件选型,程序设计包含对多个模块的控制,需对不同的模块编写代码进行初始化配置,以及编写一些函数用于在主函数中进行调用,简化主函数的结构,也能更加直观的了解到程序运行的逻辑。程序的编写在Keil软件中进行,使用C语言进行编写,采用简单易用的库开发方式进行设计。程序设计主要包括了主函数编写和common延时程序、DS1302程序、GPS程序、urat串口通信程序、LCD12864程序的编写。有关函数详见附录。样机试制与调试样机试制及调试在硬件结构和软件系统分析完成后,按照设计的原理图和PCB图将各个模块的元器件焊接在腐蚀板上,包括:按键模块(5个按键并联)、DS1302时钟模块、WT588D数字语音模块、GPS模块、LCD12864模块、电源电路。最后用导线将各个模块按照电路图连接起来,确保没有出现短路现象。焊接好后的电路板如图5.1所示。图5.1面包板原理样机由于最初开始使用面包板作为电路板来焊接,面包板线路复杂,加之需要焊接的元器件较多,导致在原理样机在制作过程中出现了几次电路焊接错误的情况。在电路板焊接完成后,将程序和语音烧录进单片机和语音芯片后,第一次使用原理样机进行报站,语音断断续续,且报站不连续,有误报站等情况出现。随后,更改方案,选择用腐蚀板来制作原理样机,重新采购元器件,并根据设计好的PCB图定做腐蚀板,将重新采购的语音芯片、液晶显示器等元器件重新焊接制作,最后完成。原理样机实物图如图5.2-5.3所示。图5.2腐蚀板原理样机图5.3样机成品通电显示样机测试首先,连接直流电源,按下开关按键开机,对原理样机进行功能调试。通电后液晶显示器显示了四行字符,第一行显示日期和星期,如2020-05-06,星期三;第二行显示时间,如14:20:22;第三行显示手动模式或者自动模式,本站/下站;第四行显示站名,如西南石油大学。五个按键分别对应不同的功能,可以设置时间和日期,也可以录入站点的经纬度。此外,液晶显示屏的右下角在焊接板上还有一个电位器,可以通过旋转螺钉调节液晶显示屏的亮度。样机总共设置了八个站名,在每个站点均会显示站名名称并进行语音播报,在终点站还会提醒乘客终点站到了,带上随身物品等温馨提示语。在手动模式下,按动四号或者五号按键可以分别播报上一站或者下一站的站名。在自动模式下,经过提前设置每个站点的经纬度,八个站点均设置完成后,观察GPS模块绿灯亮起,说明GPS信号正常可以开始测试,当挪动样机到达设置好的站点的经纬度时样机自动播报站名。经过所有功能测试,样机的功能均正常实现,样机满足设计要求。在正常的天气条件下,在户外对基于GPS技术的公交车自动报站器进行现场调试,调试结果如下。2021年5月16日,天气晴,星期日。于学校西大门、龙井湖、地质楼等八个点位对自动报站器进行了现场测试,并将第一次测试结果记录如表5.1所示。由于GPS受天气、信号等因素影响,故需要选择在天气较好的户外进行调试。开机,液晶显示屏显示Scan,代表GPS正在连接中,当液晶显示屏显示Connect,GPS芯片上面的绿灯亮,表示GPS信号已正常连接,可以开展调试。当到达第一个站点“西南石油大学”站,按下按键3,系统自动获取当前位置经纬度,然后记录当前位置经纬度信息,然后通过按键将当前站点经纬度信息记录在储存器中,等后面比对调用。以此类推,将八个站点的经纬度信息依次记录并通过按键记录在储存器中,记录完成后,回到第一个站点进行调试。在第一次调试过程中,从距离第一个站点“西南石油大学”站500m处调试好原理样机,逐步靠近站点经纬度信息采集点,在第一个站点在距离采集点接近15m的距离原理样机就播报了当前站点信息,并提示下一个站点站名。继续进行调试,当在第二个站点进行测试时,原理样机播报了该站点信息,误差有所缩小,在5m左右。依次完成了第一次八个点的全部测试,在最后一个站点,自动报站播报器播报:“终点站石油魂到了,请所有的乘客收拾好行李物品及时下车,感谢您乘坐本次公交车,祝您生活愉快”。第一次测试,原理样机在所有点都进行了报站,只是报站的距离误差较大,需要进一步调试。表5.1第一次现场测试表序号站点经纬度是否成功播报误差范围备注5m3m1m1西南石油大学经度:30d49m35s纬度:106d06m40s√15m播报2孵化园经度:30d49m38s纬度:106d06m43s√√3龙井湖经度:30d49m46s纬度:106d06m47s√√4学生公寓经度:30d49m48s纬度:106d06m49s√√5地质楼经度:30d49m37s纬度:106d07m02s√√6完井楼经度:30d49m34s纬度:106d06m58s√8m播报7火箭楼经度:30d49m35s纬度:106d06m51s√√8石油魂经度:30d49m35s纬度:106d06m45s√√根据第一次测试结果,对原理样机进行了调试,通过对GPS定位精度的处理提升,进行第二次现场测试。第二次测试也在天气环境好,无遮蔽的户外进行。第二次测试结果记录如表5.2所示。表5.2第二次现场测试表序号站点经纬度是否成功播报误差范围备注5m3m1m1西南石油大学经度:30d49m35s纬度:106d06m40s√√2孵化园经度:30d49m38s纬度:106d06m43s√√3龙井湖经度:30d49m46s纬度:106d06m47s√√4学生公寓经度:30d49m48s纬度:106d06m49s√√5地质楼经度:30d49m37s纬度:106d07m02s√√6完井楼经度:30d49m34s纬度:106d06m58s√√7火箭楼经度:30d49m35s纬度:106d06m51s√√8石油魂经度:30d49m35s纬度:106d06m45s√√经过两次测试和调试,原理样机能够较为准确的根据经纬度信息对八个站点较为精确的报站,且误差超过3/4在1m以内。说明原理样机试制成功,GPS报站精度较高,误差在一定范围内,能够达到公交车正常行驶的使用标准。调试过程如图5.4-5.5所示。图5.4在“西南石油大学”站调试 图5.5在“龙井湖”站进行调试测试结果分析在课题设计过程中,各个模块焊接完成后,对系统进行了调试,发现了几个问题。首先是液晶显示屏幕不亮,第一步用万能电用表排除有短路或者焊点没焊牢等状况,经过万能电用表检测发现由于电源和地短路造成了液晶显示器不亮。然后对有关电路进行重新焊接,将电源和地的两根线重新布局,排除了问题。但是液晶显示屏亮度比较低,调节电位器,旋转电位器螺母后液晶显示屏变亮。当重新通电,液晶显示屏四行都没有字符显示,下载程序也没办法下载。通过检查电路并除去其他元器件,只剩下单片机最小系统,仍然无法下载程序。最后,经过询问老师和同学,发现晶振两边的陶瓷电容是104pF,当把电容换成22pF,可以下载程序,系统可以正常运行。

总结与展望工作总结本课题通过对公交车自动报站的方案进行调研分析,发现如今公交车自动报站的技术相对于其他发达国家有着差距,存在报站不精确、错报漏报,语音不清晰等问题,且我国在公交车自动报站的普及程度还比较低。再通过对近年来发展快速的嵌入式系统进行研究,发现其诸多特点都符合公交车自动报站的控制系统,所以选用基于单片机的嵌入式控制为主要技术,通过对多种模块进行连接控制,接收信号,实现系统的自动化操作。报站方式采用具备高精度、高效率和低成本等优点的GPS技术,实现公交车的准确报站,同时选用WT588D语音模块和LCD12864液晶显示模块较大程度弥补了语音不清晰和提示作用不突出的缺点,更好的从视觉和听觉的角度满足乘客的需求。最后通过对所有模块的检测,所有模块均能正常工作,自动报站系统能按照设计方案实现相应功能。满足课题设计控制系统结构简单,播报精准,低耗高效,普适性高的特点。对整个课题回顾来看,在设计过程中主要完成以下工作:(1)确定课题后便开始对课题相关设计系统进行了学习。通过书籍学习到嵌入式系统的相关知识,了解了嵌入式系统的发展过程,其组成、基本结构和开发流程等。掌握了基本的一些控制模块程序的编写和使用。(2)开始正式设计课题内容后学习了AD的使用,模块硬件的选型。课题内容是设计控制系统,所以需要自己设计开发控制板,通过学习AD软件,了解了其十分强大的功能,设计过程中要考虑系统需要用到的一些基本的模块,所以它们的型号、接口类型等信息就必须去了解、熟悉。(3)在开发控制板设计完成后就开始对各模块的子程序进行研究。通过对每个模块具体的功能进行分析,得到它的控制需求,选用模块来进行控制,编写每个模块的初始化和使用程序,方便在主函数中进行调用,多采用参数对数据进行代替,提高程序的移植性。(4)模块程序设计完成后对其进行检测,判断其可靠性。测试结果显示基本模块的初始化配置和使用函数的程序无误,可以在主函数中进行调用,完成对自动报站系统的控制。工作展望时代发展的脚步从未停歇,随着人工智能时代的到来,对嵌入式产品的需求越来越多,人们对智能操作系统的要求也逐渐提高。现如今许多设备和公共服务设施的自动化程度并不是太高,时常需要人为干预,无法做到真正的智能化操作。嵌入式系统经过多年的发展,已经在逐渐适应并满足用户多元的需求,尽管在有些方面还不足,但人工智能技术在不断进步,人们也越来越接近智能化时代。总结本次论文过程,在硬件设计选型等方面有着一定的完成度,选用可靠稳定、性能突出、高效低廉的模块实现相应功能,但设计中还是存在着不少的问题:(1)技术的前沿性还不够,时代发展是迅速的,此次的课题只能在未来很近的时间段内能发挥较好的社会效益,新技术的出现必将替代落后的技术。(2)控制系统程序的编写未能完善,编程能力不足。主要完成了基本模块控制程序的编写,没有将各个模块结合起来实现功能的流程。同时主程序在调用子程序时,程序还不够简洁。(3)对于电子系统方面的知识还比较欠缺,在后面的学习和工作中不能有畏难心理,应踏实的走好每一步,打下坚实的基础。(4)所设计的系统目前仅开展到了实验室原理样机研制阶段,并没有进入社会进行推广使用,导致目前设计的系统的性能与社会上现存的公交车自动报站系统没有进行过使用度的对比,在后期还应继续加强推广使用。

参考文献冯国平.基于ZigBee技术的公交车自动报站系统设计[J].太原理工大学学报,2011(1):62-65.姚满瑜.21世纪世界科学技术的发展趋势[J].科技信息,1999,000(002):4-5.张建华,高守玮,杨建国.ISD4004语音芯片在语音报站器中的应用[J].电子技术应用,2003,29(008):70-72.王宝利.一种低成本的公交车运营管理解决方案[J].城市公共交通,2005,000(002):46-47.SalahWA,ZneidBA.EvolutionofMicrocontroller-basedRemoteMonitoringSystemApplications[J].InternationalJournalofElectricalandComputerEngineering,2019,9(4):2354-2364.TavaresJ,FVelez,FerroJ.ApplicationofWirelessSensorNetworkstoAutomobiles[J].MeasurementScienceReview,2008,8(3).AbuzalataM,MomaniM,FayyadS,etal.APracticalDesignofAnti-TheftCarProtectionSystemBasedonMicrocontroller[J].AmericanJournalofAppliedSciences,2012,9(5):709-716.NarayananVS,GayathriS.DesignofWirelessHomeautomationandsecuritysystemusingPICMicrocontroller.黄发乾.公交车辆自动定位与智能报站系统研究[D].北京交通大学,2008.黄艳国,许伦辉,眭相林.基于GPS公交车自动报站系统的设计[J].交通信息与安全,2009,27(001):141-144.袁焱,王澄,诸勤敏.基于行驶路程的公交车定位问题求解[J].测控技术,2005(09):69-72.赵莹.基于Linux的嵌入式控制平台的研究与开发[D];华北电力大学(北京),2009.董国通,周子健.基于嵌入式Linux的视频采集系统设计[J].仪表技术,2015,11):14-6.谭振贇.嵌入式系统应用现状及发展趋势概述[J].数字技术与应用,2015,06):16.张福均.嵌入式系统ARM开发平台研究[J].电子世界,2013,07):45-6.窦兴师.嵌入式系统的现状及发展趋势[J].电子制作,2018,Z1):100-1.刘光.关于电气自动化工程中PLC的应用分析与发展探讨[J].中外企业家,2020,05):159.张鄢雄.我国工业控制自动化技术的发展现状及趋势分析[J].电子元器件与信息技术,2019,3(12):55-6.王龙飞.嵌入式系统的应用现状及发展趋势[J].中国新通信,2018,20(23):95-6.王东,张海辉,路艳巧.基于GPS的公交车自动报站系统的设计[J].微型机与应用,2010(24):90-92+96.李峰,佟春生,郑志刚.公交车报站系统的设计.山西电子技术.林小军,赵怀坤,金英才等.城市公交车自动报站器设计[J].兰州工业高等专科学校学报,2011(06):23-25.雒晓亮,王进,王倩.基于GPS的公交车自动报站系统设计[J].科学时代,2013,000(007):1-4.张先富,赵金周,王超等.公交车内报站系统设计[J].磁性材料及器件,2010,41(002):58-61.黄冠利,王辉,徐华平.基于时间序列解决GPS信号定位漂移的研究[J].计算机工程与应用,2008(31):98-101.乔璐.基于ARM+FPGA的导航计算机设计[D];北京理工大学,2016.张波.无线智能声波测井系统的研制[D];湘潭大学,2017.田利.温室大棚嵌入式控制系统设计与实现[D];沈阳工业大学,2016.附录附录一:12864程序#ifndef__LCD12864B_H__#define__LCD12864B_H__#include<reg52.h>#include<intrins.h>#include<string.h>//#include<math.h>/*LCD12864端口定义*/sbitLCD12864B_RS=P0^3;//数据命令引脚sbitLCD12864B_RW=P0^4;//读写引脚sbitLCD12864B_EN=P0^5;//使能引脚sbitLCD12864B_RST=P0^6;//复位引脚#defineLCD12864B_dataP2//12864并行通信口voidLCD12864B_DelayNOP()//延时4us{_nop_();_nop_();_nop_();_nop_();}voidLCD12864B_Delay5ms() //@11.0592MHz{ unsignedchari,j; i=9; j=244; do { while(--j); }while(--i);}/*******************************************************************//**//*因为引脚的定义DB0..DB7是从P2.7...P2.0排列的*//*所以顺序需要调换一下*//**//*******************************************************************/unsignedcharLCD12864B_Reversebit(unsignedcharx){x=(((x&0xaa)>>1)|((x&0x55)<<1));x=(((x&0xcc)>>2)|((x&0x33)<<2));return((x>>4)|(x<<4));}/*******************************************************************//**//*检查LCD忙状态*//*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。*//**//*******************************************************************/bitLCD12864B_Check_Busy(){bitresult;LCD12864B_RS=0;LCD12864B_RW=1;//读LCD12864B_EN=1;LCD12864B_DelayNOP();//result=(bit)(LCD12864B_data&0x80);result=(bit)(LCD12864B_data&0x01);//读出BF位LCD12864B_EN=0;return(result);}/*******************************************************************//**//*写指令数据到LCD*//*RS=L,RW=L,E=高脉冲,D0-D7=指令码。*//**//*******************************************************************/voidLCD12864B_Write_Cmd(unsignedcharcmd){unsignedintK=20000;while(LCD12864B_Check_Busy()&&K--);//预防没插LCD时候停在这LCD12864B_RS=0;//命令LCD12864B_RW=0;//写LCD12864B_EN=0;_nop_();_nop_();LCD12864B_data=LCD12864B_Reversebit(cmd);//指令码装载LCD12864B_DelayNOP();LCD12864B_EN=1;LCD12864B_DelayNOP();LCD12864B_EN=0;}/*******************************************************************//**//*写显示数据到LCD*//*RS=H,RW=L,E=高脉冲,D0-D7=数据。*//**//*******************************************************************/voidLCD12864B_WriteData(unsignedchardat){unsignedintK=20000;while(LCD12864B_Check_Busy()&&K--);//预防没插LCD时候停在这LCD12864B_RS=1;//数据LCD12864B_RW=0;//写LCD12864B_EN=0;

温馨提示

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

评论

0/150

提交评论