lcd.lst

来自「单片机的实用程序代码」· LST 代码 · 共 417 行 · 第 1/2 页

LST
417
字号
C51 COMPILER V7.50   LCD                                                                   09/13/2011 19:37:14 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\LCD.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\LCD.lst) OBJECT(LCD.ob
                    -j)

line level    source

   1          /*
   2          ================================================================================
   3          Copytight      : Yihetech Co,.Ltd, All rightd reserved. 版权归属亿和电子工作室
   4          Store          : http://shop57165217.taobao.com/
   5          
   6          File Name      : lcd.c
   7          Description    : LCD module operations
   8          Date           : 2009-7-19 21:17:45
   9          Version        : V1.0
  10          Author         : LiYong(李勇), yihe_liyong@126.com
  11          Target device  : C8051F340
  12          Compiler       : KeilC51 V8.16
  13          Note           : 转载时务必保留此信息,否则无权以任何形式传播本文件
  14          ================================================================================
  15          */
  16          #define _LCD_C_
  17          #include "LCD.H"
  18          
  19          
  20          #define LCDCOM           0
  21          #define LCDDAT           1
  22          
  23          sbit LED_RD = P2^5;
  24          sbit LED_CS = P2^7;
  25          sbit LED_WR = P2^4;
  26          sbit LED_A0 = P2^3;
  27          sbit BLACKLIGHT = P2^0;
  28          sbit RESET = P2^6;
  29          
  30          
  31          void _delay_ms(unsigned char del)
  32          {
  33   1              unsigned int i,j;
  34   1              for(i=0; i<del; i++)
  35   1              for(j=0; j<182; j++)   
  36   1              ;
  37   1      }
  38          /*
  39          ================================================================================
  40          * Name        : LCD_Init( )
  41          * Description : Initialize the LCD module
  42          * Input       : None
  43          * Output      : None
  44          * Note        : None
  45          ================================================================================
  46          */
  47          void LCDWR( INT8U cmd_dt, INT8U value )
  48          {
  49   1              LED_RD = 1;
  50   1              LED_CS = 1;
  51   1              LED_WR = 1;
  52   1              if(cmd_dt)
  53   1              {
  54   2                      LED_A0 = 1;
C51 COMPILER V7.50   LCD                                                                   09/13/2011 19:37:14 PAGE 2   

  55   2              }
  56   1              else
  57   1              {
  58   2                      LED_A0 = 0;     
  59   2              }
  60   1              P0 = value;
  61   1              LED_CS = 0;
  62   1              LED_WR = 0;
  63   1              LED_WR = 1;
  64   1              LED_CS = 1;
  65   1      }
  66          /*
  67          ================================================================================
  68          * Name        : LCD_Init( )
  69          * Description : Initialize the LCD module
  70          * Input       : None
  71          * Output      : None
  72          * Note        : None
  73          ================================================================================
  74          */
  75          void LCD_Init( void )
  76          {
  77   1                      RESET=1;
  78   1                      _delay_ms(10);  //Delay 1ms
  79   1                      RESET=0;
  80   1                      _delay_ms(10);  //Delay 1ms
  81   1                      RESET=1;
  82   1                      _delay_ms(10);  //Delay 120ms
  83   1      
  84   1                      LCDWR( LCDCOM, 0x01);//software reset
  85   1                      _delay_ms(50);       //delay 150ms
  86   1                      LCDWR( LCDCOM, 0x11);//software reset
  87   1      
  88   1                      LCDWR( LCDCOM,0xB1); // Auto load set
  89   1                      LCDWR ( LCDDAT,0x02);//auto load disable//0x9f
  90   1                      LCDWR ( LCDDAT,0x35);
  91   1                      LCDWR ( LCDDAT,0x36);
  92   1                      LCDWR( LCDCOM,0xB2);  //EE read/write mode
  93   1                      LCDWR ( LCDDAT,0x02); //set read  mode
  94   1                      LCDWR ( LCDDAT,0x35); 
  95   1                      LCDWR ( LCDDAT,0x36);
  96   1                      LCDWR( LCDCOM,0xB3);  //EE read/write mode
  97   1                      LCDWR ( LCDDAT,0x02); //set read  mode
  98   1                      LCDWR ( LCDDAT,0x35); 
  99   1                      LCDWR ( LCDDAT,0x36);
 100   1                      LCDWR( LCDCOM,0xB4);  //EE read/write mode
 101   1                      LCDWR ( LCDDAT,0x07); //set read  mode
 102   1                      
 103   1                        
 104   1                      LCDWR( LCDCOM,0xb6);   
 105   1                      LCDWR ( LCDDAT,0xb4);
 106   1                      LCDWR ( LCDDAT,0xf0);
 107   1                                      
 108   1                      LCDWR( LCDCOM,0xc0);   
 109   1                      LCDWR ( LCDDAT,0xa2); 
 110   1                      LCDWR ( LCDDAT,0x02); 
 111   1                  LCDWR ( LCDDAT,0x84);
 112   1                      LCDWR( LCDCOM,0xc1); 
 113   1                      LCDWR ( LCDDAT,0x05);
 114   1                      //LCDWR( LCDCOM,0xc2); 
 115   1                      //LCDWR ( LCDDAT,0x0a);
 116   1                      //LCDWR ( LCDDAT,0x00);
C51 COMPILER V7.50   LCD                                                                   09/13/2011 19:37:14 PAGE 3   

 117   1                      //LCDWR( LCDCOM,0xc3); 
 118   1                      //LCDWR ( LCDDAT,0x8a);
 119   1                      //LCDWR ( LCDDAT,0x2a);
 120   1                      //LCDWR( LCDCOM,0xc4); 
 121   1                      //LCDWR ( LCDDAT,0x8a);
 122   1                      //LCDWR ( LCDDAT,0xee);
 123   1                      //LCDWR( LCDCOM,0xd9);
 124   1                      //LCDWR ( LCDDAT,0x40);
 125   1      
 126   1                      LCDWR( LCDCOM,0xc5);
 127   1                      LCDWR ( LCDDAT,0x02); 
 128   1                      LCDWR( LCDCOM,0xc7);
 129   1                      LCDWR ( LCDDAT,0x00);
 130   1      
 131   1                      LCDWR( LCDCOM,0x36); 
 132   1                      LCDWR ( LCDDAT,0xc8);
 133   1      
 134   1      //////////
 135   1      
 136   1      
 137   1              LCDWR( LCDCOM,0xe0);   //write contrast for mobile
 138   1                      LCDWR ( LCDDAT,0x12);
 139   1                      LCDWR ( LCDDAT,0x1c);
 140   1                      LCDWR ( LCDDAT,0x10);
 141   1                      LCDWR ( LCDDAT,0x18);
 142   1                      LCDWR ( LCDDAT,0x33);
 143   1      
 144   1                      LCDWR ( LCDDAT,0x2c);
 145   1                      LCDWR ( LCDDAT,0x25);
 146   1                      LCDWR ( LCDDAT,0x28);
 147   1                      LCDWR ( LCDDAT,0x27);
 148   1      
 149   1                      LCDWR ( LCDDAT,0x2f);
 150   1                      LCDWR ( LCDDAT,0x3c);
 151   1                      LCDWR ( LCDDAT,0x00);
 152   1                      LCDWR ( LCDDAT,0x03);
 153   1      
 154   1                      LCDWR ( LCDDAT,0x03);
 155   1                      LCDWR ( LCDDAT,0x10);
 156   1      
 157   1                      //-----------OTPB SET----------------------//
 158   1                      LCDWR( LCDCOM,0xe1);// bias set
 159   1                      LCDWR ( LCDDAT,0x12);
 160   1                      LCDWR ( LCDDAT,0x1c);
 161   1                      LCDWR ( LCDDAT,0x10);
 162   1                      LCDWR ( LCDDAT,0x18);
 163   1                      LCDWR ( LCDDAT,0x33);
 164   1      
 165   1                      LCDWR ( LCDDAT,0x2c);
 166   1                      LCDWR ( LCDDAT,0x25);
 167   1                      LCDWR ( LCDDAT,0x28);
 168   1                      LCDWR ( LCDDAT,0x27);
 169   1      
 170   1                      LCDWR ( LCDDAT,0x2f);
 171   1                      LCDWR ( LCDDAT,0x3c);
 172   1                      LCDWR ( LCDDAT,0x00);
 173   1                      LCDWR ( LCDDAT,0x03);
 174   1      
 175   1                      LCDWR ( LCDDAT,0x03);
 176   1                      LCDWR ( LCDDAT,0x10);
 177   1      
 178   1      
C51 COMPILER V7.50   LCD                                                                   09/13/2011 19:37:14 PAGE 4   

 179   1                      LCDWR( LCDCOM,0x2a);// bias set
 180   1                      LCDWR ( LCDDAT,0x00);
 181   1                      LCDWR ( LCDDAT,0x02);
 182   1                      LCDWR ( LCDDAT,0x00);
 183   1                      LCDWR ( LCDDAT,0x81);
 184   1      
 185   1                      LCDWR( LCDCOM,0x2b);// bias set
 186   1                      LCDWR ( LCDDAT,0x00);
 187   1                      LCDWR ( LCDDAT,0x03);
 188   1                      LCDWR ( LCDDAT,0x00);
 189   1                      LCDWR ( LCDDAT,0x82);
 190   1      
 191   1                      LCDWR( LCDCOM,0xf0);// bias set
 192   1                      LCDWR ( LCDDAT,0x01);
 193   1                      LCDWR( LCDCOM,0xf6);// bias set

⌨️ 快捷键说明

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