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

📄 ra8820.lst

📁 RA8820 DRIVER
💻 LST
字号:
C51 COMPILER V7.02b   RA8820                                                               12/26/2005 13:06:04 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE RA8820
OBJECT MODULE PLACED IN RA8820.OBJ
COMPILER INVOKED BY: C:\Keil\C51\Bin\c51.exe RA8820.c DB OE SMALL ROM(LARGE)

stmt level    source

   1          /*jcg160160a02-01.c*/
   2          #include <stdio.h>
   3          #include <INTRINS.H>
   4          #include <REG52.H>
   5          
   6          #include"jcg160160a.txt"
   7          #include"jcg160160b.txt"
   8          #include"jcg160160c.txt"
   9          #include"jcg160160d.txt"
  10          sbit RST=P1^4;
  11          sbit CS1= P1^3;
  12          sbit E= P1^0;
  13          sbit RW=P1^1;
  14          sbit RS=P1^2;
  15          
  16          #define LCD_Command P0
  17          #define LCD_Data    P0
  18          
  19          
  20          void DelayXms(unsigned int i)
  21          {
  22   1              unsigned char a;
  23   1              unsigned int b;
  24   1              for(b=0;b<i;b++)
  25   1              for(a=0;a<255;a++);
  26   1      }
  27          
  28          void DelayXs(unsigned char i)
  29          {
  30   1              unsigned char a;
  31   1              for(a=0;a<i;a++)
  32   1              DelayXms(1000);
  33   1      }
  34          
  35          void LCD_Reset(void)  
  36          {
  37   1      //CS1=0;
  38   1      //CS2=1;
  39   1      RST = 1;
  40   1      DelayXms(20);//10
  41   1      RST = 0;
  42   1      DelayXms(30);//50
  43   1      RST = 1;
  44   1      DelayXms(50);//150
  45   1      
  46   1      }
  47          
  48          void LCD_CmdWrite(unsigned char Cmd_Data)  
  49          {
  50   1      /*LCD_ChkBusy();   */          //Call LCD_ChkBusy to Check Busy Bit
  51   1      LCD_Command = Cmd_Data;
  52   1      
  53   1      //CS1=0;
  54   1      RST=1;
  55   1      RS=1;
C51 COMPILER V7.02b   RA8820                                                               12/26/2005 13:06:04 PAGE 2   

  56   1      RW=0;
  57   1      
  58   1      E=1;
  59   1      _nop_();
  60   1      _nop_();
  61   1      E=0;
  62   1      _nop_();
  63   1      _nop_();
  64   1      
  65   1      RW=1;
  66   1      RS=1;
  67   1      
  68   1      }
  69          
  70          void LCD_DataWrite(unsigned char Data_Data)  
  71          {
  72   1      /*LCD_ChkBusy();*/       //Call LCD_ChkBusy to Check Busy Bit
  73   1      LCD_Data = Data_Data;
  74   1      
  75   1      //CS1=0;
  76   1      RST=1;
  77   1      RS=0;
  78   1      RW=0;
  79   1      //E=0;
  80   1      
  81   1      E=1;
  82   1      _nop_();
  83   1      _nop_();
  84   1      E=0;
  85   1      _nop_();
  86   1      _nop_();
  87   1      
  88   1      RW=1;
  89   1      RS=1;
  90   1      }
  91          
  92          unsigned char LCD_CmdRead(unsigned char REG_Addr)  
  93          {
  94   1      unsigned char REG_READ;
  95   1      LCD_CmdWrite(REG_Addr);
  96   1      
  97   1      RST = 1;
  98   1      RW=1;
  99   1      RS=1;
 100   1      //CS1=0;
 101   1      
 102   1      E=1;
 103   1      _nop_();
 104   1      REG_READ = LCD_Command;
 105   1      _nop_();
 106   1      E=0;
 107   1      RS=1;
 108   1      return REG_READ;
 109   1      }
 110          
 111          void LCD_CursorX(unsigned char Cursor)  
 112          {
 113   1      LCD_CmdWrite(0x60);
 114   1      LCD_CmdWrite(Cursor);
 115   1      } 
 116          
 117          void LCD_CursorY(unsigned char Cursor)  
