📄 lcd.lst
字号:
232 2 StartAddr=StartAddr+ ColumnChar;
233 2 }
234 1 }
235
236 /*----------------------------------------------------------------------------------------------------*/
237 //反显一个汉字
238 //lin:行位置。(范围0-15)
239 //column: 列位置,(范围0-29)
240 void ReverseShowHZ(unchar lin,unchar column)
241 {
C51 COMPILER V7.02b LCD 08/02/2005 17:51:31 PAGE 5
242 1 ReverseShowChar(lin,column);
243 1 ReverseShowChar(lin,column+1);
244 1 }
245
246 /*----------------------------------------------------------------------------------------------------*/
247 //反显一行汉字
248 //lin:行位置。(范围0-15)
249 //column: 列位置,(范围0-29)
250 void ReverseShowLine(unchar lin)
251 {
252 1 unchar column;
253 1 if (lin>3) return;
254 1 for(column=0; column< ColumnChar; column++) ReverseShowChar(lin,column);
255 1 }
256
257 /*---------------------------------------------------------------------------------------------------*/
258 //清屏
259 void ClearScreen()
260 {
261 1 unsigned int i;
262 1 ///////// 清显示 RAM 区 0000h--2000h (8k)
263 1 OutPortCom3(0x00,0x00,0x24); //设置指针地址0000H
264 1
265 1 OutPortCom1(0xb0); //设置自动写状态
266 1 for(i=0;i<8200;i++) {AutoWCheck();OutPortData(0x00);} // data=0;
267 1 AutoWCheck();//是否需要??
268 1 OutPortCom1(0xb2); // 自动写结束
269 1 }
270
271 /*---------------------------------------------------------------------------------------------------*/
272 //初始化LCD
273 //需要手动设置
274 void InitLCD()
275 {
276 1 ce=0;
277 1 cd=1;
278 1 //wr=1;
279 1 //rd=1;
280 1 OutPortCom3( 0x00,0x00,0x42 ); //设置图形显示区域首地址GraphAddr
281 1 OutPortCom3( 0x10,0x00,0x43); //设置图形显示区域宽度:10H
282 1
283 1 OutPortCom1(0xa7); //设置光标形状 cursor size 8x8
284 1 OutPortCom1(0x80); //设置显示方式: CGROM方式 文本\图形 "或"
285 1 OutPortCom1(0x9c); //设置显示开关: 1001 1000 只开图形显示
286 1
287 1 ClearScreen();
288 1 }
289
290 /********************************/
291 /* 自己定义的中文字库 */
292 /********************************/
293
294 unchar code HZTable[ ][32]={
295 /* 电 0x00 --*/
296 {0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,
297 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
298 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
299 0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00},
300 /* 压 0x01 --*/
301 {0x00,0x00,0x3F,0xFE,0x20,0x00,0x20,0x80,
302 0x20,0x80,0x20,0x88,0x2F,0xFC,0x20,0x80,
303 0x20,0xA0,0x20,0x90,0x20,0x98,0x40,0x90,
C51 COMPILER V7.02b LCD 08/02/2005 17:51:31 PAGE 6
304 0x40,0x80,0xBF,0xFE,0x00,0x00,0x00,0x00},
305 /* 功 0x02 --*/
306 {0x00,0x20,0x00,0x20,0x7F,0x20,0x08,0x20,
307 0x0B,0xFC,0x08,0x24,0x08,0x24,0x08,0x44,
308 0x09,0x44,0x0E,0x44,0xF0,0x84,0x40,0x84,
309 0x01,0x04,0x02,0x78,0x04,0x10,0x00,0x00},
310 /* 率 0x03 --*/
311 {0x02,0x00,0x01,0x00,0x7F,0xFE,0x41,0x00,
312 0x22,0x28,0x17,0xD0,0x04,0x80,0x11,0x10,
313 0x22,0x48,0x47,0xC4,0x01,0x20,0xFF,0xFE,
314 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00},
315 /* 有 0x04 --*/
316 {0x01,0x00,0x01,0x00,0x7F,0xFE,0x02,0x00,
317 0x04,0x00,0x0F,0xF0,0x18,0x10,0x28,0x10,
318 0x4F,0xF0,0x88,0x10,0x08,0x10,0x0F,0xF0,
319 0x08,0x10,0x08,0x90,0x08,0x70,0x08,0x20},
320 /* 效 0x05 --*/
321 {0x10,0x20,0x08,0x30,0x08,0x20,0x7F,0x20,
322 0x14,0x7E,0x12,0x44,0x21,0xC4,0x22,0x44,
323 0x62,0x28,0x14,0x28,0x08,0x10,0x0C,0x10,
324 0x12,0x28,0x20,0xCE,0xC3,0x04,0x00,0x00},
325 /* 值 0x06 --*/
326 {0x10,0x40,0x18,0x60,0x17,0xFC,0x10,0x40,
327 0x20,0x80,0x33,0xF8,0x62,0x08,0xA3,0xF8,
328 0x22,0x08,0x23,0xF8,0x22,0x08,0x23,0xF8,
329 0x22,0x08,0x22,0x08,0x2F,0xFE,0x20,0x00},
330 /* 三 0x07 --*/
331 {0x00,0x00,0x00,0x00,0x7F,0xFC,0x00,0x00,
332 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,
333 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
334 0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00},
335 /* 相 0x08 --*/
336 {0x10,0x00,0x10,0xFC,0x10,0x84,0x10,0x84,
337 0xFE,0x84,0x18,0xFC,0x34,0x84,0x32,0x84,
338 0x52,0x84,0x50,0xFC,0x90,0x84,0x10,0x84,
339 0x10,0x84,0x10,0x84,0x10,0xFC,0x10,0x84},
340 /* 流 0x09 --*/
341 {0x20,0x80,0x10,0x40,0x17,0xFE,0x00,0x40,
342 0x80,0x80,0x49,0x10,0x4B,0xF8,0x10,0x08,
343 0x12,0x50,0x12,0x50,0xE2,0x50,0x22,0x50,
344 0x24,0x52,0x24,0x52,0x28,0x4E,0x20,0x00},
345 /* 量 0x0a --*/
346 {0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,
347 0x1F,0xF0,0x00,0x00,0xFF,0xFE,0x11,0x10,
348 0x1F,0xF0,0x11,0x10,0x1F,0xF0,0x01,0x00,
349 0x1F,0xF8,0x01,0x00,0xFF,0xFE,0x00,0x00},
350 /* 因 0x0b --*/
351 {0x00,0x00,0x7F,0xFC,0x41,0x04,0x41,0x04,
352 0x41,0x04,0x5F,0xF4,0x41,0x04,0x43,0x04,
353 0x42,0x84,0x46,0x44,0x44,0x24,0x48,0x34,
354 0x50,0x24,0x40,0x04,0x7F,0xFC,0x40,0x04},
355 /* 数 0x0c --*/
356 {0x08,0x20,0x49,0x30,0x2A,0x20,0x1C,0x20,
357 0xFF,0x7E,0x1C,0x44,0x2B,0x44,0x48,0xC4,
358 0x08,0x28,0xFF,0x28,0x12,0x10,0x34,0x10,
359 0x0C,0x28,0x32,0x4E,0xC0,0x84,0x00,0x00}
360 };
361
362 /****************************************/
363 /* 边准的ASCII字库8列*16行 */
364 /****************************************/
365
C51 COMPILER V7.02b LCD 08/02/2005 17:51:31 PAGE 7
366 unchar code ASCII816[ ][16]={
367 /*-文字: --0x20 */
368 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
369 /*-文字:(--0x21 */
370 {0x00,0x02,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x02,0x00},
371 /*-文字:)--0x22 */
372 {0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00},
373 /*-文字:.--0x23 */
374 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00},
375 /*-文字:0--0x24 */
376 {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},
377 /*-文字:1--0x25 */
378 {0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},
379 /*-文字:2--0x26 */
380 {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00},
381 /*-文字:3--0x27 */
382 {0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00},
383 /*-文字:4--0x28 */
384 {0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00},
385 /*-文字:5--0x29 */
386 {0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00},
387 /*-文字:6--0x2a */
388 {0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00},
389 /*-文字:7--0x2b */
390 {0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},
391 /*-文字:8--0x2c */
392 {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},
393 /*-文字:9--0x2d */
394 {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00},
395 /*-文字:A--0x2e */
396 {0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00},
397 /*-文字:B--0x2f */
398 {0x00,0x00,0x00,0xF8,0x44,0x44,0x44,0x78,0x44,0x42,0x42,0x42,0x44,0xF8,0x00,0x00},
399 /*-文字:C--0x30 */
400 {0x00,0x00,0x00,0x3E,0x42,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x44,0x38,0x00,0x00},
401 /*-文字:D--0x31 */
402 {0x00,0x00,0x00,0xF8,0x44,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x44,0xF8,0x00,0x00},
403 /*-文字:H--0x32 */
404 {0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},
405 /*-文字:I--0x33 */
406 {0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},
407 /*-文字:T--0x34 */
408 {0x00,0x00,0x00,0xFE,0x92,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00},
409 /*-文字:V--0x35 */
410 {0x00,0x00,0x00,0xE7,0x42,0x42,0x44,0x24,0x24,0x28,0x28,0x18,0x10,0x10,0x00,0x00},
411 /*-文字:W--0x36 */
412 {0x00,0x00,0x00,0xD6,0x92,0x92,0x92,0x92,0xAA,0xAA,0x6C,0x44,0x44,0x44,0x00,0x00},
413 };
414
415 /*---------------------------------------------------------------------------------------------------*/
416 //测试程序
417 void main(void)
418 {
419 1 //ce=0;
420 1 /*
421 1 unchar code STR1[]=
422 1 {
423 1 0x84,0x82,0x80,0x8a,
424 1 0x21,0x36,0x22
425 1 };
426 1 unchar code STR2[]=
427 1 {
C51 COMPILER V7.02b LCD 08/02/2005 17:51:31 PAGE 8
428 1 0x2e
429 1 };
430 1 unchar code STR3[]=
431 1 {
432 1 0x2f
433 1 };
434 1 unchar code STR4[]=
435 1 {
436 1 0x30
437 1 };*/
438 1
439 1 ES=0;
440 1 InitLCD();
441 1 P1_0=0;
442 1 ShowChar(0,0,17);
443 1 //ShowHZ(12,20,0x3);
444 1 P1_2=0;
445 1 //ShowChar(2,3,&string);
446 1 //ShowLine(0,2,&string,7);
447 1 //ShowLine(0,2,STR1,7);
448 1 //ShowLine(1,0,STR2,1);
449 1 //ShowLine(2,0,STR3,1);
450 1 //ShowLine(3,0,STR4,1);
451 1 //ReverseShowLine(0);
452 1 //while(1){};
453 1 }
454
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 725 ----
CONSTANT SIZE = 784 ----
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 + -