STC15F2K60S2内E2PROM应用
1.目的
单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用内部EEPROM (EEPROM可以擦写100000次)或FLASHROM 等存储器来实现。在传统的单片机系统中,一般是在片外扩展存储器,单片机与存储器之间通过IIC 或SPI 等接口来进行数据通信。这样不光会增加开发成本,同时在程序开发上也要花更多的心思。在STC 单片机中内置了EEPROM(其实是采用ISP/IAP技术读写内部FLASH 来实现EEPROM),正是因为有了IAP,从而可以使单片机可以将数据写入到程序存储器中,使得数据如同烧入的程序一样,掉电不丢失。当然写入数据的区域与程序存储区要分开来,以使程序不会遭到破坏。这样就节省了片外资源,使用起来也更加方便。
下面就详细介绍STC 单片机内置EEPROM 及其使用方法
2.STC15F2K60S2系列单片机的内部结构图
STC15F2K60S2系列单片机的内部结构框图如下图所示,STC15F2K60S2系列单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时器、IO口、高速A/D转换、看门狗、UART高速异步串行通信口1/串行通信口2,CCP/PWM/PCA,一组高速同步串行端口SPI,片内高精度R/C时钟及高可靠复位等模块,STC15F2K60S2系列单片机几乎包含了数据采集和控制中的所有单元模块。
3.IAP及EEPROM新增特殊功能寄存器介绍:
ISP/IAP数据寄存器IAP-DATA
符号 |
地址 |
位地址及符号 |
复位值 |
|||||||
IAP-DATA |
C2H |
MSB |
|
|
|
|
|
|
LSB |
1111 1111B |
IAP-ADDRH |
C3H |
|
|
|
|
|
|
|
|
0000 0000B |
IAP-ADDRL |
C4H |
|
|
|
|
|
|
|
|
0000 0000B |
IAP-CMD |
C5H |
— |
— |
— |
— |
— |
— |
MS1 |
MS0 |
XXXX X000B |
IAP-TRIG |
C6H |
|
|
|
|
|
|
|
|
XXXX XXXXB |
IAP-CONTR |
C7H |
IAPEN |
SWBS |
SWRST |
CMD_FALL |
— |
WT2 |
WT1 |
WT0 |
0000 X000B |
PCON |
87H |
SMOD |
SMOD0 |