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

📄 main.lst

📁 普通19264图形液晶模块的单片机驱动程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 294   3                              OutSI((x-64)|0x40);
 295   3                              OutSI((layer|0xb8)+1); 
 296   3                              i++;
 297   3                              OutSD(bmp[i]);
 298   3                      }
 299   2                      
 300   2                      else /*The First ks0108*/
 301   2                      {
 302   3                              OutFI(x|0x40);
 303   3                              OutFI(layer|0xb8);
C51 COMPILER V8.02   MAIN                                                                  04/01/2009 11:20:18 PAGE 6   

 304   3                              OutFD(bmp[i]);
 305   3                              
 306   3                              OutFI(x|0x40);
 307   3                              OutFI((layer|0xb8)+1); 
 308   3                              i++; 
 309   3                              OutFD(bmp[i]);
 310   3                      
 311   3                      }
 312   2                      i++;
 313   2                      
 314   2              }
 315   1      }
 316          
 317          /*------------------------------------------------------------------------------
 318          --
 319          Display Chinese ideograph;x_add is the x address;It has 4 layers,0,1,2,3;
 320          Width is the Chinese ideograph width;bmp is the table's name. 
 321          --------------------------------------------------------------------------------
 322          -*/
 323          void DrawBmp_f(uchar x_add,uchar layer,uchar width,uchar *bmp)
 324          { 
 325   1              unsigned char x;
 326   1              unsigned int i=0;
 327   1              
 328   1              for(x=x_add;x<x_add+width;x++)
 329   1              {
 330   2                      if (x>127)
 331   2                      {
 332   3                              OutTI((x-128)|0x40);
 333   3                              OutTI(layer|0xb8);
 334   3                              OutTD(~bmp[i]);
 335   3                              
 336   3                              OutTI((x-128)|0x40);
 337   3                              OutTI((layer|0xb8)+1); 
 338   3                              i++;
 339   3                              OutTD(~bmp[i]);
 340   3                      }
 341   2                      else if (x>63) 
 342   2                      {
 343   3                              OutSI((x-64)|0x40);
 344   3                              OutSI(layer|0xb8);
 345   3                              OutSD(~bmp[i]);
 346   3                              
 347   3                              OutSI((x-64)|0x40);
 348   3                              OutSI((layer|0xb8)+1); 
 349   3                              i++;
 350   3                              OutSD(~bmp[i]);
 351   3                      }
 352   2                      
 353   2                      else 
 354   2                      {
 355   3                              OutFI(x|0x40);
 356   3                              OutFI(layer|0xb8);
 357   3                              OutFD(~bmp[i]);
 358   3                              
 359   3                              OutFI(x|0x40);
 360   3                              OutFI((layer|0xb8)+1); 
 361   3                              i++;
 362   3                              OutFD(~bmp[i]);
 363   3                      }
 364   2                      i++;
 365   2              
C51 COMPILER V8.02   MAIN                                                                  04/01/2009 11:20:18 PAGE 7   

 366   2              }
 367   1      }
 368          
 369          /*------------------------------------------------------------------------------
 370          --
 371          Display indention; x_add is the x address;It has 4 layers,0,1,2,3;
 372          Width is the Chinese ideograph width
 373          --------------------------------------------------------------------------------
 374          -*/
 375          void _DrawBmp_(uchar x_add,uchar layer,uchar width)
 376          { 
 377   1              unsigned char x;
 378   1              
 379   1              for(x=x_add;x<x_add+width;x++)
 380   1              {
 381   2                      if (x>127)
 382   2                      {
 383   3                              OutTI((x-128)|0x40);
 384   3                              OutTI(layer|0xb8);
 385   3                              OutTD(0);
 386   3                              
 387   3                              OutTI((x-128)|0x40);
 388   3                              OutTI((layer|0xb8)+1); 
 389   3                              OutTD(0);
 390   3                      
 391   3                      }
 392   2                      else if (x>63) 
 393   2                      {
 394   3                              OutSI((x-64)|0x40);
 395   3                              OutSI(layer|0xb8);
 396   3                              OutSD(0);
 397   3                              
 398   3                              OutSI((x-64)|0x40);
 399   3                              OutSI((layer|0xb8)+1);
 400   3                              OutSD(0);
 401   3                      }
 402   2                      
 403   2                      else 
 404   2                      {
 405   3                              OutFI(x|0x40);
 406   3                              OutFI(layer|0xb8);
 407   3                              OutFD(0);
 408   3                              
 409   3                              OutFI(x|0x40);
 410   3                              OutFI((layer|0xb8)+1); 
 411   3                              OutFD(0);
 412   3                      }
 413   2              }
 414   1      }
 415          
 416          /*------------------------------------------------------------------------------
 417          --
 418          Display indention; x_add is the x address;It has 4 layers,0,1,2,3;
 419          Width is the Chinese ideograph width
 420          --------------------------------------------------------------------------------
 421          -*/
 422          void _DrawBmp_black(uchar x_add,uchar layer,uchar width)
 423          { 
 424   1              unsigned char x;
 425   1              
 426   1              for(x=x_add;x<x_add+width;x++)
 427   1              {
C51 COMPILER V8.02   MAIN                                                                  04/01/2009 11:20:18 PAGE 8   

 428   2                      if (x>127)
 429   2                      {
 430   3                              OutTI((x-128)|0x40);
 431   3                              OutTI(layer|0xb8);
 432   3                              OutTD(0xff);
 433   3                              
 434   3                              OutTI((x-128)|0x40);
 435   3                              OutTI((layer|0xb8)+1); 
 436   3                              OutTD(0xff);
 437   3                              
 438   3                      }
 439   2                      else if (x>63) 
 440   2                      {
 441   3                              OutSI((x-64)|0x40);
 442   3                              OutSI(layer|0xb8);
 443   3                              OutSD(0xff);
 444   3                              
 445   3                              OutSI((x-64)|0x40);
 446   3                              OutSI((layer|0xb8)+1);
 447   3                              OutSD(0xff);
 448   3                      }
 449   2                      
 450   2                      else 
 451   2                      {
 452   3                              OutFI(x|0x40);
 453   3                              OutFI(layer|0xb8);
 454   3                              OutFD(0xff);
 455   3                              
 456   3                              OutFI(x|0x40);
 457   3                              OutFI((layer|0xb8)+1); 
 458   3                              OutFD(0xff);
 459   3                      }
 460   2              }
 461   1      }
 462          /*------------------------------------------------------------------------------
 463          --
 464          Display the line
 465          display_data_graph is the display graph data
 466          --------------------------------------------------------------------------------
 467          -*/
 468          void _DrawBmp_line(uchar x_add,uchar layer,uchar width,uchar display_data_graph)
 469          { 
 470   1              unsigned char x;
 471   1              unsigned int i=0;
 472   1              
 473   1              for(x=x_add;x<x_add+width;x++)
 474   1              {
 475   2                      if (x>127)
 476   2                      {
 477   3                              OutTI((x-128)|0x40);
 478   3                              OutTI(layer|0xb8); 
 479   3                              OutTD(display_data_graph);
 480   3                      }
 481   2                      else if (x>63) 
 482   2                      {
 483   3                              OutSI((x-64)|0x40);
 484   3                              OutSI(layer|0xb8); 
 485   3                              OutSD(display_data_graph);
 486   3                      }
 487   2                      
 488   2                      else 
 489   2                      {
C51 COMPILER V8.02   MAIN                                                                  04/01/2009 11:20:18 PAGE 9   

 490   3                              OutFI(x|0x40);
 491   3                              OutFI(layer|0xb8); 
 492   3                              OutFD(display_data_graph);
 493   3                      }
 494   2                      i++;
 495   2                      
 496   2              }
 497   1      }
 498          
 499          /*------------------------------------------------------------------------------
 500          --
 501          Display the column
 502          display_data_graph is the display graph data
 503          --------------------------------------------------------------------------------
 504          -*/
 505          void _DrawBmp_column(uchar x,uchar width)
 506          { 
 507   1              unsigned int i=0;
 508   1              
 509   1              if (x>127)
 510   1              {
 511   2                      for(i=0;i<width;i++)
 512   2                      {
 513   3                              OutTI((x-128)|0x40);
 514   3                              OutTI(i|0xb8); 
 515   3                              OutTD(0xff);
 516   3                      }
 517   2              }
 518   1              
 519   1              else if (x>63) 
 520   1              {
 521   2                      for(i=0;i<width;i++)
 522   2                      {
 523   3                              OutSI((x-64)|0x40);
 524   3                              OutSI(i|0xb8); 
 525   3                              OutSD(0xff);
 526   3                      }
 527   2              }
 528   1              
 529   1              else 
 530   1              {
 531   2                      for(i=0;i<width;i++)
 532   2                      {
 533   3                              OutFI(x|0x40);
 534   3                              OutFI(i|0xb8); 
 535   3                              OutFD(0xff);
 536   3                      }
 537   2              }
 538   1      }
 539          
 540          
 541            /************************************定义中文字库***************************************/
 542          uchar code Hzk[]={
 543          0x00,0xF8,0x08,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x08,0xFC,0x08,0x00,        /*中*/
 544          0x00,0x03,0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,0x03,0x00,0x00,
 545          0x00,0xFE,0x02,0x0A,0x8A,0x8A,0x8A,0xFA,0x8A,0xCA,0x8E,0x0A,0x02,0xFF,0x02,0x00,    /*国*/
 546          0x00,0xFF,0x40,0x50,0x50,0x50,0x50,0x5F,0x50,0x52,0x54,0x50,0x40,0xFF,0x00,0x00,
 547          0x24,0x24,0xA4,0xFE,0xA3,0x22,0x10,0x88,0x8C,0x57,0xE4,0x24,0x14,0x0C,0x00,0x00,        /*移*/
 548          0x04,0x02,0x01,0xFF,0x00,0x83,0x80,0x88,0x44,0x46,0x29,0x31,0x11,0x0D,0x03,0x00,
 549          0x20,0x24,0x24,0xE4,0x26,0x34,0x20,0x10,0x10,0xFF,0x10,0x10,0x10,0xF8,0x10,0x00,        /*动*/
 550          0x08,0x1C,0x0B,0x08,0x08,0x8A,0x4C,0x30,0x0C,0x03,0x40,0x80,0x40,0x3F,0x00,0x00,
 551          0x40,0x42,0x44,0xCC,0x00,0x00,0xF1,0x91,0x95,0xF9,0x95,0x93,0xF9,0x10,0x00,0x00,        /*通*/
C51 COMPILER V8.02   MAIN                                                                  04/01/2009 11:20:18 PAGE 10  

 552          0x00,0x40,0x20,0x1F,0x20,0x40,0xBF,0x84,0x84,0xBF,0x94,0xA4,0x9F,0xC0,0x40,0x00,
 553          0x80,0x40,0x20,0xF8,0x07,0x24,0x24,0x24,0x25,0x26,0x24,0x24,0xB4,0x26,0x04,0x00,        /*信*/
 554          0x00,0x00,0x00,0xFF,0x00,0x01,0xFD,0x45,0x45,0x45,0x45,0x45,0xFD,0x01,0x00,0x00,
 555          0x20,0x10,0x08,0xFC,0x57,0x54,0x54,0xFD,0x56,0x54,0x54,0x56,0x04,0x00,0x00,0x00,        /*集*/
 556          0x04,0x44,0x44,0x27,0x15,0x0D,0x05,0xFF,0x05,0x0D,0x15,0x25,0x65,0x24,0x04,0x00,
 557          0x00,0xFE,0x22,0x22,0x22,0x22,0xA2,0x62,0xFE,0x22,0x22,0x32,0x22,0xFF,0x02,0x00,        /*团*/
 558          0x00,0xFF,0x48,0x44,0x42,0x41,0x50,0x60,0x5F,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,
 559          0x00,0x00,0x80,0x40,0x30,0x0C,0x00,0xC0,0x06,0x18,0x20,0x40,0x80,0x80,0x80,0x00,        /*公*/
 560          0x01,0x01,0x00,0x30,0x28,0x24,0x23,0x20,0x20,0x28,0x30,0x60,0x00,0x01,0x00,0x00,
 561          0x10,0x10,0x92,0x92,0x92,0x92,0x92,0x92,0xD2,0x9A,0x12,0x02,0xFF,0x02,0x00,0x00,        /*司*/
 562          0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x40,0x80,0x7F,0x00,0x00,0x00
 563          };
 564          
 565          void Main( void )
 566          {
 567   1       delay10ms(1); //等待复位
 568   1       InitLCD();
 569   1       Clrscreen();
 570   1       while(1)
 571   1       {
 572   2        DrawBmp(1,1,16,Hzk);
 573   2        delay10ms(40);
 574   2        DrawBmp_f(0,2,16,Hzk);
 575   2        delay10ms(40); 
 576   2       }
 577   1      }


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