24xx512.h

来自「P98v51RD2 source codes for all the perip」· C头文件 代码 · 共 51 行

H
51
字号
/*
 * Filename : 24xx512.h
 * Hardware : Controller  -> P89V51RD2
 *            XTAL        -> 18.432 MHz
 *            Mode        -> 6 Clock/MC
 * I/O      : SDA         -> P2.7
 *            SCL         -> P2.6
 * Compiler : SDCC            
 * Author   : sci-3d@hotmail.com
 * Date		: 23/08/06
 */

#include "i2c.h" /* Need i2c bus */

#define EEPROMS_ID 0xA0	/* Microchip 24xx512 */

unsigned char EEPROM_get(unsigned int addr)
{
	unsigned char dat;	

	I2C_start();            /* Start i2c bus */

	I2C_write(EEPROMS_ID);   /* Connect to EEPROM */
	I2C_write(addr&0xF0);	 /* Request RAM address (Hight byte) */
	I2C_write(addr&0x0F);	 /* Request RAM address (Low byte) */
	
	I2C_start();			/* Start i2c bus */

	I2C_write(EEPROMS_ID+1);/* Connect to EEPROM for Read */
	dat = I2C_read();		/* Receive data */

	I2C_noack();
	
	I2C_stop();				/* Stop i2c bus */

   return dat;			
}

void EEPROM_set(unsigned int addr, unsigned char val)
{
	I2C_start(); 

	I2C_write(EEPROMS_ID);   /* Connect to EEPROM */
	I2C_write(addr&0xF0);	 /* Request RAM address (Hight byte) */
	I2C_write(addr&0x0F);	 /* Request RAM address (Low byte) */

	I2C_write(val);			/* Write sec on RAM specified address */

	I2C_stop();           	/* Stop i2c bus */
}

⌨️ 快捷键说明

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