📄 7455.lst
字号:
556 1 write_com(0xCE);
557 1 write_date(table4[z2]);
558 1 delay_50us(10);
559 1 write_com(0xCF);
560 1 write_date(table4[z3]);
561 1 delay_50us(20);
562 1 }
563 /******************************************************************/
564 /************** 按键检测部分 **************/
565 /******************************************************************/
566 void key_check()
567 {
568 1 uchar i,j;
569 1
570 1 i=1;
571 1 key:if(!set_key)
572 1 {
573 2 delay();
574 2 if(!set_key)
575 2 {
576 3 set_key_sign=1;
577 3 switch(i)
578 3 {
579 4 case 1:
580 4 write_com(0x80);
581 4 write_date(0x50);//P
582 4 delay_50us(10);
583 4 write_date(0x6c);//l
584 4 delay_50us(10);
585 4 write_date(0x65);//e
586 4 delay_50us(10);
587 4 write_date(0x61);//a
588 4 delay_50us(10);
589 4 write_date(0x73);//s
590 4 delay_50us(10);
591 4 write_date(0x65);//e
592 4 delay_50us(10);
593 4 write_date(0x20);//空
594 4 delay_50us(10);
595 4 write_date(0x69);//i
596 4 delay_50us(10);
597 4 write_date(0x6f);//n
598 4 delay_50us(10);
599 4 write_date(0x70);//p
600 4 delay_50us(10);
601 4 write_date(0x75);//u
602 4 delay_50us(10);
603 4 write_date(0x74);//t
604 4 delay_50us(10);
605 4 write_date(0x20);//空
606 4 delay_50us(10);
607 4 write_date(0x58);//X
608 4 delay_50us(10);
609 4 write_date(0x2b);//+
610 4 delay_50us(10);
611 4 write_date(0x20);//空
612 4 delay_50us(10);
613 4 write_com(0xc0);
C51 COMPILER V8.08 7455 01/22/2011 09:43:35 PAGE 11
614 4 for(j=0;j<16;j++)
615 4 {
616 5 write_date(table7[j]);
617 5 delay_50us(10);
618 5 }
619 4 change_topvalue(xposivalue);
620 4 i++;
621 4 break;
622 4 case 2:
623 4 write_com(0x8e);
624 4 write_date(0x2d); //输出负号
625 4 delay_50us(10);
626 4 change_topvalue(xnegavalue);
627 4 i++;
628 4 break;
629 4 case 3:
630 4 write_com(0x8d);
631 4 write_date(0x59); //输出Y
632 4 delay_50us(10);
633 4 write_date(0x2b); //输出+
634 4 delay_50us(10);
635 4 write_com(0xc9);
636 4 write_date(0x59); //输出Y
637 4 delay_50us(10);
638 4 change_topvalue(yposivalue);
639 4 i++;
640 4 break;
641 4 case 4:
642 4 write_com(0x8e);
643 4 write_date(0x2d); //输出负号
644 4 change_topvalue(ynegavalue);
645 4 i++;
646 4 break;
647 4 case 5:
648 4 i=1;
649 4 set_key_sign=0;
650 4 write_com(0x80);
651 4 for(j=0;j<8;j++)
652 4 {
653 5 write_date(table5[j]);
654 5 delay_50us(10);
655 5 }
656 4 write_com(0x88);
657 4 for(j=8;j<16;j++)
658 4 {
659 5 write_date(table1[j]);
660 5 delay_50us(10);
661 5 }
662 4 write_com(0xc0);
663 4 for(j=0;j<16;j++)
664 4 {
665 5 write_date(table2[j]);
666 5 delay_50us(10);
667 5 }
668 4 break;
669 4 default:break;
670 4
671 4 }
672 3 }
673 2 }
674 1
675 1 if(set_key_sign)
C51 COMPILER V8.08 7455 01/22/2011 09:43:35 PAGE 12
676 1 {
677 2 if(!jia_key)
678 2 {
679 3 delay();
680 3 if(!jia_key)
681 3 {
682 4 switch(i-1)
683 4 {
684 5 case 1:
685 5 if(xposivalue!=100)
686 5 {
687 6 xposivalue++;
688 6 change_topvalue(xposivalue);
689 6 }
690 5 break;
691 5 case 2:
692 5 if(xnegavalue!=100)
693 5 {
694 6 xnegavalue++;
695 6 change_topvalue(xnegavalue);
696 6 }
697 5 break;
698 5 case 3:
699 5 if(yposivalue!=100)
700 5 {
701 6 yposivalue++;
702 6 change_topvalue(yposivalue);
703 6 }
704 5 break;
705 5 case 4:
706 5 if(ynegavalue!=100)
707 5 {
708 6 ynegavalue++;
709 6 change_topvalue(ynegavalue);
710 6 }
711 5 break;
712 5 default:break;
713 5 }
714 4 }
715 3
716 3 }
717 2 if(!jian_key)
718 2 {
719 3 delay();
720 3 if(!jian_key)
721 3 {
722 4 switch(i-1)
723 4 {
724 5 case 1:
725 5 if(xposivalue!=0)
726 5 {
727 6 xposivalue--;
728 6 change_topvalue(xposivalue);
729 6 }
730 5 break;
731 5 case 2:
732 5 if(xnegavalue!=0)
733 5 {
734 6 xnegavalue--;
735 6 change_topvalue(xnegavalue);
736 6 }
737 5 break;
C51 COMPILER V8.08 7455 01/22/2011 09:43:35 PAGE 13
738 5 case 3:
739 5 if(yposivalue!=0)
740 5 {
741 6 yposivalue--;
742 6 change_topvalue(yposivalue);
743 6 }
744 5 break;
745 5 case 4:
746 5 if(ynegavalue!=0)
747 5 {
748 6 ynegavalue--;
749 6 change_topvalue(ynegavalue);
750 6 }
751 5 break;
752 5 default:break;
753 5 }
754 4 }
755 3 }
756 2 }
757 1 if(set_key_sign)goto key;
758 1 }
759 /***********************************************************/
760 /**************** 主函数 ****************/
761 /***********************************************************/
762 void data_init()
763 {
764 1 set_key_sign=0;
765 1 xposivalue=50;
766 1 xnegavalue=50;
767 1 yposivalue=50;
768 1 ynegavalue=50;
769 1 }
770 void main()
771 {
772 1 uchar j;
773 1
774 1 led_init();
775 1 init1602();
776 1 self_test7455();
777 1 data_init();
778 1
779 1 iic_write(0x10,0x32);//校正X值
780 1 iic_write(0x12,0x62);//校正Y值
781 1
782 1 delay_50ms(20);
783 1
784 1 write_com(0x80);
785 1 for(j=0;j<8;j++)
786 1 {
787 2 write_date(table5[j]);
788 2 delay_50us(10);
789 2 }
790 1
791 1 while(1)
792 1 {
793 2 key_check();
794 2 sendx();
795 2 if(delaysign)
796 2 {
797 3 led_xposizhi();
798 3 led_xnegazhi();
799 3 led_show();
C51 COMPILER V8.08 7455 01/22/2011 09:43:35 PAGE 14
800 3 delay_50ms(4);
801 3 led_init();
802 3 xposilightnum=1;
803 3 xnegalightnum=1;
804 3 }
805 2 sendy();
806 2 if(delaysign)
807 2 {
808 3 led_yposizhi();
809 3 led_ynegazhi();
810 3 led_show();
811 3 delay_50ms(4);
812 3 led_init();
813 3 ynegalightnum=0;
814 3 yposilightnum=1;
815 3 }
816 2 led_init();
817 2 sendz();
818 2 if(delaysign)delay_50ms(4);
819 2 }
820 1 }
821 /***** 完 .*****/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1939 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 108 7
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 + -