C51 COMPILER V7.02b   RA8820                                                               12/26/2005 13:06:04 PAGE 3   

 118          {
 119   1      LCD_CmdWrite(0x70);
 120   1      LCD_CmdWrite(Cursor);
 121   1      }
 122          
 123          void LCD_Clear(void)  
 124          {
 125   1          unsigned char REG_TMP;
 126   1          LCD_CmdWrite(0xE0);LCD_CmdWrite(0x00);
 127   1          REG_TMP = LCD_CmdRead(0xF0);
 128   1          REG_TMP &= (0xF7); 
 129   1          REG_TMP |= (0x08);
 130   1          LCD_CmdWrite(0xF0);
 131   1          LCD_CmdWrite(REG_TMP);
 132   1          DelayXms(1);
 133   1      } 
 134          
 135          void writebmp(unsigned char *bmp) 
 136          {    
 137   1        unsigned char i,j;
 138   1          
 139   1            DelayXms(20);
 140   1             LCD_Clear();
 141   1              LCD_CmdWrite(0x0);
 142   1              LCD_CmdWrite(0xC5);
 143   1             for(i=0;i<160;i++)
 144   1              {    LCD_CursorX(0x00);
 145   2                      LCD_CursorY(i);
 146   2                       for(j=0;j<20;j++)
 147   2                       {  
 148   3                        LCD_DataWrite(*bmp++);
 149   3                        
 150   3                       }
 151   2              }
 152   1              DelayXs(10);
 153   1      }
 154          
 155          
 156          
 157          
 158          
 159          
 160          
 161          
 162          init()
 163          {
 164   1              CS1=0;
 165   1          LCD_Reset();
 166   1          DelayXms(50);
 167   1      
 168   1          LCD_CmdWrite(0x00);LCD_CmdWrite(0xC1); /*LCD Controller register*/
 169   1          LCD_CmdWrite(0x08);LCD_CmdWrite(0x4F); /*4f.Misc register*/
 170   1          LCD_CmdWrite(0x10);LCD_CmdWrite(0x23); /*Cursor Controller*/ 
 171   1          LCD_CmdWrite(0x18);LCD_CmdWrite(0x10); /*cursor size register*/
 172   1      
 173   1          LCD_CmdWrite(0x20);LCD_CmdWrite(0x13); /*Active windows set default*/
 174   1          LCD_CmdWrite(0x30);LCD_CmdWrite(0x9F); /*Active windows set default*/
 175   1          LCD_CmdWrite(0x40);LCD_CmdWrite(0x00); /*Active windows set default*/
 176   1          LCD_CmdWrite(0x50);LCD_CmdWrite(0x00); /*Active windows set default*/
 177   1      
 178   1          LCD_CmdWrite(0x28);LCD_CmdWrite(0x13); /*display windows set*/
 179   1          LCD_CmdWrite(0x38);LCD_CmdWrite(0x9F); /*display windows set*/
C51 COMPILER V7.02b   RA8820                                                               12/26/2005 13:06:04 PAGE 4   

 180   1          LCD_CmdWrite(0x48);LCD_CmdWrite(0x00); /*display windows set*/
 181   1          LCD_CmdWrite(0x58);LCD_CmdWrite(0x00); /*display windows set*/
 182   1      
 183   1          LCD_CmdWrite(0x60);LCD_CmdWrite(0x00); /*cursor  position  X register*/
 184   1          LCD_CmdWrite(0x70);LCD_CmdWrite(0x00); /*cursor  position  Y register*/
 185   1      
 186   1          LCD_CmdWrite(0x80);LCD_CmdWrite(0x23); /*Cursor Controller time*/
 187   1          LCD_CmdWrite(0x90);LCD_CmdWrite(0x1D); /*21 shift clock control register*/
 188   1      
 189   1          LCD_CmdWrite(0xB0);LCD_CmdWrite(0x13); /*intx default*///13
 190   1          LCD_CmdWrite(0xA0);LCD_CmdWrite(0x00); /*intr*/
 191   1          LCD_CmdWrite(0xB8);LCD_CmdWrite(0x9F); /*inty default*/
 192   1      
 193   1      
 194   1          LCD_CmdWrite(0xC0);LCD_CmdWrite(0xF0); /*touch panel control register*/
 195   1          LCD_CmdWrite(0xD0);LCD_CmdWrite(0x23); /*LCD contrast adjust register*/
 196   1          LCD_CmdWrite(0xE0);LCD_CmdWrite(0x00); /*pattern dta register*/ 
 197   1          LCD_CmdWrite(0xF0);LCD_CmdWrite(0xA8); /*font control register*/ 
 198   1      
 199   1          LCD_Clear();
 200   1      
 201   1          LCD_CmdWrite(0x10);LCD_CmdWrite(0x3b);
 202   1          LCD_CmdWrite(0x10);LCD_CmdWrite(0x2b);
 203   1      }
 204          
 205          void main(void)
 206          {
 207   1      
 208   1      
 209   1      
 210   1      init();
 211   1      
 212   1      while(1)
 213   1      {
 214   2      writebmp(jcg160160a);
 215   2      writebmp(jcg160160b);
 216   2      writebmp(jcg160160c);
 217   2      writebmp(jcg160160d);
 218   2      }
 219   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    534    ----
   CONSTANT SIZE    =  12800    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       3
   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 + -