关键词不能为空

当前您在: 主页 > 英语 >

关于EEPROM的应用总结

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-09 08:39
tags:

-

2021年2月9日发(作者:planet是什么意思)


关于


EEPROM


的应用总结

< br>


关于


EEPROM


的应用总结



当在程序运行的过程中你希望修改某个变量并且此变量的值在 掉电以后不丢失,那么你


就可以采用将变量数据写入


EEPRO M


的方式来实现。



什么是

< p>
EEPROM




Ele ctrically Erasable ProgrammableRead_Only Memory


首先它是一


种存储器,


并且可以通过高电压来 进行反复擦写的存储器。


具有掉电数据不丢失的特点。


比如常用 的


24C


系列,


93C


系列的器件。一般这种器件采用


I2C


的方式与单片机 进行通


讯,对于这种通讯方式及器件的应用另作总结。这里主要总结一下,


STC12C5204AD



片内部包含的


EEPROM


的应用方法。


< br>STC12C5201AD


系列单片机内部集成了


EEP ROM


是与程序空间分开的,


利用


IS P/IAP



术可将内部


data f lash



EEPROM


,擦写


10


万次以上。



E EPROM


可分为若干个扇区,每个扇区包含


512

< p>
字节。



使用时建议同一次修改的数据放在同一个 扇区,


不是同一次修改的数据放在不同的扇区,


不一定要用满。 数据存储器的擦除操作是按扇区进行的。



在程序中可对


EEPROM


进行字节读写


/


字节编程


/


扇区擦除操作。


在 工作电压


Vcc


偏低时,


建议不要进行


EEPROM/IAP


操作。以免发生数据错误。



应用的步骤



1





声明与


EEPROM


相关的寄存器



2





编写


EEPROM

< br>初始化函数



3





编写字节擦除函数



4





编写字节编程函数



5





编写字节读取函数



6





在需要读取


EEPROM


字节内容时直接调 用字节读取函数即可



7





在需要进行写


EEPROM


字节时,先调用 字节擦除函数,将字节内容擦除成


FFH


后,

< br>在调用字节编程函数,将数据写入到


EEPROM


的地址 单元中。






EEPROM


应用相关的寄存器



符号



描述





位地址及符号


复位值




IAP_DAT


A


ISP/IAP flash data


register


C

< br>2


H


















1111


1111B







IAP_AD


DRH


ISP/IAP flash


address high


C

3


H

















0000


0000B







IAP_AD


DRL


ISP/IAP flash


address low


C


4


H























IAP_CM


D


ISP/IAP flash


command register


C













M


S


M


S


0






5


H




1




xxx xxx


xxxB


IAP_TRI


G


ISP/IAP flash


command trigger


C



















6


H




I


A


SWBS


IA P_CO


NTR


ISP/IAP control

< p>
register


C


7


H



S


W


R


S


C


M


D


_




W


T


2


W


T

< br>1


W


T


0


0000X0


00B






P


E


N






T



F


A


I


L



G


F


1


G


F


P


D


I


001100


00B


PCON



Power control



87< /p>


H


S


O


M


D


SMOD0



L< /p>


V


D


F


P


O


F




D


L





0






1



IAP_DATA



ISP/IAP


数据寄存器








ISP/IAP


操作时的数据寄存器。



ISP/IAP



FlASH


读出的数据存放此处,向


flash


写的数据也 需要放在此处。



2





IAP_ADDRH



IAP_ADDRL



IAP/ISP


地址寄存器







3





IAP_CMD


< br>ISP/IAP


命令寄存器





M


S


1


0


0


1


1


M


S


0


0


1


0


1


命令


/


操作





模式选择



Standby


待机模式,无


ISP


操作



从用户程序区对“


data flash /EEprom


区”进行字节读



从用户的应用程序区对“


data flash/eeprom


区”进行字节编写



从用户的应用程序区对“


data flash/eeprom


区”进行扇区擦除



4



IAP_TRIG



ISP/IAP


命令触发寄存器




IAPEN(IAP_CONTR.7)=1


时,对


IAP


——


trig

< p>
先写入


5AH


,在写入


A 5H,ISPIAP


命令


才会生效


< /p>


ISPIAP


操作完成后,


IAP


地址高


8


位寄存器


I AP_ADDRH



IAP


地址低


8


位寄存器


IAP_ADDRL



IAP


命令寄存器


I AP_CMD


的内容不变。


如果接下来要对下一个地址的数


据进行


IAP/ISP


操作,需手动将该地 址的高


8


位和低


8

位分别写入


IAP_ADDRH



IAP_ADDRL


寄存器。



每次< /p>


IAP


操作时,都要对


IAP_TRIG


先写入


5AH


,再写入


A5H



ISP/IAP


命令 才会生效。



5


IAP_CONTR



ISPIAP


控制寄存器



SFR name


< /p>


Ad


dre


ss


Bit



B7



B6



B5



B4



B3



B2



B1



B0




N


a


m


e


IA


P


E


N


S


W


B


S < /p>


S


W


R


S


T


C


M


D


_


F


A


I


L


_


W


T


2


W


T


1


W


T


0


IAP_C


ONTR


C


7


H


IA PEN:ISP/IAP


功能允许位:


0


:禁止


IAP



/

< br>写


/


擦除



data flash /eeprom

























1:


允许


IAP



/



/


擦除



data flash /eeprom


SWBW:


软件选择从用户应用程序区启动(送


0



,还是从系统


ISP


监控程序启动(送


1











要与


SW RST


直接配合使用才可以实现



SW RST



0


:不操作;


1


:产生软件系统复位,硬件自动复位。


< p>
CMD_FAIL


:如果送了


ISP/IAP


命令,并对


IAP_TRIG


< p>
5AH/A5H


触发失败,则为


1


,需


由软件清零。



在用户应 用程序区(


AP


区)软件复位并从用户应用程序区(

< p>
AP


区)开始执行程序。



MOV IAP_CONTR,#00100000B;SWBS=0(


选择


AP



)



SWRST=1(


软复位


)


在用户应用程序区(


AP


区)软件复位 并从系统


ISP


监控程序区开始执行程序



MOV IAP_CONTR,#01100000B;SWBS=1(

< p>
选择


ISP



)



SWRST=1


(软复位)

< br>


在系统


ISP


监控程序区软件 复位并从用户应用程序区(


AP


区)开始执行程序



MOV IAP_CONTR,#00100000B;SWBS=0(< /p>


选择


AP



)S WRST=1(


软复位


)


在系统


ISP


监控程序区软件复位并从系统


ISP


监控程序区开始执行程序。



MOV IAP_CONTR,#01100000B



SWBS=1(


选择


ISP



)



SWRST=1(


软复位


)


设置等待时间



设置等待时间



W

T


0


CPU


等待时间(多少个


CPU


工作时钟)



Sector


Recommended


system clock



W


T


2


W


T

< p>
1


Read/





Progra


m/

< br>编




erase






2


个时钟)





扇区擦除


跟等待参数对应的推


荐系统时钟



=5 5u


s




=21us




1



1



1



2


个时钟



5 5





21 012


个时



<=1MHz

< p>






<=2MHz


1



1



0



2


个时钟



1 10


个时



42024


个时








<=3MHz


1



0



1



2


个时钟



1 65


个时



63036


个时








<=6MHz


1



0



0



2


个时钟



3 30


个时



126072



时钟







<=12MHz


0



1



1



2


个时钟



6 60


个时


252144








时钟



<=20MHz


0



1



0



2


个时钟



1 100



时钟


420240

< p>


时钟







<=24MHz


0



0



1



2


个时钟



1 320



时钟


504288

< p>


时钟







<=30MHz


0



0



0



2


个时钟



1 760



时钟


672348

