单片机
返回首页

基于51的单片机GPS定位系统设计

2021-09-29 来源:eefocus

一.硬件方案

本设计主要是制作出一款基于51单片机的GPS定位器,根据设计需求,硬件部分主要由51单片机+GPS定位模块+LCD12864液晶+LED指示灯+3.3V稳压电路+天线设计而成;如图:

二.设计功能

(1)单片机选用:51单片机(STC89C51/52、AT89C51/52、AT90C51/52均可兼容),GPS定位模块(带天线)。

(2)采用LCD12864液晶显示当前的时间、日期、经度、速度、航向、高度、海拔等信息。

(3)采用了3颗LED指示灯,红灯为GPS接收数据指示灯,黄灯为GPRNC数据有效指示灯,绿灯为GPGGA数据有效指示灯。


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)PCB图如下:

四.软件设计

主程序源码


/****************************************

主函数

/****************************************/

void main(void)

{

uchar error_num = 0;


Uart_Init();  //初始化串口

Lcd_Init();   //初始化LCD

GPS_Init();   //初始化GPS

rev_stop=0;

REV_NO;

while(1)

{

if (rev_stop)   //如果接收完一行

{

TR0 = 1;   //开启定时器

REV_YES;

if (change_page % 2 == 1)  //换页

{

if (GPS_GGA_Parse(rev_buf, &GPS))  //解析GPGGA

{

GGA_YES;

GPS_DisplayTwo();  //显示第二页信息

error_num = 0;

gps_flag = 0;

rev_stop  = 0;

REV_NO;

}

else

{

error_num++;

if (error_num >= 20) //如果数据无效超过20次

{

GGA_NO;

error_num = 20;

GPS_Init();     //返回初始化

}

gps_flag = 0;

rev_stop  = 0;

REV_NO;

}


}

else

{

if (GPS_RMC_Parse(rev_buf, &GPS)) //解析GPRMC

{

RMC_YES;


GPS_DisplayOne();   //显示GPS第一页信息

error_num = 0;

gps_flag = 0;

rev_stop  = 0;

led1 = 1;

}

else

{

error_num++;

if (error_num >= 20) //如果数据无效超过20次

{

RMC_NO;

error_num = 20;

GPS_Init();     //返回初始化

}

gps_flag = 0;

rev_stop  = 0;

REV_NO;

}

}

}

}

}

————————————————

版权声明:本文为CSDN博主「单片机实例设计」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/eletronicfish/article/details/120240891


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 单稳态控制电路设计与分析

  • 光控电路设计与分析

  • IGBT模块通过控制门极阻断过电流

  • 运算放大器IC741的基本工作原理及在电路中的实现方式

  • 基于TDA1554的立体声放大器电路

    相关电子头条文章