在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于I2C協(xié)議的開機(jī)次數(shù)記錄

            基于I2C協(xié)議的開機(jī)次數(shù)記錄

            作者: 時(shí)間:2012-11-30 來源:網(wǎng)絡(luò) 收藏

            在之前我講過,也給出了簡(jiǎn)單例子,這次利用,我們可以做一個(gè)小實(shí)驗(yàn),讓單片機(jī)單片機(jī),也就是機(jī)器使用。

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

            // 內(nèi)容:每次都將加1 并存儲(chǔ)到EEPROM。這樣就能直觀的看到機(jī)器的使用 //

            // 次數(shù)用P1口 LED做為顯示,次數(shù)大于256是將溢出,按復(fù)位模擬 //

            // 或者直接通過開關(guān)開機(jī) //

            #include //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義

            #include //包含NOP空指令函數(shù)_nop_();

            #define AddWr 0xae //寫數(shù)據(jù)地址,需要參考24c02芯片文檔

            #define AddRd 0xaf //讀數(shù)據(jù)地址

            sbit Sda=P1^2; //定義總線連接端口

            sbit Scl=P1^1;

            sbit WP=P1^0; //寫保護(hù),這里不使用

            /*------------------------------------------------

            延時(shí)程序

            ------------------------------------------------*/

            void mDelay(unsigned char j)

            {

            unsigned int i;

            for(;j>0;j--)

            {

            for(i=0;i125;i++)

            {;}

            }

            }

            /*------------------------------------------------

            啟動(dòng)IIC總線

            ------------------------------------------------*/

            void Start(void)

            {

            Sda=1;

            _nop_();_nop_();

            Scl=1;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            Sda=0;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            Scl=0;

            }

            /*------------------------------------------------

            停止IIC總線

            ------------------------------------------------*/

            void Stop(void)

            {

            Sda=0;

            _nop_();

            Scl=1;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            Sda=1;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            Scl=0;

            }

            /*------------------------------------------------

            應(yīng)答IIC總線

            ------------------------------------------------*/

            void Ack(void)

            {

            Sda=0;

            _nop_();_nop_();_nop_();

            Scl=1;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            Scl=0;

            _nop_();_nop_();

            }

            /*------------------------------------------------

            非應(yīng)答IIC總線

            ------------------------------------------------*/

            void NoAck(void)

            {

            Sda=1;

            _nop_();_nop_();_nop_();

            Scl=1;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            Scl=0;

            _nop_();_nop_();

            }

            /*------------------------------------------------

            發(fā)送一個(gè)字節(jié)

            ------------------------------------------------*/

            void Send(unsigned char Data)

            {

            unsigned char BitCounter=8;

            unsigned char temp;

            do

            {

            temp=Data;

            Scl=0;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            if((temp0x80)==0x80)

            Sda=1;

            else

            Sda=0;

            Scl=1;

            temp=Data1;

            Data=temp;

            BitCounter--;

            }

            while(BitCounter);

            Scl=0;

            }

            /*------------------------------------------------

            讀入一個(gè)字節(jié)并返回

            ------------------------------------------------*/

            unsigned char Read(void)

            {

            unsigned char temp=0;

            unsigned char temp1=0;

            unsigned char BitCounter=8;

            Sda=1;

            do

            {

            Scl=0;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            Scl=1;

            _nop_();_nop_();_nop_();_nop_();_nop_();

            if(Sda)

            temp=temp|0x01;

            else

            temp=temp0xfe;

            if(BitCounter-1)

            {

            temp1=temp1;

            temp=temp1;

            }

            BitCounter--;

            }

            while(BitCounter);

            return(temp);

            }

            /*------------------------------------------------

            寫入數(shù)據(jù)

            ------------------------------------------------*/

            void WrToROM(unsigned char Data[],unsigned char Address,unsigned char Num)

            {

            unsigned char i;

            unsigned char *PData;

            PData=Data;

            for(i=0;i

            {

            Start();

            Send(AddWr); //寫入芯片地址

            Ack();

            Send(Address+i);//寫入存儲(chǔ)地址

            Ack();

            Send(*(PData+i));//寫數(shù)據(jù)

            Ack();

            Stop();

            mDelay(20);

            }

            }

            /*------------------------------------------------

            讀出數(shù)據(jù)

            ------------------------------------------------*/

            void RdFromROM(unsigned char Data[],unsigned char Address,unsigned char Num)

            {

            unsigned char i;

            unsigned char *PData;

            PData=Data;

            for(i=0;i

            {

            Start(); //寫入芯片地址

            Send(AddWr);

            Ack();

            Send(Address+i);//寫入存儲(chǔ)地址

            Ack();

            Start();

            Send(AddRd); //讀入地址

            Ack();

            *(PData+i)=Read();//讀數(shù)據(jù)

            Scl=0;

            NoAck();

            Stop();

            }

            }

            //以上程序是EEPROM24C02程序部分,IICScl=0;

            /*------------------------------------------------

            主程序


            上一頁 1 2 下一頁

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