📄 main.lst
字号:
C51 COMPILER V6.20c MAIN 10/09/2005 11:31:22 PAGE 1
C51 COMPILER V6.20c, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c DB OE LARGE ROM(LARGE)
stmt level source
1 #include "common.h"
2 #include "AT89X52.H"
3 #include "SL811.H"
4 #include "main.h"
5 #include "TPBULK.H"
6 #include "HAL.H"
7 #include "HPI.H"
8 #include <intrins.h>
9 #include <absacc.h>
10 #include "math.h"
11 #define WUDK_ADDR XBYTE[0xfff3] /*U盘数据地址*/
12 #define RGPS_ADDR_PORT 0xfff1 /*GPS数据地址*/
13 #define RADC_ADDR XBYTE[0xfff8]
14 unsigned char xdata RGPS_ADDR _at_ RGPS_ADDR_PORT;
15
16 //---------------
17 typedef struct _STORE_DATAB {
18 unsigned int mileage;
19 unsigned int gap;
20 unsigned long longitude;
21 unsigned long latitude;
22 unsigned char dir;
23 unsigned int xianhao;
24 unsigned char flag;
25 };
26 typedef struct _STORE_DATAY {
27 unsigned long mileage;
28 unsigned int speed;
29 unsigned char accelerath;
30 unsigned char acceleratv;
31 unsigned char year;
32 unsigned char month;
33 unsigned char date;
34 unsigned char hour;
35 unsigned char min;
36 unsigned int xianhao;
37 unsigned char direct;
38 };
39
40
41 typedef struct _MAX_VALUE{
42 unsigned int speed;
43 unsigned int mileageH;
44 unsigned int mileageL;
45 unsigned char accH;
46 unsigned char accV;
47 };
48 typedef struct _PRINT_DATA{
49 unsigned char AH;
50 unsigned char AV;
51 unsigned int SPEED;
52 unsigned int mileageH;
53 unsigned int mileageL;
54 unsigned int XIANHAO;
55 unsigned char RPCOUNT;
C51 COMPILER V6.20c MAIN 10/09/2005 11:31:22 PAGE 2
56 unsigned char year;
57 unsigned char month;
58 unsigned char date;
59 unsigned char hour;
60 unsigned char min;
61 unsigned char direct;
62 unsigned char rank;
63 };
64
65 Gps_Data xdata GPS_DATA={0x00};
66 Lcd_Data xdata LCD_DATA={0x00};
67 struct _MAX_VALUE xdata MAX_VALUE[10];
68 struct _PRINT_DATA xdata PRINT_DATA;
69
70
71 struct _STORE_DATAB xdata STORE_DATAb[105];
72 struct _STORE_DATAY xdata STORE_DATAy3[100];
73 struct _STORE_DATAY xdata STORE_DATAy2[100];
74 struct _STORE_DATAY xdata STORE_DATAy1[100];
75 unsigned char xdata MCOUNTd=0;
76 unsigned char xdata NOW_BCODE=0;
77 unsigned char xdata BGROUP=0;
78 static unsigned int xdata mileageL=0;
79 static unsigned int xdata mileageH=0;
80 unsigned long xdata now_longitude=0;
81 unsigned long xdata now_latitude=0;
82 unsigned int xdata mileage_LOCATED=0;
83 unsigned int xdata gap_LOCATED=0;
84 unsigned long xdata longitude_LOCATED=0;
85 unsigned long xdata latitude_LOCATED=0;
86 unsigned char xdata MEN_TAB[50]={0x00};
87 unsigned char xdata STORE_OK[15]={0xff,0x08,0x00,0x08};
88 unsigned char xdata CCODE[5]={0xff,0xff,0x01,0x66,0x66};
89 unsigned char xdata STARTOK[5]={0xff,0x01,1,0x00,0x02};
90 unsigned char xdata RPCOUNT=0;
91 unsigned char xdata CHEXING=0;
92 unsigned int xdata XIANHAO=0;
93 unsigned int xdata XIANTEMP=0;
94 unsigned char xdata DIRECTOR=0;
95 unsigned char xdata YX3_LEN=0;
96 unsigned char xdata YX2_LEN=0;
97 unsigned char xdata YX1_LEN=0;
98 unsigned char xdata YX2_block=0;
99 unsigned char xdata CHECK_BCODE=0xff;
100 unsigned char xdata BAKE_CODE=0xff;
101 unsigned char xdata SERI_BUFF[20]={0x00};
102 unsigned char xdata FMQ_CNTcai=0;
103 unsigned char xdata FMQ_CNT=0;
104 unsigned char xdata HALF_COUNT=0;
105 unsigned char xdata HANDRED=0;
106 unsigned int xdata OLD_speed=0;
107 unsigned int xdata OLD_dtmiles=0;
108 unsigned int xdata Lastmile=0;
109 unsigned char xdata accH=0;
110 unsigned char xdata accV=0;
111 unsigned char xdata MLEN=0;
112 unsigned char xdata ADC[8]={0};
113 unsigned char xdata TEST_BAKE=0;
114 unsigned char bdata MAIN_FLAG0=0;
115 sbit XIANCHANGE=MAIN_FLAG0^0;
116 sbit OPEN_FILE=MAIN_FLAG0^1;
117 sbit CREATE_FILE=MAIN_FLAG0^2;
C51 COMPILER V6.20c MAIN 10/09/2005 11:31:22 PAGE 3
118 sbit ASK_DATA=MAIN_FLAG0^3;
119 sbit GIVE_DATA=MAIN_FLAG0^4;
120 sbit CHE_XING=MAIN_FLAG0^5;
121 sbit CONFIG=MAIN_FLAG0^6;
122 sbit GET_MXI=MAIN_FLAG0^7;
123 unsigned char bdata MAIN_FLAG1=0;
124 sbit FIRST_CHANGE=MAIN_FLAG1^0;
125 sbit COUNTd_STARTUP=MAIN_FLAG1^1;
126 sbit SEND_LCD=MAIN_FLAG1^2;
127 sbit XIU_LASTBLOCK=MAIN_FLAG1^3;
128 sbit START_RUN=MAIN_FLAG1^4;
129 sbit YX3_DATA=MAIN_FLAG1^5;
130 sbit YX2_DATA=MAIN_FLAG1^6;
131 sbit STORE_DATA=MAIN_FLAG1^7;
132 unsigned char bdata MAIN_FLAG2=0;
133 sbit new_yxdata=MAIN_FLAG2^0;
134 sbit YUE_XIAN=MAIN_FLAG2^1;
135 sbit ALTERNATE=MAIN_FLAG2^2;
136 sbit BIG_LON=MAIN_FLAG2^3;
137 sbit YUE_XIAN_rank2=MAIN_FLAG2^4;
138 sbit PRINT_DATASEND=MAIN_FLAG2^5;
139 sbit MAX_VALUESEND=MAIN_FLAG2^6;
140 sbit TIMING_FLAG=MAIN_FLAG2^7;
141
142 unsigned char bdata MAIN_FLAG3=0;
143 sbit AD_MCU=MAIN_FLAG3^0;
144 sbit GPS_MCU=MAIN_FLAG3^1;
145 sbit PRINT_MCU=MAIN_FLAG3^2;
146 sbit UDSK_MCU=MAIN_FLAG3^3;
147 sbit TEST_HARD=MAIN_FLAG3^4;
148 sbit rank2_ENABLE=MAIN_FLAG3^5;
149 sbit YX1_DATA=MAIN_FLAG1^6;
150 //----------
151 XXGFLAGS bdata bXXGFlags;
152 extern unsigned char xdata DBUF[BUFFER_LENGTH];
153 unsigned char xdata DDBUF[512]={0x00};
154 //-------------------------------------------------file name
155 unsigned char xdata Bfilename[12]={0x54,0x45,0x53,0x54,0x44,0x4e,0x20,0x20,0x54,0x58,0x54,0x20};//,0x18,0x
-75,0xcd,0xb4,
156 //0xe2,0x2e,0xe2,0x20,0x20,0xc4,0xc4,0xe2,0x20,0x20,0x00,0x04,0x20,0x20
-,0x20,0x20,
157 //0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,
158 //0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,};
159 unsigned char xdata Yfilename[63]={0x54,0x45,0x53,0x54,0x53,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x18,0x75,0
-xcd,0xb4,
160 0xe2,0x2e,0xe2,0x20,0x20,0xc4,0xc4,0xe2,0x20,0x20,0x00,0x06,0x20,0x20,0
-x20,0x20,
161 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0
-x20,0x20,
162 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0
-x20,};
163 unsigned char xdata Tfilename[12]={0x54,0x45,0x53,0x54,0x54,0x20,0x20,0x20,0x20,0x20,0x20,0x20};//,0x18,
-
164 unsigned int xdata FILE_START=0;
165 unsigned int xdata TIAN_START=0;
166 unsigned int xdata XIAN_SPOT=0;
167 //--------------------------------------------------my define
168
169 //------------------------------
170
C51 COMPILER V6.20c MAIN 10/09/2005 11:31:22 PAGE 4
171 static unsigned int YYX3_len;
172 static unsigned int YYX2_len;
173 static unsigned int YYX1_len;
174 unsigned char xdata xian_num=0;
175 unsigned char xdata FileNumber=0;
176 unsigned char xdata TAX_HEAD[5]={0x00};
177 unsigned char xdata RAX_HEAD[5]={0x00};
178 typedef struct _FILE_HEAD {
179 unsigned int xianhao;
180 unsigned int qidian;
181 unsigned int qicheng;
182 };
183 struct _FILE_HEAD xdata FileHead[32]={0x00};
184 //---------------------------------------------------
185
186
187
188 void tax_ccode()
189 {
190 1 unsigned char i;
191 1 for(i=0;i<5;i++)
192 1 {
193 2 SBUF=CCODE[i];
194 2 while(!TI)
195 2 Watch_Dog=~Watch_Dog;
196 2 TI=0;
197 2 }
198 1
199 1 }
200 void tax_ok()
201 {
202 1 unsigned char i;
203 1 for(i=0;i<5;i++)
204 1 {
205 2 SBUF=STARTOK[i];
206 2 while(!TI)
207 2 Watch_Dog=~Watch_Dog;
208 2 TI=0;
209 2 }
210 1
211 1 }
212
213
214 unsigned char Get_next_biao(unsigned char x1)
215 {
216 1 unsigned char i,j;
217 1
218 1 for(i=x1;i<100;i++)
219 1 {
220 2 Watch_Dog=~Watch_Dog;
221 2 if(STORE_DATAb[i].longitude!=0x00)
222 2 { j=i; break;}
223 2 else
224 2 j=0xff;
225 2 }
226 1
227 1 if(j!=0xff)
228 1 {
229 2 longitude_LOCATED=STORE_DATAb[j].longitude;
230 2 latitude_LOCATED=STORE_DATAb[j].latitude;
231 2 gap_LOCATED=STORE_DATAb[j].gap;
232 2 mileage_LOCATED=STORE_DATAb[j].mileage;
C51 COMPILER V6.20c MAIN 10/09/2005 11:31:22 PAGE 5
233 2
234 2 }
235 1 return j;
236 1 }
237 void caibiao()
238 {
239 1 unsigned char temp=0;
240 1 if(STORE_DATAb[NOW_BCODE].gap!=0)
241 1 {
242 2 if(abs(mileageL-STORE_DATAb[NOW_BCODE].gap)<STORE_DATAb[NOW_BCODE].gap/2)
243 2 {
244 3 STORE_DATAb[NOW_BCODE].longitude=now_longitude;
245 3 STORE_DATAb[NOW_BCODE].latitude=now_latitude;
246 3 mileageL=0;
247 3 mileageH=STORE_DATAb[NOW_BCODE].mileage;
248 3 NOW_BCODE++;
249 3 FIRST_CHANGE=1;
250 3
251 3 }
252 2 else
253 2 {
254 3 temp=NOW_BCODE-1;
255 3 STORE_DATAb[temp].longitude=now_longitude;
256 3 STORE_DATAb[temp].latitude=now_latitude;
257 3 mileageH=STORE_DATAb[NOW_BCODE].mileage;
258 3 mileageL=0;
259 3 FIRST_CHANGE=1;
260 3 }
261 2 }
262 1 else
263 1 {
264 2 if(mileageL>2000)
265 2 {
266 3 if(DIRECTOR)
267 3 mileageH=mileageH+1;
268 3 else
269 3 mileageH=mileageH-1;
270 3 STORE_DATAb[NOW_BCODE].mileage=mileageH;
271 3 STORE_DATAb[NOW_BCODE].gap=mileageL/10;
272 3 STORE_DATAb[NOW_BCODE].latitude=GPS_DATA.latitude;
273 3 STORE_DATAb[NOW_BCODE].longitude=GPS_DATA.longitude;
274 3 STORE_DATAb[NOW_BCODE].xianhao=XIANHAO;
275 3 STORE_DATAb[NOW_BCODE].dir=DIRECTOR;
276 3 mileageL=0;
277 3 FIRST_CHANGE=1;
278 3 NOW_BCODE++;
279 3 }
280 2 }
281 1 if(COUNTd_STARTUP)
282 1 {
283 2 COUNTd_STARTUP=0;
284 2 if(NOW_BCODE<100)
285 2 CHECK_BCODE=Get_next_biao(NOW_BCODE );
286 2 }
287 1 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -