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

📄 ideio.lst

📁 atmel at89c51snd1c mp3芯片方案源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 237   3              Usb_write_byte(hdd_read_byte());        
 238   3              Usb_write_byte(hdd_read_byte());
 239   3              Usb_write_byte(hdd_read_byte());        
 240   3              Usb_write_byte(hdd_read_byte());
C51 COMPILER V7.50   IDEIO                                                                 11/28/2007 08:34:16 PAGE 5   

 241   3              Usb_write_byte(hdd_read_byte());        
 242   3              Usb_write_byte(hdd_read_byte());
 243   3              Usb_write_byte(hdd_read_byte());        
 244   3              Usb_write_byte(hdd_read_byte());
 245   3              Usb_write_byte(hdd_read_byte());        
 246   3              Usb_write_byte(hdd_read_byte());
 247   3              Usb_write_byte(hdd_read_byte());        
 248   3              Usb_write_byte(hdd_read_byte());
 249   3              Usb_write_byte(hdd_read_byte());        
 250   3              Usb_write_byte(hdd_read_byte());
 251   3              Usb_write_byte(hdd_read_byte());        
 252   3              Usb_write_byte(hdd_read_byte());
 253   3              Usb_write_byte(hdd_read_byte());        
 254   3              Usb_write_byte(hdd_read_byte());
 255   3              Usb_write_byte(hdd_read_byte());        
 256   3              Usb_write_byte(hdd_read_byte());
 257   3              Usb_write_byte(hdd_read_byte());        
 258   3              Usb_write_byte(hdd_read_byte());
 259   3              Usb_write_byte(hdd_read_byte());        
 260   3              Usb_write_byte(hdd_read_byte());
 261   3              Usb_write_byte(hdd_read_byte());        
 262   3              Usb_write_byte(hdd_read_byte());
 263   3              Usb_write_byte(hdd_read_byte());        
 264   3              Usb_write_byte(hdd_read_byte());
 265   3              Usb_write_byte(hdd_read_byte());        
 266   3              Usb_write_byte(hdd_read_byte());
 267   3              Usb_write_byte(hdd_read_byte());        
 268   3              Usb_write_byte(hdd_read_byte());
 269   3              Usb_write_byte(hdd_read_byte());        
 270   3              Usb_write_byte(hdd_read_byte());
 271   3              Usb_write_byte(hdd_read_byte());        
 272   3              Usb_write_byte(hdd_read_byte());
 273   3              Usb_write_byte(hdd_read_byte());        
 274   3              Usb_write_byte(hdd_read_byte());
 275   3              Usb_write_byte(hdd_read_byte());        
 276   3              Usb_write_byte(hdd_read_byte());
 277   3              Usb_write_byte(hdd_read_byte());        
 278   3              Usb_write_byte(hdd_read_byte());
 279   3              Usb_write_byte(hdd_read_byte());        
 280   3              Usb_write_byte(hdd_read_byte());
 281   3              Usb_write_byte(hdd_read_byte());        
 282   3              Usb_write_byte(hdd_read_byte());
 283   3              Usb_write_byte(hdd_read_byte());        
 284   3              Usb_write_byte(hdd_read_byte());
 285   3              Usb_write_byte(hdd_read_byte());        
 286   3              Usb_write_byte(hdd_read_byte());
 287   3           
 288   3            Usb_set_TXRDY();
 289   3            Usb_select_ep(EP_IN);
 290   3            while (!Usb_tx_complete());
 291   3            Usb_clear_TXCMPL();  
 292   3           }   
 293   2           hdd_read_close();
 294   2      
 295   2           return OK;
 296   2         }
 297   1        return KO;
 298   1      }
 299          
 300          
 301          /**********************************************************
 302          *函数名称:bit hdd_write_open(Uint32 hdd_sector)           *
C51 COMPILER V7.50   IDEIO                                                                 11/28/2007 08:34:16 PAGE 6   

 303          *用途:写硬盘OPEN动作                                      *
 304          ***********************************************************/ 
 305          bit hdd_write_open(Uint32 hdd_sector)
 306          {
 307   1       uchar head,cylinderh,cylinderl,sector;
 308   1         head      = ((Byte*)&hdd_sector)[0];
 309   1         cylinderh = ((Byte*)&hdd_sector)[1];
 310   1         cylinderl = ((Byte*)&hdd_sector)[2];
 311   1         sector    = ((Byte*)&hdd_sector)[3];
 312   1      
 313   1         do{ACC = FILE7;} while(BSY);
 314   1          FILE6 = (0xe0 | (head & 0x0f));
 315   1          FILE5 = cylinderh;    //high 2-bit cylinder
 316   1          FILE4 = cylinderl;//low 8-bit cylinder
 317   1          FILE3 = sector; //start sector
 318   1          FILE2 = 1;   //sector counter
 319   1          
 320   1          WriteCommand(0x30); 
 321   1      
 322   1        do{ACC = FILE7;} while(BSY |! DRQ); //wait for noBUSY and data request
 323   1        
 324   1        ACC = FILE7;
 325   1         if (ERR)
 326   1           return KO;
 327   1      
 328   1           return OK;
 329   1      }
 330          
 331          
 332          /**********************************************************
 333          *函数名称:bit hdd_write_byte(Byte hdd_data)               *
 334          *用途:写硬盘CLOSE动作                                     *
 335          ***********************************************************/ 
 336          bit   hdd_write_byte(Byte hdd_data)
 337          {
 338   1       gl_hdd_buffer[gl_hdd_buffer_ptr++] = hdd_data ;
 339   1       return OK;
 340   1      }
 341          
 342          /**********************************************************
 343          *函数名称:bit hdd_write_close(void)                       *
 344          *用途:写硬盘CLOSE动作                                     *
 345          ***********************************************************/ 
 346          bit hdd_write_close(void)
 347          {uint i;
 348   1        for(i = 0; i < 512; i+=2)
 349   1         {
 350   2          DAT16H = gl_hdd_buffer[i+1];
 351   2          FILE0  = gl_hdd_buffer[i];                                                                                                                                                     
             -                                                              
 352   2         }
 353   1      
 354   1        do{ACC = FILE7;} while(BSY); 
 355   1      
 356   1        return OK;
 357   1         
 358   1      }
 359          
 360          
 361          
 362          /**********************************************************
 363          *函数名称:bit hdd_write_usb_sector(Uint32 hdd_sector)     *
C51 COMPILER V7.50   IDEIO                                                                 11/28/2007 08:34:16 PAGE 7   

 364          *用途:将USB接收到的一个扇区的数据写入硬盘                 *
 365          ***********************************************************/ 
 366          bit hdd_write_usb_sector(Uint32 hdd_sector)
 367          {uchar j;
 368   1      
 369   1         Usb_select_ep(EP_OUT);   
 370   1         gl_hdd_buffer_ptr = 0;
 371   1      
 372   1         for (j = 0; j < 8; j++)
 373   1             {
 374   2                  while(!Usb_rx_complete());          /* wait end of reception */
 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                hdd_write_byte(Usb_read_byte());
 402   2                hdd_write_byte(Usb_read_byte());
 403   2                hdd_write_byte(Usb_read_byte());
 404   2                hdd_write_byte(Usb_read_byte());
 405   2                hdd_write_byte(Usb_read_byte());
 406   2                hdd_write_byte(Usb_read_byte());
 407   2                hdd_write_byte(Usb_read_byte());
 408   2                hdd_write_byte(Usb_read_byte());
 409   2                hdd_write_byte(Usb_read_byte());
 410   2                hdd_write_byte(Usb_read_byte());
 411   2                hdd_write_byte(Usb_read_byte());
 412   2                hdd_write_byte(Usb_read_byte());
 413   2                hdd_write_byte(Usb_read_byte());
 414   2                hdd_write_byte(Usb_read_byte());
 415   2                hdd_write_byte(Usb_read_byte());
 416   2                hdd_write_byte(Usb_read_byte());
 417   2                hdd_write_byte(Usb_read_byte());
 418   2                hdd_write_byte(Usb_read_byte());
 419   2                hdd_write_byte(Usb_read_byte());
 420   2                hdd_write_byte(Usb_read_byte());
 421   2                hdd_write_byte(Usb_read_byte());
 422   2                hdd_write_byte(Usb_read_byte());
 423   2                    hdd_write_byte(Usb_read_byte());
 424   2                hdd_write_byte(Usb_read_byte());
 425   2                hdd_write_byte(Usb_read_byte());
C51 COMPILER V7.50   IDEIO                                                                 11/28/2007 08:34:16 PAGE 8   

 426   2                hdd_write_byte(Usb_read_byte());
 427   2                hdd_write_byte(Usb_read_byte());
 428   2                hdd_write_byte(Usb_read_byte());
 429   2                hdd_write_byte(Usb_read_byte());
 430   2                hdd_write_byte(Usb_read_byte());
 431   2                hdd_write_byte(Usb_read_byte());
 432   2                hdd_write_byte(Usb_read_byte());
 433   2                hdd_write_byte(Usb_read_byte());
 434   2                hdd_write_byte(Usb_read_byte());
 435   2                hdd_write_byte(Usb_read_byte());
 436   2                hdd_write_byte(Usb_read_byte());
 437   2                hdd_write_byte(Usb_read_byte());
 438   2                hdd_write_byte(Usb_read_byte());
 439   2      
 440   2                    Usb_clear_RXOUT_PP();          
 441   2              }
 442   1        
 443   1          hdd_write_open(hdd_sector);
 444   1          hdd_write_close();
 445   1              return OK;
 446   1      }
 447          
 448          
 449          /////////////////////////////////////////////////////////////////////////////////
 450          Uint32 hdd_read_long_big_endian()
 451          {
 452   1       Uint32  cluster;
 453   1      
 454   1        ((Byte*)&cluster)[3] = hdd_read_byte();
 455   1        ((Byte*)&cluster)[2] = hdd_read_byte();   
 456   1        ((Byte*)&cluster)[1] = hdd_read_byte();   
 457   1        ((Byte*)&cluster)[0] = hdd_read_byte();
 458   1      
 459   1         return  cluster;
 460   1      }
 461          
 462          
 463          
 464          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1409    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----      13
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   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 + -