打印

IIC扩展EEP

[复制链接]
1566|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
517650971|  楼主 | 2011-6-3 13:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SCL=P2^0;
sbit SDA=P2^1;
void delay()
{;;}
void delay1(uchar x)
{

uchar a,b;

for(a=x;a>0;a--)

for(b=100;b>0;b--);
}
void start()//开始信号
{

SDA=1;

delay();

SCL=1;

delay();

SDA=0;

delay();
}
void stop()//终止信号
{

SDA=0;

delay();

SCL=1;

delay();

SDA=1;

delay();

}
void response()//应答信号
{

uchar i=0;

SCL=1;

delay();

while((SDA==1)&&(i<250)) //如果有应答跳出次循环,没应答等待i加到250时跳出此循环

i++;

SCL=0;

delay();
}
void writebyte(uchar date)//写一个字节
{

uchar i,temp;

temp=date;

for(i=0;i<8;i--)

{

temp=temp<<1;

SCL=0;

delay();

SDA=CY;

delay();

SCL=1;

delay();


}

SCL=0;

delay();

SDA=1;

delay();
}
uchar readbyte() //读一个字节
{

uchar i,k;

SCL=0;

delay();

SDA=1;

delay();

for(i=0;i<8;i++)

{

SCL=1;

delay();

k=(k<<1)|SDA;
//将k左移一位与SDA或运算

SCL=0;

delay();

}

delay();

return k;
}
void init()
{

SDA=1;
delay();

SCL=1;
delay();
}
void main()
{
//发送数据

init();
//初始化

start();
//开始信号

writebyte(0xa0);
//控制信号

response();
//应答

writebyte(3);
//从机内部存储器地址

response();
//应答

writebyte(0xAA);
//写入数据

response();
//应答

stop();
//终止信号

delay1(100);

//读数据

start();
//开始
    writebyte(0xa0);
//控制信号

response();

writebyte(3);
//地址

response();

start();
//开始信号
    writebyte(0xa1);
//控制信号

response();

P0=readbyte();
    //读取数据

stop();

while(1);
}

大家帮忙看看这个程序有什么问题呢 ?怎么就是不能成功的实现功能呢?

相关帖子

沙发
icecut| | 2011-6-3 13:30 | 只看该作者
自己看

使用特权

评论回复
板凳
yewuyi| | 2011-6-3 13:32 | 只看该作者
第一:不要乱创造名字,这个不是什么IIC扩展EEP,EEPROM就是EEPROM,不要乱喊什么EEP!!!
第二:扔下一把代码,这叫着代码男,类似标题党,都不会有人搭理。
第三:网络上有关IIC方式的EEPROM代码大把大把,自己去搜索看看即可。
第四:千万别让自己的IIC代码中到处飞的是delay

使用特权

评论回复
地板
517650971|  楼主 | 2011-6-3 13:57 | 只看该作者
第一:不要乱创造名字,这个不是什么IIC扩展EEP,EEPROM就是EEPROM,不要乱喊什么EEP!!!
第二:扔下一把代码,这叫着代码男,类似标题党,都不会有人搭理。
第三:网络上有关IIC方式的EEPROM代码大把大把,自己去 ...
yewuyi 发表于 2011-6-3 13:32

吸取教训=_=我这就去看别人的代码去...囧

使用特权

评论回复
5
老鱼探戈| | 2011-6-3 14:16 | 只看该作者
我就看看,不说话~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

40

帖子

1

粉丝