• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 东源县| 德兴市| 昌吉市| 嵊泗县| 新营市| 都江堰市| 襄汾县| 安义县| 秀山| 西安市| 晋江市| 贵溪市| 徐闻县| 久治县| 衡阳县| 修武县| 乐陵市| 甘南县| 天镇县| 邵东县| 中超| 台东县| 开原市| 雷山县| 葫芦岛市| 海林市| 黑山县| 梁山县| 乐昌市| 武平县| 红桥区| 大埔区| 沙湾县| 奎屯市| 英德市| 通河县| 扶绥县| 蒲城县| 洪泽县| 都昌县| 荣昌县|