毕业设计(论文)基于单片机的公交自动报站系统的设计_第1页
毕业设计(论文)基于单片机的公交自动报站系统的设计_第2页
毕业设计(论文)基于单片机的公交自动报站系统的设计_第3页
毕业设计(论文)基于单片机的公交自动报站系统的设计_第4页
毕业设计(论文)基于单片机的公交自动报站系统的设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、石家庄铁道大学毕业设计 基于单片机的公交自动报站系统 的设计 the design of bus automatic station system based on scm 2015 届届 电气与电子工程电气与电子工程 学院学院 专专 业业 自动化(铁道信号)自动化(铁道信号) 学学 号号 20112527 学生姓名学生姓名 指导教师指导教师 完成日期完成日期 2015 年年 6 月月 2 日日 毕业设计成绩单毕业设计成绩单 学生姓名学号20112527班级电 1102-1专业自动化(铁道信号) 毕业设计题目 基于单片机的公交自动报站系统的设计 指导教师姓名胡立强 指导教师职称讲师 评 定 成

2、 绩 指导教师 得分 评阅人得分 答辩小组组长 得分 成绩: 院长签字: 年 月 日 毕业设计任务书毕业设计任务书 题目基于单片机公交自动报站系统设计 学生姓名学号20112527班级电 1102-1专业自动化(铁道信号) 承担指导任务单位电气与电子工程学院 导师 姓名 胡立强 导师 职称 讲师 一、 主要内容 公交自动报站系统的研究内容是通过学习单片机的应用和 c 语言的编程,来对 wt588d 语 音芯片,显示屏 led1602,和 stc89c52 芯片进行开发设计。通过对各个模块的了解和学习。 可以通过单片机与显示和语音模块之间的联系,来设计公交自动报站系统。通过按键的触发, 系统可以

3、播报和显示到站的信息。 二、基本要求 1.掌握 stc89c52 单片机 i/o 口控制、wt588d 语音芯片,采用 lcd1602 来显示。 2.利用 keil uvision4 开发软件对主要模块进行 c 语言编程,下载到单片机,实现各模块的 功能。 三、主要技术指标 1.完成通过按键来控制到站信息的语音播放。 2.完成通过按键来控制 lcd1602 显示到站信息,显示稳定。 3.完成系统设定模块的设计,互相之间通信可靠。 四、参考文献 1 王振红,李洋,郝承祥.wt588d 语音芯片的工作原理及其在智能控制系统中的应用j. 电子器件 2002 年 3 月第 25 卷第 1 期 2 吴金

4、戌,沈庆阳,郭庭吉.8051 单片机实践与应用m. 北京:清华大学出版社,2002 3 吴金戌,沈庆阳,郭庭吉.8051 单片机实践与应用m. 北京:清华大学出版社,2001 五、课题进度计划 第 1 周第 3 周:通过选取芯片、绘制电路图来完成硬件电路的设计。 第 4 周:绘制 pcb 并进行焊接。 第 5 周第 10 周:用 keil uvision4 编程实现对各个模块的软件设计。 第 11 周第 13 周:对各个模块进行调试。 第 14 周第 16 周:撰写论文,修改论文,提请初审,准备毕业答辩。 教研室主任签字时间 年 月 日 毕业设计(论文)开题报告毕业设计(论文)开题报告 题目基

5、于单片机的公交自动报站系统设计 学生姓名学号20112527班级电 1102-1专业自动化 一、 研究背景 根据 stc89c52 单片机的特点和公交车报站特点,本文提出了一种用单片机控制语音芯片进行公 交车语音手动报站的方法。同时给出了软硬件设计的方法,设计过程中包括硬件电路设计和软件程序 编写两个方面,解释了单片机在应用过程中的方法和可能出现的问题。本文利用 stc89c52 作为 cpu 进行总体控制,通过 wt588d 语音芯片建立语音信息库,对语音信息进行自由组合,形成变化 多样的语音信息,同时运用 lcd1602 液晶显示屏进行站数显示。当公交车到达某站点,用按键控制 本系统工作,

6、通过语音电路输出语音信息和提示。 二、国内外研究现状 意义:我国相当数量的中小城市的机动车保有量已经达到几乎饱和的程度,大力发展城市公共 交通已经成为城市管理者解决城市拥堵的主要措施。给乘坐公交车出行的人们提供舒适便捷已经成为 公交系统的主要任务,作为一个城市的公交企业,它既要代表政府体现当地城市的形象,又要尽一切 力量减少政府投资,创造良好的社会效益和经济效益。而传统的公交运营系统的装备和管理模式较难 达到这两者的完美结合。随着科学技术的发展,公交应用系统带给公交企业的将不仅是形象的提升, 也是效益的增长。虽然现在已经有些车上已经采用 gps 定位系统自动报站,但其昂贵的成本,难以 实现普及

