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

📄 sc52x+

📁 SC52X开发板1.8寸SPI彩屏
💻
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V6.12  ST7735                                                                 08/09/2012 16:04:01 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE ST7735
OBJECT MODULE PLACED IN .\Out Hex\ST7735.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Program\ST7735.c BROWSE DEBUG OBJECTEXTEND PRINT(.\Out Hex\ST7735.lst) OBJE
                    -CT(.\Out Hex\ST7735.obj) 

stmt level    source

   1          
   2          //     
   3          /***************************************************/
   4          
   5          #include<reg51.h>
   6          #include<absacc.h>
   7          #include<intrins.h>
   8          #include<string.h>
   9          #define uchar unsigned char
  10          #define uint unsigned int
  11          
  12          sbit cs        =P0^3;
  13          sbit rs        =P0^0;
  14          sbit sda       =P0^1;
  15          sbit scl       =P0^2;
  16          sbit reset     =P1^7; 
  17          
  18          sbit aa=P1^0;
  19          sbit bb=P1^1;
  20          sbit cc=P1^2;
  21          sbit dd=P1^3;
  22          
  23          sbit ConAdd    =P3^1;
  24          sbit ConSub    =P3^0;
  25          sbit PAUSE     =P3^3;
  26          
  27          sbit Type      =P3^5; //0-成品检测,1-半成品检测
  28          sbit Mtp       =P3^2;  //MTP Burn
  29          
  30          
  31          uchar code map1[];
  32          uchar code map2[];
  33          
  34          uchar bdata bitdata;
  35          sbit bit7=bitdata^7;
  36          sbit bit6=bitdata^6;
  37          sbit bit5=bitdata^5;
  38          sbit bit4=bitdata^4;
  39          sbit bit3=bitdata^3;
  40          sbit bit2=bitdata^2;
  41          sbit bit1=bitdata^1;
  42          sbit bit0=bitdata^0;
  43          
  44          void  OTP_Program();
  45          void  delay(uint t);
  46          void  Contrast_Adjust();
  47          uchar code Zk_ASCII8X16[];
  48          
  49          void Display_Desc();
  50          void Output_Pixel(uint x,uint y);
  51          void Display_ASCII8X16(uint x0,uint y0,uchar *s);
  52          void Test_FinshGoods();
  53          void Test_HalfFinshGoods();
  54          void EEPROM_ERASE();
C51 COMPILER V6.12  ST7735                                                                 08/09/2012 16:04:01 PAGE 2   

  55          void EEPROM_Writing();
  56          
  57          void delay(uint time)
  58          {
  59   1       uint i,j;
  60   1        for(i=0;i<time;i++)
  61   1         for(j=0;j<250;j++);
  62   1      }
  63          
  64          void Pause() interrupt 2
  65          {
  66   1          delay(100);
  67   1          while(!PAUSE);
  68   1          delay(100);
  69   1          while(PAUSE);
  70   1          delay(100);
  71   1          while(!PAUSE);
  72   1          delay(100);
  73   1      }
  74          
  75          
  76          
  77          void LCD_CtrlWrite_IC(uchar c)
  78          {
  79   1      bitdata=c;
  80   1      cs=0;
  81   1      rs=0;
  82   1      sda=bit7;scl=0;scl=1;
  83   1      sda=bit6;scl=0;scl=1;
  84   1      sda=bit5;scl=0;scl=1;
  85   1      sda=bit4;scl=0;scl=1;
  86   1      sda=bit3;scl=0;scl=1;
  87   1      sda=bit2;scl=0;scl=1;
  88   1      sda=bit1;scl=0;scl=1;
  89   1      sda=bit0;scl=0;scl=1;
  90   1      cs=1;
  91   1      
  92   1      
  93   1      }
  94          void  LCD_DataWrite_IC(uchar d)  
  95          {
  96   1      
  97   1      bitdata=d;
  98   1      cs=0;
  99   1      rs=1;
 100   1      sda=bit7;scl=0;scl=1;
 101   1      sda=bit6;scl=0;scl=1;
 102   1      sda=bit5;scl=0;scl=1;
 103   1      sda=bit4;scl=0;scl=1;
 104   1      sda=bit3;scl=0;scl=1;
 105   1      sda=bit2;scl=0;scl=1;
 106   1      sda=bit1;scl=0;scl=1;
 107   1      sda=bit0;scl=0;scl=1;
 108   1      cs=1;
 109   1      }
 110          
 111          void LCD_DataWrite(uchar LCD_DataH,uchar LCD_DataL)
 112          {
 113   1      LCD_DataWrite_IC(LCD_DataH);
 114   1      LCD_DataWrite_IC(LCD_DataL);
 115   1      }
 116          
C51 COMPILER V6.12  ST7735                                                                 08/09/2012 16:04:01 PAGE 3   

 117          
 118          void  write_command(uchar c)
 119          {
 120   1      bitdata=c;
 121   1      cs=0;
 122   1      rs=0;
 123   1      sda=bit7;scl=0;scl=1;
 124   1      sda=bit6;scl=0;scl=1;
 125   1      sda=bit5;scl=0;scl=1;
 126   1      sda=bit4;scl=0;scl=1;
 127   1      sda=bit3;scl=0;scl=1;
 128   1      sda=bit2;scl=0;scl=1;
 129   1      sda=bit1;scl=0;scl=1;
 130   1      sda=bit0;scl=0;scl=1;
 131   1      cs=1;      
 132   1      }
 133          
 134          void  write_data(uchar d)
 135          {
 136   1      bitdata=d;
 137   1      cs=0;
 138   1      rs=1;
 139   1      sda=bit7;scl=0;scl=1;
 140   1      sda=bit6;scl=0;scl=1;
 141   1      sda=bit5;scl=0;scl=1;
 142   1      sda=bit4;scl=0;scl=1;
 143   1      sda=bit3;scl=0;scl=1;
 144   1      sda=bit2;scl=0;scl=1;
 145   1      sda=bit1;scl=0;scl=1;
 146   1      sda=bit0;scl=0;scl=1;
 147   1      cs=1;
 148   1      }
 149          
 150          //////////////////////////////////////////////////////////////////////////////////////////////
 151          
 152          void lcd_initial()
 153          {
 154   1      
 155   1         reset=0;
 156   1         delay(100);
 157   1         reset=1;
 158   1         delay(100);
 159   1      
 160   1      //------------------------------------------------------------------//  
 161   1      //-------------------Software Reset-------------------------------//
 162   1      
 163   1      write_command(0x11);//Sleep exit 
 164   1      delay (120);
 165   1       
 166   1      //ST7735R Frame Rate  帧速率设置
 167   1      write_command(0xB1); //正常模式全色彩
 168   1      write_data(0x02); write_data(0x2C); write_data(0x2D); 
 169   1      write_command(0xB2);//在待机模式
 170   1      write_data(0x02); write_data(0x2C); write_data(0x2D); 
 171   1      write_command(0xB3);//在部分模式全彩 
 172   1      write_data(0x02); write_data(0x2C); write_data(0x2D); 
 173   1      write_data(0x02); write_data(0x2C); write_data(0x2D); 
 174   1      
 175   1      write_command(0xB4); //Column inversion  显示逆控制 
 176   1      write_data(0x07); 
 177   1       
 178   1      //ST7735R Power Sequence
C51 COMPILER V6.12  ST7735                                                                 08/09/2012 16:04:01 PAGE 4   

 179   1      write_command(0xC0);//功率控制1
 180   1      write_data(0xA2); write_data(0x02); write_data(0x84); 
 181   1      write_command(0xC1); write_data(0xC5); //功率控制2
 182   1      write_command(0xC2); //功率控制3 (正常模式/全彩)
 183   1      write_data(0x06); write_data(0x00); 
 184   1      write_command(0xC3);//控制功率4在空闲模式
 185   1      write_data(0x8A); write_data(0x2A); 
 186   1      write_command(0xC4);//功率控制5在部分模式/全彩
 187   1      write_data(0x8A); write_data(0xEE); 
 188   1       
 189   1      write_command(0xC5); //VCOM 控制11
 190   1      write_data(0x0E); 
 191   1       
 192   1      write_command(0x36); //MX, MY, RGB mode 
 193   1      write_data(0xC8); 
 194   1      
 195   1      //ST7735R Gamma Sequence +伽码校正特性设置
 196   1      write_command(0xe0); 
 197   1      write_data(0x0f); write_data(0x1a); 
 198   1      write_data(0x0f); write_data(0x18); 
 199   1      write_data(0x2f); write_data(0x28); 
 200   1      write_data(0x20); write_data(0x22); 
 201   1      write_data(0x1f); write_data(0x1b); 
 202   1      write_data(0x23); write_data(0x37); write_data(0x00); 
 203   1      
 204   1      write_data(0x07); 
 205   1      write_data(0x02); write_data(0x10); 
 206   1      write_command(0xe1);//-伽码校正特性设置 
 207   1      write_data(0x0f); write_data(0x1b); 
 208   1      write_data(0x0f); write_data(0x17); 
 209   1      write_data(0x33); write_data(0x2c); 
 210   1      write_data(0x29); write_data(0x2e); 
 211   1      write_data(0x30); write_data(0x30); 
 212   1      write_data(0x39); write_data(0x3f); 
 213   1      write_data(0x00); write_data(0x07); 
 214   1      write_data(0x03); write_data(0x10);  
 215   1      
 216   1      write_command(0x2a);//列地址设置
 217   1      write_data(0x00);write_data(0x00);
 218   1      write_data(0x00);write_data(0x7f);
 219   1      write_command(0x2b);//行地址设置
 220   1      write_data(0x00);write_data(0x00);
 221   1      write_data(0x00);write_data(0x9f);
 222   1      
 223   1      write_command(0xF0); //Enable test command  使能测试命令
 224   1      write_data(0x01); 
 225   1      write_command(0xF6); //Disable ram power save mode 
 226   1      write_data(0x00); 
 227   1       

⌨️ 快捷键说明

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