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

📄 test02.lst

📁 ps2 to ubs bridge sourc for 8051e code
💻 LST
📖 第 1 页 / 共 5 页
字号:
 607   7                                                      }
 608   6                                                      else {
 609   7                                                              USB_CTL1 = 0x40;
 610   7                                                              USB_CTL1 = USB_CTL1 | len;
 611   7                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x90;
 612   7                                                              else USB_CTL1 = USB_CTL1 | 0x80;
 613   7                                                      }
C51 COMPILER V7.07   TEST02                                                                01/26/2007 14:58:49 PAGE 11  

 614   6                                                      
 615   6                                                      len -= len1;
 616   6                                                      while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 617   6                                                      USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 618   6                                                      USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 619   6                                                      toggle = ~toggle;
 620   6                                                      
 621   6                                                      if((len1==8) & (len==0)) {
 622   7                                                              USB_CTL1 = 0x40;
 623   7                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x10;
 624   7                                                              USB_CTL1 = USB_CTL1 | 0x80;
 625   7                                                              while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 626   7                                                              USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 627   7                                                              USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 628   7                                                      }
 629   6                                              }
 630   5                                              out_status();
 631   5                                              break;
 632   5                                              
 633   5                                      case STRING_DESC:
 634   5                                       if(SETUPR2==0){                
 635   6                                              if((SETUPR7==0) & (SETUPR6 < str0_table[0])) len = SETUPR6;
 636   6                                              else len = str0_table[0];
 637   6                                       }                        
 638   5                                       else if(SETUPR2==1){           
 639   6                                              if((SETUPR7==0) & (SETUPR6 < str1_table[0])) len = SETUPR6;
 640   6                                              else len = str1_table[0];
 641   6                                       }
 642   5                                       else if(SETUPR2==2){           
 643   6                                              if((SETUPR7==0) & (SETUPR6 < str2_table[0])) len = SETUPR6;
 644   6                                              else len = str2_table[0];
 645   6                                       }
 646   5                                       else {
 647   6                                              USB_CTL1 = USB_CTL1 | 0x20;
 648   6                                              USB_CTL2 = USB_CTL2 | 0x40;
 649   6                                              len = 0;
 650   6                                              return;
 651   6                                       }
 652   5                                       toggle = 1;
 653   5                                       j=0;
 654   5                                       USB_CTL1 = USB_CTL1 | 0x40; //enable rxd0e
 655   5                                       while(len){
 656   6                                                 if(len > 0x08) len1 = 0x08;
 657   6                                                 else len1 = len;
 658   6                                                
 659   6                                                 USB_EPP = 0;
 660   6                                                 for(i=0;i<len1;i++,j++) {
 661   7                                                              if(SETUPR2==0)      USB_EP0 = str0_table[j];
 662   7                                                              else if(SETUPR2==1) USB_EP0 = str1_table[j];
 663   7                                                              else 
 664   7                                                                    USB_EP0 = str2_table[j];
 665   7                                                                                                                        
 666   7                                                 }            
 667   6                                                 if(len >= 0x08) {
 668   7                                                      USB_CTL1 = 0x40;
 669   7                                                      if(toggle) USB_CTL1 = USB_CTL1 | 0x10;
 670   7                                                      USB_CTL1 = USB_CTL1 | 0x88;
 671   7                                                 }
 672   6                                                 else {
 673   7                                                      USB_CTL1 = 0x40;
 674   7                                                      USB_CTL1 = USB_CTL1 | len;
 675   7                                                      if(toggle) USB_CTL1 = USB_CTL1 | 0x90;
C51 COMPILER V7.07   TEST02                                                                01/26/2007 14:58:49 PAGE 12  

 676   7                                                      else USB_CTL1 = USB_CTL1 | 0x80;
 677   7                                                 }
 678   6                                                 
 679   6                                                 while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); re
             -turn;}
 680   6                                                 USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 681   6                                                 USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 682   6                                                 toggle = ~toggle;
 683   6                                                 
 684   6                                                 len -= len1;
 685   6                                                 if((len1==8) & (len==0)) {
 686   7                                                      USB_CTL1 = 0x40;
 687   7                                                      if(toggle) USB_CTL1 = USB_CTL1 | 0x10;
 688   7                                                      USB_CTL1 = USB_CTL1 | 0x80;
 689   7                                                      while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 690   7                                                      USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 691   7                                                      USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 692   7                                                 }
 693   6                                       }                                 
 694   5                                       out_status();
 695   5                                       break; 
 696   5                                       
 697   5                                      case CLASS_HID_DESC:
 698   5                                       
 699   5                                       if((SETUPR0 == 0x81) & (SETUPR4==0)){//interface0
 700   6                                              //assume intf0_hid_len=0x09
 701   6                                              if((SETUPR7==0) & (SETUPR6 < 0x09)) len = SETUPR6;
 702   6                                              else len = 0x09;
 703   6                                                              
 704   6                                              toggle = 1;
 705   6                                              j=18;
 706   6                                              USB_CTL1 = USB_CTL1 | 0x40; //enable rxd0e
 707   6                                              while(len){
 708   7                                                      if(len > 0x08) len1 = 0x08;
 709   7                                                      else len1 = len;
 710   7                                                      USB_EPP = 0;
 711   7                                                      for(i=0;i<len1;i++,j++) USB_EP0 = conf_desc_table[j];
 712   7                                                      if(len >= 0x08) {
 713   8                                                              USB_CTL1 = 0x40;
 714   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x98;
 715   8                                                              else USB_CTL1 = USB_CTL1 | 0x88;                                                        
 716   8                                                      }
 717   7                                                      else {
 718   8                                                              USB_CTL1 = 0x40;
 719   8                                                              USB_CTL1 = USB_CTL1 | len;
 720   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x90;
 721   8                                                              else USB_CTL1 = USB_CTL1 | 0x80;
 722   8                                                      }
 723   7                                                      
 724   7                                                      len -= len1;
 725   7                                                      while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 726   7                                                      USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 727   7                                                      USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 728   7                                                      toggle = ~toggle;
 729   7                                                      
 730   7                                                      if((len1==8) & (len==0)) {
 731   8                                                              USB_CTL1 = 0x40;
 732   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x10;
 733   8                                                              USB_CTL1 = USB_CTL1 | 0x80;
 734   8                                                              while(!(USB_STA0 & 0x02));
 735   8                                                              USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 736   8                                                              USB_STA0 = USB_STA0 | 0x02; //txd0f=0
C51 COMPILER V7.07   TEST02                                                                01/26/2007 14:58:49 PAGE 13  

 737   8                                                      }
 738   7                                              }
 739   6                                              out_status();   
 740   6                                       }
 741   5                                       else if((SETUPR0 == 0x81) & (SETUPR4==1)){//interface1
 742   6                                              //assume intf1_hid_len=0x09
 743   6                                              if((SETUPR7==0) & (SETUPR6 < 0x09)) len = SETUPR6;
 744   6                                              else len = 0x09;
 745   6                                                              
 746   6                                              toggle = 1;
 747   6                                              j=43;
 748   6                                              USB_CTL1 = USB_CTL1 | 0x40; //enable rxd0e
 749   6                                              while(len){
 750   7                                                      if(len > 0x08) len1 = 0x08;
 751   7                                                      else len1 = len;
 752   7                                                      USB_EPP = 0;
 753   7                                                      for(i=0;i<len1;i++,j++) USB_EP0 = conf_desc_table[j];
 754   7                                                      if(len >= 0x08) {
 755   8                                                              USB_CTL1 = 0x40;
 756   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x98;
 757   8                                                              else USB_CTL1 = USB_CTL1 | 0x88;                                                        
 758   8                                                      }
 759   7                                                      else {
 760   8                                                              USB_CTL1 = 0x40;
 761   8                                                              USB_CTL1 = USB_CTL1 | len;
 762   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x90;
 763   8                                                              else USB_CTL1 = USB_CTL1 | 0x80;
 764   8                                                      }
 765   7                                                      
 766   7                                                      len -= len1;
 767   7                                                      while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 768   7                                                      USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 769   7                                                      USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 770   7                                                      toggle = ~toggle;
 771   7                                                      
 772   7                                                      if((len1==8) & (len==0)) {
 773   8                                                              USB_CTL1 = 0x40;
 774   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x10;
 775   8                                                              USB_CTL1 = USB_CTL1 | 0x80;
 776   8                                                              while(!(USB_STA0 & 0x02));
 777   8                                                              USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 778   8                                                              USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 779   8                                                      }
 780   7                                              }
 781   6                                              out_status();   
 782   6                                       }
 783   5                                       else {
 784   6                                              USB_CTL2 = USB_CTL2 | 0x40; // Invalid request  
 785   6                                              USB_CTL1 = USB_CTL1 | 0x20;
 786   6                                       }      
 787   5                                       break;
 788   5                                      
 789   5                                      case CLASS_REPORT_DESC:
 790   5                                       
 791   5                                       if((SETUPR0 == 0x81) & (SETUPR4==0)){//interface 0
 792   6                                              //
 793   6                                              if((SETUPR7==0)& (SETUPR6 < 64)) len = SETUPR6;
 794   6                                              else len = 64;
 795   6                                                              
 796   6                                              toggle = 1;
 797   6                                              j=0;
 798   6                                              USB_CTL1 = USB_CTL1 | 0x40; //enable rxd0e
C51 COMPILER V7.07   TEST02                                                                01/26/2007 14:58:49 PAGE 14  

 799   6                                              while(len){
 800   7                                                      if(len > 0x08) len1 = 0x08;
 801   7                                                      else len1 = len;
 802   7                                                      USB_EPP = 0;
 803   7                                                      for(i=0;i<len1;i++,j++) USB_EP0 = keyboard_report[j];
 804   7                                                      if(len >= 0x08) {
 805   8                                                              USB_CTL1 = 0x40;
 806   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x98;
 807   8                                                              else USB_CTL1 = USB_CTL1 | 0x88;                                                        
 808   8                                                      }

⌨️ 快捷键说明

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