PIC18LF4331-I/P Microchip Technology, PIC18LF4331-I/P Datasheet - Page 75
![IC PIC MCU FLASH 4KX16 40DIP](/photos/6/61/66192/150-40-dip_sml.jpg)
PIC18LF4331-I/P
Manufacturer Part Number
PIC18LF4331-I/P
Description
IC PIC MCU FLASH 4KX16 40DIP
Manufacturer
Microchip Technology
Series
PIC® 18Fr
Datasheets
1.PIC16F616T-ISL.pdf
(8 pages)
2.PIC16F818-ISO.pdf
(6 pages)
3.PIC18F2331-ISO.pdf
(392 pages)
4.PIC18F2331-ISO.pdf
(8 pages)
5.PIC18F2331-ISO.pdf
(6 pages)
6.PIC18F2331-ISO.pdf
(16 pages)
7.PIC18LF2331-ISO.pdf
(4 pages)
8.PIC18LF2331-ISO.pdf
(40 pages)
9.PIC18F4331-EP.pdf
(400 pages)
Specifications of PIC18LF4331-I/P
Core Size
8-Bit
Program Memory Size
8KB (4K x 16)
Core Processor
PIC
Speed
40MHz
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, LVD, Power Control PWM, QEI, POR, PWM, WDT
Number Of I /o
36
Program Memory Type
FLASH
Eeprom Size
256 x 8
Ram Size
768 x 8
Voltage - Supply (vcc/vdd)
2 V ~ 5.5 V
Data Converters
A/D 9x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
40-DIP (0.600", 15.24mm)
Controller Family/series
PIC18
No. Of I/o's
36
Eeprom Memory Size
256Byte
Ram Memory Size
768Byte
Cpu Speed
40MHz
No. Of Timers
4
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC18LF4331-I/P
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Company:
Part Number:
PIC18LF4331-I/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
- PIC16F616T-ISL PDF datasheet
- PIC16F818-ISO PDF datasheet #2
- PIC18F2331-ISO PDF datasheet #3
- PIC18F2331-ISO PDF datasheet #4
- PIC18F2331-ISO PDF datasheet #5
- PIC18F2331-ISO PDF datasheet #6
- PIC18LF2331-ISO PDF datasheet #7
- PIC18LF2331-ISO PDF datasheet #8
- PIC18F4331-EP PDF datasheet #9
- Current page: 75 of 400
- Download datasheet (7Mb)
5.12
Indirect Addressing is a mode of addressing data mem-
ory, where the data memory address in the instruction
is not fixed. An FSR register is used as a pointer to the
data memory location that is to be read or written. Since
this pointer is in RAM, the contents can be modified by
the program. This can be useful for data tables in the
data memory and for software stacks. Figure 5-8
shows how the fetched instruction is modified prior to
being executed.
Indirect Addressing is possible by using one of the
INDFn registers. Any instruction using the INDFn reg-
ister actually accesses the register pointed to by the
File Select Register, FSRn. Reading the INDFn register
itself, indirectly (FSRn = 0), will read 00h. Writing to the
INDFn register, indirectly, results in a no operation. The
FSRn register contains a 12-bit address, which is
shown in Figure 5-9.
The INDFn register is not a physical register. Address-
ing INDFn actually addresses the register whose
address is contained in the FSRn register (FSRn is a
pointer). This is Indirect Addressing.
Example 5-5 shows a simple use of Indirect Address-
ing to clear the RAM in Bank 1 (locations 100h-1FFh)
in a minimum number of instructions.
EXAMPLE 5-5:
There are three Indirect Addressing registers. To
address the entire data memory space (4096 bytes),
these registers are 12 bits wide. To store the 12 bits of
addressing information, two 8-bit registers are
required:
1.
2.
3.
In addition, there are registers, INDF0, INDF1 and
INDF2, which are not physically implemented. Reading
or writing to these registers activates Indirect Address-
ing, with the value in the corresponding FSR register
being the address of the data. If an instruction writes a
value to INDF0, the value will be written to the address
pointed to by FSR0H:FSR0L. A read from INDF1 reads
the
FSR1H:FSR1L. INDFn can be used in code anywhere
an operand can be used.
© 2007 Microchip Technology Inc.
NEXT
CONTINUE
FSR0: composed of FSR0H:FSR0L.
FSR1: composed of FSR1H:FSR1L.
FSR2: composed of FSR2H:FSR2L.
data
Indirect Addressing, INDF and
FSR Registers
LFSR
CLRF
BTFSS FSR0H, 1
GOTO
from
FSR0, 0x100 ;
POSTINC0
NEXT
the
HOW TO CLEAR RAM
(BANK 1) USING
INDIRECT ADDRESSING
address
; Clear INDF
; register then
; inc pointer
; All done with
; Bank1?
; NO, clear next
; YES, continue
pointed
PIC18F2331/2431/4331/4431
to
Preliminary
by
If INDF0, INDF1 or INDF2 are read indirectly via a
FSRn, all ‘0’s are read (Zero bit is set). Similarly, if
INDF0, INDF1 or INDF2 are written to indirectly, the
operation will be equivalent to a NOP instruction and the
Status bits are not affected.
5.12.1
Each FSRn register has an INDFn register associated
with it, plus four additional register addresses. Perform-
ing an operation using one of these five registers
determines how the FSRn will be modified during
Indirect Addressing.
When data access is performed using one of the five
INDFn locations, the address selected will configure
the FSRn register to:
• Do nothing to FSRn after an indirect access (no
• Auto-decrement FSRn after an indirect access
• Auto-increment FSRn after an indirect access
• Auto-increment FSRn before an indirect access
• Use the value in the WREG register as an offset
When using the auto-increment or auto-decrement
features, the effect on the FSRn is not reflected in the
STATUS register. For example, if Indirect Addressing
causes the FSRn to equal ‘0’, the Z bit will not be set.
Auto-incrementing or auto-decrementing a FSRn
affects all 12 bits. That is, when FSRnL overflows from
an
automatically.
Adding these features allows the FSRn to be used as a
Stack Pointer in addition to its uses for table operations
in data memory.
Each FSRn has an address associated with it that
performs an indexed indirect access. When a data
access to this INDFn location (PLUSWn) occurs, the
FSRn is configured to add the signed value in the
WREG register and the value in FSRn to form the
address before an indirect access. The FSRn value is
not changed. The WREG offset range is -128 to +127.
If an FSRn register contains a value that points to one
of the INDFn, an indirect read will read 00h (Zero bit is
set), while an indirect write will be equivalent to a NOP
(Status bits are not affected).
If an Indirect Addressing write is performed when the
target address is an FSRnH or FSRnL register, the
data is written to the FSRn register, but no pre- or
post-increment/decrement is performed.
change) – INDFn
(post-decrement) – POSTDECn
(post-increment) – POSTINCn
(pre-increment) – PREINCn
to FSRn. Do not modify the value of the WREG or
the FSRn register after an indirect access (no
change) – PLUSWn
increment,
INDIRECT ADDRESSING
OPERATION
FSRnH
will
be
DS39616C-page 73
incremented
Related parts for PIC18LF4331-I/P
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![TC1014-2.7VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet:
![TC1014-5.0VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet:
![TC1055-2.5VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet:
![TC1055-2.7VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet:
![TC1055-2.8VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet:
![TC1055-4.0VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet:
![TC1186-2.5VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet:
![TC1186-2.85VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet: