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

            新聞中心

            51單片機(jī)24c02的使用

            作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò) 收藏
            #include

            #include

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

            #define AddWr 0xae //Write Address
            #define AddRd 0xaf //Read Address

            //全局變量
            sbit Sda=P1^2; //定義總線連接端口
            sbit Scl=P1^1;
            sbit WP=P1^0;//No connect here

            void mDelay(unsigned char j)//A normal delay
            {
            unsigned int i;
            for(;j>0;j--)
            {
            for(i=0;i<125;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((temp&0x80)==0x80)
            Sda=1;
            else
            Sda=0;


            Scl=1;
            temp=Data<<1;
            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=temp&0xfe;

            if(BitCounter-1)
            {
            temp1=temp<<1;
            temp=temp1;
            }
            BitCounter--;
            }
            while(BitCounter);
            return(temp);
            }
            //write to ROM
            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);//Write Address
            Ack();
            Send(Address+i);//Write sub Address
            Ack();
            Send(*(PData+i));//Write Data
            Ack();
            Stop();
            mDelay(20);
            }
            }
            //read from ROM
            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);//Write Address
            Ack();
            Send(Address+i);//Write sub Address
            Ack();
            Start();
            Send(AddRd);//Read Address
            Ack();
            *(PData+i)=Read();//Read Data
            Scl=0;
            NoAck();
            Stop();
            }
            }

            void main()
            {
            unsigned char Number[4]={0x06,0x5b,0x4f,0x66};// 顯示碼值 1234
            unsigned char i;
            WP=0;//寫保護(hù)關(guān)掉
            P2=0x00;

            WrToROM(Number,4,4);//寫入24c02
            mDelay(200);
            Number[0]=0;//清除當(dāng)前數(shù)據(jù)
            Number[1]=0;
            Number[2]=0;
            Number[3]=0;
            RdFromROM(Number,4,4);//調(diào)用存儲(chǔ)數(shù)據(jù)

            while(1)
            {

            P0=Number[i];//顯示存儲(chǔ)數(shù)據(jù)
            mDelay(200);
            mDelay(200);
            i++;
            if(i==4)
            i=0;
            }
            }



            關(guān)鍵詞: 51單片機(jī)24c0

            評(píng)論


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

            關(guān)閉