新聞中心

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

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

        作者: 時間:2012-06-27 來源:網絡 收藏

        芯片的連接程序

        #include"msp430x11x1.h"

        #defineuintunsignedint
        #defineucharunsignedchar

        //器件地址
        uchar =0x70;

        //內存數據定義
        uchar ByteCnt; //I2C數據字節計數器
        uchar SlvAdr; //被控器地址
        uchar SubAdr; //被控器單元地址
        uchar XmtDat[5]; //發送數據緩沖區


        //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總線子程序--發送I2C起始條件
        ;;*******************************************************

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

        /*--------------------------------------------------------------------------
        ;名稱:STOP
        ;描述:停止I2C總線子程序--發送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
        ;描述:字節數據傳送子程序發送一個字節數據或地址給被控器
        ;要發送的數據在ACC中
        ;發送數據正常返回標志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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安远县| 龙岩市| 正蓝旗| 贞丰县| 永德县| 平武县| 东乡族自治县| 汾西县| 丰顺县| 原平市| 黄石市| 区。| 静乐县| 海门市| 瓦房店市| 滨海县| 海伦市| 宿松县| 辽中县| 宁夏| 辽宁省| 女性| 德钦县| 临澧县| 南康市| 东光县| 芦山县| 四会市| 琼中| 烟台市| 疏附县| 安庆市| 旬邑县| 阳泉市| 岳阳市| 巴中市| 易门县| 堆龙德庆县| 香河县| 方正县| 阿拉善右旗|