NOPNOP(50);

SetSCL(0);

SetSDA(0);

}

voidCheck_Ack()//器件应答信号检查

{SetSDA(1);

SetSCL(1);

F_Flag=0;

DDRB=DDRB&0xFD;

if((PINB&0x02)==0)

{SetSCL(0);

NOPNOP(50);}

else

{F_Flag=1;

SetSCL(0);

NOPNOP(50);}

DDRB=DDRB|0x02;

}

voidWrite_Bit0()//向IIC总线写0

{SetSDA(0);

SetSCL(1);

NOPNOP(50);

SetSCL(0);

}

voidWrite_Bit1()//向IIC总线写1

{SetSDA(1);

SetSCL(1);

NOPNOP(50);

SetSCL(0);

SetSDA(0);

}

voidWrite_Byte(ucharData)//向IIC总线写一字节数据

{uchari;

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

{if((Data&0x80)》0)

Write_Bit1();

else

Write_Bit0();

Data《《=1;

}

}

ucharRead_Byte()//从IIC总线读一字节数据

{ucharnn=0xff;

ucharj;

for(j=0;j《8;j++)

{SetSDA(1);

SetSCL(1);

DDRB=DDRB&0xFB;

if((PINB&0x02)==0)

{nn《《=1;

nn=(nn&0xfe);

SetSCL(0);}

else

{nn《《=1;

nn=(nn|0x01);

SetSCL(0);}

}

DDRB=DDRB|0x02;

return(nn);

}

//****************************写N个字节子程序**********************//

//函数参数说明:

//Slave:IIC器件地址,如上文定义的SD2303

//Address:起始地址

//Array:读数据存放的数组

//Number:读取的字节数

voidWrite_Nbyte(ucharSlave,ucharAddress,uchar*Array,ucharNumber)

{uchark;

writ:do//开始-》写IIC器件地址-》检查应答位

{Start();

Write_Byte(Slave);

Check_Ack();

}while(F_Flag==1);

do

{Write_Byte(Address《《4);//送起始地址-》检查应答位

Check_Ack();

}while(F_Flag==1);

for(k=0;k{Write_Byte(*Array);

Array++;

Check_Ack();}//检查应答位

Stop();

}

//****************************写一个字节子程序**********************//

//函数参数说明:

//Slave:IIC器件地址,如上文定义的SD2303

//Address:IIC器件寄存器地址

//Data:数据

voidWrite_1byte(ucharSlave,ucharAddress,ucharData)

{writ:do//开始-》写IIC器件地址-》检查应答位

{Start();

Write_Byte(Slave);

Check_Ack();

}while(F_Flag==1);

do

{Write_Byte(Address《《4);//送起始地址-》检查应答位

Check_Ack();

}while(F_Flag==1);

Write_Byte(Data);

Check_Ack();//检查应答位

Stop();//停止信号

}

//***************************读N个字节子程序***********************//

//函数参数说明:

//Slave:IIC器件地址,如上文定义的SD2303

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查