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

📄 12864.lst

📁 gxm12864液晶模块的显示中文的简单程序!
💻 LST
字号:
C51 COMPILER V7.00  12864                                                                  05/24/2009 19:08:38 PAGE 1   


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

stmt level    source

   1          #include <reg52.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          #define dataport P0
   5          sbit di=P2^2;
   6          sbit rw=P2^3;
   7          sbit e=P2^4;
   8          sbit cs1=P2^0;
   9          sbit cs2=P2^1;
  10          sbit rst=P2^5;
  11          uchar code hzdot[256]={
  12          /*--  文字:  光  --*/
  13          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  14          0x00,0x40,0x42,0x44,0x5C,0xC8,0x40,0x7F,0x40,0xC0,0x50,0x4E,0x44,0x60,0x40,0x00,
  15          0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00,
  16          
  17          /*--  文字:  电  --*/
  18          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  19          0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
  20          0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,
  21          
  22          /*--  文字:  信  --*/
  23          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  24          0x80,0x40,0x30,0xFC,0x07,0x0A,0xA8,0xA8,0xA9,0xAE,0xAA,0xA8,0xA8,0x08,0x08,0x00,
  25          0x00,0x00,0x00,0x7F,0x00,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,
  26          
  27          /*--  文字:  息  --*/
  28          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  29          0x00,0x00,0x00,0xFC,0x54,0x54,0x56,0x55,0x54,0x54,0x54,0xFC,0x00,0x00,0x00,0x00,
  30          0x00,0x20,0x38,0x01,0x3D,0x41,0x41,0x45,0x59,0x41,0x41,0x71,0x00,0x08,0x30,0x00,
  31          
  32          /*--  文字:  工  --*/
  33          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  34          0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
  35          0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
  36          
  37          /*--  文字:  程  --*/
  38          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  39          0x10,0x12,0xD2,0xFE,0x91,0x11,0x80,0xBF,0xA1,0xA1,0xA1,0xA1,0xBF,0x80,0x00,0x00,
  40          0x04,0x03,0x00,0xFF,0x00,0x41,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x40,0x00,
  41          
  42          /*--  文字:  赵  --*/
  43          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  44          0x40,0x48,0x48,0x48,0xFF,0x48,0x48,0x40,0x08,0x10,0x20,0xC0,0x30,0x0C,0x00,0x00,
  45          0x40,0x30,0x0F,0x10,0x3F,0x42,0x42,0x42,0x48,0x44,0x43,0x40,0x43,0x4C,0x40,0x00,
  46          
  47          /*--  文字:  波  --*/
  48          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  49          0x10,0x60,0x01,0xE6,0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x18,0x08,0x00,
  50          0x04,0x04,0xFF,0x40,0x30,0x8F,0x80,0x41,0x26,0x18,0x18,0x26,0x61,0xC0,0x40,0x00,
  51          };
  52          
  53          void delay(uint v);
  54          void reset();
  55          void lcdinit();
C51 COMPILER V7.00  12864                                                                  05/24/2009 19:08:38 PAGE 2   

  56          void clear_disp();
  57          void onoff(uchar on);
  58          void wcode(uchar c,uchar a,uchar b);
  59          void set_adr(uchar x,uchar y,uchar a,uchar b);
  60          void set_startline(uchar z);
  61          void wdata(uchar c,uchar a,uchar b);
  62          void hzdot_disp();
  63          
  64          
  65          void main(void)
  66          {
  67   1       delay(10);
  68   1       reset();
  69   1       lcdinit();
  70   1       delay(10);
  71   1       hzdot_disp();
  72   1       while(1);
  73   1      }
  74          
  75          
  76          void delay(uint v)
  77          {
  78   1        while(v--);
  79   1      }
  80          
  81          
  82          void reset()
  83          {
  84   1       rst=0;
  85   1       delay(20);
  86   1       rst=1;
  87   1       delay(20);
  88   1      }
  89          
  90          
  91          void lcdinit()
  92          {
  93   1       clear_disp();
  94   1       onoff(0);
  95   1       onoff(1);
  96   1       set_startline(0);
  97   1      }
  98          
  99          
 100          void clear_disp()
 101          {
 102   1       uchar i,j,x;
 103   1       for(i=0;i<8;i++)
 104   1       {
 105   2       x=i+0xb8;
 106   2       wcode(x,1,1);
 107   2       wcode(0x40,1,1);
 108   2       for(j=0;j<64;j++)
 109   2       {wdata(0x00,1,1);}
 110   2       }
 111   1      }
 112          
 113          
 114          void wcode(uchar c,uchar a,uchar b)
 115          {
 116   1       cs1=a;
 117   1       cs2=b;
C51 COMPILER V7.00  12864                                                                  05/24/2009 19:08:38 PAGE 3   

 118   1       di=0;
 119   1       rw=0;
 120   1       dataport=c;
 121   1       e=0;
 122   1       delay(10);
 123   1       e=1;
 124   1       delay(10);
 125   1       e=0;
 126   1      }
 127          
 128          
 129          void onoff(uchar on)
 130          {
 131   1       on=on+0x3e;
 132   1       wcode(on,1,1);
 133   1      }
 134          
 135          
 136          void set_adr(uchar x,uchar y,uchar a,uchar b)
 137          {
 138   1       x=x+0xb8;y=y=0x40;
 139   1       wcode(x,a,b);
 140   1       wcode(y,a,b);
 141   1      }
 142          
 143          
 144          void set_startline(uchar z)
 145          {
 146   1       z=z+0xc0;
 147   1       wcode(z,1,1);
 148   1      }
 149          
 150          
 151          void wdata(uchar c,uchar a,uchar b)
 152          {
 153   1       cs1=a;
 154   1       cs2=b;
 155   1       di=1;
 156   1       rw=0;
 157   1       dataport=c;
 158   1       e=0;
 159   1       delay(10);
 160   1       e=1;
 161   1       delay(10);
 162   1       e=0;
 163   1      }
 164          
 165          
 166          void hzdot_disp()
 167          {
 168   1       uchar h,order;
 169   1       set_adr(4,0,1,1);
 170   1       for(order=0;order<4;order++)
 171   1       {
 172   2       for(h=0;h<16;h++)
 173   2       {
 174   3        wdata(hzdot[order*32+h],1,0);
 175   3        wdata(hzdot[order*32+h+128],0,1);
 176   3       }
 177   2      }
 178   1      set_adr(5,0,1,1);
 179   1       for(order=0;order<4;order++)
C51 COMPILER V7.00  12864                                                                  05/24/2009 19:08:38 PAGE 4   

 180   1       {
 181   2       for(h=0;h<16;h++)
 182   2       {
 183   3        wdata(hzdot[order*32+h+16],1,0);
 184   3        wdata(hzdot[order*32+h+16+128],0,1);
 185   3       }
 186   2      }
 187   1      }
 188          
 189          


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