⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gps.h

📁 单片机上开发的微妙级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 + -