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

📄 24c02.h

📁 24C512的驱动程序
💻 H
字号:
//****************************************24c512************************************************
															//写保护引脚
#define		WriteAble(OBit)			((OBit==1)?(rPDATD&=~(0x01<<1)):(rPDATC&=~(0x01<<11)))										
#define		WriteDisable(OBit)		((OBit==1)?(rPDATD|=(0x01<<1)):(rPDATC|=(0x01<<11)))
															//数据线置1/0
#define		SetSDAIN(OBit)			((OBit==1)?(rPDATC|=(0x01<<15)):(rPDATE|=(0x01<<7)))	
#define		ClrSDAIN(OBit)			((OBit==1)?(rPDATC&=~(0x01<<15)):(rPDATE&=~(0x01<<7)))	
															//时钟线置1/0	
#define		SetSCL(OBit)			((OBit==1)?(rPDATD|=0x01):(rPDATE|=(0x01<<6)))		
#define		ClrSCL(OBit)			((OBit==1)?(rPDATD&=~0x01):(rPDATE&=~(0x01<<6)))				
															//定义IIC的数据输出
#define		SDAOut(OBit)			((OBit==1)?((rPDATC&(0x01<<15))>>15):((rPDATE&(0x01<<7))>>7))		

//定义512和CF卡的管脚切换
#define		EERPOM_512_Output()		(OutputPC(15))		
#define		EERPOM_512_Input()		(InputPC(15))
#define		EERPOM_CF_Output()		(OutputPE(7))
#define		EERPOM_CF_Input()		(InputPE(7))	


#define		CF_CARD_1				(0)						//选择CF_1		
#define		CF_CARD_2				(1)						//选择CF_2				
#define		FLASH512_1				(2)						//选择板上的512_1
#define		FLASH512_2				(3)						//选择板上的512_2	

#define		START_ADDR_512_1		(0)
#define		END_ADDR_512_1			(0xFFFF)				//512_1的地址范围
#define		START_ADDR_512_2		(0x10000)
#define		END_ADDR_512_2			(0x1FFFF)				//512_2的地址范围
#define		START_ADDR_CF_1			(0x20000)
#define		END_ADDR_CF_1			(0x2FFFF)				//CF_1的地址范围		
#define		START_ADDR_CF_2			(0x30000)
#define		END_ADDR_CF_2			(0x3FFFF)				//CF_2的地址范围


#define		BYTE512					(128)					//512中一页的字节数
#define		PAGE512					(512)					//一个512的页操作数
#define		IIC_DELAY				(250)					//定义IIC的延时

#define 	CMD_READ				(0)						//512读操作
#define 	CMD_WRITE				(1)						//512写操作


void Delayms(int tt);
void WriteEnable(void);										//把SDA线设置为输出
void ReadEnable(void);										//把SDA线设置为输入
void IicStart(void);
void IicStop(void);
BYTE ReadByteFromIic(void);
BYTE WriteByteToIic(BYTE WriteData)	;
BYTE Write24C512(BYTE IC_Select,WORD WriteAddr,BYTE WriteNo,BYTE *buf);
BYTE Read24C512(BYTE IC_Select,WORD ReadAddr,BYTE ReadNo,BYTE *buf);
BYTE RWMultiEEPROMData(BYTE r_w,DWORD WriteAddr,DWORD WriteNo,BYTE *temp);
//****************************************24c512************************************************

⌨️ 快捷键说明

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