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

📄 s6d0118.lst

📁 s6d0118 c program test r g b white grp
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   S6D0118                                                              06/24/2008 21:34:10 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE S6D0118
OBJECT MODULE PLACED IN S6D0118.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE S6D0118.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /****************************************************************************
   2           Controller IC:S6D0118,Hannstar 2.0 TFT
   3           Paraller type:8 bit-8080 interface
   4           
   5           Resolutions:  176*220 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          
  10           Modified date: 2006.09.24
  11          ****************************************************************************/
  12          #include <reg52.h>
  13          #include<intrins.h>
  14          
  15          #define DisplayCol  220   //160
  16          #define DisplaySeg  176   //128
  17          
  18          #define DataPort  P1
  19          #define ContPort  P3
  20          
  21          sbit _RST = P3^0;
  22          sbit _CS1 = P3^5;
  23          sbit  RS  = P3^4;  
  24          sbit _WR  = P3^3;
  25          sbit _RD  = P3^1;  
  26          
  27          //define control key
  28          sbit    STOP = P3^2;
  29          sbit    CONU = P3^6;
  30          sbit    COND = P3^7;
  31          
  32          sbit  PA0=P2^0;
  33          sbit  PA1=P2^1;
  34          sbit  PA2=P2^2;
  35          sbit  FlashChip1Select=P2^3;   //flash memory chip 1
  36          sbit  LBLPowerOn=P2^4;         //backlight DC/DC on 
  37          
  38          unsigned int xdata *ptr;
  39          
  40          
  41          //unsigned char contrast=114;
  42          int Rate=1,contrast=1, frequency=6300;
  43          unsigned char KeyValue;
  44          long time ;
  45          int cycle;
  46          int stand=1000;
  47          
  48          void delay(unsigned int param)
  49          {
  50   1         int i;
  51   1         for(;param>0;param--)
  52   1              for(i=0;i<960;i++);
  53   1      }
  54          
  55          
C51 COMPILER V8.05a   S6D0118                                                              06/24/2008 21:34:10 PAGE 2   

  56          void LCD_Index(unsigned char index)
  57          {
  58   1              _nop_();
  59   1          RS=0;_RD=1;
  60   1          P1=index;
  61   1          _WR=0;
  62   1         delay(0);
  63   1         _WR=1;
  64   1      } 
  65          
  66          void LCD_DataWrite(unsigned int set_db)
  67          {
  68   1              _nop_();
  69   1          RS=1;_RD=1;
  70   1          P1=set_db>>8;
  71   1          _WR=0;
  72   1          delay(0);
  73   1          _WR=1;
  74   1      
  75   1          _nop_();
  76   1          RS=1;_RD=1;
  77   1          P1=set_db;
  78   1          _WR=0;
  79   1          delay(0);
  80   1          _WR=1;
  81   1      } 
  82          
  83          
  84          void LCD_CmdWrite(unsigned char index,unsigned int set_db)
  85          {
  86   1      
  87   1          //INDEX Register set
  88   1          _nop_();
  89   1          RS=0;_RD=1;
  90   1          P1=index;
  91   1          _WR=0;
  92   1          delay(0);
  93   1          _WR=1;
  94   1      
  95   1          _nop_();
  96   1          RS=1;_RD=1;
  97   1          P1=set_db>>8;
  98   1          _WR=0;
  99   1          delay(0);
 100   1          _WR=1;
 101   1      
 102   1          _nop_();
 103   1          RS=1;_RD=1;
 104   1          P1=set_db;
 105   1          _WR=0;
 106   1          delay(0);
 107   1          _WR=1;      
 108   1      }
 109          
 110          void LCD_Reset(void)
 111          {
 112   1          _CS1=0;
 113   1          _RST=1;
 114   1          delay(10);
 115   1              _RST=0;
 116   1              delay(60);
 117   1              _RST=1;
C51 COMPILER V8.05a   S6D0118                                                              06/24/2008 21:34:10 PAGE 3   

 118   1              delay(10);
 119   1      }
 120          
 121          void Power_set(void)    //Power setting
 122          {
 123   1         LCD_CmdWrite(0x00,0x0001); //osc start ---by YY 2006-9-28
 124   1         delay(40);
 125   1         //LCD_CmdWrite(0x12,0x00b3); //
 126   1         LCD_CmdWrite(0x11,0x3000); //power control:PON=0,,PON1=0,AON=0
 127   1         LCD_CmdWrite(0x14,0x1c12); //power control 
 128   1         //LCD_CmdWrite(0x0b,0x0000); //Frame cycle control
 129   1      
 130   1         LCD_CmdWrite(0x10,0x2900); //power control 
 131   1         delay(50);
 132   1      
 133   1         LCD_CmdWrite(0x13,0x0040); //power control :PON=1,PON1=0,AON=0
 134   1         delay(10);
 135   1         LCD_CmdWrite(0x13,0x0060); //power control :PON=1,PON1=1,AON=0
 136   1         delay(10);
 137   1         LCD_CmdWrite(0x13,0x0070); //power control :PON=1,PON1=1,AON=1
 138   1         delay(100);
 139   1         LCD_CmdWrite(0x11,0x3004); //power control:PON=0,,PON1=0,AON=0
 140   1         LCD_CmdWrite(0x10,0x2d00); //power control
 141   1         delay(20);
 142   1      }
 143          
 144          
 145          void LCD_Initial1(void)       //initial code 1
 146          {
 147   1          LCD_CmdWrite(0x01,0x071d);//Driver Output Control  071b
 148   1                                        //0000 0xxx 000x xxxx---0000 0001 0001 1101
 149   1                                    //SM=1,GS=0,SS=1,NL[4:0]=1 0101---176*220 pixels
 150   1      
 151   1              LCD_CmdWrite(0x02,0x0700);//LCD-Driving Waveform Control
 152   1                                        //0000 xxxx 00xx xxxx---0000 0100 0000 0000
 153   1                                    //FLD[1:0]=01,B/C=0,EOR=0,NW[5:0]=000000
 154   1      
 155   1              LCD_CmdWrite(0x03,0x1030);//Entry Mode
 156   1          LCD_CmdWrite(0x07,0x0004); //GON=0,DTE=0,D[1:0]=01
 157   1          LCD_CmdWrite(0x08,0x0808);//display control---blink control 
 158   1              LCD_CmdWrite(0x09,0x0000);
 159   1          LCD_CmdWrite(0x0b,0x0000);
 160   1          LCD_CmdWrite(0x0c,0x0000);//display interface selection:16-bit RGB 
 161   1      }
 162          
 163          void Gamma_Control(void)    //Gamma control
 164          {
 165   1         //MP[5:0]([2:0]):gamma adjustment register for positive polarity output
 166   1          
 167   1          LCD_CmdWrite(0x30,0x0102);   //Gamma Control
 168   1              LCD_CmdWrite(0x31,0x0707);   //Gamma Control
 169   1              LCD_CmdWrite(0x32,0x0101);   //Gamma Control
 170   1              LCD_CmdWrite(0x33,0x0200);   //Gamma Control
 171   1      
 172   1              LCD_CmdWrite(0x34,0x0506);   //Gamma Control
 173   1              LCD_CmdWrite(0x35,0x0707);   //Gamma Control
 174   1              LCD_CmdWrite(0x36,0x0304);   //Gamma Control
 175   1              LCD_CmdWrite(0x37,0x0200);   //Gamma Control
 176   1      
 177   1              LCD_CmdWrite(0x38,0x1802);   //Gamma Control
 178   1              LCD_CmdWrite(0x39,0x0800);   //Gamma Control
 179   1      }
C51 COMPILER V8.05a   S6D0118                                                              06/24/2008 21:34:10 PAGE 4   

 180          
 181          
 182          void LCD_Initial2(void)       //initial code 2
 183          {
 184   1          LCD_CmdWrite(0x40,0x0000);//Gate Scan Position
 185   1              LCD_CmdWrite(0x41,0x0000);//
 186   1              LCD_CmdWrite(0x42,0xe50a);//Screen Driving Position
 187   1              LCD_CmdWrite(0x43,0x0000);//Screen Driving Position
 188   1              LCD_CmdWrite(0x44,0xaf00);//Horzontal RAM Address Position:176
 189   1              LCD_CmdWrite(0x45,0xe50a);//Vertical Address Position:220
 190   1              delay(10);
 191   1      
 192   1          //LCD_CmdWrite(0x61,0x0018);//Oscillator control
 193   1              //LCD_CmdWrite(0x69,0x0000);//DC-DC control 
 194   1              //LCD_CmdWrite(0x70,0x0000);//source period setting
 195   1              //LCD_CmdWrite(0x71,0x0000);//gate period setting 
 196   1      }
 197          
 198          
 199          void Display_ON(void)  //display on 
 200          {
 201   1         LCD_CmdWrite(0x07,0x0014); //GON=0,DTE=0,D[1:0]=01
 202   1         delay(2);
 203   1         LCD_CmdWrite(0x07,0x0016); //GON=1,DTE=0,D[1:0]=01
 204   1         delay(40);
 205   1         LCD_CmdWrite(0x07,0x0017); //GON=1,DTE=0,D[1:0]=11
 206   1         delay(40);
 207   1        
 208   1         //display on status
 209   1         LCD_CmdWrite(0x21,0x0a00); //0000 0000 0000 0000
 210   1         LCD_Index(0x22);
 211   1      }
 212          
 213          void Display_Off(void)  //display off
 214          {
 215   1         LCD_CmdWrite(0x07,0x0016); 
 216   1         delay(40);
 217   1         LCD_CmdWrite(0x07,0x0000); 
 218   1      }
 219          

⌨️ 快捷键说明

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