【基于单片机的公交车报站系统的设计与实现10000字】_第1页
【基于单片机的公交车报站系统的设计与实现10000字】_第2页
【基于单片机的公交车报站系统的设计与实现10000字】_第3页
【基于单片机的公交车报站系统的设计与实现10000字】_第4页
【基于单片机的公交车报站系统的设计与实现10000字】_第5页
已阅读5页,还剩15页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于单片机的公交车报站系统的设计与实现1.引言 11.1课题背景及研究意义 11.2报站器的发展 22.系统方案设计 22.1方案的比较和选择 22.2系统的工作原理 33.硬件设计 33.1单片机简介 43.2DS1302电路 63.3语音播报电路 63.4按键电路 63.5GPS和指示灯电路 73.6LCD12864电路 74.软件设计 94.1开发环境简介 94.2软件功能简介 94.3程序编写 115.系统仿真与调试 125.1系统校验 125.2仿真 125.3调试 136.设计中遇到的问题 136.1显示模块遇到的问题 136.2按键模块遇到的问题 147.结语 14参考文献 14摘要:公交车报站系统是为了减轻司机工作量,提供更加便捷的服务。良好稳定的公交车报站系统,不仅可以为司机和乘客带来便利,还可以塑造更好的城市形象。公共汽车采用的当前公共汽车站报告系统普遍具有两种基本功能,分别是通过声音提示来报站和通过文字显示来报站的功能,但最大的问题在于行使这些功能时必须要司机亲自来操作,所以就造成了他的工作强度的大幅度增加,并且驾驶员的错误操作会使乘客产生错误判断。该系统以GPS为核心,公交路线自动定位被实现,然后单片机中GPS的地理坐标信息被获得,芯片微型计算机STC89C58相应地处理接收到的数据,车辆当前站点的位置信息被确认。该站点执行自动语音传输并显示当前站点的信息。

该系统结构简单,可以对公交车站信号进行智能信令,具有良好的应用前景。关键词:STC89C58GPS定位公交车报站智能化1引言1.1课题背景及研究意义1.1.1课题背景十九世纪四十年代,全世界首个公共汽车被著名伟人汉考克发明了出来,而在当代世界,公共汽车已在人们的生活中存在了将近200年。从指挥者在车站口头通知到手动语音通知,公交车朝着更实用,更精确和更稳定的方向行驶。由于单片机的优异的性能/价格比,一些单片机的价格仅为几元。只需很少的外围组件,它就可以成为功能非常丰富的智能控制设备。单片机高度集成,个体小。芯片中的所有功能组件都接管了内部总线结构。它们之间的连接严重削弱了芯片并提高了单片机的性能。随之而来的是任何事物无法比拟的优异的可以让人放心的优点和不受外界骚扰的特点。不仅如此,因为单片机有着占地面积小的特点,这一优点造就了它非常适合在极端天气时工作的特点,即不受电磁骚扰或使自己集中封闭的技能。非常利于随身携带的东西的产生,容易延展的产品的诞生,可以随着人们的需要变化而变化自身的应用规模的东西的生产,都归结为单片机的强大的可以被人们控制的性能,更重要的还有它的极低的功率消耗量和极低的电压需要量。计算机控制系统。在微控制器诞生之后,人们的生产生活以及日常活动中就多出了它的存在。如今人们常用的洗衣机,智能空调,插电的焖饭锅,视觉和听觉相结合的设备等经历了从一点功能到很多功能,从简单机械到分工智能的飞跃,非常受欢迎。要很好地学习微控制器,您需要了解其他集成控制器(例如ARM和DSP)的基本要求。所有其他集成控件都与串行通信密不可分,串行通信包括中央处理器,计时器,切断正在进行程序的技能,名字是I

/

