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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)片內(nèi)大容量EEPROM的一種巧妙應(yīng)用

          單片機(jī)片內(nèi)大容量EEPROM的一種巧妙應(yīng)用

          作者: 時間:2011-05-27 來源:網(wǎng)絡(luò) 收藏

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

            究其原因,這與的特點(diǎn)有關(guān)。STC89C5lRC/RD+系列片內(nèi)的,與普通的不同。普通的EEPROM有字節(jié)讀/寫功能,不需要擦除,在字節(jié)寫的時候自動擦除。而STC89C51RC/RD+系列片內(nèi)的EEPROM,具有Flash的特性,只能在擦除了扇區(qū)后進(jìn)行字節(jié)寫,寫過的字節(jié)中不能重復(fù)寫,只有待扇區(qū)擦除后才能重新寫,而且沒有字節(jié)擦除功能,只能扇區(qū)擦除。

          201011200157238.jpg


            3 EEPROM(Data FIash)的

            基于以上EEPROM(Data Flash)不易擦除的特點(diǎn),可以寫后先不擦除。利用EEPROM(Data Flash)容易寫、時間短(字節(jié)寫只有60 μs)的特點(diǎn),可以充分利用其寫的功能。根據(jù)汽車電泳整流器的特點(diǎn):每泳1輛汽車,整流器的輸出電流就從0逐漸上升到最大電流,然后又逐漸回到0。從電流的變化可以準(zhǔn)確地識別出電泳過的車的數(shù)量。每識別出1輛車,就在EEPROM(Data Flash)的1個字節(jié)中(起始地址為0000H)寫入#01H(也可以是其他數(shù),但不能為#OFFH),然后地址自動加1,等待識別出下一輛車。這樣就通過EEPROM(Data Flash)字節(jié)地址的方式,間接記錄了汽車電泳整流器電泳過的車輛總數(shù),并可在數(shù)碼管上顯示出來。16 KB的EEPROM(Data Flash)可記錄16 384輛車。待將計(jì)滿時,可按擦除按鈕擦除EEP-ROM(Data Flash)中的所有扇區(qū),再重新計(jì)數(shù)。如按每10分鐘電泳1輛車,1天工作16小時,可連續(xù)記錄16 384/60/10×16)=170天。此種方法也可用于對電泳整流器連續(xù)工作時間的累計(jì),如每10分鐘記錄1個數(shù)據(jù),可連續(xù)記錄16 384/(60/10)=2 730小時。

            整流器停機(jī)斷電后,每次開機(jī)給上電時,在初始化程序中,首先從地址#0000H讀片內(nèi)EEPROM的數(shù)據(jù),如果數(shù)據(jù)不為#OFFH,地址自動加1,再讀下一個字節(jié),直到所讀數(shù)據(jù)為#OFFH為止。此時EEPROM的地址指針數(shù)據(jù),即為前面累加的電泳車輛數(shù)(或累計(jì)電泳工作時間),可在數(shù)碼管上顯示出來。整流器工作后,按前述

          201011200157658.jpg



          評論


          相關(guān)推薦

          技術(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); })();