教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

公交车语音自动报站系统的设计第3稿11(2)

来源:网络收集 时间:2025-04-25
导读: 公交车语音自动报站设计 4.2键盘扫描控制模块 本系统采用外部中断方式进行键盘扫描。工作原来为:在没有按键按下的时候,没有产生中断,有按键按下的时候由高电平跳变到低电平,产生一个下降沿,触发中断,然后在中

公交车语音自动报站设计

4.2键盘扫描控制模块

本系统采用外部中断方式进行键盘扫描。工作原来为:在没有按键按下的时候,没有产生中断,有按键按下的时候由高电平跳变到低电平,产生一个下降沿,触发中断,然后在中断服务程序中进行键盘扫描并获得不同的按键信息,根据不同的按键来进行不同的设定控制。其流程图如图4.2。

图4.2 键盘扫描流程图

键盘扫描程序:

void out0(void) interrupt 0 {

//外部中断0 键盘扫描

公交车语音自动报站设计

key_num=key_scan(); }

unsigned char key_scan(void) {

unsigned char aa; if((P3&0x0b)!=0x0b) {

while(aa--); if((P3&0x0b)!=0x0b) {

switch (P3&0x0b) {

case 0x0a:return(1);break; case 0x09:return(2);break;

case 0x03:return(3);break; } } }

else return(0); }

4.3信号采集模块

该模块主要是通过单片机控制模数转换芯片来获取当前的道路位置信息,其控制流程图4.3。

图4.3 AD转换控制流程图

信号采集程序:

公交车语音自动报站设计

unsigned char get_ad(unsigned char abc) {

unsigned char Vx=0; switch(abc) {

case 0:{abc_c=0;abc_b=0;abc_a=0;break;} case 1:{abc_c=0;abc_b=0;abc_a=1;break;} case 2:{abc_c=0;abc_b=1;abc_a=0;break;} case 3:{abc_c=0;abc_b=1;abc_a=1;break;} case 4:{abc_c=1;abc_b=0;abc_a=0;break;} case 5:{abc_c=1;abc_b=0;abc_a=1;break;} case 6:{abc_c=1;abc_b=1;abc_a=0;break;}

case 7:{abc_c=1;abc_b=1;abc_a=1;break;} }

START=1;START=0; //启动转换 while(EOC==0); //查询法读结果 OE=1;

Vx=P1&0xfe; OE=0; return(Vx); }

4.4语音模块

该模块主要通过单片机控制语音芯片的工作模式来完成不同模式的工作,要达到语音播报的功能,首先就是要将声音信号播报信号录如语音芯片并能够自由的控制其播放,到达不同的站点控制播报相对应的语音信息。 4.4.1 录音模式

通过控制语音芯片工作在录音模式,采用串行控制的方式来控制录音的段数,并在液晶屏上显示录音时间,其操作流程如图4.4。

图4.4 录音模式流程图

公交车语音自动报站设计

4.4.2 放音模式

通过控制语音芯片工作在放音模式,采用串行控制的方式来控制放音的段数,并在液晶屏上显示放音时间,用来检测录音是否正确,其操作流程如图4.5。

图4.5 放音模式流程图

4.4.3 公交报站模式

通过控制语音芯片工作在放音乐模式,并根据信号采集模块采集的站点信息来控制控制的播放相对应的语音信息,同时液晶显示器给以文字提示,其操作流程如图4.6。

图4.6公交报站模式流程图

5 系统的制作测试与分析

5.1 硬件制作与调试

根据上述对各个模块方案的分析和论述,选择适合该设计要求的电路控制芯片和元器件,进行硬件的安装、焊接的制作过程,进而在进行硬件性能的检测。根据

公交车语音自动报站设计

上述系统硬件和软件的设计基础,进行系统的调试,以检查系统设计的完整性和可行性。调试主要用到的开发工具为Proteus。根据仿真成功的基础制作硬件电路,以使电路的可行性有所保障,硬件制作后对硬件进行调试和改进,使得电路系统能够实现预期的功能。 5.1.1 软件仿真

