基于GPS定位的公交车自动报站系统的设计全解.doc 下载本文

苏州经贸学院

4.3 JHD162A液晶显示子程序

JHD162A液晶显示子程序主要通过接收主程序发出的信号,将其设置输入为模式子函数形式,并初始化LCD子函数,显示定位子函数,显示字符子函数,站点信息设置及调用,最后显示站名信息。流程图如图4-3所示。

开始 开机界面 接收信号 设置输入模式子函数LCD_SetInput() N 是否初始化LCD? Y 初始化LCD子函数LCD_Initial() 站点信息设置及调用 显示定位子函数GotoXY() 显示站名信息 显示字符子函数 结束

图4-3 JHD162A液晶显示流程图

14

苏州经贸学院

第五章 系统校验

软件的调试主要使用的是Proteus集成开始环境和Keil 软件。Keil软件提供了丰富的函数和功能强大的集成开发调试工具。编译后调试运行,生成HEX文件后直接烧写到AT89C51芯片中,进行系统的软件仿真。

5.1系统仿真

SIGNAL:模拟GPS接收信号。 GPS接收端收到信号后会从高点平跳变为一个持续的低电平直到信号消失,由于Proteus里没有语音器件所以用开关来替代。

? D1:播放 灯亮说明/PLAY使能,模拟按键开关的负脉冲 ? D2:快进 灯亮说明/FWD使能,模拟负脉冲。

? D3:到站指示灯亮,语音播报结束后,到站门开,指示灯D3亮,直到信

号消失。

? LCD模块:初步选用字符型液晶,可以显示公交车名以及下一站站名。

在每个SIGNAL信号的下降沿跳变显示下一站站名,否则保持不变。 5.1.2仿真实现流程

公交车在离站100米左右收到GPS信号,SIGNAL给出持续的低电平直到车子驰离站点。 这期间可分为三段。

? T1:公交车从接收到信号到停靠到站 ? T2:停靠

? T3:驰离公交站,信号消失

? T1期间当单片机检测到SIGNAL信号的下降沿时,液晶就显示下一站站名

同时给D2一个负脉冲,将语音芯片的播放指针指向下一段;延时后再给D1一个负脉冲,播放当前指向语音段。然后D3指示灯亮。 ? T2期间,指示灯D3保持亮的状态。语音播报完毕。

? T3期间,车子驰离信号区,SIGNAL信号上升沿,指示灯D3熄灭,其它不

变。

15

苏州经贸学院

5.2系统运行结果截图

5.2.1开机界面

当系统开机时,系统进入初始化界面。单片机C语言程序自动默认为预设站点,液晶显示该站名信息为“ZhaoHu Z”,此时的LED指示灯均灭。

图5-1 系统初始化界面

5.2.2接收信号后

系统接收到GPS发送的信息后,单片机P25端口输出一个负脉冲信号,语音芯片内部指针指向本站点语音段头,语音芯片指针下移一位,此时控制开关闭合LED2-BLUE灯亮。接着单片机会在P26端口继续输出一个负脉冲信号,播放当前指针指向的语音段,此时LED2-BLUE熄灭,LED1-YELLOW灯亮。

公交车继续向前行驶,根据GPS定位系统向单片机输入信息,液晶显示下一站站名更新,即“JuYuan Z”,此时P1.0端口连接的LED3-GREEN提示灯灯亮,待公交车停靠站点后,LED灯灭。

16

苏州经贸学院

图5-2语音芯片指针下移一位

图5-3语音报站

17