O的端口可以进行控制单片机工作的技能。操作别人工作的机器以及它的I2C总体线路,室内室外既可存放又能操控的系统,还有语言文字的集中编写。由此可知,要想学习掌握好MCU加上除他之外的其他集中合成的控制器,我们就要坚定打好运用c语言和它自身的动手工作系统的基本要求。1.1.2研究意义我国人口多、人均资源有限、人多地少、车多路少。人民生活水平越来越高,私家车越来越多,这直接导致了城市交通压力的增长。作为人口大国,我们的这种情况尤为明显和严重。公交车的存在很大地缓解了交通压力,随着公交车线路地完善,公交车完全可以满足大众的日常出行,不仅方便快捷,主要是经济实惠,所以就成了人民大众的首选出行方式,对促进城市发展和社会和谐有着重要意义。因此,提升公交车的运营服务质量是件很重要的事,而这也是吸引广大群众公交出行的首要任务。公交车是城市建设的基础设施和人们出行的首选交通工具,它的服务系统配置对乘客有着关键的影响。以往是乘务人员人工报站,但此方式效果比较差,且受到环境影响,还存在地方口音的差异,因此很容易出现乘客听不清而误乘漏乘的现象,另外乘务人员工作量大,耗费了大量的人力却收效甚微,因此这种报站方式几乎已经完全被淘汰。在社会的发展和科技的进步下,微型计算机已在诸多领域得到广泛使用,半自动报站在大多数城市中开始运行。同时,只有语音报站同样不够完善,比如有些乘客可能听力不是很好,再加上环境嘈杂,车内空间又较大,可能会存在因没有听清语音报站内容而出现坐过站,下错站等情况。这时,如果加上显示系统,使站点信息可以清晰的显示在屏幕上,乘客就可以清楚地了解到公交车到了哪里,方便乘客能够提前做好下车准备。因此,让LCD与微机技术互相融入渗透,并且不能掉以轻心,更需要我们做的是把公交车播报站台自身的特征和她的日常工作环境,来最终设计实验出我们所要的公交车播报站台系统。我们最终所要达到的这种设计使得乘客享受更加人性化、便利的服务。在本次设计中,不仅实现了公交车报站显示的基本功能,于此同时加入了改错功能。毕竟司机控制可能会出现错误,出现错报、漏报时,司机也可通过上一站和下一站按键灵活快速地调整报站,让屏幕正确地显示报站信息,很大程度减少了误报带来的影响。1.2报站器的发展公交车自产生开始,与城市的发展在不断改进。由于地域、经济、环境等方面地差异,各个地方地公交系统也存在着差别。公交站台报告方法可以分为三种情况:手动站台报告,半自动站台报告和全自动站台报告。以前各个地方乘车人数较少,可以通过乘务员进行人工报站,而随着社会的发展,公共交通开始普及,仅仅靠乘务员进行人工服务工作量太大,耗费了大量的人力,所以智能报站系统开始使用。2系统方案设计2.1方案的比较和选择就目前来看,人工报站基本上已经退出历史舞台。当前报站方式主要有两种:方案一:完全不需要人为工作的系统这种根本不需要人们参与工作的报站系统是以gps为基础的,并且这个系统最核心的站台定位功能就是通过这一基础来实现的,若公交车行驶至预设的位置一定范围内时被探测了,报站系统自动进行站点信息的播报,同时,当公交车行驶离开预设范围时,则会播报出站及下一站信息;剩下的一种方案要想完成对公交车的站台进行预告的目标就是要使用无线信号发射的设备,如果这个时候公交车上安装的接收器得到了所设置的站台的信号发射装置的信号时,进行站点信息的播报。这种方案很明显,可减少大量劳动力资源的使用,整个过程完全自动化实现,无需人工控制,但同时,如果采用这种方案,前提是要消耗大量的人力和物力进行前期设施的建设。方案二:手动报站在公交车上装有控制系统,司机通过按下相应按键使单片机读取站点信息并传送至显示模块,显示屏幕显示出相应的信息。和自动报站的方式比较,手动报站在功能上落后非常多,不过它有一个很大的优点:造价低廉,容易实现。即使在一定程度上司机的工作量会提升,但是付出低,事半功倍,简单操作即可达到报站要求。自动档和手动档的输出部分是相似的,区别在于输入信号的来源是手动控制的还是完全转移到系统中。综合上述分析,两者相结合,手动站报告的可靠性和成本效益较高,自动报站可大大减轻司机工作量。因此,此设计采用以自动报站为主要方面,手动报站为辅助操作的公交车报站系统。2.2系统的工作原理我们要操控按钮的播报站台,还有必要的中文汉字显现是我们设计这个最终系统的首先要深刻解决的问题,LCD显示模块可以显示字母,数字符号,汉字和定制的图形,仅需最少的微处理系统即可连接到显示模块,即可实现通过按键来控制显示器和数据传输,从而达到理想的显示效果,基本原理框图如图1所示:单片机最小系统单片机最小系统按键电路单片机屏幕显示模块图1系统设计原理框图3硬件设计该结构主要用于制造基于51芯片微机的GPS自动停车站总线。

gps自动确定位置能力,语言输出信息,再加上lcd的显现,按钮的操控和与自己功能相对应的信息显示灯的这么多功能都是最终设计所需要的硬件目标。这个设计项目首先的要求就是对主控制芯片的筛选,gps模块与液晶显示模块的选用进行探讨,作为结果我们最终决定选用STC89C58单片机,VK2828U7G5LF,液晶显示与LCD12864液晶,还有一些是万万不可忽视的:语音频道部分和按键,显示灯等。这些部分对设计的最终完成都有很重要的作用,不可轻视。整体硬件框图如图2:液晶显示单片机指示灯电路液晶显示单片机指示灯电路GPS模块GPS模块MiNiPlay音乐模块按键电路DS按键电路DS1302时钟电路图2整体硬件框图3.1单片机简介3.1.1单片机选型单片机的选择是本次设计的首要任务,它关系到整个设计的内容复杂程度和工作量等。我们在完成设计的整个过程中,特别要注意依据的是选型基本原则,所以我们就要做到有最低底线即功能统一,然后在此基础才能进行对它的性能价值比和可保证性的评估,并且我们还要同时注意到在以上要求都可以实现的基础上还有一个问题不可忘记:要尽可能的使其他原件简单明了,要做到花费少的同时把正确率提高。总而言之,我最终确定了STC89C58单片机的使用。3.1.2单片机简介作为STC最新出版的51核心微控制器,它还有一种自身特点,也就是可以把程序存储器闪存,sram,spi等包含在其中。3.1.3STC89C58单片机引脚简介STC89C58引脚图如图3所示:图3引脚图3.1.4外部中断和串口通信外部中断:突发情况发生在当主程序中MCU无限循环时,程序“飞”到另一个位置执行,并在处理了紧急情况后,要进行返程操作,也就是重新回到主程序。然后就可以进行继续的工作了。串行通信:信息只能沿一个方向发送。信息具有不可同时以半双工方式发送的缺点,不过最主要的是有可以双向发送的优点;信息则能够全双工同时在两个方向上发送。我认为我学习到的这类知识中,记忆最深刻的就是全双工串行端口在我们的微控制器中有且只有一个,不仅如此,我还清楚的记得输出输入的分别对应的两个线路是上文提到的全双工串行通信唯一需要的东西。3.1.5单片机最小系统这里要介绍的是我们常用的电压源接触口,控制系统的开关键,时钟,复位电路,下载接口以及我们之前学习到了的单片机的有机统一体,这个统一体就是单片机的最小系统。如图4所示:图4最小系统原理图复位电路:我们首先要知道重置电路的基本概念:顾名思义就是可以全自动的把按键所设置的内容全部激活和重新归置的方法。紧接着,我们要知道单片机开始施行复位操作的时候是在单片机的RST引脚进入可以维持两周期的高电平时实现的,这种状态叫做周期性复位状态。在之前的基础上我们可以知道这个设计的要求中还有一个:还要有可以通过我们自己按动按键来实现的重置功能。这种模式有两种情况,分别为电平和脉冲模式。而要达到这种效果,就可以通过把RST的9端子和电源接起来实现电平重置的效果。时钟电路:通过之前的学习,我们可以显而易见的了解到如果要想得到上面讲述的单片机时钟信号可以有大概二种方法,也就是内外部时钟模式。我们知道振荡器电路是单片机内部的东西,所以我们要达到可以自由的运营振荡器和之前的要求,只需要把单片机的xtal1(18)和(19)连在石英晶体上就可以了。下载接口:经过四年的学习生活,我们可以了解到单片机系统有非常多的优点。例如它可以在完全不涉及到通用编辑器的情况下编辑isp的程序;还可以在不用取出就可以使用的情况下进行下载刻录客户程序的操作,这个优点是与普通程序工作人的重要优势,因为他们还需要刻录;不仅如此,单片机还有不会只要错误新品的有点,这是因为它可以同时对未完成产品进行制作并且修改。另外,它还有一个显著优点:因为可直接不绕弯路的下载就可以判别正确与否,所以就得到了它无需仿真器的优点。之后,又了解到它的微控制器在出厂的时候是非常隐秘的。最后,如果发现这个系统还原了,就说明这时它无法识别了。3.2DS1302电路因为在之前的学习中对这个电路的了解比较少,所以通过在参考资料中的信息查询,让我对它有了基本了解并且将之应用于本次系统设计中。通过查阅资料,我所了解到的DS1302具有很多的优良特点,例如它的电路接口简单,所以就可以大幅度的减弱工作量;另外,它的价格相对来说是比较低的,所以也减少了设计的成本;而它的最重要的特点是使用了串行数据传输,也就是与其他电路不同的充电功能。如图5所示:图5时钟模块图3.3语音播报电路语音系统是我最感兴趣的系统,因为它可以真正的让人们了解到公交车站点信息,也是最有意思的部分。首先介绍一下迷你mp3的性能:它是拥有串行接口的模块,并且可兼顾集合非常多个硬解码。它还有一个能够使用两个文件系统的功能。由此得到,通过人们人工特定的音频的播放及完成就是由串行的简易的命令来完成的,而无需进行复杂的操作。语音播报系统如图6所示:图6语音播报系统3.4按键电路这个系统的第一个按钮用来设置基础信息,通过第二个按钮和第三个按钮来进行设置基础信息的加和减,通过第四个按钮来切换手动和自动报站,第五个按钮用于在上下之间切换,第六个按钮用于广播。第七个按钮是被用来将Gps的定位数据还进行总和与清除的,第八个按钮相当于一个清零也就是起大返回的作用。具体如图7所示:图7按键图3.5GPS和指示灯电路指示灯分别指示手动、自动、上行、下行。GPS和指示灯电路如图8、图9所示:图8GPS电路图图9指示灯电路3.6LCD12864电路3.6.1LCD12864简介及功能包括了高度符合我国国家级标准的文本库;12864是它自身所具有的分辨率。基本特性和作用:(1)低电源电压(VDD:+

3.0-

+

5.5V)(2)显示分辨率:12864点(3)它拥有自己独特的汉字库,给我们支持了矩阵汉字(4)集成128个16

*

8点矩阵字符(5)2MHZ时钟频率(6)显示模式:STN,透反,正显示(7)D模式'驱动:1

/

32DUTY,1

/

5BIAS(

8)视角方向:6点(9)光背着的模式:普通LED的五分之一左右的功耗是侧面为明亮的白色LED(10)通信模式:串行和可选并行接口(11)DC-DC转换器电路中没有内置外部负载压力(12)它不具有片选信号,因此我们就可以对这个设计进行简单化操作(13)工作的时候具体温度范围:3°C-+

58°C。管脚说明如表1所示:表1管脚说明管脚号管脚名电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源负3V0-对比亮度调整4RS(CS)H/LRS=“H”,表示DB7—DB0为显示数据RS=“L”,表示DB7—DB0为指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7—DB0RW=“L”,E=“H—>L”,DB7—DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式16NC-空脚17/RESETH/L复位端,低电平有效18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)20K背光源负端3.6.2液晶模块串行时序图(1)控制数据传输的方向是A的任务;(2)用来指示LCD到MCU许许多多数据的意思的是H;(3)对MCU到LCD的众多数据的集中概括是指L;(4)具有选择数据类型的特殊工作的就是B;(5)H的意思也就是表示数据是显示此数据还是彼数据,L说明数据是控制命令的任务就交代在了L上;液晶模块串行时序图如图10所示:图10液晶模块串行时序图3.6.3LCD模块与MCU的串口连接图(1)CS端子就是用来进行低电平有效的串行模式芯片选择信号端子。(2)PSB端子则是用作H并行/串行接口选择端子。(3)RET端子的意思就是复位端子他就是在低电平时是拥有的极其显著的成效的。(4)要想让SCLK的端子比较稳定,就要在它的时钟信号有负延的同时将数据输入到液晶模块,而且需要注意的是,这个工作过程中不必要连续的连接,从而使SCLK通过终端容易得多。MCU的位处理功能可以确保数据传输。连接图如图11所示:图11LCD原理电路4软件设计4.1开发环境简介

Proteus是享誉全球的EDA工具,它的概念和它的产品设计可以看出来。8052,HC1,ARM,AVR等就可以通过享誉全球的DEA工具的产品设计来支撑。在编译类型的方面,不仅如此这款享誉全球的工具都可以支持IAR,Keil和MPLAB的许许多多种构建。4.2软件功能简介4.2.1keiluVision4Keil

uVision

4是一个比较好的单芯片开发工具,是开发者的福音。它里边有编辑,编译和仿真的功能,而且有完整的设计的计划,更重要的是把库管理和宏汇编以及C编译器都包含在内。这些所有部分都是可以结合到一个软件里边的。

并且支持最新的ARM芯片。在软件界面方面,他的界面不是那种复杂繁琐的,他的功能标注的非常清晰,让人一眼就能看出来,非常方便。KeiluVision4软件界面如图12所示:图12KeiluVision4软件界面Keil4是一款方便的单芯片编程软件。我们对软件的基本操作有所了解。微控制器编程中有汇编语言和C语言。C语言与其他的汇编语言相比,它在功能上,结构上,不仅如此它还可以提高工作效率。高级语言的类型有许多种,语言编译的语言就是其中之一,它还有它自身的优点,也就是指它是一种结构化标准的c语言并且可以被移植,可以直接将其传输和构建到各种微机平台上。在大一学习期间,我修过C语言的基础课程,在设计中很容易学习和理解因此,在此设计中,C语言是我使用的主要汇编语言。4.2.2字模3要进行程序编写,使显示屏幕上能够显示出想要的文字,就必须生成字模才能编入程序中去。这是我第一次接触到字模,因此我在网上逐渐指导和认识了原理中的字模生成的。将位代码按一定顺序转化为0*16进制数的形式排列即得到了字模。我在网上找了两个汉字字模生成软件,分别是字模3增强版和pctolcd2002。对两者都进行了试用,发现两者的界面都比较清晰整洁,都能够快速生成想要的字模。但是,相对于pctolcd2002来说,字模3中对于要生成字模的相关参数设置更加简便清晰,并且可以对显示文字的位置进行随意变动,在功能上显然更加方便实用,因此我选择了字模3软件来提取字模。字模3增强版软件界面如图13所示:图13字模3增强版软件界面在软件中新建空白文件后,按顺序设置字体为宋体小四即生成的字为16×16大小,接着设置字模参数,格式为C语言格式,接着就是图形大小和位置等设置,所有设置完毕后输入要生成的汉字,点击生成字模,我们想要得到的汉字的字模即将会下方空白区域来获得。如果要想让它显现出众多完全不一样的汉字,我们就可以用把这个设计所涉猎的汉字通过加大量的工作产生点阵代码,紧接着放入适当的表格中,最后再用特定的逻辑掌控,这样下来,我们就实现了使代码完整的复在硬件驱动上的要求了。(着重要看在使用字模3软件时,一定要以管理员的身份运行,否则无法正常生成字模。)4.3程序编写4.3.1系统流程我们所要得到的系统它的软件包含了语音播报模块,gps模块,液晶显现模块,还有最主要的主模块。这个设计还附加了一个省时省力的优点:时间校准系统,人工手动切换和完全自动的模式,上行链路和下行链路模式。打开系统电源后,首先初始化lcd模块并清除屏幕。

如果确定按钮的级别发生变化并被按下,则它会跳转到相应的程序,以实现公交车站的公告显示。

