新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机片内大容量EEPROM的一种巧妙应用

单片机片内大容量EEPROM的一种巧妙应用

作者:时间:2011-05-27来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/172734.htm

  究其原因,这与的特点有关。STC89C5lRC/RD+系列片内的,与普通的不同。普通的EEPROM有字节读/写功能,不需要擦除,在字节写的时候自动擦除。而STC89C51RC/RD+系列片内的EEPROM,具有Flash的特性,只能在擦除了扇区后进行字节写,写过的字节中不能重复写,只有待扇区擦除后才能重新写,而且没有字节擦除功能,只能扇区擦除。

201011200157238.jpg


  3 EEPROM(Data FIash)的

  基于以上EEPROM(Data Flash)不易擦除的特点,可以写后先不擦除。利用EEPROM(Data Flash)容易写、时间短(字节写只有60 μs)的特点,可以充分利用其写的功能。根据汽车电泳整流器的特点:每泳1辆汽车,整流器的输出电流就从0逐渐上升到最大电流,然后又逐渐回到0。从电流的变化可以准确地识别出电泳过的车的数量。每识别出1辆车,就在EEPROM(Data Flash)的1个字节中(起始地址为0000H)写入#01H(也可以是其他数,但不能为#OFFH),然后地址自动加1,等待识别出下一辆车。这样就通过EEPROM(Data Flash)字节地址的方式,间接记录了汽车电泳整流器电泳过的车辆总数,并可在数码管上显示出来。16 KB的EEPROM(Data Flash)可记录16 384辆车。待将计满时,可按擦除按钮擦除EEP-ROM(Data Flash)中的所有扇区,再重新计数。如按每10分钟电泳1辆车,1天工作16小时,可连续记录16 384/60/10×16)=170天。此种方法也可用于对电泳整流器连续工作时间的累计,如每10分钟记录1个数据,可连续记录16 384/(60/10)=2 730小时。

  整流器停机断电后,每次开机给上电时,在初始化程序中,首先从地址#0000H读片内EEPROM的数据,如果数据不为#OFFH,地址自动加1,再读下一个字节,直到所读数据为#OFFH为止。此时EEPROM的地址指针数据,即为前面累加的电泳车辆数(或累计电泳工作时间),可在数码管上显示出来。整流器工作后,按前述

201011200157658.jpg



评论


相关推荐

技术专区

关闭