📄 9220.lst
字号:
592 2 Data_Write(0x630c);
593 2 if(r_l>0)
594 2 {rr=1;}
595 2 else
596 2 {rr=0;}
597 2
598 2 for(seg=0;seg<(r+rr);seg++)
599 2 Data_Write(0x528a);
600 2 if(r_l>0)
601 2 {rr=1;}
602 2 else
603 2 {rr=0;}
604 2
605 2 for(seg=0;seg<(r+rr);seg++)
606 2 Data_Write(0x4208);
607 2 if(r_l>0)
608 2 {rr=1;}
609 2 else
610 2 {rr=0;}
611 2
612 2 for(seg=0;seg<(r+rr);seg++)
613 2 Data_Write(0x3186);
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 11
614 2 if(r_l>0)
615 2 {rr=1;}
616 2 else
617 2 {rr=0;}
618 2
619 2 for(seg=0;seg<(r+rr);seg++)
620 2 Data_Write(0x2104);
621 2 if(r_l>0)
622 2 {rr=1;}
623 2 else
624 2 {rr=0;}
625 2
626 2 for(seg=0;seg<(r+rr);seg++)
627 2 Data_Write(0x1082);
628 2 if(r_l>0)
629 2 {rr=1;}
630 2 else
631 2 {rr=0;}
632 2
633 2
634 2 for(seg=0;seg<(r+rr);seg++)
635 2 Data_Write(0x0000);
636 2 if(r_l>0)
637 2 {rr=1;}
638 2 else
639 2 {rr=0;}
640 2 }
641 1 }
642
643 /******************显示图像子程序****************************/
644
645 void display_picture() //display picture
646 {
647 1 unsigned int i,ii,s;
648 1 unsigned int k,p_dat;
649 1 k=0;
650 1 s=DisplaySeg/2;
651 1
652 1 c_d_before();
653 1
654 1 if(DisplayCol==160)
655 1 {
656 2 for(i=0;i<DisplayCol;i++)
657 2 for(ii=0;ii<DisplaySeg;ii++)
658 2 {
659 3 p_dat=image1[k];
660 3 p_dat=(p_dat<<8);
661 3 k++;
662 3 p_dat=p_dat|image1[k];
663 3 Data_Write(p_dat);
664 3 k++;
665 3 }
666 2 }
667 1
668 1 else
669 1 {
670 2 for(i=0;i<DisplayCol/2;i++)
671 2 {
672 3 if(i>=1) {k=k+DisplaySeg;}
673 3 for(ii=0;ii<DisplaySeg;ii++)
674 3 {
675 4 if(ii<s)
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 12
676 4 {
677 5 p_dat=image1[k];
678 5 p_dat=(p_dat<<8);
679 5 k++;
680 5 p_dat=p_dat|image1[k];
681 5 Data_Write(p_dat);
682 5 k++;
683 5 }
684 4 else
685 4 {
686 5
687 5 p_dat=image1[k];
688 5 p_dat=(p_dat<<8);
689 5 k--;
690 5 p_dat=p_dat|image1[k];
691 5 Data_Write(p_dat);
692 5 k--;
693 5 }
694 4 }
695 3 }
696 2 k=0;
697 2 for(i=0;i<DisplayCol/2;i++)
698 2 {
699 3 if(i>=1) {k=k+DisplaySeg;}
700 3 for(ii=0;ii<DisplaySeg;ii++)
701 3 {
702 4 if(ii<s)
703 4 {
704 5 p_dat=image1[k];
705 5 p_dat=(p_dat<<8);
706 5 k++;
707 5 p_dat=p_dat|image1[k];
708 5 Data_Write(p_dat);
709 5 k++;
710 5 }
711 4 else
712 4 {
713 5
714 5 p_dat=image1[k];
715 5 p_dat=(p_dat<<8);
716 5 k--;
717 5 p_dat=p_dat|image1[k];
718 5 Data_Write(p_dat);
719 5 k--;
720 5 }
721 4 }
722 3 }
723 2 }
724 1 }
725 /************写数据前的命令*******************/
726
727 void c_d_before()
728 {
729 1 Command_Write(0x0020);
730 1 Data_Write(0x0000);
731 1 Command_Write(0x0021);
732 1 Data_Write(0x0000);
733 1 Command_Write(0x0022);
734 1
735 1 }
736 /*********IC st7637 的初始化*****ok**************/
737
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 13
738 void Initst()
739 {
740 1 reset=0;
741 1 delay(10);
742 1 reset=1;
743 1 delay(50);
744 1
745 1 //control_out(0x07,0x0000); //display control 1
746 1 //delay(20);
747 1 //********start initial sequence**********//
748 1 control_out(0x00E3,0x3008); //det internal timing
749 1 control_out(0x00E7, 0x0012); // Set internal timing
750 1 control_out(0x00EF, 0x1231); // Set internal timing
751 1 control_out(0x0001, 0x0100); // set SS and SM bit
752 1 control_out(0x0002, 0x0700); // set 1 line inversion
753 1 control_out(0x0003, 0x1030); // set GRAM control_out direction and BGR=1.
754 1 control_out(0x0004, 0x0000); // Resize register
755 1 control_out(0x0008, 0x0207); // set the back porch and front porch
756 1 control_out(0x0009, 0x0000); // set non-display area refresh cycle ISC[3:0]
757 1 control_out(0x000C, 0x0000); // RGB interface setting
758 1 control_out(0x000D, 0x0000); // Frame marker Position
759 1 control_out(0x000F, 0x0000); // RGB interface polarity
760 1 //*************Power On sequence ****************//
761 1 control_out(0x0010, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB
762 1 control_out(0x0011, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]
763 1 control_out(0x0012, 0x0000); // VREG1OUT voltage
764 1 control_out(0x0013, 0x0000); // VDV[4:0] for VCOM amplitude
765 1 delay(200); // Dis-charge capacitor power voltage
766 1 control_out(0x0010, 0x1490); // SAP, BT[3:0], AP, DSTB, SLP, STB
767 1 control_out(0x0011, 0x0227); // DC1[2:0], DC0[2:0], VC[2:0]
768 1 delay(50); // Delay 50ms
769 1 control_out(0x0012, 0x001D); // Internal reference voltage= Vci;
770 1 delay(50); // Delay 50ms
771 1 control_out(0x0013, 0x0800); // Set VDV[4:0] for VCOM amplitude
772 1 control_out(0x0029, 0x0014); // Set VCM[5:0] for VCOMH
773 1 control_out(0x002B, 0x000D); // Set Frame Rate
774 1 delay(50); // Delay 50ms
775 1 control_out(0x0020, 0x0000); // GRAM horizontal Address
776 1 control_out(0x0021, 0x0000); // GRAM Vertical Address
777 1 // ----------- Adjust the Gamma Curve ----------//
778 1 control_out(0x0030, 0x0007);
779 1 control_out(0x0031, 0x0707);
780 1 control_out(0x0032, 0x0006);
781 1 control_out(0x0035, 0x0704);
782 1 control_out(0x0036, 0x1F04);
783 1 control_out(0x0037, 0x0004);
784 1 control_out(0x0038, 0x0000);
785 1 control_out(0x0039, 0x0706);
786 1 control_out(0x003C, 0x0701);
787 1 control_out(0x003D, 0x000F);
788 1 //------------------ Set GRAM area ---------------//
789 1 control_out(0x0050, 0x0000); // Horizontal GRAM Start Address
790 1 control_out(0x0051, 0x00EF); // Horizontal GRAM End Address
791 1 control_out(0x0052, 0x0000); // Vertical GRAM Start Address
792 1 control_out(0x0053, 0x013F); // Vertical GRAM Start Address
793 1 control_out(0x0060, 0xA700); // Gate Scan Line
794 1 control_out(0x0061, 0x0001); // NDL,VLE, REV
795 1 control_out(0x006A, 0x0000); // set scrolling line
796 1 //-------------- Partial Display Control ---------//
797 1 control_out(0x0080, 0x0000);
798 1 control_out(0x0081, 0x0000);
799 1 control_out(0x0082, 0x0000);
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 14
800 1 control_out(0x0083, 0x0000);
801 1 control_out(0x0084, 0x0000);
802 1 control_out(0x0085, 0x0000);
803 1 //-------------- Panel Control -------------------//
804 1 control_out(0x0090, 0x0010);
805 1 control_out(0x0092, 0x0600);
806 1 control_out(0x0093, 0x0003);
807 1 control_out(0x0095, 0x0110);
808 1 control_out(0x0097, 0x0000);
809 1 control_out(0x0098, 0x0000);
810 1 control_out(0x0007, 0x0133); // 262K color and display ON
811 1
812 1
813 1
814 1
815 1
816 1
817 1 }
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 15
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
c_d_before . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Initst . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
display_gray . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
r. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
r_l. . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
rr . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
c. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
c1 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0004H 1
c2 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
c3 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0006H 1
c4 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0007H 1
_delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 000BH -----
param. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
i. . . . . . . . . . . . . . . . . . * REG * DATA INT 0004H 2
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
page . . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0000H 2
reset. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
step . . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
_Command_Write . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
a. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
image1 . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0000H 38400
setp . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
_control_out . . . . . . . . . . . . . PUBLIC CODE PROC 0004H -----
a. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
b. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2
seg. . . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0002H 2
rd . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
cs . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
display_picture. . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
ii . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
s. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0004H 2
k. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0006H 2
p_dat. . . . . . . . . . . . . . . . AUTO DATA U_INT 0008H 2
rs . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
wr . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
_Data_Write. . . . . . . . . . . . . . PUBLIC CODE PROC 0014H -----
a. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2
_colour_display. . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
param1 . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
param2 . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2426 ----
CONSTANT SIZE = 38400 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 16
DATA SIZE = 4 24
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 + -