7、。为了实现城市公交车的自动报站,设计了一套低廉、高性能的城市公交车自动报站系统具 有一定的现实意义。而对我么应届毕业生而言,通过设计可以使我们初步掌握单片机的工作原理和使 用方法。 三、主要工作 (1)通过选取芯片、绘制电路图、来完成硬件电路的设计。 (2)将所需的器件和芯片焊接在 pcb 板上,并检查是否正确。 (3)通过画的流程图,用 keil u4 编译器对 stc89c52 单片机进行编程,来实现各个模块的功能。 (4)用 jtag 将上位机编好的程序烧写到单片机中并运行程序,观察硬件各个模块产生的现象, 通过串口小助手对软件进行调试,来实现各个模块所要实现的功能。 四、采用方法 采用

8、 altium designer 绘制原理图,并制成 pcb;使用 keil u4 编译器对单片机进行编程,调试时 用 jtag 将所编好的程序对单片机进行烧写,在调试的过程中会出现很多问题,我们可以通过串口小 助手来帮助发现问题,解决问题。 五、预期效果 烧写程序后,程序正常可以运行。硬件连接正常,可以正常运行。lcd1602 可以通过按键来控 制显示到站的站名,wt588d 可以正常录入声音,以及通过按键播放到站信息。 教导主任签字时间年年 月月 日日 摘 要 最近的几年以来,城市居住人口数量的增多给城市的交通和人们的出行带来了 很大的压力。公交出行的压力更是增大了好几倍。公交是学生和工薪

9、族最重要的生 活出行手段,搭乘公交车是对国家提倡绿色环保,节能减排的大力支持。在有的城 市中,公交车的报站方式是由售票员报站。售票员每天都要扯着嗓子在吵闹的车厢 里报站。这样大大增加了售票员的劳动力,而且人的声音有限在一些吵闹的时候导 致乘客听不见报站,从而发生一些坐过站的现象。在一些无人售票的公交车上,更 是由司机报站,这样司机在进出站的时候可能会因为报站而影响注意力会导致严重 的后果。 首先我们通过对设计题目的了解和学习,要确定我们所选用的芯片。在我们的 实验室有这种可以适合我们完成这项设计的芯片。在主控模块上我选择 stc89c52 芯 片,语音芯片选择 wt588d,显示模块我们可以选

10、择 led1602。按键模块可以用一个独 立按键。这些模块通过与主控模块的联系。来实现公交自动报站的播放和显示站名。 而且该系统造价廉价,可以在中小城市中普及。 关键词:单片机语音提示液晶屏公交报站 abstract in the last few years, the increase in the number of urban residential population has brought a lot of pressure to the traffic and peoples travel. the pressure of the bus travel is increased

11、by several times. bus is the most important student and working-class life travel means, take the bus is the country to promote green, energy saving and emission reduction to support. in some cities, the bus station is reported by the conductor station. conductor every day to tear at the noisy car s

12、tation. this greatly increases the labor of the conductor, and the voice of the people is limited in some noisy lead passengers cant hear the editions station, which occurred in some sit stand phenomenon. in some of the no ticket on the bus, it is reported by the driver station, so the driver in the

13、 station and when it may because the newspaper station and the attention will cause serious consequences. first of all, through the understanding and learning of the design topics, we want to determine the chip we choose. in our lab there is this chip that can fit us to complete the design. in the m

14、ain control module i chose stc89c52 chip, voice chip select wt588d, showing the module we can choose led1602. keys module can use an independent key. the modules are connected with the master module. to achieve the bus stop and show the station name. and the system is cheap and can be popularized in

15、 small and medium cities. key words: microcontrollervoice promptlcd screenbus stop announcer 目录 第第 1 1 章章 绪论绪论.1 1.1 课题研究的目的意义.1 1.2 国内外研究的现状.1 1.3 本设计研究内容.1 第第 2 2 章章 系统设计的总体方案系统设计的总体方案.3 2.1 系统的设计思路 .3 2.2 系统的功能要求.3 2.3 总体设计框图.3 第第 3 3 章章 系统硬件的设计系统硬件的设计.5 3.1概述.5 3.2主控模块.5 3.2.1 时钟电路的应用.6 3.2.2 复位

16、电路的应用.6 3.2.3 功能特性:.7 3.3 语音模块.8 3.3.1 控制方式.9 3.3.2 一线串口功能特性: .10 3.4 显示和按键模块.12 3.4.1 显示模块简介:.12 3.4.2 显示模块功能的实现: .14 3.4.3 独立按键的作用:.15 第第 4 4 章章系统软件设计系统软件设计.17 4.1 系统的主流程图 .17 4.2 显示模块.18 4.3键盘扫描模块设计.19 4.4 语音录入模块设计 .20 第第 5 5 章章系统调试与分析系统调试与分析 .21 5.1 主控模块的调试.21 5.2 语音模块的调试.23 第第 6 6 章章结论与展望结论与展望.

17、26 6.1 结论.26 6.2 展望.26 参考文献参考文献.28 致致 谢谢.29 第 1 章 绪论 1.1 课题研究的目的意义 最近的几年以来,城市居住人口数量的增多给城市的交通和人们的出行带来了 很大的压力。公交出行的压力更是增大了好几倍。公交是学生和工薪族最重要的生 活出行手段,搭乘公交车是对国家提倡绿色环保,节能减排的大力支持。在有的城 市中,公交车的报站方式是由售票员报站。售票员每天都要扯着嗓子在吵闹的车厢 里报站。这样大大增加了售票员的劳动力,而且人的声音有限在一些吵闹的时候导 致乘客听不见报站,从而发生一些坐过站的现象。在一些无人售票的公交车上,更 是由司机报站,这样司机在进

18、出站的时候可能会因为报站而影响注意力会导致严重 的后果。公交自动报站系统,就彻底解决了这些问题。通过司机按下按键就可以用 语音播报到站的站名,和显示出到站的站名。这样就可以节省售票员的劳动力,也 可以在提醒乘客到站的时候避免乘客误站而没有及时下车。 1.2 国内外研究的现状 公交自动报站在现实生活中常见有 2 种模式:第一种就是 gps 定位系统自动报 站,这种自动报站的模式是通过卫星定位来自动报告车辆地点。在欧美一些国家, 已经在公交报站系统上采用 gps 定位了,国内 gps 语音自动报站还处于试验.只有一 些大城市在采用这种报站模式。但是这种模式存在一定的问题,在一些乡镇由于树 木和地理

19、原因会导致报站不准确。而且这种模式造价相对来说比较贵。第二种就是 基于单片机自动报站,这种系统需要由司机在公交车进站的时候人工操作,这种模 式可以准确的报站。用单片机控制到站时的自动语音报站和 lcd 液晶显示,而且该 系统造价廉价,可以在中小城市中普及。 1.3 本设计研究内容 公交自动报站系统的研究内容是通过学习单片机的应用和 c 语言的编程,来对 wt588d 语音芯片,显示屏 led1602,和 stc89c52 芯片进行开发设计。通过对这些芯 片的了解,学习了如何可以实现这些芯片的功能。这些芯片可以构成一个个模块, 可以通过单片机与显示屏和语音模块之间的联系,来对公交自动报站系统进行

20、设计。 通过按键的触发,系统可以播报和显示到站的信息。 1、整体方案的设计 首先我们通过对设计题目的了解和学习,要确定我们所选用的芯片。在我们的 实验室有这种可以适合我们完成这项设计的芯片。在主控模块上我选择 stc89c52 芯 片,语音芯片选择 wt588d,显示模块我们可以选择 led1602。按键模块可以用一个独 立按键。这些模块通过与主控模块的联系。来实现公交自动报站的播放和显示站名。 2、程序流程图及软件设计 老师指导我们在做设计时,不能盲目下手,要事先画好流程图,这样有助于设 计的梳理,不易出错。画好流程图,方便我们。 模块之间互相合理的连接,才可以更好的让每一个模块都实现它的功

21、能。最后 形成一段完整的结果。软件的设计包括系统初始化设计,语音播放的设计,lcd1602 显示程序的设计,以及主要程序设计等程序,模块可以采用结构化的设计,这样易 于对整个系统的观察,果发现问题可以及时清除和改正。系统采用的软件开发是 keil c,用 c 语言编写程序。 3、系统原理图及硬件调试 通过对每一个模块的硬件都有所了解与学习后。我们要在 ad10 上画出原理图, 并且根据原理图连接各个模块。对模块之间进行连接后,我们在进行电气的仿真。 为了确保系统可靠性分析的搜索和模拟硬件模块的调试。 第 2 章 系统设计的总体方案 2.1 系统的设计思路 在对公交报站的内部系统的流程有了一定的

22、了解,明确了该系统的要实现的主 要功能之后,确定自己完成设计的思路。这次设计需要先确定一个主控模块,因为 单片机的种类繁多,自己的水平有限,尽量找到适合自己使用的的单片机芯片。主 控模块芯片的选择 stc89c52。然后就是需要确定合适的语音芯片来作为语音模块, 对公交站名进行语音播放,语音芯片的选择是 wt588d。最后确定要按键和显示的模 块,显示用 lcd1602 显示屏,按键就用一个单独的按键来控制。 2.2 系统的功能要求 (1)采用 stc89c52 来作为系统控制芯片,来完成对按键的信息的读取,输出对 应的信息到语音模块,然后进行报站。显示模块在收到信息后也会同步显示到站信 息。

23、 (2)采用 wt588d 芯片作为语音芯片,实现对公交车站的车站信息进行语音收录 和到站播放语音的功能。 (3)采用 1 个独立的按键,通过司机的对按键的操作来控制站名的播放。 (4)采用 led1602 来显示相应的到站信息。 2.3 总体设计框图 根据公交报站系统要实现功能的具体要求。尽量在保证其功能的基础上,对系 统的成本开支也要能省节省。整体设计初步确定的方案如图 2-1 所示: stc89c52主控单片机 w t 5 8 8 d 语 音 模 块 独 立 按 键 摸 块 l c d 显 示 模 块 图 2-1系统初步方案 从图中可以看出,该系统的主控芯片是选择 stc89c52 芯片

24、。与它相互联系的是 独立按键模块,wt588d 语音芯片模块,和作为显示模块的 lcd1602。在设计过程 中,遵循尽量避免复杂的原则。这些模块之间都采用串行方式与主控模块相连接。 这样系统的硬件部分就可以分为主控 stc89c52,语音模块为 wt588d,按键模块, 和 lcd1602 显示模块。这次设计的核心就是上面介绍的四个模块,只有至四个模块 各尽其能。才能实现把这次设计的功能全发挥出来。 第 3 章 系统硬件的设计 3.1概述 这次设计的系统硬件是由 4 个模块组成的。分别是主控 stc89c52 芯片,语音 wt588d 芯片,两个独立按键组成的按键模块,还有用来显示的 lcd1

25、602。其中对 语音芯片 wt588d 录音和播放进行主要研究。stc89c52 为主控芯片,其他模块围 绕着主控芯片。芯片接口串行连接各个模块,实现各个模块的主要功能。需要实现 的功能;语音模块主要是指利用 wt588d 芯片实现录音和播放功能,是 lcd 液晶 显示模块用于显示站点信息。按键控制模块用于控制的关键是相应模块的功能,实 现到站播放语音。 3.2主控模块 本次设计选择 stc89c52 芯片。因为通过了解和学习,在众多单片机中 stc89c52 是最适合新手的。我自己认为 stc89c52 也是最适合作为这次设计的主 控模块。因为 stc 都是 isp 的,就是在线用串口编程的

26、,而且它的内部有时钟电路 和复位电路。这样使我在设计程序时也带来了很大的方便。用 c 语音编程完后可以 在线直接把程序下载到芯片,价格相对来说也便宜。正好满足了这次设计的要求。 而且对于初学者的我来说的确比较容易上手。stc89c52 结构如下图: 控制按键 s t c 8 9 c 5 2 复位电路 时钟电路 语音模块 显示模块 图 3-1 主控芯片结构图 3.2.1 时钟电路的应用 时钟电路是在单片机的外面接两个电容和一个石英晶振。xtal1 和 xtal2 分别 为反相放大器的输入和输出。时钟电路就是一个晶体振荡器,给单片机提供一个节 拍,单片机执行各种操作必须在这个节拍的控制下才能进行。

27、因此单片机没有时钟 电路是不会正常工作的。时钟电路本身是不会控制什么东西。在本次设计中,通过 程序让单片机的时钟电路来消除司机在按键时抖动,消除时间为 1ms。时钟电路电 路图如下: 图 3-1 时钟电路电路图 图中的 c1,c2 的两端分别接晶振和接地,晶振的负载电容 cl 和两端的接地电容 c1、c2 的关系如下: cl=(c1*c2)/(c1+c2)+cs cs cs 取值一般为 36pf,它的大小会对晶振的输出幅度和谐振频率有影响。c1,c2 的值为 30pf,那么 cl 的值就在 18pf20pf 之间。晶振负载电容的大小会影响谐振 频率和输出幅度。 89c52 的单片机是 12 个

28、机器周期为 1 个指令周期。晶振为 12m,也就是 1 个指令 周期的时间为 1us,所以理论上最多能测 0.5m 的外部频率。 3.2.2 复位电路的应用 单片机每次工作都要把电路处于一定的初始确定状态。所以每次都要对单片 机进行复位。它的作用就是让程序每次从初始化 0000h 开始进行工作,执行程序。 当出现一些特殊的情况时,例如操作上的失误和程序在运行时突然停止出错,就需 要按 rst 来重新让工作开始。由于本次设计采用的是开发板,所以在程序的运行如 果出现错误时,就要采取手动复位的方法,复位电路电路图如下: 图 3-3 复位电路电路图 rst 引脚是复位信号的输入端。复位信号是高电平有

29、效,其有效时间应持续 24 个 振荡周期(即二个机器周期)以上。 3.2.3 功能特性: stc89c52 是一种 cmos8 位微控制器具有低损耗,高性能的特点。该芯片使用 经典的 mcs-51 内核。片内有 4 k 字节的可在线编程,快速擦除快速写入存储器, 可以重复 1000 次,数据保存时间十年。兼容 mcs - 51 系列单片机、应用程序空间 为 8k 字节程序存储器、可擦写周期为 1000 次、全静态工作:0hz33hz 、三级存 储程序器加密、32 个可编程 i/o 口线 、间歇和掉电两种工作方式 、 一个全双工的 异步串行口、低功耗空闲和掉电模式、强抗干扰: 高抗静电(esd

30、保护) ,轻松过 2kv/4kv 快速脉冲干扰、电压,不怕电源抖动、温度范围,-4085 。 引脚功能:stc89c52 的 p0 脚是作为输出端口的。p0.0p0.7 可与显示 lcd1602 的 d0d7 相互连接。根据显示端需要的程序编程,这样就可以把单片机的控制指令 传输出到显示端,显示端就可以显示站名的内容。p0 口在对外部程序以及数据储存 器进行访问时,端口也能提供 1 个 8 位数据复用总线和低 8 位地址。输出的是指令 字节。为验证外部上拉电阻是必需的。p1 口中作为单片机的输出口,其中 p1.6 口 与语音芯片的 p0.3 口相连接,控制的模式是一线串口控制模式。由单片机把指

31、令输出 给语音芯片进行控制站名的播报。外部下拉会导致 p1 口为低电平时,输出电流,因 为有一个内部上拉电阻,外部拉引脚会输出一个电流。单片机的 p2 口没有没有参与 到此次设计。p2 口的作用是,写的一个“1” ,通过内部的上拉电阻端口达到一个非 常高的水平,可以使输入,作为输入口,由于内部上拉电阻,使用时由外部信号输 出电流决定的。访问外部程序存储器或 16 位地址的外部数据存储器时,2 口送出高 8 位地址数据。八访问外部数据存储器时处理时,p2 口输出寄存器的内容及其特殊 功能。p3 口中有 p3.2 口与独立按键连接。可以使按键执行中断的作用。这样每次 按键就可以播报一个站名。p3.

32、4 口与 p3.5 口是让显示端的正常进行显示工作。 具体电路图如下: 图 3-4 主控电路图 3.3 语音模块 本次设计采用的语音芯片是 wt588d 芯片。wt588d 系列语音单片机是台湾华邦 有限公司联合广州唯创科技有限公司共同研发出来的可编程语音芯片该芯片是集语 音电路,单片机于一体。该芯片有高品质的音质,而且在现实生活中应用范围也非 常广,一些语音玩具,和门铃报警器等等都是选用的 wt588d。wt588d 语音模块本身 也可以做为最小应用电路。只需要与电源和扬声器相连就可以语音播报。弥补了其 他语音芯片的在应用上的小不足。下面是 wt588d 应用框图: wt588d busy

33、输出 控制端 usb下 载 spi- falsh 音频输 出 图 3-5 wt588d 应用框图 3.3.1 控制方式 wt588d 芯片可以直接由按键控制,也有 mp3 控制方式,按键合并后控制方式, 并行端口控制方式,一线串口与三线串口还可以与单片机相连进行控制的方式。可 以使应用此程序的人员将产品完美的应用到各个领域。wt588d 作为一款语音芯片的 基础上,追求精益求精的音质品质,完全支持 622 千赫兹音频采样率的加载,芯 片独一无二的就是加载音频的声音几乎完好无损。wt588d 最灵活的地方就是在语音 的收录方面。可以将语音内容重复擦写,只要下载 wt588d voicechip

34、这个与 wt588d 语音芯片配套的软件。这样将自己需要的声音文件通过这个软件来烧进 wt588d 语音芯片。wt588d 系列单片机模块内置 spi 闪存,wt588d 系列单片机根据实 际使用外部声音 spi 闪存,许多控制方式,结合声音,只需要替换 spi - flash 内容, 可以完全实现操作模式开关。wt588d 系列支持声音单片机 spi -在线下载 flash 内 容,它是应用程序人员不可或缺的优势。软件操作模式简洁和容易理解,匹配相结合 的语音技术,大大减少了声音的编辑时间。mp3 控制方式完全迎合市场需求,语音播 放/暂停,停止,上一首 ,下一首,音量+,音量-,灵活触发按

35、钮控制方式,可以任意设 置任何按钮可重复触发脉冲,脉冲不可重复触发,无效的键,水平保持循环,以及水平, 水平保持循环不断的循环回收,单键向前而不是向后,单键不是循环,单键可以循环, 音可以控制多达 10 个按键触发输出;38 组合键控制方式可以触发可重用的形式触 发脉冲 24 地址的声音,声音可以由地址设置 0 219 之间。 通过对芯片的学习,我选择了一线串口的控制方式。芯片的 p0.3 口为输入脚, 通过一根线就可以与单片机相连,然后在工作时就由单片机输出数据对语音播放进 行控制。音频输出的方式是把扬声器与 pwm+,pwm-,x 相连,直接就可发声,电源就 是采用直流 5+电源来供电。具

36、体如图 3-5:而且应用范围广泛,可以涉及几乎所有声 音网站,如停止,报警、提醒、闹钟、机器学习、智能家电、治疗仪、电子玩具、电 信、以及各种自动控制设备和其他地方,在工艺上以满足工业应用的要求。 语音芯 片 wt588 d 一线串 口模式 pwm输出 扬声器 直流+5v 电源 图 3-5 语音电路控制方式 3.3.2 一线串口功能特性: 一线串口的控制模式,是通过单片机来输出指令控制语音模块。用单片机的中 断来控制站名的播放,一个站名对应一个地址。地址是从 00h 开始,有 220 段地址 可以使用。但是在设置一线串口模式时,要注意他的 p0.3 口与单片机相连,所以第 四个地址 03h 对

37、应的按键地址就是按键 5,而不是按键 4。设置好地址后,接收到单 片机的指令就可以正常工作了。下面是一线串口设置流程图和主要功能。 主要功能: 1.外挂 2m32m 的 flash,时间从 321054 秒。采样率支持 6k22k 2.dac 输出:13bit,pwm 输出:12bit 3.内部设置 0.5w 的功放,直接可带动 0.5w/8 扬声设备。 4.支持 mp3/wav/wma 三种音频格式的加载。 5.工作电压:dc2.8v5.5v 6.静态休眠电流:10ua 7. 通过计算机软件,可以任意组合语音,静音可以插入,插入静音并不会占用内 存容量,可以重复加载声音调用多个地址,重复调用

