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

📄 epmain.lst

📁 我改了一部分别人的USB,原来的不方便看逻辑
💻 LST
字号:
C51 COMPILER V7.20   EPMAIN                                                                09/11/2008 22:15:07 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE EPMAIN
OBJECT MODULE PLACED IN epmain.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE epmain.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"mytype.h"
   2          #include"d12_command.h"
   3          #include"regx51.h"
   4          #include"uar.h"
   5          #include"key.h"
   6           
   7          uint8 idata buffer[16];
   8          uint8 idata InBuffer[16];
   9          extern volatile uint8 idata KeyCurrent,KeyOld,KeyNoChangedTime;
  10          extern volatile uint8 idata KeyPress;
  11          extern volatile uint8 idata KeyDown,KeyUp,KeyLast;
  12          extern volatile uint8 KeyCanChange;
  13          
  14          
  15          void dma_eot(void)
  16          {;
  17   1      }
  18          void ep1_in(void)
  19          {}
  20          void ep1_out(void)
  21          {}
  22          void ep2_in(void)
  23          {uint8 i;
  24   1       
  25   1      // Prints("端点2输入.\r\n");
  26   1       for(i=0;i<4;i++)
  27   1        {
  28   2         InBuffer[i]=0;
  29   2        }
  30   1       KeyCanChange=0;  //禁止修改按键值
  31   1        
  32   1       if((KeyPress&(~0xC0))||(KeyUp&0xC0)||KeyDown&0xC0) //如果有按键按住或者有按键值变化
  33   1       {
  34   2        KeyUp=0;
  35   2        KeyDown=0;
  36   2        if(KeyPress&KEY1)  //往左移(X减小)
  37   2        {
  38   3         InBuffer[1]=-1;
  39   3        }
  40   2        else
  41   2        {
  42   3        }
  43   2        
  44   2        if(KeyPress&KEY2)   //往右移(X轴增加)
  45   2        {
  46   3         InBuffer[1]=1;
  47   3        }
  48   2        else
  49   2        {
  50   3        }  
  51   2        
  52   2        if(KeyPress&KEY3)  //往上移(Y减小)
  53   2        {
  54   3         InBuffer[2]=-1;
  55   3        }
C51 COMPILER V7.20   EPMAIN                                                                09/11/2008 22:15:07 PAGE 2   

  56   2        else
  57   2        {
  58   3        }
  59   2      
  60   2        if(KeyPress&KEY4)  //向下移(Y轴增加)
  61   2        {
  62   3         InBuffer[2]=1;
  63   3        }
  64   2        else
  65   2        {
  66   3        }  
  67   2       
  68   2        if(KeyPress&KEY5)  //滚轮下滚
  69   2        {
  70   3         InBuffer[3]=-1;
  71   3        }
  72   2        else
  73   2        {
  74   3        }
  75   2      
  76   2        if(KeyPress&KEY6)  //滚轮上滚
  77   2        {
  78   3         InBuffer[3]=1;
  79   3        }
  80   2        else
  81   2        {
  82   3        }
  83   2        
  84   2        if(KeyPress&KEY7) //左键
  85   2        {
  86   3         InBuffer[0]|=0x01;
  87   3        }
  88   2        else
  89   2        {
  90   3        }
  91   2          
  92   2        if(KeyPress&KEY8)
  93   2        {
  94   3         InBuffer[0]|=0x02;  //右键
  95   3        }
  96   2        else
  97   2        {
  98   3        }
  99   2      /*
 100   2      //EDN USB板键盘不够,没有中键  
 101   2        if(KeyMapOk&(1<<1))   //中键
 102   2        {
 103   2         InBuffer[0]|=0x04;
 104   2        }
 105   2        else
 106   2        {
 107   2        }
 108   2      */
 109   2      
 110   2       //返回4个字节数据
 111   2       write_endpoint_buff(5,4,InBuffer);
 112   2       }
 113   1       else //如果无按键按下或者按键动作,则不返回数据
 114   1       {
 115   2       }
 116   1       KeyCanChange=1; //允许修改按键值
 117   1      
C51 COMPILER V7.20   EPMAIN                                                                09/11/2008 22:15:07 PAGE 3   

 118   1      
 119   1      }
 120          void ep2_out(void)
 121          { uint8 i,j;
 122   1      
 123   1       j=read_endpoint_buff(4,16,buffer);
 124   1       P2=~buffer[0];
 125   1       Prints("端点2输出.\r\n");
 126   1       Prints("    端点2的数据是  ");
 127   1       for(i=0;i<j;i++)
 128   1        {
 129   2         PrintHex(buffer[i]);
 130   2         if(i==16)Prints("\r\n");
 131   2        }
 132   1       Prints("\r\n");
 133   1       }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    230    ----
   CONSTANT SIZE    =     36    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       2
   IDATA SIZE       =     32    ----
   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 + -