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

📄 ide_drv.lst

📁 atmel at89c51snd1c mp3芯片方案源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 218   3              Usb_write_byte(hdd_read_byte());        
 219   3              Usb_write_byte(hdd_read_byte());
 220   3              Usb_write_byte(hdd_read_byte());        
 221   3              Usb_write_byte(hdd_read_byte());
 222   3              Usb_write_byte(hdd_read_byte());        
 223   3              Usb_write_byte(hdd_read_byte());
 224   3              Usb_write_byte(hdd_read_byte());        
 225   3              Usb_write_byte(hdd_read_byte());
 226   3              Usb_write_byte(hdd_read_byte());        
 227   3              Usb_write_byte(hdd_read_byte());
 228   3              Usb_write_byte(hdd_read_byte());        
 229   3              Usb_write_byte(hdd_read_byte());
 230   3              Usb_write_byte(hdd_read_byte());        
 231   3              Usb_write_byte(hdd_read_byte());
 232   3              Usb_write_byte(hdd_read_byte());        
 233   3              Usb_write_byte(hdd_read_byte());
 234   3           
 235   3              Usb_set_TXRDY();
 236   3              Usb_select_ep(EP_IN);
 237   3              while (!Usb_tx_complete());
 238   3              Usb_clear_TXCMPL();  
 239   3            }  
 240   2            hdd_read_close();
