📄 gps.lst
字号:
C51 COMPILER V7.01 GPS 06/30/2007 11:42:52 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE GPS
OBJECT MODULE PLACED IN GPS.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE GPS.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <string.h>
2 #include <absacc.h>
3 #include <stdio.h>
4 #include "System.h"
5 #include "Lcd.h"
6 #include "Menu.h"
7 #include "UART.h"
8
9 //字符数组绝对地址
10 #define latitude 0x8000
11 #define longitude 0x9947
12 #define flag 0xB28E
13 #define satllite 0xB79D
14 #define height 0xBCAC
15 #define speed 0xC6C9
16 #define angle 0xD5F4
17
18 ////////////////////////////////////////////////////////////////////////////////////////////////
19 //GPS模块参数默认值
20 unsigned char GPSParaList[]={3,8,30,0,0,7,3,26};
21
22 ////////////////////////////////////////////////////////////////////////////////////////////////
23 unsigned int code BaudArray[]={12,24,48,96,192,288,576,1152};
24
25 void GPSSetUp() //设置
26 {
27 1 char MovHand=1; //移动光标标志位
28 1 char ItemSel=2; //光标所在行
29 1 //显示界面
30 1 Clear(0,240);
31 1 dprintf(9,0,"GPS串行实验参数设置");
32 1 dprintf(0,16*1,line);
33 1 dprintf(2,16*2,"波特率: 00");
34 1 putufig(10,16*2,BaudArray[GPSParaList[0]],4,0,' ');
35 1 dprintf(2,16*3,"时 间: 时");
36 1 putufig(12,16*3,GPSParaList[1],2,0,'0');
37 1 dprintf(12,16*4," 分:");
38 1 putufig(12,16*4,GPSParaList[2],2,0,'0');
39 1
40 1 dprintf(12,16*5," 秒");
41 1 putufig(12,16*5,GPSParaList[3],2,0,'0');
42 1 dprintf(12,16*6," 毫秒");
43 1 putufig(13,16*6,GPSParaList[4],1,0,' ');
44 1
45 1 dprintf(2,16*7,"日 期: 年");
46 1 putufig(12,16*7,GPSParaList[5],2,0,'0');
47 1 dprintf(12,16*8," 月");
48 1 putufig(12,16*8,GPSParaList[6],2,0,'0');
49 1 dprintf(12,16*9," 日");
50 1 putufig(12,16*9,GPSParaList[7],2,0,'0');
51 1
52 1 dprintf(0,16*12,line);
53 1 dprintf(0,16*13,"选择项目 改变参数");
54 1 dprintf(1,16*14, "芗 兦 戛 戋");
55 1 dprintf(35,16*14, "确定");
C51 COMPILER V7.01 GPS 06/30/2007 11:42:52 PAGE 2
56 1
57 1 while(1)
58 1 {
59 2 if(CheckKeyF==1) //键盘检测
60 2 {
61 3 CheckKey();
62 3 CheckKeyF=0;
63 3 }
64 2
65 2 if(MovHand==1)
66 2 {
67 3 int i;
68 3 for(i=2;i<12;i++)
69 3 {
70 4 if(ItemSel==i)
71 4 dprintf(0,i*16,"贲");
72 4 else
73 4 dprintf(0,i*16," ");
74 4 }
75 3 MovHand=0;
76 3 }
77 2
78 2 if(Key[0].pressed==1) //检测到上键
79 2 {
80 3 Key[0].pressed=0;
81 3 if(ItemSel>2)
82 3 ItemSel--;
83 3 MovHand=1;
84 3 }
85 2
86 2 if(Key[1].pressed==1) //检测到下键
87 2 {
88 3 Key[1].pressed=0;
89 3 if(ItemSel<9)
90 3 ItemSel++;
91 3 MovHand=1;
92 3 }
93 2
94 2 if(Key[2].pressed==1) //检测到-键
95 2 {
96 3 Key[2].pressed=0;
97 3 switch(ItemSel)
98 3 {
99 4 case 2: //波特率
100 4 if(GPSParaList[0]!=0)
101 4 {
102 5 GPSParaList[0]--;
103 5 putufig(10,16*2,BaudArray[GPSParaList[0]],4,0,' ');
104 5 }
105 4 break;
106 4 case 3: //时
107 4 if(GPSParaList[1]==0)
108 4 GPSParaList[1]=23;
109 4 else
110 4 GPSParaList[1]--;
111 4 putufig(12,16*3,GPSParaList[1],2,0,'0');
112 4 break;
113 4 case 4: //分
114 4 if(GPSParaList[2]==0)
115 4 GPSParaList[2]=59;
116 4 else
117 4 GPSParaList[2]--;
C51 COMPILER V7.01 GPS 06/30/2007 11:42:52 PAGE 3
118 4 putufig(12,16*4,GPSParaList[2],2,0,'0');
119 4 break;
120 4 case 5: //秒
121 4 if(GPSParaList[3]==0)
122 4 GPSParaList[3]=59;
123 4 else
124 4 GPSParaList[3]--;
125 4 putufig(12,16*5,GPSParaList[3],2,0,'0');
126 4 break;
127 4 case 6: //毫秒
128 4 if(GPSParaList[4]==0)
129 4 GPSParaList[4]=9;
130 4 else
131 4 GPSParaList[4]--;
132 4 putufig(13,16*6,GPSParaList[4],1,0,' ');
133 4 break;
134 4 case 7: //年
135 4 if(GPSParaList[5]==0)
136 4 GPSParaList[5]=99;
137 4 else
138 4 GPSParaList[5]--;
139 4 putufig(12,16*7,GPSParaList[5],2,0,'0');
140 4 break;
141 4 case 8: //月
142 4 if(GPSParaList[6]==1)
143 4 GPSParaList[6]=12;
144 4 else
145 4 GPSParaList[6]--;
146 4 putufig(12,16*8,GPSParaList[6],2,0,'0');
147 4 break;
148 4 case 9: //日
149 4 if(GPSParaList[7]==1)
150 4 GPSParaList[7]=31;
151 4 else
152 4 GPSParaList[7]--;
153 4 putufig(12,16*9,GPSParaList[7],2,0,'0');
154 4 break;
155 4 default:
156 4 break;
157 4 }
158 3 }
159 2
160 2 if(Key[3].pressed==1) //检测到+键
161 2 {
162 3 Key[3].pressed=0;
163 3 switch(ItemSel)
164 3 {
165 4 case 2: //波特率
166 4 if(GPSParaList[0]!=7)
167 4 {
168 5 GPSParaList[0]++;
169 5 putufig(10,16*2,BaudArray[GPSParaList[0]],4,0,' ');
170 5 }
171 4 break;
172 4 case 3: //时
173 4 if(GPSParaList[1]==23)
174 4 GPSParaList[1]=0;
175 4 else
176 4 GPSParaList[1]++;
177 4 putufig(12,16*3,GPSParaList[1],2,0,'0');
178 4 break;
179 4 case 4: //分
C51 COMPILER V7.01 GPS 06/30/2007 11:42:52 PAGE 4
180 4 if(GPSParaList[2]==59)
181 4 GPSParaList[2]=0;
182 4 else
183 4 GPSParaList[2]++;
184 4 putufig(12,16*4,GPSParaList[2],2,0,'0');
185 4 break;
186 4 case 5: //秒
187 4 if(GPSParaList[3]==59)
188 4 GPSParaList[3]=0;
189 4 else
190 4 GPSParaList[3]++;
191 4 putufig(12,16*5,GPSParaList[3],2,0,'0');
192 4 break;
193 4 case 6: //毫秒
194 4 if(GPSParaList[4]==9)
195 4 GPSParaList[4]=0;
196 4 else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -