⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 进行单片机与LCD的接口通讯与显示。使用清华的液晶。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 551   1          { 190,190,190,190,190,190,190,190,(*commu100)},//communication signal
 552   1          { 191,191,191,191,191,191,5,191,(*disp100)},//communication OK
 553   1          { 192,192,192,192,192,192,5,192,(*disp101)},//self-checking
 554   1          { 193,193,193,193,193,193,5,193,(*disp102)},//self-checking finished
 555   1          { 194,194,194,194,194,194,5,194,(*disp103)},//main switch closed
 556   1          { 195,195,195,195,195,195,5,195,(*disp104)},//charging finished
 557   1          { 196,196,196,196,196,196,5,196,(*disp105)},//release ok
 558   1          { 197,197,197,197,197,4,5,197,(*disp106)},//speeding up finished
 559   1          { 198,198,198,198,198,198,198,198,(*disp107)},//V I F
 560   1          { 199,199,199,199,199,199,199,199,(*disp108)},//normal down
 561   1          { 200,200,200,200,200,200,200,200,(*disp109)},//fault down
 562   1      /*password*/
 563   1          { 201,201,201,201,201,202,5,4,(*disp110)},
 564   1          { 202,202,202,202,202,202,5,4,(*disp111)},
 565   1      
 566   1      };
 567   1      
 568   1                 INT_1();                    /*  调初始化函数  */
 569   1                 CLEAR();                    /*  调清屏函数   */
 570   1      /*UART init*/
 571   1      Uart_init();
 572   1      O_X=0x1d;
 573   1      O_Y=0x0f;
 574   1      
 575   1      P3_5=1;
 576   1      //dispes_f(0,3,11,"I LOVE YOU:");       //"Entry:"
 577   1      //dispes(0,5,11,"I LOVE YOU:");
 578   1      
 579   1      while(1)
 580   1      {
 581   2      	key=scankey();
 582   2          if(keybutton==1)
 583   2             {key2=key;
 584   3             P3_4=0;
 585   3             P3_5=1;}
 586   2              if(!keybutton)
 587   2        {    P3_4=1;
 588   3        //********************
 589   3              if(key2==8)
 590   3              {commu110();}
 591   3              else if(key2==10)
 592   3              {commu111();}
 593   3        //********************
 594   3      		switch(key2)
 595   3          {
 596   4              case    1:    //回车键,找出新的菜单状态编号
 597   4              {
 598   5                  KeyFuncIndex=KeyTab[KeyFuncIndex].KeyCrState;
 599   5                  KeyState=1;
 600   5                  break;
 601   5              }
 602   4              case    7:    //向上键,找出新的菜单状态编号
 603   4              {
 604   5                  KeyFuncIndex=KeyTab[KeyFuncIndex].KeyUpState;
 605   5                  KeyState=1;
 606   5                  break;
 607   5              }
 608   4              case    6:    //向下键,找出新的菜单状态编号
 609   4              {
 610   5                  KeyFuncIndex=KeyTab[KeyFuncIndex].KeyDnState;
 611   5                  KeyState=1;
 612   5                  break;
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 11  

 613   5              }
 614   4              case    2:   //退出键,找出新的菜单状态编号
 615   4              {
 616   5                  KeyFuncIndex=KeyTab[KeyFuncIndex].KeyEsState;
 617   5                  KeyState=1;
 618   5                  break;
 619   5              }
 620   4              case    3:   //返回键,找出新的菜单状态编号
 621   4              {
 622   5                 KeyFuncIndex=KeyTab[KeyFuncIndex].KeyFhState;
 623   5                 KeyState=1;
 624   5                 break;
 625   5              }
 626   4              case    5:  //向左键
 627   4              {
 628   5                 KeyFuncIndex=KeyTab[KeyFuncIndex].KeyLeft;
 629   5                 KeyState=1;
 630   5                 break;
 631   5              }
 632   4              case    4:  //向右键
 633   4              {
 634   5                 KeyFuncIndex=KeyTab[KeyFuncIndex].KeyRight;
 635   5                 KeyState=1;
 636   5                 break;
 637   5              }
 638   4              default:    //按键错误的处理
 639   4                          //  ......
 640   4              break;
 641   4          }
 642   3          if(KeyState||Keyfirst)
 643   3          {
 644   4          KeyFuncPtr=KeyTab[KeyFuncIndex].CurrentOperate;
 645   4          (*KeyFuncPtr)();    //执行当前按键的操作
 646   4            KeyState=0;
 647   4          key2=0;
 648   4          } ;
 649   3      
 650   3         };
 651   2       }
 652   1      }
