亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mainloop.lst

?? 基于PDIUSBD12芯片的USB開發(fā)板固件程序
?? LST
字號(hào):
C51 COMPILER V7.02a   MAINLOOP                                                             09/20/2005 15:10:00 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE MAINLOOP
OBJECT MODULE PLACED IN MAINLOOP.OBJ
COMPILER INVOKED BY: D:\Program Files\Keilc7\C51\BIN\C51.EXE MAINLOOP.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*
   2             //*************************************************************************
   3             //
   4             //                  P H I L I P S   P R O P R I E T A R Y
   5             //
   6             //           COPYRIGHT (c)   1997 BY PHILIPS SINGAPORE.
   7             //                     --  ALL RIGHTS RESERVED  --
   8             //
   9             // File Name:        MainLoop.C
  10             // Author:           Wenkai Du
  11             // Created:          19 Dec 97
  12             // Modified:
  13             // Revision:         3.0
  14             //
  15             //*************************************************************************
  16             //
  17             // 98/11/25          Added I/O access support on Main endpoints. (WK)
  18             //*************************************************************************
  19             */
  20          
  21          
  22          
  23          #include <reg51.h>                /* special function register declarations   */
  24          
  25          #include "epphal.h"
  26          #include "d12ci.h"
  27          #include "mainloop.h"
  28          #include "usb100.h"
  29          #include "chap_9.h"
  30          #include "ISP.h"
  31          /*
  32          //*************************************************************************
  33          // USB protocol function pointer arrays
  34          //*************************************************************************
  35          */
  36          code void (*StandardDeviceRequest[])(void) =
  37          {
  38                  get_status,
  39                  clear_feature,
  40                  reserved,
  41                  set_feature,
  42                  reserved,
  43                  set_address,
  44                  get_descriptor,
  45                  reserved,
  46                  get_configuration,
  47                  set_configuration,
  48                  get_interface,
  49                  set_interface,
  50                  reserved,
  51                  reserved,
  52                  reserved,
  53                  reserved
  54          };
  55          
