摘 要
1831年,英国的沃尔特·汗考为他的国家制造出了世界上第一辆装载发动机的公共汽车,至今,公交车已经经历过近200年的发展过程。从刚开始“闷罐头”样式到如今配套空调系统;从专人售票至无人售票;从人工报站至半自动语音报站,公交车朝着越来越人性化、越来越简洁的方向设计。可是就目前的公交车存在一个问题,半自动化的语音播报系统需要司机在车子进出站的时候进行人工操作。由于这两个时间往往都是路面情况复杂的时刻,因此容易给行驶中的车辆造成安全隐患。此设计的目标就是根据GPS定位,在单片机的控制下,进行可替代人工操作来实现在指定位置自动语音播报到站信息,并兼容半自动的手动播报功能。
关键字:GPS、自动语音报站、单片机
绪 论
随着国民经济的飞速发展,公交系统也日新月异。报站也由原来的由随车售票员报站改为司机按键报站了。但是由于公交司机又要开车又要兼顾按键报站,所以常常出现误报、漏报等现象,不能够满足公交系统的要求;另一方面,由于司机开车时为报站分散精力,也对公交的安全运行埋下了隐患。因此,对自动报站系统的需求也日益强烈。应用自动报站系统即可以节省员工开支,增强公司效益。又可以利用报站器播报标准的普通话站名,使各城市更利于交流和发展。
近年来,GPS(Global Positioning System)全球定位系统在各种行业广泛运用,特别是车辆监控与定位系统的应用中蓬勃发展。随着经济与科技的持续发展,公交运输系统的要求越来越高。目前我国各大城市公交公司都在进行减员,整体上实行是在每辆公交车上只配备了一个司机,实行无人工报站与售票。为了公交系统的管理现代化与安全考虑,需要对原有系统更新使其更智能化,公交自动语音报站系统符合这一要求。
目前现有公共汽车自动报站器,到站时LCD 点阵文字提示仅显示本站和下站,由此,很多乘客并不清楚该车当前行驶的方向以及某站点在整条线路中的具体位置,特别是报站系统故障时。往往不能提前做好下车准备,甚至很多要走回头路;针对这一问题。本文设计一种利用GPS 系统与凌阳单片机、LCD显示行车方向、车处位置,并能够实现自动报站与手动报站之间的切换。能够显示多条站点信息、并能够进行相关站点信息提醒,保证乘客尽可能小的下错或者上错站。
目前在国外,以GPS为代表的卫星导航应用产业已成为当今国际公认的八大无线产业之一。随着技术的进步、应用需求的增加,GPS以全天候、高精度、自动化、高效率等显著特点及其所独具的定位导航、授时校频、精密测量等多方面的强大功能,已涉足众多的应用领域,使GPS成为继蜂窝移动通信和互联网之后的全球第三个 IT经济新增长点。
虽然具有GPS定位功能的公交车市场潜力颇为看好,就现阶段而言仍有几项障碍亟待克服:首先,不论公交车采用的是内建GPS芯片或是用外接GPS模块作为解决方案,将无可避免地提高公交车成本,也影响消费者购买的意愿;最后,目前具有提供整合GPS芯片与无线通信技术的公司仍屈指可数,且公交车制造大厂是否愿意采用现有的解决方案,或是另外自行开发仍是未定之数。
通过近20年的发展,GPS产品已逐渐转变为消费电子产品,且所能应用的范围已扩展到日常生活中的通信、PDA、定位信息等。不过,以现阶段来看,由于 GPS接收机的单芯片化技术、价格以及市场应用服务等仍未臻成熟,因此,在乐观地看待此市场发展时,诸如GPS IC设计的技术是否能达到公交车或PDA所需的最小体积、成本是否能降低以及内建GPS的新公交车系统是否能引起消费者的青睐等问题,仍必须审慎地深入评估。
国内GPS市场呈现出两个重点发展趋势。
(1)以车载导航为核心的移动目标监控、管理与服务系统。
在GPS应用领域,车辆应用所占的比例较大。最初GPS车辆应用一般分为车辆跟踪和车辆导航两大系统。但当摩托罗拉公司推出集车辆导航与跟踪于一体的车辆信息系统后,它就成了发展的方向。
GPS车辆定位监控系统主要有自导航应用和中心监控两种方式。车辆监控系统是集GPS技术、无线通信技术和地理信息系统技术于一体的综合车辆管理系统。一般行业用户的车船队监控都采用中心监控方式,系统由监控中心、位于监控中心的主站和安装在移动车辆上的子站等3部分构成。系统的工作原理是:安装在车辆上的GPS接收机根据收到的卫星信息计算出车辆的当前位置,通信控制器从GPS接收机输出的信号中提取所需要的位置、速度和时间信息,结合车辆身份等信息形成数据包,然后通过无线信道发往控制中心。控制中心的主站接收子站发送的数据,并从中提取出定位信息,根据各车辆的车号和组号等,在监控中心的电子地图上显示出来。同时,控制中心的系统管理员可以查询各车辆的运行状况,根据车流量合理调度车辆。
(2)面向个人消费者的GPS终端产品。
芯片的小型化技术、生产成本的降低、体积与耗电量的减小等有利因素,使GPS产品走下神坛、深入到人们的日常生活中。目前面向个人消费者的产品主要有车载自主导航系统、移动监控终端以及消费类电子产品。
有集成了GPS芯片和地理信息系统数字地图的移动通信手机、GPS手持机、GPS 手表,甚至GPS相机等,也有基于掌上电脑和笔记本电脑等移动设备的插卡(CF卡式GPS接收机)式、外接(GPS接收机)式等集成产品。
利用全球定位系统进行公交车自动报站系统是近几年的一个热门课题。GPS卫星定位语音报站系统具有定位精度高、语音自动播报等特点。此系统设计要求车辆的定位精度要高于50m,如遇外界影响GPS信号还可恢复成手动操作进行报站。
一、硬件方案
硬件构成:本系统采用51单片机+LCD12864液晶显示+GPS定位+语音模块+按键+DS1302时钟模块+喇叭及电源组成。
二、设计功能
1、单片机型号:STC89C52/51、AT89C52/51、AT89S52/51 都可通用。
2、实现一条公交线路的语音报站功能,根据GPS判断公交车所到达的位置并自动报站,LCD12864上能够显示当前的日期、时间及站台名称,经纬度。报站声音的大小可通过按键调节。可以通过按键实现手动报站和自动报站
3、本设计播报方面一共有两种方式,一种是和我们之前所说的半自动化语音播放方式是一样的,当到达播报站点时,司机按下对应按键进行播报,一种是我们这次主要做的全自动语音播报方式,到达播报站点时,设计会自动进行播报。
4、本设计自带时钟显示,并且设有GPS校时开关,打开时,每次上电后若接收到有效的GPS数据,会自动校时一次当前时间数据。关闭时,不会进行GPS校时,但是支持手动调试功能。
5、本设计针对自动播报时的经纬度数据,用户可拿着设备站在想要播报的位置,通过按键选择好对应菜单,在GPS数据稳定时按下对应按键来录入该站名的经纬度数据。
6、本设计语音播报时的音量大小可调。
7、LCD12864液晶显示公交站名,并通过语音模块播放控制喇叭播放出来。
8、手动报站模式下,可通过按键切换报站,可以实现向上报站、向下报站。
三、实物图
单片机模块设计
单片微型计算机是随着微型计算机的发展而产生和发展的。自从1975 年美国德克萨斯仪器公司的第一台单片微型计算机( 简称单片机)TMS-1000 问世以来,迄今为止,单片机技术已成为计算机技术的一个独特分支,单片机的应用领域也越来越广泛,特别是在工业控制中经常遇到对某些物理量进行定时采样与控制的问题,在仪器仪表智能化中也扮演着极其重要的角色。
如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:
第一阶段(1976—1978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。
第二阶段(1978—1982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。
(1)完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。
(2)CPU外围功能单元的集中管理模式。
(3)体现工控特性的地址空间及位操作方式。
(4)指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
第三阶段(1982—1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。
第四阶段(1990—):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
单片机是在集成电路芯片上集成了各种元件的微型计算机,这些元件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口电路。由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点,因此在现代电子技术和工业领域应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。
单片机引脚介绍
单片机主要特点:
(1)有优异的性能价格比。
(2)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
(3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。
(4)低功耗、低电压,便于生产便携式产品。
(5)外部总线增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。
(6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。
优异的性能价格比。
1)集成度高、体积小、有很高的可靠性。
单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。
此外,程序多采取固化形式也可以提高可靠性。
2)控制功能强。
为了满足工业控制要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。
单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。
VCC:STC89C52电源正端输入,接+5V。
GND:电源地端。
XTAL1: 单芯片系统时钟的反相放大器输入端。
XTAL2: 系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:STC89C52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:"EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。
ALE/PROG:ALE是英文"Address Latch Enable"的缩写,表示地址锁存器启用信号。STC89C52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为STC89C52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:此为"Program Store Enable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。STC89C52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0(P0.0~P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。
PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在STC89C52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。
PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
PORT3(P3.0~P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:RXD,串行通信输入。
P3.1:TXD,串行通信输出。
P3.2:INT0,外部中断0输入。
P3.3:INT1,外部中断1输入。
P3.4:T0,计时计数器0输入。
P3.5:T1,计时计数器1输入。
P3.6:WR:外部数据存储器的写入信号。
P3.7:RD,外部数据存储器的读取信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
四、原理图
在本设计做的过程中,硬件和软件方面都遇到了许多问题,但是相比于软件,在硬件方面还是比较快解决的方面,因为硬件是比较容易检查出来错误的,软件比较晦涩难懂,还是有一定难度。
在硬件调试问题上,首先焊接好了元器件实物板后,先用万用表测量这个工业板子的电源方面,电源方面是最重要的问题,应该是特别需要检查的地方,以防止电源的短路和正负极的错误。然后在仔细检查电路的连接是否有问题,或者有没有虚焊或者没有焊接到的地方,然后核对一下元器件的安装是否有问题,安装上去是否符合规定,由于已经是大学四年都是做过了很多实训过来了,对于这些还是游刃有余的,但是在上机调试后还是发现了很多的问题。
五、PCB图
在本设计做的过程中,硬件和软件方面都遇到了许多问题,但是相比于软件,在硬件方面还是比较快解决的方面,因为硬件是比较容易检查出来错误的,软件比较晦涩难懂,还是有一定难度。
在硬件调试问题上,首先焊接好了元器件实物板后,先用万用表测量这个工业板子的电源方面,电源方面是最重要的问题,应该是特别需要检查的地方,以防止电源的短路和正负极的错误。然后在仔细检查电路的连接是否有问题,或者有没有虚焊或者没有焊接到的地方,然后核对一下元器件的安装是否有问题,安装上去是否符合规定,由于已经是大学四年都是做过了很多实训过来了,对于这些还是游刃有余的,但是在上机调试后还是发现了很多的问题。
六、程序源码
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
资料包括:
需要完整的资料可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。
纷传点击后再用微信打开即可,过程有点繁琐请见谅。