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

描述

一.系统概

本次设计的定位系统,是以STM32单片机作为核心控制器,可以控制 GPS 定位模块对经纬度信息进行采集,可以对安全值进行设定,当超过安全范图后会控制无线通信模块发送报警信息给用户,同时会将实时位置在手机端进行查看。

STM32

二.仿真概述

1. 通过发送精度和纬度来定位实时位置,因为在没输入经纬度的时候默认经纬度是0-0,因此会不断显示超出范围。

STM32

输入纬度

STM32

2. 输入完经纬度136-123在设置的经纬度范围内,此时会停止超出范围提醒并显示实时位置。

STM32

3. 实时的位置数据会在显示端进行显示,另外可以对安全位置范围进行修改,当检测到实时位置不再安全范围内,还会进行超过安全范围提醒。

STM32

三.程序设计

 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include "PCF8591.h" 
#include "OLED.h"
#include 
 
char p1[]="";
u8 Rxdat[2];u8 u=0;u8 set;
u8 count;
int main(void)
{  
  u8 key;
  u8 t,z,w,j;u8 th = 25,jh=140,jl=135,wl=120,wh=125;
  
  Usart1_Init(9600);Usart1_TxString("ok");
  OLED_Init();
  Key_Init();
  
  OLED_ShowString(3,1,"J:");
  OLED_ShowString(4,1,"W:");
  
  while(1)
  {  
    key=Key_detect();//OLED_ShowNum(1,15,key,2);
    
    if(key==3){ set++; if(set>4) set=0; key=0;}
        
    if(set==1) 
    {
      OLED_ShowString(3,5+2,"   ");
      if(key==1) jl++;
      if(key==2) jl--;
      key=0;
    }
    if(set==2) 
    {
      OLED_ShowString(4,5+2,"   ");
      if(key==1) wl++;
      if(key==2) wl--;
      key=0;
    }    
    if(set==3) 
    {
      OLED_ShowString(3,9+2,"   ");
      if(key==1) jh++;
      if(key==2) jh--;
      key=0;
    }    
    if(set==4) 
    {
      OLED_ShowString(4,9+2,"   ");
      if(key==1) wh++;
      if(key==2) wh--;
      key=0;
    }
    
    
    if(Usart1_GetRxFlag() ==1)  
    {
      Rxdat[u]=Usart1_GetRxDat();    //串口存数据    //判断是否收到数据
      Usart1_TxString("YES");  
      u++;
      if(u>1) u=0;
      OLED_ShowNum(3,3,Rxdat[0],3);
      OLED_ShowNum(4,3,Rxdat[1],3);
    }
        
    if(Rxdat[0]jh||Rxdat[1]wh) 
    {
      Usart1_TxString("out of range");
    }
    
      OLED_ShowNum(3,5+2,jl,3);OLED_ShowString(3,8+2,"-");OLED_ShowNum(3,9+2,jh,3);
      OLED_ShowNum(4,5+2,wl,3);OLED_ShowString(4,8+2,"-");OLED_ShowNum(4,9+2,wh,3);
    
    count++;
    if(count==30){ Usart1_TxString("Jing:");Usart1_TxNum(Rxdat[0],3);Usart1_TxString("     Wei:");Usart1_TxNum(Rxdat[1],3);}
  }  
}
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分