[51单片机] 关于一个AT24C08 的读写问题

[复制链接]
1774|4
 楼主| a1129584094 发表于 2013-11-20 19:08 | 显示全部楼层 |阅读模式
sbit A2 =P2^0;                          //ADDRESS INPUT
sbit SCL=P2^1;                          //SEAIAL CLOCK INPUT
sbit SDA=P2^2;                          //SERIAL DATA
sbit led2=P3^1;


//SCL=1时SDA下降沿表示开始
void eeprom_start(void)
{
        SCL=1;
        ;;
        SDA=0;
        ;;
        SCL=0;
}

//SCL=1时SDA出现上升沿表示停止
void eeprom_stop(void)
{
        SCL=1;
        ;;
        SDA=1;
        ;;
        SCL=0;
}

//AT24C02写一个字节
void eeprom_write(uint8 x)
{
        uint8 a;
        for(a=0;a<8;a++)
        {
                SDA=(bit)(x&0x80);
                SCL=1;
                ;;
                SCL=0;
                ;;
                x<<=1;
        }
}

void respons(void)
{
        SDA=1;
        SCL=1;
        ;;
        while(SDA==1);
        buzzer=~buzzer;
        SCL=0;
        ;;
}

//AT24C08读操作
uint8 eeprom_read()
{
        uint8 a,b;
        SCL=1;
        for(a=0;a<8;a++)
        {
                b<<=1;
                SCL=0;
                ;;
                SCL=1;
                ;;
                b=b|SDA;               
        }
        return b;
}
craaazyfor 发表于 2013-11-21 17:09 | 显示全部楼层
呵呵,啥问题?
JasonWangSE 发表于 2013-11-21 18:01 | 显示全部楼层
单片机频率是多少的?貌似延时不够
 楼主| a1129584094 发表于 2013-11-27 19:49 | 显示全部楼层
craaazyfor 发表于 2013-11-21 17:09
呵呵,啥问题?

感谢  我自己已经解决了
 楼主| a1129584094 发表于 2013-11-27 19:51 | 显示全部楼层
JasonWangSE 发表于 2013-11-21 18:01
单片机频率是多少的?貌似延时不够

11.0592MHZ    按理说应该够了    单片机执行一个操作都需要几微妙  我想这里应该够了    谢谢你   不是这个问题  我自己搞定了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部