include
//**************************************************
/********* at24c256的测试程序
ah="0";al=0x01;i=0x01;
j="0x01";
do
{ Write_Byte(ah,al,i);
al++;
i++;
j--;
}while(j!=0);
// 写入eeprom后需要一定的延时。
ah="0";al=0x01;
j="0x01";
do
{i=Read_Byte(ah,al);
j--;
}while(j!=0);
//********************************************************/
/*****************************************
** 函数名: Write a byte
** 输 入: eep_adh,eep_adl,eep_data
** eep_data 要写入的字节
** eep_adh 要写入24c256的高8位地址
** eep_adl 要写入24c256的低8位地址
** 输 出: no
** 功能描述:a byte 写入24c256
** 全局变量:
** 调用模块:模拟I2C BUS SUB
** 作 者:lijun leejun@qingdaonews.com
** 日 期:2002/6/3
//*********************************写一字节***/
void Write_Byte(unsigned int addr,unsigned char eep_data)
{unsigned char i,eep_al,eep_ah;
WP="0";
eep_al = addr &0x00ff;
eep_ah = (addr>>8)& 0x00ff;
sta();
i="0xa0";
wrbyt(i);
cack();
wrbyt(eep_ah);
cack();
wrbyt(eep_al);
cack();
wrbyt(eep_data);
cack();
stop();
WP="1";
}
/*******************************************/
/*****************************************
** 函数名:ReadAt24c256
** 输 入: eep_adh,eep_adl
** eep_adh 要写入24c256的高8位地址
** eep_adl 要写入24c256的低8位地址
** 输 出: eep_data 要读出的字节。
** 功能描述:a byte 读出24c256
** 全局变量:
** 调用模块:模拟I2C BUS SUB
** 作 者:lijun leejun@qingdaonews.com
** 日 期:2002/08/26
** 版本 1.0
******************************************/
unsigned char ReadAt24c256(unsigned int addr) // eep_adh,unsigned char eep_adl)
{unsigned char temp,eep_adh,eep_adl;
eep_adh = (addr >>8)& 0x00ff;
eep_adl = addr & 0x00ff;
sta();
temp="0xa0";
// _nop_();
wrbyt(temp);
cack();
wrbyt(eep_adh);
cack();
wrbyt(eep_adl);
cack();
sta();
temp =0xa1;
wrbyt( temp );
cack();
temp="rdbyt"();
mnack();
stop();
return(temp);
}
//***************************************************
文章评论(0条评论)
登录后参与讨论