📄 show_window.lst
字号:
224 4 show_sum_sat(); // 天空中总卫星数
225 4 key= keyscan();
226 4 if(key==0x0f)break;
227 4 }
228 3
229 3 break;
230 3 case 0x0f: show_menu_frist();
231 3 break;
232 3 /*等待按键值为8,返回原菜单*/
233 3 default: break;
234 3 }
235 2
236 2 }
237 1
238 1
239 1
240 1 }
C51 COMPILER V8.02 SHOW_WINDOW 05/25/2008 15:06:03 PAGE 5
241
242 /*****************************************************************/
243 /* 窗口显示函数:基本信息 :第三屏 : */
244 /* 窗口模式: 00000.0000 */
245 /*
246 ----------------------- ------- --------------------------
247 /经度半球 1 'W' 或 'E' \
248 | ----------------------- ------- --------------------------
249 | 经度坐标 7 WGS84坐标系统,坐标格式ddmmmmm |
250 | 在第4位数字后省略了一个小数点 |
251 | ----------------------- ------- ---------------------------
252
253 */
254 /*****************************************************************/
255 void show_menu_JingDu()
256 {
257 1
258 1 unsigned char temp_jd=0;
259 1
260 1 temp_jd = JD_a-48; // 转换为ASCII
261 1 temp_jd = 19+temp_jd;
262 1 Display_Char(0,1,temp_jd); // 经度的方向
263 1 Display_Char(1,1,62); // :
264 1
265 1 if(buf_full|0x01)
266 1 {
267 2 for(i=0;i<5;i++)
268 2 {
269 3
270 3 if((((use_sat[0]-0x30)*10+(use_sat[1]-0x30))>=4)&&(((use_sat[0]-0x30)*10+(use_sat[1]-0x30))<=12))
271 3 Display_Char(2+i,1,JD[i]-48);
272 3 else
273 3 Display_Char(2+i,1,0);
274 3 }
275 2 Display_Char(7,1,66);
276 2 for(i=1;i<5;i++)
277 2 {
278 3 if((((use_sat[0]-0x30)*10+(use_sat[1]-0x30))>=4)&&(((use_sat[0]-0x30)*10+(use_sat[1]-0x30))<=12
-))
279 3 Display_Char(7+i,1,JD[i+5]-48);
280 3 else
281 3 Display_Char(7+i,1,0);
282 3 }
283 2 }
284 1 }
285 /*****************************************************************/
286 /* 窗口显示函数:基本信息 :第三屏 : */
287 /* 窗口模式: 0000.0000 */
288 /*
289 ----------------------- ------- --------------------------
290 /伟度半球 1 'N' 或 'S' \
291 | ----------------------- ------- --------------------------
292 | 纬度坐标 7 WGS84坐标系统,坐标格式ddmmmmm |
293 | 在第4位数字后省略了一个小数点 |
294 | ----------------------- ------- ---------------------------
295
296 */
297 /*****************************************************************/
298 void show_menu_WeiDu()
299 {
300 1
301 1
C51 COMPILER V8.02 SHOW_WINDOW 05/25/2008 15:06:03 PAGE 6
302 1 unsigned char temp_wd=0;
303 1
304 1 temp_wd = WD_a-48; // 转换为ASCII
305 1 temp_wd = 19+temp_wd;
306 1
307 1 Display_Char(0,3,temp_wd); // 纬度的方向
308 1 Display_Char(1,3,62); // :
309 1 if(buf_full|0x01)
310 1 {
311 2 for(i=0;i<4;i++)
312 2 {
313 3 if((((use_sat[0]-0x30)*10+(use_sat[1]-0x30))>=4)&&(((use_sat[0]-0x30)*10+(use_sat[1]-0x30))<=12
-))
314 3 Display_Char(2+i,3,WD[i]-48);
315 3 else
316 3 Display_Char(2+i,3,0);
317 3 }
318 2 Display_Char(6,3,66);
319 2 for(i=0;i<4;i++)
320 2 {
321 3 if((((use_sat[0]-0x30)*10+(use_sat[1]-0x30))>=4)&&(((use_sat[0]-0x30)*10+(use_sat[1]-0x30))<=12
-))
322 3 Display_Char(7+i,3,WD[i+5]-48);
323 3 else
324 3 Display_Char(7+i,3,0);
325 3 }
326 2 }
327 1 }
328 /*****************************************************************/
329 /* 窗口显示函数:基本信息 :第三屏 : */
330 /* 窗口模式: 000000 */
331 /*
332 ----------------------- ------- -----------------------
333 /年 2 UTC年的最后两位数字 \
334 | ----------------------- ------- ------------------------
335 | 月 2 UTC月, "01".."12" |
336 T | ----------------------- ------- ------------------------
337 i | 日 2 UTC日, "01".."31" |
338 m | ----------------------- ------- ------------------------
339 e | 时 2 UTC时, "00".."23" |
340 | ----------------------- ------- ------------------------
341 | 分 2 UTC分, "00".."59" |
342 | ----------------------- ------- ------------------------
343 \秒 2 UTC秒, "00".."59" /
344 ----------------------- ------- ------------------------
345
346
347 */
348 /*****************************************************************/
349 void show_menu_ShiJian()
350 {
351 1
352 1 unsigned char xdata dsp_count=0; //刷新次数计数器
353 1 unsigned char xdata Bhour=0,Bday=0,Bmonth=0;
354 1 unsigned int xdata Byear=0;
355 1
356 1 CleanScreen();
357 1 delay_nms(100);
358 1 Display_Char(0,3,55); // T
359 1 Display_Char(1,3,62); // :
360 1 delay_nus(100);
361 1
C51 COMPILER V8.02 SHOW_WINDOW 05/25/2008 15:06:03 PAGE 7
362 1 if(buf_full|0x08) //北京时间转换
363 1 {
364 2 if(Bhour!=((time[0]-0x30)*10+time[1]-0x30)+TIME_AREA)
365 2 {
366 3 Bhour=((time[0]-0x30)*10+time[1]-0x30)+TIME_AREA;
367 3 Bday=(date[0]-0x30)*10+date[1]-0x30;
368 3 Bmonth=(date[2]-0x30)*10+date[3]-0x30;
369 3 Byear=(date[4]-0x30)*10+date[5]-0x30+2000;
370 3 if(Bhour>=24)
371 3 { //如果小时数大于24
372 4 Bhour-=24; //小时数减24
373 4 Bday++; //日期数加1
374 4 switch(Bday)
375 4 { //判断日期
376 5 case 29: //普通年的2月份
377 5 if((!((Byear%400==0)||((Byear%4==0)&&(Byear%100!=0)))&&(Bmonth==2)))
378 5 {
379 6 Bday=1;
380 6 Bmonth++;
381 6 }
382 5 break;
383 5 case 30: //如果是闰年的2月
384 5 if(((Byear%400==0)||((Byear%4==0)&&(Byear%100!=0)))&&(Bmonth==2))
385 5 {
386 6 Bday=1;
387 6 Bmonth++;
388 6 }
389 5 break;
390 5 case 31:
391 5 if((Bmonth==4)||(Bmonth==6)||(Bmonth==9)||(Bmonth==11))
392 5 {
393 6 Bday=1;
394 6 Bmonth++;
395 6 }
396 5 break;
397 5 case 32:
398 5 Bday=1;
399 5 Bmonth++;
400 5 if(Bmonth>=13)
401 5 {
402 6 Byear++;
403 6 Bmonth=1;
404 6 }
405 5 break;
406 5 }
407 4 }
408 3 }
409 2
410 2 Display_Char(0,1,39); // D
411 2 Display_Char(1,1,62); // :
412 2
413 2 Display_Char(3,1,2); // 2
414 2 Display_Char(4,1,0); // 0
415 2 Display_Char(5,1,(Byear%100)/10);
416 2 Display_Char(6,1,Byear%10);
417 2 Display_Char(7,1,68);
418 2 Display_Char(8,1,Bmonth/10);
419 2 Display_Char(9,1,Bmonth%10);
420 2 Display_Char(10,1,68);
421 2 Display_Char(11,1,Bday/10);
422 2 Display_Char(12,1,Bday%10);
423 2
C51 COMPILER V8.02 SHOW_WINDOW 05/25/2008 15:06:03 PAGE 8
424 2 Display_Char(0,5,52); // Q
425 2 Display_Char(1,5,62); // :
426 2 Display_Character(4,5,28); // 星期
427 2 Display_Character(6,5,29);
428 2
429 2 switch(week(Byear%100,Bmonth,Bday))
430 2 {
431 3 case 0:
432 3 Display_Char(8,5,7); // 星期日
433 3 break;
434 3 case 1:
435 3 Display_Char(8,5,1); // 星期一
436 3 break;
437 3 case 2:
438 3 Display_Char(8,5,2); // 星期二
439 3 break;
440 3 case 3:
441 3 Display_Char(8,5,3); // 星期三
442 3 break;
443 3 case 4:
444 3 Display_Char(8,5,4); // 星期四
445 3 break;
446 3 case 5:
447 3 Display_Char(8,5,5); // 星期五
448 3 break;
449 3 case 6:
450 3 Display_Char(8,5,6); // 星期六
451 3 break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -