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

📄 test02.lst

📁 ps2 to ubs bridge sourc for 8051e code
💻 LST
📖 第 1 页 / 共 5 页
字号:
 809   7                                                      else {
 810   8                                                              USB_CTL1 = 0x40;
 811   8                                                              USB_CTL1 = USB_CTL1 | len;
 812   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x90;
 813   8                                                              else USB_CTL1 = USB_CTL1 | 0x80;
 814   8                                                      }
 815   7                                                      
 816   7                                                      len -= len1;
 817   7                                                      while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 818   7                                                      USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 819   7                                                      USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 820   7                                                      toggle = ~toggle;
 821   7                                                      
 822   7                                                      if((len1==8) & (len==0)) {
 823   8                                                              USB_CTL1 = 0x40;
 824   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x10;
 825   8                                                              USB_CTL1 = USB_CTL1 | 0x80;
 826   8                                                              while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 827   8                                                              USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 828   8                                                              USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 829   8                                                      }
 830   7                                              }
 831   6                                              out_status();   
 832   6                                       }
 833   5                                       else if((SETUPR0 == 0x81) & (SETUPR4==1)){//interface 1
 834   6                                              //
 835   6                                              if((SETUPR7==0)& (SETUPR6 < 0x66)) len = SETUPR6;
 836   6                                              else len = 0x66;
 837   6                                                              
 838   6                                              toggle = 1;
 839   6                                              j=0;
 840   6                                              USB_CTL1 = USB_CTL1 | 0x40; //enable rxd0e
 841   6                                              while(len){
 842   7                                                      if(len > 0x08) len1 = 0x08;
 843   7                                                      else len1 = len;
 844   7                                                      USB_EPP = 0;
 845   7                                                      for(i=0;i<len1;i++,j++) USB_EP0 = mouse_report[j];
 846   7                                                      if(len >= 0x08) {
 847   8                                                              USB_CTL1 = 0x40;
 848   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x98;
 849   8                                                              else USB_CTL1 = USB_CTL1 | 0x88;                                                        
 850   8                                                      }
 851   7                                                      else {
 852   8                                                              USB_CTL1 = 0x40;
 853   8                                                              USB_CTL1 = USB_CTL1 | len;
 854   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x90;
 855   8                                                              else USB_CTL1 = USB_CTL1 | 0x80;
 856   8                                                      }
 857   7                                                      
 858   7                                                      len -= len1;
 859   7                                                      while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 860   7                                                      USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
C51 COMPILER V7.07   TEST02                                                                01/26/2007 14:58:49 PAGE 15  

 861   7                                                      USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 862   7                                                      toggle = ~toggle;
 863   7                                                      
 864   7                                                      if((len1==8) & (len==0)) {
 865   8                                                              USB_CTL1 = 0x40;
 866   8                                                              if(toggle) USB_CTL1 = USB_CTL1 | 0x10;
 867   8                                                              USB_CTL1 = USB_CTL1 | 0x80;
 868   8                                                              while(!(USB_STA0 & 0x02)) if(USB_STA0 & 0x01) {out_status(); return;}
 869   8                                                              USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 870   8                                                              USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 871   8                                                      }
 872   7                                              }
 873   6                                              out_status();   
 874   6                                       }
 875   5                                       else {
 876   6                                              USB_CTL2 = USB_CTL2 | 0x40; // Invalid request  
 877   6                                              USB_CTL1 = USB_CTL1 | 0x20;
 878   6                                       }      
 879   5                                       break;
 880   5                                               
 881   5                                      default:  
 882   5                                              USB_CTL2 = USB_CTL2 | 0x40; // Invalid request  
 883   5                                              USB_CTL1 = USB_CTL1 | 0x20;
 884   5                                              break;
 885   5                      } //get descriptor case
 886   4                      break;
 887   4                  
 888   4              case SET_CONFIGURATION: 
 889   4                      if((SETUPR6==0) & (SETUPR7==0)){
 890   5                              configuration = SETUPR2;
 891   5                              if(configuration==0) configured = 0;
 892   5                              else configured = 1;            
 893   5                              if(configured==1){
 894   6                                      //enable endpoint 1, 2
 895   6                                      USB_CTL0 = 0xf0;
 896   6                                      //
 897   6                              }
 898   5                              else {
 899   6                                      //disable endpoint 1, 2
 900   6                                      USB_CTL0 = 0x90;                        
 901   6                                      //USB_CTL4 = USB_CTL4 & 0xe3;                                           
 902   6                              }  
 903   5                              //
 904   5                              USB_CTL2 = USB_CTL2 & 0x40;
 905   5                              ep1toggle = 0;   
 906   5                              ep2toggle = 0; 
 907   5                              in_status();    
 908   5                      }
 909   4                      else {
 910   5                              USB_CTL1 = USB_CTL1 | 0x20; //ostall0 = 1
 911   5                              USB_CTL2 = USB_CTL2 | 0x40; //istall0 = 1
 912   5                      }
 913   4                      break;
 914   4                  
 915   4              case GET_CONFIGURATION:    
 916   4                      if((SETUPR6==1) & (SETUPR7==0)){
 917   5                              USB_EPP = 0;
 918   5                              USB_EPP = configuration;
 919   5                              USB_CTL1 = 0x91;
 920   5                              while(!(USB_STA0 & 0x02)); //wait until txd0f=1
 921   5                              USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 922   5                              USB_STA0 = USB_STA0 | 0x02; //txd0f=0
C51 COMPILER V7.07   TEST02                                                                01/26/2007 14:58:49 PAGE 16  

 923   5                              out_status();
 924   5                      }
 925   4                      else {
 926   5                              USB_CTL1 = USB_CTL1 | 0x20; //ostall0 = 1
 927   5                              USB_CTL2 = USB_CTL2 | 0x40; //istall0 = 1
 928   5                      }
 929   4                      break;
 930   4                  
 931   4              case GET_STATUS:         
 932   4                      switch(SETUPR0)
 933   4                      {
 934   5                          case 0x80:                         // Device rmwake=0, selpower=0
 935   5                           if((SETUPR6==2) & (SETUPR7==0)){
 936   6                              USB_EPP = 0;
 937   6                              USB_EP0 = (unsigned char) remote_wku_enable;
 938   6                              USB_EP0 = 0;            //bus powered
 939   6                              USB_CTL1 = 0x92;
 940   6                              while(!(USB_STA0 & 0x02));
 941   6                              USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 942   6                              USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 943   6                              out_status();
 944   6                            }
 945   5                            else {
 946   6                              USB_CTL1 = USB_CTL1 | 0x20; //ostall0 = 1
 947   6                              USB_CTL2 = USB_CTL2 | 0x40; //istall0 = 1
 948   6                            }
 949   5                            break;
 950   5                          case 0x81:                         // Interface 
 951   5                          case 0x82:                         // End Point halt
 952   5                           if((SETUPR6==2) & (SETUPR7==0)){
 953   6                              USB_EPP = 0;
 954   6                              USB_EP0 = 0;
 955   6                              USB_EP0 = 0;
 956   6                              USB_CTL1 = 0x92;
 957   6                              while(!(USB_STA0 & 0x02));
 958   6                              USB_CTL1 = USB_CTL1 & 0x7F; //clear tx0e
 959   6                              USB_STA0 = USB_STA0 | 0x02; //txd0f=0
 960   6                              out_status();
 961   6                            }
 962   5                            else {
 963   6                              USB_CTL1 = USB_CTL1 | 0x20; //ostall0 = 1
 964   6                              USB_CTL2 = USB_CTL2 | 0x40; //istall0 = 1
 965   6                            }
 966   5                            break;
 967   5                          default:                        // Invalid Command
 968   5                              USB_CTL1 = USB_CTL1 | 0x20; //ostall0 = 1
 969   5                              USB_CTL2 = USB_CTL2 | 0x40; //istall0 = 1
 970   5                              break;
 971   5                      }
 972   4                      break;
 973   4                      
 974   4              case CLEAR_FEATURE:      
 975   4                      switch(SETUPR0)
 976   4                      {
 977   5                          case 0x00:                      // Device
 978   5                              if((SETUPR2 == 1) & (SETUPR6==0) & (SETUPR7==0)) {
 979   6                                  remote_wku_enable = 0;  // Disable Remote Wakeup
 980   6                                  in_status();
 981   6                              }
 982   5                              else {
 983   6                                  USB_CTL1 = USB_CTL1 | 0x20; //ostall0 = 1
 984   6                                  USB_CTL2 = USB_CTL2 | 0x40; //istall0 = 1
C51 COMPILER V7.07   TEST02                                                                01/26/2007 14:58:49 PAGE 17  

 985   6                              }
 986   5                              break;
 987   5                          case 0x02:                      // End Point stall
 988   5                              if((SETUPR2 == 0) & (SETUPR6==0) & (SETUPR7==0))
 989   5                              {
 990   6                                  if((SETUPR4 == 0x81)) 
 991   6                                  {  
 992   7                                      //reset in ep1 toggle/stall bit
 993   7                                      USB_CTL2 = USB_CTL2 & 0xCF;   
 994   7                                  }
 995   6                                  if((SETUPR4 == 0x82))
 996   6                                  {
 997   7                                      //reset in ep2 toggle/stall bit
 998   7                                      USB_CTL3 = USB_CTL3 & 0xCF;
 999   7                                  }
1000   6                                  in_status();
1001   6                              }
1002   5                              else {
1003   6                                   USB_CTL1 = USB_CTL1 | 0x20; //ostall0 = 1
1004   6                                   USB_CTL2 = USB_CTL2 | 0x40; //istall0 = 1
1005   6                              }
1006   5                              break;
1007   5                          default: {
1008   6                                  USB_CTL1 = USB_CTL1 | 0x20; //ostall0 = 1
1009   6                                  USB_CTL2 = USB_CTL2 | 0x40; //istall0 = 1
1010   6                       

⌨️ 快捷键说明

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