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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于STC單片機(jī)EEPROM的應(yīng)用總結(jié)

          關(guān)于STC單片機(jī)EEPROM的應(yīng)用總結(jié)

          作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
          /********595輸出函數(shù)函數(shù)*******************/
          void out_595(void)
          {
          STORAGE=0;
          _nop_();
          _nop_();
          STORAGE=1;
          _nop_();
          _nop_();
          STORAGE=0;
          }
          /*軟件延時(shí) */
          void delay(uchar t)
          { uchar x;
          while(t--)
          {
          for(x=0;x<250;x++)
          {
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          }
          }
          }
          /******按鍵檢測(cè)函數(shù)**********************/
          void keycheck(void)
          {
          if(SW==0)//判斷開關(guān)按鍵是否按下
          {delay(10);//抗干擾
          if(SW==0)//確實(shí)按下
          {kai=~kai;
          }
          while(!SW)//一直按下
          {BEEP=1;}//蜂鳴器響
          BEEP=0;//松開按鍵,蜂鳴器關(guān)閉
          }
          if(INC==0&kai==1&MA<9)//如果處于開的狀態(tài)并且數(shù)字小于9則按下增大鍵執(zhí)行
          {
          delay(10);
          if(INC==0&kai&MA<9)
          {MA++;}
          while(!INC)
          {BEEP=1;}
          BEEP=0;
          }
          if(DEC==0&kai&MA>1)
          {
          delay(10);
          if(DEC==0&kai&MA>1)
          {MA--;}
          while(!DEC)
          {BEEP=1;}
          BEEP=0;
          }
          if(kai==1) //如果電源打開了,則將電源開的狀態(tài)標(biāo)志置1
          {biaozhi=1;}
          if(biaozhi==1&kai==0)//判斷電源打開后被關(guān)閉,目的是只在開關(guān)鍵關(guān)閉時(shí),寫一次EEPROM,避免不停的擦寫EEPROM
          { biaozhi=0;
          iaperasesector(0x00);
          programbyte(0x00,MA);
          // 執(zhí)行EEPROM寫程
          }
          }
          //主函數(shù)
          Void main(void )
          {
          BEEP=0; //關(guān)閉蜂鳴器
          iapreadbyte(0x00);//讀出EEPROM的值
          MA=dat;
          if(MA<1|MA>9)//如果讀出的值不在1-9范圍內(nèi)則強(qiáng)制為5.
          {MA=5;}
          while(1)
          {
          keycheck();//執(zhí)行按鍵掃描程序
          write_595(num[MA]);
          write_595(num[MA]);
          out_595();
          }
          }
          這只是一個(gè)簡(jiǎn)單的讀寫一個(gè)字節(jié)的簡(jiǎn)單測(cè)試程序,對(duì)于扇區(qū)擦除的結(jié)果也沒有進(jìn)行驗(yàn)證。
          想要驗(yàn)證需要在加一段代碼。具體請(qǐng)參照STC的數(shù)據(jù)手冊(cè)。
          上一頁 1 2 3 下一頁

          關(guān)鍵詞: STC單片機(jī)EEPRO

          評(píng)論


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

          關(guān)閉
          看屁屁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); })();