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

📄 22222_fun.lst

📁 液晶MGLS2401128TA的控制程序
💻 LST
字号:
C51 COMPILER V7.08   22222_FUN                                                             08/08/2005 20:36:11 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE 22222_FUN
OBJECT MODULE PLACED IN 22222_FUN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 22222_FUN.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /**************************/
   2          /*      初始化函数        */
   3          /**************************/
   4          INT_1()
   5              {
   6   1             dat1=0x00;      /*设文本显示区域首地址*/
*** ERROR C202 IN LINE 6 OF 22222_FUN.C: 'dat1': undefined identifier
   7   1             dat2=0x00;
*** ERROR C202 IN LINE 7 OF 22222_FUN.C: 'dat2': undefined identifier
   8   1             com=0x40;
*** ERROR C202 IN LINE 8 OF 22222_FUN.C: 'com': undefined identifier
   9   1             PR1();
  10   1             dat1=para1;    /*设文本显示区域宽度*/
  11   1             dat2=0x00;
  12   1             com=0x41;
  13   1             PR1();
  14   1             dat1=0x00;    /*设图形显示区域首地址*/
  15   1             dat2=0x08;
  16   1             com=0x42;
  17   1             PR1();
  18   1             dat1=para1;    /*设图形显示区域宽度*/
  19   1             dat2=0x00;
  20   1             com=0x43;
  21   1             PR1();
  22   1             com=0xa0;      /*光标形状设置*/
  23   1             PR12();
  24   1             com=0x80;      /*显示方式设置逻辑"或"合成*/
  25   1             PR12();
  26   1             com=0x9c;      /*显示开关设置 开文本和图形显示*/
  27   1             PR12();
  28   1          }
  29          /***************************/
  30          /*       清显示函数        */
  31          /***************************/
  32          CLEAR()
  33              {
  34   1          unsigned int i;
  35   1              dat1=0x00;
  36   1              dat2=0x00;
  37   1              com=0x24;  /* 设置显示地址 */
  38   1              PR1();
  39   1              com=0xb0;  /* 设置自动写方式 */
  40   1              PR12();
  41   1          for(i=0;i<8200;i++) /* 清8K存储器 */
  42   1             {
  43   2               ST3();
  44   2               d_add=0x00;
  45   2             }
  46   1             com=0xb2;     /* 设置自动写结束方式 */
  47   1             PR12();
  48   1          }
  49          /**************************/
  50          /*       CGRAM函数        */
  51          /**************************/
  52          CGRAM()
C51 COMPILER V7.08   22222_FUN                                                             08/08/2005 20:36:11 PAGE 2   

  53               {
  54   1              unsigned int i;
  55   1                 dat1=0x03;
  56   1                 dat2=0x00;
  57   1                 com=0x22;   /* 设置CGRAM偏置地址 */
  58   1                 PR1();
  59   1                 dat1=0x00;
  60   1                 dat2=0x1c;
  61   1                 com=0x24;   /* 设置存储器地址指针 */
  62   1                 PR1();
  63   1                 com=0xb0;   /* 设置自动写方式 */
  64   1                 PR12();
  65   1              for(i=0;i<64;i++)
  66   1                 {
  67   2                   ST3();
  68   2                   d_add=CGTAB[i];
  69   2                 }
  70   1              com=0xb2;     /* 设置自动写结束方式 */
  71   1              PR12();
  72   1           }
  73          /********************************/
  74          /*    汉字写入(文本方式)函数    */
  75          /********************************/
  76          CCW1_PR()
  77               {
  78   1              unsigned int i,j;
  79   1              i=para1;
  80   1              j=i*O_Y+O_X;
  81   1              dat1=j%256;
  82   1              dat2=j/256;
  83   1              com=0x24;  /* 设置显示地址 */
  84   1              PR1();
  85   1              dat2=code_1;  /* 写入左上半部汉字代码 */
  86   1              com=0xc0;
  87   1              PR11();
  88   1              dat2=code_1+0x02;  /* 写入右上半部汉字代码 */
  89   1              PR11();
  90   1              j=j+i;
  91   1              dat1=j%256;   /* 显示RAM地址修正 */
  92   1              dat2=j/256;
  93   1              com=0x24;
  94   1              PR1();
  95   1              dat2=code_1+0x01; /* 写入左下半部汉字代码 */
  96   1              com=0xc0;
  97   1              PR11();
  98   1              dat2=code_1+0x03;  /* 写入右下半部汉字代码 */
  99   1              PR11();
 100   1           }
 101          /********************************/
 102          /*    汉字写入(图形方式)函数  */
 103          /********************************/
 104          CCW2_PR()
 105              {
 106   1           unsigned int i,j,count1;
 107   1              i=para1;
 108   1              j=i*O_Y+O_X+0x0800;   /* 图形显示区首地址为0x0800*/
 109   1                   for(count1=0;count1<16;count1++)
 110   1                      {
 111   2                       dat1=j%256;  /* 显示地址设置 */
 112   2                       dat2=j/256;
 113   2                       com=0x24;
 114   2                       PR1();
C51 COMPILER V7.08   22222_FUN                                                             08/08/2005 20:36:11 PAGE 3   

 115   2                       dat2=CCTAB[code_1][count1];
 116   2                       com=0xc0;
 117   2                       PR11();
 118   2                       dat2=CCTAB[code_1][count1+16];
 119   2                       PR11();
 120   2                       j=j+i;
 121   2                      }
 122   1           }
 123          /********************************/
 124          /*  西文字符写入(文本属性)函数  */
 125          /********************************/
 126              CW2_PR()
 127                 {
 128   1             unsigned int i,j;
 129   1              i=para1;
 130   1              j=i*O_Y+O_X;
 131   1              dat1=j%256;
 132   1              dat2=j/256;
 133   1              com=0x24;  /* 显示地址设置 */
 134   1              PR1();
 135   1              dat2=code_1;
 136   1              com=0xc4;  /* 数据写 */
 137   1              PR11();
 138   1              dat2=0x08;
 139   1              com=0x24;
 140   1              PR1();
 141   1              dat2=attr;  /* 写入属性参数 */
 142   1              com=0xc4;
 143   1              PR11();
 144   1             }
 145          /****************************/
 146          /*        绘点函数          */
 147          /****************************/
 148          W_DOT()
 149              {
 150   1            unsigned char i,j;
 151   1            unsigned int k;
 152   1               i=para1;
 153   1               j=O_X%8;
 154   1               O_X=O_X/8;
 155   1               k=i*O_Y+O_X+0x0800;
 156   1               dat1=k%256;
 157   1               dat2=k/256;
 158   1               com=0x24;
 159   1               PR1();
 160   1               j=0x07-j;
 161   1               com=i|0xf8;  /* 位操作 */
 162   1               PR12();
 163   1           }
 164          /****************************/
 165          /*    写指令和写数据函数    */
 166          /****************************/
 167          PR1()              /* 双字节参数指令写入入口 */
 168              {
 169   1            ST01();
 170   1            d_add=dat1;  /* 取第一参数单元数据 */
 171   1            PR11();
 172   1          }
 173          PR11()             /* 单字节参数指令写入入口 */
 174              {
 175   1            ST01();
 176   1            d_add=dat2;  /* 取第二参数单元数据 */
C51 COMPILER V7.08   22222_FUN                                                             08/08/2005 20:36:11 PAGE 4   

 177   1            PR12();
 178   1          }
 179          PR12()             /* 无参数指令写入入口 */
 180             {
 181   1           ST01();
 182   1           c_add=com;    /* 写入指令代码 */
 183   1         }
 184          /************************************************/
 185          /*  判状态位S1,S0 函数(读写指令和读写数据状态)  */
 186          /************************************************/
 187          ST01()
 188              {
 189   1            do
 190   1              {
 191   2              ACC=c_add;
 192   2              }
 193   1            while(Acc_0==0,Acc_1==0);
 194   1          }
 195          /************************************/
 196          /*  判状态位S2函数(数据自动读状态)  */
 197          /************************************/
 198          ST2()
 199             {
 200   1           do
 201   1           {
 202   2             ACC=c_add;
 203   2           }
 204   1          while(Acc_2==0);
 205   1         }
 206          /************************************/
 207          /*  判状态位S3函数(数据自动写状态)  */
 208          /************************************/
 209          ST3()
 210             {
 211   1           do
 212   1           {
 213   2             ACC=c_add;
 214   2           }
 215   1           while(Acc_3==0);
 216   1         }
 217          
 218          

C51 COMPILATION COMPLETE.  0 WARNING(S),  3 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -