PIC16F882-E/SS Microchip Technology, PIC16F882-E/SS Datasheet - Page 121

no-image

PIC16F882-E/SS

Manufacturer Part Number
PIC16F882-E/SS
Description
IC,MICROCONTROLLER,8-BIT,PIC CPU,CMOS,SSOP,28PIN,PLASTIC
Manufacturer
Microchip Technology
Series
PIC® 16Fr

Specifications of PIC16F882-E/SS

Core Processor
PIC
Core Size
8-Bit
Speed
20MHz
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
24
Program Memory Size
3.5KB (2K x 14)
Program Memory Type
FLASH
Eeprom Size
128 x 8
Ram Size
128 x 8
Voltage - Supply (vcc/vdd)
2 V ~ 5.5 V
Data Converters
A/D 11x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 125°C
Package / Case
28-SSOP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
An example of the complete eight-word write sequence
is shown in Example 10-4. The initial address is loaded
into the EEADRH and EEADR register pair; the eight
words of data are loaded using indirect addressing.
EXAMPLE 10-4:
© 2009 Microchip Technology Inc.
LOOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; This write routine assumes the following:
;
;
;
;
BANKSEL
MOVF
MOVWF
MOVF
MOVWF
MOVF
MOVWF
MOVF
MOVWF
INCF
MOVF
MOVWF
INCF
BANKSEL
BSF
BSF
BCF
BTFSC
GOTO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BCF
BSF
BANKSEL
MOVF
INCF
ANDLW
SUBLW
BTFSS
GOTO
A valid starting address (the least significant bits = '000')
is loaded in ADDRH:ADDRL
ADDRH, ADDRL and DATADDR are all located in data memory
EEADRH
ADDRH,W
EEADRH
ADDRL,W
EEADR
DATAADDR,W
FSR
INDF,W
EEDATA
FSR,F
INDF,W
EEDATH
FSR,F
EECON1
EECON1,EEPGD ; Point to program memory
EECON1,WREN ; Enable writes
INTCON,GIE
INTCON,GIE
$-2
55h
EECON2
0AAh
EECON2
EECON1,WR
EECON1,WREN ; Disable writes
INTCON,GIE
EEADR
EEADR, W
EEADR,F
0x0F
0x0F
STATUS,Z
LOOP
WRITING TO FLASH PROGRAM MEMORY
; Load initial address
;
;
;
; Load initial data address
;
; Load first data byte into lower
;
; Next byte
; Load second data byte into upper
;
;
; Disable interrupts (if using)
; See AN576
; Start of required write sequence:
; Write 55h
;
; Write 0AAh
; Set WR bit to begin write
; Required to transfer data to the buffer
; registers
; Enable interrupts (comment out if not using interrupts)
; Increment address
; Indicates when sixteen words have been programmed
;
;
;
;
; Exit on a match,
; Continue if more data needs to be written
Required Sequence
0x0F = 16 words
0x0B = 12 words (PIC16F884/883/882 only)
0x07 = 8 words
0x03 = 4 words(PIC16F884/883/882 only)
PIC16F882/883/884/886/887
DS41291F-page 119

Related parts for PIC16F882-E/SS