原创 C51 STCMCU EEPROM操作头文件

2008-12-13 21:37 3828 4 4 分类: MCU/ 嵌入式

/************************************************************/ 
/*                STCMCU EEPROM操作函数库                   */
/*   File Name:       stceeprom.C                           */
/*   Author:          JAY.J                                 */
/*   Created:         2007/8/3                              */
/*   Modified:    NO                                    */
/*   Revision:     1.0                                   */
/************************************************************/
#ifndef STCEEPROM
#include <reg52.h>


#define uchar unsigned char
#define uint  unsigned int



#define isp_read         1
#define isp_program      2
#define isp_erase        3
#define isp_con          0x81


sfr ISP_DATA  = 0xe2;
sfr ISP_ADDRH = 0xe3;
sfr ISP_ADDRL = 0xe4;
sfr ISP_CMD   = 0xe5;
sfr ISP_TRIG  = 0xe6;
sfr ISP_CONTR = 0xe7;


 


//*********************读EEPROM一字节************************/
uchar read_byte_eeprom(uchar addth,addtl)
{
 uchar temp_data;
 ISP_ADDRH=addth;
 ISP_ADDRL=addtl;
 EA=0;
 ISP_CONTR=isp_con;
 ISP_CMD=isp_read;
 ISP_TRIG=0x46;
 ISP_TRIG=0xB9;
 temp_data=ISP_DATA;
 EA=1;
 return temp_data;
}
//*********************写EEPROM一字节***********************/
void program_byte_eeprom(uchar temp_data, addth,addtl)
{
 ISP_DATA=temp_data;
 ISP_ADDRH=addth;
 ISP_ADDRL=addtl;
 EA=0;
 ISP_CONTR=isp_con;
 ISP_CMD=isp_program;
 ISP_TRIG=0x46;
 ISP_TRIG=0xB9;
 EA=1;
}
//********************擦除EEPROM一扇区子函数*****************/
void erase_sector_eeprom(uchar addth,addtl)
{
 ISP_ADDRH=addth;
 ISP_ADDRL=addtl;
 EA=0;
 ISP_CONTR=isp_con;
 ISP_CMD=isp_erase;
 ISP_TRIG=0x46;
 ISP_TRIG=0xB9;
 EA=1;
}


#endif

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条