调用方式:void ACK(void) ﹫2001/03/23

函数说明:内函数,私有,用户不直接调用。

-------------------------------------------------------------------------------

*/

void ACK(void)

{

unsigned char time_1;

SDA=1;

SCL=0;

_nop_();_nop_();_nop_();_nop_();_nop_();

SCL=1;

time_1=5;

while(SDA) {if (!time_1) break;} //ACK

SCL=0;

_nop_();_nop_();_nop_();_nop_();_nop_();

}

unsigned char ReadIIC_24C01(unsigned char address)

{

unsigned char ddata=0;

unsigned char i=8;

SCL=1;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); //Tsu:STA

SDA=0;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //Thd:STA

SCL=0; //START

write_8bit( (address《《1) | 0x01); //写页地址和操作方式

ACK();

while (i--)

{

SDA=1;

ddata《《=1;

SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();SCL=1;

if (SDA) ddata|=0x01;

}

SCL=0;_nop_();SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

SDA=0;_nop_();SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

SDA=1; //STOP

delay();

return ddata;

}

void WriteIIC_24C01(unsigned char address,unsigned char ddata)

{

SCL=1;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); //Tsu:STA

SDA=0;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //Thd:STA

SCL=0; //START

write_8bit( (address《《1) & 0xfe); //写页地址和操作方式,对于24C32-

24C256,page不起作用

ACK();

write_8bit(ddata); //发送数据

ACK();

SDA=0;

_nop_();SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

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