新聞中心

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

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

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


        /***********************************************************
        ;發送數據程序
        ;名稱:SendData
        ;描述:發送ByteCnt個字節給被控器
        ;被控器地址在SlvAdr中單元地址在SubAdr中
        ;所發送數據的字節數ByteCnt在中發送的數據在XmtDat緩沖區中
        ;發送數據正常返回標志F0=0F0=1表示被控器無應答或損壞
        ;**********************************************************/
        voidDisplay_Data(void)
        {
        uchari=0;
        ucharsize=ByteCnt;

        START(); //發送I2C總線起始條件

        SendByte(SlvAdr); //發送被控器總線地址

        SendByte(SubAdr); //發送單元地址

        // SendByte(0x73); //閃爍方式為正常,閃爍頻率為0.5Hz的命令字送緩沖區首址,
        //如果不需要閃爍應將數#70H送入緩沖區首址
        SendByte(0x70); //不閃爍


        do
        {
        SendByte(XmtDat[i]); //發送數據
        i++;
        }while(--size!=0);

        STOP();

        delay(100);
        }

        voidClearLcd(void)
        {
        ucharsize=ByteCnt;

        START(); //啟動I2C總線

        SendByte(SlvAdr); //送器件地址

        SendByte(SubAdr); //發送單元地址

        SendByte(0x70);

        do
        {
        SendByte(0x00); //發送數據
        }while(--size!=0);

        STOP();

        delay(200);
        }

        voidSET(void)
        {
        START();

        SendByte(SlvAdr); //送器件地址

        SendByte(MODE2); //取方式命令字

        SendByte(Bank_sel);

        STOP();
        }


        voidmain(void)
        {
        uintout_data;
        uinttmp_data;
        uchari;
        uchark;
        uchartmp[5];

        P2DIR|=SDA; //SDA
        P2DIR|=SCL; //SCL

        P2OUT=~SDA;
        P2OUT=~SCL;

        WDTCTL=WDTPW+WDTHOLD;

        Digit[0]=0x7E; //0
        Digit[1]=0x18; //1
        Digit[2]=0xB6; //2
        Digit[3]=0xBC; //3
        Digit[4]=0xD8; //4
        Digit[5]=0xEC; //5
        Digit[6]=0xEE; //6
        Digit[7]=0x38; //7
        Digit[8]=0xFE; //8
        Digit[9]=0xFC; //9

        SubAdr=0x80;
        SlvAdr=;
        ByteCnt=4;

        PCF8576SET();

        ClearLcd();

        out_data=0;

        while(1)
        {
        tmp_data=out_data;

        for(i=0;i {
        k=tmp_data%10;
        tmp_data=tmp_data/10;

        XmtDat[i]=Digit[k];
        tmp[i]=k;
        }

        XmtDat[2]|=0x01;

        for(i=ByteCnt-1;i!=0;i--)
        {
        if(tmp[i]==0)
        XmtDat[i]=0x00;
        else
        break;
        }


        Display_Data();

        out_data++;

        }

        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临西县| 英山县| SHOW| 云和县| 寿宁县| 乌兰县| 平湖市| 唐河县| 兴仁县| 渭源县| 临沂市| 清新县| 蕉岭县| 桃源县| 吉水县| 栾川县| 沐川县| 渑池县| 永丰县| 保定市| 和田县| 阳西县| 兴安盟| 隆林| 大竹县| 怀宁县| 陆良县| 长汀县| 阜平县| 进贤县| 改则县| 怀来县| 韶关市| 彩票| 东阳市| 江北区| 罗江县| 香格里拉县| 页游| 乌拉特中旗| 安福县|