📄 ks0108.lst
字号:
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 + -