所有的步骤是下面这样进行的:步骤1:最先开始的步骤就是初试化操作,这是一切工作的基础,它就是要求我们对这个设计整体的全部数据进行设置,时间设定,具体按键以及各自所对应的显示功能,还有另外的所有操作设置。还有一个总体清除按键,相当于计算机归零以清除屏幕并准备。转发到广告。步骤2:当按下该键时,将判断键值,不同的功能划分为不同的键。步骤3:这个系统的第一个按钮用来设置基础信息,通过第二个按钮和第三个按钮来进行设置基础信息的加和减,第四个按钮用来切换手动和自动报站,第五个按钮用于在上下之间切换,第六个按钮用于广播。第七个按钮用于收集或删除GPS定位数据,第八个按钮用于返回。4.3.2程序编写确定了整个过程后,可以开始对每个小程序进行编程。本次设计主要的程序有LCD初始化、写命令以及数据、显示等。程序如下:voidinit_lcd(){LCDdelay(100);//延时 LCDMcs=1;//刚开始关闭两屏LCDScs=1;LCDdelay(100);//延时Writecom(LCDLCDDisp_Off);//屏幕显示关writecom(Page_Add+0);//设置页地址writecom(Start_Line+0);//设置起始行地址writecom(LCDCol_Add+0);//设置列地址writecom(LCDLCDDispOn);//屏幕显示开}判忙操作一定要赶在写命令、写数据前进行,CheckState函数可以立即直接调用。两者的程序流程差不多,只有RS值不同。流程图如图14所示:开始 开始 判忙忙 Y 判忙忙EN=1;RW=0;RS=1EN=1;RW=0;RS=0EN=1;RW=0;RS=1EN=1;RW=0;RS=0P1=cmdcodeP1=cmdcodeEN=0EN=0结束结束图14写数据流程图5系统仿真与调试5.1系统校验集中而成的Proteus引导环境与Keil软件是软件调试在运作时需要使用的。Keil软件具有大量内置的开发和调试功能及工具。经过编译,调试和执行,在生成HEX文件后,就能开始把它以最快速直接的方式编辑程序到STC89C58芯片中,最后开展仿真的工作。5.2仿真5.2.1仿真实现流程

该模拟用于通过模拟GPS来接收信号,GPS收到信号后,可以从高到低,信号没有了之后他也就停止了。

D1:播放指示灯亮起,指示PLAY,模拟开关的负脉冲就是用这个来进行模拟演练的。

D2:FWD被指出并且很好的把负脉冲模出来在快进指示灯亮着的同时。

D3:语音广播结束的时候必须还包括到达灯点亮,然后开着的才能是模拟公交门,与此一致一直到信号消失同时D3才可以熄灭。

LCD模块:刚开始的LCD的字符是最初被从多种样式中选出来的,公交的名称还有下一站点的站名称都会通过LCD来显示出来。在每一个SIGNAL信号的下降沿,都会显示下一个站台的名字,否则将保持不变。公交车在快到达车站将近100米的范围里边接收GPS信号,SIGNAL会发出连续的低电平,公交车离开站点之后就不会接收信号了。这个时期分为三个时期:T1:到了固定车站的公交车是准确接收到了信号的;T2:乘客下车时必须停止;T3:信号消失的时候就得要驶离公交车的站台了。这个阶段的具体工作是首先在T1的地方探测到信号下降沿的时候lcd就赶紧开始显现紧接着的下一个站台的所有信息,然后由D2才接着下面的工作:放出负脉冲,这是为了方便语音芯片顺利直接的进行下一阶段的工作。另外,负脉冲是完全能够顺着当时的方向来对应对声音进行播放的。

然后D3指示灯点亮。

在T2期间,D3显示屏始终打开,而且此时的传送语音工作宣告完成。

当公交车驾驶员离我们的信号设计范围时信号就开始上升并伴随着D3由亮变为熄灭,这个阶段是T3阶段。5.2.2系统仿真结果系统上电,就成了步入启动界面的系统了。单片机C语言程序自动设置为预设电台,LED灯全部都灭了的情况下液晶显示屏就会显现电台的名字。仿真结果如图15所示:图15系统仿真结果5.3调试首先使用Keil软件进行调试,即编译、链接完成后,观察是否有错误出现,若无错误出现,即可进行功能检测,完整的使功能得到运用,就可以宣告这个设计的所有软件部分做完了。想要得到设计可以准确无误的开始工作,就要开始进行调试的硬件方面且确保每个环节无误,步骤如下:(1)通过在单片机芯片中植入显示测试程序来检验数码显示是否出现故障;(2)将单片机和数码管连接在一起,观察随着操作的变化显示数值会不会发生相应的变化,以此来测试按键模块;(3)测试语音模块,按下按键时,是否可以正确报站;(4)综合排查设备在工作中有没有其他问题,进行全方位的测试、修改。6设计中遇到的问题6.1显示模块遇到的问题凡事都不可能一帆风顺,更何况这次设计有很多地方是我以前没有接触到的陌生领域,因此在设计的过程中我还是遇到了很多问题,这里简单的说几个。首先,这是我第一次接触到液晶显示,对字模也是第一次听说。刚开始直接下载了字模软件提取了字模,并没有了解字模生成的基本原理,在提取字模的时候没有设置好字模的参数,采用了默认设置,结果导致仿真的时候显示出现了乱码。上网查询之后发现是参数设置的问题,改正了取模顺序为纵向取模,字节倒序,发现显示大致是正常的,但是有些文字会有残缺,空白地有些星星点点的显示。经过检查,发现提取的字模中多出了一行参数设置的字模,去除之后发现显示完全正常了。6.2按键模块遇到的问题在本次设计中,需要通过按键的逻辑调用来实现司机对报站显示的控制。在按键控制模块的编程中,由于很长时间没有用到C语言,有些生疏,并没有找到正确的可以实现逻辑控制的语句。开始我使用了swich、case语句,先是计算swich表达式的值,之后的工作就变成了与case后面的值进行对比,程序会跳转到case值一模一样的程序语句执行。编写完程序后运行仿真发现按下按键后程序实现跳转,但是并不会停止,而是按顺序将站点全部进行了显示,按键失去了作用。经查询后发现swich语句判定跳转程序后并不会重新判定,而是按顺序直接执行后面的case语句。经改正后,程序能够正常运行,实现了4个按键,4种

温馨提示

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

评论

0/150

提交评论