久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機+GPS+12864液晶顯示處理經緯度數據程序
[打印本頁]
作者:
JN0717
時間:
2022-4-30 13:26
標題:
51單片機+GPS+12864液晶顯示處理經緯度數據程序
GPS+51+12864液晶顯示處理經緯度數據
單片機源程序如下:
//======================================================================
//【版權】(C) COPYRIGHT 2009 勤品電子
//======================================================================
//======================================================================
// 工程名稱: GPS模塊測試程序
// 文件名稱: main.c
// 功能描述: GPS模塊接收定位信息,在LCD上顯示
// 組成文件: main.c LCD.c GPS.c display.c
// 頭文件: LCD.h GPS.h display.h
// 程序分析: GPS模塊通過串口向單片機發送固定格式的數據
// 單片機的串口接收到數據后,進行解析,在LCD上顯示
// 定位信息包括:日期時間,經緯度,速度,角度,高度
//======================================================================
#include <reg52.h>
#include <stdio.h>
#include <string.h>
#include "GPS.h"
#include "LCD.h"
#include "display.h"
sbit led1 = P2^3; //接收數據指示燈
sbit led2 = P2^4; //GPRMC數據有效指示燈
sbit led3 = P2^5; //GPGGA數據有效指示燈
#define REV_YES led1 = 0
#define REV_NO led1 = 1
#define RMC_YES led2 = 0
#define RMC_NO led2 = 1
#define GGA_YES led3 = 0
#define GGA_NO led3 = 1
char xdata rev_buf[80]; //接收緩存
uchar xdata rev_start = 0; //接收開始標志
uchar xdata rev_stop = 0; //接收停止標志
uchar xdata gps_flag = 0; //GPS處理標志
uchar xdata change_page = 0; //換頁顯示標志
uchar xdata num = 0; //
extern GPS_INFO GPS; //在display.c中定義,使用時要加extern
void Uart_Init(void)
{
TMOD = 0x21; //0010 0001
PCON=0X00;
TH0=0x3c;
TL0=0xb0;
TH1=0xFa; //
TL1=0xFa; //
TR1=1; //開啟定時器1
REN=1; //允許接收數據
SM0=0;
SM1=1;
TI=0;
RI=0;
EA=1; //開總中斷
ES=1; //串口1中斷允許
ET0 = 1; //定時器1中斷允許
}
/****************************************
主函數
/****************************************/
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;
}
}
}
}
}
void timer0(void) interrupt 1
{
static uchar count = 0;
TH0 = 0x3c;
TL0 = 0xb0;
count++;
if (count == 200) //2*5秒鐘
{
count = 0;
change_page++; //換頁
if (change_page == 10)
change_page = 0;
}
}
void Uart_Receive(void) interrupt 4
{
uchar ch;
ES = 0;
if (RI)
{
ch = SBUF;
if ((ch == '
) && (gps_flag == 0)) //如果收到字符'
,便開始接收
{
rev_start = 1;
rev_stop = 0;
}
if (rev_start == 1) //標志位為1,開始接收
{
rev_buf[num++] = ch; //字符存到數組中
if (ch == '\n') //如果接收到換行
{
rev_buf[num] = '\0';
rev_start = 0;
rev_stop = 1;
gps_flag = 1;
num = 0;
}
}
}
RI = 0; //RI清0,重新接收
ES = 1;
}
復制代碼
Keil代碼下載:
51單片機GPS測試程序12864液晶(并行方式).rar
(73.54 KB, 下載次數: 57)
2022-4-30 13:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
gao123456789
時間:
2022-5-5 22:10
求個原理圖
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品欧美日韩
|
一区二区三区电影在线观看
|
亚洲一区中文字幕
|
黄色成人在线观看
|
精品久久久久久久久久久久久久久久久
|
亚洲三级在线
|
嫩草伊人
|
亚洲欧美中文日韩在线
|
日韩精品一区二区三区中文字幕
|
国产一区二区三区色淫影院
|
成人中文字幕在线观看
|
91精品国产色综合久久
|
亚洲免费在线
|
99欧美精品
|
一呦二呦三呦国产精品
|
国产精品小视频在线观看
|
色婷婷综合成人av
|
成年人在线播放
|
中文字幕91av
|
色综合色综合网色综合
|
色婷婷综合久久久中字幕精品久久
|
成人午夜
|
国产清纯白嫩初高生视频在线观看
|
亚洲国产精品人人爽夜夜爽
|
久久亚洲精品国产精品紫薇
|
涩涩视频在线播放
|
一级毛片在线播放
|
黄色免费av
|
黄色一级电影免费观看
|
国产精品成人一区二区
|
成人精品久久
|
日韩精品一区二区三区
|
成人黄色电影在线播放
|
在线成人福利
|
午夜精品一区二区三区在线观看
|
日韩欧美在线免费观看视频
|
国产乱码精品一区二区三区五月婷
|
巨大荫蒂视频欧美另类大
|
久久国产欧美日韩精品
|
中文精品视频
|
北条麻妃一区二区三区在线观看
|