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

📄 lcd1602.lst

📁 单片机实现串口通信
💻 LST
字号:
C51 COMPILER V8.01   LCD1602                                                               08/06/2007 09:18:02 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN LCD1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD1602.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<intrins.h>
   3          
   4          typedef unsigned char UINT8;
   5          typedef unsigned int UINT16;
   6          typedef bit BOOL;
   7          
   8          sbit LCD_RS=P2^0;
   9          sbit LCD_RW=P2^1;
  10          sbit LCD_EP=P2^2;
  11          
  12          
  13          void Delay_US(UINT16 n)
  14          {    if(n==0)
  15   1           {    return;
  16   2               }
  17   1               while(n--)
  18   1               {    ;
  19   2               }
  20   1      }
  21          
  22          void Delay_MS(UINT8 ms)
  23          {    UINT8 a,b;
  24   1           for(a=1;a<ms;a++)
  25   1               {    for(b=1;b;b++)
  26   2                    {    ;
  27   3                        }
  28   2               }
  29   1      }
  30          
  31          BOOL LCD_BZ(void)
  32          {    BOOL result;
  33   1           LCD_RS=0;
  34   1               LCD_RW=1;
  35   1               LCD_EP=1;
  36   1               Delay_US(5);
  37   1               result=(BOOL)(P0&0x80);
  38   1               LCD_EP=0;
  39   1               return(result);
  40   1      }
  41          
  42          
  43          void LCD_W_Com(UINT8 com)
  44          {    while(LCD_BZ())
  45   1           {    ;
  46   2               }
  47   1               LCD_RS=0;
  48   1               LCD_RW=0;
  49   1               LCD_EP=0;
  50   1               Delay_US(2);
  51   1               P0=com;
  52   1               Delay_US(5);
  53   1               LCD_EP=1;
  54   1               Delay_US(5);
  55   1               LCD_EP=0;
C51 COMPILER V8.01   LCD1602                                                               08/06/2007 09:18:02 PAGE 2   

  56   1      }
  57          
  58          
  59          void LCD_W_Date(UINT8 date)
  60          {    while(LCD_BZ())
  61   1           {    ;
  62   2               }
  63   1               LCD_RS=1;
  64   1               LCD_RW=0;
  65   1               LCD_EP=0;
  66   1               P0=date;
  67   1               Delay_US(5);
  68   1               LCD_EP=1;
  69   1               Delay_US(5);
  70   1               LCD_EP=0;
  71   1      }
  72          
  73          
  74          void LCD_Clear(void)
  75          {    
  76   1           LCD_W_Com(0x01);
  77   1               Delay_MS(5);
  78   1           
  79   1      }
  80          
  81          
  82          
  83          void LCD_Init(void)
  84          {    LCD_W_Com(0x38);
  85   1           Delay_MS(5);
  86   1               LCD_W_Com(0x0C);
  87   1               Delay_MS(5);
  88   1               LCD_W_Com(0x06);
  89   1               Delay_MS(5);
  90   1               LCD_W_Com(0x01);
  91   1               Delay_MS(5);
  92   1      }
  93          
  94          
  95          void LCD_W_Str(UINT8 x,UINT8 y,UINT8 *s)
  96          {    if(y==0)
  97   1           {    LCD_W_Com(0x80+x);
  98   2               }
  99   1               else
 100   1               {    LCD_W_Com(0xc0+x);  
 101   2               }
 102   1               while(*s)
 103   1               {    LCD_W_Date(*s);
 104   2                    s++;
 105   2               }
 106   1      }
 107          
 108          
 109          void LCD_W_Char(UINT8 x,UINT8 y,UINT8 ch)
 110          {    if(y==0)
 111   1           {    LCD_W_Com(0x80+x);
 112   2               }
 113   1               else
 114   1               {    LCD_W_Com(0xC0+x);
 115   2               }
 116   1               LCD_W_Date(ch);
 117   1      }
C51 COMPILER V8.01   LCD1602                                                               08/06/2007 09:18:02 PAGE 3   

 118          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    218    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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