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

📄 ks0108.lst

📁 171544C8051F020应用程序包.rar
💻 LST
📖 第 1 页 / 共 3 页
字号:
 306          };
 307          /*--  文字:  字  --*/
 308          char code Zi[]=
 309          {
 310          0x00,0x00,0x10,0x0C,0x14,0x14,0x14,0x15,0xD6,0x54,0x34,0x14,0x14,0x8C,0x00,0x00,
 311          0x00,0x01,0x01,0x01,0x01,0x01,0x11,0x21,0x1F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
 312          };
 313          
 314          void LCD_WriteHZ(char x,char y,char *Dot) //显示16*16点阵汉字
 315          {
 316   1      char i;
 317   1              for (i=0;i<32;i++)
 318   1              {
 319   2                      if ((x+i%16)<64)
 320   2                      {
 321   3                              LCD_WriteCommand1(0xB8+y+i/16);
 322   3                              LCD_WriteCommand1(0x40+x+i%16);
 323   3                              LCD_WriteData1(Dot[i]);
 324   3                      }
 325   2                      else
 326   2                      {
 327   3                              LCD_WriteCommand2(0xB8+y+i/16);
 328   3                              LCD_WriteCommand2(0x40+x-64+i%16);
 329   3                              LCD_WriteData2(Dot[i]);
 330   3                      }
 331   2              }
 332   1      }
 333          
 334          char code Number[]=
 335          /*--  文字:  0123456789:/  --*/
 336          {
 337          0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,
 338          0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x10,0x10,0x00,0x00,
 339          0x00,0x30,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x18,0x14,0x12,0x11,0x10,0x18,0x00,
 340          0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x0C,0x10,0x10,0x10,0x11,0x0E,0x00,
 341          0x00,0x80,0x40,0x20,0xF8,0x00,0x00,0x00,0x00,0x03,0x02,0x12,0x1F,0x12,0x12,0x00,
 342          0x00,0xF8,0x88,0x48,0x48,0x48,0x88,0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x0F,0x00,
 343          0x00,0xE0,0x10,0x88,0x88,0x98,0x00,0x00,0x00,0x0F,0x11,0x10,0x10,0x10,0x0F,0x00,
 344          0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,
 345          0x00,0x70,0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x0E,0x11,0x10,0x10,0x11,0x0E,0x00,
 346          0x00,0xF0,0x08,0x08,0x08,0x90,0xE0,0x00,0x00,0x00,0x19,0x11,0x11,0x08,0x07,0x00,
 347          0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
 348          0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,
 349          };
 350          
 351          
 352          void LCD_WriteChar(char x,char y,char *Dot) //显示8*16点阵字符
 353          {
 354   1      char i;
 355   1              for (i=0;i<16;i++)
 356   1              {
 357   2                      if ((x+i%8)<64)
 358   2                      {
 359   3                              LCD_WriteCommand1(0xB8+y+i/8);
 360   3                              LCD_WriteCommand1(0x40+x+i%8);
 361   3                              LCD_WriteData1(Dot[i]);
 362   3                      }
 363   2                      else
 364   2                      {
 365   3                              LCD_WriteCommand2(0xB8+y+i/8);
C51 COMPILER V6.23a  KS0108                                                                12/20/2002 12:46:28 PAGE 7   

 366   3                              LCD_WriteCommand2(0x40+x-64+i%8);
 367   3                              LCD_WriteData2(Dot[i]);
 368   3                      }
 369   2              }
 370   1      }
 371          
 372          void LCD_DispChar(char x,char y,char ch) //128*64  取值x=0-128 y=0-8
 373          {
 374   1              if ((ch>=0)&&(ch<=0xb))
 375   1              {
 376   2                      LCD_WriteChar(x,y,&Number[ch*16]);
 377   2              }
 378   1      }
 379          
 380          void InitLCD(void)      //初始化LCD
 381          {
 382   1              char i,j;
 383   1              LCD_RST=0;
 384   1              Delay1ms(1);
 385   1              LCD_RST=1;
 386   1      
 387   1              LCD_WriteCommand1(0xc0);        
 388   1              LCD_WriteCommand2(0xc0);
 389   1              LCD_WriteCommand1(0x3f);        //开显示
 390   1              LCD_WriteCommand2(0x3f);
 391   1      
 392   1              for (j=0;j<8;j++)                       //清屏
 393   1              {
 394   2                      LCD_WriteCommand1(0xB8+j);      //清左半屏
 395   2                      LCD_WriteCommand1(0x40);
 396   2                      for (i=0;i<64;i++)
 397   2                              LCD_WriteData1(0x00);
 398   2      
 399   2                      LCD_WriteCommand2(0xB8+j);      //清右半屏
 400   2                      LCD_WriteCommand2(0x40);
 401   2                      for (i=0;i<64;i++)
 402   2                              LCD_WriteData2(0x00);
 403   2              }
 404   1      }
 405          
 406          void DispBmp(char *buf) //显示一幅位图
 407          {
 408   1      int i,j;
 409   1              for (j=0;j<8;j++)                       //显示位图
 410   1              {
 411   2                      LCD_WriteCommand1(0xB8+j);      
 412   2                      LCD_WriteCommand1(0x40);
 413   2                      for (i=0;i<64;i++)
 414   2                              LCD_WriteData1(buf[(j*2)*64+i]);
 415   2                      LCD_WriteCommand2(0xB8+j);      
 416   2                      LCD_WriteCommand2(0x40);
 417   2                      for (i=0;i<64;i++)
 418   2                              LCD_WriteData2(buf[(j*2+1)*64+i]);
 419   2              }
 420   1      }
 421          
 422          void Delay1s(unsigned char T);
 423          void TestLCD(void)
 424          {
 425   1      char i;
 426   1              InitLCD();
 427   1              DispBmp(screen);
C51 COMPILER V6.23a  KS0108                                                                12/20/2002 12:46:28 PAGE 8   

 428   1              for (i=0;i<64;i++)
 429   1              {
 430   2                      Delay1ms(50);
 431   2                      LCD_WriteCommand1(0xc0+i%64);   //设置起始行,实现向上滚动
 432   2                      LCD_WriteCommand2(0xc0+i%64);
 433   2              }
 434   1              Delay1s(3);
 435   1              for (;;)
 436   1              {
 437   2                      DispBmp(screen1);
 438   2                      Delay1s(3);
 439   2                      DispBmp(screen2);
 440   2                      Delay1s(3);
 441   2                      InitLCD();
 442   2                      LCD_WriteHZ(2,1,Han); //显示16*16点阵汉字'汉'
 443   2                      LCD_WriteHZ(60,3,Zi); //显示16*16点阵汉字'字'
 444   2                      Delay1s(3);
 445   2              }
 446   1      }
 447          
 448          


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