?? iic.c
字號:
/****************************************************************************/
#define I2C_C
/****************************************************************************/
/* I N C L U D E F I L E S */
/****************************************************************************/
#include "mtv212.h"
#include "io51.h"
#include "i2c.h"
sbit P37 = 0xB7;
sbit P36 = 0xB6;
sbit P35 = 0xB5;
sbit P34 = 0xB4;
sbit P33 = 0xB3;
sbit P32 = 0xB2;
sbit P31 = 0xB1;
sbit P30 = 0xB0;
//===============================================
// DEFINE GLOABL VARIANT
//===============================================
bit ack;
//================================================
void Start(BYTE adr)
{
EA = 0;
ack = 0;
P34 = 1;
P35 = 1;
P34 = 0;
P35 = 0;
Send(adr);
return;
}
//==================================================
void Send(BYTE dat)
{
BYTE idata i;
BYTE idata delay = 200;
for (i=0; i<8; i++)
{
if (dat&0x80)
{
P34 = 1;
}
else
{
P34 = 0;
}
P35 = 1;
while ((!P35) && (delay--))
{
P35 = 1;
}
dat <<= 1;
P35 = 0;
}
P34 = 1;
P35 = 1;
i=0;
while (P34)
{
i++;
if (i>200)
{
ack = 1;
break;
}
};
P35 = 0;
return;
}
//============================================================
BYTE Read(void)
{
BYTE idata recdata;
BYTE idata i;
BYTE idata delay = 200;
recdata = 0;
P34 = 1;
for (i=0; i<8; i++)
{
recdata = recdata<<1;
P35=1;
while ((!P35)&& (delay--))
{
P35=1;
}
recdata = recdata|P34;
P35=0;
P34=1;
}
P34=1;
P35=1;
P35=1;
return(recdata);
}
//=============================================================
void Stop(void)
{
P34 = 0;
P35 = 1;
P34 = 1;
P35 = 0;
EA = 1;
return;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -