📄 eeporm.c
字号:
#include"include.h"
/**
********************************************************************************************************
** 名 称: void eepIAP_Disable(void)
** 功 能:
** 作 者: 李 伟
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
void EepIAP_Disable(void)
{
ISP_CONTR = 0x00;
ISP_CMD = 0x00;
ISP_TRIG = 0x00;
}
/**
********************************************************************************************************
** 名 称: uint8 EepReadByte(uint16 address)
** 功 能:
** 作 者: 李 伟
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
uint8 EepReadByte(uint16 address)
{
uint8 ISD,ADRH,ADRL;
ADRH=(uint8)(address>>8);
ADRL=(uint8)(address&0xff);
ISP_CONTR=0x83;
ISP_CMD =0x01;
ISP_ADDRH=ADRH; //
ISP_ADDRL=ADRL; //
EA = 0; //关中断
ISP_TRIG =0x46;
ISP_TRIG =0xB9;
_nop_();
ISD=ISP_DATA;
EA = 1; //开中断
EepIAP_Disable();
return(ISD);
}
/**
********************************************************************************************************
** 名 称: uint16 EepReadWord(uint16 address)
** 功 能:
** 作 者: 李 伟
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
uint16 EepReadWord(uint16 address)
{
uint16 word1,word2,word;
word1 = EepReadByte(address);
_nop_(); _nop_();
_nop_(); _nop_();
word2 = EepReadByte(address+1);
word1 = word1 << 8;
word = word1 | word2;
return(word);
}
/**
********************************************************************************************************
** 名 称: void EepWriteByte(uint8 dat,uint16 address)
** 功 能:
** 作 者: 李 伟
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
void EepWriteByte(uint8 dat,uint16 address)
{
uint8 ADRH,ADRL;
ADRH = (uint8)(address >> 8);
ADRL = (uint8)(address & 0xff);
ISP_CONTR = 0x83;
ISP_CMD = 0x02;
ISP_ADDRH = ADRH; //
ISP_ADDRL = ADRL; //
ISP_DATA = dat;
EA = 0;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
_nop_();
EA = 1;
EepIAP_Disable();
}
/**
********************************************************************************************************
** 名 称: void EepWriteWord(uint16 dat,uint16 address)
** 功 能:
** 作 者: 李 伟
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
void EepWriteWord(uint16 dat,uint16 address)
{
uint8 high_byte,low_byte;
high_byte = (uint8)(dat>>8);
EepWriteByte(high_byte,address);
_nop_(); _nop_();
_nop_(); _nop_();
low_byte = (uint8)(dat&0xff);
EepWriteByte(low_byte,(address+1));
}
/**
********************************************************************************************************
** 名 称: void EepSectotErase(uint16 address)
** 功 能:
** 作 者: 李 伟
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
void EepSectotErase(uint16 address)
{
uint8 ADRH,ADRL;
ADRH = (uint8)(address>>8);
ADRL = (uint8)(address&0xff);
ISP_CONTR = 0x83;
ISP_CMD = 0x03;
ISP_ADDRH = ADRH; //
ISP_ADDRL = ADRL; //
EA = 0;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
_nop_();
EA = 1;
EepIAP_Disable();
}
/********************************************************************************************************
End of file
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -