51单片机的GPS公交车自动报站系统设计

硬件设计

        基于51单片机的GPS自动报站公交车,硬件部分应该具有的功能有,GPS定位、语音播报、液晶显示、按键操作以及相应的指示灯提示,所以本次设计采用了STC89C58RC单片机作为主控芯片、GPS模块采用了VK2828U7G5LF、液晶显示部分采用了LCD12864液晶、音频播放部分采用了Miniplay模块,以及按键电路、指示灯提示电路还增加了时钟显示电路。

设计功能

  1. 本设计播报主要有两种方式,其一是当到达播报站点时,司机按下对应按键进行播报;另一种是全自动语音播报方式,到达播报站点时,设计会自动进行播报。
  2. 自带时钟显示,并且设有GPS自动校时开关;当按下校准按键时,每次上电后若接收到有效的GPS数据,会自动校时一次当前时间数据。再按下按键,则关闭自动GPS校时功能,但是支持手动调试功能。
  3. 时钟芯片带有纽扣电池,当系统掉电后,纽扣电池继续工作;重上电后,时间无需重新设置;
  4. 可通过按键调整语音播报音量的大小。
  5. 针对自动播报时的经纬度数据,有两种修改方式,一种是程序固化,不可修改,一种是自定义经纬度数据,用户可拿着设备站在想要播报的位置,选择好对应菜单,在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

  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值