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

📄 lcm1602.lst

📁 按键控制继电器--工业控制实验 keil编译环境 51单片机
💻 LST
字号:
C51 COMPILER V8.02   LCM1602                                                               05/15/2008 14:07:46 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE LCM1602
OBJECT MODULE PLACED IN LCM1602.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE LCM1602.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <intrins.h>
   2          #include <reg52.h>
   3          
   4          sbit RSPIN = P1^0;              //LCM1602接口线定义
   5          sbit RWPIN = P1^1;
   6          sbit EPIN = P1^2;
   7          
   8          unsigned char XPOS,YPOS;
   9          
  10          void delay1(unsigned int t)
  11          {  unsigned int i,j;
  12   1         for(i=0;i<t;i++)
  13   1            for(j=0;j<10;j++)
  14   1               ;
  15   1      }
  16          
  17          void lcdwaitidle(void)
  18          {  P0=0xff;
  19   1         RSPIN=0;
  20   1         RWPIN=1;
  21   1         EPIN=1;
  22   1         while((P0&0x80)==0x80);
  23   1         EPIN=0;
  24   1      }
  25          
  26          void lcdwcn(unsigned char c)
  27          {  RSPIN=0;
  28   1         RWPIN=0;
  29   1         P0=c;
  30   1         EPIN=1;
  31   1         _nop_();
  32   1         EPIN=0;
  33   1      }
  34          
  35          void lcdwc(unsigned char c)
  36          {  lcdwaitidle();
  37   1         lcdwcn(c);
  38   1      }
  39          
  40          void lcdwd(unsigned char d)
  41          {  lcdwaitidle();
  42   1         RSPIN=1;
  43   1         RWPIN=0;
  44   1         P0=d;
  45   1         EPIN=1;
  46   1         _nop_();
  47   1         EPIN=0;
  48   1      }
  49          
  50          void lcdpos(void)
  51          {  XPOS&=0x0f;
  52   1         YPOS&=0x03;
  53   1         if(YPOS==0x00)
  54   1            lcdwc(XPOS|0x80);
  55   1         else if(YPOS==0x01)
C51 COMPILER V8.02   LCM1602                                                               05/15/2008 14:07:46 PAGE 2   

  56   1            lcdwc((XPOS+0x40)|0x80);
  57   1      }
  58          
  59          void lcdreset()
  60          {  delay1(150); lcdwcn(0x38);
  61   1         delay1(50); lcdwcn(0x38);
  62   1         delay1(50); lcdwcn(0x38);
  63   1         lcdwc(0x38);
  64   1         lcdwc(0x08);
  65   1         lcdwc(0x01);
  66   1         lcdwc(0x06);
  67   1         lcdwc(0x0c);
  68   1      }
  69          
  70          void lcdfill(unsigned char n)
  71          {
  72   1         for(YPOS=0;YPOS<2;YPOS++)
  73   1            for(XPOS=0;XPOS<16;XPOS++)
  74   1            {  lcdpos();
  75   2               lcdwd(n);  }
  76   1      }
  77          
  78          void lcdchar(unsigned char x,unsigned char y,unsigned char ch)
  79          {
  80   1              XPOS=x;  YPOS=y;
  81   1              lcdpos();
  82   1              lcdwd(ch);
  83   1      }
  84          
  85          void lcdwda(unsigned char x,unsigned char y,unsigned char *s)
  86          {  YPOS=y;
  87   1         for(XPOS=x;XPOS<16;XPOS++)
  88   1         {  lcdpos();
  89   2                if (*s=='\0') return;
  90   2            lcdwd(*s);
  91   2            s++;
  92   2            delay1(1);//400);
  93   2         }
  94   1      }


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