www.pudn.com > USBDriver.rar > D12HAL.c


/****************************************Copyright (c)************************************************** 
**                               ¹ãÖÝÖÜÁ¢¹¦µ¥Æ¬»ú·¢Õ¹ÓÐÏÞ¹«Ë¾ 
**                                     ÑÐ    ¾¿    Ëù 
**                                        ²úÆ·Ò»²¿  
** 
**                                 http://www.zlgmcu.com 
** 
** ÎÄ   ¼þ   Ãû: D12HAL.c 
** ×îºóÐÞ¸ÄÈÕÆÚ: 2004Äê7ÔÂ2ÈÕ 
** Ãè        Êö: USBÇý¶¯³ÌÐòÈí¼þ°ü: PDIUSBD12 É豸¶ËÇý¶¯³ÌÐò É豸¿ØÖÆÇý¶¯²ã 
** °æ	     ±¾: V1.0 
**********************************************************************************************************/ 
 
#include  "config.h" 
#include  "D12Config.h" 
 
/************************************************************ 
** º¯ÊýÃû³Æ: void Init_D12Port(void) 
** ¹¦ÄÜÃèÊö: ³õʼ»¯D12ÓëLPC2200µÄÁ¬½Ó¶Ë¿Ú 
** Êä¡¡  Èë: ÎÞ 
** Êä ¡¡ ³ö: ÎÞ 
************************************************************/ 
void Init_D12Port(void) 
{ 
   	USBRST_GPIO();			//ʹÄÜUSBRSTΪͨÓÃIO¿Ú 
  	SUSP_GPIO();			//ʹÄÜSUSPΪͨÓÃIO¿Ú 
  	 
  	USBRST_OUT();			//USBRSTΪÊä³öIO¿Úö 
  	SUSP_OUT();				//SUSPΪÊä³öIO¿Ú 
  	INIT_INTD12();			//INT_USBΪÖжÏÊäÈë¿Ú 
} 
 
/************************************************************ 
** º¯ÊýÃû³Æ: void Rst_D12(void) 
** ¹¦ÄÜÃèÊö: ¸´Î»D12 
** Êä¡¡  Èë: ÎÞ 
** Êä ¡¡ ³ö: ÎÞ 
************************************************************/ 
void Rst_D12(void) 
{ 
	INT32U i; 
	 
	CLR_USBRST();					//USBRSTÖÃ0 
	for(i = 0;i < 0x2ffff; i++);	//Èí¼þÑÓʱ 
		SET_USBRST();				//USBRSTÖÃ1 
	 
	for(i = 0;i < 0xfff; i++);		//Èí¼þÑÓʱ 
		CLR_SUSP();					//SUSPÖÃ0 
} 
 
/************************************************************ 
** º¯ÊýÃû³Æ: void bus_delay(void) 
** ¹¦ÄÜÃèÊö: ×ÜÏßÑÓʱ 
** Êä¡¡  Èë: ÎÞ 
** Êä ¡¡ ³ö: ÎÞ 
************************************************************/ 
void bus_delay(void) 
{ 
	INT8U i; 
	i = D12_NOP;			//¶Ô×ÜÏß½øÐвÙ×÷ 
} 
 
/************************************************************ 
** º¯ÊýÃû³Æ: void outportc(INT8U Data) 
** ¹¦ÄÜÃèÊö: Êä³öÃüÁî 
** Êä¡¡  Èë: INT8U Data:    ÃüÁî×Ö½Ú 
** Êä ¡¡ ³ö: ÎÞ 
************************************************************/ 
void outportc(INT8U Data) 
{ 
	bus_delay();				//×ÜÏßÑÓʱ 
	D12_COM = Data;				//·¢ËÍÃüÁî 
} 
 
/************************************************************ 
** º¯ÊýÃû³Æ: void outportd(INT8U Data) 
** ¹¦ÄÜÃèÊö: Êä³öÊý¾Ý 
** Êä¡¡  Èë: INT8U Data:    Êý¾Ý×Ö½Ú 
** Êä ¡¡ ³ö: ÎÞ 
*************************************************************/ 
void outportd(INT8U Data) 
{ 
	bus_delay();				//×ÜÏßÑÓʱ 
	D12_DAT = Data;				//·¢ËÍÊý¾Ý 
} 
 
/************************************************************ 
** º¯ÊýÃû³Æ: INT8U inportd(void) 
** ¹¦ÄÜÃèÊö: ¶ÁÈëÊý¾Ý 
** Êä¡¡  Èë: ÎÞ 
** Êä ¡¡ ³ö: ¶Áµ½µÄÊý¾Ý 
*************************************************************/ 
INT8U inportd(void) 
{ 
	bus_delay();				//×ÜÏßÑÓʱ 
	return D12_DAT;				//¶ÁÈ¡Êý¾Ý 
}