在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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è)計應(yīng)用 > AT24C02EEPROM芯片《實現(xiàn)對其讀和寫》

            AT24C02EEPROM芯片《實現(xiàn)對其讀和寫》

            作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏

            unsigned char readbyte() //讀一個字節(jié)

            {

            unsigned char i,j,k=0;

            scl=0; nop(); sda=1;

            for (i=0;i<8;i++)

            {

            nop(); scl=1; nop();

            if(sda==1)

            j=1;

            else

            j=0;

            k=(k<<1)|j;

            scl=0;

            }

            nop();

            return(k);

            }

            void clock() //I2C總線時鐘

            {

            unsigned char i=0;

            scl=1;

            nop();

            while((sda==1)&&(i<255))

            i++;

            scl=0;

            nop();

            }

            ////////從24c02的地址address中讀取一個字節(jié)數(shù)據(jù)/////

            unsigned char read24c02(unsigned char address)

            {

            unsigned char i;

            start();

            writebyte(0xa0);

            clock();

            writebyte(address);

            clock();

            start();

            writebyte(0xa1);

            clock();

            i=readbyte();

            stop();

            delay1(10);

            return(i);

            }

            //////向24c02的address地址中寫入一字節(jié)數(shù)據(jù)info/////

            void write24c02(unsigned char address,unsigned char info)

            {

            EA=0;

            start();

            writebyte(0xa0);

            clock();

            writebyte(address);

            clock();

            writebyte(info);

            clock();

            stop();

            EA=1;

            delay1(50);

            }

            void main()

            {

            unsigned char i;

            TMOD=0x01; //定時器工作在方式1

            ET0=1;

            EA=1;

            TH0=0x4c; //對TH0 TL0賦值

            TL0=0x00; //使定時器0.05秒中斷一次

            TR0=1; //開始計時

            init(); //初始化24C02

            sec=read24c02(1);//每次重新開機時,讀出保存的數(shù)據(jù)賦于sec

            while(1)

            {

            i=20;

            //num=read24c02(1);//讀出保存的數(shù)據(jù)賦于num

            while(i--)

            {

            display(sec/10,sec%10);

            }

            if(write==1) //判斷計時器是否計時一秒

            {

            write=0; //清零

            write24c02(1,sec); //在24c02的地址1中寫入數(shù)據(jù)sec

            }

            }

            }

            void timer0(void) interrupt 1 using 0 //定時中斷服務(wù)函數(shù)

            {

            TH0=0x4c; //對TH0 TL0賦值 ,每隔0.05s發(fā)出一次中斷。

            TL0=0x00; //重裝計數(shù)初值

            times++; //每過250ust tcnt加一

            if(times==20) //計滿20次(1秒)時

            {

            times=0; //重新再計

            sec++;

            write=1; //1秒寫一次24C08

            if(sec==60) //定時100秒,在從零開始計時

            {sec=0;}

            }

            }


            上一頁 1 2 下一頁

            關(guān)鍵詞: AT24C02EEPROM讀和

            評論


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

            關(guān)閉