基于51单片机的GPS公交自动报站系统
近些年来,随着经济的飞速发展,人们对出行有了更高要求,公交车行业发展成为一个城市必不可少的交通工具,城市公交系统也开始快速发展,不仅公交车的型号不断更新换代,而且为了公司效益目前已经全部改成无人售票车,报站也由原来的由随车售票员报站改为由司机按键报站了。但是由于公交司机既要开车,又要兼顾按键报站,所以常常出现误报、漏报等现象,不能够满足公交系统的要求;另一方面,由于司机开车时为报站分散精力,也对公交的安全运行埋下了隐患。因此,对自动语音报站系统的需求也日益强烈。应用自动语音报站系统既可以节省员工开支, 增强公司效益, 又可以利用报站器播报各种标准的语言站名, 使各城市间更容易交流与发展。本文所设计的公交车报站系统主要可分为五个部分:单片机控制部分、语音播报部分、液晶显示部分、GPS模块和时间显示部分,采用51单片机作为主控制芯片,利用ISD4003实现语音报站,显示采用12864液晶,时间获取用DS1302,定位采用GPS模块
完成设计的基本条件:一台计算机,单片机,PROTEL软件,C51 KEIL编程软件.电路板制作工具等
设计依据:运用单片机原理,用PROTEL软件画出硬件电路图,用KEIL编写程序,熟悉ISD4003语音芯片12864液晶,DS1302时间芯片,GPS定位。
重点解决:
语音电路原理以及语音播放,掌握电路原理图和PCB图的绘制,学会手工制作电路板,提高动手能力,了解整个系统的编写思路,时间系统的设计和12864的液晶显示驱动。学会编程单片机程序和对电路的调试。
系统设计要求实现以下功能: (交报告时红色字体要删除)
1、液晶12864显示时间,时间可设置和调整。(可以根据客户要求增加显示日历)
2、液晶12864显示对应的站名和下一站信息。 (站点和公交线路由客户提供)
3、语音芯片ISD4003播放对应的站名,模拟播放4个站。
4. 可以播放一些温馨提示语。
5. GPS自动定位报站。(和站点位置比较,接近时自动报站,有演示视频感兴趣者可以向客服索取)
6、公交站点GPS位置可以自行设定,方便根据客户实际演示。
7、可以查看已设置的公交站点GPS位置信息。
8. 附加功能:应急时可以手动通过按键模拟报站。
9.具有上行和下行切换功能。
一、 在确定课题后,全面搜集相关资料,包括整个系统的流程和框架的处理.
二、 GPS模块原理学习
三、 单片机原理巩固,硬件电路图学习
四、 制作电路板和C51编程,进行整体调试
五、 根据课题要求撰写毕业设计报告
六、 答辩
点击了解实物:https://shop34685796.taobao.com/
主要代码:
//*****************ISD4003定义**************************
#define POWERUP 0x2000 //上电指令
#define SETPLAY 0xe000 //设定放音地址
#define PLAY 0xf000 //放音
#define SETREC 0xa000 //设定录音地址
#define REC 0xb000 //录音
#define STOP 0x3000 //停止指令
#define STOPWDN 0x1000 //停止并掉电
sbit SS = P0^5;
sbit CLK = P0^4;
sbit MOSI = P0^6;
sbit MISO = P0^7;
idata unsigned char aucDisplayBuff[10]={0,0,10,11,0,0,10,11,0,0};
uchar Sum_Nom;//站数计数
uchar Wen_Nom;//提示计数
sbit Lcd_beel = P1^0;
#define uint unsigned int //0 ~ 255
#define uchar unsigned char
GPS接收数据,自动报站功能函数:
//
void Auto_Play()
{
unsigned int a,b;
uchar i;
if(Flag_GPS_OK == 1 && RX_Buffer[4] == 'L' && RX_Buffer[6] == ',' && RX_Buffer[11] == '.')//确定是否收到"GPGLL"这一帧数据
{
ES=0;//关串口中断
for(i=0; i < 28; i++)
{
RX_Buffer_D[i] = RX_Buffer[i+6];
}
get_real_station();
if((a <= 1000) && (b <= 1000))//经验测试,同一调试地点,多次测得最大误差n:3064 e:3640
{
onemore_flag++;
if(onemore_flag == 2)
{
onemore_flag = 0;
if(Up_Down_Flag == 0)
{
switch(station_num)
{
case 0:
if(!station_1_flag)
{
station_1_flag = 1;
dispString(2,0,1," 韶关学院丁香苑");
dispString(3,0,1,"=>韶关学院南门 ");
Flash_Lcd();
ISDPlay(0x45);
}
break;
case 1:
if(!station_2_flag)
{
station_2_flag = 1;
dispString(2,0,1,"韶关学院南门到了");
dispString(3,0,1,"=>韶关学院北门 ");
Flash_Lcd();
ISDPlay(0x95);
}
break;
case 2:
if(!station_3_flag)
{
station_3_flag = 1;
dispString(2,0,1,"韶关学院北门到了");
dispString(3,0,1,"=> 信 工 楼 ");
Flash_Lcd();
ISDPlay(0x130);
}
break;
case 3:
if(!station_4_flag)
{
station_4_flag = 1;
dispString(2,0,1,"信工楼,终点站 ");
dispString(3,0,1,"祝乘客们旅途愉快");
Flash_Lcd();
ISDPlay(0x165);
}
break;
default:break;
}
}
if(Up_Down_Flag == 1)
{
switch(station_num)
{
case 0:
if(!station_1_flag)
{
station_1_flag = 1;
dispString(2,0,1,"起点站:信工楼 ");
dispString(3,0,1,"=>韶关学院北门 ");
Flash_Lcd();
ISDPlay(0x205);
}
break;
case 1:
if(!station_2_flag)
{
station_2_flag = 1;
dispString(2,0,1,"韶关学院北门到了");
dispString(3,0,1,"=>韶关学院南门 ");
Flash_Lcd();
ISDPlay(0x255);
}
break;
case 2:
if(!station_3_flag)
{
station_3_flag = 1;
dispString(2,0,1,"韶关学院南门到了");
dispString(3,0,1,"=>韶关学院丁香苑");
Flash_Lcd();
ISDPlay(0x295);
}
break;
case 3:
if(!station_4_flag)
{
station_4_flag = 1;
dispString(2,0,1,"韶关学院丁香苑!");
dispString(3,0,1,"祝乘客们旅途愉快");
Flash_Lcd();
ISDPlay(0x310);
}
break;
default:break;
}
}
station_num++;
if(station_num == 4)
station_num = 0;
}
}
ES=1;//开串口中断,再次接收
}
}
详情可百度搜索:科通毕业设计,进入店铺索要资料,了解详情,谢谢
基于51单片机的GPS公交自动报站系统相关推荐
- 51单片机的GPS公交车自动报站系统设计
硬件设计 基于51单片机的GPS自动报站公交车,硬件部分应该具有的功能有,GPS定位.语音播报.液晶显示.按键操作以及相应的指示灯提示,所以本次设计采用了STC89C58RC单片机作为主控芯片.GPS ...
- 基于GPS的嵌入式公交自动报站系统的研究
基于GPS的嵌入式公交自动报站系统的研究 时间:2009-08-15 01:54:48 来源: 前,国内各大城市的无人售票公交车大都采用半自动报站系统,即通过人工干预语音信箱进行语音报站,和传统 ...
- 基于WT2003H语音芯片在GPS公交车自动报站系统的应用设计方案
基于WT2003H语音芯片在GPS公交车自动报站系统的应用设计方案 一.方案概述 随着城市化进程的加快,公共交通作为城市的基础设施之一,仍然是绝大多数出行者的首选交通方式.为使得人们特别是为外来旅游. ...
- (毕业设计资料)基于51单片机的公交自动报站系统
一个基于单片机的智能公交自动语音报站系统,系统主要包含硬件和软件两个部分,系统采用STC89C52单片机.语音模块.液晶屏.按键.喇叭设计而成,从而实现自动语音报站. 说明: 1.液晶显示当前公交站 ...
- 基于51单片机土壤湿度检测及自动浇花系统(带时间显示)
具体实现功能 具体功能: (1)液晶第一行显示实际湿度,液晶第二行显示当前时间: (2)按键说明:减键.加键.设置键: (3)可以设置湿度上下限报警范围,具有掉电保存功能,上电无需重新设置: (4)当 ...
- 自动灌溉c语言,基于51单片机设计实现的自动浇花系统的电路方案设计(原理图+源代码)...
代码量两百五十行左右 /***************主函数*****************/ void main() { delay_1ms(100); P0 = P1 = P2 = P3 = 0 ...
- 基于51单片机GPS定位公交车自动报站系统(程序+原理图+PCB+论文+全套资料)
功能介绍: 1.电路设计合理. 2.熟练地使用STC89C52单片机.GPR模块,掌握其原理. 3.可设置播报声音的大小.上行或下行.显示时间等内容 4.采用LCD12864显示时间,位置等信息. 5 ...
- 基于51单片机的指纹解锁自动开门
基于51单片机的指纹解锁自动开门 目录 基于51单片机的指纹解锁自动开门 一.设计说明 二.总体设计思路 三.系统硬件设计 四.系统软件设计 五. 实物制作与现象 七.体会 一.设计说明 指纹解锁:手 ...
- 基于51单片机智能浇花自动浇水灌溉
基于51单片机智能浇花自动浇水灌溉(源程序+原理图+论文+实物图) 资料编号:004 功能介绍: 51单片机控制的自动浇水系统,实现室内盆花浇水的自动化系统. 该系统可对土壤的湿度进行监控,并对作物进 ...
- 基于51单片机的双机串口通信排队叫号系统(LCD显示)设计
基于51单片机的双机串口通信排队叫号系统(LCD显示)设计 1 开发环境 视频讲解 2 功能说明介绍 3 仿真图 4 程序 5 原理图 6 视频讲解 7 设计报告 7.1 设计目的 7.2 设计要求及 ...
最新文章
- mysql error number 1130,[转]mysql error number 1130的解决方法
- predictor = dlib.shape_predictor()关键点预测器用法
- python 对链表进行插入排序
- java 按条件注解_Spring 条件注解 @Conditional
- [Python人工智能] 二十八.Keras深度学习中文文本分类万字总结(CNN、TextCNN、LSTM、BiLSTM、BiLSTM+Attention)
- dorado开发模式下实现动态查询
- linux shell 0403-011,shell脚本出现 test:0403-004 Specify a paramater with this command
- 代码里配置java代理
- 详解iMazing保障数据安全的设置
- linux 查看tongweb进程,TongWeb日志如何查看?
- 2022 携程提前批大数据一二(oc) 面经
- python 计算标准体重程序
- 详解 C语言 青蛙跳台阶问题
- Win10使用系统自带命令diskpart格式化U盘
- 详解搜索引擎的高级搜索语法指令
- 基于JAVA景区售票系统设计与实现 开题报告
- SQL Server 数据库之嵌套查询
- ABP (.Net Core) 使用MySQL数据库
- 从一个NPU失效问题看Linux PM Domain Framework的实现逻辑
- Blender 免费展UV利器-UVPacker