38、,不占空间,其他芯片不具备这种 特点 8.usb 下载方式,支持在线下载/isp 下载 9.7 种控制方式:按键的控制、mp3 的控制、38 矩阵的控制、并口控制、一 线,三线串口以及三线串口控制 i/o 口扩展输出模式。 10.掩膜后的管脚与原来一致,性能一样,音质一样。不用更改电路。且不用焊 接 flash 11.最多可加载 500 段语音。 12.插入的静音时间范围 10ms25min;静音不占用存储空间; 打开 wt588dvoicech ip软件 选择一线串口 模式 地址的设置 编译成bin 文件 下载到 wt588d 图 3-6 设置流程图 3.3.3 语音芯片模块电路原理图 st

39、c89c52 和 wt588d 之间的控制方式是一线串口方式,只需要一根线相连就 可以由单片机输出数据,语音芯片收到单片机的指令从而发声工作。语音模块的 p0.3 口为输入口,扬声器接 pwm 输出口,电源为 5v 直流电源。下面为语音模块 原理图。 图 3-6语音芯片模块电路原理图 3.4 显示和按键模块 3.4.1 显示模块简介: 在当今社会,信息化的发展越来越迅猛。在社会上的也有着不可替代的重要性。 获取信息的方式主要是依赖于显示的方式来表达。在现代社会的显示方式中 lcd 液晶显示器和 led 显示屏是显示技术中的主流,特别是以 lcd 液晶显示器为代 表的平板显示器发展最快而且使用最

40、广泛的。液晶是典型的发光装置,在材料科学基 础上,综合利用精密机械、光电、计算机技术和微机械、微型光学、光纤等前沿领域 研究,向高度集成,智能化的方向发展。 lcd 在大小和形状上更加灵活,与单片机接口简单,不但可以显示数字字符, 的简单显示,还可以显示各种曲线、图形及文字。现在社会 lcd 液晶模块得到了广 泛的应用,随着液晶技术的突破,液晶显示器的质量有了很大的提高。作为一种显 示器,lcd 液晶广泛用于低功率产品是特有的优点,如仪器、仪表、电子设备等。在 过去 led 液晶用于参数的显示设置和结果显示,不仅有各种各样的黑白液晶显示器,也 更好的彩色液晶显示。lcd1602 可以与八位微处

41、理器接口直接连接,使用方便,价格 便宜。符合这次设计显示模块的有 lcd1602 和 lcd12864。没有找到带字库的 lcd128064 显示芯片,而且 lcd12864 的使用方法也比较困难。lcd1602 虽然不可 以显示文字,但是相比于不带字库的 lcd12864 使用起来相对于等心应手。我们可 以用 no.1 这用方式来显示站名。这样也可以达到我们需要的设计效果。而且成本 也相对较低。lcd1602 内部结构图如下图: lcd驱 动器 lcd控 制器 lcd显 示装置 图 3-7 lcd1602 内部结构图 3.4.2 显示模块功能的实现: lcd1602 内建有字符发声器,虽然不

42、能显示汉字,但是我们可以用字符来代替。 比如“石家庄铁道大学东门站”在显示端就会显示出“number:dong”。很方便。 我们在从 lcd1602 调用地址时,需要注意,我们如果往 ram 里的 00h 地址里送一 个数据,我们不能直接用 0x31,这样并不能显示出“1”来。我们必须要将 00h 加 上 80h,只有这样才可以显示出数据。引脚:1602 采取标准的 16 脚接口: 第 1 脚:vss 一般为接地。 第 2 脚:vcc 接+5v 电源。 第 3 脚:v0 为液晶显示器对比度调整。对比度弱时是接正电源,强时接负电源。 第 4 脚:rs 为寄存器选择,高电平 1 时选择输入指令、低

43、电平 0 时选择指令寄 存器。 第 5 脚:rw 为读写信号线,高电平 1 时从 lcd 读取信息、低电平 0 时向 lcd 写入指令或数据。 第 6 脚:使能信号,高电平 1 时读取信息 下降沿使能时写入信息。 第 714 脚:d0d7 是双向输入端,低 4 位,高 4 位。 第 1516 脚:空脚或背灯电源。15 引脚是电源正极,16 引脚是电源负极。 基本参数: 读状态:输入:rs=l,rw=h,e=h 输出:d0d7=状态 字 写指令:输入:rs=l,rw=l,d0d7=指令码,e=高脉冲,输出:无 读数据:输入:rs=h,rw=h,e=h 写数据:输入:rs=h,rw=l,d0d7=

44、数据,e=高脉冲 。下图为 lcd1602 连接 原理图: 图 3-9 1602 连接图 3.4.3 独立按键的作用: 按键模块在单片机控制中很重要。查询,输入,显示,都要用到按键模块。而 且按键是人工干预计算机的手段。按键的方式分为两类,独立按键和矩阵式按键。 矩阵式键盘:这次设计选用了开发板,开发板上的矩阵式键盘可以直接运用到实际 电路当中。按键数量有 20 个,呈矩阵 5*4 排列。这样的排列通常是为了减少单片机 i/o 口的占用。这 20 个按键他们的位置由矩阵的行,列固定。用二进制来对它们的 位置进行编码。然后合成一个字节,列号是低 4 位,高 4 位是行号。这个矩阵键盘 要比普通的