< p>


时钟







12c


系列单片机内部


EEPROM


选型一览 表



型号







eep rom




2K


扇区数







首地址



0000h





末尾地址



07ffh


STC12C5201AD/


PWM


STC12C5202AD/


PWM


STC12C5203AD/


PWM


STC12C5204AD/


PWM


STC12C5205AD/


PWM




大建议:



4


2k


4


0000h


07ffh


2k


4


0000h


07ffh


1k


2


0000h


03ffh


1k


2


0000h


03ffh


1





同一次修改的数据放在同一个扇区中不是同一次修改的数据放在另外的扇区就不


须读出保护。



2





如果一个扇区只用一个字节,那就是真正的


EEPROM

< p>


STC


单片机的


Dat a


flash


比外部


EEPROM


要快很多读一个字节


/


编程一个字节大 概是


2


个时钟


/55

< br>微秒。



3





如果在一个扇区中存放了大量的数据,某次只需要修改其中的一个字节或一部分


字节时,则另外的不需要修改的数据须先读出放在


STC

单片机的


RAM


中,然后擦


除整个 扇区,再将需要保留的数据和需修改的数据按字节逐字节写回该扇区中(只


有字节写命令 ,


无连续字节写命令)



这时每个扇区 使用的字节数是使用的越少越方


便(不需要读出一大堆需保留数据)



常见问题:



1





IAP


指令完成后,地址是否会自动





1



或“减


1


”?



不会



2






5A



A5


触发之后下一次


IAP


命令是否还需要送< /p>


5A



A5


触发 ?



是,一定要。


< br>STC12C5201AD/PWM


单片机内部


EEPR OM


地址表



第一扇区



第二扇区



第三扇区



第四扇区







起始地址


































000


1FF


200


3FF


400H



5FF

< p>
600


7FF


0h



H



H



H



H



H



H



第五扇区



第六扇区



第七扇区



第八扇区







起始地址


































800


9FF


A00


BFF


C00H



DFF

< p>
E00


FFF


H



H



H



H



H



H



H



第九扇区



第十扇区



第十一扇区



第十二扇区







起始地址









束< /p>









< p>
















100


11F


120


13F


1400H



15F


160


17F


0H



FH



0H



FH



FH



0H



FH





下面就举一个例子来说明一下


EEPROM


的应用



每个扇区



512


字节



建议同一次修改


的数据放在同一


个扇区,不是同


一次修改的数据








区,不必用满 ,





可< /p>




满。






程序功能:



三个按键分别是,开关、 增大、减小。通过


7


段数码管将键值显示出来(


1-9





并将开关键关闭前的键值保存在


EEPROM


中,


系统再次上电时显示上次关闭前的键


值。











#include//


头文件

< br>


#include



intr ins.h




/******


宏定义


*************/


#define uintunsigned int//



unsigned int


代替


unsigned int


#define ucharunsigned char//



uchar


替代


unsigned char


/ *********


位定义


**************/


sbit SW=P3^2;//


开关



sbit INC=P3^3;//


增大按键



sbit DEC=P3^4;//


减小按键



s bitDATA=P1^5;//595


数据流



sbitSHIFT=P1^6;//595


移位寄存器


sbitSTORAGE=P1^7;//595


存储寄 存器



sbitBEEP=P1^4;//

蜂鸣器



/


数码管显示代码



uchar codenum[]={0x01,0xf3,0x89,0xa1,0x b2,0xa4,0x84,0xf1,0x80,0x20} //0-9


代码





//


变量声明



bit kai=0,biaozhi=0;


uchar MA,dat;


/*


定义与


EEPR OM


相关的特殊功能寄存器


*/


sfrIAP_DATA=0XC2;//FLASH data register


sfrIAP_ADDRH=0XC3;//FLASH address high

-


-


-


-


-


-


-


-



本文更新与2021-02-09 08:39,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/620083.html

关于EEPROM的应用总结的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文