码迷,mamicode.com
首页 > 其他好文 > 详细

中颖EEPROM 操作

时间:2014-06-10 17:33:01      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:中颖eeprom   操作   

<pre name="code" class="cpp">/*
	中颖EEPROM,使用比较方便,但有个注意点,就是每次无论你写入
	什么数据或者在哪个地址写数据,都需要将对 对应的块擦除,擦
	除后才能写入成功。
*/
#define	 SSPWriteFlag	  0x5A
#define	 SSPEraseFlag	  0xA5	

//数据区 扇形区1
#define		ADDR_START1				(uint16)0x100 //数据存储区起始地址

#define		ADDR_START2				(uint16)0x200 //数据存储区起始地址
//数据区 扇形区2
#define		Addr1UserHave			(uint16)0x101 //用户地址1
#define		Addr2UserHave			(uint16)0x102 //用户地址2

uint8 Ssp_Flag = 0 ;

//*************************************
// 函数名称:Ssp_Write
// 函数功能:SSP擦除某块的地址
// 入口参数:被写数据的地址 数据
// 出口参数:无
//***************************************
void Ssp_EraseBlock(uint16 addr)
{
	CY=EA;
	EA=0;
	IB_CON1 = 0xE6;
	IB_CON2 = 0x05;
	IB_CON3 = 0x0A;
	IB_CON4 = 0x09;
	if(Ssp_Flag != SSPEraseFlag)
		{
			IB_CON2=0;
			goto Erase_Err;
		}
	XPAGE = (addr>>8) & 0x07;	   
	FLASHCON=1;
	IB_CON5 = 0x06;
	_nop_();
	_nop_();
	_nop_();
Erase_Err:
	Ssp_Flag=0;	
	FLASHCON=0;
	XPAGE=0;
	EA = CY;
}

//**************************************
// 函数名称:Ssp_Write
// 函数功能:SSP向某地址写一字节数据
// 入口参数:被写数据的地址 数据
// 出口参数:无
//***************************************
void Ssp_WriteByte(uint16 addr,uint8 dat)
{
	CY=EA;
	EA=0;
	IB_DATA = dat;
	IB_OFFSET = addr&0xff; //取被编程的低8位地址
	IB_CON1 = 0x6E;
	IB_CON2 = 0x05;
	IB_CON3 = 0x0A;
	IB_CON4 = 0x09;
	if(Ssp_Flag != SSPWriteFlag)
	{
		IB_CON2=0;
		goto Write_Err;
	}
	XPAGE = ((addr>>8) & 7); //被编程的扇形区0-3	   
	FLASHCON=1;	//对类EPROM编程开始
	IB_CON5 = 0x06;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
Write_Err:
	Ssp_Flag=0;
	FLASHCON=0;
	XPAGE=0;
	EA = CY;
}
//*************************************
// 函数名称:Read_Flash
// 函数功能:读数据 向FLASH
// 入口参数:读数据的地址
// 出口参数:无
//***************************************
uint8 Read_FlashByte(uint16 addr)
{
	uint8 temp;
	FLASHCON=1;
	temp=*(uint8 code *)(addr);
   	FLASHCON=0;
	return(temp);
}


//应用实例:
 Ssp_EraseBlock(ADDR_START1);//擦除块1
 Ssp_WriteByte(Addr1UserHave,0x88);//在地址Addr1UserHave中写入0x88
 R_Data = Read_FlashByte(Addr1UserHave);//读地址Addr1UserHave的值


中颖EEPROM 操作,布布扣,bubuko.com

中颖EEPROM 操作

标签:中颖eeprom   操作   

原文地址:http://blog.csdn.net/chuangwu2009/article/details/29816109

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!