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

📄 d12main.lst

📁 usb_232(仅枚举)
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.01  D12MAIN                                                                11/14/2003 09:44:52 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE D12MAIN
OBJECT MODULE PLACED IN D12MAIN.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\c51.exe D12MAIN.C DB OE COMPACT ROM(LARGE)

stmt level    source

   1          //#pragma SYMBOLS
   2          //#pragma OVERLAYABLE
   3          
   4          #include"stdio.h"
   5          #include"X52.H"
   6          #include"HAL.H"
   7          #include"D12CI.H"
   8          #include"MAIN.H"
   9          #include"USB100.H"
  10          #include"string.h"
  11          #include"hap9.h"
  12          //#include"hal.h"
  13          /***************************************************************************
  14          *  this program mainly checks the event flags and passes to appropriate    *
  15          *  subroutine for further processing                                       *
  16          ****************************************************************************/
  17          //extern void get_descriptor(void);
  18          //extern void get_status(void);
  19          extern IO_REQUEST idata ioRequest;
  20          extern unsigned char idata EpBuf[EP2_PACKET_SIZE];
  21          extern unsigned char ioSize, ioCount;
  22          
  23          extern void read_write_register(void);
  24          //extern unsigned char D12_WriteBuffer(unsigned char endp ,unsigned char *buf,unsigned char len);
  25          CONTROL_XFER  ControlData;
  26           EPPFLAGS bEPPflags; 
  27          extern ClockTicks;
  28          extern BOOL bNoRAM;
  29          
  30          void on_exit(void);
  31          //extern unsigned  char WriteBuffer(unsigned char endp,unsigned char *buf,unsigned char len) 
  32          
  33          
  34          code void (*StandardDeviceRequest[])(void) =
  35          {
  36                  get_status,
  37                  clear_feature,
  38                  reserved,
  39                  set_feature,
  40                  reserved,
  41                  set_address,
  42                  get_descriptor,
  43                  reserved,
  44                  get_configuration,
  45                  set_configuration,
  46                  get_interface,
  47                  set_interface,
  48                  reserved,
  49                  reserved,
  50                  reserved,
  51                  reserved
  52          };
  53          
  54          code void (*VendorDeviceRequest[])(void) =
  55          {
C51 COMPILER V7.01  D12MAIN                                                                11/14/2003 09:44:52 PAGE 2   

  56                  reserved,
  57                  reserved,
  58                  reserved,
  59                  reserved,
  60                  reserved,
  61                  reserved,
  62                  reserved,
  63                  reserved,
  64                  reserved,
  65                  reserved,
  66                  reserved,
  67                  reserved,
  68                  read_write_register,
  69                  reserved,
  70                  reserved,
  71                  reserved
  72          };
  73          
  74          void init_port(void)
  75          {
  76   1      P0=0xFF;
  77   1      P1=0xFF;
  78   1      P2=0xFF;
  79   1      P3=0xFF;
  80   1      D12SUSPD=0;     //p3.4 or T1
  81   1      MCU_D12CS=0;  //p1.6
  82   1      
  83   1      }
  84          void init_serial(void)
  85          {
  86   1              SCON = 0X52;            /* SCON: SM0|SM1|SM2|REN|TB8|RB8|TI|RI          */
  87   1              PCON = 0X80 | PCON;     /* PCON: SMOD | - | - | - | GF1|GF0|PD |IDL|    */
  88   1              TMOD = 0X20;            /* TMOD: GATE|C/T|M1|M0|GATE|C/T|M1|M0 */
  89   1              TCON = 0x69;            /* TCON: TF1|TR1|TF0|TR0|IE1|IT1|IE0|IT0 */
  90   1              TH1  = 0xF3;            /*TH1=0xF3: */
  91   1              
  92   1      
  93   1      }
  94          /*void init_counter0(void)
  95          {
  96              TMOD &=0XF0;
  97              TMOD |=0X06;                // TMOD: GATE|C/T|M1|M0|GATE|C/T|M1|M0 
  98              TH0 = 0XFF;
  99              TL0 = 0XFF;
 100              ET0 = 1;
 101              //PT0 = 0;
 102              TR0 = 1;
 103          }*/
 104          void init_timer0(void)
 105          {
 106   1      
 107   1              TMOD &= 0XF0;                /*Select Timer 1   */
 108   1              TMOD |= 0X1;
 109   1              TL0 = 0X0;                   /* value set by user    */
 110   1              TH0 = 0X0;                   /* value set by user  */
 111   1              ET0 = 0;                     /* IE.1允许定时器中断*/
 112   1              TR0 = 1;                     /* TCON.4 start timer  */
 113   1              PT0 = 1;                     /*设置为高优先级*/
 114   1              EA  = 1;                     /*开总开关*/
 115   1              
 116   1      }
 117          void disconnect_USB(void)
C51 COMPILER V7.01  D12MAIN                                                                11/14/2003 09:44:52 PAGE 3   

 118          {
 119   1              // Initialize D12 configuration
 120   1               //D12_SetMode(0x02 ,0x4B );
 121   1               D12_SetMode(D12_NOLAZYCLOCK, D12_SETTOONE | D12_CLOCK_12M);
 122   1      }
 123          
 124          void connect_USB(void)
 125          {
 126   1              // reset event flags
 127   1      
 128   1              DISABLE;
 129   1              bEPPflags.value = 0;
 130   1              ENABLE;
 131   1              // Initialize D12 configuration
 132   1             
 133   1               //D12_SetMode(0x12 ,0x4B );
 134   1              D12_SetMode(D12_NOLAZYCLOCK | D12_SOFTCONNECT,D12_SETTOONE | D12_CLOCK_12M );
 135   1      
 136   1      }
 137          
 138          
 139          void reconnect_USB(void)
 140          {
 141   1            unsigned long clk_cnt;
 142   1      
 143   1              // Pull-down D12's SUSPEND pin
 144   1              // Disable 74HCT123 pulse generation before disconnect
 145   1              // Release D12's SUSPEND pin after receiving bus reset from host
 146   1              D12SUSPD = 0;
 147   1              
 148   1              disconnect_USB();
 149   1              
 150   1               //for( clk_cnt=0;clk_cnt<50000;clk_cnt++){;}
 151   1                   if(clk_cnt<15000)
 152   1               {
 153   2                   clk_cnt++;      
 154   2               }   
 155   1             
 156   1             // for( clk_cnt=0;clk_cnt<100;clk_cnt++);
 157   1              connect_USB();
 158   1      
 159   1      }
 160          
 161          
 162          
 163          void stall_ep0(void)
 164          {
 165   1             D12_SetEndpointStatus(0,1);
 166   1      
 167   1      
 168   1             D12_SetEndpointStatus(1,1);
 169   1      
 170   1      }
 171          
 172          
 173          
 174          void init_unconfig(void)
 175          {
 176   1              //unsigned char i;

⌨️ 快捷键说明

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