2011 Microchip Technology Inc.
DS39931D-page 111
PIC18F46J50 FAMILY
7.5.2
FLASH PROGRAM MEMORY WRITE
SEQUENCE (WORD
PROGRAMMING)
The PIC18F46J50 family of devices has a feature that
allows programming a single word (two bytes). This
feature is enabled when the WPROG bit is set. If the
memory location is already erased, the following
sequence is required to enable this feature:
1.
Load the Table Pointer register with the address
of the data to be written. (It must be an even
address.)
2.
Write the 2 bytes into the holding registers by
performing table writes. (Do not post-increment
on the second table write.)
3.
Set the WREN bit (EECON1<2>) to enable
writes and the WPROG bit (EECON1<5>) to
select Word Write mode.
4.
Disable interrupts.
5.
Write 0x55 to EECON2.
6.
Write 0xAA to EECON2.
7.
Set the WR bit; this will begin the write cycle.
8.
The CPU will stall for the duration of the write for
TIW (see Parameter D133A).
9.
Re-enable interrupts.
EXAMPLE 7-4:
SINGLE-WORD WRITE TO FLASH PROGRAM MEMORY
MOVLW
CODE_ADDR_UPPER
; Load TBLPTR with the base address
MOVWF
TBLPTRU
MOVLW
CODE_ADDR_HIGH
MOVWF
TBLPTRH
MOVLW
CODE_ADDR_LOW
; The table pointer must be loaded with an even
address
MOVWF
TBLPTRL
MOVLW
DATA0
; LSB of word to be written
MOVWF
TABLAT
TBLWT*+
MOVLW
DATA1
; MSB of word to be written
MOVWF
TABLAT
TBLWT*
; The last table write must not increment the table
pointer! The table pointer needs to point to the
MSB before starting the write operation.
PROGRAM_MEMORY
BSF
EECON1, WPROG
; enable single word write
BSF
EECON1, WREN
; enable write to memory
BCF
INTCON, GIE
; disable interrupts
MOVLW
0x55
Required
MOVWF
EECON2
; write 0x55
Sequence
MOVLW
0xAA
MOVWF
EECON2
; write 0xAA
BSF
EECON1, WR
; start program (CPU stall)
BSF
INTCON, GIE
; re-enable interrupts
BCF
EECON1, WPROG
; disable single word write
BCF
EECON1, WREN
; disable write to memory
相关PDF资料
PIC24HJ128GP306T-I/PT IC PIC MCU FLASH 128KB 64TQFP
PIC24FJ96GA008T-I/PT IC PIC MCU FLASH 96KB 80TQFP
PIC24FJ64GA010T-I/PT IC PIC MCU FLASH 64KB 100TQFP
PIC24FJ64GA008T-I/PT IC PIC MCU FLASH 64KB 80TQFP
PIC18LF4450T-I/PT IC PIC MCU FLASH 8KX16 44TQFP
PIC18LF2450T-I/ML IC PIC MCU FLASH 8KX16 28QFN
PIC16F1937-I/ML IC PIC MCU FLASH 512KX14 44-QFN
PIC18F25K20-E/ML IC PIC MCU FLASH 16KX16 28-QFN
相关代理商/技术参数
PIC18F4682T-I/PT 功能描述:8位微控制器 -MCU 80KB FL 3328bytes RAM 36I/O 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
PIC18F4685-E/ML 功能描述:8位微控制器 -MCU 96KB 3328 RAM w/ECAN 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
PIC18F4685-E/P 功能描述:8位微控制器 -MCU 96KB 3328 RAM w/ECAN 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
PIC18F4685-E/PT 功能描述:8位微控制器 -MCU 96KB FL 3328bytes RAM 36I/O 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
PIC18F4685-I/ML 功能描述:8位微控制器 -MCU 96KB 3328 RAM w/ECAN 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
PIC18F4685-I/ML 制造商:Microchip Technology Inc 功能描述:IC 8BIT MCU PIC18F 40MHZ QFN-44 制造商:Microchip Technology Inc 功能描述:IC, 8BIT MCU, PIC18F, 40MHZ, QFN-44
PIC18F4685-I/P 功能描述:8位微控制器 -MCU 96KB 3328 RAM w/ECAN 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
PIC18F4685-I/P 制造商:Microchip Technology Inc 功能描述:8-Bit Microcontroller IC