首页 理论教育 STC15W4K32S4系列8051单片机内部

STC15W4K32S4系列8051单片机内部

时间:2023-11-02 理论教育 版权反馈
【摘要】:STC单片机内部都集成了可装载程序的Flash存储器和可存储数据的E2PROM,这两者地址重叠,但物理存储空间是分开的,并采用了不同的操作方式。Flash程序存储器采用PC指针寻址,Data Flash数据存储器采取特殊功能寄存器IAP_ADDRH和IAP_ADDRL寻址,用户最大寻址空间可达64KB。具有IAP功能的单片机,其片内的Flash程序存储器可划分为很多扇区块,并按扇区块装载存储用户应用程序,多余的扇区块可用作E2PROM存储数据。

STC15W4K32S4系列8051单片机内部

在实际的应用系统中,往往有一些关键的数据需要保存,如用户设置数据或重要的过程数据等。目前的解决方法有两种:一是在外围电路中扩展非易失性存储器,多用在对时间要求比较苛刻的场合;另一种解决方法是外部扩展E2PROM(并行或串行)存储器,多用在对时间要求不太苛刻的场合。这两种方法均可以达到掉电后数据不丢失的目的。

STC单片机内部都集成了可装载程序的Flash存储器和可存储数据的E2PROM(称为Data Flash),这两者地址重叠,但物理存储空间是分开的,并采用了不同的操作方式。Flash程序存储器采用PC指针寻址,Data Flash数据存储器采取特殊功能寄存器IAP_ADDRH和IAP_ADDRL寻址,用户最大寻址空间可达64KB。

STC单片机都具有IAP功能,IAP提供一种能改变Flash数据的方法。也就是说,用户可以编写设计一个应用程序,存放在程序存储器中;当这个应用程序运行时,可以对程序存储器空间进行写数据或修改程序。

具有IAP功能的单片机,其片内的Flash程序存储器可划分为很多扇区块,并按扇区块(默认从首个扇区块开始)装载存储用户应用程序,多余的扇区块可用作E2PROM存储数据。使用IAP功能可对这些用作E2PROM的扇区块进行数据读/写。当程序在系统ISP程序区时,可以对用户应用程序区和数据Flash(E2PROM)区进行字节读/写或扇区擦除;当程序在用户应用程序区时,只可以对数据Flash区进行字节读/写或扇区擦除。这时,如果用户程序对应用程序区进行修改或擦除操作,单片机将忽略该操作而执行下一条指令。

STC15W4K32S4系列单片机内部的EEPROM是在数据Flash区通过IAP技术实现的,可以对数据Flash地址单元进行字节读/写和扇区擦除操作,Flash的擦除次数可达10万次。单片机内部E2PROM按扇区分区操作,将片内E2PROM地址分成若干扇区,每个扇区512B,使用IAP技术操作时,第一扇区的地址为0000~01FFH,第2扇区为200H~03FFH,以此类推。如果需要对扇区内的某一个地址进行数据修改时,必须先将该扇区整个擦除,然后再对该地址进行字节写入。若某一扇区单元都没有被写过,则可以直接对其进行字节编程写入数据,一旦某扇区的一个地址被写过后要改写其数据时,则必须将该整个扇区擦除才能修改。STC15W4K32S4单片机内部存储器见表4-2。(www.xing528.com)

表4-2 STC15W4K32S4系列单片机存储器一览表

978-7-111-51881-5-Chapter04-26.jpg

从表4-2中可以看出,单片机除了可使用IAP功能进行读取操作外,片内E2PROM还可用MOVC指令读,但此时的首地址不再是0000H,而是程序存储空间结束地址的下一个地址。具有IAP功能的单片机,其片上Flash在装载应用程序后,剩余的空间可以用作Data Flash数据存储器。没有IAP功能的单片机,其剩余的Flash空间只能作为程序升级的备用空间,而不能作为数据空间。

另外,IAP15W4K61S4和IRC15W4K63S4单片机的内部Flash存储器比较特殊,用户可以在用户程序区直接修改应用程序,没有专门的E2PROM,所有Flash存储器地址都可以当作E2PROM修改使用,IAP功能更强,系统监控程序占用更少。在使用时,不需要将原有的程序擦除,就可以直接读/写Flash存储器的单元内容。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