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

📄 12.lst

📁 1602LCD显示代码
💻 LST
字号:
C51 COMPILER V7.06   12                                                                    03/25/2008 09:34:31 PAGE 1   


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

stmt level    source

   1          #include <sst89E564RD.H>
   2          #include <intrins.h>
   3          
   4          typedef unsigned char BYTE;
   5          typedef unsigned int WORD;
   6          typedef bit BOOL ; 
   7          
   8          sbit rs = P2^0;         //
   9          sbit rw = P2^1;
  10          sbit ep = P2^2;
  11          
  12          BYTE code dis1[] ={"we"};// {"welcome!"};
  13          BYTE code dis2[] = {"me"};//{"www.willar.com"};
  14          
  15          delay(BYTE ms)
  16          {                                                       // 延时子程序
  17   1              BYTE i;
  18   1              while(ms--)
  19   1              {
  20   2                      for(i = 0; i< 250; i++)
  21   2                      {
  22   3                              _nop_();
  23   3                              _nop_();
  24   3                              _nop_();
  25   3                              _nop_();
  26   3                      }
  27   2              }
  28   1      }
  29          
  30          BOOL lcd_bz()
  31          {                                                       // 测试LCD忙碌状态
  32   1              BOOL result;
  33   1              rs = 0;
  34   1              rw = 1;
  35   1              ep = 1;
  36   1              _nop_();
  37   1              _nop_();
  38   1              _nop_();
  39   1              _nop_();
  40   1              result = (BOOL)(P0 & 0x80);
  41   1              ep = 0;
  42   1              return result;  
  43   1      }
  44          
  45          lcd_wcmd(BYTE cmd)
  46          {                                                       // 写入指令数据到LCD
  47   1              while(lcd_bz());
  48   1              rs = 0;
  49   1              rw = 0;
  50   1              ep = 0;
  51   1              _nop_();
  52   1              _nop_();        
  53   1              P0 = cmd;
  54   1              _nop_();
  55   1              _nop_();
C51 COMPILER V7.06   12                                                                    03/25/2008 09:34:31 PAGE 2   

  56   1              _nop_();
  57   1              _nop_();
  58   1              ep = 1;
  59   1              _nop_();
  60   1              _nop_();
  61   1              _nop_();
  62   1              _nop_();
  63   1              ep = 0;         
  64   1      }
  65          
  66          lcd_pos(BYTE pos)
  67          {                                                       //设定显示位置
  68   1              lcd_wcmd(pos | 0x80);
  69   1      }
  70          
  71          lcd_wdat(BYTE dat)      
  72          {                                                       //写入字符显示数据到LCD
  73   1              while(lcd_bz());
  74   1              rs = 1;
  75   1              rw = 0;
  76   1              ep = 0;
  77   1              P0 = dat;
  78   1              _nop_();
  79   1              _nop_();
  80   1              _nop_();
  81   1              _nop_();
  82   1              ep = 1;
  83   1              _nop_();
  84   1              _nop_();
  85   1              _nop_();
  86   1              _nop_();
  87   1              ep = 0; 
  88   1      }
  89          
  90          lcd_init()
  91          {                                                       //LCD初始化设定
  92   1              lcd_wcmd(0x38);                 //
  93   1              delay(1);
  94   1              lcd_wcmd(0x0c);                 //
  95   1              delay(1);
  96   1              lcd_wcmd(0x06);                 //
  97   1              delay(1);
  98   1              lcd_wcmd(0x01);                 //清除LCD的显示内容
  99   1              delay(1);
 100   1      }
 101          
 102          main()
 103          {
 104   1              BYTE i;
 105   1              lcd_init();                             // 初始化LCD                    
 106   1              delay(10);
 107   1              lcd_pos(4);                             // 设置显示位置为第一行的第5个字符
 108   1              i = 0;
 109   1              while(dis1[i] != '\0')
 110   1              {                                               // 显示字符"welcome!"
 111   2                      lcd_wdat(dis1[i]);
 112   2                      i++;
 113   2              }
 114   1              lcd_pos(0x41);                  // 设置显示位置为第二行第二个字符
 115   1              i = 0;
 116   1              while(dis2[i] != '\0')
 117   1              {
C51 COMPILER V7.06   12                                                                    03/25/2008 09:34:31 PAGE 3   

 118   2                      lcd_wdat(dis2[i]);      // 显示字符"  www.willar.com  "
 119   2                      i++;
 120   2              }
 121   1              while(1);                               // 
 122   1      }
 123          
 124          
*** WARNING C316 IN LINE 124 OF 12.c: unterminated conditionals


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


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

⌨️ 快捷键说明

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