45、对单个按键应用略难一些,识别也复杂一些。在设计中使用的是一个独 立按键,他连接的就是单片机中端口,可以利用中断控制显示和语音。按下一次就 会进行到播放和显示的程序。在设计中就是按第一下会报站“石家庄铁道大学东门” 同时也会有对应的显示。到了下一站再次按下按键就会有同样的功能实现。独立按 键的电路原理图如下: 图 3-10 第 4 章系统软件设计 4.1 系统的主流程图 在对本设计进行充分了解后,需要先建立一个整体的流程图,这样方便设计。 然后对整个设计进行模块的划分。软件设计主要是来完成公交语音报站的功能。采 用 stc89c52 作为主控模块,wt588d 作为语音收录和播放到站信息模块,l

46、cd1602 为显 示到站信息模块。2 个独立按键为按键模块。主控程序初始化使整个系统开始正常 的工作。然后输出指令给主控芯片,设置按键的功能。判断按键的是否按下,是否 是对应的按键。然后在逐步完成语音报站,和显示站名的功能。通过对各个模块的 系统软件进行编程和调试。最后确定出流程图。程序流程图如下: 开始 系统初始化 判断k1是否 被按下 调用按键子程序 判断按键次数 调用语音 放音子程 序 调用显示 模块子程 序 结束 图 4-1 主系统流程图 4.2 显示模块 lcd1602 作为这次设计的显示液晶屏。最初就要根据 1602 的地址表写出对应的英 文或字符,来显示对应车站的信息。在主控模

47、块输出第一站的指令时,显示器就会 显示第一站的信息。当输出第二站的指令时,第二站对应的站名信息就会被显示出 来。如图 4-2: 开始 系统初始化 判断k1是否 被按下? 判断按键次 数 显示对应着的站 名 结束 图 4-2 显示模块流程图 4.3键盘扫描模块设计 键盘模块的设计我是采用的 1 个独立按键的方式。由司机在确定公交车到站后, 对按键进行操作。在按下键后,由单片机接收按键的信息。判断按键是否被司机按 下,判断司机是按的那个键。当收到有键按下后,单片机会读取信息从而对各个模 块开始输出信息正常运行各模块功能。如图: 开始 系统初始化 是否有键按 下? 否无操作 判断键值 执行对应操作

48、结束 图 4-3键盘扫描流程图 4.4 语音录入模块设计 在语音的收录上面,我显示在网上下载一个有文字生成语音的文件。了解和学习 这款软件的应用,这样可以根据自己的想法来对公交站名进行语音生成。如:石家 庄铁道大学东门,石家庄铁道大学南门等等。然后在把生成的软件用 wt588d 配套 的 wt588d voicechip 这个软件来把站名语音下载到语音模块上。先用按键模式检 测是否成功把站名语音下载进去。成功了就把控制方式改为由单片机控制的三线串 口模式。具体步骤如下面流程图。 图 4-4 制作语音模 块流程图 第 5 章系 统调试与分 析 5.1 主控模 块的调试 这个设计 是在 keil

49、c 环 境下开发的, 对于单片机学 习的新手来说 我觉得 keil c 软件是我的最 佳选择。因为 keil c 的安装 比较简单,大 部分 windows 系统都可以安装。学习安装和使用 keil c 软件是这次毕业设计的首要任务。对 keil c 进行细致的了解和学习后,我们就可以在 keil c 软件上开始工作了。我们用 c 语 言在 keil c 软件上编程,程序用 keil c 编译完成后以后缀为.hex 的形式保存。把程 序通过 stc_isp_v480 软件烧录到开发板上,实现单片机与程序的相连接。为了可 以完美的烧录程序,我们需要对 stc_isp_v480 软件进行一些设置。

50、第一步:找到 mcu type 然后把芯片设成 stc89c52。第二步:打开刚刚在 keil c 上编辑好的.hex 文 打开文字转语音 软件 把站名转换为语音播 放 下载转换好的语音文 件 把文件通过 wt588dvoicechip下载到 wt588d 通过扬声器播放站名语 音 件。第三步:打开电脑设备管理器查看 51 开发板的串口是哪个口,选择 com4 口。 第四步:点击下载按钮,等待下载完后上电即可。stc_isp_v480 软件操作流程图 如下: 打开软件 设置mcu type为 stc89c52rc 打开编写好的程序 择与其对应的端口 com 点击download/下载, 等提示

51、 给mcu 上电时打开开 发板开关 自动烧写程序 keil c 程序运行如图 5-1 所示: 5.2 语音模块的调试 这次设计 wt588d 语音芯片与主控芯片是采用的三线串口控制方式。通过对 wt588d 的了解,发现它的操作很适合这次设计的内容。先下载与 wt588d 配套的 wt588d voicechip 这个软件。如图: wt588d voicechip 软件图 首先我们要把制作好的公交站名的音乐文件通过 wt588d voicechip 编译成 bin 文件。然后通过下载器下载到 wt588d 中。之后我们在连接扬声器看声音是否有效的 可以播放出声音来。然后选择控制模式为三线串口控

