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

📄 9320ok.lst

📁 一个驱动TFT屏的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   9320OK                                                                07/17/2007 10:36:22 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 9320OK
OBJECT MODULE PLACED IN 9320ok.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 9320ok.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /****************************************************************************
   2           Controller IC:ILI9320,LG 2.4 TFT
   3           Paraller type:16 bit-8080 interface
   4           
   5           Resolutions:  240*320 pixels
   6           P0         : DB0---DB7===>D10-D17
   7           P1         : P1.4 P1.3 P1.2 P1.1 P1.0
   8                             RES  CS1  RS  /WR    RD
   9           Modified date: 2006.09.24
  10               Writer by: victor
  11          note:register high 8bit must 00
  12          ****************************************************************************/
  13          #include <reg52.h>
  14          #include<intrins.h>
  15          
  16          #define DisplayCol  240  //160
  17          #define DisplaySeg  320   //128
  18          
  19          #define StartCol  0 //
  20          #define StartSeg  0 //
  21          
  22          #define DataPort  P0
  23          #define ContPort  P1
  24          
  25          sbit _RST = P1^7;
  26          sbit _CS1 = P1^4;
  27          sbit  RS  = P1^5;  
  28          sbit _WR  = P3^7;   //3.6
  29          sbit _RD  = P3^6;   //3.7
  30          sbit led=P1^6;
  31          sbit  R1=P1^0;
  32          sbit  R2=P1^1;
  33          sbit  R3=P1^2;
  34          sbit  ROMCS=P1^3;   //flash memory chip 1
  35          sbit  LBLPowerOn=P3^4;         //backlight DC/DC on 
  36          
  37          unsigned int xdata *ptr;
  38          unsigned int page,seg;
  39          
  40          void delay(unsigned int param)
  41          {
  42   1         int i;
  43   1         for(;param>0;param--)
  44   1              for(i=0;i<960;i++);
  45   1      }
  46          
  47          
  48          void LCD_Index(unsigned char index)
  49          {
  50   1          RS=0;
  51   1              P0=0;
  52   1          led=1;
  53   1          //delay(0);
  54   1          led=0;
  55   1      
C51 COMPILER V7.06   9320OK                                                                07/17/2007 10:36:22 PAGE 2   

  56   1              _CS1 =0;
  57   1          DataPort=index;
  58   1          _WR=0;
  59   1         //delay(0);
  60   1         _WR=1;
  61   1         _CS1 =1;
  62   1      } 
  63          
  64          void LCD_DataWrite(unsigned int set_db)
  65          {
  66   1          RS=1;
  67   1              _CS1 =1;
  68   1          P0=set_db>>8;
  69   1          led=1;
  70   1          led=0;
  71   1      
  72   1              _CS1 =0;
  73   1          P0=set_db;
  74   1          _WR=0;
  75   1          _WR=1;
  76   1              _CS1 =1;
  77   1      } 
  78          
  79          
  80          void LCD_CmdWrite(unsigned char index,unsigned int set_db)
  81          {
  82   1      
  83   1         LCD_Index(index);
  84   1         LCD_DataWrite(set_db);
  85   1      }
  86          
  87          void LCD_Reset(void)
  88          {
  89   1          _CS1=0;
  90   1          _RST=1;
  91   1              _RD=1;
  92   1      
  93   1          delay(10);
  94   1              _RST=0;
  95   1              delay(60);
  96   1              _RST=1;
  97   1              delay(10);
  98   1      }
  99          
 100          
 101          
 102          void LCD_Initial1(void)       //initial code 1
 103          {
 104   1         
 105   1      
 106   1              LCD_CmdWrite(0x00,0x0001); 
 107   1              LCD_CmdWrite(0x01,0x0000); 
 108   1              LCD_CmdWrite(0x02,0x0300); 
 109   1              LCD_CmdWrite(0x03,0x10a0); 
 110   1              LCD_CmdWrite(0x04,0x0000); 
 111   1              LCD_CmdWrite(0x08,0x0202); 
 112   1              LCD_CmdWrite(0x09,0x0000); 
 113   1              LCD_CmdWrite(0x0a,0x0000); 
 114   1              LCD_CmdWrite(0x0c,0x0003); 
 115   1              LCD_CmdWrite(0x0d,0x0000); 
 116   1              LCD_CmdWrite(0x0f,0x0000); 
 117   1              LCD_CmdWrite(0x10,0x0000); 
C51 COMPILER V7.06   9320OK                                                                07/17/2007 10:36:22 PAGE 3   

 118   1              LCD_CmdWrite(0x11,0x0007); 
 119   1              LCD_CmdWrite(0x12,0x0000); 
 120   1              LCD_CmdWrite(0x13,0x0000); 
 121   1              delay(10);
 122   1              LCD_CmdWrite(0x10,0x17b0); 
 123   1              LCD_CmdWrite(0x11,0x0007); 
 124   1              delay(10);
 125   1              LCD_CmdWrite(0x12,0x011d); 
 126   1              LCD_CmdWrite(0x13,0x1500); 
 127   1              LCD_CmdWrite(0x29,0x000a); 
 128   1              LCD_CmdWrite(0x20,0x0000); 
 129   1              LCD_CmdWrite(0x21,0x0000); 
 130   1              LCD_CmdWrite(0x30,0x0000); 
 131   1              LCD_CmdWrite(0x31,0x0505); 
 132   1              LCD_CmdWrite(0x32,0x0004); 
 133   1              LCD_CmdWrite(0x35,0x0006); 
 134   1              LCD_CmdWrite(0x36,0x0707); 
 135   1              LCD_CmdWrite(0x37,0x0105); 
 136   1              LCD_CmdWrite(0x38,0x0002); 
 137   1              LCD_CmdWrite(0x39,0x0707); 
 138   1              LCD_CmdWrite(0x3c,0x0704); 
 139   1              LCD_CmdWrite(0x3d,0x0807); 
 140   1              LCD_CmdWrite(0x60,0x2700); 
 141   1              LCD_CmdWrite(0x61,0x0001); 
 142   1              LCD_CmdWrite(0x07,0x0173); 
 143   1      }
 144          
 145          //----------------------------------------------------------------------
 146          
 147          
 148          void Checker(unsigned int param1,unsigned int param2) //Full on,off,checkerboard,bar
 149          {
 150   1          LCD_Index(0x22);
 151   1          for(page=0;page<DisplayCol;page++)
 152   1              {
 153   2                      for(seg=0;seg<DisplaySeg;seg++)
 154   2                      {
 155   3                         if(seg%2) 
 156   3                         {
 157   4                           LCD_DataWrite(param1);
 158   4                         }
 159   3                  else 
 160   3                              {
 161   4                                LCD_DataWrite(param2);
 162   4                      }
 163   3                      }
 164   2              }
 165   1      }
 166          
 167          
 168          void test(void)  //test
 169          {
 170   1              for(page=0;page<DisplayCol;page++)
 171   1              {
 172   2                      for(seg=0;seg<DisplaySeg;seg++)
 173   2                       {
 174   3                       if (page<3) 
 175   3                                         {
 176   4                                           LCD_DataWrite(0xffff);
 177   4                                               delay(10);
 178   4                                         }
 179   3                       else 
C51 COMPILER V7.06   9320OK                                                                07/17/2007 10:36:22 PAGE 4   

 180   3                                           LCD_DataWrite(0x0000);
 181   3                       }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -