本设计采用异步串行通信方式1,定时器1作为波特率发生器,波特率为9600bps,定时器工作在方式2,能实现数据的自动重装。PC机中的虚拟GPS软件与单片机通过COMPIM元件实现虚拟串口通信,图6为GPS接口电路,而COM3和COM4必须设置相同的通信速率和通信协议,COM3发送的数据到达了COM4的接收区域,COM4发送的数据到达COM3的接收区域,从而完成了COM3 和COM4的互联互通,实现发送与接收的监视,达到PC机与单片机的通信。
表1 $GPRMC数据格式
字段序号 字段名称 实例 单位 说明
<1> 信息ID $GPRMC RMC协议头部
<2> UTC时间 161229.487 hhmmss.sss
<3> 状态 A A=有效V=无效
<4> 纬度 3223.2475 ddmm.mmmm
<5> N/S标志 N N=北 S=南
<6> 经度 34158.251600 ddmm.mmmm
<7> E/W标志 W E=东 W=西
<8> 速度 0.23 节
<9> 方位角 319.62度 度
<10> UTC日期 120598 ddmmyy
<11> 磁偏角 度 E=东 W=西
<12> 校验值 15
<13> <CR><LF> 消息结束
图6 GPS接口电路
2.5 语音模块
语音播报系统采用ISD4004系列语音芯片,芯片的所有操作由微控制器通过串行通信接口SPI送入,单片录放时间8到16分钟,音质好,可反复录音十万次,断电情况下保存一百年,广泛应用于移动电话及其他便携式电子产品中[6]。
本设计的语音模块是主要是装在车上的放音电路,不包含录音电路,图7为语音模块电路。放音电路主要由ISD4004构成,包含配套的变压电路和功放电路。由于ISD4004的工作电压为3V,而单片机所需供电电压为5V,因此需要采用变压电路得到3V电压供ISD4004使用。音频信号输出引脚AUDOUT输出的信号功率比较小,外接功率放大电路,放大语音信号。
图7 语音模块电路
3. 系统软件设计
3.1 语音模块流程图
ISD4004语音模块主要是接收单片机发送过来的命令,然后由P1.5端输入一个负脉冲信号,语音芯片内部指针指向语音段头,再由P1.6端输出一个负脉冲信号,经过音频功率放大,通过扬声器播放当前指针指向的语音段,图8为语音模块流程图。
图8 液晶显示模块(左图)和语音模块流程图(右图)
3.2 液晶显示模块流程图
主要通过接收主程序发出的信号,将其设置输入为模式子函数形式,并初始化LCD子函数,清屏,设置首行地址、首列地址,首页地址,显示站点信息调用,最后显示站名信息,图8为液晶显示模块流程图。 51单片机公交车语音播报及显示系统设计+流程图+源码(4):http://www.youerw.com/zidonghua/lunwen_504.html