|
|
#include "all.h"
void IIC_Delay()
{
_nop_();_nop_();_nop_();_nop_();_nop_();
}
void IIC_Init()
{
P2M0&=0x3f;
P2M1&=0x3f;
SDA_GPIO=1;
SCL_GPIO=1;
}
void IIC_Start()//IIC啟動信號
{
SDA_GPIO=1;
SCL_GPIO=1;
IIC_Delay();
SDA_GPIO=0;
IIC_Delay();
SCL_GPIO=0;
IIC_Delay();
}
void IIC_Stop()//IIC停止信號
{
SDA_GPIO=0;
SCL_GPIO=1;
IIC_Delay();
SDA_GPIO=1;
IIC_Delay();
}
void IIC_Write_Byte(u8 IIC_Byte)//向總線發(fā)送一個字節(jié)
{
u8 i;
SCL_GPIO=0;
SDA_GPIO=1;
for(i=0;i<8;i++)
{
SDA_GPIO=(bit)(IIC_Byte&0x80);
IIC_Byte<<=1;
SCL_GPIO=1;
IIC_Delay();
SCL_GPIO=0;
IIC_Delay();
}
}
u8 IIC_Read_Byte()
{
u8 i,Value;
SCL_GPIO=0;
SDA_GPIO=1;
for(i=0;i<8;i++)
{
Value=(Value<<1)|SDA_GPIO;
SCL_GPIO=1;
IIC_Delay();
SCL_GPIO=0;
IIC_Delay();
}
return Value;
}
u8 IIC_Read_Ack()//單片機(jī)檢測IIC從機(jī)發(fā)來的應(yīng)答信號
{
u8 ack=1,i=0;
SCL_GPIO=1;
IIC_Delay();
while((ack)&&(i<5))
{
ack=SDA_GPIO;
i++;
}
SCL_GPIO=0;
return ack;
}
void IIC_Write_Ack(bit ack)//單片機(jī)發(fā)送應(yīng)答給從機(jī)
{
SDA_GPIO=ack;
IIC_Delay();
SCL_GPIO=1;
IIC_Delay();
SCL_GPIO=0;
IIC_Delay();
SDA_GPIO=1;
IIC_Delay();
}
WQX-15開發(fā)板01 高配全亮.jpg (2.61 MB, 下載次數(shù): 76)
下載附件
2021-3-28 18:42 上傳
WQX-15開發(fā)板02 模塊功能展示.jpg (3.01 MB, 下載次數(shù): 80)
下載附件
2021-3-28 18:42 上傳
WQX-15開發(fā)板03 核心板.jpg (1.18 MB, 下載次數(shù): 88)
下載附件
2021-3-28 18:42 上傳
|
|