📄 quan.lst
字号:
434 2 } //i 从0加到125,CPU大概就耗时1毫秒
435 1 }
436 /*-------------------------写命令到LCD------------------------------*/
437 void write_command(unsigned char cmdcode)
438 {
439 1 RS = 0;
440 1 RW = 0;
441 1 P0 = cmdcode;
442 1 delay(0);
443 1 E = 1;
444 1 delay(0);
445 1 E = 0;
446 1 }
447
448 /*-------------------------写数据到LCD----------------------------*/
449
450 void write_data(unsigned char Dispdata)
451 {
452 1 RS = 1;
453 1 RW = 0;
454 1 P0 = Dispdata;
455 1 delay(0);
456 1 E = 1;
457 1 delay(0);
458 1 E = 0;
459 1 }
460
461 /*------------------------清显示屏--------------------------------*/
462 void Clr_Scr()
463 {
464 1 unsigned char j,k;
465 1 CS2=0;CS1=1; // 清左半屏 //
466 1 {
467 2 for(k=0;k<8;k++)
468 2 {
469 3 write_command(Page_Add+k);
470 3 write_command(Col_Add+0);
471 3 for(j=0;j<64;j++)
472 3 write_data(0x00);
473 3 }
474 2 }
475 1 CS2=1;CS1=0;
476 1 {
477 2 for(k=0;k<8;k++)
478 2 {
479 3 write_command(Page_Add+k);
480 3 write_command(Col_Add+0);
481 3 for(j=0;j<64;j++)
482 3 write_data(0x00);
483 3 }
484 2 }
485 1 }
486
487 /*------------------显示12864图片---------------------------*/
488 void Disp_Img(unsigned char code *img)
489 {
C51 COMPILER V8.02 QUAN 07/29/2008 20:35:20 PAGE 9
490 1 unsigned char j,k;
491 1 for(k=0;k<8;k++)
492 1 {
493 2 CS2=0;
494 2 CS1=1;
495 2 write_command(Page_Add+k);
496 2 write_command(Col_Add+0);
497 2 for(j=0;j<64;j++)
498 2 write_data(img[k*128+j]);
499 2 CS2=1;
500 2 CS1=0;
501 2 write_command(Page_Add+k);
502 2 write_command(Col_Add+0);
503 2 for(j=64;j<128;j++)
504 2 write_data(img[k*128+j]);
505 2 }
506 1 }
507
508 /*---------------------指定位置显示数字8*16-----------------------*/
509
510 void sz_disp16(unsigned char pag,unsigned char col, unsigned char code *szk)
511 {
512 1 unsigned char j=0,i=0;
513 1 for(j=0;j<2;j++)
514 1 {
515 2 write_command(Page_Add+pag+j);
516 2 write_command(Col_Add+col);
517 2 for(i=0;i<8;i++)
518 2 write_data(szk[8*j+i]);
519 2 }
520 1 }
521
522 /*---------------------指定位置显示汉字16*16-----------------------*/
523 void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
524 {
525 1 unsigned char j=0,i=0;
526 1 for(j=0;j<2;j++)
527 1 {
528 2 write_command(Page_Add+pag+j);
529 2 write_command(Col_Add+col);
530 2 for(i=0;i<16;i++)
531 2 write_data(hzk[16*j+i]);
532 2 }
533 1 }
534
535 /*---------------------指定位置显示汉字32*32-----------------------*/
536 void hz_disp32(unsigned char pag,unsigned char col, unsigned char code *hzk)
537 {
538 1 unsigned char j=0,i=0;
539 1 for(j=0;j<4;j++)
540 1 {
541 2 write_command(Page_Add+pag+j);
542 2 write_command(Col_Add+col);
543 2 for(i=0;i<32;i++)
544 2 write_data(hzk[32*j+i]);
545 2 }
546 1 }
547
548 /*------------------BIRTHDAY----------------------------*/
549 void dis_bir(unsigned char code *bir)
550 {
551 1 unsigned char i,j;
C51 COMPILER V8.02 QUAN 07/29/2008 20:35:20 PAGE 10
552 1 CS1=1;
553 1 CS2=0;
554 1 for(j=0;j<2;j++)
555 1 {
556 2 write_command(Page_Add+6+j);
557 2 write_command(Col_Add);
558 2 for(i=0;i<64;i++)
559 2 write_data(bir[64*j+i]);
560 2 }
561 1 }
562 /*------------------PRESENT----------------------------*/
563 void dis_pre(unsigned char code *pre)
564 {
565 1 unsigned char i,j;
566 1 CS1=0;
567 1 CS2=1;
568 1 sz_disp16(6,0,kongbai1);
569 1 for(j=0;j<2;j++)
570 1 {
571 2 write_command(Page_Add+6+j);
572 2 write_command(Col_Add+8);
573 2 for(i=0;i<56;i++)
574 2 write_data(pre[56*j+i]);
575 2 }
576 1 }
577
578 /*------------------节日和纪念日提醒--------------------------*/
579 void days(void)
580 {
581 1 unsigned char flag;
582 1 if((month==0x01)&(date==0x01))
583 1 {
584 2 flag=0;
585 2 CS1=1;CS2=0;
586 2 hz_disp16(6,0,kongbai2);
587 2 hz_disp16(6,16,kongbai2);
588 2 hz_disp16(6,32,xin); // 新
589 2 hz_disp16(6,48,nian); // 年
590 2 CS1=0;CS2=1;
591 2 hz_disp16(6,0,hao); // 好
592 2 hz_disp16(6,16,kongbai2);
593 2 hz_disp16(6,32,kongbai2);
594 2 hz_disp16(6,48,kongbai2);
595 2 }
596 1
597 1 else if((month==0x02)&(date==0x14))
598 1 {
599 2 CS1=1;CS2=0;
600 2 hz_disp16(6,0,kongbai2);
601 2 hz_disp16(6,16,jin); //今
602 2 hz_disp16(6,32,tian); //天
603 2 hz_disp16(6,48,shi1); //是
604 2 CS1=0;CS2=1;
605 2 hz_disp16(6,0,qing); //情
606 2 hz_disp16(6,16,ren); //人
607 2 hz_disp16(6,32,jie); //节
608 2 hz_disp16(6,48,kongbai2);
609 2 }
610 1 else if((month==0x03)&(date==0x01))
611 1 {
612 2 CS1=1;CS2=0;
613 2 hz_disp16(6,0,kongbai2);
C51 COMPILER V8.02 QUAN 07/29/2008 20:35:20 PAGE 11
614 2 hz_disp16(6,16,jin); //今
615 2 hz_disp16(6,32,tian); //天
616 2 hz_disp16(6,48,shi1); //是
617 2 CS1=0;CS2=1;
618 2 sz_disp16(6,0,point); //.
619 2 sz_disp16(6,8,point); //.
620 2 sz_disp16(6,16,point); //.
621 2 sz_disp16(6,24,kongbai1);
622 2 hz_disp16(6,32,kongbai2);
623 2 hz_disp16(6,48,kongbai2);
624 2 }
625 1 else if((month==0x05)&(date==0x05))
626 1 {
627 2 CS1=1;CS2=0;
628 2 hz_disp16(6,0,kongbai2);
629 2 hz_disp16(6,16,wo); //我
630 2 hz_disp16(6,32,men); //们
631 2 hz_disp16(6,48,de); //的
632 2 CS1=0;CS2=1;
633 2 hz_disp16(6,0,ji); //纪
634 2 hz_disp16(6,16,nian1); //念
635 2 hz_disp16(6,32,xq7); //日
636 2 hz_disp16(6,48,kongbai2);
637 2 }
638 1 else if((month==0x09)&(date==0x13))
639 1 {
640 2 CS1=1;CS2=0;
641 2 hz_disp16(6,0,kongbai2);
642 2 hz_disp16(6,16,jin); //今
643 2 hz_disp16(6,32,tian); //天
644 2 hz_disp16(6,48,shi1); //是
645 2 CS1=0;CS2=1;
646 2 hz_disp16(6,0,ni); //你
647 2 hz_disp16(6,16,shen); //生
648 2 hz_disp16(6,32,xq7); //日
649 2 hz_disp16(6,48,kongbai2);
650 2 }
651 1 else
652 1 {
653 2 dis_bir(birthday);
654 2 dis_pre(present);
655 2 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -