PIC18F66K80 FAMILY
DS39977F-page 136
2010-2012 Microchip Technology Inc.
EXAMPLE 7-3:
WRITING TO FLASH PROGRAM MEMORY
MOVLW
SIZE_OF_BLOCK
; number of bytes in erase block
MOVWF
COUNTER
MOVLW
BUFFER_ADDR_HIGH
; point to buffer
MOVWF
FSR0H
MOVLW
BUFFER_ADDR_LOW
MOVWF
FSR0L
MOVLW
CODE_ADDR_UPPER
; Load TBLPTR with the base
MOVWF
TBLPTRU
; address of the memory block
MOVLW
CODE_ADDR_HIGH
MOVWF
TBLPTRH
MOVLW
CODE_ADDR_LOW
MOVWF
TBLPTRL
READ_BLOCK
TBLRD*+
; read into TABLAT, and inc
MOVF
TABLAT, W
; get data
MOVWF
POSTINC0
; store data
DECFSZ
COUNTER
; done?
BRA
READ_BLOCK
; repeat
MODIFY_WORD
MOVLW
DATA_ADDR_HIGH
; point to buffer
MOVWF
FSR0H
MOVLW
DATA_ADDR_LOW
MOVWF
FSR0L
MOVLW
NEW_DATA_LOW
; update buffer word
MOVWF
POSTINC0
MOVLW
NEW_DATA_HIGH
MOVWF
INDF0
ERASE_BLOCK
MOVLW
CODE_ADDR_UPPER
; load TBLPTR with the base
MOVWF
TBLPTRU
; address of the memory block
MOVLW
CODE_ADDR_HIGH
MOVWF
TBLPTRH
MOVLW
CODE_ADDR_LOW
MOVWF
TBLPTRL
BSF
EECON1, EEPGD
; point to Flash program memory
BCF
EECON1, CFGS
; access Flash program memory
BSF
EECON1, WREN
; enable write to memory
BSF
EECON1, FREE
; enable Row Erase operation
BCF
INTCON, GIE
; disable interrupts
MOVLW
55h
Required
MOVWF
EECON2
; write 55h
Sequence
MOVLW
0AAh
MOVWF
EECON2
; write 0AAh
BSF
EECON1, WR
; start erase (CPU stall)
BSF
INTCON, GIE
; re-enable interrupts
TBLRD*-
; dummy read decrement
MOVLW
BUFFER_ADDR_HIGH
; point to buffer
MOVWF
FSR0H
MOVLW
BUFFER_ADDR_LOW
MOVWF
FSR0L
WRITE_BUFFER_BACK
MOVLW
SIZE_OF_BLOCK
; number of bytes in holding register
MOVWF
COUNTER
WRITE_BYTE_TO_HREGS
MOVFF
POSTINC0, WREG
; get low byte of buffer data
MOVWF
TABLAT
; present data to table latch
TBLWT+*
; write data, perform a short write
; to internal TBLWT holding register.
DECFSZ
COUNTER
; loop until buffers are full
BRA
WRITE_BYTE_TO_HREGS
相关PDF资料
PIC24F32KA302-I/ML MCU 32KB FLASH 2KB RAM 28-QFN
PIC18LF45K80-I/ML MCU PIC ECAN 32KBFLASH 44QFN
PIC18F4221-I/PT IC PIC MCU FLASH 2KX16 44TQFP
PIC18F1320-I/SO IC MCU FLASH 4KX16 A/D 18SOIC
PIC18LF2321-I/SS IC PIC MCU FLASH 4KX16 28SSOP
PIC16F917-I/PT IC PIC MCU FLASH 8KX14 44TQFP
PIC18F1320-I/SS IC MCU FLASH 4KX16 A/D 20SSOP
PIC24FV32KA301-I/P MCU 32KB FLASH 2KB RAM 20-PDIP
相关代理商/技术参数
PIC18F45K80-I/P 功能描述:8位微控制器 -MCU 32KB FL 4KBRM 16MIPS 12bit ADC CTMU 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
PIC18F45K80-I/PT 功能描述:8位微控制器 -MCU 32KB FL 4KBRM 16MIPS 12bit ADC CTMU 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
PIC18F45K80T-I/ML 功能描述:8位微控制器 -MCU 32KB FL 4KBRM 16MIPS 12bit ADC CTMU 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
PIC18F45K80T-I/PT 功能描述:8位微控制器 -MCU 32KB FL 4KBRM 16MIPS 12bit ADC CTMU 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
PIC18F4610-E/ML 功能描述:8位微控制器 -MCU 64KB 3968 RAM 36 I/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
PIC18F4610-E/P 功能描述:8位微控制器 -MCU 64KB 3968 RAM 36 I/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
PIC18F4610-E/PT 功能描述:8位微控制器 -MCU 64KB 3968 RAM 36 I/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
PIC18F4610-I/ML 功能描述:8位微控制器 -MCU 64KB 3968 RAM 36 I/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