该系统的软件仿真采用Proteus软件。在Proteus元件库找出所要需要的元件,根据设计的电路在Proteus电路仿真窗口把各元件连接起来形成电路,再将通过了调试的程序加载到单片机上,就可以运行看能否实现功能。然后再通过单步运行,慢慢调试,直到满足要求。系统软件仿真电路如图5.1所示。

图5.1 Proteus仿真环境

5.1.2 硬件制作

根据前面对硬件的仿真设计和具体的调试,证明系统硬件电路部分具有可行性。所以在此基础上选取符合各单元电路性能要求的元器件进行筛选、测试、焊接。经过对单元电路的调试和系统功能的整体测试、优化和修改,形成了满足设计任务要求的硬件系统。公交车语音自动报站系统正常工作时的外形如图5.2所示。

公交车语音自动报站设计

图5.2 硬件实物图

第一个按键:模式的选择,即放音模式、录音模式、正顺序显示模式;第二个键:录音的开始或结束;第三个键:放音的开始。系统在正常工作时,让第一个按键选择到正顺序显示模式,当红外检测到第一条黑线时即出站,语音芯片会播报欢迎词;当红外检测到第二条黑线时即进站,语音芯片会播报第一个站的站名,液晶显示当前站名;当红外检测到第三条黑线时即出站,语音芯片会播报下一站的站名,液晶显示下一站的站名;当红外检测到第四条黑线时即进站,语音芯片会播报第二个站的站名,液晶显示当前的站名;依次类推。 5.2 软件测试与分析

根据上述硬件系统电路的制作与调试,结合软件设计,进行系统的调试,同时检查系统设计的完整性和可行性。调试中主要用到的开发工具有KEIL。 5.2.1 软件调试

在编写软件程序时,先编写各部分子程序,分别对各程序进行编译检查是否有语法错误,完成后再检查功能程序是否正确,单步执行程序,观察各个寄存器、变量、数组的变化是否正确。在每部分子程序调试通过后,结合电路对所有程序进行调试。根据系统实现的功能,编写出完整的主程序,在KEIL里完成程序编译后生成HEX文件。将HEX文件加载到Proteus设计的总电路中进行总体的调试,直至全部功能实现。最后将调试好程序下载到STC89C52单片机里,再通过对做好的硬件观察现象是否正确,功能是否实现,若有问题则要重新进行以上操作,直至成功。5.2.2 系统软件仿真

我采用KEIL软件汇编编程来实现系统软件仿真这一环节。进入KEIL软件仿真环境时,首先要选定编程单片机的型号,本设计我选用STC89C52。选定好芯片后,将程序写入软件文本窗口,然后保存进行编译,通过设置各个标志位和地址数据,

公交车语音自动报站设计

模拟系统的各个功能。仿真时,采用单步运行,方便观测到存入RAM中的数据是否正确,好不断加以改进直至符合要求。Keil uVision3编译环境如图5.3所示[4]。

图5.3 Keil uVision3编译环境

6 结束语

上述就是本人毕业设计——公交车自动语音播报系统。该设计经历了问题的提出、可行性的分析、各模块方案的选择、各模块详细设计和改进、软件编程和整个系统功能的实现。具体实现了自动语音播报、液晶显示站台信息功能,达到了预期的基本指标,但由于时间和设计经费有限,还有些环节考虑不周和遗漏,例如,经过进一步地技术设计与调试、提升后,还可以设计站台信息的烦顺序的显示和播报。在今后的学习和设计中会注意和改进此类问题。

通过这次设计,在很大程度上提高了我独立思考的能力,熟练了单片机的编程。几个月的毕业设计,我不仅学到了宝贵的专业知识,更重要的是学到了怎样去解决问题,提高了动手动脑能力和实际操作能力,为今后的工作奠定坚实的基础。

[参考文献]

[1]韦宏利.语音芯片在报站器中的应用[J].现代电子技术出版社.2003 [2]袁成. 自动报站设备[J]. 城市公用事业. 2003,17(3):42-43

…… 此处隐藏:3336字,全部文档内容请下载后查看。喜欢就下载吧 ……

公交车语音自动报站系统的设计第3稿11(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/116401.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)