C51 COMPILER V7.02a   MAINLOOP                                                             09/20/2005 15:10:00 PAGE 2   

  56          /*
  57          //*************************************************************************
  58          //  Public static data
  59          //*************************************************************************
  60          */
  61          
  62          extern EPPFLAGS bEPPflags;
  63          extern unsigned char idata GenEpBuf[];
  64          extern unsigned char idata EpBuf[];
  65          //extern IO_REQUEST idata ioRequest;
  66          
  67          
  68          CONTROL_XFER ControlData;
  69          
  70          
  71          void init_special_interrupts(void)
  72          {
  73   1              EA=1;
  74   1              EX1=1;
  75   1      }
  76          
  77          void init_port()
  78          {
  79   1              P0 = 0xFF;
  80   1              P1 = 0xFF;
  81   1              P2 = 0xFF;
  82   1              P3 = 0xFF;
  83   1              D12SUSPD = 0;
  84   1      }
  85          
  86          void init_flags()
  87          {
  88   1      //      bEPPflags.bits.bus_reset=0;           
  89   1      //      bEPPflags.bits.suspend=0;             
  90   1              bEPPflags.bits.setup_packet=0;            
  91   1              bEPPflags.bits.remote_wakeup=0;         
  92   1              bEPPflags.bits.in_isr=0;                      
  93   1              bEPPflags.bits.control_state=0;         
  94   1              bEPPflags.bits.configuration=0;         
  95   1              bEPPflags.bits.ep1_rxdone=0;
  96   1              bEPPflags.bits.main_rxdone=0;   
  97   1      }
  98          
  99          void main(void)
 100          {
 101   1              init_port();
 102   1              init_special_interrupts();
 103   1              init_flags();
 104   1              reconnect_USB();
 105   1              while( TRUE )
 106   1              {               
 107   2      /*              if (bEPPflags.bits.bus_reset) 
 108   2                      {
 109   2                              DISABLE;
 110   2                              bEPPflags.bits.bus_reset = 0;
 111   2                              ENABLE;
 112   2                              D12SUSPD = 1;
 113   2                      } 
 114   2                      if (bEPPflags.bits.suspend) 
 115   2                      {
 116   2                              DISABLE;
 117   2                              bEPPflags.bits.suspend= 0;
C51 COMPILER V7.02a   MAINLOOP                                                             09/20/2005 15:10:00 PAGE 3   

 118   2                              ENABLE;
 119   2                              if(D12SUSPD == 1) 
 120   2                              {
 121   2                                      D12SUSPD = 0;
 122   2                                      P0 = 0xFF;
 123   2                                      P1 = 0xFF;
 124   2                                      P2 = 0xFF;
 125   2                                      P3 = 0xFF;
 126   2                                      D12SUSPD = 1;
 127   2                                      PCON |= 0x02;
 128   2                                      while (1);
 129   2                              }
 130   2                      } // if suspend change*/
 131   2      
 132   2                      if (bEPPflags.bits.setup_packet)
 133   2                      {
 134   3                              DISABLE;
 135   3                              bEPPflags.bits.setup_packet = 0;
 136   3                              ENABLE;
 137   3                              control_handler();
 138   3                              D12SUSPD = 1;
 139   3                      } // if setup_packet
 140   2              if(bEPPflags.bits.configuration)                                
 141   2                              IspControl();
 142   2              } // Main Loop
 143   1      
 144   1      }
 145          
 146          void stall_ep0(void)
 147          {
 148   1              D12_SetEndpointStatus(0, 1);
 149   1              D12_SetEndpointStatus(1, 1);
 150   1      }
 151          
 152          void init_unconfig(void)
 153          {
 154   1      //      unsigned char i;
 155   1      
 156   1              D12_SetEndpointEnable(0);       /* Disable all endpoints but EPP0. */
 157   1      }
 158          
 159          void init_config(void)
 160          {
 161   1              D12_SetEndpointEnable(1);       /* Enable  generic/iso endpoints. */
 162   1      }
 163          
 164          void single_transmit(unsigned char * buf, unsigned char len)
 165          {
 166   1              if( len <= EP0_PACKET_SIZE) {
 167   2                      D12_WriteEndpoint(1, len, buf);
 168   2              }
 169   1      }
 170          
 171          void code_transmit(unsigned char code * pRomData, unsigned short len)
 172          {
 173   1              ControlData.wCount = 0;
 174   1              if(ControlData.wLength > len)
 175   1                      ControlData.wLength = len;
 176   1      
 177   1              ControlData.pData = pRomData;
 178   1              if( ControlData.wLength >= EP0_PACKET_SIZE) {
 179   2                      D12_WriteEndpoint(1, EP0_PACKET_SIZE, ControlData.pData);
C51 COMPILER V7.02a   MAINLOOP                                                             09/20/2005 15:10:00 PAGE 4   

 180   2                      ControlData.wCount += EP0_PACKET_SIZE;
 181   2      
 182   2                      DISABLE;
 183   2                      bEPPflags.bits.control_state = USB_TRANSMIT;
 184   2                      ENABLE;
 185   2              }
 186   1              else {
 187   2                      D12_WriteEndpoint(1, ControlData.wLength, pRomData);
 188   2                      ControlData.wCount += ControlData.wLength;
 189   2                      DISABLE;
 190   2                      bEPPflags.bits.control_state = USB_IDLE;
 191   2                      ENABLE;
 192   2              }
 193   1      }
 194          
 195          void IspControl(void)
 196          {
 197   1              unsigned char a;
 198   1              unsigned char time;
 199   1              int Addr;
 200   1              unsigned char i;
 201   1              unsigned char j;
 202   1              unsigned char nBit;
 203   1              while(!bEPPflags.bits.ep1_rxdone) 
 204   1                      {}
 205   1              DISABLE;
 206   1              bEPPflags.bits.ep1_rxdone = 0;
 207   1              ENABLE;
 208   1              a=GenEpBuf[0];
 209   1              PreparePro();   
 210   1              switch(a)
 211   1              {
 212   2              case 0:
 213   2                      Erase();
 214   2                      GenEpBuf[0]=1;
 215   2                      D12_WriteEndpoint(3,4, GenEpBuf);
 216   2                      GenEpBuf[0]=0;
 217   2                      break;
 218   2              case 1:         
 219   2                      time=GenEpBuf[1];
 220   2                      for(i=0;i<time;i++)
 221   2                      {
 222   3                              while(!bEPPflags.bits.main_rxdone)
 223   3                                      {}
 224   3                              DISABLE;
 225   3                              bEPPflags.bits.main_rxdone = 0;
 226   3                              ENABLE;
 227   3                              D12SUSPD=1;
 228   3                              for(j=0;j<64;j++)
 229   3                              {
 230   4                                      Addr=j+i*64;
 231   4                                      Write(EpBuf[j],Addr);
 232   4                                      if(Read(Addr)!=EpBuf[j])
 233   4                                      {
 234   5                                              GenEpBuf[0]=2;
 235   5                                              D12_WriteEndpoint(3,4, GenEpBuf);
 236   5                                              GenEpBuf[0]=0;
 237   5                                              return;
 238   5                                      }       
 239   4                              }
 240   3                              D12SUSPD=0;
 241   3                              GenEpBuf[0]=1;
C51 COMPILER V7.02a   MAINLOOP                                                             09/20/2005 15:10:00 PAGE 5   

 242   3                              D12_WriteEndpoint(3,4, GenEpBuf);
 243   3                              GenEpBuf[0]=0;
 244   3                      }
 245   2                      break;
 246   2              case 2:
 247   2                      time=GenEpBuf[1];
 248   2                      for(i=0;i<time;i++)
 249   2                      {
 250   3                              for(j=0;j<64;j++)
 251   3                              {
 252   4                                      Addr=j+i*64;
 253   4                                      EpBuf[j]=Read(Addr);
 254   4                              }
 255   3                              D12_WriteEndpoint(5,64,EpBuf);
 256   3                              GenEpBuf[0]=1;
 257   3                              D12_WriteEndpoint(3,4, GenEpBuf);
 258   3                      }
 259   2                      GenEpBuf[0]=0;
 260   2                      break;
 261   2              case 3:
 262   2                      ReadSign(GenEpBuf);
 263   2                      if(GenEpBuf[0]==0)
 264   2                              GenEpBuf[0]=2;
 265   2                      D12_WriteEndpoint(3,4, GenEpBuf);
 266   2                      GenEpBuf[0]=0;
 267   2                      break;
 268   2              case 4:
 269   2                      nBit=GenEpBuf[1];
 270   2                      LockBit(nBit);
 271   2                      GenEpBuf[0]=1;
 272   2                      D12_WriteEndpoint(3,4, GenEpBuf);
 273   2                      GenEpBuf[0]=0;
 274   2                      break;
 275   2              }
 276   1              ProOver();
 277   1      }
 278          
 279          void control_handler()
 280          {
 281   1              unsigned char type, req;
 282   1      
 283   1              type = ControlData.DeviceRequest.bmRequestType & USB_REQUEST_TYPE_MASK;
 284   1              req = ControlData.DeviceRequest.bRequest & USB_REQUEST_MASK;
 285   1              if (type == USB_STANDARD_REQUEST)
 286   1                      (*StandardDeviceRequest[req])();
 287   1              else
 288   1                      stall_ep0();
 289   1      }
 290          
 291          void reconnect_USB(void)
 292          {
 293   1              D12SUSPD = 0;
 294   1              disconnect_USB();
 295   1              connect_USB();
 296   1      }
 297          
 298          void disconnect_USB(void)
 299          {
 300   1              // Initialize D12 configuration
 301   1              D12_SetMode(D12_NOLAZYCLOCK, D12_SETTOONE | D12_CLOCK_12M);
 302   1      }
 303          
C51 COMPILER V7.02a   MAINLOOP                                                             09/20/2005 15:10:00 PAGE 6   

 304          void connect_USB(void)
 305          {
 306   1              D12_SetDMA(D12_ENDP4INTENABLE | D12_ENDP5INTENABLE);
 307   1              D12_SetMode(D12_NOLAZYCLOCK|D12_SOFTCONNECT, D12_SETTOONE | D12_CLOCK_12M);
 308   1      }
 309          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    712    ----
   CONSTANT SIZE    =     48    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     24       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二| 日韩成人一区二区| 国产精品拍天天在线| www成人在线观看| 日韩精品中午字幕| 91精品国产一区二区三区| 欧美日韩第一区日日骚| 欧美视频一二三区| 欧美私人免费视频| 欧美片在线播放| 欧美群妇大交群中文字幕| 欧美乱熟臀69xxxxxx| 制服丝袜在线91| 日韩一区二区三区三四区视频在线观看 | 精品国产免费视频| 精品噜噜噜噜久久久久久久久试看 | 日本高清视频一区二区| 色久优优欧美色久优优| 欧美视频一区二区三区四区 | 亚洲欧美成aⅴ人在线观看| 自拍av一区二区三区| 亚洲美腿欧美偷拍| 午夜欧美视频在线观看| 久久精品国产免费| 国产福利视频一区二区三区| av福利精品导航| 欧美日韩一区二区三区视频| 欧美一区午夜精品| 国产欧美日韩麻豆91| 1024成人网色www| 亚洲成人av电影在线| 蓝色福利精品导航| 成人av小说网| 欧美挠脚心视频网站| 亚洲精品一区二区精华| 中文字幕在线观看不卡视频| 亚洲1区2区3区4区| 国产另类ts人妖一区二区| 91热门视频在线观看| 538prom精品视频线放| 国产欧美综合色| 一区二区三区日韩欧美精品| 麻豆一区二区在线| a级高清视频欧美日韩| 欧美伦理影视网| 欧美国产国产综合| 亚洲va韩国va欧美va精品| 激情小说亚洲一区| 色综合天天做天天爱| 日韩免费高清电影| 亚洲女性喷水在线观看一区| 麻豆精品视频在线观看免费| 97国产一区二区| 日韩欧美国产综合在线一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精品不卡一区二区三区| 亚洲超丰满肉感bbw| 高清不卡一区二区| 91精品国产乱| 1区2区3区欧美| 激情亚洲综合在线| 欧美日韩高清影院| 自拍偷自拍亚洲精品播放| 麻豆精品一区二区综合av| 91丨porny丨中文| 久久女同互慰一区二区三区| 亚洲自拍偷拍综合| 成人av网站在线| 欧美成人性福生活免费看| 亚洲免费资源在线播放| 国产精品99久久久久久宅男| 91精品国产综合久久婷婷香蕉 | 国产精品成人午夜| 国产在线一区二区综合免费视频| 在线视频亚洲一区| 国产精品久久久久婷婷二区次| 蜜桃视频在线观看一区| 欧美在线一区二区| 国产精品大尺度| 国产露脸91国语对白| 欧美大黄免费观看| 丝袜脚交一区二区| 欧美特级限制片免费在线观看| 国产精品免费视频观看| 国产精品一色哟哟哟| 日韩欧美亚洲国产另类 | 成人性生交大片免费看在线播放| 日韩欧美国产wwwww| 日韩精品乱码av一区二区| 欧美午夜在线一二页| 亚洲你懂的在线视频| 不卡的av在线播放| 中文字幕精品综合| 国v精品久久久网| 久久精品日韩一区二区三区| 精品在线播放免费| 精品奇米国产一区二区三区| 免费一级片91| 91精品国产麻豆| 蜜桃av一区二区在线观看| 欧美一级欧美一级在线播放| 日韩电影在线一区| 欧美理论片在线| 日韩精品一二三| 7777精品久久久大香线蕉| 亚洲国产成人av网| 91精品国产综合久久福利软件| 丝袜诱惑亚洲看片| 欧美夫妻性生活| 91视频免费观看| 亚洲天堂福利av| 91免费视频网| 亚洲国产中文字幕| 欧美丰满嫩嫩电影| 久久精品国产秦先生| 久久久综合视频| 成人精品免费看| 一区二区三区视频在线看| 欧美午夜精品久久久久久孕妇| 午夜成人免费电影| 日韩免费观看2025年上映的电影| 国产在线播放一区二区三区| 国产欧美精品一区二区色综合 | 欧美国产禁国产网站cc| 99在线精品一区二区三区| 亚洲毛片av在线| 欧美三级中文字幕| 精品午夜久久福利影院| 中日韩av电影| 在线观看www91| 久久电影网电视剧免费观看| 国产三级一区二区三区| 91啪亚洲精品| 免费在线观看视频一区| 国产色产综合色产在线视频 | 综合久久久久久久| 欧美久久久久久蜜桃| 韩国三级在线一区| 中文字幕永久在线不卡| 欧美日韩国产免费一区二区| 黄网站免费久久| 亚洲欧美日韩电影| 日韩丝袜美女视频| 国产99久久久久久免费看农村| 亚洲欧美偷拍另类a∨色屁股| 欧美日韩情趣电影| 国产精品资源网站| 亚洲成人免费视| 国产视频视频一区| 欧美日韩在线观看一区二区 | 91老师片黄在线观看| 日本亚洲三级在线| 亚洲欧洲日本在线| 欧美一区二区精品| 91小视频在线免费看| 青草av.久久免费一区| 亚洲欧洲日韩av| 日韩久久久精品| 色哟哟一区二区在线观看| 韩国女主播一区| 亚洲电影激情视频网站| 日本一区二区三区电影| 欧美日韩国产精选| 成人免费看片app下载| 日本亚洲天堂网| 亚洲综合久久av| 中日韩免费视频中文字幕| 美女网站在线免费欧美精品| 韩国v欧美v日本v亚洲v| 欧美日韩国产片| 亚洲午夜久久久久| 日韩福利电影在线观看| 欧美日韩在线播放三区| 91精品国产一区二区三区| 久久男人中文字幕资源站| 久久精品国产亚洲一区二区三区| 国产丶欧美丶日本不卡视频| 懂色av一区二区在线播放| 日韩视频一区二区三区在线播放| 天天色综合成人网| 亚洲观看高清完整版在线观看| 国产欧美一区二区精品忘忧草 | 日韩欧美高清一区| 欧美在线一二三| 色综合久久九月婷婷色综合| 国内偷窥港台综合视频在线播放| 亚洲.国产.中文慕字在线| 亚洲欧美另类图片小说| 国产精品人人做人人爽人人添| 精品国产免费人成电影在线观看四季| 欧美午夜在线一二页| 日本久久精品电影| 99精品视频在线观看| 岛国av在线一区| 国产精品影视在线观看| 国产麻豆91精品| 国产乱码精品一区二区三区五月婷| 蜜臀av一区二区三区| 毛片av一区二区| 久草在线在线精品观看|