- <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 的操作解析
最新推荐文章于 2021-02-07 09:07:13 发布