久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機實現GPS定位12864顯示的源程序
[打印本頁]
作者:
yangjianwei
時間:
2017-12-2 09:31
標題:
51單片機實現GPS定位12864顯示的源程序
單片機源程序如下:
//======================================================================
//【版權】(C) COPYRIGHT 2009 天祥電子TXMCU ALL RIGHTS RESERVED
//【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!
//======================================================================
//======================================================================
// 工程名稱: GPS模塊測試程序
// 文件名稱: main.c
// 功能描述: GPS模塊接收定位信息,在LCD上顯示
// 組成文件: main.c LCD.c GPS.c display.c
// 頭文件: LCD.h GPS.h display.h
// 程序分析: GPS模塊通過串口向單片機發送固定格式的數據
// 單片機的串口接收到數據后,進行解析,在LCD上顯示
// 定位信息包括:日期時間,經緯度,速度,角度,高度
// 硬件連接: 將GPS模塊插在51STAR實驗箱的MP3模塊插座上,或使用TTL電平
// 接口和51單片機連接
// 維護記錄: 2009-8-23 v1.0 by xgc
// 2010-1-30 v1.1 by xgc 加入了可視衛星數量
//
// 代碼作者: 相廣超
//======================================================================
#include <reg52.h>
#include <stdio.h>
#include <string.h>
#include "GPS.h"
#include "LCD.h"
#include "display.h"
sbit led1 = P1^0; //接收數據指示燈
sbit led2 = P1^1; //GPRMC數據有效指示燈
sbit led3 = P1^2; //GPGGA數據有效指示燈
uchar code init1[] = {"GPS 模塊測試程序"};
uchar code init2[] = {" WWW*TXMCU*COM "};
uchar code init3[] = {"GPS 初始化......"};
uchar code init4[] = {"搜索定位衛星...."};
#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 GPS_Init(void)
// 實現功能: GPS初始化,在LCD上顯示初始化信息
// 參數: 無
// 返回值: 無
//====================================================================//
void GPS_Init(void)
{
Lcd_DispLine(0, 0, init1);
Lcd_DispLine(1, 0, init2);
Lcd_DispLine(2, 0, init3);
Lcd_DispLine(3, 0, init4);
if (GPS_GSV_Parse(rev_buf, &GPS))
{
GPS_DispSatellite(); //顯示可視衛星數量
}
}
/****************************************
串口初始化
/****************************************/
void Uart_Init(void)
{
TMOD = 0x21;
TH0=0x3c;
TL0=0xb0;
TH1=0xfd;
TL1=0xfd;
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;
dula = 0;
wela = 0;
Uart_Init(); //初始化串口
Lcd_Init(); //初始化LCD
GPS_Init(); //初始化GPS
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;
REV_NO;
}
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 == 100) //5秒鐘
{
count = 0;
change_page++; //換頁
if (change_page == 10)
change_page = 0;
}
}
/****************************************
串口接收中斷
/****************************************/
void Uart_Receive(void) interrupt 4
{
uchar ch;
ES = 0;
if (RI)
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
GPS模塊測試程序(51).rar
(77.06 KB, 下載次數: 148)
2017-12-2 09:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
xiaoyuxinke
時間:
2018-1-8 20:57
不明白那個WEILA和DULA是什么意思
作者:
Tap9
時間:
2018-1-8 22:54
可以看下
LCD12864例程.rar
2018-1-8 22:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
8.56 MB, 下載次數: 37, 下載積分: 黑幣 -5
作者:
159
時間:
2018-4-14 09:36
誒有,不錯哦
作者:
clearlove7
時間:
2018-4-25 14:59
有原理圖嗎?我在做單片機定位報警器
作者:
阿維拉
時間:
2019-4-10 10:07
好好感謝好人呢
作者:
繁星艾爾
時間:
2019-4-12 13:56
感謝分享
作者:
359901492
時間:
2019-5-10 12:54
沒有原理圖,容易誤導人。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美精品一区二区三区在线播放
|
欧美福利影院
|
国产视频久久
|
国产视频三级
|
久草在线中文888
|
丝袜美腿一区二区三区
|
精品久久久久久
|
中文字幕一区在线观看视频
|
国产在线区
|
亚洲国产日韩一区
|
久久99精品久久久久蜜桃tv
|
精品一区二区三区中文字幕
|
亚洲网站在线观看
|
亚洲福利
|
国产精品特级毛片一区二区三区
|
国产精品视频在线免费观看
|
在线看片国产精品
|
欧美国产视频
|
久久成人高清视频
|
精品日韩在线
|
国产性色视频
|
亚洲成人精品免费
|
亚洲婷婷六月天
|
国产传媒毛片精品视频第一次
|
久亚州在线播放
|
国产一区二区三区www
|
国产99免费
|
国产精品自产拍
|
精品影院
|
国产日韩欧美在线观看
|
毛片一级片
|
中文字幕一区二区三区四区
|
日本午夜在线视频
|
国产欧美精品一区
|
国产精品特级毛片一区二区三区
|
欧美日韩国产一区二区三区不卡
|
精品视频一区二区三区在线观看
|
日韩午夜电影在线观看
|
99精品视频一区二区三区
|
欧美jizzhd精品欧美巨大免费
|
av手机免费在线观看
|