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

📄 1602.lst

📁 1602液晶C语言经典例程
💻 LST
字号:
C51 COMPILER V7.07   1602                                                                  10/12/2006 08:51:50 PAGE 1   


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

stmt level    source

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

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

 118   1              i = 0;
 119   1              while(dis2[i] != '\0')
 120   1              {
 121   2                      lcd_wdat(dis2[i]);      // 显示字符" http://pp51.com 
 122   2                      i++;
 123   2              }
 124   1              while(1);                               // 
 125   1      }
 126          


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