52、制,设置对应的按键。然后装 载语音地址,最后通过下载器下载到 wt588d 中。下面是操作步骤流程图: 新建工程 设置存储器容量 装载语音 设置控制模式 设置音频输出模式 设置busy输出方式 设置按键地址 装载语音地址 编译工程 下载到spi-falsh 第 6 章结论与展望 6.1 结论 这次的公交自动报站系统主要是通过主控模块对其他个各个模块的控制。然后 对软件进行编程。最后的设计结果也基本可以完成通过司机按键来控制公交车到站 后语音播放站名和同步显示到站信息。虽然设计成果会有些小的缺陷或不足。但是 在出现问题后尝试了各种的改进,虽然最后效果一般,但是我学到了一些知识。这 个对于我来说是

53、很宝贵的。 在经历了大约两个月的时间奋斗,从开始确定论文题目,然后自己查找资料, 准备硬件,学习软件的使用,最后实验编程调试。在完成毕设的期间,我觉得给了 我很大的锻炼机会。自己的理论知识有了一定的增长,动手能力也大大超过了以往。 了解了硬件的结构和单片机的编程方法,对单片机工作有了一定的认识。而且,对 其他模块的芯片和设备也有了一定的了解。如 wt588d 的配套软件 wt588d voicechip,现在就可以通过它把自己设计的一些声音传到 wt588d 里。最重要的是 在这段时间我知道了完成一个设计项目的必须要做的步骤。第一步:先充分了解系 统要实现什么功能,学习系统需要硬件的资料。第二

54、步:购买合适系统的硬件,在 硬件的选择上我们要以硬件是否可以充分满足系统的要求为基础。然后考虑硬件的 性价比。第三步:就是对各个硬件对应需要的软件来学习,对各种硬件实现的软件 应该明确,如何更好地实现各种硬件的协调,通过主控制装置可以更好地实现硬件 功能。最后,通过各种测试和调试,更好的完成了系统的需求设计。 由于我对单片机的学习还不是很到位,所以这次设计可能会存在一些小的缺 陷。需要在结合实际应用上继续改善。这次设计的公交报站系统是以单片为主要控 制核心,与其他设备相互配合,基本可以满足需要的功能,而且造价少,操作简单, 系统性能保持良好。 6.2 展望 通过做这次的毕业设计,我对公交报站系

55、统也有了更多的了解。现在一些城市 开始普及 gps 定位报站系统。这样会节省司机的劳动力,让司机在进出站时可以省 去报站的工作而专心注意安全。社会在逐渐的进步,以后的公交报站系统会更加多 元化。可以在快到站的时候为乘客语音播放下个站的路面信息和换乘情况。通过信 息化的开发和设计,我相信会有越来越多的人性化设计来充实我们的生活。 参考文献 1 陈明荧.8051 单片机课程设计实训教材m. 北京:清华大学出版社,2003 2 徐新艳.单片机原理、应用与实践m. 北京:高等教育出版社,2005 3 吴金戌,沈庆阳,郭庭吉.8051 单片机实践与应用m. 北京:清华大学出 版社,2002 4 王千.实

56、用电子电路大全m. 电子工业出版社,2001 5 冯博琴.微型计算机原理与接口技术m. 北京:清华大学出版社,2004 6 张毅刚.mcs-51 单片机应用设计m. 哈尔滨工业大学出版社,2004 7 张淑清,姜万录等.单片微型计算机接口技术及应用m. 国防工业出版社, 2003 8 吴金戌,沈庆阳,郭庭吉.8051 单片机实践与应用m. 北京:清华大学出 版社,2001 9 赵亮,侯国锐.单片机 c 语言编程与实例m. 北京:人民邮电出版社,2003 10 王振红,李洋,郝承祥.wt588d 语音芯片的工作原理及其在智能控制系统中的 应用j. 电子器件 2002 年 3 月第 25 卷第 1

57、 期 11 ingle-chip voice record/playback devices 4-, 5-, 6-, and 8-minute durations,1990 12 analog devices.the technology of at89c51eb/ol.white paper,spe.28,2000 致 谢 值此论文完成之际,谨向我的导师胡立强老师表示衷心的感谢!从选题,设计 以及后来的调试都得到了胡立强老师的帮助。尽管胡老师很忙,但还是给予了我多 次指导,询问进度情况,督促我的工作,尽心尽力,甚至周末,也不曾休息,通过 电话等方式询问进展情况。我能顺利完成,与胡老师的帮助密

58、不可分。在我与搭档 一起对自动售水机实验板功能进行调试的时候,胡老师更给了我们不少建议与意见, 让我们少走了不少的弯路。 同时,对 205 教研室表示感谢,感谢他们在资源有限的情况下,给我提供了良 好的软硬件环境,使得我能够全力投入到工作中。在我软件调试得到何朝峰老师的 帮助,在此表示忠心的感谢! 在此期间,还有许多同学给了我很大的帮助,在我很迷惑的时候是跟他们一起 研究学习,最后完成了软件的编写。没有他们我的软件设计过程不会那么顺利,在 此,我对所有关心过我、帮助过我的人表示最衷心的谢意! 附录附录 a a 整体设计电路图整体设计电路图 附录附录 b b 系统软件程序系统软件程序 #include #define uint unsigned int #define ucha

温馨提示

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

评论

0/150

提交评论