?? try.lst
字號:
C51 COMPILER V8.02 TRY 07/17/2008 19:14:02 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TRY
OBJECT MODULE PLACED IN try.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE try.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************************
2 GPS 12864 顯示程序
3 ***************************************/
4
5 #include <AT89X51.H>
6 #include <stdio.h>
7 #include "LCD12864_c51.h"
8 //char code TIME_AREA= 8; //時區
9 //GPS數據存儲數組
10 unsigned char JD[10]; //經度
11 unsigned char JD_a; //經度方向
12 unsigned char WD[9]; //緯度
13 unsigned char WD_a; //緯度方向
14 unsigned char time[6]; //時間
15 //串口中斷需要的變量
16 unsigned char seg_count; //逗號計數器
17 //unsigned char dot_count; //小數點計數器
18 unsigned char byte_count; //位數計數器
19 unsigned char cmd_number; //命令類型
20 unsigned char mode; //0:結束模式,1:命令模式,2:數據模式
21 unsigned char buf_full; //1:整句接收完成,相應數據有效。0:緩存數據無效。
22 unsigned char cmd[5]; //命令類型存儲數組
23 unsigned char speed[4];
24 unsigned char date[6];
25
26 //顯示需要的變量
27 unsigned int dsp_count; //刷新次數計數器
28 unsigned char time_count;
29 void sys_init(void);
30 main()
31 {
32 1 unsigned char i;
33 1 sys_init();
34 1 while(1)
35 1 {
36 2 if(buf_full==0) //無GPS信號時
37 2 {
38 3 dsp_count++;
39 3 if(dsp_count>=65000)
40 3 {
41 4 Init_Lcd12864(); //清屏
42 4 ResetCursor(0,2);
43 4 printf("No GPS connect..");
44 4 while(buf_full==0);
45 4 ClearAS();
46 4 dsp_count=0;
47 4 }
48 3 }
49 2 else if(buf_full)
50 2 { //有GPS信號時 //GGA語句
51 3 ResetCursor(0,0);
52 3 printf("JD:");
53 3 ResetCursor(3,0);
54 3 printf("%c",JD_a);
55 3 //顯示經度
C51 COMPILER V8.02 TRY 07/17/2008 19:14:02 PAGE 2
56 3 for(i=0;i<10;i++)
57 3 {
58 4 ResetCursor(i+4,0);
59 4 printf("%c",JD[i]);
60 4 }
61 3
62 3 ResetCursor(0,1);
63 3 printf("WD:");
64 3 ResetCursor(3,1);
65 3 printf("%c",WD_a);
66 3 for(i=0;i<9;i++) //顯示緯度
67 3 {
68 4 ResetCursor(i+4,1);
69 4 printf("%c",WD[i]);
70 4 }
71 3 ResetCursor(0,2);
72 3 printf("Tim:");
73 3 for(i=0;i<6;i++) //顯示Time
74 3 {
75 4 ResetCursor(i+4,2);
76 4 printf("%c",time[i]);
77 4 }
78 3 ResetCursor(0,3);
79 3 printf("Spe:");
80 3 for(i=0;i<4;i++) //顯示速度
81 3 {
82 4 ResetCursor(i+4,3);
83 4 printf("%c",speed[i]);
84 4 }
85 3 buf_full&=~0x01;
86 3 dsp_count=0;
87 3 }
88 2 }
89 1
90 1 }
91
92 //系統初始化
93 void sys_init()
94 {
95 1 // unsigned char i;
96 1 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
97 1 TMOD = 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
98 1 TH1=TL1=0xfa; /* TH1: reload value for 4800 baud @ 11.059MHz */
99 1 TR1 = 1; /* TR1: timer 1 run */
100 1 Init_Lcd12864(); //初始化LCD
101 1 ResetCursor(0,1);
102 1 printf("GPS Monitor V1.2");
103 1 ClearAS();
104 1 IE=0x90; //開總中斷、串口中斷
105 1 }
106
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -