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

📄 gu.lst

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


C51 COMPILER V7.06, COMPILATION OF MODULE GU
OBJECT MODULE PLACED IN gu.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 2\gu.c BROWSE DEBUG OBJECTEXTEND PRINT(.\gu.lst) OBJECT(gu.obj)

stmt level    source

   1          
   2          #include <sst89E564RD.H>
   3          #include <intrins.h>
   4          
   5          typedef unsigned char BYTE;
   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          BYTE code dis1[] = {"   WLCOME  TO   "};
  13          BYTE code dis2[] = {" WWW.WILLAR.COM "};
  14          BYTE code dis3[] = {"   OT  EMOCLW   "};
  15          BYTE code dis4[] = {" MOC.RALLIW.WWW "};
  16          
  17          delay(int ms)
  18          {                           // 延时子程序
  19   1      int 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      LCD_RS = 0;
  36   1      LCD_RW = 1;
  37   1      LCD_EP = 1;
  38   1      _nop_();
  39   1      _nop_();
  40   1      _nop_();
  41   1      _nop_();
  42   1      result = (BOOL)(P0 & 0x80);
  43   1      LCD_EP = 0;
  44   1      return result; 
  45   1      }
  46          
  47          lcd_wcmd(BYTE cmd)
  48          {                          // 写入指令数据到LCD
  49   1      while(lcd_bz());
  50   1      LCD_RS = 0;
  51   1      LCD_RW = 0;
  52   1      LCD_EP = 0;
  53   1      _nop_();
  54   1      _nop_(); 
  55   1      P0 = cmd;
C51 COMPILER V7.06   GU                                                                    03/25/2008 09:37:44 PAGE 2   

  56   1      _nop_();
  57   1      _nop_();
  58   1      _nop_();
  59   1      _nop_();
  60   1      LCD_EP = 1;
  61   1      _nop_();
  62   1      _nop_();
  63   1      _nop_();
  64   1      _nop_();
  65   1      LCD_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      LCD_RS = 1;
  77   1      LCD_RW = 0;
  78   1      LCD_EP = 0;
  79   1      P0 = dat;
  80   1      _nop_();
  81   1      _nop_();
  82   1      _nop_();
  83   1      _nop_();
  84   1      LCD_EP = 1;
  85   1      _nop_();
  86   1      _nop_();
  87   1      _nop_();
  88   1      _nop_();
  89   1      LCD_EP = 0; 
  90   1      }
  91          
  92          lcd_init()
  93          {                        //LCD初始化设定
  94   1      lcd_wcmd(0x38);          //16*2显示,5*7点阵,8位数据
  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            lcd_init();               // 初始化LCD
 108   1            delay(10);
 109   1      
 110   1          while(1)              
 111   1         { 
 112   2            lcd_wcmd(0x06);            //向右移动光标
 113   2            lcd_pos(0);                //设置显示位置为第一行的第1个字符
 114   2            i = 0;
 115   2           while(dis1[ i ] != '\0')
 116   2           {                           //显示字符"Welcome TO"
 117   3             lcd_wdat(dis1[ i ]);
C51 COMPILER V7.06   GU                                                                    03/25/2008 09:37:44 PAGE 3   

 118   3             i++;
 119   3             delay(30);                //控制两字之间显示速度
 120   3           }
 121   2            lcd_pos(0x40);             //设置显示位置为第二行第1个字符
 122   2            i = 0;
 123   2           while(dis2[ i ] != '\0')
 124   2           {
 125   3             lcd_wdat(dis2[ i ]);      //显示字符" WWW.WILLAR.COM "
 126   3             i++;
 127   3             delay(30);                //控制两字之间显示速度
 128   3           }
 129   2            delay(800);                //控制停留时间
 130   2      
 131   2            lcd_wcmd(0x01);            //清除LCD的显示内容
 132   2            delay(1);
 133   2            lcd_wcmd(0x04);            //向左移动光标
 134   2           
 135   2            lcd_pos(15);               //设置显示位置为第一行的第16个字符
 136   2            i = 0;
 137   2           while(dis3[ i ] != '\0')
 138   2           {                           //显示字符"Welcome TO"
 139   3             lcd_wdat(dis3[ i ]);
 140   3             i++;
 141   3             delay(30);                //控制两字之间显示速度
 142   3           }
 143   2            lcd_pos(0x4F);             //设置显示位置为第二行的第16个字符
 144   2            i = 0;
 145   2           while(dis4[ i ] != '\0')
 146   2           {
 147   3             lcd_wdat(dis4[ i ]);      //显示字符" WWW.WILLAR.COM "
 148   3             i++;
 149   3             delay(30);                //控制两字之间显示速度
 150   3           }
 151   2            delay(800);                //控制停留时间
 152   2      
 153   2            lcd_wcmd(0x01);            //清除LCD的显示内容
 154   2            delay(200);                //控制两屏转换时间
 155   2                
 156   2         }
 157   1      }
 158           
*** WARNING C316 IN LINE 158 OF 2\gu.c: unterminated conditionals


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    305    ----
   CONSTANT SIZE    =     68    ----
   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 + -