📄 main.lst
字号:
C51 COMPILER V7.09 MAIN 11/19/2006 16:03:10 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "includes.h"
2 #include "isr.h"
3 #include "uart.h"
4 #include "key.h"
5 #include "display.h"
6 #include "eeprom.h"
7
8 sbit MPH1 = P1^2;
9 sbit MPM1 = P1^3;
10 sbit GPS_OFF = P3^6;
11 sbit CD_U17 = P1^5;
12
13 bit FlagStart = 0, FlagStop = 0, FlagSYN, FlagType;
14 uchar idata Time[6], Date[6], Longitude[10], Latitude[9];
15 uchar idata GetCoun = 0;
16
17 uchar idata Year, Month, Day, Hour, Minute, Second, Week;
18 uchar idata Planet[2];
19
20 bit FlagAC;
21 uchar idata ACData[6];
22 uint idata Frequency = 0;
23 uchar idata ACCoun = 0;
24 uchar idata Timer_20, MS20;
25 ulong idata SecAC, Sec;
26
27 char MenuCoun = 0;
28
29 char idata Set[8], FlagSet = 0;
30 uchar DisCoun = 0, Flash = 1;
31
32 //主函数
33
34 void main (void)
35 {
36 1 char i;
37 1 int coun;
38 1 float fre;
39 1 uchar ms20;
40 1
41 1 DelayMs(200);
42 1 if (0x77 == read(0x30)) {
43 2 for (i = 0; i < 8; i++) {
44 3 DelayMs(50);
45 3 Set[i] = read(i);
46 3 }
47 2 }
48 1 else {
49 2 memset(Set, 0, 8);
50 2 for (i = 0; i < 8; i++)
51 2 write(i, Set[i]);
52 2 write(0x30, 0x77);
53 2 }
54 1 CPUInit();
55 1 DisplayInit();
C51 COMPILER V7.09 MAIN 11/19/2006 16:03:10 PAGE 2
56 1 SetBaud(9600);
57 1 GPS_OFF = 0;
58 1
59 1 while (1) {
60 2 //采样次数够,可以计算频率
61 2 if (FlagAC == 1) {
62 3 coun = 0;
63 3 for (i = 0; i < 5; i++) {
64 4 coun += ACData[i];
65 4 }
66 3 fre = coun / 1.032 / 5;
67 3 Frequency = (uint)fre;
68 3 ACCoun = 0;
69 3 FlagAC = 0;
70 3 }
71 2 //数据收全
72 2 if (FlagStart == 1 && FlagStop == 1) {
73 3 if (FlagType == 0) {
74 4 ComputeDate();
75 4 SendData0();
76 4 Display();
77 4 }
78 3 GetCoun = 0;
79 3 FlagStart = 0;
80 3 FlagStop = 0;
81 3 }
82 2
83 2 if (Clock0 > 100) {
84 3 KeyScan();
85 3 DisCoun++;
86 3 Clock0 = 0;
87 3 }
88 2
89 2 if (Clock1 > 250) {
90 3 if (ms20 != MS20) {
91 4 ms20 = MS20;
92 4 }
93 3 else {
94 4 Sec = 0;
95 4 SecAC = 0;
96 4 MS20 = 0;
97 4 }
98 3 Clock1 = 0;
99 3 }
100 2
101 2 if (FlagSet) {
102 3 if (DisCoun > 20) {
103 4 Display();
104 4 Flash = !Flash;
105 4 DisCoun = 0;
106 4 }
107 3 }
108 2 }
109 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 319 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 2
C51 COMPILER V7.09 MAIN 11/19/2006 16:03:10 PAGE 3
IDATA SIZE = 69 ----
BIT SIZE = 5 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -