<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AT24C02EEPROM芯片《實現(xiàn)對其讀和寫》

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

          作者: 時間:2016-12-01 來源:網(wǎng)絡 收藏
          程序功能: 驅動 AT24C02EEPROM芯片,實現(xiàn)對其的讀和寫。讓其保存計時器的輸出sec值。

          并可以保證在系統(tǒng)掉電后,重新加電時,可以讀出上次掉電瞬間所保存的值。

          本文引用地址:http://www.ex-cimer.com/article/201612/324253.htm

          演示方法: 下載程序后,數(shù)碼管開始顯示自加數(shù)值。片刻后,關閉學習板

          電源,然后打開,會發(fā)現(xiàn)數(shù)碼管上顯示的數(shù)值是斷電瞬間所顯

          示的數(shù)值。(也即由AT24C02EEPROM芯片所記憶的數(shù)值。)

          //試驗AT24C02EEPROM芯片程序

          #include

          #include

          #define uint unsigned int

          #define uchar unsigned char

          unsigned char sec,num; //定義計數(shù)值,每過1秒,sec加1

          unsigned int times; //定時中斷次數(shù)

          bit write=0; //寫24C02的標志;

          sbit sda=P2^0; //IO口定義

          sbit scl=P2^1;

          sbit dula=P2^6;

          sbit wela=P2^7;

          unsigned char j,k;

          void delay(unsigned char i) //延時程序

          {

          for(j=i;j>0;j--)

          for(k=125;k>0;k--);

          }

          uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, //數(shù)碼管編碼

          0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

          void nop()

          {

          _nop_();

          _nop_();

          }

          void display(uchar a,uchar b) //顯示程序

          {

          dula=0;

          P0=table[a]; //顯示百位

          dula=1;

          dula=0;

          wela=0;

          P0=0x7e;

          wela=1;

          wela=0;

          delay(5);

          dula=0;

          P0=table[b]; //顯示十位

          dula=1;

          dula=0;

          wela=0;

          P0=0x7d;

          wela=1;

          wela=0;

          delay(5);

          }

          /////////24C02讀寫驅動程序////////////////////

          void delay1(unsigned char m)

          { unsigned int n;

          for(n=0;n

          }

          void init() //24c02初始化子程序

          {

          scl=1;

          nop();

          sda=1;

          nop();

          }

          void start() //啟動I2C總線

          {

          sda=1;

          nop();

          scl=1;

          nop();

          sda=0;

          nop();

          scl=0;

          nop();

          }

          void stop() //停止I2C總線

          {

          sda=0;

          nop();

          scl=1;

          nop();

          sda=1;

          nop();

          }

          void writebyte(unsigned char j) //寫一個字節(jié)

          {

          unsigned char i,temp;

          temp=j;

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

          {

          temp=temp<<1;

          scl=0;

          nop();

          sda=CY; //temp左移時,移出的值放入了CY中

          nop();

          scl=1; //待sda線上的數(shù)據(jù)穩(wěn)定后,將scl拉高

          nop();

          }

          scl=0;

          nop();

          sda=1;

          nop();

          }


          上一頁 1 2 下一頁

          關鍵詞: AT24C02EEPROM讀和

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();