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

📄 22222.lst

📁 液晶MGLS2401128TA的控制程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 180   2             }
 181   1             com=0xb2;     /* 设置自动写结束方式 */
 182   1             PR12();
 183   1          }
 184          /**************************/
 185          /*       CGRAM函数        */
 186          /**************************/
 187          CGRAM()
 188               {
 189   1              unsigned int i;
 190   1                 dat1=0x03;
 191   1                 dat2=0x00;
 192   1                 com=0x22;   /* 设置CGRAM偏置地址 */
 193   1                 PR1();
 194   1                 dat1=0x00;
 195   1                 dat2=0x1c;
 196   1                 com=0x24;   /* 设置存储器地址指针 */
 197   1                 PR1();
 198   1                 com=0xb0;   /* 设置自动写方式 */
 199   1                 PR12();
 200   1              for(i=0;i<64;i++)
 201   1                 {
 202   2                   ST3();
 203   2                   d_add=CGTAB[i];
 204   2                 }
 205   1              com=0xb2;     /* 设置自动写结束方式 */
 206   1              PR12();
 207   1           }
 208          /********************************/
 209          /*    汉字写入(文本方式)函数    */
 210          /********************************/
 211          CCW1_PR()
 212               {
 213   1              unsigned int i,j;
 214   1              i=para1;
 215   1              j=i*O_Y+O_X;
 216   1              dat1=j%256;
 217   1              dat2=j/256;
 218   1              com=0x24;  /* 设置显示地址 */
 219   1              PR1();
 220   1              dat2=code_1;  /* 写入左上半部汉字代码 */
 221   1              com=0xc0;
 222   1              PR11();
 223   1              dat2=code_1+0x02;  /* 写入右上半部汉字代码 */
 224   1              PR11();
 225   1              j=j+i;
 226   1              dat1=j%256;   /* 显示RAM地址修正 */
 227   1              dat2=j/256;
 228   1              com=0x24;
 229   1              PR1();
 230   1              dat2=code_1+0x01; /* 写入左下半部汉字代码 */
 231   1              com=0xc0;
 232   1              PR11();
 233   1              dat2=code_1+0x03;  /* 写入右下半部汉字代码 */
 234   1              PR11();
 235   1           }
 236          /********************************/
 237          /*    汉字写入(图形方式)函数  */
 238          /********************************/
 239          CCW2_PR()
 240              {
 241   1           unsigned int i,j,count1;
C51 COMPILER V7.08   22222                                                                 08/27/2005 22:51:02 PAGE 5   

 242   1              i=para1;
 243   1              j=i*O_Y+O_X+0x0800;   /* 图形显示区首地址为0x0800*/
 244   1                   for(count1=0;count1<16;count1++)
 245   1                      {
 246   2                       dat1=j%256;  /* 显示地址设置 */
 247   2                       dat2=j/256;
 248   2                       com=0x24;
 249   2                       PR1();
 250   2                       dat2=CCTAB[code_1][count1];
 251   2                       com=0xc0;
 252   2                       PR11();
 253   2                       dat2=CCTAB[code_1][count1+16];
 254   2                       PR11();
 255   2                       j=j+i;
 256   2                      }
 257   1           }
 258          /********************************/
 259          /*  西文字符写入(文本属性)函数  */
 260          /********************************/
 261              CW2_PR()
 262                 {
 263   1             unsigned int i,j;
 264   1              i=para1;
 265   1              j=i*O_Y+O_X;
 266   1              dat1=j%256;
 267   1              dat2=j/256;
 268   1              com=0x24;  /* 显示地址设置 */
 269   1              PR1();
 270   1              dat2=code_1;
 271   1              com=0xc4;  /* 数据写 */
 272   1              PR11();
 273   1              dat2=0x08;
 274   1              com=0x24;
 275   1              PR1();
 276   1              dat2=attr;  /* 写入属性参数 */
 277   1              com=0xc4;
 278   1              PR11();
 279   1             }
 280          /****************************/
 281          /*        绘点函数          */
 282          /****************************/
 283          W_DOT()
 284              {
 285   1            unsigned char i,j;
 286   1            unsigned int k;
 287   1               i=para1;
 288   1               j=O_X%8;
 289   1               O_X=O_X/8;
 290   1               k=i*O_Y+O_X+0x0800;
 291   1               dat1=k%256;
 292   1               dat2=k/256;
 293   1               com=0x24;
 294   1               PR1();
 295   1               j=0x07-j;
 296   1               com=i|0xf8;  /* 位操作 */
 297   1               PR12();
 298   1           }
 299          /****************************/
 300          /*    写指令和写数据函数    */
 301          /****************************/
 302          PR1()              /* 双字节参数指令写入入口 */
 303              {
C51 COMPILER V7.08   22222                                                                 08/27/2005 22:51:02 PAGE 6   

 304   1            ST01();
 305   1            d_add=dat1;  /* 取第一参数单元数据 */
 306   1            PR12();
 307   1          }
 308          PR11()             /* 单字节参数指令写入入口 */
 309              {
 310   1            ST01();
 311   1            d_add=dat2;  /* 取第二参数单元数据 */
 312   1            PR12();
 313   1          }
 314          PR12()             /* 无参数指令写入入口 */
 315             {
 316   1           ST01();
 317   1           c_add=com;    /* 写入指令代码 */
 318   1         }
 319          /************************************************/
 320          /*  判状态位S1,S0 函数(读写指令和读写数据状态)  */
 321          /************************************************/
 322          ST01()
 323              {
 324   1            do
 325   1              {
 326   2              ACC=c_add;
 327   2              }
 328   1            while(Acc_0==0,Acc_1==0);
 329   1          }
 330          /************************************/
 331          /*  判状态位S2函数(数据自动读状态)  */
 332          /************************************/
 333          /*ST2()
 334             {
 335               do
 336               {
 337                 ACC=c_add;
 338               }
 339              while(Acc_2==0);
 340             }*/
 341          /************************************/
 342          /*  判状态位S3函数(数据自动写状态)  */
 343          /************************************/
 344          ST3()
 345             {
 346   1           do
 347   1           {
 348   2             ACC=c_add;
 349   2           }
 350   1           while(Acc_3==0);
 351   1         }
 352          
 353          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    953    ----
   CONSTANT SIZE    =    192    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     23      20
   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 + -