基于单片机的公交车自动报站系统设计毕业设计 .doc_第1页
基于单片机的公交车自动报站系统设计毕业设计 .doc_第2页
基于单片机的公交车自动报站系统设计毕业设计 .doc_第3页
基于单片机的公交车自动报站系统设计毕业设计 .doc_第4页
基于单片机的公交车自动报站系统设计毕业设计 .doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的公交车自动报站系统设计毕业设计55第一章 公交车自动报站系统设计的意义及任务第一章 公交车自动报站系统设计的意义及任务1.1 公交车自动报站系统设计的意义随着城市化进程的加快,公交交通作为城市的基础设施之一,仍然是绝大多数出行者的首选交通式。传统由乘务人员人工报站,该方式因其效果太差和工作强度太大,在绝大多城市已经被淘汰。随着科学技术的日益发展和进步,微型计算机已经在很多领域得到广泛的应用。在声学领域,微机技术与各种语音芯片的结合,既可以完成语音的合成技术,又可以使得公交车报站器的实现,从而为市民提供了更加人性化的服务,鉴于公交车报站的具体情况,结合公交车的使用特点及实际运营环境,设计了一种由单片机控制的公交车报站系统。公交车报站系统的设计应用单片机,LED显示,语音芯片,使得到站信息及提示信息以语音和显示的方式告知市民,为市民提供更人性化,更完善的服务。选题的研究现状如下所述:目前公交车报站系统技术主要有以下几种:第一种是目前最常用的系统,到站前由乘务人员按动进站按钮开始报站,出站时由乘务人员按下出站按钮并且开始预报下站的站名;第二种是门控语音报站器,将开门、关门时转换信号和语音报站器连接,开门和关门时自动报站;第三种是无线信标语音报站器,它是在每个公交车站点设置发射信标点,公交车临近到站点左右会收到信标信号,开始自动报站,出站后信号消失,开始预报下一站,此报站器报站准确,但需要为每个站点组建无线发射信标,建设复杂、费用高,大部分站点无电源供应,公交车数量多时存在频率干扰问题,且较严重,用户修改站点非常不方便,系统维护成本高;第四种就是GPS自动语音报站器,此报器是在公交车上安装GPS自动语音报站器,自动识别站点并报告站点信息。 1.2 设计任务公交车自动报站系统的主要设计任务如下:1). 通过大量的参考文献,了解公交车报站系统的相关技术与概念,并做出一些总结。2). 不同公交线路的站名的输入和更换。3). 可以完整地手动播报一条公交线路的站名,包括上行线路与下行线路。4). 使用本系统可以进行语音播报,使报站器更人性化。5). 可以在LED显示屏上显示时间、日期、报站信息、提示语和广告。6). 利用汽车后门的打开与关闭实现对当前站名的播报和下一站的预报,当播报出错时还可以利用调试按钮进行对播报系统的调试。第二章 系统的硬件设计和方案对比选择第二章 系统的硬件设计和方案对比选择本章重点主要是从系统结构图来阐述了硬件的设计以及从方案上对比选择各个电路部分的原件,目的是使系统达到一个低成本、高质量、稳定可靠的设计。2.1系统设计结构图根据系统设计的要求和设计思路,确定该系统的系统设计结构图。如图2-1所示。硬件电路主要有MCU微处理控制器单元、LCD液晶显示模块、语音芯片、功放、按键控制、红外电路模块、温度测试模块、实时时钟电路、晶振电路、电影模块等电路组成。 图2-1 系统设计结构图2.2系统设计方案对比选择根据设计要求,结合实际情况和设计成本要求,对系统主要部分的电路方案叙述如下。2.2.1 MCU微处理控制器的方案对比选择方案一:MCU微处理控制器的种类很多,有宏晶科技公司生产的STC89CXX系列单片机,其中有8位的单片机,也有16位的单片机。STC89C52为8位的单片机,它是一种低损耗、高性能的CMOS微处理器,片内有8K字节的存储空间,128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器,寻址范围64K。并且可以在线进行重复编程、快速擦除、快速写入程序,能重复擦除/写入1000次左右,数据保存时间为十年。方案二:微处理控制器也有凌阳公司生产的,同样有8位的CPU和16位的CPU。它也有很多特点,比如:体积下、集成度高、可靠行好、易于扩展;具有较强的中断处理能力;功能强、效率高的指令系统及低功耗、低电压。但是其应用领域主要是为控制处理数据处理以及数字信号处理等领域,其中凌阳的16位单片机就是为适应这种发展而设计的。综上所述,在本设计中,考虑到本人对单片机的运用熟练度和单片机功能领域,选择宏晶科技公司生产的STC89C52单片机作为本设计的微控制器。2.2.2 LCD液晶显示模块的方案对比选择 方案一:显示的方法有很多种,其中LED数码管是常用的一种显示方法。在这个设计中,可以用LED数码管来显示相应站台的站号,提醒司机自动是去向或者是回向的第几站,让司机心里有数,同时增加显示数字的可读性。该设计中,显示站号,至少要2个LED数码管,显示时间信息要12个,显示温度信息要2个,总共需要16个LED数码管。单价是1.2元,那16个共需要161.2=19.2(元)。另外十几个数码在布线中会很累赘,而且显示效果也不佳,给设计带来很不方便的使用,也不实用。方案二:LCD1602液晶显示器是一块价廉物美的器件,其体积小,控制简单,使用方便。它能显示2行16列的数字或英文信息,另外它的线很少,只要8根数据线和3根控制线,这样给使用带来很大的方便,节约单片机I/O口。市场上一块LCD1602的价格也就15元左右,比数码管还便宜,况且显示的站牌能更清晰。方案三:功能强大、可以显示中文文字的LCD12864液晶显示器,其价格贵,体积大,控制比LCD1602稍微复杂点,但是使用也是很方便的。在控制使用上,需要8根数据线和3根控制线,其余的PSB、和BLA直接与VCC相连接。但是在本设计中使用它的性价比不高,体积大,占用覆铜板面积大,而且笨拙。综上所述,在LCD液晶显示模块上,选择方案二中的LCD1602液晶显示器作为本设计的显示模块。显示时间、温度、去向或者是回向的站号信息,方便司机和乘客读取其上面的信息值得目前的实时情况。2.2.3 语音芯片的方案对比选择方案一:台湾公司生产的ARP9600语音录放芯片,是采用模拟存储技术的一款音质好、低嗓音不怕断电、可反复录放的新型语音芯片,单片可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段。与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点,同时保留了ISD4004芯片一些特点,都是DIP28双列直插塑料封装,在管脚排列上也基本相同。方案二:ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI 或Microwire)送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。采样频率可为 4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100 年(典型值),反复录音10 万次。综上所述,结合本设计的需要及控制情况,选择方案二最好。台湾公司生产的ARP9600语音录放芯片和美国ISD公司的ISD4004语音录放芯片相比,相同点都是DIP28双列直插塑料封装,在管脚排列上也基本相同,+5V 电源供电,可以不加功放直接外接驱动扬声器。但是不同点是ISD4004的录放时间为8至16分钟,在设计中需要录音时间长点的,利于每个站台的录音和报站;另外,在控制上,ISD4004可以直接通过地址的方式查询录音信息并通过扬声器报放录音信息;最后也是最重要的,ISD4004具有录音结束标志,当录音结束后,单片机可以通过读取该标志产生中断信号,使、PD置高电平,从而控制ISD4004进入不工作节能状态。2.2.4实时时钟电路的方案对比选择方案一:DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路芯片,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的应用临时性存放数据的RAM寄存器。DS1302是有主电源/后背电源双电源引脚,可以同时对后背电源进行涓细电流充电。方案二:DS12887也是是美国DALLAS半导体公司最新推出的串行接口实时时钟芯片,采用CMOS技术制成,内部具有晶振和时钟芯片备份锂电池。采用DS12887芯片设计的时钟电路无需任何外围电路和器件,并有良好的微机接口。DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要接很多引脚,才能对它达到一个很好的控制。综上所述,结合本设计的实际问题及单片机I/O口线,选择方案一种的DS1302作为本设计的实时时钟电路的芯片。其控制方便、占单片机I/O口线少、体积小、价格便宜,方便本设计的使用。2.2.5 控制方式方案选择 考虑到本设计的接收站号信息和本人所学信息领域,采用红外发送接收模块作为本设计的主要控制方式,将每个站台都设置成一个红外发射模块,有自己的发射的信息,在公交车上设置一个红外接收模块,每当接收到站台所发射的信号做出相应的站台播报信息和显示,并且精度较准,然后再此基础上加多一个键盘控制方式以便在站台报站时发生错误信号可以做出调整,采用单键控制,循环线路,一个上行路线,一个下行路线。第三章 系统的硬件设计电路及元件说明第三章 系统的硬件设计电路及元件说明本章根据系统设计结构图来对每个部分的电路进行分析和说明,重点讲述微控制器STC89C52、语音芯片ISD4004、液晶显示模块LCD1602、实时时钟芯片DS1302、温度模块芯片DB18B20和红外控制模块。该系统中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):片内振荡电路的输入端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口(Pin1Pin8):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).在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。2). LCD1602是一种用57点阵图形来显示字符的液晶显示器模块,它显示的容量为2行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数据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位双向数据线。 第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或DDRAM)10要写的数据内容11从CGRAM或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.1 ISD4004引脚的说明ISD4004的塑封图如图3-6所示,引脚图如图3-7所示。 图3-7 ISD4004塑封图 图3-8 ISD4004的引脚图对其引脚说明如下:1).电源:(VCCA,VCCD): 为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。2).地线:(VSSA,VSSD) 芯片内部的模拟和数字电路也使用不同的地线。3).同相模拟输入(ANA IN+) 这是录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3K电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000 系列相同。4).反相模拟输入(ANA IN-) 差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV5).音频输出(AUD OUT) 提供音频输出,可驱动5K的负载。6).片选(SS) 此端为低,即向该ISD4004 芯片发送指令,两条指令之间为高电平。7).串行输入(MOSI) 此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD 输入。8).串行输出(MISO) ISD 的串行输出端。ISD 未选中时,本端呈高阻态。9).串行时钟(SCLK) ISD 的时钟输入端,由主控制器产生,用于同步MOSI 和MISO 的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。10).中断(/INT) 本端为漏极开路输出。ISD 在任何操作(包括快进)中检测到EOM 或OVF 时,本端变低并保持。中断状态在下一个SPI 周期开始时清除。中断状态也可用RINT 指令读取。OVF 标志-指示ISD的录、放操作已到达存储器的未尾。EOM 标志-只在放音中检测到内部的EOM 标志时,此状态位才置1。11).行地址时钟(RAC) 漏极开路输出。如图3-8所示,每个RAC 周期表示ISD 存储器的操作进行了一行(ISD4004 系列中的存贮器共2400 行)。该信号175ms 保持高电平,低电平为25ms。快进模式下,RAC 的218.75s 是高电平,31.25s 为低电平。该端可用于存储管理技术。图3-8 时钟RAC周期12).外部时钟(XCLK) 本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在 +1%内。商业级芯片在整个温度和电压范围内, 频率变化在+2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列)。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接地时钟时,此端必须接地。13).自动静噪(AMCAP) 当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1mF 的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1mF 的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA 则禁止自动静噪。3.3.2 ISD4004的操作模式说明ISD4004 工作于SPI 串行接口。SPI 协议是一个同步串行数据传输协议,协议假定微控制器的SPI 移位寄存器在SCLK 的下降沿动作,因此对ISD4004 而言,在时钟止升沿锁存MOSI 引脚的数据,在下降沿将数据送至MISO 引脚。协议的具体内容为:1).所有串行数据传输开始于SS 下降沿。2).SS 在传输期间必须保持为低电平,在两条指令之间则保持为高电平。3).数据在时钟上升沿移入,在下降沿移出。4).SS 变低,输入指令和地址后,ISD 才能开始录放操作。5).指令格式是(8 位控制码)加(16 位地址码)。6).ISD 的任何操作(含快进)如果遇到EOM 或OVF,则产生一个中断,该中断状态在下一个SPI 周期开始时被清除。7).使用读指令使中断状态位移出ISD 的MISO 引脚时,控制及地址数据也应同步从MOSI 端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI 周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。8).所有操作在运行位(RUN)置1 时开始,置0 时结束。9).所有指令都在SS 端上升沿开始执行。SPI 控制寄存器控制器件的每个功能,如录放、录音、信息检索(快进)、上电/掉电、开始和停止操作、忽略地址指针等。详见下表3-5:表3-5 SPI控制寄存器功能表IAB 置0 时,录、放操作从A9-A0 地址开始。为了能连贯地录、放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI 指令将IAB 置1,否则器件在同一地址上反复循环。这个特点对语音提示功能很有用。RAC 脚和IAB 位可用于信息管理。3.4 功放电路LM386是美国国家半导体公司生产的音频功率放大 器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。 LM386的封装形式有塑封8引线双列直插式和贴片式。如图3-9所示 图3-9 LM386封装图在本设计中,使用外接功放LM386的方法来提高功率,在ISD4004的14脚(SP+)外接一个6C2 瓷片电容,将音频信号耦合至电位器6R1,通过调节电位器的中心抽头位置来改变输入给LM386的信号强度,从而控制了扬声器的音量大小。LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20.但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值。本设计中使用+5V(VCC)电源电压供电,电路连接图如图3-10所示,图中采用的是增益为200dB的接法。 图3-10 功放电路连接图3.5 红外无线控制电路及控制说明红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图3-11所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图3-11 红外遥控系统接收器及解码: 一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。接收器的形状如图3-12所示: 红外接收器的连接图如图3-13:图3-12 接收器的形状 图3-13 红外接收器连接图图中3个引脚从左到右依次是:1). 信号输出2). 地线(GND)3). 电源 (+5V)3.6 按键控制本设计使用简单的独立式按键来控制报站信息,同时设置系统在不同功能下让单个按键的功能也跟随不同,按键采用重复使用功能,这使系统看起来较简便,控制简单,设计新颖,如图3-14所示就是系统的独立按键连续图,有分别控制去向和回向的状态。 图3-14 独立键盘3.7 实时时钟电路本设计中使用的DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。DS1302的引脚图如图3-15所示。设计连接图如图3-16所示,其中C13和C14起微调晶振的作用。 图3-15 DS1302的引脚图 图3-16 DS1302的连接图各引脚的功能为:1). Vcc2:5V电源。当Vcc2Vcc1+0.2V时, 由Vcc2向DS1302供电,当Vcc27800)&(LowTime3600)&(HighTime4700) /如果是引导码,就开始解码,否则放弃,引导码的低电平计时 /次数9000us/1.085=8294, 判断区间:83005007800,83005008800. if(DeCode()=1) / 执行遥控解码功能 Disp();/调用1602LCD显示函数 /beep();/蜂鸣器响一声 提示解码成功 addrplay=tablek; play(); EX0=1; /开启外中断EX0 4.2 录音/放音控制程序电路上电后,程序首先完成程序的初始化,随后查询按键状态,进入系统待机状态。如果有按键按下,则转去执行该按键指向的工作程序。按键包括放音键,停止键,加一,减一键以及特殊语键。在待机状态下,如果放音键首次被按下,程序将首先判断是去还是回(公交车路径一般是既去又回的),并点亮相应的指示灯。自动读出第一站的放音内容,站号显示1。如果不是首次按下,程序则首先判断当前站号,并以该站号为依据获得存放该站放音内容的首地址。调用放音子程序,读入前面获得的本站放音内容首地址,开始放音。每一句放音完毕后,ISD4004 的中断引脚(25 脚)会自动送一低电平信号。在硬件设计中,该引脚与单片机的P3.3 连接。因此,会引起一次中断,在中断子程序中会有一个计数器记录中断次数,从而判断何时一站结束,站号加一并刷新显示。加一键按下后则使程序放音内容转向下一站,减一键则使程序放音内容转向上一站,相应的站号显示也将随之刷新。特殊语键按下后,程序转向执行特殊语放音(譬如拐弯请注意等语句)。停止键被按下将中止当前的放音状态。程序流程图如图4-2所示: 图4-2 录音/放音程序流程图4.3 红外遥控解码程序解码的关键是如何识别“0”和“1”,如图4-3所示,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。 图4-3 遥控码的时序图4.4 主程序设计系统的主程序设计是用来控制整个系统运行时的时序工作状态,因此,完善的程序设计是本设计的重点内容。图4-4是本设计使用的主程序设计流程图 图4-4 主程序流程图第五章 系统的制作、焊接与调试 本章主要介绍了基于单片机公交车语音报站器设计系统的制作、焊接、调试及安装。5.1 系统的制作通过以上的几章的介绍和说明,按照电子工艺的操作工程开始制作电路。1). 根据电路原理图,列出元件清单表,照着清单去电子市场买好相应的元件,并根据各自元件的封装,画好系统的PCB图。2). 由于现成条件不足,所以按照PCB图制作电路板,直接用万能板制作电路板。3). 在万能板上定好各个部分元件的位置并安装上去。5.2 系统的焊接 在元件的焊接过程中,需要注意几点事项: 1). 先焊接跳线,再焊接个子较低的元件,最后焊接体积大的,个子高的元件及飞线。 2). 在焊接过程中,要注意焊接的质量,避免有空焊、虚焊、桥接等焊接质量问题的出现。 3). 极性元件在安装焊接的时候一定要注意极性是否和原理图上的相对应,特别是电解电容和二级管。5.3 系统的调试按照上面的步骤,系统在正常的情况下安装并焊接完成。在调试前,先检测系统的VCC和GND之间是否有短路和断路现象,如果有,用万用表检查故障原因并维修好,直到把故障消除。然后按照设计结构电路分别对各电路结构进行检测。1). 电源电路的调试:前工序做好了,把外部直流电源9V接在万能焊好的电源插座上,观察电源指示灯是否正常点亮,如果正常点亮,则说明电源模块电路正常;否则检测电源电路故障,排除故障,直到电源指示灯正常点亮。2). MCU微控制器电路、LCD1602液晶显示器、按键部分、温度传感DS18B20电路及DS1302电路的调试:接通电源开关,通过在实习板于PC机上的USB接口之间的下载连线程序烧入单片机中,再把单片机装到已焊好电路板上,再根据系统的控制要求对各个部分进行检测。检测的要求包括STC89C52工作是否正常、LCD1602显示是否正常,时间的显示是否正常、温度的显示是否正常、按键的控制、红外遥控的控制是否符合系统的控制要求。3). 功放电路和语音芯片电路的检测:在接通电源的情况下,给LM386的3脚加上外接的音频信号,接上扬声器,看扬声器是否有正常的声音播出。如果正常,则说明功放正常,否则维修功放部分电路,直到正常为止。语音芯片在录音时,将录音键按下,然后通过单片机的程序控制对其进行不同地址的录音,为了确定录音正常,建议多录几段。放音时按下放音键,然后通过单片机的程序控制对其进行不同地址的段的放音,为了确定放音是否正常,建议多放几段。对以上各个部分检测玩并确定都正常后,至此,系统的整个制作过程结束:否则,要对其相应的部分做维修处理,直到一切都正常为止。第六章 系统的验证及改进第六章 系统的验证及改进6.1 系统的验证在以上的所有的步骤都完成后,开始系统的验证,将原先编写好的程序烧到单片机中,按照自己设定的控制方式开始操作这个系统,将每个部分都操作一遍,看系统是否在存在问题,或者否是控制方式还有漏洞,漏洞产生的原因是出现在硬件还是软件上,将设想的所有的问题都检查一遍,确保系统正常运行,并按着设计的控制方式后都实现后才能确认该系统是正常的。6.2 系统的待改进的模块该系统其实还有可改进的地方,例如:可以将显示屏用成大型LED点阵代替,可实现让乘客看得非常清楚,而且这样一来还可以做成滚动显示屏,加多一广告标语,形成商业效应,这样一来显示看起来会效果很好,同时可收取广告费用。设计总结设计总结通过这次对基于单片机的公交车自动报站系统的设计的设计与制作过程,让我对公交车语音报站系统有了一个新的认识,也对单片机应用于该设计中的各个电路部分都非常了解,清楚了各个电路部分的作用以各元件的基本功能。在布电路的PCB图时,我结合自己的经验以及布线的规则,将PCB图布为单面板,但由于线路较复杂,还需要几跟跳线,单面焊接元件,在同学的帮助下,我在布线时把该注意的问题都检查了一遍,例如布线不线的宽带有合适,既不能太窄,也不能太宽,窄了容易虚接,宽了难布线,并且板的面积要大,提高成本。所以说每一个科研项目的设计都是需要考虑非常非常多的问题,把我们能想到,会发生,或者该预防的问题都注意了,并且结合自身的经验,将项目的成本降低,效率提高,使运作稳定,这是一个科研者该做到的。本系统通过单片机STC89C52作为整个系统的CPU控制,通过ISD4004语音芯片建立语音信息库,由按键或者红外来选择其语音地址信息并利用功放块LM386驱动扬声器播放语音信息。LCD1602液晶显示器显示出前时间和温度外,还显示

温馨提示

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

评论

0/150

提交评论