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

📄 lcd.lst

📁 at89s51实验例程代码
💻 LST
字号:
C51 COMPILER V7.03   LCD                                                                   10/17/2005 12:42:15 PAGE 1   


C51 COMPILER V7.03, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN C:\DOCUME~1\CDQD\桌面\实验例程\LCD1602\C\LCD.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE C:\DOCUME~1\CDQD\桌面\实验例程\LCD1602\C\LCD.C DB SB OE

stmt level    source

   1          /*实验名称:字符型LCD接口实验
   2            功能:在LCD上显示
   3                   AT89S51 DEMO
   4                  www.mcuyjf.com.cn
   5            作者:http://www.mcuyjf.com.cn
   6                  05-02-01
   7          */
   8          #include <reg51.h>
   9          sbit E=P3^5;
  10          sbit RW=P3^6;
  11          sbit RS=P3^7;   
  12          typedef unsigned char uchar;
  13          //-------------------------------------
  14          void Delay(unsigned int t)   // delay 40us
  15          {
  16   1       for(;t!=0;t--) ;
  17   1      }
  18          //=============================================
  19          void SendCommandByte(unsigned char ch)
  20          {
  21   1         RS=0;
  22   1         RW=0;
  23   1         P0=ch;
  24   1         E=1;
  25   1          Delay(1);
  26   1         E=0;
  27   1         Delay(100);  //delay 40us
  28   1      }
  29          //-------------------------------------------------------
  30          void SendDataByte(unsigned char ch)
  31          {  RS=1;
  32   1         RW=0;
  33   1         P0=ch;
  34   1         E=1;
  35   1             Delay(1);
  36   1         E=0;
  37   1         Delay(100); //delay 40us
  38   1      }
  39          //-------------------------------------------------
  40          void InitLcd()
  41          {SendCommandByte(0x30);
  42   1       SendCommandByte(0x30);
  43   1       SendCommandByte(0x30);
  44   1       SendCommandByte(0x38); //设置工作方式
  45   1       SendCommandByte(0x0c); //显示状态设置
  46   1       SendCommandByte(0x01); //清屏
  47   1       SendCommandByte(0x06); //输入方式设置
  48   1      }
  49          //=============================================
  50          void DisplayMsg1(uchar *p)
  51          { 
  52   1       unsigned char count;
  53   1       SendCommandByte(0x80);  //设置DDRAM地址
  54   1       for(count=0;count<16;count++)
  55   1          {SendDataByte(*p++);
C51 COMPILER V7.03   LCD                                                                   10/17/2005 12:42:15 PAGE 2   

  56   2              }
  57   1      } 
  58          //=============================================
  59          void DisplayMsg2(uchar *p)
  60          { 
  61   1       unsigned char count;
  62   1       SendCommandByte(0xc0);  //设置DDRAM地址
  63   1       for(count=0;count<16;count++)
  64   1          {SendDataByte(*p++);
  65   2              }
  66   1      }
  67          //=============================================
  68          main()
  69          {char msg1[16]="  AT89S51 DEMO  ";
  70   1       char msg2[16]="www.mcuyjf.com ";
  71   1       InitLcd();
  72   1       DisplayMsg1(msg1);
  73   1       DisplayMsg2(msg2);
  74   1       while(1);
  75   1      }
C51 COMPILER V7.03   LCD                                                                   10/17/2005 12:42:15 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


_SendDataByte. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0006H  -----
  ch . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
_DisplayMsg1 . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  p. . . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
  count. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
_DisplayMsg2 . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  p. . . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
  count. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
uchar. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
RS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  msg1 . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0000H  16
  msg2 . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0010H  16
RW . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
InitLcd. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_?ix1000 . . . . . . . . . . . . . . .  STATIC   CODE   ARRAY    0000H  16
_?ix1001 . . . . . . . . . . . . . . .  STATIC   CODE   ARRAY    0010H  16
E. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
_SendCommandByte . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ch . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
_Delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     000AH  -----
  t. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2


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