基于51单片机的公交自动报站系统毕业论文
2020-02-17 23:21:15
摘 要
本文基于51单片机芯片完成硬件的搭建,使用了DS1302时钟芯片计时和SYN6288芯片模块作为语音输出及LCD12864液晶显示站点和时间,通过按键控制站点的转换。使用Proteus完成对硬件的仿真分析和Keil完成对软件代码的实现。软件代码将各个功能模块单独成一文件并在主文件中调用。最终完成公交自动语音报站系统的设计。
论文主要研究了要实现公交报站和显示所需要的最小系统,包括所需要的硬件元器和软件编程,通过模拟真实公交运行的方式,来播报和显示准备好的站点。
研究结果表明:各个芯片在有较高集成度的情况下,可以轻松实现对于硬件的实现,将各个芯片所实现的功能各自集合于软件模块内有助于系统的快速实现。
本文的特色:硬件实现的集成度较高,容易重复实现;软件使用函数化编程,可以重复使用相关代码。
关键词:STC89C52;SYN6288;LCD12864;DS1302;公交报站;
Abstract
This article is based on the 51 single-chip chip to complete the hardware construction, using the DS1302 clock chip timing and SYN6288 chip module as the voice output and LCD12864 LCD display site and time, through the button to control the site conversion. Use Proteus to complete the simulation analysis of the hardware and Keil complete the implementation of the software code. The software code separates each functional module into a single file and calls it in the main file. Finally, the design of the bus automatic voice report system was completed.
The paper mainly studies the minimum system needed to realize the bus station and display, including the required hardware and software programming, and broadcasts and displays the prepared site by simulating the way the real bus runs.
The research results show that each chip can realize the realization of hardware easily with high integration. It is helpful to realize the rapid implementation of the system by integrating the functions realized by each chip into the software module.
The characteristics of this paper: the hardware implementation of the integration is high, easy to repeat; the software uses functional programming, you can reuse the relevant code.
Key Words:STC89C52;SYN6288;DS1302;LCD12864;Bus station;
目 录
第1章 绪论 1
1.1 本文研究的意义 1
1.2 语音系统的国内外现状 1
1.2.1 国外研究现状 1
1.2.2 国内研究现状 2
1.3 主要内容和预期目标 3
1.3.1 主要内容 3
1.3.2 预期目标 3
第2章 整体方案和设备选型 4
2.1 整体硬件设计方案 4
2.2 硬件设计选择 4
2.2.1 单片机芯片的选型 5
2.2.2 语音合成芯片的选型 5
2.2.3 时钟芯片的选型 6
2.2.4 显示设备选型 7
2.3 本章小结 7
第3章 硬件系统的设计与实现 8
3.1 单片机最小系统 8
3.1.1 晶振电路 8
3.1.2 复位电路 9
3.2 液晶显示模块 10
3.3 DS1302时钟模块 11
3.4 语音合成模块 12
3.5 按键控制模块 13
3.6 本章小结 13
第4章 系统软件的设计与实现 15
4.1 系统软件总体设计 15
4.2 主函数的设计 15
4.3 LCD显示程序 17
4.4 时钟程序 19
4.5语音合成模块程序设计 20
4.6 按键程序 21
4.7 本章总结 22
第5章 调试与结果 23
5.1 调试 23
5.1.1 硬件调试 23
5.1.2 软件调试与结果展示 23
5.2 本章总结 27
第6章 结论与展望 28
6.1 结论 28
6.2 展望 28
参考文献 29
附录A 电路原理图 30
附录B 元件清单 31
致谢 46
- 绪论
1.1 本文研究的意义
在中国经济得到腾飞之后,人们物质水平获得了飞跃式的提高,私家车人均量达到了一户一辆的水平。出于整个车辆负载和环保意识得到越来越受到重视的当下,便捷而更加绿色的出行方式公共车是人们的首选。公共出行方式越来越得到重视和完善,因此公交报站的服务理所当然的因该得到优化。 传统的公交车报站主要由人工完成,但该方式因其效果太差和工作强度太大,效率低下且收益甚微,同时有些售票员不标准的普通话,给听不懂的乘客造成了困难。 为了解决这些的问题,设计一种公交车到站后自动播放到站的语音信息就成了当务之急。这种到站后自动报站方式既能可以准确的播报到站信息,又能减少司机和乘客的沟通成本。有助于从人工售票服务到无人售票服务的发展。经过微型计算机的多次迭代和更新之后微型计算机的实用性和普适性得到巨大提高。微机控制和处理信息的能力与多样的语音合成芯片的结合是人工语音合成上的重大突破。它可以应用在公交报站服务上,让广大的乘客市创建更加和谐的氛围。
公交车报站系统将到站信息以语音和液晶显示的方式告知乘客。这种系统变革了传统报站服务,从而让进/出站等的必要的服务语句能够实现在对应的条件下播报,大大减少了人力的投入且稳定性得到巨大提高。公交语音报站系统通过视觉和听觉的方式促进公共交通的普及和大家的认可,从而使得人们选择更加绿色的出行方式来缓解城市交通拥堵的问题,这样也同时提高了整个城市的效率。
1.2 语音系统的国内外现状
语音作为人类沟通信息的最原始方式和相对效率的方式,在传播信息的渠道中具有举足轻重的地位;公交系统在提示乘客站点信息时使用了这种方式,公交语音的特点是重复度高,只需要面对单一环境;因此,模拟人类语音播报来替代一些重复度较高且不需要灵活应变情况就有它的用武之地了。在使用语音合成技术之前,查阅和分析国内外语音研究的现状对了解语音技术的实现原理和细节会有更加透彻的了解。
1.2.1 国外研究现状
国外语言合成技术研究于二百年前已经开始。不过这二百年的大部分研究都无法完成实用性的产品,近来通过计算机技术和数字信号处理技术紧密结合飞速发展下,语音技术的实际应用方面才实现了巨大的突破。这种创新体现在可以通过操作计算机来产生清晰度和自然度都非常接近人们说话的连续语音。近几十年来许多优质的国内外的研究精力和资金主要集中让沉默的书面语言转换成生动的语音。在早期采用的语音合成技术是同调整声音参数的方式来尽量模拟人类的语音。在参数调整法应用实践中最为著名的是美国语音合成技术在五十年前研发的DECtalk系统[1]。DECtalk的原理是经过串联和并联的方式将语音共振峰在特定位置进行叠加得到尽可能还原人类语音,即通过不同时刻振峰的合成从而实现对不同声音的模拟。在技术迭代前无先例的时代里,语音技术出人意料的在各大研究机构经过几年反复的钻研后又取得了迭代式的进展。基音同步叠加(PSOLA)方法横空出世使得语音合成技术又迈进了一大步。基音同步叠加技术是通过庞大的语音库来对要实现句子的拆分和重组,从而实现每个字或单词都能够是更加自然的声音。基音同步叠加语音合成技术是基于时域波形拼接方法实现,经过该技术产生的声音在音色与音质上较参数调整的声音有了巨大改善。经过各国研究人员数十年的钻研,基于基音同步叠加技术实现了对于印欧语系、汉藏语系、亚非语系等主流语系的多类语种的语音合成。通过该技术表明在本语种语音数据库规模足够大的前提下,理论上只要有详尽的语音数据库就可以拼凑出任何语种的任意语句。
1.2.2 国内研究现状
国内语音合成技术在实际应用领域相较国外的研究几乎是同步发展。国内语音合成技术经历了共振峰合成到LPC合成的模拟合成阶段,该阶段知识在语音上的模拟并未有实际应用的突破,直到LPC到PSOLA技术发展才真正实现了从实验室到广大应用领域的突破。在国家长远发展计划的激励和号召下,中国科学院等许多国家重要研究部门的通力支持和研究下,汉语文本语言转换成普通话语音实现了从无到有的巨大突破,在这种突破下各大研究机构分别研制了自己的汉语语音合成系统包括TH_SPEECH、KDTALK等系统。在汉语语音库庞大的前提下合成任意的汉语语句,因此合成的汉语语音在自然度和音质方面较之前的共振峰和LPC都有巨大提升。美中不足的是语句不仅仅是由字的基元拼凑而成,它还包括了语句的音调和整句语音的连续上。这些系统合成的句子只是一个一个字的往外播报,把整句子完全拆分成各个单字,因此在播报含有较复杂句式的篇章时会出现啼笑皆非的场面。这些不足制约了PSOLA相关系统的进入广大应用领域的可能。最近推出了KD-2000系统在语音库的拼凑阶段有了更加智能化的表现,在语音合成实现商业应用方面有了充足的发展。它通过文本预处理来解构句子的层次化思想,从而大大提高合成语音的自然度,又通过使用特殊的统计方法,较完善的解决了三个主要的处理难题,使得汉语文语转换系统相较PSOLA早期阶段的系统在语句完整性上有了飞跃式提高。
1.3 主要内容和预期目标
1.3.1 主要内容
第一章绪论主要介绍了语音合成的国内外现状和本次毕业设计的意义。
第二章是整体方案和设备选型主要介绍了整体系统的模块化组成和原理,以及不同设备的方案选择。
第三者是硬件系统的设计与实现,包括单片机最小系统三大电路的介绍、液晶显示播报信息模块、DS1302为核心的时钟实时计时模块、基于PSOLAD 语音合成模块、按键控制模块。
第四章是软件系统的设计与实现,包括主函数的设计、使用液晶来显示站点信息和时间程序、时钟实时计时程序、按键模拟公交控制程序、站点信息和服务性语句播报程序。
第五章是调试和结构,主要分为硬件的调试和软件的调试以及成果的展示。
1.3.2 预期目标
成果预期如下:
(1)液晶显示当前公交站、上一站、下一站
(2)语音模块切换报站方向,可以实现向上报站、向下报站
(3)通过按键切换路线
(4)可以更改公交报站内容
(5)显示当前时间
- 整体方案和设备选型
2.1 整体硬件设计方案
本次设计是基于STC89C52芯片的自动公交语音报站系统的实现,采用液晶显示输出站点信息和当前时间,使用时钟芯片来计时,利用语音合成模块将文本信息转换为语音信息输出。通过按键来模拟公交车进站和实现控制的功能。整体的模块化硬件原理如图2.1所示:
控制功能模块
时钟模块
图2.1 整体设计方案
整体系统开始运行开始后,控制功能模块向信号处理模块发送控制信号,信号处理模块识别控制功能后对时钟模块写入设置的时间数据,并实时读取当前时间信息;信号处理模块将数据输送到液晶模块显示,传输字节数据到语音模块输出合成的语音。
2.2 硬件设计选择
硬件设计选择的原则是在贴近所需精度和要求的前提下完成设计要求,不是精度越高越好,精度越高所需要的硬件成本也会相应提高,因此,在硬件选型方面要兼顾成本和性能。硬件选型还要考虑硬件集成度所带来的硬件实现的难度,如果有太多分立元器件,那么整体硬件系统的不确定因素就会难以计数,在硬件调试方面面临许多障碍。因此,硬件选型要选择集成度较高的芯片。
2.2.1 单片机芯片的选型
单片机芯片的选择也要遵循上述原则进行挑选,在保证能够完成设计要求所需要的引脚资源和功能条件下,尽可能降低芯片引脚的空置率。STM32是ST基于ARM公司的cortex-M架构生产的32bit的单片机如图2.1所示,STC89C52是STC公司基于Intel8031架构生产的8bit的单片机如图2.2所示,STM32芯片的内部资源和运算能力较STC89C52强出很多。本次毕业设计控制外部设备的引脚总共是15个,而且不需要进行复杂的数据计算,因此选择了性能和资源相对较适合的STC89C52芯片。
图 2.1 STM32F0芯片
图 2.2 STC89C52芯片
2.2.2 语音合成芯片的选型
语音合成功能是本次毕业设计的重要组成部分,有着不可替代的作用。因此必须要进行细致的考察和比对。如图2.3所示的XFS3031CNP是由科大讯飞公司研制的语音合成芯片采用了贴片式封装,引脚资源高达64个引脚;如图2.4所示的SYN6288是有宇音公司推出的基于上一代产品的语音合成模块,其中芯片的引脚数有28个,该模块已经完成了最小系统的实现,以及连接单片机控制芯片的准备和功放喇叭的输出。本次毕业设计只需要将特定的一些简单词句进行播报即可,并不需要添加多余的功能。因此语音合成芯片选择SYN6288。
图 2.3 XFS3031CNP
图 2.4 SYN6288
2.2.3 时钟芯片的选型
时钟芯片在本次毕业设计的功能是存储初始设置时间和在此时间上的计时,单片机不断的对其进行时间的读取来显示在液晶屏上。如图2.5是DS3231芯片内部集成了温补晶振和晶振和数字温度传感器,如图是DS1302芯片需要外接一个32.768K的无源晶振。DS3231D的精确度较高,功能也较多,然而DS3231的违背了最适原则,因此选择DS1302作为时钟计时模块的芯片。
图 2.5 DS3231
图2.6 DS1302
2.2.4 显示设备选型
如图2.7所示是LCD1602的液晶显示元件,LCD1602可以显示两行各16个数量的字符,总共可以显示32个字符[7]。LCD1602只可以显示西文字符并且显示的字符数量较少。如图2.8所示是LCD12864的液晶显示元件,LCD12864的总像素达到128X64的大小,而且内部集成了中文字库,能够实现4行各8个中文,总共32个。本次毕业设计需要显示模块显示中文,因此选择使用简易、资源较多的LCD12864作为显示设备[4]。
图 2.7 LCD1602
图 2.8 LCD12864
2.3 本章小结
本章主要完成了整体方案的确定和硬件芯片的选型。硬件系统分成五个模块,包括单片机信息处理模块、按键控制功能模块、基于DS1302的时钟实时计时模块、液晶显示站点信息和时间的模块、语音播报站点信息的模块。硬件遵循最适原则选取,从而硬件的资源能够得到最大程度的利用。
- 硬件系统的设计与实现
3.1 单片机最小系统
单片机的最小系统包括为单片机提供稳定5V电压的电源、为单片机提供频率基准的无源晶振电路和需要手动复位的复位电路组成[3]。单片机最小系统能否正常工作是整个硬件系统能否工作的前提。单片机最小系统在proteus中的仿真如图3.1所示。
图3.1 单片机最小系统
EA引脚控制CPU访问片内/外的程序存储器[2],本次设计的软件代码量不会超过8K,未使用外部程序存储芯片,因此将EA引脚接5V电源,单片机只能访问片内程序存储器的代码[5]。
单片机的电源从PC的USB端口引出,无需再设计电源电路。下面将最小系统分成若干部分讲解。
3.1.1 晶振电路
晶振是由石英晶体构成,有压电效应[6],内部的功能相当于如图3.2所示。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: