⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eeprom.c

📁 air-contronin controning air in or out,big or small check the temprature.
💻 C
字号:

#include "MATH.H"
#include "STC12.H"
#include "pin.h"
#include "function.h"
#include "evariable.h"

void EE_Write( unsigned int addr,unsigned char *da ,unsigned char len)
{
	unsigned char i;
	if((ISP_CONTR&0x10)!=0)
	{
		ISP_CONTR&=0xef;
	}
	for(i=0;i<len;i++)
	{
		 ISP_DATA=(*da++);
		 ISP_ADDRL=(unsigned char)addr;
		 ISP_ADDRH=(unsigned char)(addr>>8);
		 ISP_CMD=isp_write;
		 ISP_CONTR=0x8b;
		 ISP_TRIG=0x46;
		 ISP_TRIG=0xb9;
		 addr++;
		 if((ISP_CONTR&0x10)!=0)
		 {
			ISP_CONTR&=0xef;
			da--;
			addr--;
		 }
	}
		 ISP_DATA= 0;
		 ISP_ADDRL=0;
		 ISP_ADDRH=0;
		 ISP_CMD=  0;
		 ISP_CONTR=0x08;
		 ISP_TRIG= 0;
		 ISP_TRIG= 0;	
}

void  EE_Read( unsigned int addr,unsigned char *da ,unsigned char len)
{
	unsigned char i;
	for(i=0;i<len;i++)
	{
		 ISP_ADDRL=(unsigned char)addr;
		 ISP_ADDRH=(unsigned char)(addr>>8);
		 ISP_CMD=isp_read;
		 ISP_CONTR=0x8b;
		 ISP_TRIG=0x46;
		 ISP_TRIG=0xb9;
		 addr++;
		 (*da++)= ISP_DATA;
	}
		 ISP_DATA= 0;
		 ISP_ADDRL=0;
		 ISP_ADDRH=0;
		 ISP_CMD=  0;
		 ISP_CONTR=0x08;
		 ISP_TRIG= 0;
		 ISP_TRIG= 0;	
}

void  EE_Erase( unsigned int addr)
{
	ISP_ADDRL=(unsigned char)addr;
	ISP_ADDRH=(unsigned char)(addr>>8);
	ISP_CMD=isp_eraser;
	ISP_CONTR=0x83;//cpu below 8MHz
	ISP_TRIG=0x46;
	ISP_TRIG=0xb9;
	ISP_DATA= 0;
	ISP_ADDRL=0;
	ISP_ADDRH=0;
	ISP_CMD=  0;
	ISP_CONTR=0x08;
	ISP_TRIG= 0;	
}

⌨️ 快捷键说明

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