1、- .本科毕业设计论文说明书基于单片机的公交车自动报站系统的设计系 别 电子信息工程系专业班级 自动化2班学生 少杰指导教师 聂茹提交日期 2011年 5 月 26日. word.zl- .华南理工大学汽车学院学位论文原创性声明本人重声明:所呈交的论文是本人在导师的指导下独立进展研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要奉献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承当。作者签名: 日期: 年 月 日学位论文使用授权书本学位论文作者完全了解学校有关保存、使用学位论文的规定,
2、同意学校保存并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华南理工大学汽车学院可以将本学位论文的全部或局部容编入有关数据库进展检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。,在年解密后适用本授权书。本学位论文属于 不。请在以上方框打“学位论文作者签名: 日期: 年 月 日指导教师签名: 日期: 年 月 日. word.zl- . 华 南 理 工 大 学 广 州 汽 车 学 院 毕 业 设 计 论文 任 务 书兹发给班学生毕业设计论文任务书,容如下: 1.毕业设计论文题目: 基于单片机的公交车自动报站系统的设计 2.应完成的工程: 1 设计一个公交
3、车自动报站系统,以实现公交车的语音自动报站,即在进站、出站时候自动播报语音提示信息及效劳用语,同时进展显示。 2 公交车自动报站系统实物的制作与调试 3 论文的撰写 3.参考资料以及说明: 1 廖继红.数字通信技术M.:高等教育,2006年 2 梁子伊.ISD4004系列语音芯片的单片机控制技术J. 3 周航慈.单片机应用系统程序设计技术M.航空航天大学 4 胡汉才.单片机原理及系统设计M. :清华大学,2001.01第一版 5 6 7 4.本毕业设计论文任务书于 年 月 日发出,应于 年 月 日前完成,然后提交毕业考试委员会进展辩论。 专业教研组系负责人审核年月日 指导教师导师组签发 年月日
4、. word.zl- .毕业设计论文评语: 毕业设计论文总评成绩: 毕业设计论文辩论小组负责人签字: 年 月 日. word.zl- .摘 要根据STC89C52单片机的特点和公交车报站的特点,本文提出了一种用单片机控制语音芯片进展公交车语音模拟报站的方法,同时给出了软硬件设计的方法,设计过程中包括硬件电路设计和软件程序编写两个方面。本系统硬件利用STC89C52作为CPU进展总体控制,通过ISD4004语音芯片建立语音信息库,对语音信息进展自由组合,形成变化多样的语音信息,利用LM386功能播出语音信息以及提示语音,同时运用LCD液晶显示器进展站数显示。本系统软件利用软件keilC51进展C
5、语言编程,将系统要实现的LCD显示,ISD4004语音播报,红外控制中断效劳程序等进展编程,把程序通过串口写到STC89C52中去,反复进展调试,将系统完善。当公交车到达某站点,用键盘控制本系统工作,或者通过红外遥控触发系统工作,通过语音电路输出语音信息和提示,LCD液晶显示器同时显示时间、温度信息。时间采用实时时钟芯片DS1302来获取信息,通过手动键盘,识别语音播放地址,驱动扬声器播放相应站名,温度采用温度传感芯片DS18B20来获取温度信息,再通过单片机处理由液晶器显示出来,该公交车报站器构造简单,使用灵活,功能稳定,音质自然、清晰,无论对于社会或者科研都有一定的研究价值。关键词:公交车
6、,液晶显示器,单片机,语音芯片The design of busstation-voice reported were based on theMCUAbstractAccording to the characteristics of the STC89C52 microcontroller and thecharacteristics of bus-stop, this paper, a voice chip whit a microprocessor controlled voice synthesizer reported the bus station, and gives the
7、hardware and software design methods, design process, including hardware design and two aspects of software programming. The system hardware using STC89C52 as the CPU for overall control, the establishment by ISD4004 voice chip voice information database, and a free bination of voice information to
8、form a diverse voice message, voice message broadcast using LM386 amplifier and voice prompts. The system software uses the C programming language software keilC51, the system to achieve the LCD display, ISD4004 voice broadcast, infrared control program such as interrupt service routine, the procedu
9、re to go through the serial port writes STC89C52, repeated testing,to make the system perfect.While the use the keyboard to control the system work,Or by infrared remote trigger system work,the output voice information through voice circuits and tips, LCD simultaneously shows time, temperature Infor
10、mation, real time clock chip DS1302 used to obtain time information by manual keyboard, voice broadcast address recognition, driving speaker broadcast station name,Temperatureusing temperaturesensorchipDS18B20to obtaintemperature information, and then processingthrough the MCUout oftheliquid crystal
11、displays. The bus-stop device structure is simple, flexible, functional stability, and sound natural, regardless of social or scientific research has some value.Keyword: Bus, LCD, MCU, Voice Chip. word.zl- .目 录摘要IABSTRACTII引言1第一章公交车自动报站系统设计的意义及任务31.1公交车自动报站系统设计的意义31.2设计任务3第二章系统的硬件设计和方案比照选择52.1系统设计构造
12、图52.2系统设计方案比照选择52.2.1 MCU微处理控制器的方案比照选择62.2.2 LCD液晶显示模块的方案比照选择62.2.3 语音芯片的方案比照选择72.2.4实时时钟电路的方案比照选择72.2.5 控制方式方案选择8第三章系统的硬件设计电路及元件说明93.1 MCU微控制器电路93.2 LCD液晶显示电路113.3 语音芯片电路143.3.1 ISD4004引脚的说明143.3.2 ISD4004的操作模式说明163.4 功放电路173.5 红外无线控制电路及控制说明183.6 按键控制203.7 实时时钟电路203.8 温度传感模块213.9 晶振电路223.10 系统电源供电电
13、路23第四章系统的软件设计254.1 中断效劳程序254.2 录音/放音控制程序274.3 红外遥控解码程序284.4 主程序设计29第五章系统的制作、焊接与调试315.1 系统的制作315.2 系统的焊接315.3 系统的调试31第六章系统的验证及改良336.1 系统的验证336.2 系统的待改良的模块33设计总结35参考文献37致39附录41附录一系统的主程序清单41附录二根本单片机公交车自动报站系统设计的原理图50附录三根本单片机公交车自动报站系统设计的PCB图51附录四基于单片机公交车自动报站系统设计的元器件清单52附录五基于单片机公交车自动报站系统设计的实物图53附录六基于单片机公交
14、车自动报站系统设计的使用说明54. word.zl- .引言虽着我国城市建立的开展,对城市效劳行业的效劳质量要求也越来越高。公交车作为市民出行的主要交通工具,已经被越来越多的市民所熟悉,公交车效劳质量它代表了一个城市交通开展的水平。现如今由售票员人工售票,报站的公交车已经根本没有了,无人售票公交车在街头逐渐多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。随着电子技术的不断开展,单片机技术的日益成熟,和多媒体技术的普通应用,使得公交车语音报站器效劳更加完善。本设计结合单片机的特点和公交车报站器的特点,提出了一种基于单片机ST
15、C89C52来控制语音芯片ISD4004进展公交车语音报站,并通过LCD1602来显示当前实时情况。本设计的论文包括硬件电路设计和软件程序设计两个方面,其中前者主要在第三章中重点表达,后者在第四章中表达。在本设计论文的结尾,分别附有与本设计相关的资料,包括设计系统主程序,系统原理图,系统PCB图,系统元件清单,系统实物图及系统使用说明。. word.zl- .第一章 公交车自动报站系统设计的意义及任务1.1 公交车自动报站系统设计的意义随着城市化进程的加快,公交交通作为城市的根底设施之一,仍然是绝大多数出行者的首选交通式。传统由乘务人员人工报站,该方式因其效果太差和工作强度太大,在绝大多城市已
16、经被淘汰。随着科学技术的日益开展和进步,微型计算机已经在很多领域得到广泛的应用。在声学领域,微机技术与各种语音芯片的结合,既可以完成语音的合成技术,又可以使得公交车报站器的实现,从而为市民提供了更加人性化的效劳,鉴于公交车报站的具体情况,结合公交车的使用特点及实际运营环境,设计了一种由单片机控制的公交车报站系统。公交车报站系统的设计应用单片机,LED显示,语音芯片,使得到站信息及提示信息以语音和显示的方式告知市民,为市民提供更人性化,更完善的效劳。选题的研究现状如下所述:目前公交车报站系统技术主要有以下几种:第一种是目前最常用的系统,到站前由乘务人员按动进站按钮开场报站,出站时由乘务人员按下出
17、站按钮并且开场预报下站的站名;第二种是门控语音报站器,将开门、关门时转换信号和语音报站器连接,开门和关门时自动报站;第三种是无线信标语音报站器,它是在每个公交车站点设置发射信标点,公交车临近到站点左右会收到信标信号,开场自动报站,出站后信号消失,开场预报下一站,此报站器报站准确,但需要为每个站点组建无线发射信标,建立复杂、费用高,大局部站点无电源供给,公交车数量多时存在频率干扰问题,且较严重,用户修改站点非常不方便,系统维护本钱高;第四种就是GPS自动语音报站器,此报器是在公交车上安装GPS自动语音报站器,自动识别站点并报告站点信息。1.2 设计任务公交车自动报站系统的主要设计任务如下:1).
18、通过大量的参考文献,了解公交车报站系统的相关技术与概念,并做出一些总结。2).不同公交线路的站名的输入和更换。3).可以完整地手动播报一条公交线路的站名,包括上行线路与下行线路。4). 使用本系统可以进展语音播报,使报站器更人性化。5). 可以在LED显示屏上显示时间、日期、报站信息、提示语和广告。6). 利用汽车后门的翻开与关闭实现对当前站名的播报和下一站的预报,当播报出错时还可以利用调试按钮进展对播报系统的调试。. word.zl- .第二章 系统的硬件设计和方案比照选择本章重点主要是从系统构造图来阐述了硬件的设计以及从方案上比照选择各个电路局部的原件,目的是使系统到达一个低本钱、高质量、
19、稳定可靠的设计。2.1系统设计构造图根据系统设计的要求和设计思路,确定该系统的系统设计构造图。如图2-1所示。硬件电路主要有MCU微处理控制器单元、LCD液晶显示模块、语音芯片、功放、按键控制、红外电路模块、温度测试模块、实时时钟电路、晶振电路、电影模块等电路组成。图2-1 系统设计构造图2.2系统设计方案比照选择根据设计要求,结合实际情况和设计本钱要求,对系统主要局部的电路方案表达如下。2.2.1 MCU微处理控制器的方案比照选择方案一:MCU微处理控制器的种类很多,有宏晶科技公司生产的STC89CXX系列单片机,其中有8位的单片机,也有16位的单片机。STC89C52为8位的单片机,它是一
20、种低损耗、高性能的CMOS微处理器,片有8K字节的存储空间,128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器,寻址围64K。并且可以在线进展重复编程、快速擦除、快速写入程序,能重复擦除/写入1000次左右,数据保存时间为十年。方案二:微处理控制器也有凌阳公司生产的,同样有8位的CPU和16位的CPU。它也有很多特点,比方:体积下、集成度高、可靠行好、易于扩展;具有较强的中断处理能力;功能强、效率高的指令系统及低功耗、低电压。但是其应用领域主要是为控制处理数据处理以及数字信号处理等领域,其中凌阳的16位单片机就是为适应这种开展而设计的。综上所述,在本设计中,考虑到本人对单
21、片机的运用熟练度和单片机功能领域,选择宏晶科技公司生产的STC89C52单片机作为本设计的微控制器。2.2.2 LCD液晶显示模块的方案比照选择方案一:显示的方法有很多种,其中LED数码管是常用的一种显示方法。在这个设计中,可以用LED数码管来显示相应站台的站号,提醒司机自动是去向或者是回向的第几站,让司机心里有数,同时增加显示数字的可读性。该设计中,显示站号,至少要2个LED数码管,显示时间信息要12个,显示温度信息要2个,总共需要16个LED数码管。单价是1.2元,那16个共需要161.2=19.2元。另外十几个数码在布线中会很累赘,而且显示效果也不佳,给设计带来很不方便的使用,也不实用。
22、方案二:LCD1602液晶显示器是一块价廉物美的器件,其体积小,控制简单,使用方便。它能显示2行16列的数字或英文信息,另外它的线很少,只要8根数据线和3根控制线,这样给使用带来很大的方便,节约单片机I/O口。市场上一块LCD1602的价格也就15元左右,比数码管还廉价,况且显示的站牌能更清晰。方案三:功能强大、可以显示中文文字的LCD12864液晶显示器,其价格贵,体积大,控制比LCD1602稍微复杂点,但是使用也是很方便的。在控制使用上,需要8根数据线和3根控制线,其余的PSB、和BLA直接与VCC相连接。但是在本设计中使用它的性价比不高,体积大,占用覆铜板面积大,而且笨拙。综上所述,在L
23、CD液晶显示模块上,选择方案二中的LCD1602液晶显示器作为本设计的显示模块。显示时间、温度、去向或者是回向的站号信息,方便司机和乘客读取其上面的信息值得目前的实时情况。2.2.3 语音芯片的方案比照选择方案一:公司生产的ARP9600语音录放芯片,是采用模拟存储技术的一款音质好、低嗓音不怕断电、可反复录放的新型语音芯片,单片可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段。与ISD同类芯片相比它具有:价格廉价,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开场停顿循环多种功能等特点,同时保存了ISD4004芯片一些特点,都
24、是DIP28双列直插塑料封装,在管脚排列上也根本一样。方案二:ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动及其他便携式电子产品中。芯片采用CMOS 技术,含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI 或Microwire)送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,防止了一般固体录音电路因量化和压缩造成的量化噪声和金属声。采样频率可为4.0,5.3,6.4,
25、8.0kHz,频率越低,录放时间越长,而音质那么有所下降,片信息存于闪烁存贮器中,可在断电情况下保存100 年(典型值),反复录音10 万次。综上所述,结合本设计的需要及控制情况,选择方案二最好。公司生产的ARP9600语音录放芯片和美国ISD公司的ISD4004语音录放芯片相比,一样点都是DIP28双列直插塑料封装,在管脚排列上也根本一样,+5V 电源供电,可以不加功放直接外接驱动扬声器。但是不同点是ISD4004的录放时间为8至16分钟,在设计中需要录音时间长点的,利于每个站台的录音和报站;另外,在控制上,ISD4004可以直接通过地址的方式查询录音信息并通过扬声器报放录音信息;最后也是最
26、重要的,ISD4004具有录音完毕标志,当录音完毕后,单片机可以通过读取该标志产生中断信号,使、PD置高电平,从而控制ISD4004进入不工作节能状态。2.2.4实时时钟电路的方案比照选择方案一:DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路芯片,它可以对年、月、日、星期、时、分、秒进展计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进展同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302部有一个318的应用临时性存放数据的RAM存放器。DS1302是有主电源/后背电源双电源引脚,可以同时对后背电源进展涓细
27、电流充电。方案二:DS12887也是是美国DALLAS半导体公司最新推出的串行接口实时时钟芯片,采用CMOS技术制成,部具有晶振和时钟芯片备份锂电池。采用DS12887芯片设计的时钟电路无需任何外围电路和器件,并有良好的微机接口。DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要接很多引脚,才能对它到达一个很好的控制。综上所述,结合本设计的实际问题及单片机I/O口线,选择方案一种的DS1302作为本设计的实时时钟电路的芯片。其控制方便、占单片机I/O口线少、体积小、价格廉价,方便本设计的使用。2.2.5 控制方式方案选择 考虑到本设计的接收站号信息和本人
28、所学信息领域,采用红外发送接收模块作为本设计的主要控制方式,将每个站台都设置成一个红外发射模块,有自己的发射的信息,在公交车上设置一个红外接收模块,每当接收到站台所发射的信号做出相应的站台播报信息和显示,并且精度较准,然后再此根底上加多一个键盘控制方式以便在站台报站时发生错误信号可以做出调整,采用单键控制,循环线路,一个上行路线,一个下行路线。. word.zl- .第三章 系统的硬件设计电路及元件说明本章根据系统设计构造图来对每个局部的电路进展分析和说明,重点讲述微控制器STC89C52、语音芯片ISD4004、液晶显示模块LCD1602、实时时钟芯片DS1302、温度模块芯片DB18B20
29、和红外控制模块。该系统中STC89C52是核心器件,系统的设计原理图如附录二所示。3.1 MCU微控制器电路STC89C52的塑封图如图3-1所示,它为DIP40双列直插塑料封装。STC89C52作为系统的核心控制元件,只有它能正常工作后才能使其它的元件进入正常工作状态。因此,下面对SYC89C52进展必要的说明,STC89C52的管脚如图3-2所示。图3-1 STC89C52塑封图 图3-2 STC89C52引脚图STC89C52具体介绍如下:1).主电源引脚2根VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线2).外接晶振引脚2根XTAL1(Pin19):片振荡电路的
30、输入端XTAL2(Pin20):片振荡电路的输出端3).控制引脚4根RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的外部选通,接低电平从外部程序存储器读指令,如果接高电平那么从部程序存储器读指令。4).可编程输入/输出引脚32根STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位8根引脚,共32根。PO口Pin39Pin32:8位双向I/O口线,名称为P0.0P0.7P1口Pin1Pin
31、8:8位准双向I/O口线,名称为P1.0P1.7 P2口Pin21Pin28:8位准双向I/O口线,名称为P2.0P2.7 P3口Pin10Pin17:8位准双向I/O口线,名称为P3.0P3.7STC89C52主要功能如表3-1所示。表3-1 STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.2 LCD液晶显示电路1.在单片机系
32、统中应用晶液显示器作为输出器件有以下几个优点:显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器CRT那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来到达显示的目的,在重量上比一样显示面积的传统显示器要轻得多。功耗低:相对而言,液晶显示器的功耗主要消耗在其部的电极和驱动IC上,因而耗电量比其它显示器要少得多。2.LCD1602是一种用57点阵图形来显示字符的液晶显示器模块,它显示的容量为2
33、行16个字。其实物如图3.3和3.4所示,它的显示容丰富、体积小、美观和易于控制都是本设计选择作为显示模块的原因。其引脚构造图如图3.6所示。图3-3 LCD1602正面图图3-4 LCD1602反面图图3-5 LCD1602引脚图3.引脚功能说明1602LCD采用标准的14脚无背光或16脚带背光接口,各引脚接口说明如表3-2所示: 表3-2 引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据
34、16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器比照度调整端,接正电源时比照度最弱,接地时比照度最高,比照度过高时会产生“鬼影,使用时可以通过一个10K的电位器调整比照度。第4脚:RS为存放器选择,高电平时选择数据存放器、低电平时选择指令存放器。第5脚:R/W为读写信号线,高电平时进展读操作,低电平时进展写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位
35、双向数据线。 第15脚:背光源正极。第16脚:背光源负极。4.1602LCD的指令说明及时序,模块控制器共有11条控制指令,如表3-3所示: 表3-3 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM10要写的数据容11从CGRAM
36、或DDRAM读数11读出的数据容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。说明:1为高电平、0为低电平 指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平那么无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。 指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据。 指令11:读数据。5.如表3-4所示是1602的部显示地址。表3-4 1602LCD部显示地址3.3 语音芯片电路3.3.