*** WARNING C280 IN LINE 295 OF D:\LCD_6963\LCD2\MAIN.C: 'a': unreferenced local variable
*** WARNING C280 IN LINE 295 OF D:\LCD_6963\LCD2\MAIN.C: 'b': unreferenced local variable
*** WARNING C280 IN LINE 295 OF D:\LCD_6963\LCD2\MAIN.C: 'i': unreferenced local variable
*** WARNING C280 IN LINE 295 OF D:\LCD_6963\LCD2\MAIN.C: 'j': unreferenced local variable
 653          /*display function difinetion*/
 654          void CLEAR1()
 655          {blank_line(2);
 656   1       blank_line(3);
 657   1       blank_line(4);
 658   1       blank_line(5);
 659   1       blank_line(6);
 660   1       blank_line(7);
 661   1       blank_line(8);
 662   1      blank_line(9);
 663   1      blank_line(10);
 664   1      blank_line(11);
 665   1      blank_line(12);
 666   1      blank_line(13);
 667   1       }
 668          void disp11()
 669            { CLEAR1();
 670   1         }
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 12  

 671          
 672          void disp12()
 673            { CLEAR1();
 674   1          }
 675          
 676          void disp13()
 677            {switch(state_num)
 678   1         {case 1: Keyfirst=1;
 679   2                 KeyFuncIndex=192;
 680   2                 break;
 681   2         case 2: Keyfirst=1;
 682   2                 KeyFuncIndex=193;
 683   2                 break;
 684   2         case 3: Keyfirst=1;
 685   2                 KeyFuncIndex=194;
 686   2                 break;
 687   2         case 4: Keyfirst=1;
 688   2                 KeyFuncIndex=195;
 689   2                 break;
 690   2         case 5: Keyfirst=1;
 691   2                 KeyFuncIndex=196;
 692   2                 break;
 693   2         case 6: Keyfirst=1;
 694   2                 KeyFuncIndex=197;
 695   2                 break;
 696   2          }
 697   1           }
 698          void disp211()
 699            { CLEAR1();
 700   1          Keyfirst=0;
 701   1          dispes_f(0,3,8,"display:");      //"display:"
 702   1          dispes(0,5,12,"programming:");        //"programming:"
 703   1          dispes(0,7,11,"fault ack.:");        //"fault ack.:"
 704   1          dispes(0,11,26,"Device is normal operating");
 705   1          //kai shi shua xing
 706   1          length=2;
 707   1          send(head);
 708   1          send(length);
 709   1          send(116);
 710   1          verify=head^length^116;
 711   1          send(verify);
 712   1        }
 713          
 714          void disp212()
 715            { CLEAR1();
 716   1          dispes(0,3,8,"display:");      //"display:"
 717   1          dispes_f(0,5,12,"programming:");        //"programming:"
 718   1          dispes(0,7,11,"fault ack.:");        //"fault ack.:"
 719   1          dispes(0,11,26,"Device is normal operating");
 720   1          //kai shi shua xing
 721   1          length=2;
 722   1          send(head);
 723   1          send(length);
 724   1          send(116);
 725   1          verify=head^length^116;
 726   1          send(verify);
 727   1        }
 728          
 729          void disp213()
 730            { CLEAR1();
 731   1          dispes(0,3,8,"display:");      //"display:"
 732   1          dispes(0,5,12,"programming:");        //"programming:"
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 13  

 733   1          dispes_f(0,7,11,"fault ack.:");        //"fault ack.:"
 734   1          dispes(0,11,26,"Device is normal operating");
 735   1          //kai shi shua xing
 736   1          length=2;
 737   1          send(head);
 738   1          send(length);
 739   1          send(116);
 740   1          verify=head^length^116;
 741   1          send(verify);
 742   1        }
 743          
 744          void disp214(){;}
 745          void disp215()
 746            { CLEAR1();
 747   1          dispes(0,5,20,"fault message acked.");      //"fault message acked."
 748   1        }
 749          
 750          void disp301()
 751            { CLEAR1();
 752   1          dispes_f(0,3,24,"operating stats/measure:");     //"operating stats/measure:"
 753   1          dispes(0,5,15,"history events:");     //"history events:"
 754   1        }
 755          
 756          void disp302()
 757            { CLEAR1();
 758   1          dispes(0,3,24,"operating stats/measure:");     //"operating stats/measure:"
 759   1          dispes_f(0,5,15,"history events:");     //"history events:"
 760   1        }
 761          
 762          void disp303(){;}
 763          
 764          void disp311()
 765            {CLEAR1();
 766   1          dispes_f(0,3,18,"date/time setting:");      //"date/time setting:"
 767   1          dispes(0,5,9,"language:");      //"language:"
 768   1          dispes(0,7,6,"scale:");       //"scale:"
 769   1          dispes(0,9,21,menu_str[10]);      //"motor specifications:"
 770   1          dispes(0,11,17,menu_str[11]);    //"freqency setting:"
 771   1          //ping bi shua xing
 772   1          length=2;
 773   1          send(head);
 774   1          send(length);
 775   1          send(115);
 776   1          verify=head^length^115;
 777   1          send(verify);
 778   1          Keyfirst=0;
 779   1        }
 780          
 781          void disp312()                         //display current time year_f
 782          {CLEAR1();
 783   1         dispes_f(0,3,5,"year:");
 784   1         dispes(0,5,6,"month:");
 785   1         dispes(0,7,4,"day:");
 786   1         dispes(0,9,5,"hour:");
 787   1         dispes(0,11,7,"minute:");
 788   1         dispint_f(10,3,200);
 789   1         dispint_f(11,3,buf[4]);
 790   1         dispint(10,5,buf[6]);
 791   1         dispint(10,7,buf[8]);
 792   1         dispint(10,9,buf[10]);
 793   1         dispint(10,11,buf[12]);
 794   1      }
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 14  

 795          void disp313()               //month_f
 796          {
 797   1      blank_line(3);
 798   1      blank_line(5);
 799   1      dispes(0,3,5,"year:");
 800   1      dispint(10,3,200);
 801   1      dispint(11,3,buf[4]);
 802   1      dispes_f(0,5,6,"month:");
 803   1      dispint_f(10,5,buf[6]);
 804   1      }
 805          void disp314()               //day_f
 806          { blank_line(5);
 807   1        blank_line(7);
 808   1        dispes(0,5,6,"month:");
 809   1        dispint(10,5,buf[6]);
 810   1        dispes_f(0,7,4,"day:");
 811   1        dispint_f(10,7,buf[8]);
 812   1      }
 813          void disp315()                //hour_f
 814          {blank_line(7);
 815   1       blank_line(9);
 816   1       dispes(0,7,4,"day:");
 817   1       dispint(10,7,buf[8]);
 818   1       dispes_f(0,9,5,"hour:");
 819   1       dispint_f(10,9,buf[10]);
 820   1      }
 821          void disp316()              //minute_f
 822          {blank_line(9);
 823   1       blank_line(11);
 824   1       dispes(0,9,5,"hour:");
 825   1       dispint(10,9,buf[10]);
 826   1       dispes_f(0,11,7,"minute:");
 827   1       dispint_f(10,11,buf[12]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -