📄 pg160128a.lst
字号:
446 1 }
447
448 /********************************文本方式下,用指定数据填充字符***********/
449 void cgram_wave(void)
450 {
451 1 uint i;
452 1 uchar mychar[40]={ 0x00,0x04,0x02,0xff,0x02,0x04,0x00,0x00,//→
453 1 0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,//─
454 1 0x08,0x1c,0x2a,0x08,0x08,0x08,0x08,0x08,//↑
455 1 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,//│
456 1 0x08,0x08,0x08,0xff,0x08,0x08,0x08,0x08,//┽
457 1 };
458 1
459 1 fnPR1(LC_ADD_POS,0x08,0x1c); /* 置地址指针 */
460 1 fnPR12(LC_AUT_WR); /* 自动写 */
461 1 for(i=0;i<40;i++)
462 1 {
463 2 fnST3();
464 2 fnPR13(mychar[i]); /* 写数据 */
465 2 }
466 1 fnPR12(LC_AUT_OVR); /* 自动写结束 */
467 1 fnPR1(LC_ADD_POS,0x00,0x00); /* 重置地址指针 */
468 1 gCurRow = 0; /* 置地址指针存储变量 */
469 1 gCurCol = 0;
470 1 }
471 /*********************************矩形填充0x80字符*******************/
472 void txtfill(uchar col,uchar row,uchar h,uchar l,uchar arc)
473 {
474 1 uchar i,j;
475 1 for(i=0;i<h;i++)
476 1 for(j=0;j<l;j++)
477 1 {
478 2 fnSetPostxt(row+i,j+col);
479 2 fnPR11(LC_NOC_WR,arc);
480 2 }
481 1 }
482
483 void cgram_waveinit(void)
484 {
485 1 txtfill(0,3,1,1,'5'-32);
486 1 txtfill(1,3,1,1,'V'-32);
487 1 txtfill(2,2,12,1,0x84);
488 1 txtfill(2,1,1,1,0x83);
489 1 txtfill(2,14,1,1,0x85);
C51 COMPILER V7.06 PG160128A 05/16/2009 11:06:12 PAGE 9
490 1 txtfill(3,14,1,15,0x82);
491 1 txtfill(18,14,1,1,0x81);
492 1 txtfill(2,3,1,1,0x85);
493 1 }
494 void cgram_wavecls(void)
495 {
496 1 txtfill(0,3,1,1,' '-32);
497 1 txtfill(1,3,1,1,' '-32);
498 1 txtfill(2,2,12,1,0x86);
499 1 txtfill(2,1,1,1,0x86);
500 1 txtfill(2,14,1,1,0x86);
501 1 txtfill(3,14,1,15,0x86);
502 1 txtfill(18,14,1,1,0x86);
503 1 txtfill(2,3,1,1,0x86);
504 1 }
505 void menuprint()
506 {
507 1
508 1
509 1 fnPR1(LC_GRH_STP,0x00,0x0a);
510 1 cursor1(0,0);
511 1 dprintf1("%s","请选择:");//Please choose:
512 1 cursor1(2,0);
513 1 dprintf1("%s","1,T6963模块基本功能;");//1,T6963C核LCD;
514 1 cursor1(3,0);
515 1 dprintf1("%s","2,图形显示演示;");//;2,图形显示;
516 1 cursor1(4,0);
517 1 dprintf1("%s","3,指导老师简介;");//3,Displaywave;
518 1 cursor1(5,0);
519 1 dprintf1("%s","4,作者简介;");//4,Stepmotor control;
520 1 cursor1(6,0);
521 1 dprintf1("%s","5,关于此毕业设计.");//5,LCD接口设计;
522 1
523 1 }
524 //************菜单选择函数,返回按键号
525 uchar menuselect()
526 {
527 1 uchar row;static uchar index;
528 1 index=1;row=(index-1)*2+4;
529 1 txtfill(0,row,2,20,0x080);
530 1 while(1)
531 1 {
532 2 if(scankeypad()==3)//上
533 2 { txtfill(0,row,2,20,0);
534 3 if(index==1)
535 3 {
536 4
537 4 index=5;row=(index-1)*2+4;
538 4 txtfill(0,row,2,20,0x080);
539 4 }
540 3 else
541 3 {
542 4 index--;row=(index-1)*2+4;
543 4 txtfill(0,row,2,20,0x080);
544 4 }
545 3 }
546 2 if(scankeypad()==7)//下
547 2 { txtfill(0,row,2,20,0);
548 3 if(index==5)
549 3 {
550 4
551 4 index=1;row=(index-1)*2+4;
C51 COMPILER V7.06 PG160128A 05/16/2009 11:06:12 PAGE 10
552 4 txtfill(0,row,2,20,0x080);
553 4 }
554 3 else
555 3 {
556 4 index++;row=(index-1)*2+4;
557 4 txtfill(0,row,2,20,0x080);
558 4 }
559 3 }
560 2 if(scankeypad()==11)
561 2 {
562 3 txtfill(0,row,2,20,0);
563 3 return index;
564 3 }
565 2 }
566 1 }
567 void pdelay()
568 {
569 1 unsigned int i,j;
570 1 for (i=500;i>0;i--)
571 1 for(j=500;j>0;j--);
572 1 }
573 void showBMP(uchar row,uchar col,uchar prow,char pcol,char *uc_char) {
574 1 uchar k,j;
575 1 fnPR1(LC_ADD_POS,0x00,0x00); /* 置地址指针 */
576 1 for(k=0;k<prow;k++)
577 1 { fnSetPos1(row+k,col);
578 2 fnPR12(LC_AUT_WR); /* 自动写 */
579 2 for(j=0;j<pcol;j++)
580 2 fnPR13(uc_char[pcol*k+j]);
581 2 fnPR12(LC_AUT_OVR); /* 自动写结束 */
582 2 }
583 1 fnPR1(LC_ADD_POS,0x00,0x00); /* 重置地址指针 */
584 1 }
585
586 /********************************* 主函数 ********************************/
587 void main(void) {
588 1 fnLCMInit();
589 1 fnPR1(LC_GRH_STP,0x00,0x0a);
590 1 showBMP(0,0,116,20,&WATER);
591 1 pdelay();
592 1 cls();
593 1 while(1)
594 1 {
595 2 cls();
596 2 cgram80(0xff);
597 2 menuprint();
598 2 switch(menuselect())
599 2 {
600 3
601 3 case 1:{
602 4 cls();
603 4 showBMP(8,4,46,13,&YAN);
604 4 while(scankeypad()!=15);
605 4 break;}
606 3 case 2:{
607 4 cls();
608 4 showBMP(0,0,64,16,&STARTLOGO);
609 4 while(scankeypad()!=15);
610 4 break;
611 4 }
612 3 case 3:{
613 4 cls();
C51 COMPILER V7.06 PG160128A 05/16/2009 11:06:12 PAGE 11
614 4 fnPR1(LC_GRH_STP,0x00,0x00);
615 4 cursor(0,5);
616 4 dprintf("%s","长江大学");
617 4 cursor(1,5);
618 4 dprintf("%s","电信学院");
619 4 cursor(2,5);
620 4 dprintf("%s","徐爱钧教授");
621 4 while(scankeypad()!=15);
622 4 break;
623 4
624 4 }
625 3 case 4:{
626 4 cls();
627 4 fnPR1(LC_GRH_STP,0x00,0x00);
628 4 cursor(0,5);
629 4 dprintf("%s","长江大学");
630 4 cursor(1,7);
631 4 dprintf("%s","肖欢");
632 4 cursor(2,5);
633 4 dprintf("%s","自本10502");
634 4 while(scankeypad()!=15);
635 4 break;
636 4 }
637 3 case 5:{
638 4 cls();
639 4 fnPR1(LC_GRH_STP,0x00,0x00);
640 4 while(1)
641 4 {
642 5
643 5 cursor(2,3);
644 5 dprintf("%s","单片机LCD图形");
645 5 cursor(3,6);
646 5 dprintf("%s","接口设计");
647 5 while(scankeypad()!=15);
648 5 break;
649 5 }
650 4 }
651 3 default:break;
652 3 }
653 2
654 2 }
655 1
656 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3210 ----
CONSTANT SIZE = 5679 ----
XDATA SIZE = 2009 299
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -