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

📄 lcd.lst

📁 单片机的实用程序代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   LCD                                                                   07/13/2010 12:51:59 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.obj
COMPILER INVOKED BY: D:\Program Files\KEIL\C51\BIN\C51.EXE Source\LCD.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\LCD.lst)
                    - OBJECT(LCD.obj)

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          
  29          
  30          void _delay_ms(unsigned char del)
  31          {
  32   1              unsigned int i,j;
  33   1              for(i=0; i<del; i++)
  34   1              for(j=0; j<182; j++)   
  35   1              ;
  36   1      }
  37          /*
  38          ================================================================================
  39          * Name        : LCD_Init( )
  40          * Description : Initialize the LCD module
  41          * Input       : None
  42          * Output      : None
  43          * Note        : None
  44          ================================================================================
  45          */
  46          void LCDWR( INT8U cmd_dt, INT8U value )
  47          {
  48   1              LED_RD = 1;
  49   1              LED_CS = 1;
  50   1              LED_WR = 1;
  51   1              if(cmd_dt)
  52   1              {
  53   2                      LED_A0 = 1;
  54   2              }
C51 COMPILER V7.50   LCD                                                                   07/13/2010 12:51:59 PAGE 2   

  55   1              else
  56   1              {
  57   2                      LED_A0 = 0;     
  58   2              }
  59   1              P0 = value;
  60   1              LED_CS = 0;
  61   1              LED_WR = 0;
  62   1              LED_WR = 1;
  63   1              LED_CS = 1;
  64   1      }
  65          /*
  66          ================================================================================
  67          * Name        : LCD_Init( )
  68          * Description : Initialize the LCD module
  69          * Input       : None
  70          * Output      : None
  71          * Note        : None
  72          ================================================================================
  73          */
  74          void LCD_Init( void )
  75          {
  76   1                      LCDWR( LCDCOM, 0x01);//software reset
  77   1                      _delay_ms(50);       //delay 150ms
  78   1                      LCDWR( LCDCOM,0xD7); // Auto load set
  79   1                      LCDWR ( LCDDAT,0x9f);//auto load disable//0x9f
  80   1                      LCDWR( LCDCOM,0xe0);  //EE read/write mode
  81   1                      LCDWR ( LCDDAT,0x00); //set read  mode
  82   1                      _delay_ms(50);          //delay 150 ms
  83   1                      LCDWR( LCDCOM,0xe3);   //read active
  84   1                      _delay_ms(50);       //delay 150 ms
  85   1                      LCDWR( LCDCOM,0xe1);   //cancel control close read mode
  86   1      
  87   1                      /////sleep out ///////
  88   1                      LCDWR( LCDCOM,0x28);  //display off
  89   1                      LCDWR( LCDCOM,0x11);  //sleep out
  90   1                      _delay_ms(20);
  91   1                      
  92   1                      //////////////////////////////////////////////////////
  93   1                      /////VOP set///////////
  94   1                      LCDWR( LCDCOM,0xc0);  //vo voltage set   
  95   1                      LCDWR ( LCDDAT,0xff);///////////f5/////  08//00
  96   1                      LCDWR ( LCDDAT,0x00);//00//01
  97   1      
  98   1              LCDWR( LCDCOM,0x25);   //write contrast for mobile
  99   1                      LCDWR ( LCDDAT,0x3f);
 100   1                      //-----------OTPB SET----------------------//
 101   1                      LCDWR( LCDCOM,0xc3);// bias set
 102   1                      LCDWR ( LCDDAT,0x00);    //1/12
 103   1                      LCDWR( LCDCOM,0xc4);   //booster set
 104   1                      LCDWR ( LCDDAT,0x06);//  //06   7倍压
 105   1                      LCDWR( LCDCOM,0xc5);   //booster efficiency set
 106   1                      LCDWR ( LCDDAT,0x01);    //11
 107   1                      LCDWR( LCDCOM,0xcb);   //vg  booster set
 108   1                      LCDWR ( LCDDAT,0x01);
 109   1                      
 110   1                      LCDWR( LCDCOM,0xd0);   //set vg source
 111   1                      LCDWR ( LCDDAT,0x1d);
 112   1                      
 113   1      //------------MTP SET-------------------------//                
 114   1                      LCDWR( LCDCOM,0xb5);   //n-line set
 115   1                      LCDWR ( LCDDAT,0x89);//00
 116   1                      
C51 COMPILER V7.50   LCD                                                                   07/13/2010 12:51:59 PAGE 3   

 117   1                      LCDWR( LCDCOM,0xbd);  //x-talk compensation
 118   1                      LCDWR ( LCDDAT,0x02); //step2=level3
 119   1              
 120   1                  LCDWR( LCDCOM,0xf0);  
 121   1                  LCDWR ( LCDDAT,0x06); 
 122   1                      LCDWR ( LCDDAT,0x0b); 
 123   1                  LCDWR ( LCDDAT,0x0d);
 124   1              LCDWR ( LCDDAT,0x15);
 125   1                      
 126   1                      LCDWR( LCDCOM,0x36); //MEMORY ACCESS CONTROL
 127   1                      LCDWR ( LCDDAT,0x88);//c8
 128   1                      
 129   1                      LCDWR( LCDCOM,0x3a);   //interface pixer format
 130   1                      LCDWR ( LCDDAT,0x05);   //16bits pixel
 131   1                      
 132   1                      LCDWR( LCDCOM,0xb0);   //duty setting
 133   1                      LCDWR ( LCDDAT,0x7f); //duty=128
 134   1                      //=====================new                           
 135   1                      LCDWR( LCDCOM,0x2a);     //col
 136   1                      LCDWR ( LCDDAT,0x00);   //0~127
 137   1                      LCDWR ( LCDDAT,0x7f);
 138   1      
 139   1                      LCDWR( LCDCOM,0x2b);     //page
 140   1                      LCDWR ( LCDDAT,0x00);   //0~127
 141   1                      LCDWR ( LCDDAT,0x7f);
 142   1                      
 143   1      //-------------------gamma table set------------------//
 144   1      
 145   1                      LCDWR( LCDCOM, 0xF9);                  //Gamma
 146   1                  LCDWR ( LCDDAT,0x00);                //
 147   1                  LCDWR ( LCDDAT,0x02);                //
 148   1                  LCDWR ( LCDDAT,0x04);                //
 149   1                  LCDWR ( LCDDAT,0x06);                //
 150   1                  LCDWR ( LCDDAT,0x08);                //
 151   1                  LCDWR ( LCDDAT,0x0A);                //
 152   1                  LCDWR ( LCDDAT,0x0C);                //
 153   1                  LCDWR ( LCDDAT,0x0E);                //
 154   1                  LCDWR ( LCDDAT,0x10);                //
 155   1                  LCDWR ( LCDDAT,0x12);                //
 156   1                  LCDWR ( LCDDAT,0x14);                //
 157   1                  LCDWR ( LCDDAT,0x16);                //
 158   1                  LCDWR ( LCDDAT,0x18);                //
 159   1                  LCDWR ( LCDDAT,0x1A);                //
 160   1                  LCDWR ( LCDDAT,0x1C);                //
 161   1                  LCDWR ( LCDDAT,0x1E);                //
 162   1      
 163   1                      LCDWR( LCDCOM,0x29);
 164   1                      LCDWR( LCDCOM,0x2c);
 165   1      }
 166          /*
 167          ========================================================================================================
 168          Name: LCD_SetArea
 169          Function: Set the area of screen for displaying
 170          Input:
 171              1.xs :      Start position  X
 172              2.xe :  End position  X
 173              3.ys :  Start position Y
 174              4.ye :  End position Y
 175          Output: None
 176          Author: LiYong
 177          Date  : 2008.08.09

⌨️ 快捷键说明

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