PIC16F872-I/SO Microchip Technology, PIC16F872-I/SO Datasheet - Page 25

IC MCU FLASH 2KX14 EE 28SOIC

PIC16F872-I/SO

Manufacturer Part Number
PIC16F872-I/SO
Description
IC MCU FLASH 2KX14 EE 28SOIC
Manufacturer
Microchip Technology
Series
PIC® 16Fr

Specifications of PIC16F872-I/SO

Program Memory Type
FLASH
Program Memory Size
3.5KB (2K x 14)
Package / Case
28-SOIC (7.5mm Width)
Core Processor
PIC
Core Size
8-Bit
Speed
20MHz
Connectivity
I²C, SPI
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
22
Eeprom Size
64 x 8
Ram Size
128 x 8
Voltage - Supply (vcc/vdd)
4 V ~ 5.5 V
Data Converters
A/D 5x10b
Oscillator Type
External
Operating Temperature
-40°C ~ 85°C
Processor Series
PIC16F
Core
PIC
Data Bus Width
8 bit
Data Ram Size
128 B
Interface Type
I2C/SPI/SSP
Maximum Clock Frequency
20 MHz
Number Of Programmable I/os
22
Number Of Timers
3
Operating Supply Voltage
4 V to 5.5 V
Maximum Operating Temperature
+ 85 C
Mounting Style
SMD/SMT
3rd Party Development Tools
52715-96, 52716-328, 52717-734
Development Tools By Supplier
PG164130, DV164035, DV244005, DV164005, PG164120, ICE2000, DM163022
Minimum Operating Temperature
- 40 C
On-chip Adc
5-ch x 10-bit
Package
28SOIC W
Device Core
PIC
Family Name
PIC16
Maximum Speed
20 MHz
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
XLT28SO-1 - SOCKET TRANSITION 28SOIC 300MIL309-1073 - ADAPTER 28-SOIC TO 28-SOIC309-1024 - ADAPTER 28-SOIC TO 28-DIP309-1023 - ADAPTER 28-SOIC TO 28-DIP
Lead Free Status / Rohs Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC16F872-I/SO
Manufacturer:
MICROCHI
Quantity:
470
Part Number:
PIC16F872-I/SO
Manufacturer:
TI
Quantity:
5
Part Number:
PIC16F872-I/SO
Manufacturer:
MIC
Quantity:
20 000
Company:
Part Number:
PIC16F872-I/SO
Quantity:
5 000
3.0
The Data EEPROM and FLASH Program Memory are
readable and writable during normal operation over the
entire V
gle byte for Data EEPROM memory and a single word
for Program memory. A write operation causes an
erase-then-write operation to take place on the speci-
fied byte or word. A bulk erase operation may not be
issued from user code (which includes removing code
protection).
Access to program memory allows for checksum calcu-
lation. The values written to Program memory do not
need to be valid instructions. Therefore, numbers of up
to 14 bits can be stored in memory for use as calibra-
tion parameters, serial numbers, packed 7-bit ASCII,
etc. Executing a program memory location, containing
data that forms an invalid instruction, results in the exe-
cution of a NOP instruction.
The EEPROM Data memory is rated for high erase/
write cycles (specification #D120). The FLASH Pro-
gram memory is rated much lower (specification
#D130) because EEPROM Data memory can be used
to store frequently updated values. An on-chip timer
controls the write time and it will vary with voltage and
temperature, as well as from chip to chip. Please refer
to the specifications for exact limits (specifications
#D122 and #D133).
A byte or word write automatically erases the location
and writes the new value (erase before write). Writing
to EEPROM Data memory does not impact the opera-
tion of the device. Writing to Program memory will
cease the execution of instructions until the write is
complete. The program memory cannot be accessed
during the write. During the write operation, the oscilla-
tor continues to run, the peripherals continue to func-
tion and interrupt events will be detected and
essentially “queued” until the write is complete. When
the write completes, the next instruction in the pipeline
is executed and the branch to the interrupt vector will
take place if the interrupt is enabled and occurred dur-
ing the write.
Read and write access to both memories take place
indirectly through a set of Special Function Registers
(SFR). The six SFRs used are:
• EEDATA
• EEDATH
• EEADR
• EEADRH
• EECON1
• EECON2
© 2006 Microchip Technology Inc.
DD
DATA EEPROM AND FLASH
PROGRAM MEMORY
range. These operations take place on a sin-
The EEPROM Data memory allows byte read and write
operations without interfering with the normal operation
of the microcontroller. When interfacing to EEPROM
Data memory, the EEADR register holds the address to
be accessed. Depending on the operation, the EEDATA
register holds the data to be written or the data read at
the address in EEADR. The PIC16F872 has 64 bytes of
EEPROM Data memory and therefore, requires that the
two Most Significant bits of EEADR remain clear.
EEPROM Data memory on these devices wraps around
to 0 (i.e., 40h in the EEADR maps to 00h).
The FLASH Program memory allows non-intrusive
read access, but write operations cause the device to
stop executing instructions until the write completes.
When interfacing to the Program memory, the
EEADRH:EEADR registers pair forms a two-byte word
which holds the 13-bit address of the memory location
being accessed. The EEDATH:EEDATA register pair
holds the 14-bit data for writes or reflects the value of
program memory after a read operation. Just as in
EEPROM Data memory accesses, the value of the
EEADRH:EEADR registers must be within the valid
range of program memory, depending on the device
(0000h to 07FFh). Addresses outside of this range
wrap around to 0000h (i.e., 0800h maps to 0000h).
3.1
The EECON1 register is the control register for config-
uring and initiating the access. The EECON2 register is
not a physically implemented register, but is used
exclusively in the memory write sequence to prevent
inadvertent writes.
There are many bits used to control the read and write
operations to EEPROM Data and FLASH Program
memory. The EEPGD bit determines if the access will
be a program or data memory access. When clear, any
subsequent operations will work on the EEPROM Data
memory. When set, all subsequent operations will
operate in the Program memory.
Read operations only use one additional bit, RD, which
initiates the read operation from the desired memory
location. Once this bit is set, the value of the desired
memory location will be available in the data registers.
This bit cannot be cleared by firmware. It is automati-
cally cleared at the end of the read operation. For
EEPROM Data memory reads, the data will be avail-
able in the EEDATA register in the very next instruction
cycle after the RD bit is set. For program memory
reads,
EEDATH:EEDATA registers, following the second
instruction after the RD bit is set.
EECON1 and EECON2 Registers
the
data
will
PIC16F872
be
loaded
DS30221C-page 23
into
the

Related parts for PIC16F872-I/SO