📄 main.lst
字号:
226
227 Bmp4,Bmp5,Bmp6,Bmp7,Bmp8,Bmp9,Bmp};
228
229
230
231
232 sbit TT=P1^0;
233
234
235 void MainDelay(void);
236 void Serial_Init(void);
237 void WaitTF0(void);
238 void WByte(uchar input);
239 caidan(uchar sp);
240 caidan0(uchar sa);
241 caidan1(uchar sb);
C51 COMPILER V8.02 MAIN 09/09/2006 18:05:50 PAGE 5
242 caidan2();
243 Time();
244 yanse();
245 sheding();
246 liangdu();
247 zimu();
248 hanzi();
249 zimu3();
250 zimu4();
251 shuru();
252 hanzi2();
253 hanzi3();
254 hanzi4();
255 code (code *f[3][4])()={Time,
256 yanse,
257 sheding,
258 liangdu,
259 zimu,
260 hanzi,
261 zimu3,
262 zimu4,
263 shuru,
264 hanzi2,
265 hanzi3,
266 hanzi4, };
267
268 main()
269 {
270 1 uchar sp=1;
271 1 uchar sa=1;
272 1 uchar sb=1;
273 1 uchar sf=0;
274 1 uchar sp2=0;
275 1 uchar sa2=1;
276 1 uchar sb2=1;
277 1 uchar sc2=1;
278 1
279 1 Init8279();
280 1 InitCom();
281 1 MainDelay();
282 1 caidan(sp);
283 1 key=0;
284 1 while(1)
285 1 {
286 2 if(key)
287 2 {
288 3 switch(key)
289 3 {
290 4 case LEFT:
291 4 sp2--;
292 4 if(sp2==-1)
293 4 {sp2=3;}
294 4 if(sp==1)
295 4 {
296 5 sp=4;
297 5 }
298 4 else
299 4 {
300 5 sp=sp>>1;
301 5 }
302 4 caidan(sp);
303 4 break;
C51 COMPILER V8.02 MAIN 09/09/2006 18:05:50 PAGE 6
304 4 case RIGHT:
305 4 sp2++;
306 4 if(sp2==4)
307 4 {sp2=0;}
308 4 if(sp==4)
309 4 {
310 5 sp=1;
311 5 }
312 4 else
313 4 {
314 5 sp=sp<<1;
315 5 }
316 4 caidan(sp);
317 4 break;
318 4 case Num0:
319 4 switch(sp)
320 4 {
321 5 case 1:
322 5
323 5 if(sa==8)
324 5 {
325 6 sa=1;
326 6 }
327 5 else
328 5 {
329 6 sa=sa<<1;
330 6 }
331 5 sf=sa2;
332 5 sa2++;
333 5 if(sa2==4)
334 5 {
335 6 sa2=0;
336 6 }
337 5 caidan0(sa);
338 5
339 5 break;
340 5 case 2:
341 5
342 5 if(sb==2)
343 5 {
344 6 sb=1;
345 6 }
346 5 else
347 5 {
348 6 sb=sb<<1;
349 6 }
350 5 sf=sb2;
351 5 sb2++;
352 5 if(sb2==2)
353 5 {
354 6 sb2=0;
355 6 }
356 5 caidan1(sb);
357 5 break;
358 5 case 4:
359 5 sf=0;
360 5 caidan2();
361 5 break;
362 5 }
363 4
364 4 break;
365 4 case Num8:
C51 COMPILER V8.02 MAIN 09/09/2006 18:05:50 PAGE 7
366 4
367 4 caidan(sp);
368 4 break;
369 4 case ENTER:
370 4 (* f[sp2][sf])();
371 4 caidan(sp);
372 4 break;
373 4 default:
374 4 break;
375 4 }
376 3 key=0;
377 3 }
378 2
379 2 }
380 1 }
381 void MainDelay(void)
382 {
383 1 uint n;
384 1 uchar i;
385 1 for(i=0;i<2;i++)
386 1 for(n=0;n<40000;n++);
387 1 }
388 caidan(uchar sp)
389 {
390 1 bit sp0=0;
391 1 bit sp1=0;
392 1 bit sp2=0;
393 1 lcd_cls();
394 1 sp0=sp&0x01;
395 1 sp1=(sp&0x02)>>1;
396 1 sp2=(sp&0x04)>>2;
397 1 lcd_line(1,1,15,127,15);
398 1 lcd_line(1,38,0,38,15);
399 1 lcd_line(1,76,0,76,15);
400 1 lcd_line(1,1,13,127,13);
401 1 DisplayStr(sp0,0, 0,"控制");
402 1 DisplayStr(sp1,6, 0,"显示");
403 1 DisplayStr(sp2,12, 0,"输入");
404 1 }
405 /* -------------------------------------------------------------
406 子菜单1:温度上限设定和报警开关
407 -------------------------------------------*/
408
409
410 caidan0(uchar sa)
411 {
412 1 uchar sa0[4];
413 1 uchar i;
414 1 for(i=0;i<4;i++)
415 1 {
416 2 sa0[i]=sa&0x01;
417 2 sa=sa>>1;
418 2 }
419 1 lcd_line(1,1,15,1,64);
420 1 lcd_line(1,127,64,127,20);
421 1 lcd_line(1,127,20,25,20);
422 1 lcd_line(1,25,20,20,15);
423 1 if(sa0[3]==0)
424 1 {
425 2 DisplayStr(sa0[0],0, 2,"1:显示时钟");
426 2 DisplayStr(sa0[1],0, 3,"2:颜色调节");
427 2 DisplayStr(sa0[2],0, 4,"3:字动作设定");
C51 COMPILER V8.02 MAIN 09/09/2006 18:05:50 PAGE 8
428 2 }
429 1 else
430 1 {
431 2 DisplayStr(sa0[3],0,2,"4:亮度调节");
432 2 DisplayStr(sa0[1],0, 3," ");
433 2 DisplayStr(sa0[2],0, 4," ");
434 2 }
435 1
436 1
437 1 }
438 /*-----------------------------------------------------
439 子菜单2:各线路的显示选择
440 -------------------------------------*/
441
442 caidan1(uchar sb)
443 {
444 1 uchar sb0[2];
445 1 uchar i;
446 1 for(i=0;i<2;i++)
447 1 {
448 2 sb0[i]=sb&0x01;
449 2 sb=sb>>1;
450 2 }
451 1
452 1 DisplayStr(sb0[0],1, 2,"1:显示8个字母");
453 1 DisplayStr(sb0[1],1, 4,"2:显示8个汉字");
454 1
455 1 lcd_line(1,36,15,32,20);
456 1 lcd_line(1,32,20,1,20);
457 1 lcd_line(1,1,20,1,63);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -