亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? test1.lst

?? TFT彩色液晶屏的SPI接口的驅動程序
?? LST
字號:
C51 COMPILER V8.02   TEST1                                                                 04/06/2008 15:54:51 PAGE 1   


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

line level    source

   1          /***************************************************************
   2          * Drscription   : TFT Lcd demo
   3          * Driver                : ILI9320 or compatible
   4          * MCU                   : stc89LE52 
   5          * Voltage               : 3.3V
   6          * Interface             : 16bits parallel interface
   7          *
   8          ***************************************************************
   9          *
  10          * Author                : zjq in ShenZhen 
  11          * Data                  : 04-06-08
  12          * Email                 : Crazyzjq@126.com
  13          * History               : Spi works well,but it's so slow 
  14          ***************************************************************/
  15          
  16          #include "stdio.h"
  17          #include "reg51.h"
  18          
  19          #define DATA_L P2
  20          #define DATA_H P1
  21          
  22          #define _SPI 0
  23          
  24          //for SPI 
  25          #ifdef _SPI
  26          sbit  CS = P1^1;
  27          sbit  DI = P1^4;
  28          sbit  DO = P1^0;
  29          
  30          sbit  CLK = P1^2;
  31          sbit  RST = P1^3;
  32          #else
              //for 16bits
              sbit  CS  = P3^3;
              sbit  RST = P3^5;
              sbit  RS  = P3^4;
              #endif
  38          
  39          /**************************************************************************
  40          *
  41          *   Just for SPI to write a byte to Lcd
  42          *
  43          ***************************************************************************/
  44          #ifdef _SPI
  45          void LCD_WriteByte(unsigned char dat)
  46          {
  47   1              unsigned char i;
  48   1      
  49   1          for(i=0;i<8;i++)
  50   1              {
  51   2                      CLK = 0;
  52   2                  dat<<=1;
  53   2                      DI = CY;
  54   2                      CLK = 1;
  55   2          }
C51 COMPILER V8.02   TEST1                                                                 04/06/2008 15:54:51 PAGE 2   

  56   1      }
  57          #endif
  58          
  59            #define START_BYTE  0x70 
  60            #define SET_INDEX   0x00 
  61            #define READ_STATUS 0x01 
  62            #define WRITE_REG   0x02 
  63            #define READ_REG    0x03 
  64          
  65          
  66          void  LCD_WriteRegIndex(unsigned char index) /* Select GRAM Reg */ 
  67          
  68          {
  69   1              CS = 0;
  70   1          LCD_WriteByte(START_BYTE|SET_INDEX);//for register index
  71   1          LCD_WriteByte(0);    //lower byte first
  72   1          LCD_WriteByte(index);
  73   1              CS = 1;
  74   1      
  75   1      }
  76          
  77          /****************************************************************************
  78          *
  79          *       Write a byte to register index and the parameter to 
  80          *       the register
  81          *
  82          ****************************************************************************/
  83          void LCD_WriteReg(unsigned char index,unsigned int val)
  84          {
  85   1      
  86   1      #ifdef _SPI
  87   1          LCD_WriteRegIndex(index);
  88   1      
  89   1              CS = 0;
  90   1          LCD_WriteByte(START_BYTE|WRITE_REG);
  91   1          LCD_WriteByte(val>>8);
  92   1          LCD_WriteByte(val&0xff);
  93   1          CS = 1;
  94   1      
  95   1      #else
                      CS = 0;
                      RS = 0;
                      DATA_L = index; //low
                      DATA_H = 0;
                      WR = 0;
                      WR = 1;
              
                  RS = 1;
                      DATA_L = (unsigned char)val; //low
                      DATA_H = (unsigned char )(val>>8);
                  WR = 0;
                      WR = 1;
                      CS = 1;
              #endif
 110   1      }
 111          
 112          /****************************************************************************
 113          *
 114          * command for Write data 
 115          *
 116          *****************************************************************************/
 117          void Lcd_Write_Start()
C51 COMPILER V8.02   TEST1                                                                 04/06/2008 15:54:51 PAGE 3   

 118          {
 119   1      #ifdef _SPI
 120   1            LCD_WriteRegIndex(0x22); /* Select GRAM Reg */ 
 121   1            CS = 0; 
 122   1            LCD_WriteByte(START_BYTE|WRITE_REG);
 123   1      #else
                  CS = 0;
                      RS = 0;
                      DATA_L = 0x22;
                      DATA_H = 0x00;
                  WR = 0;
                      WR = 1;
                      RS = 1;
              #endif
 132   1      }
 133          
 134          /****************************************************************************
 135          *
 136          *  Write one word to Lcd 
 137          *
 138          *****************************************************************************/
 139          void LCD_WriteData(unsigned int val)
 140          {
 141   1      
 142   1      #ifdef _SPI
 143   1      //  Lcd_Write_Start();
 144   1          LCD_WriteByte(val>>8);
 145   1          LCD_WriteByte(val&0xff);
 146   1      #else
                      DATA_L = (unsigned char)val;
                      DATA_H = (unsigned char)(val>>8);
              
                      WR = 0;
                      WR = 1;
              #endif
 153   1      }
 154          
 155          void Lcd_Write_End()
 156          {
 157   1              CS = 1;
 158   1      }
 159          
 160          
 161          void delay(unsigned int n)
 162          {
 163   1              unsigned int i;
 164   1      
 165   1              for(i=0;i<n;i++);
 166   1      }
 167          
 168          void Lcd_Init()
 169          {
 170   1              RST = 0;
 171   1              delay(2000);
 172   1          RST = 1;
 173   1              delay(2000);
 174   1      
 175   1              LCD_WriteReg(0xe5, 0x8000); /* Set the internal vcore voltage */ 
 176   1              LCD_WriteReg(0x00, 0x0001); /* Start internal OSC. */ 
 177   1              LCD_WriteReg(0x01, 0x0100); /* set SS and SM bit */ 
 178   1              LCD_WriteReg(0x02, 0x0700); /* set 1 line inversion */ 
 179   1              LCD_WriteReg(0x03, 0x1230);  /* set GRAM write direction */ 
C51 COMPILER V8.02   TEST1                                                                 04/06/2008 15:54:51 PAGE 4   

 180   1      
 181   1              LCD_WriteReg(0x04, 0x0000); /* Resize register */ 
 182   1              LCD_WriteReg(0x08, 0x0202); /* set the back porch and front porch */ 
 183   1              LCD_WriteReg(0x09, 0x0000); /* set non-display area refresh cycle ISC[3:0] */ 
 184   1              LCD_WriteReg(0x10, 0x0000); /* FMARK function */ 
 185   1        
 186   1              LCD_WriteReg(0x0c, 0x0000); /* RGB interface setting */ 
 187   1              LCD_WriteReg(0x0d, 0x0000); /* Frame marker Position */ 
 188   1              LCD_WriteReg(0x0f, 0x0000); /* RGB interface polarity */ 
 189   1      
 190   1      /* Adjust the Gamma Curve ----------------------------------------------------*/ 
 191   1              LCD_WriteReg(0x50, 0x0000);
 192   1              LCD_WriteReg(0x51, 0x00ef);
 193   1              LCD_WriteReg(0x52, 0x0000);
 194   1              LCD_WriteReg(0x53, 0x013f);
 195   1              LCD_WriteReg(0x60, 0x2700);
 196   1              LCD_WriteReg(0x61, 0x0001);
 197   1              LCD_WriteReg(0x6a, 0x0000);
 198   1      
 199   1      /* Set GRAM area -------------------------------------------------------------*/ 
 200   1              LCD_WriteReg(0x80, 0x0000);/* Horizontal GRAM Start Address */
 201   1              LCD_WriteReg(0x81, 0x0000);/* Horizontal GRAM End Address */ 
 202   1              LCD_WriteReg(0x82, 0x0000);/* Vertical GRAM Start Address */
 203   1              LCD_WriteReg(0x83, 0x0000);/* Vertical GRAM End Address */ 
 204   1      
 205   1      /* Power On sequence ---------------------------------------------------------*/ 
 206   1              LCD_WriteReg(0x10, 0x17b0);
 207   1              LCD_WriteReg(0x11, 0x0004);
 208   1              delay(50);
 209   1              LCD_WriteReg(0x12, 0x013e);
 210   1              delay(50);
 211   1              LCD_WriteReg(0x13, 0x1f00);/* Frame marker Position */
 212   1              LCD_WriteReg(0x29, 0x000f);
 213   1              delay(50);
 214   1      
 215   1              LCD_WriteReg(0x32, 0x0000); /* GRAM horizontal Address */ 
 216   1          LCD_WriteReg(0x33, 0x0000); /* GRAM Vertical Address */ 
 217   1      
 218   1          LCD_WriteReg(0x07, 0x0173); /* 262K color and display ON */ 
 219   1      
 220   1      }
 221          
 222          void Lcd_test()
 223          {
 224   1              unsigned int i,j;
 225   1              Lcd_Write_Start();
 226   1              for(i=0;i<320;i++)
 227   1                      for(j=0;j<240;j++)
 228   1                      {
 229   2                              if(i>279)LCD_WriteData(0x0000);
 230   2                              else if(i>239)LCD_WriteData(0x001f);
 231   2                              else if(i>199)LCD_WriteData(0x07e0);
 232   2                              else if(i>159)LCD_WriteData(0x07ff);
 233   2                              else if(i>119)LCD_WriteData(0xf800);
 234   2                              else if(i>79)LCD_WriteData(0xf81f);
 235   2                              else if(i>39)LCD_WriteData(0xffe0);
 236   2                              else LCD_WriteData(0xffff);
 237   2                      }
 238   1              Lcd_Write_End();
 239   1      }
 240          
 241          
