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

📄 24xx512.h

📁 P98v51RD2 source codes for all the peripherals
💻 H
字号:
/*
 * 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -