• 大小: 5KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: 24C02  

资源简介

24C02掉电存储 AT89C51程序

资源截图

代码片段和文件信息

//===============================================================
//               串行EEPROM——AT24C02掉电数据存储实验
//文件描述:对EEPROM AT24C02进行驱动
//文件名:  AT24C02.c
//硬件连接:SDA   --  P2^6;   
//          SCL   --  P2^7;      
//作者:     谷雨电子 
//时间:    2009.04.28
//说明:    对AT24C02进行操作,通过P0口外接的LED观察数据
//备注:    无
//===============================================================

#include
#include 

#define uchar unsigned char 
#define uint unsigned int 

#define OP_WRITE 0xa0          // 器件地址以及写入操作 
#define OP_READ  0xa1          // 器件地址以及读取操作 

#define delayNOP()  {_nop_();_nop_();_nop_();_nop_();} 

//*******************修改硬件时要修改的部分*****************

sbit SDA  = P2^6;   //24C02串行数据、地址
sbit SCL  = P2^7;     //24C02串口时钟

//***********************以下为函数声明部分*****************
void delay(uint us);
void I2C_Start(void);
void I2C_Stop(void);
bit send_char(unsigned dat);
uchar receive_char(void);
void write_byte(uchar addr uchar dat);
uchar read_byte(uchar addr);

//===============================================================
//函数名称:void delay(uint us)
//函数功能:延时程序
//入口参数:us 延时时间的长短
//出口参数:无
//===============================================================
void delay(uint us)
{
while(us--);
}

//===============================================================
//函数名称:void I2C_Start(void)
//函数功能:启动I2C总线
//入口参数:无
//出口参数:无
//===============================================================
void I2C_Start(void)
{
    SDA = 1;       
    SCL = 1; 
    delayNOP(); 
    SDA = 0; 
    delayNOP(); 
    SCL = 0; 


//===============================================================
//函数名称:void I2C_Stop(void) 
//函数功能:停止I2C总线
//入口参数:无
//出口参数:无
//===============================================================
void I2C_Stop(void) 

   SDA = 0; 
   delayNOP(); 
   SCL = 1; 
   delayNOP(); 
   SDA = 1; 


//===============================================================
//函数名称:bit send_char(unsigned dat) 
//函数功能:向AT24c02发送数据
//入口参数:dat 要发送的数据
//出口参数:应答位 0 发送失败  1 发送成功
//=========================================================

评论

共有 条评论