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

📄 lcd.lst

📁 运行环境是keil。这是一个实现嵌入式TCP/IP的程序
💻 LST
字号:
C51 COMPILER V7.06   LCD                                                                   04/05/2006 12:13:01 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\DEBUG\LCD.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD\LCD.c LARGE OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\DEBUG\L
                    -CD.lst) OBJECT(.\DEBUG\LCD.obj)

stmt level    source

   1          /* //////////////////////////////////////////////////////////////////////
   2          NAME:  LCD.c
   3          //////////////////////////////////////////////////////////////////////// */
   4          #include    <CORE\includes.h>
   5          #include "LCD.h"
   6          
   7          sbit   LCD_RS  = P1 ^ 0;
   8          sbit   LCD_RW  = P1 ^ 1;
   9          sbit   LCD_E  = P1 ^ 2;
  10          sbit   LCD_BF  = P1 ^ 7;
  11          
  12          //INT8U LOST_PACK=0;
  13          
  14          void LCD_CheckBusy(void)
  15          {
  16   1        INT8U data tmp;
  17   1        do
  18   1        {
  19   2              P1|=0XF0; 
  20   2          LCD_RS=0;
  21   2              LCD_RW=1;
  22   2              LCD_E=1;
  23   2              tmp=P1;
  24   2          LCD_E=0;
  25   2          LCD_E=1;
  26   2          LCD_E=0;
  27   2        }while((tmp&0x80));
  28   1      }
  29          //---------------------------------------
  30          void LCD_WrCommand(BYTE Command1)
  31          {
  32   1         // BYTE sts;
  33   1          INT8U data Command;
  34   1              Command=Command1;
  35   1          LCD_CheckBusy();
  36   1              //-----------------------
  37   1              LCD_RS=0;
  38   1              LCD_RW=0;
  39   1              P1=(Command&0xf0); //high 4 bits
  40   1              LCD_E=1;
  41   1              LCD_E=0;
  42   1              Command=Command<<4;
  43   1              P1=(Command&0xf0); //low 4 bits
  44   1              LCD_E=1;
  45   1              LCD_E=0;
  46   1      }
  47          //----------------------------------------------
  48          void LCD_Initial(void)
  49          {
  50   1         INT8U data i;
  51   1         INT32U data tmp;
  52   1         for(tmp=0;tmp<10000;tmp++);
  53   1         P1=0X30;
  54   1         LCD_RS=0;
C51 COMPILER V7.06   LCD                                                                   04/05/2006 12:13:01 PAGE 2   

  55   1         LCD_RW=0;
  56   1         for(i=0;i<3;i++)
  57   1         {
  58   2            LCD_E=1;
  59   2                LCD_E=0;
  60   2                for(tmp=0;tmp<10000;tmp++);
  61   2        }
  62   1         P1=0X20;
  63   1         LCD_E=1;
  64   1         LCD_E=0;
  65   1      //   for(tmp=0;tmp<10000;tmp++);
  66   1         LCD_WrCommand(0x28);
  67   1         LCD_WrCommand(0x01);
  68   1         LCD_WrCommand(0x06);
  69   1         LCD_WrCommand(0x0E);
  70   1      }
  71          //////////////////////////////////////////////////////////////////
  72          void LCD_print(char *p) reentrant
  73            {
  74   1          // p=p;
  75   1               
  76   1           INT8U  tmp1;
  77   1               INT8U  count=0;
  78   1      
  79   1           LCD_WrCommand(0x01); //clr 
  80   1       //    LCD_WrCommand(0x05); //
  81   1       //    LCD_WrCommand(0x80); //ddram addr;
  82   1               while(*p)
  83   1               {   
  84   2                   if(count++==0x10)
  85   2                           LCD_WrCommand(0xc0); //set ram address 40h;
  86   2                   tmp1=*p++;
  87   2               LCD_CheckBusy();
  88   2                       //--------write ram----
  89   2                       P1=(tmp1&0xf0);
  90   2                       LCD_RS=1;
  91   2                       LCD_RW=0;
  92   2                       LCD_E=1;
  93   2                   LCD_E=0;
  94   2                       tmp1=tmp1<<4;
  95   2                       P1=(tmp1&0xf0);
  96   2                       LCD_RS=1;
  97   2                       LCD_RW=0;
  98   2                       LCD_E=1;
  99   2                   LCD_E=0;
 100   2               //---------------------
 101   2              // ++p;
 102   2               } //--------*/
 103   1        }
 104          
 105            //////////////////////////////////////////////////////////////////
 106          void LCD_log(char *p) reentrant
 107            {
 108   1           INT8U  tmp1;
 109   1               INT8U  count=0;
 110   1      
 111   1           LCD_WrCommand(0x01); //clr 
 112   1       //    LCD_WrCommand(0x05); //
 113   1       //    LCD_WrCommand(0x80); //ddram addr;
 114   1               while(*p)
 115   1               {   
 116   2                   if(count++==0x10)
C51 COMPILER V7.06   LCD                                                                   04/05/2006 12:13:01 PAGE 3   

 117   2                           LCD_WrCommand(0xc0); //set ram address 40h;
 118   2                   tmp1=*p++;
 119   2               LCD_CheckBusy();
 120   2                       //--------write ram----
 121   2                       P1=(tmp1&0xf0);
 122   2                       LCD_RS=1;
 123   2                       LCD_RW=0;
 124   2                       LCD_E=1;
 125   2                   LCD_E=0;
 126   2                       tmp1=tmp1<<4;
 127   2                       P1=(tmp1&0xf0);
 128   2                       LCD_RS=1;
 129   2                       LCD_RW=0;
 130   2                       LCD_E=1;
 131   2                   LCD_E=0;
 132   2               //---------------------
 133   2              // ++p;
 134   2               } //--------*/
 135   1        }
 136          /*
 137          /////////////////////////////////////////////////
 138          void ERR_print(BYTE ERR_number) reentrant
 139            {
 140               INT8U  i;
 141                   INT8U  buff[6]={'E','R','R','1'};
 142               buff[4]=0;
 143               buff[5]=(LOST_PACK&0x0f)+0x30;
 144                  ERR_number=ERR_number;
 145               LCD_WrCommand(0xc0); //ddram addr;
 146                   for(i=0;i<6;i++)
 147                   {   
 148          
 149                   LCD_CheckBusy();
 150                           //--------write ram----
 151                           P1=(buff[i]&0xf0);
 152                           LCD_RS=1;
 153                           LCD_RW=0;
 154                           LCD_E=1;
 155                       LCD_E=0;
 156                           buff[i]=buff[i]<<4;
 157                           P1=(buff[i]&0xf0);
 158                           LCD_RS=1;
 159                           LCD_RW=0;
 160                           LCD_E=1;
 161                       LCD_E=0;
 162                   //---------------------
 163                  // ++p;
 164                   }
 165           
 166          
 167            }*/
 168          
 169          
 170          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    546    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       7
C51 COMPILER V7.06   LCD                                                                   04/05/2006 12:13:01 PAGE 4   

   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 + -