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

📄 ks0108.lst

📁 171544C8051F020应用程序包.rar
💻 LST
📖 第 1 页 / 共 2 页
字号:
 206          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 207          0x38,0xC4,0x44,0x44,0xC4,0x38,0x00,0x00,0xF0,0x08,0x04,0x04,0x08,0xF0,0x00,0x00,
 208          0x7C,0x44,0x24,0x24,0x24,0xC4,0x00,0x00,0x08,0x08,0xFC,0x00,0x00,0x00,0x00,0x04,
 209          0xFC,0x44,0x44,0xF4,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 210          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
 211          0x04,0x08,0x08,0x08,0x04,0x02,0x00,0x20,0x20,0x23,0x1C,0x06,0x01,0x00,0x00,0x00,
 212          0x1A,0x25,0x25,0x25,0x24,0x18,0x00,0x08,0x0F,0x08,0x00,0x00,0x08,0x0F,0x08,0x00,
 213          0x06,0x09,0x08,0x08,0x0F,0x08,0x00,0x00,0x08,0x08,0x0F,0x08,0x08,0x00,0x00,0x00,
 214          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 215          0x07,0x08,0x08,0x08,0x08,0x07,0x00,0x00,0x03,0x04,0x08,0x08,0x04,0x03,0x00,0x00,
 216          0x06,0x08,0x08,0x08,0x08,0x07,0x00,0x00,0x08,0x08,0x0F,0x08,0x08,0x00,0x00,0x08,
 217          0x0F,0x08,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 218          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 219          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 220          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 221          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 222          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 223          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 224          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 225          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 226          };
 227          
 228          #define SELECTCS 0
 229          void LCD_WaitReady1(void) //判断LCD控制芯片KS0108是否忙
 230          {
 231   1              LCD_DATA=0xff;
 232   1              _nop_();
 233   1              LCD_CS2=SELECTCS;
 234   1              LCD_RW=1;
 235   1              LCD_RS=0;
 236   1              LCD_E=1;
 237   1              while (LCD_DATA&0x80);
 238   1              LCD_CS2=!SELECTCS;
 239   1      }
 240          
 241          void LCD_WaitReady2(void) //判断LCD控制芯片KS0108是否忙
C51 COMPILER V6.23a  KS0108                                                                12/19/2002 16:09:41 PAGE 5   

 242          {
 243   1              LCD_DATA=0xff;
 244   1              _nop_();
 245   1              LCD_CS1=SELECTCS;
 246   1              LCD_RW=1;
 247   1              LCD_RS=0;
 248   1              LCD_E=1;
 249   1              while (LCD_DATA&0x80);
 250   1              LCD_CS1=!SELECTCS;
 251   1      }
 252          
 253          void LCD_WriteCommand1(char ch) //向LCD控制芯片KS0108发送控制命令
 254          {
 255   1              LCD_WaitReady1();
 256   1              LCD_CS2=SELECTCS;
 257   1              LCD_RW=0;
 258   1              LCD_RS=0;
 259   1              LCD_DATA=ch;
 260   1              LCD_E=1;
 261   1              LCD_E=0;
 262   1              LCD_CS2=!SELECTCS;
 263   1      }
 264          
 265          void LCD_WriteCommand2(char ch) //向LCD控制芯片KS0108发送控制命令
 266          {
 267   1              LCD_WaitReady2();
 268   1              LCD_CS1=SELECTCS;
 269   1              LCD_RW=0;
 270   1              LCD_RS=0;
 271   1              LCD_DATA=ch;
 272   1              LCD_E=1;
 273   1              LCD_E=0;
 274   1              LCD_CS1=!SELECTCS;
 275   1      }
 276          
 277          void LCD_WriteData1(char ch)    //向LCD控制芯片KS0108发送数据命令
 278          {
 279   1              LCD_WaitReady1();
 280   1              LCD_CS2=SELECTCS;
 281   1              LCD_RW=0;
 282   1              LCD_RS=1;
 283   1              LCD_DATA=ch;
 284   1              LCD_E=1;
 285   1              LCD_E=0;
 286   1              LCD_CS2=!SELECTCS;
 287   1      }
 288          
 289          void LCD_WriteData2(char ch)    //向LCD控制芯片KS0108发送数据命令
 290          {
 291   1              LCD_WaitReady2();
 292   1              LCD_CS1=SELECTCS;
 293   1              LCD_RW=0;
 294   1              LCD_RS=1;
 295   1              LCD_DATA=ch;
 296   1              LCD_E=1;
 297   1              LCD_E=0;
 298   1              LCD_CS1=!SELECTCS;
 299   1      }
 300          
 301          /*--  文字:  汉  --*/
 302          char code Han[]=
 303          {
C51 COMPILER V6.23a  KS0108                                                                12/19/2002 16:09:41 PAGE 6   

 304          0x00,0x10,0x61,0x06,0xC0,0x30,0x02,0x3E,0xC2,0x02,0x82,0x62,0x1F,0x02,0x00,0x00,
 305          0x00,0x02,0x02,0x3F,0x20,0x20,0x10,0x08,0x05,0x02,0x05,0x08,0x10,0x30,0x10,0x00,
 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          void InitLCD(void)      //初始化LCD
 335          {
 336   1              char i,j;
 337   1              LCD_RST=0;
 338   1              Delay1ms(1);
 339   1              LCD_RST=1;
 340   1      
 341   1              LCD_WriteCommand1(0xc0);        
 342   1              LCD_WriteCommand2(0xc0);
 343   1              LCD_WriteCommand1(0x3f);        //开显示
 344   1              LCD_WriteCommand2(0x3f);
 345   1      
 346   1              for (j=0;j<8;j++)                       //清屏
 347   1              {
 348   2                      LCD_WriteCommand1(0xB8+j);      //清左半屏
 349   2                      LCD_WriteCommand1(0x40);
 350   2                      for (i=0;i<64;i++)
 351   2                              LCD_WriteData1(0x00);
 352   2      
 353   2                      LCD_WriteCommand2(0xB8+j);      //清右半屏
 354   2                      LCD_WriteCommand2(0x40);
 355   2                      for (i=0;i<64;i++)
 356   2                              LCD_WriteData2(0x00);
 357   2              }
 358   1      }
 359          
 360          void DispBmp(char *buf) //显示一幅位图
 361          {
 362   1      int i,j;
 363   1              for (j=0;j<8;j++)                       //显示位图
 364   1              {
 365   2                      LCD_WriteCommand1(0xB8+j);      
C51 COMPILER V6.23a  KS0108                                                                12/19/2002 16:09:41 PAGE 7   

 366   2                      LCD_WriteCommand1(0x40);
 367   2                      for (i=0;i<64;i++)
 368   2                              LCD_WriteData1(buf[(j*2)*64+i]);
 369   2                      LCD_WriteCommand2(0xB8+j);      
 370   2                      LCD_WriteCommand2(0x40);
 371   2                      for (i=0;i<64;i++)
 372   2                              LCD_WriteData2(buf[(j*2+1)*64+i]);
 373   2              }
 374   1      }
 375          
 376          void Delay1s(unsigned char T);
 377          void TestLCD(void)
 378          {
 379   1      char i;
 380   1              InitLCD();
 381   1              DispBmp(screen);
 382   1              for (i=0;i<64;i++)
 383   1              {
 384   2                      Delay1ms(50);
 385   2                      LCD_WriteCommand1(0xc0+i%64);   //设置起始行,实现向上滚动
 386   2                      LCD_WriteCommand2(0xc0+i%64);
 387   2              }
 388   1              Delay1s(3);
 389   1              for (;;)
 390   1              {
 391   2                      DispBmp(screen1);
 392   2                      Delay1s(5);
 393   2                      DispBmp(screen2);
 394   2                      Delay1s(6);
 395   2                      InitLCD();
 396   2                      LCD_WriteHZ(2,1,Han); //显示16*16点阵汉字'汉'
 397   2              Delay1ms(100);
 398   2                      LCD_WriteHZ(60,3,Zi); //显示16*16点阵汉字'字'
 399   2                      Delay1s(5);
 400   2              }
 401   1      }
 402          
 403          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    634    ----
   CONSTANT SIZE    =   3136    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       9
   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 + -