PIC16(L)F1946/47
DS41414D-page 114
2010-2012 Microchip Technology Inc.
11.3
Flash Program Memory Overview
It is important to understand the Flash program mem-
ory structure for erase and programming operations.
Flash Program memory is arranged in rows. A row con-
sists of a fixed number of 14-bit program memory
words. A row is the minimum block size that can be
erased by user software.
Flash program memory may only be written or erased
if the destination address is in a segment of memory
that is not write-protected, as defined in bits WRT<1:0>
of Configuration Words.
After a row has been erased, the user can reprogram
all or a portion of this row. Data to be written into the
program memory row is written to 14-bit wide data write
latches. These write latches are not directly accessible
to the user, but may be loaded via sequential writes to
the EEDATH:EEDATL register pair.
The number of data write latches may not be equivalent
to the number of row locations. During programming,
user software may need to fill the set of write latches
and initiate a programming operation multiple times in
order to fully reprogram an erased row. For example, a
device with a row size of 32 words and eight write
latches will need to load the write latches with data and
initiate a programming operation four times.
The size of a program memory row and the number of
program memory write latches may vary by device.
See Table 11-1 for details.
11.3.1
READING THE FLASH PROGRAM
MEMORY
To read a program memory location, the user must:
1.
Write the Least and Most Significant address
bits to the EEADRH:EEADRL register pair.
2.
Clear the CFGS bit of the EECON1 register.
3.
Set the EEPGD control bit of the EECON1
register.
4.
Then, set control bit RD of the EECON1 register.
Once the read control bit is set, the program memory
Flash controller will use the second instruction cycle to
read the data. This causes the second instruction
immediately following the “BSF EECON1,RD” instruction
to be ignored. The data is available in the very next cycle,
in the EEDATH:EEDATL register pair; therefore, it can
be read as two bytes in the following instructions.
EEDATH:EEDATL register pair will hold this value until
another read or until it is written to by the user.
Note:
If the user wants to modify only a portion
of a previously programmed row, then the
contents of the entire row must be read
and saved in RAM prior to the erase.
Note 1: The two instructions following a program
memory read are required to be NOPs.
This prevents the user from executing a
two-cycle
instruction
on
the
next
instruction after the RD bit is set.
2: Flash program memory can be read
regardless of the setting of the CP bit.
TABLE 11-1:
FLASH MEMORY ORGANIZATION BY DEVICE
Device
Erase Block (Row) Size/Boundary
Number of Write Latches/Boundary
PIC16(L)F1946/47
32 words, EEADRL<4:0> = 00000
相关PDF资料
PIC16LF1939-I/ML IC MCU 8BIT FLASH 44QFN
PIC18LF6493-I/PT IC PIC MCU FLASH 8KX16 64TQFP
DSPIC33FJ64GP310T-I/PT IC DSPIC MCU/DSP 64K 100TQFP
DSPIC33FJ64GP310T-I/PF IC DSPIC MCU/DSP 64K 100TQFP
PIC16C622A-20I/SO IC MCU OTP 2KX14 COMP 18SOIC
PIC18LF14K50-I/SO IC PIC MCU FLASH 16KB 20-SOIC
XF2M34151L CONN FPC 34POS 0.5MM PITCH SMD
XF2M30151L CONN FPC 30POS 0.5MM PITCH SMD
相关代理商/技术参数
PIC16F1946T-I/MR 功能描述:8位微控制器 -MCU 14KB 512B RAM 256B EEPROM RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F1946T-I/PT 功能描述:8位微控制器 -MCU 14KB Flash, 512B RAM LCD, 1.8-5.5V RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F1947-E/MR 功能描述:8位微控制器 -MCU 28KB1KB RAM 256B EEPROM RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F1947-E/PT 功能描述:8位微控制器 -MCU 28KB Flash, 1KB RAM LCD, 1.8-5.5V RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F1947-I/MR 功能描述:8位微控制器 -MCU 28KB1KB RAM 256B EEPROM RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F1947-I/PT 功能描述:8位微控制器 -MCU 28KB Flash, 1KB RAM LCD, 1.8-5.5V RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F1947T-I/MR 功能描述:8位微控制器 -MCU 28KB1KB RAM 256B EEPROM RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F1947T-I/PT 功能描述:8位微控制器 -MCU 28KB Flash, 1KB RAM LCD, 1.8-5.5V RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT