已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//
//###############AT24C02读写模块###################//
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//
/*********************************数据定义**********************************/
#define    OP_READ    0xa1        // 器件地址以及读取操作
#define    OP_WRITE 0xa0        // 器件地址以及写入操作

/*******************************共阳LED段码表*******************************/
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

/********************************定义全局变量*******************************/
int eepromdata;                //从EEPROM里读出来的数据

/*********************************端口定义**********************************/
sbit SDA = P3^4;
sbit SCL = P3^3;

/****************************************************************************/
void delayms(unsigned char ms)    
{
    unsigned char i;
    while(ms--)
    {
        for(i = 0; i < 120; i++);
    }
}

/****************************************************************************/
void start()
{
    SDA = 1;
    SCL = 1;
    _nop_();
    _nop_();
    SDA = 0;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    SCL = 0;
}


/****************************************************************************/
void stop()
{
    SDA = 0;
    _nop_();
    _nop_();
    SCL = 1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    SDA = 1;
}


/****************************************************************************/
unsigned char shin()

{
    unsigned char i,read_data;
    for(i = 0; i < 8; i++)
    {
        SCL = 1;
        read_data <<= 1;
        read_data |= (unsigned char)SDA;
        SCL = 0;
    }
    return(read_data);
}


/****************************************************************************/
bit shout(unsigned char write_data)
{
    unsigned char i;
    bit ack_bit;
    for(i = 0; i < 8; i++)        
    {
        SDA = (bit)(write_data & 0x80);
        _nop_();
        SCL = 1;
        _nop_();
        _nop_();
        SCL = 0;
        write_data <<= 1;
    }
    SDA = 1;            
    _nop_();
    _nop_();
    SCL = 1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    ack_bit = SDA;            // 读取应答
    SCL = 0;
    return ack_bit;            // 返回AT24Cxx应答位
}

/****************************************************************************/
void write_byte(unsigned char addr, unsigned char write_data)
{
    start();
    shout(OP_WRITE);
    shout(addr);
    shout(write_data);
    stop();
    delayms(10);        
}
/****************************************************************************/
unsigned char read_current()
{
    unsigned char read_data;
    start();
    shout(OP_READ);
    read_data = shin();
    stop();
    return read_data;
}

/****************************************************************************/
unsigned char read_random(unsigned char random_addr)
{
    start();
    shout(OP_WRITE);
    shout(random_addr);
    return(read_current());
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//
//###############AT24C02读写模块###################//
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//
引用时先拉高
    SDA = 1;
    SCL = 1;

如想向AT24C02第一位写入2
                         write_byte(1, 2);    //    write_byte(地址, 数据);    一次写一字节,注意不要超值
同理向AT24C02第二位写入温度值的十位
              write_byte(2, shi);    
    
如果想读出AT24C02第一位数据,可以将事先定义的变量eepromdata赋值为独处的数据
    eepromdata= read_random(1);
+700  科创币    warmonkey   2010-08-16   
文号 / 249283

千古风流
名片发私信
学术分 3
总主题 42 帖总回复 759 楼拥有证书:学者 笔友
注册于 2009-07-25 13:54最后登录 2023-11-27 07:24
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步

个人简介

暂未填写
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
等待中...
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
处理中..
处理失败
插入表情
我的表情
共享表情
Emoji
上传
注意事项
最大尺寸100px,超过会被压缩。为保证效果,建议上传前自行处理。
建议上传自己DIY的表情,严禁上传侵权内容。
点击重试等待上传{{s.progress}}%处理中...已上传,正在处理中
空空如也~
处理中...
处理失败
加载中...
草稿箱
加载中...
此处只插入正文,如果要使用草稿中的其余内容,请点击继续创作。
{{fromNow(d.toc)}}
{{getDraftInfo(d)}}
标题:{{d.t}}
内容:{{d.c}}
继续创作
删除插入插入
插入公式
评论控制
加载中...
文号:{{pid}}
加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
ID: {{user.uid}}