📄 receive.lst
字号:
295 1 {
296 2 lcd_wrdata(str4[i]);
297 2 i++;
298 2 }
299 1 lcd_wrcmd(0x80);
300 1 lcd_wrdata('-');
301 1 lcd_wrdata('>');
302 1 while(1)
303 1 {
C51 COMPILER V8.02 RECEIVE 08/23/2007 14:37:00 PAGE 6
304 2 ii=getkey();
305 2 ///////////////////////////翻屏///////////////////////////////
306 2 if(ii==15)
307 2 { cnt++;
308 3 if(cnt==5) cnt=1;
309 3 if(cnt==1)
310 3 { //////////////////////
311 4 // -> 1: tempeture
312 4
313 4 // 2: INPUT TL
314 4 /////////////////////
315 4 lcd_wrcmd(1);
316 4 lcd_wrcmd(0x83); //tempeture
317 4 for(i=0;i<strlen(str3);i++)
318 4 lcd_wrdata(str3[i]);
319 4 lcd_wrcmd(0xc3);
320 4 for(i=0;i<strlen(str4);i++)
321 4 lcd_wrdata(str4[i]); //INPUT TL
322 4 lcd_wrcmd(0x80);
323 4 lcd_wrdata('-');
324 4 lcd_wrdata('>');
325 4 }
326 3 if(cnt==2)
327 3 { //////////////////////
328 4 // 1: tempeture
329 4
330 4 // -> 2: INPUT TL
331 4 /////////////////////
332 4 lcd_wrcmd(1);
333 4 lcd_wrcmd(0x83); //tempeture
334 4 for(i=0;i<strlen(str3);i++)
335 4 lcd_wrdata(str3[i]);
336 4 lcd_wrcmd(0xc3);
337 4 for(i=0;i<strlen(str4);i++)
338 4 lcd_wrdata(str4[i]); //INPUT TL
339 4 lcd_wrcmd(0xc0);
340 4 lcd_wrdata('-');
341 4 lcd_wrdata('>');
342 4 }
343 3 if(cnt==3)
344 3 { //////////////////////
345 4 // 2: INPUT TL
346 4
347 4 // -> 3: INPUT TH
348 4 /////////////////////
349 4 lcd_wrcmd(1);
350 4 lcd_wrcmd(0x83); //INPUT TL
351 4 for(i=0;i<strlen(str4);i++)
352 4 lcd_wrdata(str4[i]);
353 4 lcd_wrcmd(0xc3);
354 4 for(i=0;i<strlen(str5);i++)
355 4 lcd_wrdata(str5[i]); //INPUT TH
356 4 lcd_wrcmd(0xc0);
357 4 lcd_wrdata('-');
358 4 lcd_wrdata('>');
359 4 }
360 3 if(cnt==4)
361 3 { //////////////////////
362 4 // 3: INPUT TH
363 4
364 4 // -> 4:send
365 4 /////////////////////
C51 COMPILER V8.02 RECEIVE 08/23/2007 14:37:00 PAGE 7
366 4 lcd_wrcmd(1);
367 4 lcd_wrcmd(0x83); //INPUT TL
368 4 for(i=0;i<strlen(str5);i++)
369 4 lcd_wrdata(str5[i]);
370 4 lcd_wrcmd(0xc3);
371 4 for(i=0;i<strlen(str6);i++)
372 4 lcd_wrdata(str6[i]); //INPUT TH
373 4 lcd_wrcmd(0xc0);
374 4 lcd_wrdata('-');
375 4 lcd_wrdata('>');
376 4 }
377 3 }
378 2
379 2 ////////////////////////////////////////////////////////////////
380 2 else if(ii==14) //进入接收端各子菜单
381 2 {
382 3 if(cnt==1) //显示温度
383 3 {
384 4 state=2;
385 4 lcd_wrcmd(1);
386 4 break;
387 4 }
388 3 else if(cnt==2) //输入接收端的下限温度值
389 3 {
390 4 state=3;
391 4 lcd_wrcmd(1);
392 4 break;
393 4 }
394 3 else if(cnt==3) //输入接收端上限温度报警值
395 3 {
396 4 state=4;
397 4 lcd_wrcmd(1);
398 4 break;
399 4 }
400 3 else if(cnt==4) //输入接收端上限温度报警值
401 3 {
402 4 state=5;
403 4 lcd_wrcmd(1);
404 4 break;
405 4 }
406 3
407 3 }
408 2
409 2
410 2
411 2
412 2 }
413 1
414 1
415 1 }
416
417 /********输入温度的下限值***************/
418 input_tl()
419 {
420 1 uchar i,j,n,cnt=0;
421 1 uchar TL[3];
422 1 for(i=0;i<3;i++)
423 1 TL[i]=0;
424 1 lcd_wrcmd(0x80);
425 1 lcd_wrdata('T');
426 1 lcd_wrdata('L');
427 1 lcd_wrdata('=');
C51 COMPILER V8.02 RECEIVE 08/23/2007 14:37:00 PAGE 8
428 1 while(1)
429 1 {i=getkey();
430 2 if(i<10)
431 2 { cnt++;
432 3 if(cnt<=3)
433 3 { TL[cnt-1]=i;
434 4 lcd_wrcmd(0x83+cnt-1);
435 4 lcd_wrdata(0x30+i);
436 4
437 4 }
438 3 else{
439 4 cnt=0;
440 4 lcd_wrcmd(0x83);
441 4 for(j=0;j<=3;j++)
442 4 lcd_wrdata(' ');
443 4 lcd_wrcmd(0x83);
444 4
445 4 }
446 3 }
447 2
448 2 else if(i==12)
449 2 {
450 3 state=1;
451 3 lcd_wrcmd(0x0c);
452 3 lcd_wrcmd(1);
453 3 lcd_wrcmd(0x80);
454 3 n=strlen(TL);
455 3 if(TL[2]>=0&&TL[2]<=9)
456 3 TLL=TL[0]*100+TL[1]*10+TL[2];
457 3
458 3 break;
459 3 }
460 2
461 2
462 2
463 2
464 2 }
465 1 }
466
467
468 /****************输入温度的上限值***************/
469 input_th()
470 {
471 1 uchar i,j,n,cnt=0;
472 1 uchar TH[3];
473 1 for(i=0;i<3;i++)
474 1 TH[i]=0;
475 1 lcd_wrcmd(0x80);
476 1 lcd_wrdata('T');
477 1 lcd_wrdata('H');
478 1 lcd_wrdata('=');
479 1 while(1)
480 1 {i=getkey();
481 2 if(i<10)
482 2 { cnt++;
483 3 if(cnt<=3)
484 3 { TH[cnt-1]=i;
485 4 lcd_wrcmd(0x83+cnt-1);
486 4 lcd_wrdata(0x30+i);
487 4
488 4 }
489 3 else{
C51 COMPILER V8.02 RECEIVE 08/23/2007 14:37:00 PAGE 9
490 4 cnt=0;
491 4 lcd_wrcmd(0x83);
492 4 for(j=0;j<=3;j++)
493 4 lcd_wrdata(' ');
494 4 lcd_wrcmd(0x83);
495 4
496 4 }
497 3 }
498 2
499 2 else if(i==12)
500 2 {
501 3 state=1;
502 3 lcd_wrcmd(0x0c);
503 3 lcd_wrcmd(1);
504 3 lcd_wrcmd(0x80);
505 3 n=strlen(TH);
506 3 if(TH[2]>=0&&TH[2]<=9)
507 3 THH=TH[0]*100+TH[1]*10+TH[2];
508 3 break;
509 3 }
510 2
511 2
512 2 }
513 1 }
514 send_tlth() //发送上下限值
515
516 { uchar i;
517 1 uchar w;
518 1 lcd_wrcmd(0x0c);
519 1 lcd_wrcmd(0x82);
520 1
521 1 for(w=0;w<strlen(str7);w++)
522 1 lcd_wrdata(str7[w]);
523 1 while(1)
524 1 {
525 2 i=getkey();
526 2 senddata(0xfd);
527 2 senddata(THH);
528 2 senddata(0xfc);
529 2 senddata(TLL);
530 2 delay(110);
531 2 if(i==13)
532 2 {
533 3 state=1;
534 3 lcd_wrcmd(0x0c);
535 3 lcd_wrcmd(1);
536 3 lcd_wrcmd(0x80);
537 3 break;
538 3 }
539 2 }
540 1
541 1 }
542
543
544 void main()
545 {
546 1 lcd_bus=0xff;
547 1 lcd_ini();
548 1 serial_init();
549 1 lcd_h();
550 1 enable=0;
551 1 rt=1;
C51 COMPILER V8.02 RECEIVE 08/23/2007 14:37:00 PAGE 10
552 1 while(1)
553 1 {
554 2 if(state==0) welcome();
555 2
556 2 else if(state==1)
557 2 {EA=1;
558 3 ES=1;
559 3 menu();
560 3 }
561 2
562 2 else if(state==2) tempdisplay();
563 2
564 2 else if(state==3) input_tl();
565 2
566 2 else if(state==4) input_th();
567 2
568 2 else if(state==5)
569 2 {EA=0;
570 3 ES=0;
571 3 send_tlth();
572 3 }
573 2
574 2
575 2 }
576 1
577 1
578 1 }
579
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1779 ----
CONSTANT SIZE = 124 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 21
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -