毕业设计(论文)-公交车语音报站器的设计.doc_第1页
毕业设计(论文)-公交车语音报站器的设计.doc_第2页
毕业设计(论文)-公交车语音报站器的设计.doc_第3页
毕业设计(论文)-公交车语音报站器的设计.doc_第4页
毕业设计(论文)-公交车语音报站器的设计.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

苏州大学本科生毕业论文(设计)目 录摘 要1Abstract2前 言3第一章 绪 论41.1 课题研究的背景41.2 课题研究的意义41.3 课题研究的主要内容4第二章 设计方案和选择62.1 单片机的选择62.2 液晶显示显示屏的选择62.3 语音模块的选择72.4 时钟芯片的选择7第三章 硬件设计83.1 设计框架83.2 单片机芯片模块83.3 语音芯片模块103.4 液晶显示屏模块123.5 时钟模块13第四章 系统软件设计164.1 系统的主流程图164.2 键盘扫描模块设计17第五章 系统分析与调试18第六章 总结与展望196.1 课题总结196.2 进一步开发的展望19参考文献致 谢附录 程序28摘 要公共交通车作为目前海内客运量最大的运输工具,随着城乡人口的大幅增长,乘坐公共交通车出行是解决我国城乡交通拥挤情况和减少空气污染,绿色出行的有效途径。本设计是利用主控制中心STC89C52单片机来实现公交车语音报站,具体是处理怎样播报指示乘客到站的情况,利用WT588D语音芯片模拟人声进行报站和预报站,对所报站数和站名以及当天的日期和温度都能通过LCD12864液晶屏进行文字和站名显示,通过手动按钮,实现站点的准确报站。关键字:单片机,语音报站,液晶显示,手动按钮作 者:徐莹 指导教师:彭静玉 AbstractThe bus as the current domestic passenger traffic volume is the largest public transport, with the sharp increase of city population, is an effective way to solve the problem of city traffic development in China and the practice of low carbon environmental protection green travel travel by bus.This design is the use of control of the core components of STC89C52 single chip to achieve the bus station sound processing, content is how to broadcast the passenger arrival situation, stops and forecasting station voice simulating using WT588D voice chip, reported on the number of stations and station names and the date and day temperature can text and station name display through the LCD12864 LCD screen, through artificial keys, accurately reported to realize site station.Keywords: SCM ;voice station reporting liquid; crystal display ;manual buttonWritten by Xu YingSupervised by Peng Jing Yu 前 言芝加哥是美国公交管理委员会(芝加哥运输局,简称CTA)宣布,其下属的142辆公交车辆,逐步安装自动报站设备。车厢内,除采用育婴设备播报下一个到达站的站名外,还在车辆前点挡风玻璃窗上方,安装了发光二极管屏幕,显示下一交叉路口的站名,以及当天的温度,日期和时间。在播报站名的时候,还提醒乘客们乘车以后向里面走,而且还会提醒乘客们禁止在车厢内吸烟,把零食垃圾扔在垃圾桶里。我国交通仍存在交通管理落后,交通环境拥挤,各种污染等问题,我国经济快速发展建设,因此这些交通问题更需要及时解决,尤其是交通问题,据几个150万以上人口的城市的统计说明,运输高峰期的平均车速在12km/h以下,严重影响市民的工作和生活。因此,提高公共交通服务水平和交通运输效率,已经成为市民的迫切要求和政府的迫切工作。全文共分为六章。第一章内容是介绍该论文的背景和课题意义,第二章主要是详细讲解了各种芯片的对比以及选择的理由,第三章关于硬件部分,重点讲述了单片机,语音芯片,液晶屏等各个模块的结构具体介绍,第四章介绍系统软件部分,设计如何实现最终所要求的成果的流程图,第五章分析了整个模块测试情况以及相应的调试工作,第六章总结了整个从最开始的课题选择到最后成品实现的心得体会以及对未来的展望。第一章 绪 论1.1 课题研究的背景 随着城乡公共汽车交通体系的快速发展,大众汽车已经为走出的人们提供了很多方便,大量公共汽车的开设,使得乘客们的出行的范围变得越来越广阔,相对于公交车报站系统直接影响到乘客的心情和汽车公司的服务质量。以前,公交车报站都是人为说话,有时候会出现报错站的情况,在嘈杂的车上,一般乘客很难听清楚报站的地点,使得一些非本地的或不熟悉的乘客错过自己要下的站点,甚至乘客会反应乘务人员的态度问题而引发口角问题,再加上各个地方的语言问题,这个问题日益突出,只对于乘客和公交车公司的多方利益考虑,所以智能化的报站必须及时应用在公交车上,本设计针对于公交车人为按键自动报站的智能化设计,大大的降低了司机的负担,减少了大量的报站人员所付出的多余开支,语言又清晰。1.2 课题研究的意义 公共交通车交通系统是城乡交通的的重要主城部分,做好公共交通车报站的智能化对于改进市民出行状况,促进交通公司的经济发展和提升社会的效益,都具有很大的意义。随着私家车的数量日益增多,空气污染也日益严重,再加上严重的堵车,所以做好公交车的智能设计对于空气也有很好的帮助,人们会更多的选择公交作为日常出行的交通工具。因此,智能化的报站有助于乘客及时被告知到达站点,以免出现下错站点和人为漏报站的缺点,有利于公交车公司,以及司机和乘客的和平共利益的发展,语音报站最重要的优点就是守时报站,时间规划表很好的使乘客可以选择上车的时间,更好的自由安排出行或者旅游的时间安排。1.3 课题研究的主要内容 本课题主要是利用单片机作为主控制芯片,通过液晶显示屏获取站点的内容和当天的温度和时间,针对不同得站台,采用驾驶员手动按钮来实现站点的准确报站,通过选定的语言模块,使整个模块可播报自己设置的站台信息,显示当天时间等功能。方案的选择要符合芯片功能的要求,既要体现出方便操作,易懂的特点,又能让师傅减少不必要的报站错误,整个模块在C语言的状态下开发,硬件原理图在protel99SE状态下画出。本文研究设计主要实现通过司机师傅人工按键,整个模块可播报到达的站台所对应的设置得站台信息,然后在液晶显示屏上显示当天时间和日期等功能,采用单片机和语音芯片的完美结合,达成公交车站信息的播放的效果,用液晶显示屏,实现公交站名的显示。第二章 设计方案和选择本课题主要是利用单片机作为主控制模块通过时钟模块来实现出当天的日期和时间,液晶显示屏则获取并显示出站点及日期时间等信息,通过语言模块,手动按钮,系统可播报相应的车站信息,来实现公交车一条线路上对各个站点播报的功能。2.1 单片机的选择 选择 一: STC89C52有很多功能,比如说它的RAM是五百一十二字节那么大, I/O 口线达到了三十二位,三个十六 位定时器,中断结构更是7向量4级,全双工串行口,除此之外还有4个外部中断,内置EEPROM拥有4K字节的空间。它的频率很高,可以达到35MHZ,当然6或12T都可以选择。在空闲的模式下,它是可以让里面的RAM、定时器、中断、计数器、串口接着运行,但是CPU 却结束了运行。即使突然没有了电的提供,它的信息还是可以被保留下来,不会消失,但是此时它却结束了所有的工作,直到REST的到来。选择 二:AT89C52含有的可重复擦写的Flash只读程序存储器占到8k bytes,单片机具有低压,高能CMOS 8位的特点,随机存取数据占到两百五十六字节大小的存储器(RAM),片内含有Flash存储单元和八位中央处理器,器件凭借非易失性保存技术,兼容标准MCS-51指令系统的高科技、高密度的特点来生产, AT89C52单片机其实在电子信息技术上得到了很大提升的利用。考虑上述思路,联想到本人对单片机STC89C52使用熟悉及管脚了解,选择单片机STC89C52作主控制芯片。2.2 液晶显示显示屏的选择 选择 一:LCD1602是可以显示两行的,每行出现十六个字符液晶模块,即显示的内容为16X2,体积小、控制简单,实用方便。另外连接它的线路很少,只要8根数据线和3根控制线选择 二:LCD12864具有4位/ 8位并行中国点阵图形液晶显示器,它具有的12864显示分辨率以及多线串行多种接口方式的特点,内置大量汉字,和128 个16*8 点ASCII 字符 集使得它能够实现液晶显示屏显示多行文字,它具备的低电压、功耗少的功用让它成为线下的焦点。利用这个模块多行显示的特点,可以在显示屏上显示出很多设计者需要的内容:时间、日期、温度等。当然,如果需要图形,自己的LOGO,也是可以通过编程烧录来完成的。比拟同类型的图形点阵液晶模块,不管是体现中文字幕还是时间都要简洁得多,算下来这个芯片的总值对比下来低廉点,特别划算。 考虑上述思路,联想到本人对显示屏各个管脚作用的详细了解,再加上它的简洁更能体现我需要的作用,所以选择了LCD12864。2.3 语音模块的选择选择 一:ISD4004 芯片工作电压为3V,芯片录音和放音时间比较长,为8 16 分钟,较好的音质使得ISD4004适用于移动电话及更多方便携带的电子产品中。芯片可以长期保存信息且不会损坏,能够自动降低噪声甚至消除。选择 二:WT588D语音芯片是最早可外挂FLASH的一款语音芯片,它会根据外挂的不同来决定播放的时间的长度。它可以支持音频达到6K12K的采样率,所以它的音质较好,控制灵活,可重复调用已加载的语音到多个地址上。WT588D是一款拥有单片机内核的语音芯片、实现效果好、音质好、使用范畴广、性能出色的特点的芯片,使它能够填充了过去各种样式语音芯片应用领域狭小的缺点,MP3控制模式具备音量调节和暂停的功能,相比下,按键模式则比MP3多了可循环的功能以及各种触发方式、三线串行控制方式,一线串行控制方式,并行控制方式,有输出模式的三线串行控制端口扩展,让工作的员工能将产品放置在他们能想到的地方,使许多功能实现。综合以上思路,考虑到自己在价格上的承受范围,加上操作的熟练。因此选用WT588D比较好。 2.4 时钟芯片的选择 现下最畅销的串行时钟芯片有:DS1302、FS1007、PCF8485。由于这些芯片的端口连接容易,操作简单上手,在价格上又比其他的便宜好多而被许多厂家生产使用。此次论文重点详细的介绍了DS1302,它即使在没有提供的电的状态下,依旧能够计算时间,当插上电的时候,你能发现它显示的就是当天的时间,而且误差不大。它的使用不会占据太多的硬件空间,更好的是小号的功率很低,节约了成本。它能显示闰年,又能够计算几几年的几月几号、甚至是星期几、当然它还能显示当天具体的时间。工作电压为2.5V5.5V。考虑上述思路,联想到本人对DS1302使用熟悉及I/O接口了解,以及对这个系统的显示要求,选用DS1302方便本设计的使用。第三章 硬件设计3.1 设计框架公交车语音报站主要是由主控制模块,语音芯片模块,LCD液晶显示模块,时钟模块等组成。语音模块主要是指WT588D芯片LM386芯片,利用WT588D实现录音功能,LM386实现功率放大;时钟模块能够实现时间的记录;而LCD液晶显示模块用来实现显示到站信息以及当天的日期和时间。基本框架如图3-1所示STC89C52控制模块时钟模块液晶模块语音模块按键控制模块图3-1 硬件设计框架图3.2 单片机芯片模块3.2.1 STC89C52芯片介绍STC89C52的特点是功率消耗量低,性能指标高。STC89C52有很多功能,比如说它的RAM是五百一十二字节那么大, I/O 口线达到了三十二位,三个十六 位定时器,中断结构更是7向量4级,全双工串行口,除此之外还有4个外部中断,内置EEPROM拥有4K字节的空间。它的频率很高,可以达到35MHZ,当然6或12T都可以选择。在空闲的模式下,它是可以让里面的RAM、定时器、中断、计数器、串口接着运行,但是CPU 却结束了运行。即使突然没有了电的提供,它的信息还是可以被保留下来,不会消失,但是此时它却结束了所有的工作,直到REST的到来。3.2.2 STC89C52芯片特征和参数特点:STC89C52单片机:程序存储空间8K字节;数据存储空间512字节;内带EEPROM存储空间4K字节;可直接使用串口下载;参数:1. 加强型8051单片机,任意选择:6或者12个时钟周期;2. 输出压值:5.5V3.3V(5V芯片)/ 3.8V 2.0V(3V芯片);3. 输出的频率范围:040MHz,实际运行时的频率是48MHz;4. 片上集成512 字节RAM;5. 通用32 个I/O 口端口,复位后为:准双向口/弱上拉P0/P1/P2/P3,漏极开路输出是P0 口,作为总线扩展,不需要加上拉电阻,作为I / O端口,需要加上拉电阻。6. 具备电可擦除只读存储器的功能;7. 定时器T0、T1、T2;8. 通用UART异步串行口,可以通过定时器软件实现多个;9. 工作温度范围:工业级:-40+85,商业级:075;10. PDIP封装3.2.3 STC89C52模块原理图主控制芯片:STC89C52芯片如图3-2所示图3-2 STC89C52芯片 管脚说明:P0、P1、P2口都是双向I/O口,当P1端口变成1的时候,被内部上拉为高,可用作输入;而P2则是变成高电平每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。当 FIASH在编程校验的时候,在P0口非内部的情况下,通过拉高P0,使其输出源码, P1口作为低八位地址接收,而P2口则接收高八位的控制、地址信号,P3端口接收控制信号。PSEN:程序存储启动,允许程序存储。低电平状态下,可以显现ROM单元的读功能,此时每一个机器周期都在运行两次。EA/VPP:EA处于低电平时,不考虑其内部真的有无程序存储器,当加密显示为,则锁定RESET;EA处于高电平时,同时FLASH编程期间,这个内部程序存储器可以在管脚处接入12伏。XTAL1:振荡放大器反相输入而XTAL2为输出。该反相放大器可以配置为石晶振荡和陶瓷振荡。XTAL2不接的时候,可以使用外部时钟源驱动器件。在确保高电平或低电平所达到的数值时,可以通过一个二分频触发器,来实现余输入至内部时钟信号的过程。3.3 语音芯片模块3.3.1 WT588D芯片简介WT588D语音芯片是最早可外挂FLASH的一款语音芯片,它会根据外挂的不同来决定播放的时间的长度。它可以支持音频达到6K12K的采样率,所以它的音质较好,控制灵活,可重复调用已加载的语音到多个地址上。WT588D是一款单片机内核的语音芯片,它的性能多,播放出的声音好,能在很多方面被使用,稳定性很高,由不同类型的语音芯片小缺损区,与音量调节的MP3控制模式下的悬架相比,关键模式比MP3可以和各种触发方式循环功能,三线串行控制方式,线串行控制方式,并行控制方式,有输出模式的一三线串行控制端口扩展,让工作的员工能将产品放置在他们能想到的地方,使许多功能实现。静音时长没有误差的控制!可以控制声音的地址可能达到220!每一个地址位可以加载可以结合128语音! WT588D它所具有的芯片优势,使它能在声音的市场上发挥了前所未有的作用,相信因为它的到来,能够带动经济的急速发展。3.3.2 WT588D功能介绍和特征 芯片封装含DIP18、LQFP32和SSOP20形式,模块封装(带SPI-Flash及外围电路)有DIP16、DIP28; 根据外部或内部的SPI Flash不同,玩的时间也不同,支持SPI闪存2兆 32兆; 嵌入式DSP音频处理器,速度高,加工速度快; DA转换器13Bit,PWM输出12Bit,声音不错; 声音输出在PWN,声音准确输出功率和电阻; 两输出方式:PWM DAC; 匹配WAV音频格式; 处理音频6K22KHz采样率; 在加载语音播放试听支持; 可以自己设置自己想要的声音内容,而且声音的内容可以保存下来并且放到不同的寻址上,依然可以使用,当然你也可以设置静音; 在不同地址上输入的声音也可以组合在一起,形成一段长句子; 最大负荷,500段编辑讲话; USB下载方式,支持在线/离线下载下载;就算是在这个芯片在运行的状态,都是可以下载你要的资料到SPI-Flash; 芯片复位时间5ms; MP3可以和各种触发方式循环功能,三线串行控制方式,一线串行控制方式,并行控制方式,有输出模式的三线串行控制端口扩展; 系统处于忙碌的时候,只播放语音; 抵抗外部的杂音性能号,适用于不同领域; 声音在休眠状态立即停止,芯片变为停止模式完全; 15个控制模式的按钮,任何一个可以设置为任何控制模式; 芯片的简单的撰写方法,摆脱了复杂的组合思维; 单芯片,多个存储器外挂的支持; 芯片的静音长达十到二十五分钟; 直流的压值达到的范围是2.8V到5.5V; 静态休眠电流小于10uA; 提供八和弦MIDI输出(这个功能是打开的)。3.3.3 WT588D语音芯片模块电路原理图WT588D语音模块电路芯片图如下3-3所示:图3-3 语音芯片模块电路原理图STC89C52和WT588D之间几乎连接,在P3.7连接到WT588D芯片选择引脚复位,WT588D控制门是否选通。P3.5接WT588D的串行输入引P01,从该引脚读入放音的地址。P3.3接WT588D的串行时钟引脚P03。除此以外WT588D工作电压是3伏,和芯片的电源电压是5伏,所以可能要求采用变压器电路获得这个芯片的3伏电压。3.4 液晶显示屏模块3.4.1 LCD12864的概述LCD12864具有4位/ 8位并行中国点阵图形液晶显示器,它具有的12864显示分辨率以及多线串行多种接口方式的特点,内置大量汉字,和128 个16*8 点ASCII 字符 集使得它能够实现液晶显示屏显示多行文字,它具备的低电压、功耗少的功用让它成为线下的焦点。利用这个模块多行显示的特点,可以在显示屏上显示出很多设计者需要的内容:时间、日期、温度等。当然,如果需要图形,自己的LOGO,也是可以通过编程烧录来完成的。比拟同类型的图形点阵液晶模块,不管是体现中文字幕还是时间都要简洁得多,算下来这个芯片的总值对比下来低廉点,特别划算。3.4.2 基本特征(1)端口输出低压值正的3.0伏到正的5.5伏(2)分辨率输出是12864 点(3)内部设置简体或者繁写体汉子的输出(4)建立128 种168 点阵字符(5)2MHZ 时钟频率(6)输出方式:STN、半透、正显(7)启动方法:1/32DUTY,1/5BIAS(8)视角方向:6 点(9)背光模式:高亮度白光LED,耗电量仅为普通LED的五分之一(10)通讯选择:串行、并口都可以(11)内部设置转换电路DC,不需要从外部加入负压(12)整个程序设计操作简单,容易掌握(13)工作温度: 0+55 ,存储温度: -20+603.4.3 LCD12864芯片模块电路原理图如图3-4所示 图3-4 液晶LCD12864显示模块电路原理图BLK 背光源零伏负极。BLA 背光源五伏正极。DB0DB7 数据总线,双向特点。E 使能信号R/W 选择信号,写为低电平,读为高电平。RS 寄存器选择信号。V0 调节显示屏的亮暗度,字符大小。VDD 输出正极,5伏电压。VSS 输出负极,负5伏电压,也可以接地。3.5 时钟模块3.5.1 DS1302芯片的概述在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用DS1302则能很好地解决这个问题。DS1302即使在没有提供的电的状态下,依旧能够计算时间,当插上电的时候,你能发现它显示的就是当天的时间,而且误差不大。它的使用不会占据太多的硬件空间,更好的是消耗的功率很低,节约了成本,在一定程度上满足了大多数设计者的消费观。它能显示闰年,比如我们看到的万年历,又能够计算几几年的几月几号、甚至是星期几、当然它还能显示当天具体的时间。工作电压为2.5V5.5V。3.5.2 引脚结构和功能介绍时钟芯片模块电路原理图如图3-5所示 图3-5 时钟芯片模块电路原理图DS1302的管脚布局中主电源是Vcc2 而Vcc1只是后预备电源,也就是说即使是在没有电源提供的状态下,时钟仍然可以独立地工作。这个芯片的供电是取决于它们中谁的数值更大一点。如果Vcc2的值是比Vcc1大0.2伏时,Vcc2就给这个芯片提供电源;如果Vcc2的值是比Vcc1小,Vcc1就给这个芯片提供电源。X1、X2外部连接频率是32.768kHz的振荡器。CE表示为片选线,一切的数据只有当片选置于高电平时候才能传递。片选可以有两种状态:第一,当片选连接控制命令端口,移位寄存器才能接收到传递过来的地址;第二,片选能够停止传递单个以及多个字节的数据。当片选传递的时候处于高电平时,让一切的传递的数据回到最原始的状态,才可以操作时钟芯片。当片选传递的时候处于低电平时,就会停止传递数据,输入输出管脚就会呈现高阻态状态。在插上电源工作的时候,如果Vcc小于2.5伏,片选处应该处于低电平状态下。在保持输入端SCLK是低电平的状态下,片选才能够被置为高电平。3.5.3 工作原理DS1302 的控制字符位七的逻辑取值不一样,会影响数据的写入,只有当最高有效位表示的状态是1的时候,才能执行数据写入的命令;假设位六表示的状态是1的时候,随机存取存储器里的数据才会被存储;而当它表示的状态是0的时候,时间和日期就会被存储。操作单元的地址有位五到位一决定;如果位零表示的状态是1的时候,就从最低位渐个操作读的命令;如果位零表示的状态是0的时候,就会进行写的命令操作。当控制命令字输入之后,如果接下来的SCLK时钟处于上升沿状态,时钟芯片就会从低位零开始输入数据,数据以BCD码的形式存储;同样,在接下来的八位的控制命令字之后的下降沿的到来时,数据被时钟芯片从低位零位到高位七读出。DS1302时钟芯片包括十二个寄存器,年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等,其中日历、时钟的实现由7个寄存器控制,单个随机存取存储器单元总数是三十一个,八位字节的操作控制字决定了写命令是偶数,读命令是奇数;在突发状态情况下的随机存取存储器,相比单个的随机存取存储器就可以通过FEH和FFH直接把三十一个字节读写出来。第四章 系统软件设计4.1 系统的主流程图在完成整个作品的初步的设计后,就是要想到每个模块实现的方法,这时候流程图能很好地反应模块实现功能需要的步骤,给每个模块确立好流程,然后组装在一起,就能实现最初你想要的功能,设置按键功能,通过流程,完成预期的成效。系统的主流程图如图4-1所示: 图4-1 系统的主流程图 当接通电源时,语音播报欢迎乘坐265路公交车,当到达一个站台的时候,司机师傅按下播报键,语音就会提醒新牌楼到了,同时显示屏上显示站点的名字,可以供乘客观看,以免听不清播报的信息,相同下,再次到达别的站点,一次按下播报按键,语音提示相应的站点,如双马到了、周庄汽车站到了,终点站大学城到了,实现了一条路线上的站台播报。4.2 键盘扫描模块设计键盘扫描采用的是独立按键,按键后首先确定按键有没有被按上,如果没有按上,就没有操作;如果按上了就要判断键值,执行语音播报,播报相应键值下的站台的名字,按键过程如图4-2所示开始系统初始化是否按键判断键值执行语音播报返回无操作 图4-2 按键过程 第五章 系统分析与调试本设计是在Keil 4开发环境,编程和调试,Keil 4软件支持C语言,操作简单。在编译完Keil 4后,再通过软件烧录到WT588D语音芯片模块上,实现实物与程序的连接。 调试程序和记录完成后,还需要一个示范的,开发板和电脑连接,设置相应的接口,电源和下载。按下按钮,以确定是否抖动,如果没有抖动,然后按键功能键执行,然后判断是为什么,是录音键或播放按钮,当判断完成,程序的执行。当按下录音键然后开始记录第一次演讲,然后按记录第二次语音。当你按下播放按钮时显示站牌数“1号站台”,播放第一站信息“新牌楼到了”并显示相应的文本如日期和时间,按第二次,在第二站信息,显示相应的文本,以此类推。如图5-1所示图5-1 液晶显示屏公交车报站第六章 总结与展望6.1 课题总结本设计是一个基于STC89C52单片机来实现手动按键语音报站系统,通过WT588D语音芯片的语音录制和播放模块,结合LCD12864液晶显示屏显示出设计要求的各个站点的名字和站数,以及当天的日期和温度,当然在制作过程中还是不能避免出现了一些不足,比如播放声音时有一点噪声,尝试了一些改进方法,虽然不能完全消除噪声,但是不影响报站的效率。从最初的任务书到现在的毕业论文,经过长达四个月的时间里,从手写到实际操作,的确学习到了很多,比如Keil软件的使用,用Protel画电路图,从初开始的一无所知,到现在的熟练操作,更多地是为后来的工作做铺垫,当然还有芯片的选择,第一次接触只是老师给就拿,到现在的为什么要选择它,考虑到它的性能,价格等,通过把程序烧录在芯片上,更好的通过STC89C52实现模块的功能。最后,通过各种软件的设计和流程图,使整个模块能够实现我所要求的功能。当然,因为时间仓促,对单片机并不是十分的了解,可能在选择上老是出错,以至于要修改的东西太多,总是会手忙脚乱,希望老师给予纠正和更多的意见!6.2 进一步开发的展望本设计方案是专注于人工按键定点语音报站,当然也有一些不足,供电和检修都会出现问题,基于现在很多设计都是自动报站,相对于语音报站来说,有时候可能车内太过嘈杂,声音会听不清楚,再加上屏幕显示在司机师傅那里,后面的人都看不到字幕,很容易错过站台,在这方面,可以增加显示屏的数量;再比如现在的GPS定位系统导航自动报站,亦或是射频技术等,但此类一般成本较高,很难大规模普遍使用,相信随着航天技术的快速发展,GPS定位报站系统将会普及到各个地方。参考文献1 李吉志.基于单片机的公交车智能语音报站和液晶显示系统设计J. 科技广场,2010,(03):163-165.2 熊玲.关于公交车调度问题的研究J.武汉科技学院学报,2005,18(01):29-32.3 张雅兰.公交车自动报站系统改进研究J.广西工学院学报(自然科学版),2010,21(04):22-25.4 袁成.芝加哥公共汽车的自动报站设备J.城市公用事业,2003,03:42-43.5 沙玉峰,廖秀斋,李之红,王亮亮.基于智能公交的城市道路服务水平实时评价与预测J.重庆交通学院学报,2004, 23(02):79-84.6 吕晓光,杨鹏. 智能语音录放系统的设计J. 电子世界,2014,09:125.7 赵斌,黄海宏,楚永宾.基于DSP和单片机通信的液晶显示设计J. 现代电子技术,2011,34(16):155-157.8 殷士勇. Keil和Proteus在单片机实验教学中的应用J. 重庆工商大学学报(自然版),2009,26(06):567-570.9 王蓓,霍虎. 独立按键与菜单显示系统的设计J. 现代电子技术,2012,32(24):1-3.10 赖忠喜,林君焕,陶东娅. Proteus和Keil软件在单片机项目式教学中的应用J. 电子设程,2013,21(06):4-7. 致 谢 首先感谢指导老师彭静玉对我的悉心指导,从一开始的紧张选择论文题目到任务目标的设定,甚至是翻译,到中期论文的检查,再到最终论文的考核,彭老师都仔仔细细检查,不厌其烦地提供宝贵的意见给我参考去修正,让我看到了我的不足与马虎。还要感谢实习期间实习老师对硬件方面的指导,使得我这次在硬件上面的选择能够准备的充分,分析到位,更好地实现了硬件上的设计,为我今后的学习、工作道路上点亮了一盏指路明灯。在本次漫长的设计旅途中,我不仅学到了除我了解的芯片的知识外,还开拓了我的眼见,在以后设计的过程中,可以有更多的选择,不会因为知识的匮乏而导致设计的拖延,而且掌握了抓住重点,从中详细分析,设定目标,实施计划的良好学习态度,这让我以后的工作或者是学习受益匪浅。在这里献上我由衷的感谢,对那些帮助我,支持我的老师们和同学们传达最真挚的祝福。 附录 程序#include #define uchar unsigned char #define uint unsigned int #include uchar code shuzi=0123456789ABCDEF;char code shuzi_c=0123456789ABCDEF;sbit rs=P25; sbit rw=P26; sbit e =P27;bit flag_200ms = 1;uchar menu_1;uchar flag_clock_en;uchar open1;uchar flag_c_en;bit flag_100ms;static uchar num;uchar n_nian,n_yue,n_ri;sbit key_set = P20;sbit VRST = P37; sbit VBUSY= P36;sbit VSDA = P35; sbit VCS = P34; sbit VSCL = P33;uchar yujing3;void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j115;j+);#include ds1302.hvoid time0_init() EA = 1; TMOD = 0X11; ET0 = 1;TR0 = 1; void delay_uint(uint z) while(z-);uchar change_dat(uchar dat)uchar i,value;for(i=0;i8;i+)value = 1;return value;void write_com(uchar com) P0=change_dat(com); rw=0; rs=0; delay_uint(25); e=1; delay_uint(50); e=0;void write_dat(uchar dat) P0=change_dat(dat); rw=0; rs=1; delay_uint(25); e=1; delay_uint(50); e=0;void addr_12864(uchar hang,uchar lie) uchar address;switch(hang)case 1: address=0x80 + lie ;break;case 2: address=0x90 + lie ;break;case 3: address=0x88 + lie ;break;case 4: address=0x98 + lie ;break;default : break;write_com(address);void write_shu16(uchar hang,uchar lie,uchar dat)addr_12864(hang,lie); write_dat(shuzidat/16);write_dat(shuzidat%16);void write_shu10(uchar hang,uchar lie,uchar dat)addr_12864(hang,lie); write_dat(shuzidat/10%10);write_dat(shuzidat%10);void write_string(uchar hang,uchar lie,uchar *p)addr_12864(hang,lie); while(*p != 0)write_dat(*p);p+;delay_uint(50);void write_guanbiao(uchar hang,uchar lie,uchar date)addr_12864(hang,lie); if(date = 1)write_com(0x0f); else write_com(0xc0); void init_12864() write_com(0x30); write_com(0x0c); write_com(0x01); delay_uint(20000);void init_12864_dis()write_string(1,0, 欢迎乘座 );write_string(2,0, 265路公交车 );write_string(3,0,2014年00月00日 );write_string(4,0,星期00 00:00:00);void clear_12864()write_string(1,0, );write_string(2,0, );write_string(3,0, );write_string(4,0, );void init_12864_set1()clear_12864();write_string(1,0,2014年00月00日 );write_string(2,0, 00时00分00秒 );write_string(3,0,设置 星期01 );write_string(4,0, );write_guanbiao(1,1,1);void delay_us (unsigned int us)while(us-)_nop_();void Send_threelines(unsigned char addr) unsigned char i;VRST=0;delay_1ms(5);VRST=1;delay_1ms(20);VCS=0;delay_1ms(5); for(i=0;i=1;delay_us(150);VSCL=0;delay_us(150); VCS=1;delay_1ms(200);while(VBUSY = 0); uchar key_can;void key()static uchar key_new;key_can = 20; P1 |= 0x03;if(P1 & 0x03) != 0x03)delay_1ms(1); if(P1 & 0x03) != 0x03) & (key_new = 1)key_new = 0;switch(P1 & 0x03)case 0x02: key_can = 1; break; case 0x01: key_can = 2; break; else key_new = 1;void key1()static uchar key_new;key_set = 1;if(key_set = 0)delay_1ms(1); if(key_set = 0) & (key_new = 1)key_new = 0;key_can = 3; else key_new = 1;void key_with()if(key_can = 3)menu_1 +;flag_200ms = 1;if(menu_1 = 1)init_12864_set1();if(menu_1 7)menu_1 = 0;init_12864(); init_12864_dis(); if(num = 1) write_string(1,0, 1号站台 );write_string(2,0, 新牌楼到了 );if(num = 2) write_string(1,0, 2号站台 );write_string(2,0, 双马到了

温馨提示

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

评论

0/150

提交评论