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

📄 ex.lst

📁 AT89S51 16402lcd液晶显示 单片机学习板的程序
💻 LST
字号:
C51 COMPILER V8.02   EX                                                                    10/16/2008 17:00:43 PAGE 1   


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

line level    source

   1          //****************Copyright (c)*************
   2          //         成都麟鑫科技有限责任公司
   3          //         http://www.linxinpro.com
   4          //******************************************
   5          #include<reg51.h>
   6          #define uint unsigned int
   7          #define uchar unsigned char
   8          
   9          void WRI(uchar a);
  10          void WRD(uchar b);
  11          void display_picture();
  12          void display_Chinese(uchar row,uchar line,uchar num );
  13          void display_word(uchar row1,uchar line1,uchar *p,uchar first,uchar last);
  14          void delay(uint c);     
  15          
  16          sbit RS=P3^7;
  17          sbit E=P3^6;
  18          sbit P2_2=P2^2;
  19          sbit P2_3=P2^3;
  20          
  21          
  22          uchar code buf[1024]={                       //麟鑫开机商标图
  23          0xFF,0xFF,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  24          0xFF,0xFF,0x80,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  25          0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  26          0xFF,0xFC,0x0F,0xFF,0xFF,0xFF,0xFD,0xFB,0xFF,0x9F,0xFF,0x3E,0xFD,0xFB,0xFF,0xFF,
  27          0xFF,0xF8,0x1F,0xFF,0xFF,0xFF,0xFE,0xEB,0x7F,0x6F,0xF0,0xEE,0xFD,0xFB,0xFF,0xFF,
  28          0xFF,0xF0,0x7F,0xFF,0xFF,0xFF,0xF0,0x12,0xFE,0xF3,0xFE,0xF6,0xFD,0xFB,0xFF,0xFF,
  29          0xFF,0xC0,0x7F,0xFF,0xFF,0xFF,0xF5,0x60,0x39,0x0C,0x7E,0xF6,0xE0,0x40,0x3F,0xFF,
  30          0xFF,0xC0,0xFF,0xFF,0xFF,0xFF,0xF0,0x11,0xE7,0xDF,0xE0,0x3E,0xFD,0xFB,0xFF,0xFF,
  31          0xFF,0x81,0xFF,0xFF,0xFF,0xFF,0xF5,0x4A,0x7F,0x07,0xFC,0xEE,0xFD,0x7B,0xFF,0xFF,
  32          0xFF,0x81,0xFF,0xC7,0xFF,0xFF,0xF0,0x1B,0xFE,0xDB,0xFC,0x76,0xFC,0xC0,0x7F,0xFF,
  33          0xFF,0x81,0xFF,0x81,0xFF,0xFF,0xF6,0xEE,0xF8,0x00,0x7A,0xB6,0xF9,0xDE,0xFF,0xFF,
  34          0xFF,0x81,0xFF,0x00,0xFF,0xFF,0xF6,0xE0,0x3D,0xFB,0xFA,0xFE,0x25,0xEE,0xFF,0xFF,
  35          0xFF,0x81,0xFE,0x00,0x7F,0xFF,0xF0,0x1A,0xFA,0xF5,0xF6,0xF0,0xFD,0xED,0xFF,0xFF,
  36          0xFF,0x81,0xFE,0x00,0x7F,0xFF,0xF6,0xD6,0xF0,0x20,0xEE,0x8E,0xFD,0xF3,0xFF,0xFF,
  37          0xFF,0x81,0xFC,0x00,0x3F,0xFF,0xF6,0xA0,0x2E,0xDB,0x3E,0xFE,0xFD,0xF3,0xFF,0xFF,
  38          0xFF,0x81,0xFC,0x00,0x3F,0xFF,0xF4,0x6E,0xF8,0x61,0xFE,0xFE,0xFD,0xED,0xFF,0xFF,
  39          0xFE,0xC1,0xFE,0x00,0x7F,0xFF,0xEA,0xDE,0xFA,0xAA,0xFE,0xFE,0xFD,0xDE,0x3F,0xFF,
  40          0xFE,0xC0,0xFE,0x00,0x7F,0xFF,0xEF,0xBE,0xFC,0x31,0xFE,0xFE,0xF5,0x3F,0x7F,0xFF,
  41          0xFE,0xF0,0xFF,0x81,0xFF,0xDF,0xFF,0xFE,0xF1,0xC0,0x3E,0xFE,0xFB,0xFF,0xFF,0xFF,
  42          0xFE,0xF0,0x7F,0xC7,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  43          0xFE,0x78,0x7F,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  44          0xFE,0x7C,0x3F,0xFF,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  45          0xFE,0x3E,0x1F,0xFF,0xFF,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  46          0xFF,0x1F,0x8F,0xFF,0xFE,0x3F,0xE0,0x20,0x63,0xFF,0xFC,0xF8,0x78,0x7F,0xFF,0xFF,
  47          0xFF,0x0F,0x87,0xFF,0xFC,0x3F,0xED,0xB7,0xB7,0xFF,0xFB,0x77,0xB7,0xBF,0xFF,0xFF,
  48          0xFF,0x07,0xF1,0xFF,0xF8,0x7F,0xFD,0xF6,0xF7,0xFF,0xF7,0xB7,0xB7,0xBF,0xFF,0xFF,
  49          0xFF,0x83,0xFE,0x7F,0xF0,0x7F,0xFD,0xF6,0xF7,0xFC,0xF7,0xBF,0xB7,0xBF,0xFF,0xFF,
  50          0xFF,0x81,0xFF,0xFF,0xE0,0xFF,0xFD,0xF0,0xF7,0xFC,0xF7,0xBF,0x78,0x60,0x3F,0xFF,
  51          0xFF,0xC0,0xFF,0xFF,0xC0,0xFF,0xFD,0xF6,0xF7,0xFF,0xF7,0xBE,0xFB,0x7F,0xFF,0xFF,
  52          0xFF,0xE0,0x3F,0xFF,0x01,0xFF,0xFD,0xF6,0xF7,0xFF,0xF7,0xBD,0xF7,0xBF,0xFF,0xFF,
  53          0xFF,0xF8,0x00,0x00,0x03,0xFF,0xFD,0xF7,0xF7,0xFF,0xF7,0xBB,0xF7,0xBF,0xFF,0xFF,
  54          0xFF,0xFC,0x00,0x00,0x03,0xFF,0xFD,0xF7,0xB7,0xBC,0xFB,0x77,0xB7,0xBF,0xFF,0xFF,
  55          0xFF,0xFC,0x00,0x00,0x0F,0xFF,0xF8,0xE0,0x60,0x3C,0xFC,0xF0,0x38,0x7F,0xFF,0xFF,
C51 COMPILER V8.02   EX                                                                    10/16/2008 17:00:43 PAGE 2   

  56          0xFF,0xFF,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  57          0xFF,0xFF,0x80,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  58          0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  59          0xFD,0xF7,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  60          0xFE,0xD6,0xFF,0xFF,0xFB,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  61          0xF0,0x65,0xFF,0xFF,0xF0,0x1F,0xF8,0x7D,0xF0,0x3C,0x78,0x7C,0xF8,0xF0,0x3F,0xFF,
  62          0xF5,0x80,0x7F,0xFF,0xCD,0xE3,0xF7,0xB1,0xF7,0x7B,0x77,0xBB,0x77,0x77,0xFF,0xFF,
  63          0xF0,0x65,0xFF,0xFF,0x20,0x1F,0xF7,0xBD,0xF7,0x77,0xF7,0xB7,0xB7,0xB7,0xFF,0xFF,
  64          0xF5,0x56,0x7F,0xFF,0xF5,0xBF,0xF7,0xBD,0xFE,0xF7,0xFF,0xB7,0xB7,0xB4,0x7F,0xFF,
  65          0xF5,0x15,0xFF,0xFF,0x80,0x07,0xF8,0x7D,0xFE,0xF4,0x7F,0x77,0xB7,0x33,0xBF,0xFF,
  66          0xF0,0x5D,0xFF,0xFF,0xD7,0x5F,0xFB,0x7D,0xFD,0xF3,0xBE,0xF7,0xB8,0xBF,0xBF,0xFF,
  67          0xF2,0xC0,0x7F,0xFF,0x82,0xEF,0xF7,0xBD,0xFD,0xF7,0xBD,0xF7,0xBF,0xBF,0xBF,0xFF,
  68          0xF0,0x2D,0xFF,0xFF,0x6D,0x13,0xF7,0xBD,0xFD,0xF7,0xBB,0xF7,0xBF,0xB7,0xBF,0xFF,
  69          0xF2,0xCD,0xFF,0xFF,0x83,0xBF,0xF7,0xBD,0xFD,0xF7,0xB7,0xBB,0x7B,0x77,0xBF,0xFF,
  70          0xEA,0x50,0x7F,0xFF,0xEC,0x07,0xF8,0x70,0x7D,0xF8,0x70,0x3C,0xF8,0xF8,0x7F,0xFF,
  71          0xE8,0xBD,0xFF,0xFF,0xA2,0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  72          0xEF,0x7D,0xFF,0xFF,0x0C,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  73          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  74          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  75          0xFF,0xFF,0xFF,0xFF,0x8F,0xDF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  76          0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  77          0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  78          0xF2,0x85,0x0A,0x7F,0xEF,0x1C,0x99,0x18,0xE4,0xC1,0xC9,0xC7,0xFF,0x0E,0x30,0x7F,
  79          0xFA,0xB5,0x6A,0xFF,0xEF,0xDE,0x6D,0xBE,0xF3,0x6E,0xE7,0xBB,0xFE,0xED,0xDA,0xBF,
  80          0xFA,0xB5,0x6A,0xFF,0xEF,0xDE,0xEE,0x7E,0xF7,0x6E,0xEF,0xBB,0xFE,0xFD,0xDA,0xBF,
  81          0xFA,0xB5,0x6A,0xFF,0xEF,0xDE,0xEE,0x7E,0xF7,0x6E,0xEF,0xBB,0xFE,0xFD,0xDA,0xBF,
  82          0xFD,0x7A,0xF5,0xCF,0xEF,0xDE,0xED,0xBE,0xF7,0x6E,0xEF,0xBB,0x3E,0xED,0xDA,0xBF,
  83          0xFD,0x7A,0xF5,0xCF,0x83,0x04,0x60,0x98,0x23,0x21,0xC3,0xC7,0x3F,0x1E,0x32,0x9F,
  84          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  85          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  86          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  87          
  88          
  89          };
  90          uchar code word[4][2]={     
  91                          {0xF7,0xEB},     //麟
  92                                  {0xF6,0xCE},     //鑫
  93                                  {0xBF,0xC6},     //科
  94                                  {0xBC,0xBC}      //技
  95          };
  96          uchar code word1[16]={
  97                       0x77,     //w                                              
  98                                   0x77,     //w
  99                       0x77,     //w
 100                       0x2E,     //.
 101                       0x6C,     //l
 102                       0x69,     //i
 103                       0x6E,     //n
 104                       0x78,     //x
 105                       0x69,     //i
 106                       0x6E,     //n
 107                       0x70,     //p
 108                       0x72,     //r
 109                       0x6F,     //o
 110                       0x2E,     //.
 111                       0x63,     //c
 112                       0x6E,         //n
 113                       };
 114          uchar code word2 [17]={
 115                       0x20,
 116                       0x54,     //T
 117                                   0x45,     //E
C51 COMPILER V8.02   EX                                                                    10/16/2008 17:00:43 PAGE 3   

 118                                   0x4C,     //L
 119                                   0x3A,      //:
 120                       0x30,     //0
 121                       0x32,     //2
 122                       0x38,     //8
 123                       0x2D,     //-
 124                       0x38,     //8
 125                       0x31,     //1
 126                       0x37,     //7
 127                       0x36,     //6
 128                       0x32,     //2
 129                       0x30,     //0
 130                       0x39,     //9
 131                       0x35      //5
 132                       };
 133          void main()
 134          { 
 135   1              P2_2=1;
 136   1              P2_3=1;
 137   1              do
 138   1              {
 139   2                      display_picture();
 140   2                      display_Chinese(1,4,4);
 141   2                      display_word(4,1,word1,1,16);
 142   2                      display_word(2,4,word2,1,9);
 143   2                      display_word(3,4,word2,9,25);
 144   2              }
 145   1              while(1);
 146   1      
 147   1      }
 148          //===============================
 149          void WRI(uchar a)
 150          {   
 151   1              RS=0;  //写指令数据
 152   1              P2=a;
 153   1              E=1;
 154   1              E=0;    
 155   1              delay(100);
 156   1      }
 157          //===============================
 158          void WRD(uchar b)
 159          {    
 160   1              RS=1;  //写显示数据
 161   1              P2=b;
 162   1              E=1;
 163   1              E=0;
 164   1              delay(100);
 165   1      }
 166          //===============================
 167          void display_picture()
 168          {                    //蝴蝶
 169   1          uchar i,j,k;
 170   1          WRI(0x01);//清屏显示
 171   1          WRI(0x32);//绘图显示开
 172   1          WRI(0x36);//功能设置为扩充指令集
 173   1          for(k=0;k<2;k++)
 174   1              {
 175   2              for(i=0;i<32;i++)
 176   2                  {
 177   3                 WRI(0x80+i);
 178   3                 WRI(0x80+k*8);
 179   3                 for(j=0;j<16;j++)
C51 COMPILER V8.02   EX                                                                    10/16/2008 17:00:43 PAGE 4   

 180   3                     WRD(buf[k*512+i*16+j]);
 181   3              }
 182   2          }
 183   1      }
 184          //===============================
 185          void display_Chinese(uchar row,uchar line,uchar num )
 186          {  
 187   1              uchar n;
 188   1          WRI(0x30);//功能设置为基本指令集
 189   1              WRI(0x0c);//显示打开,光标关,显示反白关
 190   1              //WRI(0x01);//清屏显示
 191   1              WRI(0x06);//DDRAM地址计数器(AC)加1
 192   1              switch (row)
 193   1              {
 194   2                      case 1: row=0x80;break;                 
 195   2                      case 2: row=0x90;break;
 196   2                      case 3: row=0x88;break;
 197   2                      case 4: row=0x98;break;
 198   2                      default:         break;
 199   2              }
 200   1              WRI(row+line-0x01); //写DDRAM地址
 201   1              for(n=0;n<num;n++)
 202   1              {
 203   2                  WRD(word[n][0]);
 204   2                  WRD(word[n][1]);
 205   2              } 
 206   1      }
 207          
 208          //===============================
 209          void display_word(uchar row1,uchar line1,uchar *p,uchar first,uchar last)
 210          {
 211   1          uchar m;
 212   1          WRI(0x30);//功能设置为基本指令集
 213   1              WRI(0x0c);//显示打开,光标关,显示反白关
 214   1              //WRI(0x01);//清屏显示
 215   1              WRI(0x06);//DDRAM地址计数器(AC)加1
 216   1          
 217   1              switch (row1)
 218   1              {
 219   2                      case 1: row1=0x80;break;                        
 220   2                      case 2: row1=0x90;break;
 221   2                      case 3: row1=0x88;break;
 222   2                      case 4: row1=0x98;break;
 223   2                      default:          break;
 224   2              }
 225   1              WRI(row1+line1-0x01); //写DDRAM地址
 226   1              for(m=(first-0x01);m<(last-first+0x01);m++)
 227   1                  WRD(p[m]);    
 228   1      
 229   1      }
 230          //===============================
 231          void delay(uint c)
 232          {
 233   1              while(c--);
 234   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    464    ----
   CONSTANT SIZE    =   1065    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V8.02   EX                                                                    10/16/2008 17:00:43 PAGE 5   

   DATA SIZE        =   ----      15
   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 + -