📄 st7529.lst
字号:
480 1 note=note+(unsigned int)(k*(row_num-1)); //最下一行的首地址
481 1 k=2*k;
482 1 bak_col=col;
483 1
484 1 Wrcmd(0X30); //EXT=0
485 1
486 1 Wrcmd(0X75); //THIRD COMMAND SET LINE ADDRESS
487 1 i=START_LINE+row;
488 1 Wrdata(i); //START LINE
489 1 i=i+row_num-1;
C51 COMPILER V8.08 ST7529 04/15/2008 16:12:18 PAGE 9
490 1 Wrdata(i); //END LINE
491 1 i=col/3;
492 1 i=START_COL+i;
493 1 Wrcmd(0X15); //THIRD COMMAND SET COLUMN ADDRESS
494 1 Wrdata(i); //START COLUMN
495 1 a=col_num-1;
496 1 i=((col+a)/3);
497 1 i=i+START_COL;
498 1 Wrdata(i); //END COLUMN
499 1
500 1 Wrcmd(0XE0); //进入到读修改写模式
501 1 LCD_initRead(); //初始化读数据状态
502 1 for(i=0;i<row_num;i++)
503 1 {
504 2 a=0; col=bak_col; j=col_num;
505 2 while(j!=0)
506 2 {
507 3 LCD_dummyRead(); //假读一次
508 3 ucData=LCD_DataRead();
509 3 switch(col%3)
510 3 {
511 4 case 0:
512 4 j--; col++;
513 4 if((*note&(1<<a))!=0) ucData=((ucData&0x07FF)|temp1);
514 4 else ucData=(ucData|0xF800);
515 4 if(a<7) a++;
516 4 else {note++; a=0;}
517 4 case 1:
518 4 if(j!=0) {j--; col++;}
519 4 else break;
520 4 if((*note&(1<<a))!=0) ucData=((ucData&0xF83F)|temp2);
521 4 else ucData=(ucData|0x07C0);
522 4 if(a<7) a++;
523 4 else {note++; a=0;}
524 4 default:
525 4 if(j!=0) {j--; col++;}
526 4 else break;
527 4 if((*note&(1<<a))!=0) ucData=((ucData&0xFFE0)|lum);
528 4 else ucData=(ucData|0x003F);
529 4 if(a<7) a++;
530 4 else {note++; a=0;}
531 4 }
532 3 Wrcom(ucData);
533 3 }
534 2 note=note-k;
535 2 if(a!=0) note++;
536 2 }
537 1 Wrcmd(0XEE); //退出读修改写模式
538 1 col=bak_col;
539 1 }
540 /********************************/
541 //液晶屏初始化
542 /********************************/
543 void ST7529_init(void)
544 {
545 1 Wrcmd( 0x0030 ); //Ext = 0
546 1 Wrcmd( 0x0094 ); //Sleep Out
547 1 Wrcmd( 0x00D1 ); //OSC On
548 1 Wrcmd( 0x0020 ); //Power Control Set
549 1 Wrdata( 0x0008 ); //Booster Must Be On First
550 1 Delay( 1 );
551 1 Wrcmd( 0x0020 ); //Power Control Set
C51 COMPILER V8.08 ST7529 04/15/2008 16:12:18 PAGE 10
552 1 Wrdata( 0x000B ); //Booster, Regulator, Follower ON
553 1 Wrcmd( 0x0081 ); //Electronic Control
554 1 Wrdata( 0x0004 ); //Vop=14.0V
555 1 Wrdata( 0x0004 );
556 1 Wrcmd( 0x00CA ); //Display Control
557 1 Wrdata( 0x0000 ); //CL=X1
558 1 Wrdata( 0x0027 ); //Duty=160
559 1 Wrdata( 0x0000 ); //FR Inverse-Set Value
560 1 Wrcmd( 0x00A6 ); // Normal Display
561 1 Wrcmd( 0x00BB ); //COM Scan Direction
562 1 Wrdata( 0x0002 ); // 79→0 80→159
563 1 Wrcmd( 0x00BC ); //Data Scan Direction
564 1 Wrdata( 0x0000 ); //inverse show
565 1 Wrdata( 0x0000 ); //RGB Arrangement
566 1 Wrdata( 0x0001 ); //2字节3像素模式
567 1 Wrcmd( 0x0075 ); //Line Address Set
568 1 Wrdata( 0x0000 ); //Start Line=0
569 1 Wrdata( 0x009F ); //End Line =159
570 1 Wrcmd( 0x0015 ); //Column Address Set
571 1 Wrdata( 0x0000 ); //Start Column=0
572 1 Wrdata( 0x0054 ); //End Column =84
573 1 Wrcmd( 0x0031 ); //Ext = 1
574 1 Wrcmd( 0x0032 ); //Analog Circuit Set
575 1 Wrdata( 0x0000 ); //OSC Frequency =000 (Default)
576 1 Wrdata( 0x0001 ); //Booster Efficiency=01(Default)
577 1 Wrdata( 0x0000 ); //Bias=1/14
578 1 Wrcmd( 0x0034 ); //Software Initial
579 1 //Read_LCM_EEPROM(); //Read EEPROM Flow
580 1 Wrcmd( 0x0030 ); //Ext = 0
581 1 WretPointTest(0xFFFF);
582 1 Wrcmd( 0x00AF ); //Display On
583 1 }
584
585 unsigned char code zimo3[]={ //65*29
586 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
587 0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x20,0x00,0x80,0x01,0x04,
588 0x00,0x30,0x80,0x01,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0x3F,0x80,0x01,0x60,0x00,0x80,
589 0x00,0x0C,0x00,0x10,0x80,0x01,0x60,0x00,0x80,0x00,0x0C,0x00,0x10,0x00,0x00,0x60,
590 0x00,0x80,0x00,0x0C,0x00,0x10,0x00,0x00,0xE0,0xFF,0xFF,0x00,0xFC,0xFF,0x1F,0x00,
591 0x00,0x60,0x00,0x80,0x00,0x0C,0x00,0x10,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,
592 0x00,0x00,0x00,0x60,0x02,0x04,0x00,0x4C,0x80,0x00,0x00,0x00,0x60,0x0E,0x0C,0x00,
593 0xCC,0x81,0x01,0x00,0x00,0x60,0x06,0x04,0x01,0xCC,0x80,0x20,0x00,0x00,0x60,0x06,
594 0x84,0x03,0xCC,0x80,0x70,0x00,0x00,0x20,0xC6,0xC4,0x00,0xC4,0x98,0x18,0x00,0x00,
595 0x20,0xFE,0x65,0x00,0xC4,0xBF,0x0C,0x00,0x00,0x20,0x06,0x14,0x00,0xC4,0x80,0x02,
596 0x00,0x00,0x30,0x06,0x0C,0x00,0xC6,0x80,0x01,0x00,0x00,0x30,0x06,0x04,0x00,0xC6,
597 0x80,0x00,0x00,0x00,0x10,0x06,0x04,0x00,0xC2,0x80,0x00,0x00,0x00,0x10,0x06,0x04,
598 0x02,0xC2,0x80,0x40,0x00,0x00,0x18,0x86,0x04,0x02,0xC3,0x90,0x40,0x00,0x00,0x08,
599 0x66,0x04,0x02,0xC1,0x8C,0x40,0x00,0x00,0x08,0x1E,0x04,0x06,0xC1,0x83,0xC0,0x00,
600 0x00,0x04,0x0E,0xFC,0x87,0xC0,0x81,0xFF,0x00,0x00,0x02,0x04,0xF8,0x43,0x80,0x00,
601 0x7F,0x00,0x00,0x02,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
602 0x00,0x00,0x00,0x00,0x00,
603 };
604 unsigned char code zimo2[]={ //74*37
605 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
606 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x30,0x00,0x83,0x01,0x00,0x00,0x00,
607 0x0E,0x00,0x00,0x70,0x00,0x83,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x30,0x00,0x83,
608 0x01,0x00,0x00,0x00,0x0C,0x40,0x00,0x30,0x00,0x83,0x61,0x00,0x40,0x00,0x0C,0xC0,
609 0x00,0x20,0x00,0x83,0xF1,0x00,0xC0,0xFF,0xFF,0xFF,0x01,0x20,0xF8,0xFF,0x0F,0x00,
610 0x40,0x00,0x00,0xE0,0x00,0x20,0x00,0x83,0x01,0x00,0x60,0x00,0x00,0x20,0x00,0x20,
611 0x06,0x83,0x01,0x00,0x70,0x00,0x00,0x10,0x80,0xFF,0x0F,0x81,0x00,0x00,0x70,0x00,
612 0x00,0x10,0x00,0x30,0x60,0x00,0x0C,0x00,0x00,0x00,0x00,0x06,0x00,0x30,0xE0,0xFF,
613 0x1F,0x00,0x80,0xFF,0xFF,0x0F,0x00,0x30,0x60,0x00,0x0C,0x00,0x00,0x00,0x00,0x1F,
C51 COMPILER V8.08 ST7529 04/15/2008 16:12:18 PAGE 11
614 0x00,0x30,0x60,0x00,0x0C,0x00,0x00,0x00,0x80,0x01,0x00,0xF8,0x60,0x00,0x0C,0x00,
615 0x00,0x00,0x40,0x00,0x00,0xB8,0xE3,0xFF,0x0F,0x00,0x00,0x00,0x30,0x00,0x00,0x28,
616 0x67,0x00,0x0C,0x00,0x00,0x00,0x1E,0x00,0x00,0x2C,0x66,0x00,0x0C,0x00,0x00,0x00,
617 0x0E,0x00,0x01,0x2C,0x66,0x00,0x0C,0x00,0x00,0x00,0x0E,0x80,0x01,0x26,0x64,0x00,
618 0x0C,0x00,0x00,0x00,0x0E,0xC0,0x03,0x26,0xE0,0xFF,0x0F,0x00,0xFC,0xFF,0xFF,0x3F,
619 0x00,0x22,0x60,0x18,0x0C,0x00,0x00,0x00,0x0E,0x00,0x00,0x21,0x00,0x18,0x00,0x00,
620 0x00,0x00,0x0E,0x00,0x00,0x21,0x00,0x18,0x60,0x00,0x00,0x00,0x0E,0x00,0x80,0x30,
621 0x00,0x18,0xF0,0x00,0x00,0x00,0x0E,0x00,0x40,0x30,0xFC,0xEF,0x0F,0x00,0x00,0x00,
622 0x0E,0x00,0x00,0x30,0x00,0x2C,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x30,0x00,0x4C,
623 0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x30,0x00,0x86,0x00,0x00,0x00,0x00,0x0E,0x00,
624 0x00,0x30,0x00,0x83,0x01,0x00,0x00,0x00,0x0E,0x00,0x00,0x30,0x80,0x01,0x07,0x00,
625 0x00,0xF0,0x07,0x00,0x00,0x30,0xC0,0x00,0x3E,0x00,0x00,0x80,0x07,0x00,0x00,0x70,
626 0x70,0x00,0xFC,0x00,0x00,0x00,0x03,0x00,0x00,0x70,0x1C,0x00,0x30,0x00,0x00,0x00,
627 0x01,0x00,0x00,0x10,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
628 0x00,0x00,
629 };
630 /****************************************/
631 /*主函数*/
632 /****************************************/
633 void main()
634 {
635 1 LCD_Reset();
636 1 ST7529_init();
637 1
638 1 col=6;row=3;
639 1 show_note(&zimo[0],32,16,0x00);
640 1 col=38;row=3;
641 1 show_note(&zimo[0],32,16,0x00);
642 1
643 1 col=80;row=3;
644 1 show_note(&zimo2[0],74,37,0x00);
645 1
646 1 col=80;row=50;
647 1 show_note(&zimo3[0],65,29,0x00);
648 1
649 1 col=6;row=20;
650 1 show_note(&two_boy[0],65,70,0x00);
651 1
652 1 while(1);
653 1 }
654
655
656 unsigned char code zimo[]={ //32*16
657 0x40,0x00,0x04,0x09,0x80,0x00,0x04,0x09,0xFC,0x3F,0xE4,0x3F,0x04,0x20,0x04,0x09,
658 0x02,0x10,0xDF,0x1F,0xF8,0x07,0x44,0x10,0x00,0x02,0xCE,0x1F,0x00,0x01,0x56,0x10,
659 0x80,0x00,0xC5,0x1F,0xFE,0x7F,0x05,0x02,0x80,0x00,0xE4,0x7F,0x80,0x00,0x04,0x02,
660 0x80,0x00,0x04,0x05,0x80,0x00,0x04,0x19,0xA0,0x00,0x84,0x70,0x40,0x00,0x64,0x20,
661 };
662
663
664 unsigned char code two_boy[]={ //65*70
665 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x06,0x00,0x00,0x00,
666 0x08,0x00,0x90,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7D,0x00,0x90,0xFF,0xFE,0xFF,0xEF,
667 0x8F,0xFF,0xE0,0x00,0x90,0xED,0x7F,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x98,0xCD,0xCF,
668 0xFF,0xEC,0xFB,0xFF,0x02,0x00,0x98,0xFC,0xF8,0x5D,0x3B,0x17,0xDA,0x06,0x00,0x88,
669 0xFF,0xCC,0x13,0x27,0x13,0xFE,0x0C,0x00,0x80,0xE7,0xCD,0x7B,0x5B,0x36,0xDE,0x09,
670 0x00,0xE0,0xCF,0xCC,0x2F,0x9B,0x33,0xDE,0x00,0x00,0xF8,0xDF,0xCD,0x77,0x5B,0x37,
671 0xD6,0xE1,0x00,0x98,0xCF,0xCC,0x3F,0x1B,0x33,0xCF,0x80,0x00,0x98,0x9F,0xCD,0x1D,
672 0x53,0x37,0xDE,0x01,0x00,0x88,0xE3,0xBC,0xFF,0x98,0xB3,0x9B,0x03,0x00,0x8C,0x7F,
673 0xFF,0xFF,0xFF,0xFD,0xFE,0x06,0x00,0x80,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x0D,0x00,
674 0x81,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x09,0x00,0x21,0x00,0x0F,0x03,0x02,0x4E,0xC0,
675 0x80,0x00,0x00,0x00,0x08,0x00,0x02,0x1F,0x00,0xC0,0x00,0x00,0xC0,0x18,0x00,0x03,
C51 COMPILER V8.08 ST7529 04/15/2008 16:12:18 PAGE 12
676 0x72,0x00,0x00,0x00,0x02,0xE0,0x10,0x00,0x05,0xA3,0x00,0x18,0x00,0xC2,0x30,0x10,
677 0x80,0x1F,0x99,0x00,0x18,0x00,0x46,0x18,0x00,0xC0,0x78,0x89,0x3F,0x34,0x00,0x4C,
678 0x06,0x0C,0xC4,0x60,0x88,0xF1,0x64,0x00,0x60,0x1F,0xFC,0xCC,0xDC,0x88,0x01,0x46,
679 0x00,0x60,0x79,0xC0,0xD8,0x78,0x0A,0x03,0x06,0x00,0x01,0xBD,0x00,0xD0,0xF0,0x0F,
680 0x02,0x02,0x00,0x01,0xCF,0x70,0x90,0xE0,0x1B,0x62,0x02,0x00,0x7F,0x85,0x61,0x80,
681 0xC3,0x35,0xC3,0x10,0x00,0xEC,0x8D,0xC3,0x81,0xC2,0xFF,0x43,0xF7,0x00,0x52,0x0F,
682 0x83,0x03,0xC7,0xC3,0x8F,0xC7,0x01,0x9A,0x0B,0x06,0x1F,0xE2,0x77,0x1B,0x0F,0x00,
683 0x3C,0xFE,0x0D,0x3F,0xD4,0xFE,0x2F,0x1D,0x00,0xC4,0xC6,0x3D,0x74,0xFC,0xEF,0x3E,
684 0x1C,0x00,0x8E,0xCE,0x5F,0x7C,0x78,0x3F,0x7F,0x16,0x01,0x0C,0xCF,0x7C,0x78,0x6C,
685 0xFF,0xEF,0x1E,0x01,0x9C,0xFF,0xF7,0xF8,0x7D,0xCF,0xFD,0xF7,0x01,0x98,0xFF,0xFF,
686 0xF0,0xEC,0x8D,0xE0,0x91,0x01,0xF8,0xFF,0xFF,0xC6,0xF8,0x89,0x47,0xB3,0x00,0x90,
687 0xFF,0x8A,0xCF,0xBE,0x8E,0xED,0x33,0x00,0xE0,0x2F,0xC0,0xD5,0x28,0x9F,0x7C,0x33,
688 0x00,0xE0,0x1F,0x3C,0xCD,0x18,0x09,0x70,0x33,0x00,0xE2,0x1F,0x7C,0xCF,0x30,0x03,
689 0x6A,0x33,0x00,0xE6,0x0B,0xEC,0xCE,0xF0,0x05,0xA1,0x23,0x00,0xE4,0xF1,0xC8,0x0E,
690 0xF0,0xF1,0xD1,0x1F,0x00,0x4C,0xB1,0x00,0xCE,0xC6,0xF8,0x38,0xFD,0x00,0xC8,0x31,
691 0x10,0xCF,0xEC,0x01,0xDE,0xC1,0x01,0xC8,0x31,0x90,0xCF,0xD8,0xFF,0xFF,0x00,0x01,
692 0x81,0x18,0xFE,0x4F,0xF8,0xFD,0x70,0x82,0x01,0x18,0x19,0xDC,0x67,0x71,0x00,0x60,
693 0x86,0x01,0x0E,0x06,0xBF,0xEF,0x35,0x00,0x60,0x8C,0x00,0x86,0xF6,0xF7,0x8F,0x33,
694 0x03,0x60,0x8C,0x00,0x00,0xFC,0xFF,0xFF,0x37,0x03,0x50,0x08,0x00,0xC0,0xEC,0xFF,
695 0xBF,0x33,0x02,0xF8,0x00,0x00,0xC0,0xFC,0xFF,0x3F,0x63,0xFE,0xFF,0x07,0x00,0x44,
696 0xEE,0xFF,0x7F,0xE0,0xCF,0xBF,0x76,0x00,0x8C,0x9D,0xFF,0x77,0xC6,0xFF,0xFF,0xF6,
697 0x01,0x8C,0xB9,0xFB,0x3F,0x0A,0xFD,0xFF,0x02,0x00,0x19,0xD9,0xDF,0x1F,0x1F,0xFF,
698 0xFF,0x03,0x00,0x19,0xB1,0xFF,0x1F,0x1A,0xFF,0x59,0x22,0x00,0x40,0xE0,0xBB,0x07,
699 0x0E,0xE3,0xC7,0x60,0x00,0xE0,0xC3,0xDF,0x08,0xBC,0xC3,0xC6,0xC0,0x00,0x02,0xC7,
700 0xDD,0x38,0xD0,0x63,0xC6,0xC0,0x00,0x06,0xFC,0xC8,0xF8,0xF9,0x62,0xC6,0x07,0x00,
701 0x06,0xFE,0xF0,0x41,0x1B,0xC0,0x07,0x0E,0x00,0x0C,0x26,0xF8,0x0F,0x0F,0xE0,0x03,
702 0x18,0x00,0x00,0xF2,0xFF,0xBC,0xFF,0xDF,0xFF,0x7D,0x00,0xC0,0xDE,0xBD,0xC0,0x7B,
703 0x9F,0xBD,0x7B,0x00,0x60,0x00,0xB7,0x01,0x01,0x87,0x01,0xC4,0x00,0xE0,0x00,0xB2,
704 0x01,0x80,0x83,0x01,0xC4,0x00,
705 };
706
707
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1766 ----
CONSTANT SIZE = 1325 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 23
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 + -