新聞中心

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

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

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

本文引用地址:http://butianyuan.cn/article/172734.htm

  究其原因,這與的特點有關(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)不易擦除的特點,可以寫后先不擦除。利用EEPROM(Data Flash)容易寫、時間短(字節(jié)寫只有60 μs)的特點,可以充分利用其寫的功能。根據(jù)汽車電泳整流器的特點:每泳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輛車。待將計滿時,可按擦除按鈕擦除EEP-ROM(Data Flash)中的所有扇區(qū),再重新計數(shù)。如按每10分鐘電泳1輛車,1天工作16小時,可連續(xù)記錄16 384/60/10×16)=170天。此種方法也可用于對電泳整流器連續(xù)工作時間的累計,如每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ù)(或累計電泳工作時間),可在數(shù)碼管上顯示出來。整流器工作后,按前述

201011200157658.jpg



評論


相關(guān)推薦

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

關(guān)閉