C51 COMPILER V8.02   TEST1                                                                 04/06/2008 15:54:51 PAGE 5   

 242          void main()
 243          {
 244   1              Lcd_Init();
 245   1              Lcd_test();
 246   1              while(1);
 247   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    533    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频一区二区| 日韩在线观看一区二区| 日韩—二三区免费观看av| 亚洲午夜在线视频| 99热这里都是精品| 亚洲女同ⅹxx女同tv| 99久久er热在这里只有精品15| 亚洲精品ww久久久久久p站| 欧美伊人久久大香线蕉综合69 | 欧美成人性战久久| 国产一区在线精品| 中文字幕日韩一区| 欧美日精品一区视频| 伦理电影国产精品| 亚洲欧美在线视频观看| 欧亚一区二区三区| 日本成人在线不卡视频| 国产日产欧产精品推荐色| 91美女视频网站| 麻豆专区一区二区三区四区五区| 亚洲国产精品成人综合| 欧美视频在线一区| 国产一区亚洲一区| 亚洲国产成人高清精品| 久久精品人人爽人人爽| 色婷婷综合久久| 美女网站色91| 亚洲黄网站在线观看| 欧美成人乱码一区二区三区| 99久久国产综合精品色伊| 蜜桃免费网站一区二区三区| 中文字幕一区二区不卡| 欧美一级欧美三级在线观看| 91蜜桃视频在线| 国产精品一区二区在线观看不卡| 亚洲一区二区三区四区五区中文| 26uuu国产在线精品一区二区| 91在线视频免费观看| 美女视频一区在线观看| 亚洲精品乱码久久久久久| 久久久激情视频| 欧美浪妇xxxx高跟鞋交| 99热这里都是精品| 国产自产v一区二区三区c| 亚洲一二三四区| 国产精品成人免费在线| 久久久久久久免费视频了| 欧美日韩国产一区| 成人av影视在线观看| 国产精品中文字幕欧美| 日一区二区三区| 一区二区三区在线视频免费| 国产精品狼人久久影院观看方式| 精品av综合导航| 制服丝袜国产精品| 欧美日韩国产综合一区二区三区 | 极品少妇xxxx偷拍精品少妇| 亚洲h动漫在线| 亚洲乱码中文字幕| 国产精品美女视频| 国产欧美一区二区三区在线老狼| 日韩精品在线一区二区| 91麻豆精品91久久久久同性| 色婷婷综合久久久中文一区二区 | 午夜精品久久久久久久99樱桃| 亚洲欧洲另类国产综合| 中文字幕国产精品一区二区| 国产三级三级三级精品8ⅰ区| 日韩视频一区二区在线观看| 欧美日韩国产首页在线观看| 色拍拍在线精品视频8848| 99久久精品费精品国产一区二区| www.欧美日韩| 91免费观看在线| 97久久久精品综合88久久| 波多野结衣91| 色综合久久久久久久久久久| 91亚洲精品一区二区乱码| 成人精品国产福利| 91视频www| 欧美日韩在线一区二区| 欧美日韩www| 日韩免费成人网| 久久综合九色综合97_久久久 | 国产精品福利在线播放| 中文字幕一区免费在线观看| 亚洲欧美日韩国产综合| 亚洲国产成人91porn| 欧美aaaaaa午夜精品| 美国十次了思思久久精品导航| 久久99久久99| 成人av在线资源网站| 色综合网色综合| 欧美日韩久久一区二区| 欧美成人乱码一区二区三区| 国产欧美一区二区三区鸳鸯浴| 亚洲天堂精品在线观看| 亚洲高清中文字幕| 精品影院一区二区久久久| 国产成人av资源| 91福利在线播放| 日韩精品一区二区三区蜜臀 | 国产婷婷一区二区| 亚洲人被黑人高潮完整版| 亚洲成av人片一区二区梦乃| 韩国毛片一区二区三区| 91在线一区二区| 这里只有精品免费| 国产欧美日韩中文久久| 亚洲综合小说图片| 精品一区二区三区免费观看| 91亚洲永久精品| 亚洲精品在线一区二区| 亚洲欧美偷拍另类a∨色屁股| 天堂一区二区在线| 成人毛片在线观看| 欧美精品第1页| 亚洲国产精品精华液2区45| 亚洲影院久久精品| 国产风韵犹存在线视精品| 欧美视频三区在线播放| 久久久综合精品| 日韩综合在线视频| 91亚洲精品一区二区乱码| 精品免费日韩av| 亚洲国产sm捆绑调教视频| 成人妖精视频yjsp地址| 欧美一区二区免费视频| 成人免费在线观看入口| 精品一区二区国语对白| 欧美撒尿777hd撒尿| 国产精品另类一区| 久久99久久99| 欧美美女一区二区三区| |精品福利一区二区三区| 久久超级碰视频| 欧美日韩在线三级| 亚洲欧美另类久久久精品| 国产伦精品一区二区三区免费迷| 色婷婷亚洲婷婷| 国产精品久久久久久久久免费丝袜 | 国产成人免费在线观看| 欧美久久久久久蜜桃| 一区二区在线观看av| 成人精品gif动图一区| 欧美一级淫片007| 亚洲国产毛片aaaaa无费看| thepron国产精品| 国产三级精品三级在线专区| 精品在线一区二区三区| 日韩一区二区在线看片| 日韩成人伦理电影在线观看| 91久久精品国产91性色tv| 亚洲欧洲制服丝袜| 91色.com| 亚洲精品日韩一| 91色综合久久久久婷婷| 国产精品美女久久久久久久久| 国产精品1024久久| 国产亚洲欧美激情| 国产aⅴ综合色| 久久精品欧美日韩精品| 国产精品1024| 久久久久久麻豆| 国产高清视频一区| 久久久精品综合| 成人午夜短视频| 亚洲同性同志一二三专区| 99久久国产综合精品麻豆| 亚洲视频在线一区二区| 日本精品免费观看高清观看| 亚洲品质自拍视频| 在线精品视频免费观看| 亚瑟在线精品视频| 欧美日韩激情一区二区三区| 一区二区三区在线播| 欧美乱熟臀69xxxxxx| 日韩成人午夜电影| 精品久久久久久综合日本欧美| 久久成人麻豆午夜电影| 国产日韩欧美精品电影三级在线| 成年人午夜久久久| 亚洲视频你懂的| 欧洲av在线精品| 青娱乐精品视频在线| 久久久蜜桃精品| 91美女片黄在线观看| 亚洲一区二区中文在线| 日韩午夜激情视频| 久久精品国产亚洲高清剧情介绍 | 波多野结衣中文一区| 日本视频在线一区| 91精品国产综合久久国产大片 | 亚洲成人免费影院| 7777精品伊人久久久大香线蕉| 精品写真视频在线观看| 国产精品午夜电影| 欧美日韩国产a| 国产资源在线一区| 一区二区三区小说|