#include<regx51.h>
#include<intrins.h>
#include"1602.h"
#define uchar unsigned char
sbit SDA=P3^7;
sbit SCL=P3^6;
/////////////////////////////////
void start_i2c()
{
SDA=1;
_nop_();
SCL=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
SDA=0;//下降沿
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
SCL=0;
_nop_();
_nop_();
_nop_();
}
////////////////////////
void stop_i2c()
{
SDA=0;
_nop_();
SCL=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
SDA=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
//////////////////////////主器件(89S51)应答
void ack_i2c(bit b)
{
if(b==0)
SDA=0;//
else
SDA=1;
_nop_();
_nop_();
SCL=1;
_nop_();
_nop_();
_nop_();
_nop_();
- 1
- 2
- 3
前往页