📄 eluosi.lst
字号:
*** ERROR C202 IN LINE 525 OF ELUOSI.C: 'Rs_Lcd': undefined identifier
526 2 DataBuss=dat;
527 2 En_Lcd=1;
*** ERROR C202 IN LINE 527 OF ELUOSI.C: 'En_Lcd': undefined identifier
528 2 En_Lcd=0;
*** ERROR C202 IN LINE 528 OF ELUOSI.C: 'En_Lcd': undefined identifier
529 2 }
530 1 return(state);
531 1 }
532
533 //***********************************************
534 //* Name: SetStarLine
535 //* Function: 设置显示开始行
536 //*********************************/
537 char SetStarLine(char line)
538 {
539 1 char state;
540 1 line=(line&0x3F)|0xC0;
541 1 state=WrCommandLcd(line);
542 1 return(state);
543 1 }
544
545
546
547 void InitDis(void)
548 {
549 1 SetStarLine(0x00);
550 1 WrCommandLcd(0x3F);//kai xian shi
551 1 }
552
553
554 char SysInit(void)
555 {
556 1 unsigned char i, state;
557 1
558 1 // Rst_Lcd=0; //复位lcd
559 1 for(i=0xFF;i>0;i--) //延时1ms
560 1 { ; }
561 1 //Rst_Lcd=1;
562 1 SetStarLine(0x00);
563 1 InitDis( );
564 1
565 1 return(state);
566 1 }
567 //********************************/
568 //* Name: SetStarLine
569 //* Function: 设置当前页地址
570 //* Input: page=页地址
571 //***************************************/
572 char SetPageAddr(char page)
C51 COMPILER V7.06 ELUOSI 09/02/2008 17:59:01 PAGE 12
573 {
574 1 char state;
575 1 page=(page&0x07)|0xB8;
576 1 state=WrCommandLcd(page);
577 1 return(state);
578 1 }
579 //*******************/
580 //* Name: SetStarLine
581 //* Function: 设置当Y地址
582 //* Input: line=开始显示的行数?
583 /////////// **********/
584 char SetYAddr(char y)
585 {
586 1 char state;
587 1 y=(y&0x3F)|0x40;
588 1 state=WrCommandLcd(y);
589 1 return(state);
590 1 }
591 //////////////////////////////////////////////////////////
592 //
593 //////////////////////////////////////////////////////////
594 ////////////////////////////////////////////////////显示某点
595 void Dispoint(unsigned char page,unsigned char y)
596 {
597 1 unsigned char tmp=0;
598 1 unsigned char state=0;
599 1
600 1 SetPageAddr(page/8);
601 1 SetYAddr(y);
602 1 if(y<64) {Cs1_Lcd=1;Cs2_Lcd=0;}
*** ERROR C202 IN LINE 602 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
*** ERROR C202 IN LINE 602 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
603 1 else {Cs1_Lcd=0;Cs2_Lcd=1;}
*** ERROR C202 IN LINE 603 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
*** ERROR C202 IN LINE 603 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
604 1
605 1 En_Lcd=0;
*** ERROR C202 IN LINE 605 OF ELUOSI.C: 'En_Lcd': undefined identifier
606 1 for(tmp=0xFF;(RdStateLcd()&0x80)&&(tmp>0x00);tmp--)
607 1 { ; }
608 1 if(tmp==0)
609 1 { state=0xFF; }
610 1 else
611 1 {
612 2 Rs_Lcd=1;
*** ERROR C202 IN LINE 612 OF ELUOSI.C: 'Rs_Lcd': undefined identifier
613 2 Rw_Lcd=1;
*** ERROR C202 IN LINE 613 OF ELUOSI.C: 'Rw_Lcd': undefined identifier
614 2
615 2 En_Lcd=1; delay_us(2);
*** ERROR C202 IN LINE 615 OF ELUOSI.C: 'En_Lcd': undefined identifier
616 2 dat=DataBuss;
617 2 En_Lcd=0; delay_us(2);
*** ERROR C202 IN LINE 617 OF ELUOSI.C: 'En_Lcd': undefined identifier
618 2
619 2 En_Lcd=1; delay_us(2);
*** ERROR C202 IN LINE 619 OF ELUOSI.C: 'En_Lcd': undefined identifier
620 2 dat=DataBuss;
621 2 En_Lcd=0; delay_us(2);
*** ERROR C202 IN LINE 621 OF ELUOSI.C: 'En_Lcd': undefined identifier
622 2
623 2 }
C51 COMPILER V7.06 ELUOSI 09/02/2008 17:59:01 PAGE 13
624 1
625 1 dat|=(1<<(page%8));
626 1 SetPageAddr(page/8);
627 1 SetYAddr(y);
628 1 if(y<64) {Cs1_Lcd=1;Cs2_Lcd=0;}
*** ERROR C202 IN LINE 628 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
*** ERROR C202 IN LINE 628 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
629 1 else {Cs1_Lcd=0;Cs2_Lcd=1;}
*** ERROR C202 IN LINE 629 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
*** ERROR C202 IN LINE 629 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
630 1 for(tmp=0xFF;(RdStateLcd( )&0x80)&&(tmp>0x00);tmp--)//ban mang ?
631 1 { ; }
632 1 if(tmp==0)
633 1 { state=0xFF; }
634 1 else
635 1 {
636 2 Rw_Lcd=0;
*** ERROR C202 IN LINE 636 OF ELUOSI.C: 'Rw_Lcd': undefined identifier
637 2 Rs_Lcd=1;
*** ERROR C202 IN LINE 637 OF ELUOSI.C: 'Rs_Lcd': undefined identifier
638 2
639 2 DataBuss=dat;
640 2
641 2 En_Lcd=1;
*** ERROR C202 IN LINE 641 OF ELUOSI.C: 'En_Lcd': undefined identifier
642 2 En_Lcd=0;
*** ERROR C202 IN LINE 642 OF ELUOSI.C: 'En_Lcd': undefined identifier
643 2 }
644 1
645 1 }
646
647 ////////////////////////////////////////////////////清除某点
648 void Clrpoint(unsigned char page,unsigned char y)
649 {
650 1 unsigned char tmp=0;
651 1 unsigned char state=0;
652 1
653 1 SetPageAddr(page/8);
654 1 SetYAddr(y);
655 1 if(y<64) {Cs1_Lcd=1;Cs2_Lcd=0;}
*** ERROR C202 IN LINE 655 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
*** ERROR C202 IN LINE 655 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
656 1 else {Cs1_Lcd=0;Cs2_Lcd=1;}
*** ERROR C202 IN LINE 656 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
*** ERROR C202 IN LINE 656 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
657 1
658 1 En_Lcd=0;
*** ERROR C202 IN LINE 658 OF ELUOSI.C: 'En_Lcd': undefined identifier
659 1 for(tmp=0xFF;(RdStateLcd( )&0x80)&&(tmp>0x00);tmp--)
660 1 { ; }
661 1 if(tmp==0)
662 1 { state=0xFF; }
663 1 else
664 1 {
665 2 Rs_Lcd=1;
*** ERROR C202 IN LINE 665 OF ELUOSI.C: 'Rs_Lcd': undefined identifier
666 2 Rw_Lcd=1;
*** ERROR C202 IN LINE 666 OF ELUOSI.C: 'Rw_Lcd': undefined identifier
667 2
668 2 En_Lcd=1; delay_us(10);
*** ERROR C202 IN LINE 668 OF ELUOSI.C: 'En_Lcd': undefined identifier
669 2 dat=DataBuss;
C51 COMPILER V7.06 ELUOSI 09/02/2008 17:59:01 PAGE 14
670 2 En_Lcd=0; delay_us(10);
*** ERROR C202 IN LINE 670 OF ELUOSI.C: 'En_Lcd': undefined identifier
671 2
672 2 En_Lcd=1; delay_us(10);
*** ERROR C202 IN LINE 672 OF ELUOSI.C: 'En_Lcd': undefined identifier
673 2 dat=DataBuss;
674 2 En_Lcd=0; delay_us(10);
*** ERROR C202 IN LINE 674 OF ELUOSI.C: 'En_Lcd': undefined identifier
675 2
676 2 }
677 1 dat&=~(1<<(page%8));
678 1 SetPageAddr(page/8);
679 1 SetYAddr(y);
680 1 if(y<64) {Cs1_Lcd=1;Cs2_Lcd=0;}
*** ERROR C202 IN LINE 680 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
*** ERROR C202 IN LINE 680 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
681 1 else {Cs1_Lcd=0;Cs2_Lcd=1;}
*** ERROR C202 IN LINE 681 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
*** ERROR C202 IN LINE 681 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
682 1 for(tmp=0xFF;(RdStateLcd( )&0x80)&&(tmp>0x00);tmp--)//ban mang ?
683 1 { ; }
684 1 if(tmp==0)
685 1 { state=0xFF; }
686 1 else
687 1 {
688 2 Rw_Lcd=0;
*** ERROR C202 IN LINE 688 OF ELUOSI.C: 'Rw_Lcd': undefined identifier
689 2 Rs_Lcd=1;
*** ERROR C202 IN LINE 689 OF ELUOSI.C: 'Rs_Lcd': undefined identifier
690 2
691 2 DataBuss=dat;
692 2
693 2 En_Lcd=1;
*** ERROR C202 IN LINE 693 OF ELUOSI.C: 'En_Lcd': undefined identifier
694 2 En_Lcd=0;
*** ERROR C202 IN LINE 694 OF ELUOSI.C: 'En_Lcd': undefined identifier
695 2 }
696 1
697 1 }
698
699 ////////////////////////////////////////////////////请屏幕
700 void ClrScreen(void)
701 {
702 1 char i,j,state;
703 1
704 1 for(j=0;j<8;j++)
705 1 {
706 2 state=SetPageAddr(j);
707 2 state=SetYAddr(0x00);
708 2
709 2 Cs1_Lcd=1;
*** ERROR C202 IN LINE 709 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
710 2 Cs2_Lcd=0;
*** ERROR C202 IN LINE 710 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
711 2 for(i=0;i<64;i++) //清
712 2 {
713 3 state=WrDataLcd(0);
714 3 }
715 2 Cs1_Lcd=0;
*** ERROR C202 IN LINE 715 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
716 2 Cs2_Lcd=1;
*** ERROR C202 IN LINE 716 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
C51 COMPILER V7.06 ELUOSI 09/02/2008 17:59:01 PAGE 15
717 2 for(i=0;i<64;i++) //清
718 2 {
719 3 state=WrDataLcd(0);
720 3 }
721 2 }
722 1 }
723
724 void DisChar(unsigned char *p,unsigned char page,unsigned char y,char state)
725 {
726 1 unsigned char i,j,tmp;
727 1
728 1 for(j=0;j<2;j++)
729 1 {
730 2 SetPageAddr(page+j);
731 2 if(y<64)
732 2 { i=y; }
733 2 else
734 2 { i=y-64; }
735 2 SetYAddr(i);
736 2 //SetStarLine(i);
737 2
738 2 if(y<64)
739 2 {
740 3 Cs1_Lcd=1;
*** ERROR C202 IN LINE 740 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
741 3 Cs2_Lcd=0;
*** ERROR C202 IN LINE 741 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
742 3 }
743 2 else
744 2 {
745 3 Cs1_Lcd=0;
*** ERROR C202 IN LINE 745 OF ELUOSI.C: 'Cs1_Lcd': undefined identifier
746 3 Cs2_Lcd=1;
*** ERROR C202 IN LINE 746 OF ELUOSI.C: 'Cs2_Lcd': undefined identifier
747 3 }
748 2
749 2 for(i=8;i<16;i++)
750 2 {
751 3 tmp=p[i-8*j];
752 3 if(state==0x01)
753 3 { tmp=~tmp; }
754 3 WrDataLcd(tmp);
755 3 }
756 2 }
757 1 }
758
759 ////////////////////////////////////////////////////状态机按键
760 unsigned char read_key(unsigned char a,unsigned char key)
761 {
762 1 char key_press, key_return = 0;
763 1
764 1 key_press = key;// 读按键I/O电平
765 1
766 1 switch (key_state[a])
767 1 {
768 2 case key_state_0:// 按键初始态
769 2 if (!key_press) key_state[a] = key_state_1;// 键被按下,状态转换到键确认态
770 2 break;
771 2
772 2 case key_state_1:// 按键确认态
773 2 if (!key_press)
774 2 {
C51 COMPILER V7.06 ELUOSI 09/02/2008 17:59:01 PAGE 16
775 3 key_return = 1; // 按键仍按下,按键确认输出为“1”
776 3 key_state[a] = key_state_2; // 状态转换到键释放态
777 3 }
778 2 else
779 2 key_state[a] = key_state_0; // 按键已抬起,转换到按键初始态
780 2 break;
781 2
782 2 case key_state_2:
783 2 if (key_press) key_state[a] = key_state_0; //按键已释放,转换到按键初始态
784 2 break;
785 2 }
786 1
787 1
788 1 return key_return;
789 1 }
C51 COMPILATION COMPLETE. 2 WARNING(S), 146 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -