eeprom.h

来自「用于控制LED广告灯箱的源代码」· C头文件 代码 · 共 84 行

H
84
字号

sfr Data = 0xe2;
sfr AddressHigh = 0xe3;
sfr AddressLow = 0xe4;
sfr Command = 0xe5;
sfr Trigger = 0xe6;
sfr Control = 0xe7;

#define READ 0x01
#define WRITE 0x02
#define DELETE 0x03

void DisableRegister(void)
{
	Control = Control & 0x7f;
	Trigger = 0x00;
	EA = 1;
}

void EnableRegister(void)
{
	EA = 0;
	Control = Control & 0x18;  //0001,1000
	Control = Control | 0x00;
	Control = Control | 0x80;
}

unsigned char ReadByte(unsigned int address)
{
	AddressHigh = (unsigned char)(address >> 8);
	AddressLow = (unsigned char)(address & 0x00ff);
	
	Command = Command & 0xf8;  //1111,1000
	Command = Command | READ;

	EnableRegister();

	Trigger = 0x46;
	Trigger = 0xb9;
	_nop_();

	DisableRegister();
	return (Data);
}

void WriteByte(unsigned int address, unsigned char dat)
{
	AddressHigh = (unsigned char)(address >> 8);
	AddressLow = (unsigned char)address;
	
	Command = Command & 0xf8;  //1111,1000
	Command = Command | WRITE;
	
	Data = dat;

	EnableRegister();

	Trigger = 0x46;
	Trigger = 0xb9;
	_nop_();
	

	DisableRegister();	
}

void DeleteSector(unsigned int FirstAddress)
{
	AddressHigh = (unsigned char)(FirstAddress >> 8);
	AddressLow = (unsigned char)FirstAddress & 0;
	
	Command = Command & 0xf8;  //1111,1000
	Command = Command | DELETE;

	EnableRegister();

	Trigger = 0x46;
	Trigger = 0xb9;
	_nop_();

	DisableRegister();
}


⌨️ 快捷键说明

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