📄 gps.h
字号:
//
//
// gps.h
//
#include <absacc.h>
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define HEAD_LENGTH 6
// 卫星状态
#define GPS_NORMAL 0
#define GPS_NORMALLOST 1
#define GPS_LOST 2
// 定时器参数设置
#define TIMER2COUNTER 46080 // 50MS
#define SECONDCOUNTNUM 20 // 1s = 50ms*20
#define TIMER0COUNTER 461 // 500US
#define TH0CONST 0xFF
#define TL0CONST 0x33
#define PPS_LENGTH 40 // 20ms
#define PPMS_LENGTH 100 // 50ms
#define PPHS_LENGTH 400 // 200ms
#define PPML_LENGTH 1000 // 500MS
#define BCD_LENGTH 200 // 100ms
#define PPHL_LENGTH 2 // 2S
#define KEYBOADMASK 0xFF00 // 128ms Check the key input
// 8279控制和数据端口
#define COM XBYTE [0x7fff]
#define DAT XBYTE [0x7ffe]
// 8279显示字符定义
uchar code table[] =
{
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d,0x07,0x7f, 0x6f,
0xBf, 0x86, 0xDb, 0xCf, 0xE6, 0xEd, 0xFd,0x87,0xFf, 0xEf,
0x00
};
uchar code COMPARE_SIGN[4] = {0x08,0x04,0x02,0x01};
uchar code GPSOUTSENTENCE[] = {"$PGRMO,GPRMC,1\n\r"};
uchar code PPSCS_HEAD[] = {"$PPSCS"};
uchar code GPRMC_HEAD[] = {"$GPRMC"};
uchar code GPGGA_HEAD[] = {"$GPGGA"};
// 端口定义
sbit OUTPPS = P1^3;
sbit OUTPPMS = P1^4; // 输出短分钟信号
sbit OUTPPHS = P1^5; //
sbit OUTPPML = P2^0;
sbit OUTPPHL = P2^1;
sbit OUTBCD = P1^6;
sbit OUT1KHZ = P2^2;
sbit CORRECTSIGN = P2^3;
sbit LOSTSIGN = P2^4;
static uchar Buff[10];
static uchar Time[3];
static uchar Date[3];
static uchar Longitude[8];
static uchar Latitude[7];
static uchar SateliteNum = 0;
static uchar SeaHeight[7];
// FUNCTION DEFINE
void Init(void);
void Init8279(void);
void InitSerial(void);
void InitTime0(void);
void InitTimer2(void);
void NextSecond(void);
void OutSign(void);
void ShowLED(void);
void Scankeyboad(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -