51 向24C02读写数据错误
答案:2 悬赏:0 手机版
解决时间 2021-04-13 01:20
- 提问者网友:感性作祟
- 2021-04-12 20:35
write_byte(0xaf);
}
// P2=0xfe;
scl=0;
}
if(dat&0x80)
sda=1;
else
sda=0;
sbit wp =P1^2;x--)
for(y=110;y>0;
}
_nop_();
sda=1;
dat=read_byte();
stop();
return dat;
}
}
/
write_byte(dat);
stop();
}
*********************************
写单字节
*********************************/
void write_byte(uchar dat)
{
uchar i;
for(i=0;/ while(sda);
/i<8;i++)
{
_nop_();
sda=1;
delay_us();*********************************
stop信号
*********************************/
void stop(void)
{
delay_us();
sda=0;
}
void delay(uint z)
{
uint x;
dat<<=1,temp)#include
scl=1;
void delay_us(void)
{
_nop_();
}
return dat;
delay_us();
scl=1;
delay_us();
scl=1;
delay_us();0;
#include<
sbit sda=P1^0;
void main(void)
{
uchar temp=0x05,num;
while(1)
{
write_IIC(5;
scl=0;intrins;
uchar read_byte(void)
{
uchar i,dat;
for(i=0;
write_byte(0xae);
scl=0;
sda=0;
delay_us();
scl=0;
scl=1;
/_nop_();
dat<<=1;i<8;i++)
{
delay_us();
}
delay_us();
uchar read_IIC(uchar add)
{
uchar dat;
start(),y;
delay(50);
num=read_IIC(5);y--);
}
void start(void)
{
delay_us();
sbit scl=P1^1;
for(x=z;x>
delay_us();
scl=1;
delay_us();
sda=1;
delay_us();
void write_IIC(uchar add,uchar dat)
{
start();
write_byte(0xae);
write_byte(add);
delay_us();
scl=1;
delay_us();
sda=1;
write_byte(add);
start();
delay_us();
if(sda)
dat|=0x01.h>
#define uchar unsigned char
#define uint unsigned int
_nop_();_nop_();
_nop_()
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-04-12 22:02
if(cack()==1)
{
iic_write(addr);iic_write(dat);
for(i=0;i
SCL=0;NOP();
}
UCHAR cack(void)
{
UINT ACK我给个程序给你 这只是写一字节
#include {
if((dat&0x80)==0x80)
{
SDA=1;
SDA=1;=1;
NOP();
}
SDA=1;
}
return dat;
}
SDA=0;NOP();
}
UCHAR iic_read(void)
{
UCHAR i;
SCL=1;delay5ms();
SCL=1;NOP();
for(i=0;
SCL=0;NOP();
}
*/b>0;b--)
for(a=152;a>
start();iic_write(0xa0);
if(cack()==1)
{
iic_write(addr);8;
}
else
{
ACK=1;
SDA=1;delay5ms();
SCL=0;reg52;stop();
dat=iic_read();NOP();nack();
}
else
{
stop();
TI=0;
}
SCL=1;
dat<,dat;
delay5ms();
if(SDA==1)
{
dat++;NOP();
SCL=1;delay5ms();iic_write(0xa0);
}
/
}
else
{
stop();
}
delay5ms();
}
UCHAR read_24c02(UCHAR addr)
{
UCHAR dat;
sbit SCL=P3^4;*-----------串口调试--------------*/
return dat;
}
NOP();
SCL=1;delay5ms();SCL=0;
SCL=0;NOP();
}
*------向24C02写一字节数据-----*/
#define UCHAR unsigned char
#define UINT unsigned int
#define NOP() {_nop_();_nop_();_nop_();_nop_();}
UCHAR A;*-------AT24C02数据写入----------*/
void write_24c02(UCHAR addr,UCHAR dat)
{
start();i<8;i++)
{
SCL=0;
}
/<
}
else
{
SDA=0;NOP();
TL1=TH1=0xfd;
SDA=0;delay5ms();
TR1=1;
}
SDA=1;NOP();
SCL=1;ACK=0;NOP();
if(SDA==1)
{
NOP();
void iic_write(UCHAR dat)
{
UCHAR i;NOP();a--);
}
void start(void)
{
SDA=1;NOP();
sbit SDA=P3^5;
}
void IO_INT(void)
{
SCON=0x40;
TMOD=0x20;
PCON=0x00;
SCL=1;delay5ms();
}
/.h>
#include
{
iic_write(addr);iic_write(dat);
for(i=0;i
}
UCHAR cack(void)
{
UINT ACK我给个程序给你 这只是写一字节
#include {
if((dat&0x80)==0x80)
{
SDA=1;
SDA=1;=1;
NOP();
}
SDA=1;
}
return dat;
}
SDA=0;NOP();
}
UCHAR iic_read(void)
{
UCHAR i;
SCL=1;delay5ms();
SCL=1;NOP();
for(i=0;
SCL=0;NOP();
}
*/b>0;b--)
for(a=152;a>
start();iic_write(0xa0);
if(cack()==1)
{
iic_write(addr);8;
}
else
{
ACK=1;
SDA=1;delay5ms();
SCL=0;reg52;stop();
dat=iic_read();NOP();nack();
}
else
{
stop();
TI=0;
}
SCL=1;
dat<,dat;
delay5ms();
if(SDA==1)
{
dat++;NOP();
SCL=1;delay5ms();iic_write(0xa0);
}
/
}
else
{
stop();
}
delay5ms();
}
UCHAR read_24c02(UCHAR addr)
{
UCHAR dat;
sbit SCL=P3^4;*-----------串口调试--------------*/
return dat;
}
NOP();
SCL=1;delay5ms();SCL=0;
SCL=0;NOP();
}
*------向24C02写一字节数据-----*/
#define UCHAR unsigned char
#define UINT unsigned int
#define NOP() {_nop_();_nop_();_nop_();_nop_();}
UCHAR A;*-------AT24C02数据写入----------*/
void write_24c02(UCHAR addr,UCHAR dat)
{
start();i<8;i++)
{
SCL=0;
}
/<
}
else
{
SDA=0;NOP();
TL1=TH1=0xfd;
SDA=0;delay5ms();
TR1=1;
}
SDA=1;NOP();
SCL=1;ACK=0;NOP();
if(SDA==1)
{
NOP();
void iic_write(UCHAR dat)
{
UCHAR i;NOP();a--);
}
void start(void)
{
SDA=1;NOP();
sbit SDA=P3^5;
}
void IO_INT(void)
{
SCON=0x40;
TMOD=0x20;
PCON=0x00;
SCL=1;delay5ms();
}
/.h>
#include
全部回答
- 1楼网友:北方的南先生
- 2021-04-12 23:29
我给个程序给你 这只是写一字节
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define nop() {_nop_();_nop_();_nop_();_nop_();}
uchar a;
sbit scl=p3^4;
sbit sda=p3^5;
void delay5ms(void)
{
uchar a,b;
for(b=15;b>0;b--)
for(a=152;a>0;a--);
}
void start(void)
{
sda=1;nop();
scl=1;delay5ms();
sda=0;delay5ms();
scl=0;nop();
}
void stop(void)
{
sda=0;nop();
scl=1;delay5ms();
sda=1;delay5ms();
}
delay5ms();
}
else
{
stop();
void start(void)
{
sda=1;
}
delay5ms()我给个程序给你 这只是写一字节
#include nop();nop();
scl=1;*-----------非应答信号--------*/ ti=0;nop();
}
/=1;8;
}
else
{
sda=0;nop();*------向24c02写一字节数据-----*nop();
/nop();
#include scl=1;reg52;
void io_int(void)
{
scon=0x40;delay5ms();
scl=1,0x55);
}
/
tl1=th1=0xfd;i if(sda==1)
{
dat++;_nop_();0;i for(b=15;_nop_();
if(cack()==1)
{
iic_write(addr);
#define uchar unsigned char
#define uint unsigned int
#define nop() {_nop_();
while(1);a>delay5ms();stop();nop();nop();delay5ms();nop();
}
/
uchar cack(void)
{
uint ack;
start();
dat scl=0;
}
_nop_();
}
*/
scl=0;stop();
scl=1;
sda=1;intrins.h>
void write_24c02(uchar addr;
scl=0;
scl=0;
void nack(void)
{
sda=1;nop();}
uchar a;*-------at24c02数据写入----------*/nop();
}
sda=1;*-----------终止信号-----------*/b--)
for(a=152;
}
scl=1;
}
/nop();
sda=1;delay5ms(),dat;
}
/
for(i=0;
}
else
{
stop();*--------从24c02读一字节数据-----*/
}
sda=0;a--);
tr1=1;
sbit sda=p3^5;
sbuf=read_24c02(0xa1);
}
else
{
ack=1;nop();delay5ms();
void delay5ms(void)
{
uchar a;
void main(void)
{
io_int();nop();
sda=1;
scl=1;
dat=iic_read();delay5ms();
sda=0;
sbit scl=p3^4;nop();
}
/
void iic_write(uchar dat)
{
uchar i;
iic_write(dat);*---------at24c02数据读出---------*/,uchar dat)
{
start();
scl=1;
cack();
pcon=0x00;
if(cack()==1)
{
iic_write(addr);
/
scl=1;*-----------串口调试--------------*/
uchar iic_read(void)
{
uchar i;
uchar read_24c02(uchar addr)
{
uchar dat;*----------启动iic--------------*/
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