智能公交车报站器设计_第1页
智能公交车报站器设计_第2页
智能公交车报站器设计_第3页
智能公交车报站器设计_第4页
智能公交车报站器设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、1 绪论 随着国民经济的快速发展,城市建设规模不断扩大,大城市人口高度集中并大幅度增长,同时汽车保有量急剧上升,交通需求迅速扩大,而道路交通基础设施建设的发展则相对滞后。城市交通需求与供给之间的矛盾越来越突出,城市“乘车难”、“行车难”的局面在加剧,交通阻塞呈现出点到线、由线到面的扩展趋势,交通拥挤、交通延误、交通阻塞以及由此引起的噪音、废气污染严重影响着居民的正常的生活以及社会经济的持续、健康发展。近年来,我国城市交通的现状已引起了政府、公众、社会各界的广泛关注,有关专家学者和交通工程师们在吸取各国城市交通发展经验的基础上,找到了一条解决我国城市交通发展问题的有效途径,即优先发展城市公共交通

2、,以公共交通为杠杆降低城市交通需求总量,实现道路交通基础设施发展与交通需求增长的均衡。实施“公交优先”是解决我国城市交通发展问题的有效途径,也是我国目前城市交通发展的基本政策。公交智能化是智能交通的一个重要的子领域,同时也是落实“公交优先”,使城市交通与社会经济和谐发展的重要组成部分。传统由乘务人员人工报站的方式工作强度大且效果差,并需要大量的人力资源。而通过单片机和语音芯片的结合,使得公交车到站信息及提示信息以语音和显示的方式告知乘客,为市民提供更人性化,完善的服务,并且节省了大量的人力资源。公交车报站系统的设计需要单片机、LCD、语音芯片等,使得到站信息及提示信息以语音和显示的方式告知市民

3、,弥补传统人工语音报站的落后方式,使进站、出站及服务用语的信息实现自动播报。公交车语音报站系统还可以结合每条线路的特点和实际情况自主设定不同的报站方式和站点设置,为市民提供更人性化更完善的服务,以减少各种可能产生不必要的交通流量,提高公交的运作效率。2 总体设计与方案对比选择本章重点主要是从系统结构图来阐述硬件的设计以及从方案上对比选择各个电路部分的原件,目的是使系统达到一个低成本、高质量、稳定可靠的设计。2.1 系统设计结构图根据设计的需要与思路,确定系统的设计结构图,如图2-1所示。硬件电路主要有MCU微处理控制单元、LCD液晶显示模块、语音模块、时钟芯片、按键控制等电路组成。 图2-1系

4、统设计结构图2.2系统设计方案对比选择根据设计的要求,结合实际情况和设计成本,对系统主要部分的电路方案选择叙述如下2.2.1 单片机模块方案选择方案一:采用宏晶科技公司生产的STC89C52单片机。该单片机是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。且该单片机的售价低廉应用广泛、有较高的可靠性。方案二:采用Atmel公司推

5、出的AVR单片机。该单片机具有高性能、高速度、低功耗的特点。它取消机器周期,以时钟周期为指令周期,实行流水作 业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。但这种单片机.是没有位操作,都是以字节形式来控制和判断相关寄存器位的,且其通用寄存器一共32个,前16个寄存器都不能直接与立即数打交道,因而通用性有所下降。综上所述,在本设计中,考虑到本人对单片机的运用熟练度和单片机功能领域的了解,以及本次设计的需要,选择宏晶科技公司生产的STC89C52单片机作为本设计的微控制器。2.2.2 LCD液晶显示模块方案对比选择方案一:采用LC

6、D1602显示器。该液晶显示器是一块价廉物美的器件,其体积小,控制简单。但该显示器是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形以及文字。方案二:采用LCD12864液晶显示器。该显示器功能强大可以显示中文文字,其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界

7、面。可以显示8×4 行16×16 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块综上所述,在LCD液晶显示模块上,为了更好的显示时间、去向或者是回向的站号信息,已方便司机和乘客了解其最新信息情况。选择方案二中的LCD12864液晶显示器作为本设计的显示模块。2.2.3语音芯片方案对比选择方案一:采用台湾公司生产的ARP9600语音录放芯片。该芯片是一款音质好、低嗓音不怕断电、可反复录放的新型语音芯片,单片可录放

8、32-60秒,串行控制时可分256段以上,并行控制时最大可分8段。与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点,同时保留了ISD4004芯片一些特点,都是DIP28双列直插塑料封装,在管脚排列上也基本相同。方案二:采用广州唯创与台湾华邦共同研发的WT588D语音芯片。WT588D语音芯片是一款功能强大的可重复擦除烧写的语音单片机芯片。该芯片不仅可以作为一般语音芯片,当从片发声,而且因为I/O口多,带控制功能和外置FLASH存储器,所以能做FLASH单片机;最重要的是还可以按照样品直接

9、投掩膜,管脚完全不用改动,价钱便宜一半。WT588D性能卓越,简单易用,与51单片机有着极为相似的性能。综上所述,在语音芯片选择上,WT588D操作方式简洁易懂,撮合了语音组合技术,大大减少了语音编辑的时间。在MP3控制模式下,完全迎合市场上MP3的播放功能,且在按键控制模式下,触发方式灵活,可随意设置任意按键为脉冲可重复触发、脉冲不可重复触发等15种触发方式,最多可控制10个按键触发输出。完全符合此次设计要求,所以语音芯片采用WT588D。 时钟电路方案对比选择方案一:采用美国DALLAS公司推出的DS1302时钟芯片。该芯片是一种高性能、低功耗、带RAM的实时时钟电路芯片,它可以对年、月、

10、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的应用临时性存放数据的RAM寄存器。DS1302是有主电源/后背电源双电源引脚,可以同时对后背电源进行涓细电流充电。 方案二:采用美国DALLAS公司推出的DS12887时钟芯片。次芯片是该公司最新推出的串行接口实时时钟芯片,采用CMOS技术制成,内部具有晶振和时钟芯片备份锂电池。采用DS12887芯片设计的时钟电路无需任何外围电路和器件,并有良好的微机接口。DS12887芯片具有微功耗、外

11、围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要接很多引脚,才能对它达到一个很好的控制。综上所述,结合本设计的实际问题及单片机I/O口线,选择方案一种的DS1302作为本设计的实时时钟电路的芯片。其控制方便、占单片机I/O口线少、体积小、价格便宜,方便本设计的使用。3 系统硬件电路设计本章根据系统设计结构图来对每个部分的电路进行分析和说明,重点讲述微控制器STC89C52、语音芯片WT588D、液晶显示模块LCD12864、实时时钟芯片DS1302。该系统中STC89C52是核心器件。3.1 单片机最小系统 STC89C52作为系统的核心控制元件,只有它能正常工作后才能使其它的元件进

12、入正常工作状态。该芯片具有如下的功能具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。电路图

13、如图3-1所示 图3-1最小系统电路 引脚说明如下 1.VCC(40引脚):电源电压2.VSS(20引脚):接地3.P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程文章窝序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。4.P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。

14、P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2) 和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表3-2:在对Flash ROM编程和程序校验时,P1接收低8位地址。 表3-2引脚功能特效引脚号功能特效P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制) 5.P2端口(P2.0

15、P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对Flash ROM编程和程序校验期间,

16、P2也接收高位地址和一些控制信号。 6.P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。在对Flash ROM编程或程序 校验时,P3还接收一些控制信号。P3口除作为一般I/O口外,还有其他一些复用功能,如下表3-3所示:表3-3接口功能接口第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3I

17、NT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)7.RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。8.ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚也用作编程输入脉冲。在一般情况下,ALE

18、以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 9.(29引脚):外部程序存储器选通信号是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。 10.VPP(31引脚):访问外部程序

19、存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。11. XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2(18引脚):振荡器反相放大器的输入端。单片机主控模块除了STC89C52芯片,主要还有晶振电路与复位电路。复位和晶振电路通过接口与单片机引脚相连,复位电路接到RST口,晶振接到XTAL1和XTAL2口上。晶振电路在STC89C52工作时提供外部时钟信号,因此,本设计选择在其18脚19脚之间接上11.

20、0592MHZ的晶振,为单片机提供1s的机器振荡周期。其电路连接图如图3-8所示。在图中,电容器C2和C4起稳定振荡频率、快速起振的作用,其电容值一般在1040pF。电路图如图3-4所示 图3-4晶振电路 为使电路恢复到起始状态,因此,设计接入复位电路。单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,通过电阻给电解电容充电。电容两端的电压会慢慢上升(此时间很短一般小于0.3秒)。正因为如此,复位脚的电平由低电位升到高电位,引起了内部电路的复位工作,这是单片机的上电复位,也叫做初始化复位。当按下复位键时,电容两端放电,电容又变回了0V,于是又进行了一次复位工作。电路

21、图如图3-5所示 图3-5复位电路3.2 LCD液晶显示电路 液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件装配在一起的组件英文名称叫“LCD Module”,中文一般称为“液晶显示模块”。晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,在嵌入式应用系统中得到越来越广泛的应用。带中文字库的LCD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和

22、简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。电路图如图3-6所示 引脚接口如表3-7所示 图3-6 LCD液晶显示电路电路图表3-7引脚接口说明引脚名称说明引脚名称说明1VSSGND11DB4数据42VDD电源正极通常接+5V12DB5数据53V0电源控制端,用来调节显示屏灰度。调节该端的电压,可以改变显示屏字符、图形的颜色深浅13D

23、B6数据64RS寄存器选择信号,高电平时为数据操作,低电平为为写指令或读状态14DB7数据75R/W读/写选择信号,高电平为读选通,低电平为写选通15PSB并口/串口选择信号,接高电平时选择并口,接低电平时选择串口。 6E使能信号16CS1空脚接表3-77DB0数据017RSTB复位信号,低电平有效,也可直接接VDD,使之不起作用。8DB1数据118CS2空脚9DB2数据219VEE背光源正极10DB3数据320BLA背光源负极 3.3 语音芯片电路 WT588D语音芯片体积小,适合应用在要求电路板体积小的电路上,在应用WT588D语音芯片时,需要外接FLASH存储器。WT588D语音模块/芯

24、片工作电压为DC2.8V5.5V,支持WAV、MP3、WMA格式音频,能加载6K20K的音频,外挂2M64M存储器,最长可装载2149M秒的语音,可直接按键触发控制,也能用单片机通过并口、一线串口、三线串口等模式进行控制。WT588D采用数码形式压缩音频,音域广,播放语音时无底噪音,声音还原度好,能与MP3相媲美。工业性能好,能确保WT588D在多种复杂的环境下正常的进行工作。通过配套的电脑操作软件,就能对WT588D完成所有功能的设置,WT588D软件人性化界面操作,功能编辑简单透彻3.3.1WT588D特性 1.外挂2M32M的Flash,时间从321054秒。掩膜为内置ROM,最长支持4

25、00秒。采样率支持6K22K2.DAC输出:13Bit,PWM输出:12Bit3.内置0.5W功放,可直接推动0.5W/8扬声器4.支持加载MP3/WAV/WMA三种音频格式5.工作电压:DC2.8V5.5V6.静态休眠电流:<10uA7.可通过电脑软件,随意组合语音,可插入静音,插入的静音不占用内存的容量,一个已加载语音可重复调用到多个地址,重复调用的,不占空间,这是其它芯片所不具备的8.USB下载方式,支持在线下载/ISP下载9.7种控制方式: MP3控制模式、按键控制模式、3×8矩阵控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制I/O口扩展输出

26、模式10.掩膜后的管脚与原来一致,性能一样,音质一样。不用更改电路。且不用焊接FLASH11.最多可加载500段语音;210段可控制地址位,单个地址位最多可加载128段语音,地址位内的语音组合播放;12.插入的静音时间范围10ms25min;静音不占用存储空间;3.3.2语音芯片模块电路原理图用上位机软件对SPI-FLASH存储器25PXX烧写语音程序时,选择三线串口控制模式。I/O口P01被定义为DATA数据口,P02为CS片选口,P03为CLK时钟口,单片机可通过三个控制口对WT588D语音模块进行控制。单片机向WT588D语音模块发送十六进制数据,从三线串口控制模式切换为三线串口控制I/

27、O口扩展输出模式,并保持在三线串口控制模式下的最后一次工作状态。在三线串口控制I/O口扩展输出模式下,发送十六进制数据F6,可切换到三线串口控制模式,并保持着在三线串口控制I/O口扩展输出模式下最后一次工作状态。三线串口控制I/O口扩展输出模式下,地址位输出,扩展输出为2进制,共256个扩展输出地址。地址位P00P12由低到高。由单片机发送数据控制。I/O口输出电压几乎等于模块的输入电压,可以通过继电器等控制器件对家用电器进行控制。P17端为BUSY忙信号输出端,可设置为播放状态点亮和播放状态熄灭。SPI-FLASH存储器25PXX的电压范围为要保证在2.8V3.5V,VDD-SIM为WT58

