新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MSP430F1121與液晶驅動芯片PCF8576的連接程序

MSP430F1121與液晶驅動芯片PCF8576的連接程序

作者: 時間:2012-06-27 來源:網(wǎng)絡 收藏

芯片的連接程序

#include"msp430x11x1.h"

#defineuintunsignedint
#defineucharunsignedchar

//器件地址
uchar =0x70;

//內(nèi)存數(shù)據(jù)定義
uchar ByteCnt; //I2C數(shù)據(jù)字節(jié)計數(shù)器
uchar SlvAdr; //被控器地址
uchar SubAdr; //被控器單元地址
uchar XmtDat[5]; //發(fā)送數(shù)據(jù)緩沖區(qū)


//uchar MODE1=0x45;
uchar MODE2=0xCD; //
uchar Bank_sel=0x78;

uchar flag;

uchar Digit[10];

#defineSDA BIT3//P2.3controlsSDAline(pull-upusedforlogic1)
#defineSCLBIT4//P2.4controlsSCLline(pull-upusedforlogic1)



/*******************************************************

***********************
;子程序
;名稱:START
;描述:啟動I2C總線子程序--發(fā)送I2C起始條件
;;*******************************************************

**********************/
voidSTART(void)
{
P2OUT|=SDA; //SDA=1
_NOP();
P2OUT|=SCL; //SCL=1
_NOP();
P2OUT=~SDA; //SDA=0
_NOP();
P2OUT=~SCL; //SCL=0
}

/*--------------------------------------------------------------------------
;名稱:STOP
;描述:停止I2C總線子程序--發(fā)送I2C總線停止條件
;-------------------------------------------------------------------------*/
voidSTOP(void)
{
P2OUT=~SDA; //SDA=0
_NOP();
P2OUT|=SCL;
_NOP();
P2OUT|=SDA;
_NOP();
P2OUT=~SCL;
}

voidcack(void) /*應答位檢查*/
{
P2OUT|=SDA;
P2OUT|=SCL;

P2DIR=~SDA;

_NOP();
P2OUT=~SCL;

P2DIR|=SDA;

}

voiddelay(uchartime)
{
uchari;

do{
for(i=100;i!=0;i--);

}while(--time!=0);

}

/*----------------------------------------------------------------------
;名稱:SendByte
;描述:字節(jié)數(shù)據(jù)傳送子程序發(fā)送一個字節(jié)數(shù)據(jù)或地址給被控器
;要發(fā)送的數(shù)據(jù)在ACC中
;發(fā)送數(shù)據(jù)正常返回標志F0=0F0=1表示被控器無應答或損壞
;------------------------------------------------------------------------*/
voidSendByte(ucharData)
{
uchari=8;

do
{
if((Data0x80)==0x80)
P2OUT|=SDA;
else
P2OUT=~SDA;

P2OUT|=SCL;
_NOP();
P2OUT=~SCL;

Data=Data1;
}while(--i!=0);

cack();

}


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