在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            24c64讀寫程序

            作者: 時間:2016-11-23 來源:網(wǎng)絡 收藏
            #include //包括一個52標準內核的頭文件

            #define uchar unsigned char //定義一下方便使用
            #define uint unsigned int
            #define ulong unsigned long
            #define WriteDeviceAddress 0xa0 //定義器件在IIC總線中的地址
            #define ReadDviceAddress 0xa1
            sbit SCL=P2^7;
            sbit SDA=P2^6;
            sbit P20=P2^0;
            //定時函數(shù)
            void DelayMs(unsigned int number)
            {
            unsigned char temp;
            for(;number!=0;number--)
            {
            for(temp=112;temp!=0;temp--) ;
            }
            }
            //開始總線
            void Start()
            {
            SDA=1;
            SCL=1;
            SDA=0;
            SCL=0;
            }
            //結束總線
            void Stop()
            {
            SCL=0;
            SDA=0;
            SCL=1;
            SDA=1;
            }
            //發(fā)ACK0
            void NoAck()
            {
            SDA=1;
            SCL=1;
            SCL=0;
            }
            //測試ACK
            bit TestAck()
            {
            bit ErrorBit;
            SDA=1;
            SCL=1;
            ErrorBit=SDA;
            SCL=0;
            return(ErrorBit);
            }
            //寫入8個bit到24c02
            Write8Bit(unsigned char input)
            {
            unsigned char temp;
            for(temp=8;temp!=0;temp--)
            {
            SDA=(bit)(input&0x80);
            SCL=1;
            SCL=0;
            input=input<<1;
            }
            }
            //寫入一個字節(jié)到24c02中
            void Write24c64(uchar ch,uchar address)
            {
            Start();
            Write8Bit(WriteDeviceAddress);
            TestAck();
            Write8Bit(address);
            TestAck();
            Write8Bit(ch);
            TestAck();
            Stop();
            DelayMs(10);
            }
            //從24c02中讀出8個bit
            uchar Read8Bit()
            {
            unsigned char temp,rbyte=0;
            for(temp=8;temp!=0;temp--)
            {
            SCL=1;
            rbyte=rbyte<<1;
            rbyte=rbyte|((unsigned char)(SDA));
            SCL=0;
            }
            return(rbyte);
            }
            //從24c02中讀出1個字節(jié)
            uchar Read24c64(uchar address)
            {
            uchar ch;
            Start();
            Write8Bit(WriteDeviceAddress);
            TestAck();
            Write8Bit(address);
            TestAck();
            Start();
            Write8Bit(ReadDviceAddress);
            TestAck();
            ch=Read8Bit();
            NoAck();
            Stop();
            return(ch);
            }
            //本課試驗寫入一個字節(jié)到24c02并讀出來驗證
            void main(void) // 主程序
            {
            uchar c1;
            uchar address =0x01;
            for ( address =0x01;address<0xff;address++)
            {
            Write24c64(0x00,address);// 將0x88寫入到24c02的第2個地址空間
            c1=Read24c64(address);
            }
            P20=0;
            while(1); //程序掛起
            }

            本文引用地址:http://www.biyoush.com/article/201611/320562.htm


            關鍵詞: 24c64讀寫程

            評論


            技術專區(qū)

            關閉