test.lst

来自「校园打铃系统」· LST 代码 · 共 1,256 行 · 第 1/4 页

LST
1,256
字号
 599   1      sp=31;
 600   1      }
 601          
 602          /***************************************
 603          ****************************************/
 604          
 605          void manage_key7(uchar keycode)
 606          {
 607   1      do{cd[sp]='6';
 608   2       xp(sp);
 609   2      delay_nms(100);
 610   2       if(KEY==~keycode)
C51 COMPILER V7.06   TEST                                                                  06/07/2007 21:23:10 PAGE 11  

 611   2         {cd[sp]='m';
 612   3         xp(sp);
 613   3      delay_nms(100);
 614   3          if(KEY==~keycode)
 615   3         {cd[sp]='n';
 616   4          xp(sp);
 617   4      delay_nms(100);
 618   4           if(KEY==~keycode)
 619   4          {cd[sp]='o';
 620   5            xp(sp);
 621   5      delay_nms(100);
 622   5           }
 623   4           }
 624   3            }
 625   2      }while(KEY==~keycode);
 626   1      
 627   1      sp++;
 628   1      if(sp==32)
 629   1      sp=31;
 630   1      }
 631          /***************************************
 632          ****************************************/
 633          void manage_key8()
 634          {if(sp==0)
 635   1         sp=0;
 636   1         else
 637   1        if(sp==31)
 638   1         {cd[sp]=' ';
 639   2         xp(sp);
 640   2         cd[--sp]=' ';
 641   2         xp(sp);
 642   2         delay_nms(50);
 643   2          }
 644   1         else
 645   1         {sp--;
 646   2         cd[sp]=' ';
 647   2         xp(sp);
 648   2         delay_nms(50);
 649   2      
 650   2        
 651   2      }
 652   1      }
 653          /***************************************
 654          ****************************************/
 655          
 656          void manage_key9(uchar keycode)
 657          {
 658   1      do{cd[sp]='7';
 659   2       xp(sp);
 660   2      delay_nms(100);
 661   2       if(KEY==~keycode)
 662   2         {cd[sp]='p';
 663   3         xp(sp);
 664   3      delay_nms(100);
 665   3          if(KEY==~keycode)
 666   3         {cd[sp]='q';
 667   4          xp(sp);
 668   4      delay_nms(100);
 669   4           if(KEY==~keycode)
 670   4          {cd[sp]='r';
 671   5            xp(sp);
 672   5      delay_nms(100);
C51 COMPILER V7.06   TEST                                                                  06/07/2007 21:23:10 PAGE 12  

 673   5           if(KEY==~keycode)
 674   5          {cd[sp]='s';
 675   6            xp(sp);
 676   6      delay_nms(100);
 677   6           }
 678   5           }
 679   4            }
 680   3            }
 681   2      }while(KEY==~keycode) ;
 682   1      
 683   1      sp++;
 684   1      if(sp==32)
 685   1      sp=31;
 686   1      }
 687          
 688          /***************************************
 689          ****************************************/
 690          
 691          void manage_key10(uchar keycode)
 692          {
 693   1      do{cd[sp]='8';
 694   2       xp(sp);
 695   2      delay_nms(100);
 696   2       if(KEY==~keycode)
 697   2         {cd[sp]='t';
 698   3         xp(sp);
 699   3      delay_nms(100);
 700   3          if(KEY==~keycode)
 701   3         {cd[sp]='u';
 702   4          xp(sp);
 703   4      delay_nms(100);
 704   4           if(KEY==~keycode)
 705   4          {cd[sp]='v';
 706   5            xp(sp);
 707   5      delay_nms(100);
 708   5           }
 709   4           }
 710   3            }
 711   2      }while(KEY==~keycode) ;
 712   1      
 713   1      sp++;
 714   1      if(sp==32)
 715   1      sp=31;
 716   1      }
 717          
 718          /***************************************
 719          ****************************************/
 720          
 721          void manage_key11(uchar keycode)
 722          {
 723   1      do{cd[sp]='9';
 724   2       xp(sp);
 725   2      delay_nms(100);
 726   2       if(KEY==~keycode)
 727   2         {cd[sp]='w';
 728   3         xp(sp);
 729   3      delay_nms(100);
 730   3          if(KEY==~keycode)
 731   3         {cd[sp]='x';
 732   4          xp(sp);
 733   4      delay_nms(100);
 734   4           if(KEY==~keycode)
C51 COMPILER V7.06   TEST                                                                  06/07/2007 21:23:10 PAGE 13  

 735   4          {cd[sp]='y';
 736   5            xp(sp);
 737   5      delay_nms(100);
 738   5           if(KEY==~keycode)
 739   5          {cd[sp]='z';
 740   6            xp(sp);
 741   6      delay_nms(100);
 742   6           }
 743   5           }
 744   4            }
 745   3            }
 746   2      }while(KEY==~keycode);
 747   1      sp++;
 748   1      if(sp==32)
 749   1      sp=31;
 750   1      }
 751          /********************************************
 752          *********************************************/
 753          //void manage_key12(void)
 754          //{zhuye();
 755          //}
 756          /***************************************
 757          ****************************************/
 758          
 759          void manage_key13(uchar keycode)
 760          {
 761   1      do{cd[sp]='*';
 762   2       xp(sp);
 763   2      delay_nms(100);
 764   2       if(KEY==~keycode)
 765   2         {cd[sp]=',';
 766   3         xp(sp);
 767   3      delay_nms(100);
 768   3          if(KEY==~keycode)
 769   3         {cd[sp]='.';
 770   4          xp(sp);
 771   4      delay_nms(100);
 772   4           if(KEY==~keycode)
 773   4          {cd[sp]='?';
 774   5            xp(sp);
 775   5      delay_nms(100);
 776   5           }
 777   4            }
 778   3            }
 779   2      }while(KEY==~keycode) ;
 780   1      
 781   1      sp++;
 782   1      if(sp==32)
 783   1      sp=31;
 784   1      }
 785          /***************************************
 786          ****************************************/
 787          
 788          void manage_key14(uchar keycode)
 789          {
 790   1      do{cd[sp]='0';
 791   2       xp(sp);
 792   2      delay_nms(100);
 793   2       if(KEY==~keycode)
 794   2         {cd[sp]=' ';
 795   3         xp(sp);
 796   3      delay_nms(100);
C51 COMPILER V7.06   TEST                                                                  06/07/2007 21:23:10 PAGE 14  

 797   3      
 798   3            }
 799   2      }while(KEY==~keycode) ;
 800   1      
 801   1      sp++;
 802   1      if(sp==32)
 803   1      sp=31;
 804   1      }
 805          /***************************************
 806          ****************************************/
 807          void manage_key15(uchar keycode)
 808          {do{cd[sp]='#';
 809   2       xp(sp);
 810   2      delay_nms(100);
 811   2       if(KEY==~keycode)
 812   2         {cd[sp]='!';
 813   3         xp(sp);
 814   3      delay_nms(100);
 815   3      
 816   3            }
 817   2      }while(KEY==~keycode);
 818   1      
 819   1      sp++;
 820   1      if(sp==32)
 821   1      sp=31;
 822   1      }
 823          
 824          void xp(uchar d)
 825          {
 826   1      xx=d;
 827   1      yy=d;
 828   1      date0=cd[d];
 829   1      yy=(int)yy/16;
 830   1      xx=(int)xx%16;
 831   1      LCD_write_char(xx,yy,date0);
 832   1      
 833   1      }
 834          
 835          void send_message()
 836          {
 837   1       /*SCON=0x40;//设置串行方式1,REN=0
 838   1       EA=1;
 839   1       ES=0; 
 840   1       PCON=0x00;//波特率不增倍
 841   1       TMOD=0x20;//定时1工作2
 842   1       TL1=0x00;//波特率
 843   1       TH1=0x00;
 844   1       TR1=1;  */
 845   1      
 846   1      SBUF=0x0aa;//修改控制字段
 847   1      delay_nms(10); 
 848   1      SBUF=0x5a;
 849   1      delay_nms(100);
 850   1      
 851   1      LCD_init();
 852   1      delay_nms(200);
 853   1      //LCD_write_string(0,0,cd);
 854   1      for(xx=0;xx<32;xx++)
 855   1      {cd[xx]=' ';
 856   2      }
 857   1      sp=0;
 858   1      while(scan_key()!=0x48)
C51 COMPILER V7.06   TEST                                                                  06/07/2007 21:23:10 PAGE 15  

 859   1      {
 860   2      while(!judge_hitkey());//有键按下转下步
 861   2      key_manage(scan_key());
 862   2      }
 863   1      }
 864          
 865          /***************send_message over**************************/
 866          
 867          
 868          /**************************led********************/
 869          void led()
 870          {SBUF=0x0fa;//修改控制字段
 871   1      delay_nms(10); 
 872   1      SBUF=0x55;
 873   1      delay_nms(100);
 874   1      
 875   1      led_en=0;
 876   1      while(scan_key()!=0x28)
 877   1      {
 878   2       SBUF=0x55;
 879   2      delay_nms(10);
 880   2       SBUF=led_in;
 881   2       delay_nms(100);
 882   2      }
 883   1      led_en=1;
 884   1      }
 885          /*****************************************************/
 886          
 887          /********************************set_frequency***************************************/
 888          sbit CLK=P2^7;
 889          sbit Din=P2^6;
 890          sbit ADin=P2^5;
 891          sbit ENB=P2^4;
 892          void MC145162_Reset(unsigned int,unsigned long int,unsigned int,unsigned int);
 893          void MC145162_Reset(unsigned int Ctrl_Data,unsigned long int Ref_Data,unsigned int Tx_Count,unsigned int R
             -x_Count)
 894          {
 895   1      unsigned int i;
 896   1      unsigned long int mask;
 897   1      ENB=0;
 898   1      CLK=0;
 899   1      ADin=0;
 900   1      Din=0;
 901   1      ENB=1;

⌨️ 快捷键说明

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