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

📄 lcd.lst

📁 单片机控制程序
💻 LST
字号:
C51 COMPILER V7.02b   LCD                                                                  07/17/2007 21:54:33 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg51.h>
   2          
   3          /********************************************************************/
   4          //lcd part
   5          #define  LINE1     0
   6          #define  LINE2     1
   7          #define  LINE1_HEAD    0x80
   8          #define  LINE2_HEAD    0xC0
   9          #define  LCD_DELAY_TIME   40
  10          #define  DATA_MODE    0x38
  11          #define  OPEN_SCREEN    0x0C
  12          #define  DISPLAY_ADDRESS   0x80
  13          #define  CLEARSCREEN    LCD_en_command(0x01)
  14          //common part 
  15          #define  HIGH   1
  16          #define  LOW    0
  17          #define  TRUE    1
  18          #define  FALSE    0
  19          #define  ZERO    0 
  20          #define  MSB    0x80
  21          #define  LSB    0x01
  22          
  23          #define  LCDIO     P0
  24          code unsigned char s1[13]={119,119,119,46,50,50,115,107,121,46,99,111,109,}; //显示www.22sky.com
  25          code unsigned char s2[5]={68,73,83,80,58,}; //显示DISP:
  26          
  27          /*****************************************************************************/
  28          /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
  29          sbit LCD1602_RS=P2^7;   //data command select  1 data  0 command  pin 4 
  30          sbit LCD1602_RW=P2^6;   //read write select   1 read   0 write     pin 5
  31          sbit LCD1602_EN=P2^5;   //LCD enable signal             pin 6
  32          /********************************************************************/
  33          
  34          void LCD_en_command(unsigned char command);//write command function
  35          void LCD_en_dat(unsigned char temp);//write data function
  36          void LCD_init(void);//lcd initize function
  37          void cap_clr(void);
  38          void ad_clr(void);
  39          
  40          /********************************************************************/
  41          void delay_nms(unsigned int n);//delay function
  42          
  43          /********************************************************************/
  44          void LCD_en_command(unsigned char command)//写命令
  45          {
  46   1       LCDIO=command;
  47   1       LCD1602_RS=LOW;   
  48   1       LCD1602_RW=LOW;
  49   1       LCD1602_EN=LOW;
  50   1      delay_nms(2);
  51   1       LCD1602_EN=HIGH;
  52   1      }
  53          /********************************************************************/
  54          void LCD_en_dat(unsigned char dat)//写数据
  55          {
C51 COMPILER V7.02b   LCD                                                                  07/17/2007 21:54:33 PAGE 2   

  56   1       LCDIO=dat;
  57   1       LCD1602_RS=HIGH;
  58   1       LCD1602_RW=LOW;
  59   1       LCD1602_EN=LOW;
  60   1       delay_nms(2);
  61   1       LCD1602_EN=HIGH;
  62   1      }
  63          
  64          /********************************************************************/
  65          void LCD_init(void)
  66          { 
  67   1       unsigned char i;
  68   1       unsigned char *p_2=s2;
  69   1       unsigned char *p_1=s1;
  70   1       CLEARSCREEN;//clear screen 
  71   1       LCD_en_command(DATA_MODE);//set 8 bit data transmission mode 
  72   1       LCD_en_command(OPEN_SCREEN);//open display (enable lcd display)
  73   1       LCD_en_command(DISPLAY_ADDRESS);//set lcd first display address 
  74   1       CLEARSCREEN;//clear screen
  75   1      /*****************lcd第一行显示:www.22sky.com**************************/
  76   1      for(i=0;i<13;i++)
  77   1              {
  78   2                      LCD_en_command(0x80+i);
  79   2                      LCD_en_dat(*p_1);
  80   2                      delay_nms(2);
  81   2                      p_1=p_1+1;
  82   2              }
  83   1      
  84   1      /*****************lcd第二行显示阻值:DISP:**************************/
  85   1        for(i=0;i<5;i++)
  86   1              {
  87   2                      LCD_en_command(0xc0+i);
  88   2                      LCD_en_dat(*p_2);
  89   2                      delay_nms(2);
  90   2                      p_2=p_2+1;
  91   2              }
  92   1      
  93   1      
  94   1      }
  95          /********************************************************************/
  96          /*********************** OTHER PART *********************************/
  97          void delay_nms(unsigned int n)      
  98          {
  99   1          unsigned int i=0,j=0;
 100   1          for (i=n;i>0;i--)
 101   1           for (j=0;j<1140;j++);  
 102   1      }
 103          /********************************************************************/


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