📄 main.c
字号:
#include "includes.h"
#include "isr.h"
#include "uart.h"
#include "key.h"
#include "display.h"
#include "eeprom.h"
sbit MPH1 = P1^2;
sbit MPM1 = P1^3;
sbit GPS_OFF = P3^6;
sbit CD_U17 = P1^5;
bit FlagStart = 0, FlagStop = 0, FlagSYN, FlagType;
uchar idata Time[6], Date[6], Longitude[10], Latitude[9];
uchar idata GetCoun = 0;
uchar idata Year, Month, Day, Hour, Minute, Second, Week;
uchar idata Planet[2];
bit FlagAC;
uchar idata ACData[6];
uint idata Frequency = 0;
uchar idata ACCoun = 0;
uchar idata Timer_20, MS20;
ulong idata SecAC, Sec;
char MenuCoun = 0;
char idata Set[8], FlagSet = 0;
uchar DisCoun = 0, Flash = 1;
//主函数
void main (void)
{
char i;
int coun;
float fre;
uchar ms20;
DelayMs(200);
if (0x77 == read(0x30)) {
for (i = 0; i < 8; i++) {
DelayMs(50);
Set[i] = read(i);
}
}
else {
memset(Set, 0, 8);
for (i = 0; i < 8; i++)
write(i, Set[i]);
write(0x30, 0x77);
}
CPUInit();
DisplayInit();
SetBaud(9600);
GPS_OFF = 0;
while (1) {
//采样次数够,可以计算频率
if (FlagAC == 1) {
coun = 0;
for (i = 0; i < 5; i++) {
coun += ACData[i];
}
fre = coun / 1.032 / 5;
Frequency = (uint)fre;
ACCoun = 0;
FlagAC = 0;
}
//数据收全
if (FlagStart == 1 && FlagStop == 1) {
if (FlagType == 0) {
ComputeDate();
SendData0();
Display();
}
GetCoun = 0;
FlagStart = 0;
FlagStop = 0;
}
if (Clock0 > 100) {
KeyScan();
DisCoun++;
Clock0 = 0;
}
if (Clock1 > 250) {
if (ms20 != MS20) {
ms20 = MS20;
}
else {
Sec = 0;
SecAC = 0;
MS20 = 0;
}
Clock1 = 0;
}
if (FlagSet) {
if (DisCoun > 20) {
Display();
Flash = !Flash;
DisCoun = 0;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -