eeprom_zzz.h

来自「实现stc单片机的eeprom的读、写、擦除功能。」· C头文件 代码 · 共 59 行

H
59
字号
void stop_EEPORM()
{
	ISP_ADDRH=0;
	ISP_ADDRL=0;
	ISP_CONTR=0;
	ISP_CMD=0;
	ISP_TRIG=0;
}

void delay3(unsigned int times)
{
	unsigned int i=100;
	for(times;times>0;times--){
		for(i;i>0;i--);
	}
}

unsigned char  byteread(unsigned char addh,unsigned char addl)   //扇区的地址STC58RD+从8000H到F3FFH,每个扇区1FFh    
{   
	ISP_ADDRH  =  addh;   
	ISP_ADDRL  =  addl;   
	ISP_CONTR  =  ISP_ENABLE;    //设置等待时间,并允许ISP操作    
	ISP_CMD    =  ISP_BYTE_READ; //选择字节读读操作    
	ISP_TRIG   =  0X46;   
	_nop_();   
	_nop_();   
	ISP_TRIG   =  0XB9;   
	delay3(1);
	return    ISP_DATA;   
}   
  
void bytewrite(unsigned char addh,unsigned char addl,unsigned char dat)   
{   
	ISP_DATA   =  dat;   
	ISP_ADDRH  =  addh;   
	ISP_ADDRL  =  addl;   
	ISP_CONTR  =  ISP_ENABLE;    //设置等待时间,并允许ISP操作    
	ISP_CMD    =  ISP_BYTE_PROGRAM; //选择字节写操作    
	ISP_TRIG   =  0X46;   
	_nop_();   
	_nop_();   
	ISP_TRIG   =  0XB9;   
	delay3(1);
	stop_EEPORM();   
}   
  
void sectorerase(unsigned char addh,unsigned char addl )   
{   
	ISP_ADDRH  =  addh;   
	ISP_ADDRL  =  addl;   
	ISP_CONTR  =  ISP_ENABLE;    //设置等待时间,并允许ISP操作    
	ISP_CMD    =  ISP_SECTOR_ERASE; //选择扇区擦除操作    
	ISP_TRIG   =  0X46;   
	_nop_();   
	_nop_();   
	ISP_TRIG   =  0XB9;   
	delay3(1);
	stop_EEPORM();   
}

⌨️ 快捷键说明

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