![单片机原理及应用系统设计](https://wfqqreader-1252317822.image.myqcloud.com/cover/759/41309759/b_41309759.jpg)
上QQ阅读APP看书,第一时间看更新
2.10.3 EEPROM应用的步骤
如果要在用户程序中对EEPROM操作,一般按以下步骤进行。这些操作,通过汇编语言或C51语言都可以实现,以下给出的是C51程序举例,程序可在学完第4章后阅读。
1)声明并设置与EEPROM相关的寄存器。
例如:
![](https://epubservercos.yuewen.com/0DCF85/21511155608174006/epubprivate/OEBPS/Images/47_02.jpg?sign=1738936324-TJdtttfzjnRZ5jK2SVZl7OwzXw6F17UD-0-c3e85e6f7b85e440a6ba29eadd4fb79d)
2)编写EEPROM初始化函数。
![](https://epubservercos.yuewen.com/0DCF85/21511155608174006/epubprivate/OEBPS/Images/47_03.jpg?sign=1738936324-2SXV5f8lN8zTcwvn7si5dipppbcHnkWf-0-a7a0c5ac74386bbf94fabcb12a575782)
![](https://epubservercos.yuewen.com/0DCF85/21511155608174006/epubprivate/OEBPS/Images/48_01.jpg?sign=1738936324-LksufkxEWg28PY4yvkKNUQx00Kg5N4kE-0-78de2c4fa674654aefd9e32e73358b2b)
3)编写擦除函数。
擦除是指对某个扇区512字节全部擦除,该扇区中任何一个字节单元的地址,就代表该扇区的地址。
以下为扇区擦除函数:
![](https://epubservercos.yuewen.com/0DCF85/21511155608174006/epubprivate/OEBPS/Images/48_02.jpg?sign=1738936324-QS1lER9E1cHBfPXlk4Tuw9N4QaHFW9yj-0-1c17c1174b6581a0e4d54b694db4227d)
4)编写字节写入函数。
STC片内EEPROM写入数据是按字节编程,只能将字节中的“1”位写成1或0,可将0写成0,而无法将0写成1,所以,在写入数据前,一定要用扇区擦除将所有字节变为0xff。
以下为字节写函数:
![](https://epubservercos.yuewen.com/0DCF85/21511155608174006/epubprivate/OEBPS/Images/48_03.jpg?sign=1738936324-ETY55gG6dQghGxHKw07xXFe9T3vZUEtX-0-6141e664a0fb0b226740166ab085175d)
5)编写字节读取函数。
以下为字节读取函数:
![](https://epubservercos.yuewen.com/0DCF85/21511155608174006/epubprivate/OEBPS/Images/49_01.jpg?sign=1738936324-9BUVVdHu9zL7Q1BH421aWUHiSvyW5iom-0-d76a3e2076d7b6ea3a6fd63998df6ef8)
6)在需要读取EEPROM字节内容时调用字节读取函数。
7)在需要进行“写”EEPROM字节时,先调用字节擦除函数,将字节内容擦除成FFH后,再调用字节写函数,将数据写入EEPROM的地址单元中。