C51 COMPILER V7.50   IDE_DRV                                                               02/16/2009 09:59:52 PAGE 5   

 241   2      
 242   2            return OK;
 243   2          }
 244   1          return KO;
 245   1      }
 246          
 247          ///////////////////////////////////////////////////////////////////// 
 248          bit hdd_write_open(Uint32 hdd_sector)
 249          {
 250   1         INT8U head,cylinderh,cylinderl,sector;
 251   1      
 252   1         u32MediaSector = hdd_sector;
 253   1      
 254   1         head      = ((Byte*)&u32MediaSector)[0];
 255   1         cylinderh = ((Byte*)&u32MediaSector)[1];
 256   1         cylinderl = ((Byte*)&u32MediaSector)[2];
 257   1         sector    = ((Byte*)&u32MediaSector)[3];
 258   1      
 259   1         do{ACC = FILE7;} while(BSY);
 260   1      
 261   1         FILE6 = (0xe0 | (head & 0x0f));
 262   1         FILE5 = cylinderh;               //high 2-bit cylinder
 263   1         FILE4 = cylinderl;               //low 8-bit cylinder
 264   1         FILE3 = sector;                  //start sector
 265   1         FILE2 = 1;                       //sector counter
 266   1          
 267   1         WriteCommand(0x30); 
 268   1      
 269   1         do{ACC = FILE7;} while(BSY |! DRQ); //wait for noBUSY and data request
 270   1        
 271   1         ACC = FILE7;
 272   1         if (ERR)
 273   1           return KO;
 274   1      
 275   1         u16MediaBytePointer = 0;
 276   1         return OK;
 277   1      }
 278          
 279          
 280          ///////////////////////////////////////////////////////////////////// 
 281          bit hdd_write_byte(Byte hdd_data)
 282          {
 283   1         gl_media_buffer[u16MediaBytePointer ++] = hdd_data;
 284   1         return OK;
 285   1      }
 286          
 287          ///////////////////////////////////////////////////////////////////// 
 288          bit hdd_write_close(void)
 289          {
 290   1         INT16U i;
 291   1      
 292   1         for(i=0; i<512;)
 293   1         {
 294   2            DAT16H = gl_media_buffer[i + 1];
 295   2            FILE0  = gl_media_buffer[i];
 296   2                i += 2;  
 297   2            DAT16H = gl_media_buffer[i + 1];
 298   2            FILE0  = gl_media_buffer[i];
 299   2                i += 2; 
 300   2                DAT16H = gl_media_buffer[i + 1];
 301   2            FILE0  = gl_media_buffer[i];
 302   2                i += 2;
C51 COMPILER V7.50   IDE_DRV                                                               02/16/2009 09:59:52 PAGE 6   

 303   2                DAT16H = gl_media_buffer[i + 1];
 304   2            FILE0  = gl_media_buffer[i];
 305   2                i += 2;
 306   2            DAT16H = gl_media_buffer[i + 1];
 307   2            FILE0  = gl_media_buffer[i];
 308   2                i += 2;  
 309   2            DAT16H = gl_media_buffer[i + 1];
 310   2            FILE0  = gl_media_buffer[i];
 311   2                i += 2; 
 312   2                DAT16H = gl_media_buffer[i + 1];
 313   2            FILE0  = gl_media_buffer[i];
 314   2                i += 2;
 315   2                DAT16H = gl_media_buffer[i + 1];
 316   2            FILE0  = gl_media_buffer[i];
 317   2                i += 2;                                                                                                                                                                          
 318   2         }
 319   1      
 320   1         do{ACC = FILE7;} while(BSY); 
 321   1         return OK;
 322   1      }
 323          
 324          
 325          
 326          ///////////////////////////////////////////////////////////////////// 
 327          bit hdd_write_one_sector(Uint32 hdd_sector)
 328          {
 329   1         INT8U j;
 330   1      
 331   1         Usb_select_ep(EP_OUT);   
 332   1      
 333   1         for (j=0; j<8; j++)
 334   1         {
 335   2            while(!Usb_rx_complete());          /* wait end of reception */
 336   2      
 337   2                hdd_write_byte(Usb_read_byte());
 338   2            hdd_write_byte(Usb_read_byte());
 339   2            hdd_write_byte(Usb_read_byte());
 340   2            hdd_write_byte(Usb_read_byte());
 341   2            hdd_write_byte(Usb_read_byte());
 342   2            hdd_write_byte(Usb_read_byte());
 343   2            hdd_write_byte(Usb_read_byte());
 344   2            hdd_write_byte(Usb_read_byte());
 345   2            hdd_write_byte(Usb_read_byte());
 346   2            hdd_write_byte(Usb_read_byte());
 347   2            hdd_write_byte(Usb_read_byte());
 348   2            hdd_write_byte(Usb_read_byte());
 349   2            hdd_write_byte(Usb_read_byte());
 350   2            hdd_write_byte(Usb_read_byte());
 351   2            hdd_write_byte(Usb_read_byte());
 352   2            hdd_write_byte(Usb_read_byte());
 353   2            hdd_write_byte(Usb_read_byte());
 354   2            hdd_write_byte(Usb_read_byte());
 355   2            hdd_write_byte(Usb_read_byte());
 356   2            hdd_write_byte(Usb_read_byte());
 357   2            hdd_write_byte(Usb_read_byte());
 358   2            hdd_write_byte(Usb_read_byte());
 359   2            hdd_write_byte(Usb_read_byte());
 360   2            hdd_write_byte(Usb_read_byte());
 361   2            hdd_write_byte(Usb_read_byte());
 362   2            hdd_write_byte(Usb_read_byte());
 363   2            hdd_write_byte(Usb_read_byte());
 364   2            hdd_write_byte(Usb_read_byte());
C51 COMPILER V7.50   IDE_DRV                                                               02/16/2009 09:59:52 PAGE 7   

 365   2            hdd_write_byte(Usb_read_byte());
 366   2            hdd_write_byte(Usb_read_byte());
 367   2            hdd_write_byte(Usb_read_byte());
 368   2            hdd_write_byte(Usb_read_byte());
 369   2            hdd_write_byte(Usb_read_byte());
 370   2            hdd_write_byte(Usb_read_byte());
 371   2            hdd_write_byte(Usb_read_byte());
 372   2            hdd_write_byte(Usb_read_byte());
 373   2            hdd_write_byte(Usb_read_byte());
 374   2            hdd_write_byte(Usb_read_byte());
 375   2            hdd_write_byte(Usb_read_byte());
 376   2            hdd_write_byte(Usb_read_byte());
 377   2            hdd_write_byte(Usb_read_byte());
 378   2            hdd_write_byte(Usb_read_byte());
 379   2            hdd_write_byte(Usb_read_byte());
 380   2            hdd_write_byte(Usb_read_byte());
 381   2            hdd_write_byte(Usb_read_byte());
 382   2            hdd_write_byte(Usb_read_byte());
 383   2            hdd_write_byte(Usb_read_byte());
 384   2            hdd_write_byte(Usb_read_byte());
 385   2            hdd_write_byte(Usb_read_byte());
 386   2            hdd_write_byte(Usb_read_byte());
 387   2            hdd_write_byte(Usb_read_byte());
 388   2            hdd_write_byte(Usb_read_byte());
 389   2            hdd_write_byte(Usb_read_byte());
 390   2            hdd_write_byte(Usb_read_byte());
 391   2            hdd_write_byte(Usb_read_byte());
 392   2            hdd_write_byte(Usb_read_byte());
 393   2            hdd_write_byte(Usb_read_byte());
 394   2            hdd_write_byte(Usb_read_byte());
 395   2            hdd_write_byte(Usb_read_byte());
 396   2            hdd_write_byte(Usb_read_byte());
 397   2            hdd_write_byte(Usb_read_byte());
 398   2            hdd_write_byte(Usb_read_byte());
 399   2            hdd_write_byte(Usb_read_byte());
 400   2            hdd_write_byte(Usb_read_byte());
 401   2      
 402   2            Usb_clear_RXOUT_PP();          
 403   2         }
 404   1        
 405   1         hdd_write_open(hdd_sector);
 406   1         hdd_write_close();
 407   1         return OK;
 408   1      }
 409          
 410          
 411          /////////////////////////////////////////////////////////////////////////////////
 412          Uint32 hdd_read_long_big_endian()
 413          {
 414   1       Uint32  cluster;
 415   1      
 416   1        ((Byte*)&cluster)[3] = hdd_read_byte();
 417   1        ((Byte*)&cluster)[2] = hdd_read_byte();   
 418   1        ((Byte*)&cluster)[1] = hdd_read_byte();   
 419   1        ((Byte*)&cluster)[0] = hdd_read_byte();
 420   1      
 421   1         return  cluster;
 422   1      }
 423          
 424          
 425          
 426          
C51 COMPILER V7.50   IDE_DRV                                                               02/16/2009 09:59:52 PAGE 8   



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1710    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       9
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   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 + -