#include <reg52.h>
#include <intrins.h>
sbit lcdrs=P2^0;
sbit lcden=P2^1;
sbit scl=P1^6;
sbit sda=P1^7;
sbit led=P1^0;
unsigned char aa=0;
void init();
void wdat(unsigned char);
void wcmd(unsigned char);
void delay5us();
void start();
void stop();
void unanswer();
void wbyte(unsigned char);
unsigned char rbyte();
void ack();
unsigned char i='0';
void main()
{
init();
start();// 写 起始信号
wbyte(0xa0); //对器件寻址 并发送写信号
ack(); //等待回应
wbyte(0); // 写 字节地址
ack(); //等待回应
wbyte('a'); //写数据‘a’
ack();
stop(); //写字节结束
aa=0; while(aa<2); //等待2ms
start(); //读 起始信号
wbyte(0xa0); //器件寻址
ack();
wbyte(0); //读 字节地址
ack();
start();
wbyte(0xa1); //器件寻址 并发送读信号
ack();
i=rbyte();
unanswer(); //非应答
stop();
wdat(i);
while(1);
}
void init()
{ TMOD=0x01;
TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
EA=1; ET0=1; TR0=1;
wcmd(0x38);
wcmd(0x06);
wcmd(0x0c);
wcmd(0x80);
}
void wdat(unsigned char dat)
{ lcdrs=1;
P0=dat;
lcden=0; lcden=1; lcden=0;
aa=0; while(aa<1);
}
void wcmd(unsigned char dat)
{ lcdrs=0;
P0=dat;
lcden=0; lcden=1; lcden=0;
aa=0; while(aa<1);
}
void start()
{ sda=1; scl=1;
delay5us();
sda=0;
delay5us();
scl=0;
}
void stop()
{ sda=0; scl=1;
delay5us();
sda=1;
delay5us();
scl=0;
}
void wbyte(unsigned char dat)
{ unsigned char i=0;
for(i=0;i<8;i++)
{ dat=dat<<1;
sda=CY; scl=1;
delay5us();
scl=0;
}
}
unsigned char rbyte()
{ unsigned char i,k=0;
bit j;
sda=1;
for(i=0;i<8;i++)
{
scl=1; delay5us();
j=sda;
k=(k<<1)|(unsigned char)j;
scl=0;
}
return k;
}
void delay5us()
{
_nop_();_nop_();_nop_();_nop_();_nop_();
}
void ack() //等待回应,若无回应则点亮led
{
sda=1; led=0;
scl=1;
while(sda==1) {led=0; while(1);}
scl=0;
}
void unanswer()
{ sda=1; scl=1;
delay5us();
scl=0;
}
void timer0() interrupt 1
{ TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
aa++;
}
通过IIC协议读写EEPROM及仿真
5星 · 超过95%的资源 需积分: 50 200 浏览量
2010-11-24
21:38:10
上传
评论 1
收藏 16KB ZIP 举报
sbily1988
- 粉丝: 0
- 资源: 5
最新资源
- 这是一个保存Springboot+MyBaits项目的仓库.zip
- tensorflow-gpu-2.7.2-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.7.4-cp38-cp38-manylinux2010-x86-64.whl
- tensorflow-gpu-2.7.4-cp38-cp38-manylinux2010-x86-64.whl
- 詹佳 陈敏 口语2.mp3
- 图书管理系统毕业设计Java语言实现
- turtle-0.0.2.zip
- 机器学习(股票),基于机器学习算法支持向量机SVM的交易策略
- 1713969763417.png
- 国家药品编码本位码,国家药品编码本位码,国家药品编码本位码,国家药品编码本位码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