📄 main.lst
字号:
157 1 unsigned char xdata KeyValue;
158 1 unsigned int xdata Col ;
159 1 unsigned int xdata Line ;
160 1 unsigned char xdata IntNum ;
161 1 unsigned char xdata ExitCode;
162 1 unsigned int xdata ButtonPosX;
163 1 unsigned int xdata ButtonPosY;
164 1 unsigned char xdata SelectedMode;
165 1
166 1
167 1 /*主要就是三个方面的内容一个是分频的系数,一个是键盘的方式,一个是总清的命令*/
168 1 clear();
169 1 EA=0;
170 1 INIT_8279:
171 1 {
C51 COMPILER V7.06 MAIN 02/21/2005 09:48:26 PAGE 4
172 2 INS_8279=KB_DISP_MODE;
173 2 INS_8279=KB_CLK_DIV;
174 2 INS_8279=KB_CLEAR_ALL;
175 2
176 2 do
177 2 {
178 3 KeyValue=INS_8279;
179 3 KeyValue&=0x80;
180 3 } while ( KeyValue);
181 2 INS_8279=KB_READ_RAM;
182 2 }
183 1 KeyValue=DATA_8279 ; //CLEAR DATA Buffer
184 1 LCD_DISP_OFF;
185 1 Page1();
186 1 LCD_DISP_ON;
187 1 SelectedMode=0;
188 1 ButtonPosX=10;
189 1 ButtonPosY=100;
190 1 ExitCode =0;
191 1 while(1)
192 1 {
193 2
194 2 IntNum=ADDR_INT;
195 2 if(!(IntNum&0X80))
196 2 {
197 3
198 3 WriteClock(REG_CLOCK_B,CLOCK_FROZE); /*首先将寄存器FROZE*/
199 3 Page1ShowTime();
200 3
201 3 ReadClock(REG_CLOCK_C);
202 3 WriteClock(REG_CLOCK_B,CLOCK_UNFROZE);
203 3
204 3 IntNum|=0X80;
205 3 } /*END IF BIT7*/
206 2 if (!(IntNum&0x40)) //表示有键盘中断
207 2 {
208 3 KeyValue=DATA_8279;
209 3 KeyValue&=0x3f; //取得有效的数据位
210 3 switch (KeyValue)
211 3 {
212 4 case 0x06: //press enter
213 4 {
214 5 ExitCode=1;
215 5 break;
216 5 }
217 4
218 4 case 0x05: // UP ARROW
219 4 {
220 5 if (SelectedMode>1) //NOT the most up
221 5 {
222 6 ClearRectangle( ButtonPosX,ButtonPosY,3,24,0X01);
223 6 WriteIns(0x07);
224 6 ButtonPosY-=70;
225 6 WriteData(ButtonPosX,ButtonPosY,HZ_BUTTON,0X01);
226 6 SelectedMode-=2;
227 6 }
228 5 break;
229 5 }
230 4 case 0x0d: // DOWN ARROW
231 4 {
232 5 if (SelectedMode<5) //NOT the most down
233 5 {
C51 COMPILER V7.06 MAIN 02/21/2005 09:48:26 PAGE 5
234 6 ClearRectangle( ButtonPosX,ButtonPosY,3,24,0X01);
235 6 WriteIns(0x07);
236 6 ButtonPosY+=70;
237 6 WriteData(ButtonPosX,ButtonPosY,HZ_BUTTON,0X01);
238 6 SelectedMode+=2;
239 6 }
240 5 break;
241 5 }
242 4 case 0x15: // LEFT ARROW
243 4 {
244 5 if (SelectedMode%2>0)//odd line
245 5 {
246 6 ClearRectangle( ButtonPosX,ButtonPosY,3,24,0X01);
247 6 WriteIns(0x07);
248 6 ButtonPosX-=35;
249 6 WriteData(ButtonPosX,ButtonPosY,HZ_BUTTON,0X01);
250 6 SelectedMode--;
251 6 }
252 5 break;
253 5 }
254 4 case 0x1d: // RIGHT ARROW
255 4 {
256 5
257 5 if (SelectedMode%2==0 && SelectedMode<6) //even line
258 5 {
259 6 ClearRectangle( ButtonPosX,ButtonPosY,3,24,0X01);
260 6 WriteIns(0x07);
261 6 ButtonPosX+=35;
262 6 WriteData(ButtonPosX,ButtonPosY,HZ_BUTTON,0X01);
263 6 SelectedMode++;
264 6 }
265 5 break;
266 5 }
267 4 }
268 3 IntNum|=0x40;
269 3 }
270 2 if (ExitCode) break;
271 2 }
272 1 switch (SelectedMode)
273 1 {
274 2 case 0x00: //定波长
275 2 {
276 3 Page2(0x00);
277 3 break;
278 3 }
279 2 case 0x01: //基线扫描
280 2 {
281 3 break;
282 3 }
283 2 case 0x02: //校准曲线
284 2 {
285 3 break;
286 3 }
287 2 case 0x03: //波长扫描
288 2 {
289 3 break;
290 3 }
291 2 case 0x04: //动力学
292 2 {
293 3 break;
294 3 }
295 2 case 0x05: //数据库
C51 COMPILER V7.06 MAIN 02/21/2005 09:48:26 PAGE 6
296 2 {
297 3 break;
298 3 }
299 2 case 0x06: //系统设置
300 2 {
301 3 break;
302 3 }
303 2 }
304 1
305 1
306 1 }
*** WARNING C280 IN LINE 155 OF MAIN.C: 'i': unreferenced local variable
*** WARNING C280 IN LINE 156 OF MAIN.C: 'Reg': unreferenced local variable
*** WARNING C280 IN LINE 158 OF MAIN.C: 'Col': unreferenced local variable
*** WARNING C280 IN LINE 159 OF MAIN.C: 'Line': unreferenced local variable
*** WARNING C280 IN LINE 170 OF MAIN.C: 'INIT_8279': unreferenced label
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2365 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 11290 25
PDATA SIZE = ---- ----
DATA SIZE = ---- 20
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 13 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -