您的位置 首页 资料

MSP430模仿IIC接口程序

1-简介MSP430单片机普通II模拟IIC接口程序范例。2-程序例程includeMSP430x14xhP32SCLP33SDAdefineSDA_1P3OUT

1-简介

MSP430单片机一般II模仿IIC接口程序典范。

2-程序例程

#include “MSP430x14x.h”

//P3.2 SCL

//P3.3 SDA

#define SDA_1 P3OUT |= BIT3 //SDA = 1

#define SDA_0 P3OUT &=~ BIT3 //SDA = 0

#define SCL_1 P3OUT |= BIT2 //SCL = 1

#define SCL_0 P3OUT &=~ BIT2 //SCL = 0

#define DIR_IN P3DIR &=~ BIT3; SDA_1//I/O口为输入

#define DIR_OUT P3DIR |= BIT3 //I/0口为输出

#define SDA_IN ((P3IN >> 3) & 0x01) //Read SDA

unsigned int a[50];

/
{
TempBit = 1;
}
else
{
TempBit = 0;
}
DIR_OUT;
TempData = (TempData << 1) | TempBit;
SCL_0;
}
Delay(5);
return(TempData);
}

/) && (i < 255))
{
i++;
}
DIR_OUT;
SCL_0;
Delay(5);
}

/)
{
unsigned char HighData = 0;
unsigned char LowData = 0;
unsigned int TempData = 0;
Start();
WriteByte(0xa0);
ReceiveAck();
WriteByte(unit);
ReceiveAck();
Start();
WriteByte(0xa1);
ReceiveAck();
LowData = ReadByte();
Acknowledge();
HighData = ReadByte();
Stop();
TempData = (HighData << 8) + LowData;
Delay(1000);
return(TempData);
}

/
{
unsigned char i;
unsigned char HighData = 0;
unsigned char LowData = 0;
unsigned int TempData = 0;
Start();
WriteByte(0xa0);
ReceiveAck();
WriteByte(unit);
ReceiveAck();
Start();
WriteByte(0xa1);
ReceiveAck();
for (i=0; i<49; i++)
{
LowData = ReadByte();
Acknowledge();
HighData = ReadByte();
Acknowledge();
a[i]= (HighData << 8) + LowData;
}
LowData = ReadByte();
Acknowledge();
HighData = ReadByte();
Stop();
a[49] = (HighData << 8) + LowData;
Delay(1000);
}

/, unsigned int WriteData)
{
unsigned char LowData = 0;
unsigned char HighData = 0;
LowData = (unsigned char)WriteData;
HighData = (unsigned char)(WriteData >> 8);
Start();
WriteByte(0xa0);
ReceiveAck();
WriteByte(unit);
ReceiveAck();
WriteByte(LowData);
ReceiveAck();
WriteByte(HighData);
ReceiveAck();
Stop();
Delay(2000);
}
//******************************************************************************

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/262517.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部