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

📄 8.2.lst

📁 本压缩包包含了5个LCD的驱动
💻 LST
字号:
C51 COMPILER V7.09   8_2                                                                   08/23/2005 13:47:31 PAGE 1   


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

line level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          #include <absacc.h>
   4          
   5          unsigned int kongbai;
   6          
   7          sbit p_csa=P2^6;
   8          sbit p_csb=P2^7;
   9          sbit p_gnda=P2^5;
  10          sbit p_gndb=P2^4;
  11          sbit p_di=P2^3;
  12          sbit p_rw=P2^2;
  13          sbit p_e=P2^1;
  14          
  15                                                    //忙判别
  16          void lcd_busy(void) 
  17          {
  18   1              p_di=0;p_rw=1;P0=0xff;
  19   1              while (1) 
  20   1      {
  21   2                      p_e=1;
  22   2                      if (P0<0x80) break;
  23   2                      p_e=0;
  24   2              } 
  25   1              p_e=0;
  26   1      }
  27          //设置xy
  28          void set_xy(unsigned char x,unsigned char y) 
  29          {
  30   1              if (x>=64) {p_csa=0;p_csb=1;} else {p_csb=0;p_csa=1;}
  31   1              lcd_busy();
  32   1              p_di=p_rw=0;P0=0x40|x;p_e=1;p_e=0;
  33   1              lcd_busy();
  34   1              p_di=p_rw=0;P0=0xb8|y;p_e=1;p_e=0;
  35   1              P0=0xff;
  36   1      }
  37          void lw(unsigned char x,unsigned char y,unsigned char dd) 
  38          {
  39   1              set_xy(x,y);
  40   1              lcd_busy();p_di=1;p_rw=0;P0=dd;p_e=1;p_e=0;
  41   1              P0=0xff;
  42   1      }
  43          //显示初始化
  44          #pragma disable
  45          void lcd_init(void) 
  46          {
  47   1              unsigned char x,y;
  48   1              p_gnda=p_gndb=0;
  49   1                                              //开显示
  50   1              p_e=p_di=p_rw=0;
  51   1              p_csa=p_csb=0;
  52   1              p_csa=1;P0=0x3f;p_e=1;p_e=0;p_csa=0;
  53   1              p_csb=1;P0=0x3f;p_e=1;p_e=0;p_csb=0;
  54   1                                             //0行开始显示
  55   1              p_csa=1;lcd_busy();p_di=p_rw=0;P0=0xc0;p_e=1;p_e=0;p_csa=0;
C51 COMPILER V7.09   8_2                                                                   08/23/2005 13:47:31 PAGE 2   

  56   1              p_csb=1;lcd_busy();p_di=p_rw=0;P0=0xc0;p_e=1;p_e=0;p_csb=0;
  57   1              for (y=0;y<8;y++) 
  58   1      {
  59   2                      for (x=0;x<128;x++) lw(x,y,0);
  60   2              }
  61   1      }
  62          
  63          unsigned char code asc[]={
  64          0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
  65          0x0,0x0,0x38,0xfc,0xfc,0x38,0x0,0x0,0x0,0x0,0x0,0xd,0xd,0x0,0x0,0x0,
  66          0x0,0xe,0x1e,0x0,0x0,0x1e,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
  67          0x20,0xf8,0xf8,0x20,0xf8,0xf8,0x20,0x0,0x2,0xf,0xf,0x2,0xf,0xf,0x2,0x0,
  68          0x38,0x7c,0x44,0x47,0x47,0xcc,0x98,0x0,0x6,0xc,0x8,0x38,0x38,0xf,0x7,0x0,
  69          0x30,0x30,0x0,0x80,0xc0,0x60,0x30,0x0,0xc,0x6,0x3,0x1,0x0,0xc,0xc,0x0,
  70          0x80,0xd8,0x7c,0xe4,0xbc,0xd8,0x40,0x0,0x7,0xf,0x8,0x8,0x7,0xf,0x8,0x0,
  71          0x0,0x10,0x1e,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
  72          0x0,0x0,0xf0,0xf8,0xc,0x4,0x0,0x0,0x0,0x0,0x3,0x7,0xc,0x8,0x0,0x0,
  73          0x0,0x0,0x4,0xc,0xf8,0xf0,0x0,0x0,0x0,0x0,0x8,0xc,0x7,0x3,0x0,0x0,
  74          0x80,0xa0,0xe0,0xc0,0xc0,0xe0,0xa0,0x80,0x0,0x2,0x3,0x1,0x1,0x3,0x2,0x0,
  75          0x0,0x80,0x80,0xe0,0xe0,0x80,0x80,0x0,0x0,0x0,0x0,0x3,0x3,0x0,0x0,0x0,
  76          0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x1e,0xe,0x0,0x0,0x0,
  77          0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
  78          0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0xc,0x0,0x0,0x0,
  79          0x0,0x0,0x0,0x80,0xc0,0x60,0x30,0x0,0xc,0x6,0x3,0x1,0x0,0x0,0x0,0x0,
  80          0xf0,0xf8,0xc,0xc4,0xc,0xf8,0xf0,0x0,0x3,0x7,0xc,0x8,0xc,0x7,0x3,0x0,
  81          0x0,0x10,0x18,0xfc,0xfc,0x0,0x0,0x0,0x0,0x8,0x8,0xf,0xf,0x8,0x8,0x0,
  82          0x8,0xc,0x84,0xc4,0x64,0x3c,0x18,0x0,0xe,0xf,0x9,0x8,0x8,0xc,0xc,0x0,
  83          0x8,0xc,0x44,0x44,0x44,0xfc,0xb8,0x0,0x4,0xc,0x8,0x8,0x8,0xf,0x7,0x0,
  84          0xc0,0xe0,0xb0,0x98,0xfc,0xfc,0x80,0x0,0x0,0x0,0x0,0x8,0xf,0xf,0x8,0x0,
  85          0x7c,0x7c,0x44,0x44,0x44,0xc4,0x84,0x0,0x4,0xc,0x8,0x8,0x8,0xf,0x7,0x0,
  86          0xf0,0xf8,0x4c,0x44,0x44,0xc0,0x80,0x0,0x7,0xf,0x8,0x8,0x8,0xf,0x7,0x0,
  87          0xc,0xc,0x4,0x84,0xc4,0x7c,0x3c,0x0,0x0,0x0,0xf,0xf,0x0,0x0,0x0,0x0,
  88          0xb8,0xfc,0x44,0x44,0x44,0xfc,0xb8,0x0,0x7,0xf,0x8,0x8,0x8,0xf,0x7,0x0,
  89          0x38,0x7c,0x44,0x44,0x44,0xfc,0xf8,0x0,0x0,0x8,0x8,0x8,0xc,0x7,0x3,0x0,
  90          0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x6,0x0,0x0,0x0,
  91          0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x8,0xe,0x6,0x0,0x0,0x0,
  92          0x0,0x80,0xc0,0x60,0x30,0x18,0x8,0x0,0x0,0x0,0x1,0x3,0x6,0xc,0x8,0x0,
  93          0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x0,
  94          0x0,0x8,0x18,0x30,0x60,0xc0,0x80,0x0,0x0,0x8,0xc,0x6,0x3,0x1,0x0,0x0,
  95          0x18,0x1c,0x4,0xc4,0xe4,0x3c,0x18,0x0,0x0,0x0,0x0,0xd,0xd,0x0,0x0,0x0,
  96          0xf0,0xf8,0x8,0xc8,0xc8,0xf8,0xf0,0x0,0x7,0xf,0x8,0xb,0xb,0xb,0x1,0x0,
  97          0xe0,0xf0,0x98,0x8c,0x98,0xf0,0xe0,0x0,0xf,0xf,0x0,0x0,0x0,0xf,0xf,0x0,
  98          0x4,0xfc,0xfc,0x44,0x44,0xfc,0xb8,0x0,0x8,0xf,0xf,0x8,0x8,0xf,0x7,0x0,
  99          0xf0,0xf8,0xc,0x4,0x4,0xc,0x18,0x0,0x3,0x7,0xc,0x8,0x8,0xc,0x6,0x0,
 100          0x4,0xfc,0xfc,0x4,0xc,0xf8,0xf0,0x0,0x8,0xf,0xf,0x8,0xc,0x7,0x3,0x0,
 101          0x4,0xfc,0xfc,0x44,0xe4,0xc,0x1c,0x0,0x8,0xf,0xf,0x8,0x8,0xc,0xe,0x0,
 102          0x4,0xfc,0xfc,0x44,0xe4,0xc,0x1c,0x0,0x8,0xf,0xf,0x8,0x0,0x0,0x0,0x0,
 103          0xf0,0xf8,0xc,0x84,0x84,0x8c,0x98,0x0,0x3,0x7,0xc,0x8,0x8,0x7,0xf,0x0,
 104          0xfc,0xfc,0x40,0x40,0x40,0xfc,0xfc,0x0,0xf,0xf,0x0,0x0,0x0,0xf,0xf,0x0,
 105          0x0,0x0,0x4,0xfc,0xfc,0x4,0x0,0x0,0x0,0x0,0x8,0xf,0xf,0x8,0x0,0x0,
 106          0x0,0x0,0x0,0x4,0xfc,0xfc,0x4,0x0,0x7,0xf,0x8,0x8,0xf,0x7,0x0,0x0,
 107          0x4,0xfc,0xfc,0xc0,0xe0,0x3c,0x1c,0x0,0x8,0xf,0xf,0x0,0x1,0xf,0xe,0x0,
 108          0x4,0xfc,0xfc,0x4,0x0,0x0,0x0,0x0,0x8,0xf,0xf,0x8,0x8,0xc,0xe,0x0,
 109          0xfc,0xfc,0x38,0x70,0x38,0xfc,0xfc,0x0,0xf,0xf,0x0,0x0,0x0,0xf,0xf,0x0,
 110          0xfc,0xfc,0x38,0x70,0xe0,0xfc,0xfc,0x0,0xf,0xf,0x0,0x0,0x0,0xf,0xf,0x0,
 111          0xf8,0xfc,0x4,0x4,0x4,0xfc,0xf8,0x0,0x7,0xf,0x8,0x8,0x8,0xf,0x7,0x0,
 112          0x4,0xfc,0xfc,0x44,0x44,0x7c,0x38,0x0,0x8,0xf,0xf,0x8,0x0,0x0,0x0,0x0,
 113          0xf8,0xfc,0x4,0x4,0x4,0xfc,0xf8,0x0,0x7,0xf,0x8,0xe,0x3c,0x3f,0x27,0x0,
 114          0x4,0xfc,0xfc,0x44,0xc4,0xfc,0x38,0x0,0x8,0xf,0xf,0x0,0x0,0xf,0xf,0x0,
 115          0x18,0x3c,0x64,0x44,0xc4,0x9c,0x18,0x0,0x6,0xe,0x8,0x8,0x8,0xf,0x7,0x0,
 116          0x0,0x1c,0xc,0xfc,0xfc,0xc,0x1c,0x0,0x0,0x0,0x8,0xf,0xf,0x8,0x0,0x0,
 117          0xfc,0xfc,0x0,0x0,0x0,0xfc,0xfc,0x0,0x7,0xf,0x8,0x8,0x8,0xf,0x7,0x0,
C51 COMPILER V7.09   8_2                                                                   08/23/2005 13:47:31 PAGE 3   

 118          0xfc,0xfc,0x0,0x0,0x0,0xfc,0xfc,0x0,0x1,0x3,0x6,0xc,0x6,0x3,0x1,0x0,
 119          0xfc,0xfc,0x0,0xc0,0x0,0xfc,0xfc,0x0,0x7,0xf,0xe,0x3,0xe,0xf,0x7,0x0,
 120          0xc,0x3c,0xf0,0xe0,0xf0,0x3c,0xc,0x0,0xc,0xf,0x3,0x1,0x3,0xf,0xc,0x0,
 121          0x0,0x3c,0x7c,0xc0,0xc0,0x7c,0x3c,0x0,0x0,0x0,0x8,0xf,0xf,0x8,0x0,0x0,
 122          0x1c,0xc,0x84,0xc4,0x64,0x3c,0x1c,0x0,0xe,0xf,0x9,0x8,0x8,0xc,0xe,0x0,
 123          0x0,0x0,0xfc,0xfc,0x4,0x4,0x0,0x0,0x0,0x0,0xf,0xf,0x8,0x8,0x0,0x0,
 124          0x38,0x70,0xe0,0xc0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x3,0x7,0xe,0x0,
 125          0x0,0x0,0x4,0x4,0xfc,0xfc,0x0,0x0,0x0,0x0,0x8,0x8,0xf,0xf,0x0,0x0,
 126          0x8,0xc,0x6,0x3,0x6,0xc,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 127          0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
 128          0x0,0x0,0x3,0x7,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 129          0x0,0xa0,0xa0,0xa0,0xe0,0xc0,0x0,0x0,0x7,0xf,0x8,0x8,0x7,0xf,0x8,0x0,
 130          0x4,0xfc,0xfc,0x20,0x60,0xc0,0x80,0x0,0x0,0xf,0xf,0x8,0x8,0xf,0x7,0x0,
 131          0xc0,0xe0,0x20,0x20,0x20,0x60,0x40,0x0,0x7,0xf,0x8,0x8,0x8,0xc,0x4,0x0,
 132          0x80,0xc0,0x60,0x24,0xfc,0xfc,0x0,0x0,0x7,0xf,0x8,0x8,0x7,0xf,0x8,0x0,
 133          0xc0,0xe0,0xa0,0xa0,0xa0,0xe0,0xc0,0x0,0x7,0xf,0x8,0x8,0x8,0xc,0x4,0x0,
 134          0x40,0xf8,0xfc,0x44,0xc,0x18,0x0,0x0,0x8,0xf,0xf,0x8,0x0,0x0,0x0,0x0,
 135          0xc0,0xe0,0x20,0x20,0xc0,0xe0,0x20,0x0,0x27,0x6f,0x48,0x48,0x7f,0x3f,0x0,0x0,
 136          0x4,0xfc,0xfc,0x40,0x20,0xe0,0xc0,0x0,0x8,0xf,0xf,0x0,0x0,0xf,0xf,0x0,
 137          0x0,0x0,0x20,0xec,0xec,0x0,0x0,0x0,0x0,0x0,0x8,0xf,0xf,0x8,0x0,0x0,
 138          0x0,0x0,0x0,0x0,0x20,0xec,0xec,0x0,0x0,0x30,0x70,0x40,0x40,0x7f,0x3f,0x0,
 139          0x4,0xfc,0xfc,0x80,0xc0,0x60,0x20,0x0,0x8,0xf,0xf,0x1,0x3,0xe,0xc,0x0,
 140          0x0,0x0,0x4,0xfc,0xfc,0x0,0x0,0x0,0x0,0x0,0x8,0xf,0xf,0x8,0x0,0x0,
 141          0xe0,0xe0,0x60,0xc0,0x60,0xe0,0xc0,0x0,0xf,0xf,0x0,0x7,0x0,0xf,0xf,0x0,
 142          0x20,0xe0,0xc0,0x20,0x20,0xe0,0xc0,0x0,0x0,0xf,0xf,0x0,0x0,0xf,0xf,0x0,
 143          0xc0,0xe0,0x20,0x20,0x20,0xe0,0xc0,0x0,0x7,0xf,0x8,0x8,0x8,0xf,0x7,0x0,
 144          0x20,0xe0,0xc0,0x20,0x20,0xe0,0xc0,0x0,0x40,0x7f,0x7f,0x48,0x8,0xf,0x7,0x0,
 145          0xc0,0xe0,0x20,0x20,0xc0,0xe0,0x20,0x0,0x7,0xf,0x8,0x48,0x7f,0x7f,0x40,0x0,
 146          0x20,0xe0,0xc0,0x60,0x20,0xe0,0xc0,0x0,0x8,0xf,0xf,0x8,0x0,0x0,0x0,0x0,
 147          0x40,0xe0,0xa0,0x20,0x20,0x60,0x40,0x0,0x4,0xc,0x9,0x9,0xb,0xe,0x4,0x0,
 148          0x20,0x20,0xf8,0xfc,0x20,0x20,0x0,0x0,0x0,0x0,0x7,0xf,0x8,0xc,0x4,0x0,
 149          0xe0,0xe0,0x0,0x0,0xe0,0xe0,0x0,0x0,0x7,0xf,0x8,0x8,0x7,0xf,0x8,0x0,
 150          0x0,0xe0,0xe0,0x0,0x0,0xe0,0xe0,0x0,0x0,0x3,0x7,0xc,0xc,0x7,0x3,0x0,
 151          0xe0,0xe0,0x0,0x80,0x0,0xe0,0xe0,0x0,0x7,0xf,0xc,0x7,0xc,0xf,0x7,0x0,
 152          0x20,0x60,0xc0,0x80,0xc0,0x60,0x20,0x0,0x8,0xc,0x7,0x3,0x7,0xc,0x8,0x0,
 153          0xe0,0xe0,0x0,0x0,0x0,0xe0,0xe0,0x0,0x47,0x4f,0x48,0x48,0x68,0x3f,0x1f,0x0,
 154          0x60,0x60,0x20,0xa0,0xe0,0x60,0x20,0x0,0xc,0xe,0xb,0x9,0x8,0xc,0xc,0x0,
 155          0x0,0x40,0x40,0xf8,0xbc,0x4,0x4,0x0,0x0,0x0,0x0,0x7,0xf,0x8,0x8,0x0,
 156          0x0,0x0,0x0,0xbc,0xbc,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xf,0x0,0x0,0x0,
 157          0x0,0x4,0x4,0xbc,0xf8,0x40,0x40,0x0,0x0,0x8,0x8,0xf,0x7,0x0,0x0,0x0,
 158          0x8,0xc,0x4,0xc,0x8,0xc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
 159          0x80,0xc0,0x60,0x30,0x60,0xc0,0x80,0x0,0x7,0x7,0x4,0x4,0x4,0x7,0x7,0x0
 160          };
 161          
 162          unsigned char code hz[]={
 163          //解:0
 164          0x20,0x10,0xec,0x27,0xf4,0x2c,0xe4,0x40,
 165          0x22,0x9e,0x2,0xd2,0x22,0x1f,0x2,0x0,
 166          0x80,0x40,0x3f,0x9,0x3f,0x89,0xff,0x8,
 167          0xa,0x9,0x9,0xff,0x9,0x9,0x8,0x0
 168          };
 169          
 170          //显示汉字,fb==1:反白显示
 171          void dh(unsigned char x,unsigned char y,unsigned char n,unsigned char fb) 
 172          {
 173   1              unsigned char i,dd;
 174   1              for (i=0;i<16;i++) 
 175   1      {
 176   2                      dd=hz[i+n*32];
 177   2                      if (fb) if (n!=kongbai) dd=255-dd;
 178   2                      lw(x*8+i,y,dd);
 179   2                      dd=hz[i+n*32+16];
C51 COMPILER V7.09   8_2                                                                   08/23/2005 13:47:31 PAGE 4   

 180   2                      if (fb) if (n!=kongbai) dd=255-dd;
 181   2                      lw(x*8+i,y+1,dd);
 182   2              }
 183   1      }
 184          
 185          //显示字符,fb==1:反白显示
 186          void da(unsigned char x,unsigned char y,unsigned char n,unsigned char fb) 
 187          {
 188   1              unsigned char i,dd;
 189   1              n-=32;
 190   1              if (n>128) n=0;
 191   1              if (fb) dd=255; else dd=0; 
 192   1              lw(x*8,y,dd);
 193   1              lw(x*8,y+1,dd);
 194   1              for (i=0;i<7;i++) 
 195   1      {
 196   2                      dd=asc[i+n*16];
 197   2                      if (fb) dd=255-dd; 
 198   2                      lw(x*8+i+1,y,dd);
 199   2                      dd=asc[i+n*16+8];
 200   2                      if (fb) dd=255-dd; 
 201   2                      lw(x*8+i+1,y+1,dd);
 202   2              }
 203   1      }


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