28、8D语音芯片的串口电源管理输入端,将25PXX的VCC连接到此端,可自动平衡WT588D跟25PXX之间的串口电压。PWM输出端禁止接电容到地或直接接地,PWM+/DAC和PWM-端谨防短路。 图3-8语音电路3.4 时钟电路DS1302它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。另外,它还能提供31字节的用于高速数据暂存的RAM。DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器。DS1302与单片机

29、系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。其工作过程可概括为:首先系统RST引脚驱动至高电平,然后在SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。因此,其与单片机之间的数据传送是十分容易实现的3.4.1引脚图及引脚功能引脚图如图3-9所示 图3-9时钟电路引脚各引脚的功能为:(1)Vcc2:5V电源。当Vcc2>Vcc1+0.2V时,(2)由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。(3 X1、X2 是外接晶振脚 (32.7

30、68KHZ的晶振) (4)接地(GND) (5)CE/RST:复位脚  (6)I/O:数据输入输出口;(7)SCLK:串行时钟,输入;(8)Vcc1:备用电池端;3.4.2DS1302接口电路设计 1.时钟芯片DS1302的接口电路(如图3-10所示)及工作原理: 图3-10时钟电路图3-10为DS1302的接口电路,其中Vcc1为后备电源,Vcc2为主电源。VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。VCC2在双电源系统中提供主电源,在这种运用方式中VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由VCC1或VCC2 两者

31、中较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图5所示。表-1为DS1302的控制字,此控制字的位7必须置1,若为0则不能对DS1302进行读写数据。对于位6,若对时间进行读/写时,CK=0,对程序进行读/写时RAM=1。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;进行写操作时,该位为0。控制字节总是从最低位开始输入/输出的。表-2为DS1302的

32、日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。 4 系统软件设计在对所要设计的课题有了整体的了解之后,需要先建立程序框架的流程图,对整个设计划分模块,逐个模块实现其功能,最终把各个子模块合理的连接起来,构成总的程序。主程序首先要对整个系统进行初始化,然后将指令传给芯片,设置按键功能,按下按键,看其对应的按键,完成预期的功能。4.1 主程序流程图启动开始按键,主程序先进行初始化设置,L

33、CD显示屏第一行显示欢迎字符和具体时间,蜂鸣器蜂鸣。然后程序一直循环检测时钟调整按键是否被按下,如果按下则进行时钟调整,否则执行时间显示、语音报站、报站信息显示等功能。如果未按下时钟调整按键,选择按键一或者按键二选择顺序或者逆序报站,按下键后蜂鸣器提示,LCD显示站名。随后可以每到一个站次显示公交站名,如果出现错误或者从新选择另一顺序报站,可以使用按键复位,从新选择报站方式。 流程图如图4-1所示 时间显示时钟调整时钟调整按键按下开始初始化 YN调整按键及播报子程序 显示电路 图4-1主流程图4.2 按键及播报模块显示模块采用带中文字库的LCD12864液晶屏,当系统上电后,液晶显示模块LCD

34、12864与语音模块进行初始化。当检测到有按键按下时进行按键判断,如有按键按下首先设定汉字地址表,再根据需显示的汉字地址或坐标显示对应的汉字。在主函数调用第一站信息时,显示对应内容,当调用第二站信息时显示第二站对应内容根据按键值跳转到相应的显示程序和语音播放程序并执行,当从而实现语音报站功能。流程图如图4-2所示判断站点递增键是否按下N判断站点递减键是否按下Y站点显示递增一站N语音播报站名Y站点显示递减一站语音播报站名 结束 图4-2按键及播报流程图5 硬件电路制作与调试本章主要介绍了基于单片机公交车语音报站器设计系统的制作、焊接、调试及实物运行。 5.1 系统制作通过以上的几章的介绍和说明,

35、按照电子工艺的操作工程开始制作电路。(1).根据电路原理图,列出元件清单表,照着清单去电子市场买好相应的元件,并根据各自元件的封装,画好系统的PCB图,如下图5-1所示 (2)由于现成条件不足,所以按照PCB图制作电路板,直接用万能板制作电路板。(3)在万能板上定好各个部分元件的位置并安装上去。 图5-1 PCB图5.2 系统焊接 在元件的焊接过程中,需要注意几点事项: (1)先焊接跳线,再焊接个子较低的元件,最后焊接体积大的,个子高的元件及飞线。 (2)在焊接过程中,要注意焊接的质量,避免有空焊、虚焊、桥接等焊接质量问题的出现。 (3)极性元件在安装焊接的时候一定要注意极性是否和原理图上的相

36、对应,特别是电解电容和二级管。 5.3 系统调试按照上面的步骤,系统在正常的情况下安装并焊接完成。在调试前,先检测系统的VCC和GND之间是否有短路和断路现象,如果有,用万用表检查故障原因并维修好,直到把故障消除。然后按照设计结构电路分别对各电路结构进行检测。(1)电源电路的调试:前工序做好了,利用USB接口与外部电源接通源接通,按下启动键观察LCD显示屏是否点亮,如果正常点亮,则说明电源模块电路正常;否则检测电源电路故障,排除故障,直到电源指示灯正常点亮。(2)MCU微控制器电路、LCD12864液晶显示器、按键部分及DS1302电路的调试:接通电源开关,通过在实习板于PC机上的USB接口之

37、间的下载连线程序烧入单片机中,再把单片机装到已焊好电路板上,再根据系统的控制要求对各个部分进行检测。检测的要求包括STC89C52工作是否正常、LCD12864显示是否正常,时间的显示是否正常、按键的控制、是否符合系统的控制要求。(3)语音芯片电路的检测:语音芯片在录音时,将录音键按下,然后通过单片机的程序控制对其进行不同地址的录音,为了确定录音正常,建议多录几段。放音时按下放音键,然后通过单片机的程序控制对其进行不同地址的段的放音,为了确定放音是否正常,建议多放几段。对以上各个部分检测玩并确定都正常后,至此,系统的整个制作过程结束:否则,要对其相应的部分做维修处理,直到一切都正常为止。5.4

38、 实物运行图启动下行时间设置置复位上行 图5-2 实物图首站显示接通电源按下启动按键后,语音播报并显示欢迎词“欢迎乘坐游8路公交车”。按下下行键LCD显示屏显示站名“汽车北站”字样并语音播报,同时相应显示时间情况。实物运行图如上图5-2所示启动下行时间设置置复位上行 图5-3 实物图中间站显示 继续按下下行键,LCD显示屏显示站名“火车站”并语音播报到站情况。同时显示时间状态。实物运行图如上图5-3所示 启动下行时间设置置复位上行 图5-4 实物图末站显示 继续按下下行键,LCD显示屏显示终点站名“汽车南站”并语音播报到站情况。同时显示相应的时间状态。如若继续运行则按下上行键,或者复位键。运行

39、如图5-4所示 结论与展望 通过这次对基于单片机的公交车自动报站系统的设计的设计与制作过程,让我对公交车语音报站系统有了一个新的认识,也对单片机应用于该设计中的各个电路部分都非常了解,清楚了各个电路部分的作用以各元件的基本功能。在布电路的PCB图时,我结合自己的经验以及布线的规则,将PCB图布为单面板,但由于线路较复杂,还需要几跟跳线,单面焊接元件,在同学的帮助下,我在布线时把该注意的问题都检查了一遍,例如布线不线的宽带有合适,既不能太窄,也不能太宽,窄了容易虚接,宽了难布线,并且板的面积要大,提高成本。所以说每一个科研项目的设计都是需要考虑非常非常多的问题,把我们能想到,会发生,或者该预防的

40、问题都注意了,并且结合自身的经验,将项目的成本降低,效率提高,使运作稳定,这是一个科研者该做到的。 经过近两个月的奋斗,从确定题目,到后来查找资料,理论学习,实验编程调试,这一切都使我的理论知识和动手能力有了很大的提高。了解了单片机的硬件结构和软件编程方法,对单片机的工作方式有了很大的认知。同时,对一些外围设备比如WT588D芯片,DS1302芯片等有了一定的了解,学会了对一项工程如何设计:首先,要分析需要设计的系统要实现什么功能,需要什么器件;然后,针对设计购买相应的硬件,选用硬件时不仅要选用经济的,更重要的是如何能更精确更方便的完成系统的要求;再次,对各个硬件的软件实现要弄清楚,如何更好的

41、实现各个硬件的协调,更好的通过主控制器件实现硬件的功能。最后,通过各种测试与调试,让设计更好的完成系统要求。 致谢 时光荏苒,光阴似箭,大学四年的时光转眼即逝,在这大学四年中,我得到院领导和老师对我的淳淳教诲和帮助,让我一方面学到书本上的知识,懂得如何去解决一些难题,另一方面让我学到关于社会实践的一些经验和处世方法,这对于一个即将毕业的应届毕业生是一笔难得的财富。当然,对于本专业的知识我还需要更深一层的认识,但是四年的学习生活中我从来没有放弃过,四年中我没有挂过任何一门科目。同时,在这大学四年中,我学会了MC-51系列单片机的工作原理相关的电路设计、控制系统的分析以及控制系统的软件程序的编写等

42、。 在此要感谢我的指导老师万芳瑛老师对我悉心的指导,感谢同学们给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。 参 考 文 献1 陈明荧.8051单片机课程设计实训教材M. 北京:清华大学出版

43、社,20032 徐新艳.单片机原理、应用与实践M. 北京:高等教育出版社,20053 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用M. 北京:清华大学出版社,20024 王千.实用电子电路大全M. 电子工业出版社,20015 冯博琴.微型计算机原理与接口技术M. 北京:清华大学出版社,20046 张毅刚.MCS-51单片机应用设计M. 哈尔滨工业大学出版社,20047 张淑清,姜万录等.单片微型计算机接口技术及应用M. 国防工业出版社,20038 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用M. 北京:清华大学出版社,20019 赵亮,侯国锐.单片机C语言编程与实例M. 北京:人民邮电

44、出版社,200310 王振红,李洋,郝承祥.WT588D语音芯片的工作原理及其在智能控制系统中的应用J. 电子器件2002年3月第25卷第1期11郑周景,应艳杰.智能公交系统研究J 安徽电子信息职业技术学院学报 2008年02期12李玉梅. 基于MCS-51 系列单片机原理的应用设计M. 北京:国防工业出版社, 2006.13柳延领,王金红. 基于ISD1420 语音播报器的研究与实现J. 科苑论坛14李华. MCS-51 系列单片机实用接口技术M 北京航空航天大学出版社1993 年 15薛钧义,张彦斌. MCS-51/96 系列单片微型计算机及其应用M 西安交通大学出版社1997 年第2 版

45、. 附录一:原理图 附录二:元件清单注释种类型号数量32.768晶振A113V纽扣电池BT1110uF电容C1120pF电容C2, C42喇叭喇叭LS1110K电阻R21R可变电阻RV11SW-PB按键S1, S2, S3, S54sw-灰色电源开关SW11DS1302时钟芯片 U21LCD12864液晶 U31U1单片机U41WT588D语音芯片U6112M晶振Y11附录三:程序清单#include <reg52.h> /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义变量范围0255#define uint unsigned int

46、 /无符号整型 宏定义变量范围065535#include <intrins.h>uchar code shuzi="0123456789ABCDEF"sbit rs=P25; /寄存器选择信号 H:数据寄存器 L:指令寄存器sbit rw=P26; /寄存器选择信号 H:数据寄存器 L:指令寄存器sbit e =P27; /片选信号 下降沿触发bit flag_200ms = 1;uchar menu_1;bit flag_100ms;static uchar num;uchar flag_s = 0;uchar geshu=3;uchar code gj_m

47、ing=" 游8 路公交车 "uchar code table1=" 汽车北站 "uchar code table2=" 火车站 "uchar code table3=" 汽车南站 "sbit key_set = P20;/*语音模块控制IO口的定义*/sbit VRST = P37; sbit VBUSY= P36;sbit VSDA = P35; sbit VCS = P34; sbit VSCL = P33;uchar yujing3;/* 名称 : delay_1ms()* 功能 : 延时1ms函数* 输入

48、 : q* 输出 : 无*/void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<115;j+);#include "ds1302.h"/*定时器0、定时器1初始化*/void time0_init() EA = 1; /开总中断TMOD = 0X11; /定时器0、定时器1工作方式1ET0 = 1; /开定时器0中断 TR0 = 1; /允许定时器0定时 /* 延时函数 */void delay_uint(uint z) while(z-);/*交换函数 高位变低位 低位变高位*/uchar chang

49、e_dat(uchar dat)uchar i,value;for(i=0;i<8;i+)value <<= 1; if(dat & 0x01) = 0x01)value |= 0x01;dat >>= 1;return value;/* 写命令函数 */void write_com(uchar com) P0=change_dat(com); rw=0; rs=0; delay_uint(25); e=1; delay_uint(50); e=0;/* 写数据函数 */void write_dat(uchar dat) P0=change_dat(dat); rw=0; rs=1; delay_uint(25); e=1; delay_uint(50); e=0;/*函数名: addr_12864*功能:写地址*说明:写汉字时要写个地址*输入:无*返回:无*/void addr_12864(uchar hang,uchar lie) /地址转换uchar address;switch(hang)case 1: address=0x80 + lie ;break;case 2

温馨提示

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

评论

0/150

提交评论