收藏 分享(赏)

公交车自动报站系统.doc

上传人:j35w19 文档编号:7805359 上传时间:2019-05-26 格式:DOC 页数:35 大小:6.42MB
下载 相关 举报
公交车自动报站系统.doc_第1页
第1页 / 共35页
公交车自动报站系统.doc_第2页
第2页 / 共35页
公交车自动报站系统.doc_第3页
第3页 / 共35页
公交车自动报站系统.doc_第4页
第4页 / 共35页
公交车自动报站系统.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、 毕业论文(设计)题 目基于单片机的公交车自动报站器的设计院 系 自动控制系 专 业 电气工程与自动化学生姓名 学 号 指导教师 职 称 二一二 年 六 月 三 日1目 录 1.绪论 11.1 课题研究的背景及意义 11.2 报站器的动态发展趋势 11.3 设计的主要目标任务 22.总体方案的设计 22.1 本设计的原理 22.2 硬件方案的选择 22.2.1 语音芯片的选泽 .22.2.2 显示模块的选择 .32.2.3 时钟芯片的选泽 .33.硬件制方案的介绍与分析 33.1 单片机的选择与外围电路的设计 33.1.1 关于 STC89C51 单片机 33.1.2 复位电路 93.1.3

2、外部晶振的选用 .93.2 语音提示电路 103.2.1 ISD1730 的简介 .103.2.2 ISD1730 内部结构 .123.2.3 ISD1730 与单片机的连接图 .143.3 时钟模块 143.3.1 DS1302 的简介 1523.3.2 内外部结构 .153.3.3 工作原理及原理图 .163.4 液晶显示电路 173.4.1 LCD1602 的简介 .173.4.2 LCD1602 与单片机的接线图 .223.5 键盘接口 223.5.1 按键电路的选择 .223.5.2 判键及其接口电路设计 234.系统软件的设计 244.1 主流程图的设计 244.2 液晶显示程序的

3、设计 244.3 DS1302 时钟程序的设计 .264.4 语音播报程序的设计 275.结论 286.致谢 28参考文献 .29附录 .270基于单片机的公交车自动报站器的设计南京信息工程大学 电气工程与自动化专业,南京 210044摘要:根据 STC89C51 单片机的特点和公交车报站器的特点,本文提出了一种用单片机控制语音芯片进行公交车语音自动报站的方法,同时给出了软硬件设计的方法,设计过程中包括硬件电路设计和软件程序编写两个方面,解释了单片机在应用过程中的方法和可能出现的问题。本文主要介绍硬件电路设计部分。利用 STC89C52 和 ISD1730 语音芯片建立语音信息库,形成变化多样

4、的语音信息,利用其功放播放语音信息以及提示语音,同时运用 LCD1602 型号的液晶模块进行站数显示。当公交车到达某站点,用键盘控制本系统工作,通过语音电路输出语音信息和提示,同时站数信息在 LCD1602 液晶模块上进行显示。整个系统硬件设计包括键盘电路、复位电路、液晶显示电路、语音播报模块,时钟模块。关键词:单片机 STC89C51;LCD1602 液晶显示;ISD1730 语音电路;DS1302 时钟;按键1.绪论随着科学技术的日益发展和进步, 无人售票的公交车的应用电路也多起来了,语音报站器更是被广泛的使用起来,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客

5、带来了方便。1.1 课题研究的背景及意义公共汽车是现代文明城市的一道流动的风景线,因此对整车的外形甚至车身的色彩都有了较高的要求。为了使免除乘务人员的麻烦也使乘客方便清楚的知道所到的站名以及实时时间,公共汽车配备的一些列的电子装置,其中最为普遍就是无人报站器、电子显示路牌、无人售票装置、前后电视监视系统等新技术的采用。公交车自动报站器在公交事业中具有非常重要的的地位,因为它将直接影响到公共汽车的服务质量。目前,各个城市的公交车自动报站的方式主要三种,其中一种是利用无线发送及接收芯片 PT2262/和PT2272 的公交车报站系统,在公交站的每个站牌处安装发射芯片 PT2262 用来发射该站点事

6、先编好的编码信号,当公交车到达该范围内(如 50 米之内)时,其公交车上的接收芯片 PT2272 将对信号进行接收与解码,然后再将解码后的信息通过液晶显示模块显示,而语音芯片将同时进行播报,该方式的报站系统价格低廉,实现方便,也能满足现代公交车的基本需要,因此目前国内的大部分城市运用此种方式,另一种是功能很强大且系统非常稳定的 GPS 卫星定位报站系统,但由于这种方式的投资很昂贵,尤其是对于一些中小城市来说无法承受,国内虽也有此类产品的研制开发,但就目前的情况来看其投入的不是很广,但是在一些发达国家(如美国)的部分城市已经投入使用 GPS 卫星定位系统。第三种是手动电子报站方式,此方式价格低廉

7、,但操作较为繁琐,现已逐渐被淘汰。11.2 报站器的动态发展趋势当今社会,公交车是大多数城市居民出行的重要工具之一,但就公交车目前的报站系统来看很难满足大家的要求。现在公交车使用普遍的还是人工按键报站系统,此系统存在以下二个不可忽略的弊端:(1)存在隐形的安全隐患,因为每次驾驶员都要在行驶时对报站器进行操作以进行报站,而车辆在进出站的时候路面情况都很复杂,因此给行驶中的车辆和行人带来一定的安全隐患。(2) 报站不够准确,因为驾驶员在行驶的过程中操作报站系统时时常会忘按键或者按错键,有时在调整报站系统时会连续报站,这样会给不熟悉路线的乘客带来不便。目前我国的大部分城市公交自动报站的方式主要有三种

8、:(1)人工进行报站:一般是由当地的乘务人员用方言来进行报站,这样会给外地乘客带来很大的不便,但这种方式已经被淘汰。(2)半自动报站:这种报站方式是现在运用普遍的,但由于这种报站系统需要驾驶员来控制,故会有误报现象且还存在安全隐患。(3)自动报站系:此报站方式已智能化,即无需驾驶员得参与,系统将自动识别站点,虽然比较准确,但也容易出现问题且价格昂贵,所以这种方式运用的不是很普遍。虽然国能外都在研究公交自动报站系统,但采用的技术手段不一样,如:采用 GPS 定位系统自动报站等等。这些开发成本较高,且难以实现普及,特别是一些中小城市难以负担,故开发一种综合性强的、且价格交低、易于实现普及的系统是公

9、交事业迫切需要的。1.3 设计的主要目标任务本课题要求设计公交车自动报站系统,以实现公交车的语音自动报站,即在进站、出站时候自动播报语音提示信息及服务用语,同时利用 LCD 液晶电路进行汉字显示。本设计要求利 STC89C51 作为主控芯片完成主控电路的设计,辅助电路要求包括语音电路、汉字点阵显示电路、电源电路等。2.总体方案的设计2.1 本设计的原理 本系统使用八位单片机作为控制器件。当系统进行语音再生时,单片机控制电路中的语音芯片来读取其外接的存储器内部的语音信息,并合成语音信号,再通过语音输出电路,进行语音报站和提示。同时,单片机STC89C52晶振复位语音播报电路文字显示电路键盘接口电

10、路DS1302 时钟2图 2.1 系统组成结构单片机通过程序读取文字信息,送入液晶显示模组来进行站数和站名的显示。当汽车到达某站时,司机或乘务人员通过键盘来控制系统进行工作。当系统进行语音录制时,语音信号通过语音录入电路送给语音合成电路中的语音芯片,由语音芯片进行数据处理,并将生成的数字语音信息存储到语音存储芯片中,从而建立语音库。本设计的系统如图 2.1 所示。2.2 硬件方案的选择 2.2.1 语音芯片的选泽方案一:基于 ISD2560 语音芯片的录放电路设计ISD2560 系列语音芯片可通过 SPI 协议方便地与 CPU 接口。 用 ISD2560 芯片构成的单片机通用开发板采用国内最常

11、用的 MCS-51 语言单片机 89C51 来与 ISD2560 系列语音芯片相结合,可供用户开发各种新型智能型数码语音产品。方案二; 基于 ISD1730 语音芯片的录放电路ISD1730是华邦公司新推出ISD1700 系列芯片的单片优质语音录放电路,该芯片能提供多项新功能,包括内置专利的多信息管理系统,新信息提示,双运作模式(独立 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为0。 表3 光标归位指令指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/ns光标归位 0 0 0 0 0 0 0 0 0 1 x

12、 1.64功能: 把光标撤回到显示器的左上方; 把地址计数器(AC)的值设置为0; 保持DDRAM的内容不变 表4 输入模式设置指令指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us进入模式设置 0 0 0 0 0 0 0 0 1 I/D s 40功能:设定每次写入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的情况如下所示: I/D 0=写入新数据后光标左移 1=写入新数据后光标右移 S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移1个字 表5 显示开关控制指令指令编码指令功能RS R/W

13、 DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us显示开关控制 0 0 0 0 0 0 0 1 D C B 40功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下: D 0=显示功能关 1=显示功能开 C 0=无光标 1=有光标 B 0=光标不闪烁 1=光标闪烁 表6 设定显示屏或光标移动方向指令指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us设置显示屏或光标移动方向 0 0 0 0 0 0 0 1 D C B 4019功能:使光标移位或使整个显示屏幕移位。参数设定的情

14、况如下: S/C R/L 设定情况 0 0 光标左移 1 格,且 AC 值减 1 0 1 光标右移 1 格,且 AC 值加 1 1 0 显示器上字符全部左移一格,但光标不动 1 1 显示器上字符全部右移一格,但光标不动 表7 功能设定指令指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us功能设置 0 0 0 0 0 1 DL N F X X 40功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: DL 0=数据总线为 4 位 1=数据总线为 8 位 N 0=显示 1 行 1=显示 2 行 F 0=57 点阵/每字符 1

15、=510 点阵/每字符 表8 设定CGRAM地址指令指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us设置CGRAM地址 0 0 0 1 CGRAM地址(6位) 40功能:设定下一个要存入数据的 CGRAM 的地址。表9 设定DDRAM地址指令指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us设置 DDRAM地址 0 0 1 CGRAM地址( 6位) 40功能:设定下一个要存入数据的 CGRAM 的地址。 (注意这里我们送地址的时候应该 0x80+Address,这也

16、是前面说到写地址命令的时候要加上 0x80 的原因) 。表10 读取忙信号或AC地址指令 指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us设置DDRAM地址 0 0 1 CGRAM地址( 7位) 40功能: 读取忙碌信号 BF 的内容,BF=1 表示液晶显示器忙,暂时无法接收单片机送来的数据或指令; 当BF=0 时,液晶显示器可以接收单片机送来的数据或指令; 20表11 数据写入DDRAM或CGRAM指令指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us数据写入DD

17、RAM或CGRAM指令1 0 要写入的数据D7D0 40功能: 将字符码写入 DDRAM,以使液晶显示屏显示出相对应的字符;将用户自己设计的图形存入 CGRAM。表12 从CGRAM或DDRAM读出数据的指令指令编码指令功能RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB2 DB1 DB0执行时间/us从CGRAM或DDRAM读出数据 1 1 要读出的数据D7D0 40功能:读取 DDRAM 或 CGRAM 中的内容。 3.4.2 LCD1602 与单片机的接线图LCD1602 液晶显示模块可以和单片机 STC89C52 直接接口,DB0DB7与单片机的 P0.0P0.7 连

18、接以便数据的传送与接收,4 管脚、5 管脚、6 管脚分别与 STC89C51 单片机的 P2.0 口、P2.1 口、P2.2 口连接,电路如图 3.13 所示:图 3.13 与单片机的连接图3.5 键盘接口键盘是一组按键的组合,是单片机应用系统中不可缺少的输入设备。根据键盘的识别方法分类,有编码键盘和非编码键盘两种。通过硬件识别的键盘称为编码键盘;通过软件识别的键盘称为非编码键盘。全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖和多键、窜键保护电路。21这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用 6。非编码键盘只简单地提供行和列的矩阵,其他工

19、作均由软件完成。由于其经济实用,广泛应用于单片机的系统中。3.5.1 按键电路的选择在由单片机组成的测控系统及智能化仪器中,用得最多的是独立式键盘。独立式按键是指直接用 I/O口线构成的单个按键电路。每个独立式按键单独占有一根 I/O 口线,每个 I/O 口线的工作状态不会影响其他 I/O 口线的工作状态。独立式按键电路如图 3.14 所示,当按键的数量较多时,I/O 口线浪费较大,故只在按键数量不多时才采用这种按键电路。根据实际经验,当按键数量为 4 到 8 个,并且 I/O 资源较为富余时,采用独立式按键比较合适。由于本设计中的按键只有三个,考虑系统可靠性和键盘设计的简单所以采用独立式按键

20、。对于此设计来说我们要准确的显示我们所要对应的信息,每按下一次按键要显示所要显示的信息 14。这按键是主要用来报站的而设计的。这样比键盘操作方便,也比较实惠。按键电路采用中断模式。当有按键按下时,系统产生中断,CPU 响应中断后,开始计数,即查询键号,通过软件来实现该键号所对应键的功能键盘的大体设置为:第一个键为报站控制键 S1 用来控制站台“+”例如:第一站为滨江站,按下 S1 时显示第二站:中苑站,其余的站台工作原理也一样。S2 用来控制站台的“-” ,第二站为中苑站,在按下 S2 时这样就显示中苑站。图 3.14 独立式按键硬件结构3.5.2 判键及其接口电路设计键的闭合与否反应在电压上

21、就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测可确认键按下与否。为了确保 CPU 对一次按键动作只确认一次,并且防止干扰信号的影响,必需加入消除电平抖动的措施,下图 3.15 为按键抖动示意。消除抖动通常有硬、软硬两种方法,硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是在第一次检测到有键按下时,执行一段延时程序再确认该键是否仍闭合,如果还是闭合状态则确认该键按下,从而消除抖动和干扰影响。当按键较多时,我们多采用硬件件消抖法。22图 3.15 按键闭合及断开前后的电压按键接口设计有两种方法,独立式按键和矩阵式键盘。独立式按键各键相独立,每个按

22、键各接入一根输入线,只要检测输入线的电平就可以识别按键状态。这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口。由于该设计方案 IO 资源浪费大。故此方法只适用于按键少或其他控制功能很简单的场合。矩阵键盘适用于按键数量较多的场合,它把键盘输入线分为行线和列线,按键位于列的交叉点上。按键的识别需要软件分别扫描行线和列线,根据扫描的结果判具体按下的按键 14。4.系统软件的设计4.1 主流程图的设计开机时 LCD1602 液晶显示屏显示“实时时间、实时日历”等信息。调用系统初始化程序,调用键盘子程序,调用读时间芯片时间子程序,调用时钟芯片初始化/改写程序,调用显示时间日期子程序。程序开

23、始执行,首先系统初始化:LCD 初始化,DS1302 初始化。然后进入死循环:一直显示时间、当日日期,扫描按键,当按键 2 按下时,LCD 显示此站及下一站,语音播报此站及下一站;当按键 3 按下时,LCD 显示此站及上一站,语音播报此站及上一站。 开始 Y键 1 按下? NY键 2(+)按下?NY系统初始化While(1)显示时间液晶显示清屏液晶显示此站及下一站液晶显示此站及上一站语音播报此站及下一站语音播报此站及上一站23键 3(-)按下? N图 4.1 主程序流程图4.2 液晶显示程序的设计LCD 液晶显示是通过调用初始化程序,写数据子程序,写指令子程序,地址转换子程序,读忙状态子程序以

24、及延时子程序组合。程序流程图如图 4.2 和 4.3 所示。图 4.3 写数据子程序流程图图 4.2 写指令子程序流程图LCD 液晶显示是通过调用初始化程序,写数据子程序,写指令子程序,地址转换子程序,读忙状态子程序以及延时子程序组合。首先调用延时子程序,然后调用 LCD 写指令子程序、清屏、LCD 写指令子程序、调用延时子程序、设定方向及位移、LCD 写指令子程序、调用延时子程序、调用忙子程序、启动写数据、读写线置 0、启动使能控制线、传输数据、调用延时子程序、返回。LCD1602 的初始化与显示的部分程序如下 16:void init() /初始化 LCD1602write_command

25、(0x01); /清除屏幕write_command(0x38); /功能设定(8 位,2 行,5*7 点矩阵)write_command(0x0C);/显示器 ON,光标 OFF,闪烁 OFFwrite_command(0x06); /加 1void display1602() /LCD1602 显示程序调用延时子程序LCD 写指令子程序返回清屏LCD 写指令子程序设定方向及位移调用延时子程序LCD 写指令子程序调用延时子程序调用延时子程序传输数据 启 动 使 能 控 制 线 启动使能控制线读写线置 0启动写数据调用忙子程序返回24uchar i;write_command(0x80); /

26、LCD 第一行地址for(i=0;i4;display0=lookdismonthday=read1302(0x87); /读出日寄存器display4=lookdisday /日分离,并找相应的 ASCALL 码值开始初始化 DS1302返回设置三端口状态读/写 8 位数据 Return(0)25day=day4;display3=lookdisdayhour=read1302(0x85); /读出小时寄存器display9=lookdishour /小时分离,并找相应的 ASCALL 码值hour=hour4;display8=lookdishourmintue=read1302(0x83

27、); /读出分寄存器display12=lookdismintue /分钟分离,并找相应的 ASCALL 码值mintue=mintue4;display11=lookdismintuesecond=read1302(0x81); /读出秒寄存器display15=lookdissecond /秒分离,并找相应的 ASCALL 码值second=second4;display14=lookdisseconddisplay1602();4.4 语音播报程序的设计要语音芯片实现相应的功能,要提前对芯片进行录音,分时录音后再将其保存至芯片中以待放音时方便调用,录音电路与放音电路各有对应的程序,各自的

28、程序流程图如图 4.5 所示。判断对应键是否按下?(b)放音电路 (a) 录音电路 图 4.5 语音程序流程图 开始送录音地址送录音控制字开始录音返回开始送放音地址送放音控制字自动录音返回265.结论本次的毕业设计是基于单片机的公交车自动报站器的设计,该设计应用了单片机 STC89C51,语音芯片 ISD1730,时钟芯片 DS1302 以及液晶显示击打部分,本系统功能强,成本低,系统稳定,无需人工介入,语音音质好,能够很好的实现了车辆报站的自动化,具有很强的实用性。并且语音电路还满足了分段录音、组合回放等要求,且语音信号抗干扰能力强,存储方便,调试简单,最终以 LCD1602 液晶显示屏进行

29、站台名和实时的时间、日前的显示。本系统很大程度上提高公交车报站的准确性,可靠性。提高了公交系统的服务质量。促进城市经济发展和交通变化的和谐发展。在科技高速发展的今天,公交车在城市交通事业中占有举足轻重的地位,它给人们外出提供了方便快捷的服务,而报站器直接影响到公交车的服务质量,因此,不久之后,自动报站器将完全取代传统的人工报站,普遍使用于各大、中、小城市。6.致谢本设计在老师的悉心指导和严格要求下完成,从课题选择、方案论证到具体设计和调试,无不凝聚着老师的关心和指导,在此向老师表示深深的感谢和崇高的敬意。在此过程中,使学生学到了很多专业上的知识,尤其是使学生对过去书本上不太理解熟悉的理论知识有

30、进一步的掌握,也使学生感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程以及与学会和他人共同进步的过程,没有学习就不可能有研究的能力,没有自己用心的研究,就不会有所突破,那也就不叫论文了。这次的经历会帮助我在以后学习中不断的激励自己继续进步。老师在论文上给于学生的帮助,令学生受益良多;毛老师渊博的学识、严谨的治学态度、开阔的思维以及为人师表的作风,将使学生毕生难忘,并将对学生今后的学习、工作和生活产生重要的影响。老师对本课题的研究以及论文的撰写倾注了极大的心血,区区数语,难表谢意!我还要感谢我的家人,我的家人为使我能顺利完成四年的本科学业,在经济上和精神上给予了我极大的支持,做出了不少的牺牲,在此,我对他们表示由衷地感激!同时,还要向学习期间所有曾给我帮助的老师、同学和朋友表示衷心地感谢,有了大家的热心帮助,我才能一步一步地解决学习和生活中的各种问题。在此向大家表达我诚挚的谢意!最后衷心感谢在百忙之中评阅论文和参加答辩的各位老师、专家、教授!参考文献1马林,陈怡,程利民.单片机实践应用与技术M,北京,清华大学出版社,20082周美娟,肖来胜.单片机技术及系统设计M,北京,清华大学出版社,2007

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报