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

📄 public.h

📁 该软件为在sunplus的61单片机上实现的mp3播放器.里面有完整的源代码.
💻 H
字号:
#ifndef	__PUBLIC_h__
#define	__PUBLIC_h__
//	write your header here
/*H**************************************************************************
* 文件名:       filename.h         
*----------------------------------------------------------------------------
* 版权          (c) 2004 TGE.
*----------------------------------------------------------------------------
* 释放:         Spce061A      
* 版本:         1.13     
*----------------------------------------------------------------------------
* 目的:
* 
*****************************************************************************/

/*_____    包括     ________________________________________________________*/

/*_____    宏       ________________________________________________________*/
//*************************************************************************
// ID definitions
//*************************************************************************
#define ID0 1        //00000001B	
#define ID1 2        //00000010B
#define ID2 3        //00000011B
#define ID3 4        //00000100B
#define ID4 5		 //00000101B
#define ID5 6        //00000110B
#define ID6 7        //00000111B
#define ID7 8		 //00001000B

/*_____    定义     ________________________________________________________*/
//----data type define ----
#define UINT16		unsigned int
#define UINT32	  	unsigned long int
#define UCHAR 		unsigned char	
//----global constant define------------------------------------------------
#define SUCCESS   		0
#define FAILURE   		1
#define FALSE			0
#define TRUE			1
#define KO				0
#define OK				1
#define OFF				0
#define ON				1
#define STOP			0
#define RUN				1
#define NULL			0
#define PI				3.1415827

//define PortA Pins
#define DB7				0x8000		
#define DB6				0x4000
#define DB5				0x2000
#define DB4             0x1000
#define DB3				0x0800
#define DB2				0x0400
#define DB1             0x0200
#define DB0				0x0100			//Public DATA Input&Output
#define M_RE			0x0080			//NandFlash Read Pin 
#define D12_RE			0x0080			//D12 Read Pin
#define LCD_RE			0x0080          //LCD Read Pin
#define M_WE			0x0040			//NandFlash Write Pin
#define D12_WE			0x0040          //D12 Write Pin
#define LCD_WE			0x0040          //LCD Write Pin
#define M_ALE			0x0020          //NandFlash Address Latch Pin (Hight Action)
#define M_CLE			0x0010          //NandFlash Command Latch Pin (Hight Action)
#define M_RB			0x0008          //NandFlash Ready/Busy Pin (Low->Busy)
#define VBUS			0x0004          //USB Power On
#define DATA0           0x0002          //D12 Command & Data
#define ADKEY			0x0001          //Keyboard Input

//define PortB Pins
#define M_WP			0x8000			//NandFlash Write Protect
#define LCD_RESET	    0x4000			//LCD Reset
#define MP3_RESET		0x2000			//MP3 Reset
#define MP3_BSYNC		0x1000			//MP3 Bsync
#define MP3_CE			0x0800          //MP3 Chip Enable
#define LCD_DC			0x0400          //LCD Data/Command
#define MP3_SI			0x0200          //MP3 SI
#define MP3_SO			0x0100          //MP3 SO
#define LCD_CE			0x0080          //LCD Chip Enable
#define MP3_SCLK		0x0040          //MP3 SCLK
#define D12_CE			0x0020			//D12 Chip Enable
#define M_CE			0x0010          //NandFlash Chip Enable
#define D12_INT			0x0008          //D12 Intterupt
#define MP3_DREQ		0x0004          //MP3 Data Request
#define D12_SUSPEND		0x0004          //D12 Suspend
#define MP3_SDATA		0x0002          //MP3 SDATA
#define MP3_DCLK		0X0001          //MP3 DCLK

/*_____    声明     ________________________________________________________*/
#define WE_LOW()		asm("R1=[P_IOA_Data]\n\t" "R1&=0xff7f\n\t" "[P_IOA_Data]=R1")
#define WE_HIGH()       asm("R1=[P_IOA_Data]\n\t" "R1|=0x0080\n\t" "[P_IOA_Data]=R1")
#define RE_LOW()		asm("R1=[P_IOA_Data]\n\t" "R1&=0xffbf\n\t" "[P_IOA_Data]=R1")
#define RE_HIGH()       asm("R1=[P_IOA_Data]\n\t" "R1|=0x0040\n\t" "[P_IOA_Data]=R1")

#define D12CS_LOW()		asm("R1=[P_IOB_Data]\n\t" "R1&=0xffdf\n\t" "[P_IOB_Data]=R1")
#define D12CS_HIGH()    asm("R1=[P_IOB_Data]\n\t" "R1|=0x0020\n\t" "[P_IOB_Data]=R1")	

#define D12CD_LOW()		asm("R1=[P_IOA_Data]\n\t" "R1&=0xfffd\n\t" "[P_IOA_Data]=R1")
#define D12CD_HIGH()    asm("R1=[P_IOA_Data]\n\t" "R1|=0x0002\n\t" "[P_IOA_Data]=R1")

#define PA_IN_PORT()    asm("[P_IOA_Dir]=%0\n\t" "[P_IOA_Attrib]=%1\n\t" "[P_IOA_Data]=%2\n\t" :: "r"(0x00f2),"r"(0x00f3),"r"(0xffcf))
#define PA_OUT_PORT()   asm("[P_IOA_Dir]=%0\n\t" "[P_IOA_Attrib]=%1\n\t" "[P_IOA_Data]=%2\n\t" :: "r"(0xfff2),"r"(0xfff3),"r"(0xffcf))

#define D12RST_LOW()	 asm("R1=[P_IOB_Buffer]\n\t" "R1&=0xfbff\n\t" "[P_IOB_Buffer]=R1")
#define D12RST_HIGH()    asm("R1=[P_IOB_Buffer]\n\t" "R1|=0x0400\n\t" "[P_IOB_Buffer]=R1")

#define LCDRST_LOW()	 asm("R1=[P_IOB_Buffer]\n\t" "R1&=0xbfff\n\t" "[P_IOB_Buffer]=R1")
#define LCDRST_HIGH()    asm("R1=[P_IOB_Buffer]\n\t" "R1|=0x4000\n\t" "[P_IOB_Buffer]=R1")
	
void DelayMS(unsigned int msDelay);
void WriteData(unsigned int Data);
unsigned int ReadData(void);
#endif

⌨️ 快捷键说明

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