硬件设计
基于51单片机的GPS自动报站公交车,硬件部分应该具有的功能有,GPS定位、语音播报、液晶显示、按键操作以及相应的指示灯提示,所以本次设计采用了STC89C58RC单片机作为主控芯片、GPS模块采用了VK2828U7G5LF、液晶显示部分采用了LCD12864液晶、音频播放部分采用了Miniplay模块,以及按键电路、指示灯提示电路还增加了时钟显示电路。
设计功能
- 本设计播报主要有两种方式,其一是当到达播报站点时,司机按下对应按键进行播报;另一种是全自动语音播报方式,到达播报站点时,设计会自动进行播报。
- 自带时钟显示,并且设有GPS自动校时开关;当按下校准按键时,每次上电后若接收到有效的GPS数据,会自动校时一次当前时间数据。再按下按键,则关闭自动GPS校时功能,但是支持手动调试功能。
- 时钟芯片带有纽扣电池,当系统掉电后,纽扣电池继续工作;重上电后,时间无需重新设置;
- 可通过按键调整语音播报音量的大小。
- 针对自动播报时的经纬度数据,有两种修改方式,一种是程序固化,不可修改,一种是自定义经纬度数据,用户可拿着设备站在想要播报的位置,选择好对应菜单,在GPS数据稳定时按下对应按键来录入该站名的经纬度数据。
原理图及PCB
原理图如图:
PCB图如下:
软件设计
void main()
{
TimeInt();
LCD12864_init(); //调用显示函数
// Send_Appoint_Music(1);
read_memory();
Mode=0;
if(Mode)
{
read_GPS();
}
while(1)
{
read_time1(); //读取时间函数,GPS_Write等于1,说明将获取的GPS是将赋值给时间
GPS_Route_Dispose();
Display(); //显示函数
key_dispose(); //按键处理函数
memory();
memory_GPS();
led_dispose();
if(Busy==0)
{
if(Sound_flag)
{
Sound_flag=0;
Send_Appoint_Sound(Sound);
}
}
}
}
资料:https://pan.baidu.com/s/1FwxxYZ7qqvtKC8ghVZAoIg?pwd=vqbl
提取码:vqbl