1、基于单片机的公交车语音报站器设计系 部:学生:专业班级:学 号:指导教师:声 明本人所呈交的 基于单片机的公交车报站器设计 ,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示意。作者签名:日期:摘 要 本次毕业设计主要采用AT89C51、语音芯片ISD2590和键盘来完成一款简易公交报站系统的设计,其中单片机AT89C51作为本设计的核心器件。在文中给出了公交报站器具体的设计方案,并且阐述了在系统设计过程中所用到的各个模块电路、各模块电路
2、的工作原理和主要功能以与利用Protues软件进行电路仿真测试的方法、过程和结果,详细地介绍了系统设计过程中各个模块的软件设计和硬件设计是怎么实现的,成功实现了公交车报站的功能。该报站器使用方便快捷,应用围广,成本低,具有一定的实用价值。【关键词】:公交车报站; 单片机AT89C51; ISD2590芯片;【ABSTRACT】This graduation design mainly AT89C51, voice chip ISD2590 and keyboard to complete a simple and easy design of bus stops system, includi
3、ng microcontroller AT89C51 as the core of this design device. In this paper the concrete design scheme of bus stops is adopted in the system design process and use various modules of the circuit, working principle and main functions of each module circuit and using Protues software circuit simulatio
4、n test method, process and results, detailed introduces the system design process in the various modules of the software design and hardware design is how to implement, successfully realized the function of the bus stops. The newspaper stand fast and convenient to use, wide application, low cost, ha
5、s certain practical value. 【Key words】 : bus stops; Single chip microcomputer AT89C51 ; ISD2590 chips; 目 录摘要III一、引言1(一)设计背景与意义1(二)设计要求1(三)主要设计思路1(四)核心器件的选择2二、硬件设计2(一)主控电路21.单片机AT89C51性能概述3(二)语音芯片电路设计51.语音芯片ISD2590性能特点52.电路连接6(三)功放电路的设计6(四)键盘接口电路7三、软件设计7(一)主流程图8(二)功能模块设计91.语音程序92.按键程序11四、性能测试13(一)仿真工
6、具13(二)仿真过程13(三)仿真测试13五、总结14致15参考文献16附录1:电路原理图17附录2:仿真测试图18一、引言(一)设计背景与意义现代社会,环境污染已越来越严重,4月22日是世界地球日而6月5日则是世界环境日,由此可见环境问题在日常生活中是多么的重要。在城市中机动车的尾气排放成了污染空气的主要直接污染源,因此很多国家提倡人们乘坐公共汽车出行减少机动车尾气对空气的污染,有的国家甚至将工交出行列入法律以告诫人们,一个良好的生活环境是人类赖以生存的基础忙。同时也可预见,在不久的将来公共汽车必将成为现代城市生活中的首选交通设备之一。为了节约人工成本,提高管理效率,目前大多数国家的城市都推
7、行的是无人售票的公共汽车。无人售票公共汽车所面临的首要问题就是乘客们如何获取必要的乘车信息,例如:车辆的行驶路线如何,停靠站台与行车、开关门等信息。尤其是在新型的无障碍公共汽车上,更应该考虑到上述信息获取的便利,提高人性化服务的质量。因此,设计一款功能齐全、使用方便的公交车语音报站系统,是非常有实用意义的。随着单片机技术的不断发展,单片机的功能越来越完善,已经被广泛的应用于工业自动化过程的实时控制和数据处理,各种智能IC卡、安全保障系统、以与其它电子设备当中。单片机具有体积小、功能齐全、价格低廉等优点,使用单片机设计制造的设备非常实用。本文拟采用单片机为核心器件,完成一款公交报站器的设计。该设
8、计简单、方便,有一定的实用价值。(二)设计要求通过对如今公交系统的了解和现实社会的需求,本设计要实现以下几种功能:(1)能够完整的播放一条公交线路的所有站台名称;(2)能够提前告知乘客下一站点的信息;(3)播放错误时,可以返回上一条或者下一条信息;(4)能够播放多种行车提示信息。(三)主要设计思路本次设计拟采用模块化设计的方法,将整个公交报站系统分为电源、单片机、语音芯片、语音输出电路和按键电路几个模块,各个模块之间通过硬件的接口设计与软件设计进行控制。整体电路框图如图1.1所示。图1.1原理框图整个设计方案的整体框架是以单片机为核心器件,语音芯片的语音输出由按键电路负责控制以便播放相关的各种
9、语音信息。(四)核心器件的选择单片机因体积较小、成本低、使用方便、易于产品化的优点以与强大的面向控制的能力,使它广泛应用于工业控制生产、智能化仪表、外设控制仪器、家用电器、军事装置等各种领域。本设计主要考虑了现实生产生活中的实用性和价格低廉两大因素而选择美国atmel公司生的AT89C5x系列的AT89C51单片机。语音芯片同样是本设计的核心部分之一。美国ISD(Information StorageDevices)公司生产的ISD2590语音合成芯片是目前比较常用的高性能单片语音录/放芯片之一, 具有音质真实自然、使用方便、在掉电状态下可以保存信息100多年等许多特点。本设计将采用ISD25
10、90完成语音输出电路部分的设计,其电气特性详见硬件设计部分。二、硬件设计(一)主控电路AT89C51单片机是一种高性能CMOS 8位单片机,片含4K字节的能够反复擦写的只读存储器。在AT89C51单片机结构中,最显著的特点是部含有Flash存储器,而在其他方面的结构,则和Intel公司的8051的结构差不多。1.单片机AT89C51性能概述1)与51系列单片机可以兼容;2)系统可存储8bite字节;3)可来回擦写的次数为1000次;4)数据可以保留10年之久;5)静态操作的围为0Hz至33Hz;6)节约能源模式;7)全双工UART串行通道;8)输出端口可进行32次编程;9)指针所产生的数据为双
11、份;10)中断源的个数为五;11)电源中断后可自动提示;12)定时器采用一款看门狗的一软件;13)具有断电时的标志符号 图2.1 AT89C51引脚图电源的电压接管脚40(VCC)。电源的接地端接单片机管脚20(VSS)。P0口:P0口作为输出口,每8个TTL逻辑电平通常能够消耗掉一位,可以认为是一个双向输入输出口的,并且是8位漏极开路的。倘若端口显示的数字为1的话,此时的电平则为高阻。P0口能够用于外部ROM、RAM,它既可以作为数据低八位也可以作为地址的低八位使用,也就是说P0口是唯一可以数据和地址分时复用的I/O口。P1口:P1口也作为输出口,P1口每一个管脚都自带上拉电阻,也是一个双向
12、的输入输出口位,与P0口不同的是每4个TTL逻辑电平能够消耗掉其中的一位。当部被上拉为高时,P1口可以作为输入使用,此时P1口的各个引脚均为“1”。 当P1口有电流输出时,P1口的各个管脚肯定都为“0”,这是P1口自带上拉电阻的一大特点。P2口:P2口也是个双向输入输出口,每4个TTL逻辑电平通常能够消耗掉P2口的一位,当P2各个管脚都写为“1”后,此端口作为输入使用。P2口当用于外部ROM或16位的地址外部RAM进行存取时,P2口将读取高八位的地址并将其输出。如果已给的地址是高电平状态,P2口就会利用部上拉的特点,P2口只有在读写外部八位地址数据存储器时才会把它的特殊功能寄存器的容输出。 P
13、3口:P3口也是个双向输入输出口,每4个TTL逻辑电平通常能够消耗掉P3口的一位。P3口可以接收一些控制信号为了FLASH的编程和编程校验。P3口也可作为AT89C51的一些特殊功能口,其各个管脚的功能如下表所示:复位输入脚是管脚9。当单片机的振荡器正常复位时,应该使高电平状态在9号引脚上至少保持两个机器周期的时间,以确保电平状态能被单片机顺利地采集到 。2.资源分配单片机AT89C51共有39个引脚,作为主控芯片,它需要与按键连接,也需要与语音芯片连接。P1口主要与按键想连接,其中口中的五个引脚P1.0、P1.1、P1.2、P1.5和P1.7)与五个按键相连接,通过按键控制着五中不同的程序;
14、而P2口主要与ISD2590芯片相连接,其中P2.0口-P2.4口分别连接语音芯片的A4口-A8口,向语音芯片发送按键指令,而P2.5、P2.6、P2.7则分别与PD、P/R、EOM连接,发送语音控制指令。(二)语音芯片电路设计1.语音芯片ISD2590性能特点ISD2590芯片采用E2PROM的存储方法,它直接将接收到的模拟语音数据写入半导体存储单元中,且不需要外加A/D或D/A转换存放或重放语音信号。此芯片具有处理多段信息的功能、且是低功耗、单片存放、具有10万次反复的录音周期、录音音质真实而自然、也方便使用。其外部引脚图如图2.2所示。其特点如下:(1) 既可以实现声音的录音也可实现声音
15、的播放(2) 正常的工作电压是3V(3) 功耗低主要表现为:录音时的工作电流最小是25毫安 放音时的工作电流最小是15毫安而待机节能状态时的电流也就只有1微安还不用思考其实现所要的算法(4) 芯片含有微型控制器和Microwire串行接口(5) 指令可以用于多段信息(6) 芯片的寄存器和功耗由微型控制器或Microwire控制(7) 录音次数可高达10万次(8) 片自带时钟器(9) 有非塑胶封装、贴片、薄型小尺寸封装等几种封装形式(10) 根据商业用扩展型和工业用有两个温度使用围:商业用的是-20到+70度和工业用的是-40到+85度图2.2 ISD2590引脚图ANA IN+是信号同相模拟输
16、入脚,录音信号从此引脚上对信号进行同相输入,输入放大器的工作方式应采用差分驱动的方式。采用差分驱动方式的时候,信号幅度的最大峰值是8毫伏,和ISD2500系列的最大峰值相同。ANA IN- 是信号反相模拟输入脚,采用差分驱动方式的时候, 录音信号从此引脚上对信号进行反相输入。当信号借助耦合电容输入芯片时,信号幅度的最大峰值也是8毫伏。AUD OUT是信号的音频输出引脚,当音频信号从此端口输出时,所带负载的最大值可达到5K。SS信号的片选脚,当此片选脚为低电平状态时,就会向此ISD2590芯片发送指令信号,指令与指令之间则为高电平状态。SCLK是串行时钟引脚,ISD的时钟信号就是从此时钟端口输入
17、的,时钟信号是由电路的主控制器产生的,主要用于MOSI和MISO的同步数据传输。数据从时钟引脚的上升沿锁存到ISD中,当时钟引脚变为下降沿的时候自动移出ISD。/INT是中断输入口,此中断输入口同时也是漏极开路输出口。无论ISD在执行何种操作只要是检测到了EOM或OVF标志,此中断输入端即刻变为低电平状态并一直保持此电平状态。EOM标志:只有在放音过程中检测到部的EOM标志时,EOM状态位才会被置为高电平。OVF标志:只要ISD的录音和播放操作到达存储器的未尾,OVF标志状态位就会被置为高电平。RAC是行地址时钟引脚,同时也是一个漏极开路输出端口。每个RAC周期就标志着ISD存储器的操作又往下
18、执行了一行(ISD2590系列芯片中的存贮器总共有2400行)。2.电路连接语音芯片的A4-A8引脚与单片机的P2.0-P2.4引脚相连接,PD、P/R、EOM分别与P2.5P2.6、P2.7相连接,除此之外,引脚SP+、MIC RRF连接功放电路的两端,给功放电路发送语音信号指令,通过扬声器播放语音,其中的滑动变阻器用于调节播放声音的大小。(三)功放电路的设计语音的输出主要由功放电路来负责。在本设计中,运用了外接功放模块LM386的方式来提高功放的功率,在ISD2590的14引脚(SP+)处接一个电容和一个滑动变阻器,通过调节滑动变阻器改变阻值来改变输入给功放模块LM386的信号强度,从而控
19、制扬声器播放声音的大小。图3.1 语音电路(四)键盘接口电路五个按键连接着单片机的五个端口(P1.0、P1.1、P1.2、P1.5、P1.7),控制着五种不同的语音程序的播放,按照乘车需求,按下相应的键值通过控制单片机,发送指令给语音芯片,播报站点信息或播放语音提示。图3.2 按键接口电路公交车语音报站器的具体设计电路原理图详见附录1。三、软件设计C语言是一种设计计算机程序的语言,它集高级语言和汇编语言各自的特点于一身。同时层次比较清晰,便于按模块化方式设计和编写程序,且易于调试、修改和维护。它的语言系统不仅含有丰富的运算符和数据类型,便于实现各类复杂的程序结构和数据结构,还可以直接访问存的物
20、理地址。本设计采用C语言完成整个程序的设计编写。(一) 主流程图图4.1 主流程图当系统开始运行的时候,先完成程序的初始化,然后开始进行键值扫描,判断是或否有键按下,如果没有键按下则继续扫描,扫描到有键按下时就停止扫描,执行相应的键值程序,播放相应的语音,播放完毕继续扫描,一直循环执行。(二)功能模块设计1.语音程序图4.2 语音程序流程图部分子程序:、当程序运行时,执行上电操作,延迟等待,判断上电是否结束,如果没有结束则继续等待、判断;如果结束了则设置播放地址,地址有效继续播放,无效返回延迟等待、判断。2.按键程序图4.3按键程序流程图部分子程序:系统完成初始化后,进行中断扫描,判断是否有键
21、按下,有键按下则读取键值并执行相应的程序;没有键按下则返回继续扫描。本设计中工设计了五个按键,分别控制着五种不同的语音播放:S1-“加1键”,播放下一条信息;S2-“减1键”,返回上一条播放信息;S3-“行车键”,提示车辆正在行驶中;S4- “转弯键”,提示车辆转弯,抓好扶手;S5- “让座键”,提示给需要帮助的乘客让座。四、性能测试(一)仿真工具性能测试就是利用开发软件进行在线的仿真调试,并发现和纠正程序的错误,同时也能发现硬件的故障。目前,市场上有多种软件都能实现对单片机的在线仿真功能,考虑到英国公司生产的Proteus实用性高,使用方法简单,显示结果清晰直观。本设计采用Protues和K
22、eil软件完成对公交车语音报站器的仿真测试。(二)仿真过程打开Proteus软件,根据自己设计的电路图画出系统原理图(详见附录2);用Keil软件对设计所编写的程序进行编译、,如果没有错误和警告便可生成程序的*.HEX文件;在Protues里双击单片机把*.HEX文件载入到单片机,完成程序写入单片机;将下载好的语音,站点信息按照路线顺序排列、提示语音分段排列录入语音芯片中;单击运行按钮,进行仿真测试,调试并记录结果。(三)仿真测试程序加载完毕,点击运行按钮,当按下S1时,将会播放下一条站点信息语音,结果如图所示:图5.1 按键S1显示结果图5.2 局部显示结果按下不同的按键即可播放不同的语音信
23、息:当按下S1键时,将播放下一条语音信息;当按下S2键时,将播放上一条语音信息;当按下S3键时,播放语音“车辆正在行驶中,请不要随意走动”;当按下S4键时,播放语音“车辆转弯,请抓好扶手”;当按下S5键时,则播放语音“乘客朋友们,尊老爱幼是中华名族的传统美德,请您主动给需要帮助的乘客让个座”。五、总结本次毕业设计,完成了硬件部分(主控电路、语音电路、功放电路、按键电路)和软件部分(语音程序、按键程序)的设计,并对系统的性能进行了仿真测试,能够实现播放下一站信息、报站错误返回上一条信息、让座提示信息等各种乘车提示信息的语音功能,已基本完成本次设计的预先目标。虽然设计比较理想,但还是存在一些不足的
24、地方。在当今提倡无障碍的社会,语音提示只能为听力正常的人有提供帮助,而对一些有听力障碍的人来说,起不到任何的帮助作用。如果在本设计加一个液晶显示模块的设计的话,有听力障碍的人就可以看得到提示信息,这样就达到了报站器的理想状态。通过本次毕业设计,我对单片机、语音芯片、功放电路等又有了很多新的了解。而且复习了Protel 99SE的绘图知识,学会了利用仿真软件Proteus和Keil的使用,掌握了对各种电路的性能测试的方法,系统的需要、器件的选择、方案的设计、原理图的绘制、电路的划分和仿真测试这个完整的流程,并自己撰写一篇论文。切合实际,与理论相结合,积累了经验也丰富了知识。毕业设计不仅是我大学三
25、年来学习的一个总结,还是我走入社会、踏上工作岗位的一个新开始。通过本次的毕业设计,我提高了自己的动手能力与团结协作的能力,也使我对单片机等元器件的性能指标都有了新的认识同时也更加熟练了示波器和稳压源等调试仪器的使用方法。致本课题是在罗红艳老师的悉心指导下完成的,论文从选题到写作与最后成稿,罗老师都给予了我精心的指导和极大的帮助。罗老师尽心尽责给了我深刻的影响,而罗老师随和的个性让我感到温暖。在设计阶段,罗老师在数据收集,程序调试,征文等方面给了我严格的要求和重要的指导。在此感罗老师对我的帮助,如果没有她的帮助,我可能就无法顺利完成本次的设计任务。感电子系所有老师在毕业设计期间为我们提供良好的知识基础。此外,我还要对在这次设计中,帮助和支持我的同学和朋友,表示深深感!参考文献1 康华光.电子技术基础数字部分.高等教育.20022 郭天祥.51单片机C语言教程.电子工业.20093 王东等.基于GPS的公交车自动报站系统的设计.微型机与应.20104 烈军.基于RFID的智能公交报站系统.理工大学学报.20115 王娟等.公交自动报站系统的设计.自动化技术与应用.20106 胡汉才.单片机原理与其接口技术.清华大学.20047 新民.王燕芳.微型计算机控制技术.电子工业.2006附录1:电路原理图附录2:仿真测试图
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100