PIC12F509-I/P Microchip Technology Inc., PIC12F509-I/P Datasheet - Page 28

no-image

PIC12F509-I/P

Manufacturer Part Number
PIC12F509-I/P
Description
8 PIN, 1.5 KB FLASH, 41 RAM, 6 I/O
Manufacturer
Microchip Technology Inc.
Datasheet

Specifications of PIC12F509-I/P

Cpu Speed
1 MIPS
Eeprom Memory
0 Bytes
Frequency
4 MHz
Input Output
6
Memory Type
Flash
Number Of Bits
8
Package Type
8-pin PDIP
Programmable Memory
1.5K Bytes
Ram Size
41 Bytes
Speed
4 MHz
Timers
1-8-bit
Voltage, Range
2-5.5 V
Lead Free Status / Rohs Status
RoHS Compliant part Electrostatic Device

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC12F509-I/P
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
4.9
The INDF register is not a physical register.
Addressing INDF actually addresses the register
whose address is contained in the FSR register (FSR
is a pointer). This is indirect addressing.
4.9.1
• Register file 07 contains the value 10h
• Register file 08 contains the value 0Ah
• Load the value 07 into the FSR register
• A read of the INDF register will return the value
• Increment the value of the FSR register by one
• A read of the INDR register now will return the
Reading INDF itself indirectly (FSR = 0) will produce
00h. Writing to the INDF register indirectly results in a
no operation (although Status bits may be affected).
A simple program to clear RAM locations 10h-1Fh
using indirect addressing is shown in Example 4-1.
FIGURE 4-7:
PIC12F508/509/16F505
DS41236B-page 26
of 10h
(FSR = 08)
value of 0Ah.
Note 1: For register map detail, see Section 4.3 “Data Memory Organization”.
Indirect Data Addressing: INDF
and FSR Registers
INDIRECT ADDRESSING
2: PIC12F509.
Bank Select
(FSR)
6
DIRECT/INDIRECT ADDRESSING (PIC12F508/509)
5
Direct Addressing
Location Select
Data
Memory
4
(opcode)
(1)
00h
0Fh
10h
0
1Fh
Preliminary
Bank 0
00
3Fh
Bank 1
EXAMPLE 4-1:
The FSR is a 5-bit wide register. It is used in conjunction
with the INDF register to indirectly address the data
memory area.
The FSR<4:0> bits are used to select data memory
addresses 00h to 1Fh.
Addresses
map back to
addresses
in Bank 0.
PIC12F508 – Does not use banking. FSR <7:5> are
unimplemented and read as ‘1’s.
PIC12F509 – Uses FSR<5>. Selects between bank 0
and bank 1. FSR<7:6> is unimplemented, read as ‘1’.
PIC16F505 – Uses FSR<6:5>. Selects from bank 0 to
bank 3. FSR<7> is unimplemented, read as ‘1’.
01
NEXT
CONTINUE
(2)
MOVLW
MOVWF
CLRF
INCF
BTFSC
GOTO
:
:
0x10
FSR
INDF
FSR,F
FSR,4
NEXT
HOW TO CLEAR RAM
USING INDIRECT
ADDRESSING
6
© 2005 Microchip Technology Inc.
Indirect Addressing
Bank
5
;initialize pointer
;to RAM
;clear INDF
;register
;inc pointer
;all done?
;NO, clear next
;YES, continue
4
Location Select
(FSR)
0

Related parts for PIC12F509-I/P