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

📄 lcd.lst

📁 这是一个用12864液晶显示屏的驱动程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 610   1                              display(0,16*i,lingsheng,i+2);
 611   1                      for(i=0;i<2;i++)
 612   1                      {
 613   2                              display(6,16*i,enter,i);
C51 COMPILER V7.50   LCD                                                                   04/25/2007 10:47:47 PAGE 11  

 614   2                                      display(6,96+16*i,enter,i+2);
 615   2                      }
 616   1                      displaye(6,80,num,5);
 617   1                      temp=key();
 618   1                      if(temp==1)             //right
 619   1                      {
 620   2                              state=0;  //State Change
 621   2                                      cls();
 622   2                      }
 623   1                      else if(temp==2)   //UP
 624   1                      {
 625   2                              state--;
 626   2                                      cls();
 627   2                       }
 628   1                       else if(temp==3)  //down
 629   1                       {
 630   2                               state=6;
 631   2                                       cls();
 632   2                       }
 633   1      
 634   1      }
 635          
 636          void screen6()     //state=6
 637          {
 638   1              uchar i,temp;
 639   1                      for(i=0;i<4;i++)
 640   1                              display(0,16*i,guanli,i);
 641   1                      for(i=0;i<2;i++)
 642   1                      {
 643   2                              display(6,16*i,enter,i);
 644   2                                      display(6,96+16*i,enter,i+2);
 645   2                      }
 646   1                      displaye(6,80,num,6);
 647   1                      temp=key();
 648   1                      if(temp==1)             //right
 649   1                      {
 650   2                              state=0;  //State Change
 651   2                                      cls();
 652   2                      }
 653   1                      else if(temp==2)   //UP
 654   1                      {
 655   2                              state--;
 656   2                                      cls();
 657   2                       }
 658   1                       else if(temp==3)  //down
 659   1                       {
 660   2                               state=7;
 661   2                                       cls();
 662   2                       }
 663   1      
 664   1      }
 665          
 666          
 667          void screen7()     //state=7
 668          {
 669   1              uchar i,temp;
 670   1                      for(i=0;i<2;i++)
 671   1                              display(0,16*i,game,i);
 672   1                      for(i=0;i<2;i++)
 673   1                      {
 674   2                              display(6,16*i,enter,i);
 675   2                                      display(6,96+16*i,enter,i+2);
C51 COMPILER V7.50   LCD                                                                   04/25/2007 10:47:47 PAGE 12  

 676   2                      }
 677   1                      displaye(6,80,num,7);
 678   1                      temp=key();
 679   1                      if (temp==0)      //left
 680   1                      {
 681   2                              state=71;
 682   2                                      cls();
 683   2                      }
 684   1                      else if(temp==1)  //right
 685   1                      {
 686   2                              state=0;  //State Change
 687   2                                      cls();
 688   2                      }
 689   1                      else if(temp==2)   //UP
 690   1                      {
 691   2                              state--;
 692   2                                      cls();
 693   2                       }
 694   1                       else if(temp==3)  //down
 695   1                       {
 696   2                               state=1;
 697   2                                       cls();
 698   2                       }
 699   1      
 700   1      }
 701          
 702          
 703          
 704          void screen71()     //state=71
 705          {
 706   1              uchar i,temp;
 707   1      
 708   1                      EA=1;
 709   1                      ET0=1;
 710   1                      TH0=0x4c;TL0=0;
 711   1                      TR0=1;
 712   1                      //rectangle(12,20);
 713   1                      for(i=0;i<3;i++)
 714   1                              display(0,16*(i+2),tanchi,i);
 715   1      
 716   1                      for(i=0;i<2;i++)
 717   1                      {
 718   2                              display(6,16*i,enter,i);
 719   2                                      display(6,96+16*i,enter,i+2);
 720   2                      }
 721   1      
 722   1                      switch(key())
 723   1                      {               case 0:  d=0;break;
 724   2                                      case 2:  d=1;break;
 725   2                                  case 3:  d=2;break;
 726   2                                      default:break;
 727   2                      }
 728   1                  if(move==1)
 729   1                      {               rectangleb(m,n);//除去先前的点                                                          
 730   2                                      if(d==0)
 731   2                                      {
 732   3                                              m=m+4;
 733   3                                                      if(m>123)m=0;
 734   3                                      }
 735   2                                      else if(d==1)
 736   2                                      {
 737   3                                              n=n-4;
C51 COMPILER V7.50   LCD                                                                   04/25/2007 10:47:47 PAGE 13  

 738   3                                                      if(n<4)n=63;
 739   3                                      }
 740   2                                      else if(d==2)
 741   2                                      {
 742   3                                              n=n+4;
 743   3                                                      if(n>60)n=0;
 744   3                                      }
 745   2                              rectangle(m,n);
 746   2                                      move=0;
 747   2                  }
 748   1                                               
 749   1                      temp=key();
 750   1                      if(temp==0)  //right
 751   1                      {
 752   2                              state=72;  //State Change
 753   2                                      cls();
 754   2                      }
 755   1                      else if(temp==1)
 756   1                      {
 757   2                              state=7;
 758   2                                      cls();
 759   2                       }
 760   1      }
 761                          
 762          void screen72()     //state=72
 763          {
 764   1              uchar i,temp;
 765   1                      
 766   1      
 767   1                      for(i=0;i<2;i++)
 768   1                      {
 769   2                              display(6,16*i,enter,i);
 770   2                                      display(6,96+16*i,enter,i+2);
 771   2                      }
 772   1                      displaye(0,0,num,1);
 773   1                      //rectangle(64,32);
 774   1      
 775   1                      for(i=0;i<2;i++)
 776   1                              display(0,16*(i+2),game,i+2);
 777   1                      for(i=0;i<2;i++)
 778   1                                      display(0,16*(i+4),game,i);
 779   1                      displaye(2,0,num,2);
 780   1                      for(i=0;i<2;i++)
 781   1                              display(2,16*(i+2),game,i+4);
 782   1                      if(ii==0)                                 //在按键的外面判断状态
 783   1                                                                //不然的话可能不好处理
 784   1                      {
 785   2                              display(0,16,sp,0);
 786   2                              display(0,106,sp,1);
 787   2                                      display(2,16,sp,2);
 788   2                              display(2,106,sp,2);
 789   2                      }
 790   1                  else if(ii==1)
 791   1                      {
 792   2                                  display(0,16,sp,2);
 793   2                              display(0,106,sp,2);
 794   2                                  display(2,16,sp,0);
 795   2                              display(2,106,sp,1);
 796   2                   }                          
 797   1                                               
 798   1                      temp=key();
 799   1                      if ((temp==0)&&(ii==1))
C51 COMPILER V7.50   LCD                                                                   04/25/2007 10:47:47 PAGE 14  

 800   1                      {    
 801   2                              state=73;
 802   2                                      cls();
 803   2                      }
 804   1                      else if(temp==0&&ii==0)
 805   1                      {
 806   2                              state=74;
 807   2                                      cls();
 808   2                       }
 809   1      
 810   1                      else if(temp==1)  //right
 811   1                      {
 812   2                              state=71;  //State Change
 813   2                                      cls();
 814   2                      }
 815   1                      else if(temp==2)   //UP
 816   1                      {
 817   2                              //ii=1;
 818   2                              if(ii==0)       ii=1;
 819   2                                      else        ii=0;
 820   2                                      //cls();    
 821   2                                                                         
 822   2                  } 
 823   1      
 824   1      }
 825          
 826          void screen73()     //state=6
 827          {
 828   1              uchar i,temp;
 829   1      
 830   1                      for(i=0;i<2;i++)
 831   1                      {
 832   2                              //display(6,16*i,enter,i);
 833   2                                      display(6,96+16*i,enter,i+2);
 834   2                      }
 835   1              //      rectangle(64,32);
 836   1              //      for(i=0;i<128;i++)
 837   1              //              point(i,0);
 838   1                      
 839   1              //    for(i=0;i<4;i++)
 840   1              //      {
 841   1              //              for(j=0;j<16;j++) {point((32*i+8+j),45);point((32*i+8+j),44);}
 842   1              //       }
 843   1                      temp=key();
 844   1                      if(temp==1)             //right
 845   1                      {
 846   2                              state=72;  //State Change
 847   2                                      cls();
 848   2                      }
 849   1      
 850   1      }
 851          
 852          
 853          void screen74()     //state=6
 854          {
 855   1              uchar i;
 856   1                      for(i=0;i<128;i++)
 857   1                      {
 858   2                              point(i,0);
 859   2                                      point(i,63);
 860   2                       }
 861   1                       
C51 COMPILER V7.50   LCD                                                                   04/25/2007 10:47:47 PAGE 15  

 862   1                      
 863   1                      
 864   1      
 865   1      }
 866          void  rectangle(x,y)
 867          {
 868   1              uchar i,j;
 869   1              for(i=0;i<4;i++)
 870   1                              for(j=0;j<4;j++)
 871   1                                              point(x+i,y+j);
 872   1      
 873   1      }
 874                                                            
 875          void  rectangleb(x,y)
 876          {
 877   1              uchar i,j;
 878   1              for(i=0;i<4;i++)
 879   1                              for(j=0;j<4;j++)
 880   1                                              pointb(x+i,y+j);
 881   1      
 882   1      }
 883          
 884          time0() interrupt 1 using 0
 885          {
 886   1              TH0=0x4c;TL0=0x00;
 887   1                      cnt0++;
 888   1                      if(cnt0==20)
 889   1                      {
 890   2                              
 891   2                              cnt0=0;
 892   2                                      move=1;
 893   2                              
 894   2                       }
 895   1      }
 896          
 897                           
 898          
 899            
 900          
 901          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2763    ----
   CONSTANT SIZE    =   2096    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7      43
   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 + -