📄 hex_1.lst
字号:
402 0x82,0x16,0x64,0x22,0x20,0x10,0x00,0x03,0xFC,0x04,0x4C,0x01,0xC0,0x1C,0x00,0x01,
403 0x82,0x16,0x64,0x22,0x20,0x10,0x00,0x03,0xFC,0x04,0x4C,0x01,0xC0,0x1C,0x00,0x01,
404 0x84,0xE8,0x83,0x41,0x1C,0x08,0x00,0x0D,0x04,0x04,0x0C,0x06,0xB0,0x00,0x00,0x01,
405 0x87,0x10,0x8F,0x47,0x03,0x88,0x00,0x11,0xFC,0x04,0x3C,0x08,0x88,0x1C,0x00,0x01,
406 0x80,0x20,0x6C,0x26,0x01,0x78,0x00,0x01,0x04,0x0A,0x00,0x70,0x86,0x1C,0x00,0x01,
407 0x80,0xC0,0x18,0x1C,0x00,0x80,0x00,0x01,0xFC,0x31,0xFF,0x00,0x80,0x00,0x00,0x01,
408 0x80,0xC0,0x18,0x1C,0x00,0x80,0x00,0x01,0xFC,0x31,0xFF,0x00,0x80,0x00,0x00,0x01,
409 0x80,0xC1,0x87,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
410 0x81,0x06,0x78,0x3C,0x20,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
411 0x81,0x08,0x07,0xC2,0xC0,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
412 0x81,0x08,0x00,0x01,0xC0,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
413 0x81,0x08,0x00,0x01,0xC0,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
414 0x81,0x08,0x18,0x01,0xC0,0x60,0x00,0x00,0x00,0xF1,0xF3,0x87,0xC0,0x00,0x00,0x01,
415 0x80,0xC6,0x18,0xC2,0x20,0x80,0x00,0x00,0x03,0x0E,0x1C,0x78,0x70,0x00,0x00,0x01,
416 0x80,0xC1,0x00,0xC2,0x00,0X80,0X00,0X00,0x04,0x44,0x11,0x10,0x38,0x00,0x00,0x01,
417 0x80,0x26,0xE0,0x04,0x01,0X00,0X00,0X00,0x04,0x80,0x12,0x00,0x38,0x00,0x00,0x01,
418 0x80,0x26,0xE0,0x04,0x01,0X00,0X00,0X00,0x04,0x80,0x12,0x00,0x38,0x00,0x00,0x01,
419 0x80,0x11,0x18,0x38,0x03,0X00,0X00,0X00,0x04,0x80,0x12,0x00,0x38,0x00,0x00,0x01,
420 0x80,0x0E,0x87,0xC2,0x1C,0X00,0X00,0X00,0x04,0x00,0x10,0x00,0x38,0x00,0x00,0x01,
421 0x80,0x01,0xE0,0x04,0xE0,0X00,0X00,0X00,0x03,0x00,0x1C,0x00,0x70,0x00,0x00,0x01,
422 0x80,0x1E,0x18,0x3F,0x1E,0x00,0X00,0X00,0X00,0x80,0x32,0x00,0xC0,0x00,0x00,0x01,
423 0x80,0x1E,0x18,0x3F,0x1E,0x00,0X00,0X00,0X00,0x80,0x32,0x00,0xC0,0x00,0x00,0x01,
424 0x80,0x38,0x07,0xC0,0x0F,0x00,0X00,0X00,0X00,0x40,0x61,0x01,0x80,0x00,0x00,0x01,
425 0x80,0xE9,0xFF,0xFF,0x0D,0x80,0X00,0X00,0X00,0x31,0xC0,0x87,0X00,0X00,0X00,0X01,
426 0x81,0xE9,0x1B,0xB9,0x0D,0xE0,0X00,0X00,0X00,0x0B,0x80,0x6E,0X00,0X00,0X00,0X01,
427 0x83,0xC9,0xF0,0x1F,0x0C,0xF0,0X00,0X00,0X00,0x06,0x00,0x18,0X00,0X00,0X00,0X01,
C51 COMPILER V8.01 HEX_1 08/26/2002 23:00:56 PAGE 8
428 0x83,0xC9,0xF0,0x1F,0x0C,0xF0,0X00,0X00,0X00,0x06,0x00,0x18,0X00,0X00,0X00,0X01,
429 0x87,0x06,0xE0,0x06,0x10,0x78,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
430 0x87,0xC1,0x00,0x00,0x20,0xF8,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
431 0x87,0xE0,0x80,0x00,0xC1,0xF8,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
432 0x87,0xE0,0x80,0x00,0xC1,0xF8,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
433 0x80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0x01,
434 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
435 };
436
437
438
439 /*------------------检查忙位-----------------------------*/
440 void lcd_busy()
441 { RS=0;
442 1 RW=1;
443 1 E=1;
444 1 P0=0xff;
445 1 while((P3&0x80)==0x80);
446 1 E=0;
447 1 }
448
449
450 /*------------------延时子程序-----------------------------*/
451 void delay(unsigned int t)
452 { unsigned int i,j;
453 1 for(i=0;i<t;i++)
454 1 for(j=0;j<10;j++)
455 1 ;
456 1 }
457
458
459 /*------------------写命令到LCD------------------------------*/
460 void write_com(unsigned char cmd)
461 {
462 1 lcd_busy();
463 1 RS=0;
464 1 RW=0;
465 1 E=0;
466 1 _nop_();
467 1 _nop_();
468 1 P0=cmd;
469 1 E=1;
470 1 _nop_();
471 1 _nop_();
472 1 _nop_();
473 1 _nop_();
474 1 E=0;
475 1 }
476
477
478 /*-------------------写数据到LCD----------------------------*/
479 void write_data(unsigned char Dispdata)
480 {
481 1 lcd_busy();
482 1 RS=1;
483 1 RW=0;
484 1 E=0;
485 1 _nop_();
486 1 _nop_();
487 1 P0=Dispdata;
488 1 E=1;
489 1 _nop_();
C51 COMPILER V8.01 HEX_1 08/26/2002 23:00:56 PAGE 9
490 1 _nop_();
491 1 _nop_();
492 1 _nop_();
493 1 E=0;
494 1 }
495
496
497 /*------------------初始化LCD屏--------------------------*/
498 void lcdreset()
499 { delay(2000);
500 1 write_com(0x30);
501 1 delay(10); //选择基本指令集
502 1 write_com(0x0c); //开显示(无游标、不反白)
503 1 delay(10);
504 1 write_com(0x01); //清除显示,并且设定地址指针为00H
505 1 delay(10);
506 1 write_com(0x06); //指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位
507 1 delay(0);
508 1 }
509
510
511
512 /*------------------显示字符串--------------------------*/
513 void hzkdis(uchar code *s)
514 { while(*s>0)
515 1 { write_data(*s);
516 2 s++;
517 2 delay(100);
518 2 }
519 1 }
520
521
522
523 /*------------------首屏显示--------------------------*/
524 void ceshi()
525 {write_com(0x01);//清除显示,并且设定地址指针为00H
526 1 delay(5);
527 1
528 1 write_com(0x80);//第一行(如果是地址是:80H,即LCD的第一行的第一个位置显示)
529 1 hzkdis("--杨江波单片机--");
530 1
531 1 write_com(0x91);//第二行(如果是地址是:90H,即LCD的第二行的第一个位置显示)
532 1 hzkdis("单片机学习网");
533 1
534 1 write_com(0x88);//第三行(如果是地址是:88H,即LCD的第二行的第一个位置显示)
535 1 hzkdis("LCD12864点阵液晶");
536 1
537 1 write_com(0x9A);//第四行(如果是地址是:98H,即LCD的第二行的第一个位置显示)
538 1 hzkdis("测试程序");
539 1
540 1
541 1
542 1 }
543 /*------------------显示图片------------------------2005.11.14.21:20修改---benladn911---*/
544 void Disp_Img(unsigned char code *img)
545 { unsigned int j=0;
546 1 unsigned char x,y,i;
547 1 for(i=0;i<9;i+=8)
548 1 for(y=0;y<32;y++)/*原来 为 y<26 ,上下两个半屏不能正常对接显示,导致显示的图片中间有空隙*/
549 1 for(x=0;x<8;x++)
550 1 { write_com(0x36);//功能设置---8BIT控制界面,扩充指令集
551 2 write_com(y+0x80); //行地址
C51 COMPILER V8.01 HEX_1 08/26/2002 23:00:56 PAGE 10
552 2 write_com(x+0x80+i); //列地址
553 2 write_com(0x30);
554 2 write_data(img[j++]);
555 2 write_data(img[j++]);
556 2 }
557 1
558 1 }
559
560
561
562 /*------------------清整个GDRAM空间---------------------------- */
563 void clrgdram()
564 { unsigned char x,y;
565 1 for(y=0;y<64;y++)
566 1 for(x=0;x<16;x++)
567 1 { write_com(0x34);
568 2 write_com(y+0x80); //行地址
569 2 write_com(x+0x80); //列地址
570 2 write_com(0x30);
571 2 write_data(0x00);
572 2 write_data(0x00);
573 2 }
574 1 }
575
576
577
578 /*------------------整屏写入数据:全亮,或者竖条-----------------------------*/
579 void lcdfill(unsigned char disdata)
580 { unsigned char x,y;
581 1 for(y=0;y<32;y++)
582 1 for(x=0;x<16;x++)
583 1 { write_com(0x36);
584 2 write_com(y+0x80); //行地址
585 2 write_com(x+0x80); //列地址
586 2 write_com(0x30);
587 2 write_data(disdata);
588 2 write_data(disdata);
589 2 }
590 1 write_com(0x34);
591 1 write_com(0x36);
592 1 }
593
594
595
596 /*------------------显示横-----------------------------*/
597 void Disp_H_Line()
598 { unsigned char x,y;
599 1 unsigned char k=0x00;
600 1 for(y=0;y<32;y++)
601 1 { k=~k;
602 2 for(x=0;x<16;x++)
603 2 { write_com(0x36);
604 3 write_com(y+0x80); //行地址
605 3 write_com(x+0x80); //列地址
606 3 write_com(0x30);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -