PIC16F877-04/P Microchip Technology Inc., PIC16F877-04/P Datasheet - Page 29
![no-image](/images/manufacturer_photos/0/4/440/microchip_technology_inc__sml.jpg)
PIC16F877-04/P
Manufacturer Part Number
PIC16F877-04/P
Description
40 PIN, 7 KB FLASH, 368 RAM, 33 I/O
Manufacturer
Microchip Technology Inc.
Datasheet
1.PIC16F877-04P.pdf
(218 pages)
Specifications of PIC16F877-04/P
A/d Inputs
8-Channel, 10-Bit
Comparators
2
Cpu Speed
5 MIPS
Eeprom Memory
256 Bytes
Input Output
33
Interface
I2C/SPI/USART
Memory Type
Flash
Number Of Bits
8
Package Type
40-pin PDIP
Programmable Memory
14K Bytes
Ram Size
368 Bytes
Speed
20 MHz
Timers
2-8-bit, 1-16-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
Company:
Part Number:
PIC16F877-04/P
Manufacturer:
MIC
Quantity:
11 200
Company:
Part Number:
PIC16F877-04/PQ
Manufacturer:
Microchip Technology
Quantity:
135
Company:
Part Number:
PIC16F877-04/PQ
Manufacturer:
Microchip Technology
Quantity:
10 000
Company:
Part Number:
PIC16F877-04/PT
Manufacturer:
MIC
Quantity:
12
Company:
Part Number:
PIC16F877-04/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC16F877-04/PT
Manufacturer:
MIC
Quantity:
20 000
2.5
The INDF register is not a physical register. Addressing
the INDF register will cause indirect addressing.
Indirect addressing is possible by using the INDF reg-
ister. Any instruction using the INDF register actually
accesses the register pointed to by the File Select Reg-
ister, FSR. Reading the INDF register itself, indirectly
(FSR = ’0’) will read 00h. Writing to the INDF register
indirectly results in a no operation (although status bits
may be affected). An effective 9-bit address is obtained
by concatenating the 8-bit FSR register and the IRP bit
(STATUS<7>), as shown in Figure 2-6.
FIGURE 2-6:
Bank Select
2001 Microchip Technology Inc.
RP1:RP0
Note 1: For register file map detail, see Figure 2-3.
Indirect Addressing, INDF and
FSR Registers
Location Select
6
Direct Addressing
Data
Memory
DIRECT/INDIRECT ADDRESSING
From Opcode
(1)
00h
7Fh
Bank 0
00
0
80h
FFh
Bank 1
01
100h
17Fh
Bank 2
10
A simple program to clear RAM locations 20h-2Fh
using indirect addressing is shown in Example 2-2.
EXAMPLE 2-2:
NEXT
CONTINUE
180h
1FFh
Bank 3
11
MOVLW 0x20
MOVWF FSR
CLRF
INCF
BTFSS FSR,4
GOTO
:
IRP
Bank Select
INDF
FSR,F
NEXT
7
INDIRECT ADDRESSING
Indirect Addressing
PIC16F87X
;initialize pointer
;to RAM
;clear INDF register
;inc pointer
;all done?
;no clear next
;yes continue
FSR register
DS30292C-page 27
Location Select
0