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

📄 udisk_def.h

📁 基于at89c51单片机的mp3 U盘原理实验代码
💻 H
字号:
/*  Copyright (C) 1996-2005 Brilliant Ideal Electronics. All rights reserved.
	MP3_Player+USB_Disk V3.0 Edit by JMBIE STUDIO 2005.03
*/

#define	K9F_FUN				P5
#define K9F5608				*((unsigned char xdata *)0x4000)
#define	COMMAND				0x03	
#define	ADDRESS				0x05	
#define	D_DATA				0x01
#define	INACTIVE			0x09	
#define	RB					0x01

/*USB endpoint interrupt indicate bits*/
#define 	EP2 		(0x1<<2)		      
#define 	EP1 		(0x1<<1)
#define 	EP0 		(0x1<<0)

#define		Rdiv    	11

#define		PLLRES		(0x1<<3)        //PLLCON
#define		PLLEN		(0x1<<1)
#define		USBE		(0x1<<7)        //USBCON
#define 	EEOFINT		(0x1<<4)
#define 	FEN			(0x1<<7)
#define 	FADDEN		(0x1<<0)
#define 	CONFG		(0x1<<1)
#define 	DIR			(0x1<<7)		//UEPSTAX
#define 	RXOUTB1		(0x1<<6)
#define 	STALLRQ		(0x1<<5)
#define 	TXRDY		(0x1<<4)
#define 	STLCRC		(0x1<<3)
#define 	RXSETUP		(0x1<<2)
#define 	RXOUTB0		(0x1<<1)
#define 	TXCMP		(0x1<<0)


#define	get_status			0x00
#define	clear_feature 		0x01
#define	reserved			0x02
#define	set_feature			0x03
#define	set_address			0x05
#define	get_descriptor		0x06
#define	get_configuration	0x08
#define	set_configuration	0x09
#define	get_interface		0x0a
#define	set_interface		0x0b

#define Inquiry							0x12
#define	Mode_Sense						0x1A
#define	Read10							0x28
#define Read_Capacity 					0x25 
#define Read_Format_Capacities 	        0x23 
#define Test_Unit_Ready 				0x00 
#define Verify 							0x2F 
#define Write10 						0x2A 
#define Medium_Removal					0x1E

#define SCSI_MSPGCD_TPP		    	    0x1C
#define SCSI_MSPGCD_RETALL			    0x3F

#define USB_INS  P3_4
#define LED	     P3_5

#define BuffBlock (0xc0)   //Write Buffer Block 2046 and 2047
//Buffer must be 2 sequential blocks,and begin from a even block.
//BuffBlock only define the LSB of the Block number.
//Refer to Copy-Back operation in the K9F5608 datasheet.

typedef struct _STRUCT_CBW
{
  unsigned char CBWCB[12];   //UFI Command all have 12bit

} struct_CBW;
  

void AtmelUSBInit();
void EpEnable();
void Ep0();
void main_txdone();
void main_rxdone();
void Flash_Reset();

void ReadPage(unsigned int block, unsigned int page, unsigned char *pPage);

⌨️ 快捷键说明

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