📄 mykey.lst
字号:
349 2 case 6:
350 2 if((FLASHDATA[FLASHTAB]>'4')&&(FLASHDATA[FLASHTAB]<='6'))
351 2 {
352 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]-1;
353 3 return;
354 3 }
355 2 else return;
356 2
357 2 case 7:
358 2 if((FLASHDATA[FLASHTAB]>'0')&&(FLASHDATA[FLASHTAB]<='9')&&(FLASHDATA[FLASHTAB-1]>='4')&&(FLASHDATA[FLA
-SHTAB-1]<'6'))
359 2 {
360 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]-1;
361 3 return;
362 3 }
363 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-1]>'4')&&(FLASHDATA[FLASHTAB-1]<='6'))
364 2 {
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 7
365 3 FLASHDATA[FLASHTAB]='9';
366 3 FLASHDATA[FLASHTAB-1]=FLASHDATA[FLASHTAB-1]-1;
367 3 DATALCD[FLASHPOS[FLASHTAB-1]]= FLASHDATA[FLASHTAB-1];
368 3 return;
369 3 }
370 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-1]=='4'))
371 2 {
372 3 FLASHDATA[FLASHTAB]='0';
373 3 FLASHDATA[FLASHTAB-1]='6';
374 3 DATALCD[FLASHPOS[FLASHTAB-1]]= FLASHDATA[FLASHTAB-1];
375 3 return;
376 3 }
377 2 else return;
378 2 }
379 1 }
380 void set_CLEAR(void)
381 {
382 1 FLASHADDR=0x00FF;
383 1 CPRST=NORM;
384 1 Page1();
385 1 }
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418 /***************************************/
419 // 延时子程序 延时t秒
420 /***************************************/
421 void delay(uint t)
422 {
423 1 uint i;
424 1 uint j;
425 1 for(j=0;j<t;j++)
426 1 for(i=0;i<109;i++)
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 8
427 1 _nop_();
428 1 }
429
430
431 /***************************************/
432 //写寄存器命令
433 /***************************************/
434 void CmdWrite(uchar cmdreg,uchar cmddata)
435 {
436 1
437 1 LCD_BUS=cmdreg; //写入寄存器地址
438 1 CS=0;
439 1 _RD=1;
440 1 RS=0;
441 1 _WR=0;
442 1 _nop_();
443 1 _WR=1;
444 1 _nop_();
445 1 RS=1;
446 1 CS=1;
447 1
448 1 LCD_BUS=cmddata; //写入参数
449 1
450 1 CS=0;
451 1 _RD=1;
452 1 RS=0;
453 1 _WR=0;
454 1 _nop_();
455 1 _WR=1;
456 1 _nop_();
457 1 RS=1;
458 1 CS=1;
459 1 _RD=1;
460 1 }
461
462 /******************************************/
463 //数据写操作
464 /******************************************/
465 void DataWrite(uchar wrdata)
466 {
467 1 _RD=1;
468 1 _WR=1;
469 1 RS=1;
470 1
471 1 LCD_BUS=wrdata; //写入数据
472 1
473 1 CS=0;
474 1 _WR=0;
475 1 _nop_();
476 1 _WR=1;
477 1 _nop_();
478 1 RS=0;
479 1 CS=1;
480 1 }
481
482 /******************************************/
483 //写入字符串
484 /******************************************/
485 void Printstr(uchar code *pstr)
486 {
487 1 while(*pstr!=0)
488 1 {
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 9
489 2 DataWrite(*pstr);
490 2 pstr++;
491 2 delay(1);
492 2 }
493 1 }
494
495 /******************************************/
496 //整屏幕写入数据
497 /******************************************/
498 void FullScreenFill(uchar fill_data)
499 {
500 1 uchar i,j;
501 1 CmdWrite(0x60,0x00);
502 1 CmdWrite(0x70,0x00);
503 1 for(i=0;i<24;i++)
504 1 for(j=0;j<128;j++)
505 1 DataWrite(fill_data);
506 1 }
507
508 /******************************************/
509 //模块复位与初始化
510 /******************************************/
511 void LCD_Initial()
512 {
513 1 _RST=0; //复位开始
514 1 delay(10);
515 1 _RST=1;
516 1 delay(10); //复位结束
517 1
518 1 CmdWrite(0x00,0xcd); //电源、软件正常模式,文本正向模式,开显示 ,屏幕不闪烁
519 1 //CmdWrite(0x00,0xc5);
520 1 CmdWrite(0x90,0x0d);
521 1 CmdWrite(0xf0,0xa0);
522 1 CmdWrite(0x11,0x00); //光标高度和行距
523 1 CmdWrite(0x03,0x80); //移动控制
524 1 CmdWrite(0x10,0x6f); //光标和字体控制
525 1 CmdWrite(0x12,0x91); //光标自动右移,显示PAGE1
526 1
527 1 CmdWrite(0x20,0x17); //工作视窗右边参数的设定
528 1 CmdWrite(0x30,0x7f);
529 1 CmdWrite(0x40,0x00);
530 1 CmdWrite(0x50,0x00);
531 1
532 1 CmdWrite(0x21,0x17); //显示视窗参数的设定
533 1 CmdWrite(0x31,0x80);
534 1 CmdWrite(0x41,0x00);
535 1 CmdWrite(0x51,0x00);
536 1
537 1 CmdWrite(0x60,0x00); //设定X坐标
538 1 CmdWrite(0x70,0x00); //设定Y坐标
539 1 CmdWrite(0xe0,0x00);
540 1 CmdWrite(0xf0,0xa0); //简体自型
541 1 CmdWrite(0xf1,0x0f);
542 1 }
543
544
545 void Page1(void)
546 {
547 1
548 1 CmdWrite(0x60,0x00); //设定X坐标
549 1 CmdWrite(0x70,0x00); //设定Y坐标
550 1 Printstr("请设定值:");
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 10
551 1
552 1 CmdWrite(0x60,0x00); //设定X坐标
553 1 CmdWrite(0x70,0x20); //设定Y坐标
554 1 Printstr("电压幅度:");
555 1
556 1 CmdWrite(0x60,0x4a);
557 1 CmdWrite(0x70,0x20);
558 1 Printstr("0");
559 1
560 1 CmdWrite(0x60,0x4b);
561 1 CmdWrite(0x70,0x20);
562 1 Printstr(".");
563 1
564 1 CmdWrite(0x60,0x4c);
565 1 CmdWrite(0x70,0x20);
566 1 Printstr("1");
567 1
568 1 CmdWrite(0x60,0x4d);
569 1 CmdWrite(0x70,0x20);
570 1 Printstr("V");
571 1
572 1 CmdWrite(0x60,0x00); //设定X坐标
573 1 CmdWrite(0x70,0x40); //设定Y坐标
574 1 Printstr("电流幅度:");
575 1
576 1
577 1 CmdWrite(0x60,0x4a);
578 1 CmdWrite(0x70,0x40);
579 1 Printstr("1");
580 1
581 1 CmdWrite(0x60,0x4b);
582 1 CmdWrite(0x70,0x40);
583 1 Printstr(".");
584 1
585 1 CmdWrite(0x60,0x4c);
586 1 CmdWrite(0x70,0x40);
587 1 Printstr("0");
588 1
589 1 CmdWrite(0x60,0x4d);
590 1 CmdWrite(0x70,0x40);
591 1 Printstr("m");
592 1
593 1 CmdWrite(0x60,0x4e);
594 1 CmdWrite(0x70,0x40);
595 1 Printstr("A");
596 1
597 1
598 1
599 1
600 1 CmdWrite(0x60,0x00); //设定X坐标
601 1 CmdWrite(0x70,0x60); //设定Y坐标
602 1 Printstr("频率:");
603 1
604 1 CmdWrite(0x60,0x46);
605 1 CmdWrite(0x70,0x60);
606 1 Printstr("5");
607 1
608 1 CmdWrite(0x60,0x47);
609 1 CmdWrite(0x70,0x60);
610 1 Printstr("0");
611 1
612 1 CmdWrite(0x60,0x48);
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 11
613 1 CmdWrite(0x70,0x60);
614 1 Printstr("H");
615 1
616 1 CmdWrite(0x60,0x49);
617 1 CmdWrite(0x70,0x60);
618 1 Printstr("z");
619 1
620 1
621 1 }
622 void WriteTextScreen(unsigned char *TxtData)
623 {
624 1
625 1 unsigned char TempData;
626 1 unsigned char i=0;
627 1 CmdWrite(0x60,0x00); //设定X坐标
628 1 CmdWrite(0x70,0x00); //设定Y坐标
629 1 Printstr("请设定值:");
630 1 CmdWrite(0x60,0x00); //设定X坐标
631 1 CmdWrite(0x70,0x20); //设定Y坐标
632 1 for(i=0; i<14; i++)
633 1 {
634 2 TempData=(*(TxtData+i));
635 2 DataWrite(TempData);
636 2 }
637 1 CmdWrite(0x60,0x00); //设定X坐标
638 1 CmdWrite(0x70,0x40); //设定Y坐标
639 1 for(i=14; i<29; i++)
640 1 {
641 2 TempData=(*(TxtData+i));
642 2 DataWrite(TempData);
643 2 }
644 1 CmdWrite(0x60,0x00); //设定X坐标
645 1 CmdWrite(0x70,0x60); //设定Y坐标
646 1 for(i=29; i<39; i++)
647 1 {
648 2 TempData=(*(TxtData+i));
649 2 DataWrite(TempData);
650 2 }
651 1 }
652 void ncstrcpy(unsigned char *dst, const unsigned char *src)
653 {
654 1 while (*src!=0x00)
655 1 *dst++=*src++;
656 1 }
657 void dis_Page2(void)
658 {
659 1 sprintf(FLASHDATA,"%3.1f",vp);
660 1 ncstrcpy(DATALCD,"电压幅度: ");
661 1 sprintf(DATALCD+10, "%3.1f",vp);
662 1 sprintf(DATALCD+13, "V");
663 1
664 1 sprintf(FLASHDATA+3,"%3.1f",ip);
665 1 ncstrcpy(DATALCD+14,"电流幅度: ");
666 1 sprintf(DATALCD+24, "%3.1f",ip);
667 1 sprintf(DATALCD+27, "mA");
668 1
669 1 sprintf(FLASHDATA+6,"%2d",freq);
670 1 ncstrcpy(DATALCD+29,"频率: ");
671 1 sprintf(DATALCD+35, "%2d",freq);
672 1 sprintf(DATALCD+37, "Hz");
673 1
674 1 WriteTextScreen(DATALCD);
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 12
675 1 }
676
677
678
679
680
681
682
683
684
685
686
687
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3713 ----
CONSTANT SIZE = 128 ----
XDATA SIZE = 89 12
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -