⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 9220.lst

📁 LCD模块IC是ILI9325在C51单片机的驱动程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 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 + -