在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 專題 > I2C串行總線標(biāo)準(zhǔn)驅(qū)動(dòng)程序(C51)-萬(wàn)能程序

            I2C串行總線標(biāo)準(zhǔn)驅(qū)動(dòng)程序(C51)-萬(wàn)能程序

            作者: 時(shí)間:2008-02-01 來(lái)源: 收藏
            *------------------------------------------------------------------------------------------
            [文件名] .c
            [版本] 1.1b
            [作者] 鞠春陽(yáng)
            ===========================================================================================*/#include "reg51.h"
            #include "intrins.h"
            unsigned char SystemError;
            sbit SCL= P1^6; //定義串行時(shí)鐘線所在口 使用時(shí)根據(jù)自己的需要來(lái)定義
            sbit SDA= P1^7; //定義串行數(shù)據(jù)線所在口 使用時(shí)根據(jù)自己的需要來(lái)定義
            #define SomeNOP(); {_nop_();_nop_();_nop_();_nop_();}
            /*--------------------------------------------------------------------------------
            調(diào)用方式:void AD7416_Start(void) 2003/05/04
            函數(shù)說(shuō)明:私有函數(shù),專用
            ---------------------------------------------------------------------------------*/
            void I2CStart(void)
            {
            EA=0;
            SDA=1; SCL=1; SomeNOP();//數(shù)據(jù)線保持高,時(shí)鐘線從高到低一次跳變,I2C通信開(kāi)始
            SDA=0; SomeNOP();
            SCL=0;
            }
            /*--------------------------------------------------------------------------------
            調(diào)用方式:void AD7416_I2CStop(void) 2003/05/04
            函數(shù)說(shuō)明:私有函數(shù),I2C專用
            ---------------------------------------------------------------------------------*/
            void I2CStop(void)
            {
            SCL=0; SDA=0; SomeNOP(); //數(shù)據(jù)線保持低,時(shí)鐘線從低到高一次跳變,I2C通信停止
            SCL=1; SomeNOP(); SDA=1;
            EA=1;
            }
            /*--------------------------------------------------------------------------------
            調(diào)用方式:I2CAck(void) 2003/05/13
            函數(shù)說(shuō)明:私有函數(shù),I2C專用,等待從器件接收方的應(yīng)答
            ACK BY AD7416
            ---------------------------------------------------------------------------------*/
            WaitAck(void)
            {
            unsigned char errtime=255;//因故障接收方無(wú)ACK,超時(shí)值為255。
            SDA=1;
            SCL=1;
            SystemError=0x10;
            while(SDA)
            { errtime--;
            if(!errtime)
            { AD7416_I2CStop();
            AD7416_SystemError=0x11; //出錯(cuò)后給全局變量賦值
            return;
            }
            }
            SCL=0;
            }
            /*--------------------------------------------------------------------------------
            調(diào)用方式:void SendAck(void) ﹫2003/05/13
            函數(shù)說(shuō)明:私有函數(shù),I2C專用,主器件為接收方,從器件為發(fā)送方時(shí),應(yīng)答信號(hào)。
            ---------------------------------------------------------------------------------*/
            void SendAck(void)
            {
            SDA=0; SomeNOP(); //數(shù)據(jù)線保持低,時(shí)鐘線發(fā)生一次從高低的跳變 發(fā)送一個(gè)應(yīng)答信號(hào)
            SCL=1; SomeNOP();
            SCL=0;
            }
            /*--------------------------------------------------------------------------------
            調(diào)用方式:void SendAck(void) ﹫2003/05/13
            函數(shù)說(shuō)明:私有函數(shù),I2C專用,主器件為接收方,從器件為發(fā)送方時(shí),非應(yīng)答信號(hào)。
            --------------------------------------------------------------------------------*/
            void SendNotAck(void)
            {
            SDA=1; SomeNOP(); //數(shù)據(jù)線保持高,時(shí)鐘線發(fā)生一次從高低的跳變 沒(méi)有應(yīng)答
            SCL=1; SomeNOP();
            SCL=0;
            }
            /*--------------------------------------------------------------------------------
            調(diào)用方式:void I2CSend(uchar ch) 2003/05/13
            函數(shù)說(shuō)明:私有函數(shù),I2C專用
            ---------------------------------------------------------------------------------*/
            void I2CSendByte(Byte ch)
            {
            unsigned char i=8;
            while (i--)
            {
            SCL=0;_nop_();
            SDA=(bit)(ch&0x80); ch


            關(guān)鍵詞: I2C 串行總線 C51

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