PIC16F505 Microchip Technology, PIC16F505 Datasheet - Page 27
![no-image](/images/manufacturer_photos/0/4/439/microchip_technology_sml.jpg)
PIC16F505
Manufacturer Part Number
PIC16F505
Description
(PIC1xF50x) 8-Bit Flash Microcontrollers
Manufacturer
Microchip Technology
Datasheet
1.PIC16F505.pdf
(98 pages)
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
PIC16F505-I/SL
Manufacturer:
Microchip Technology
Quantity:
28 714
4.7
As a program instruction is executed, the Program
Counter (PC) will contain the address of the next
program instruction to be executed. The PC value is
increased by one every instruction cycle, unless an
instruction changes the PC.
For a GOTO instruction, bits 8:0 of the PC are provided
by the GOTO instruction word. The Program Counter
(PCL) is mapped to PC<7:0>. Bit 5 of the Status
register provides page information to bit 9 of the PC
(Figure 4-6).
For a CALL instruction, or any instruction where the
PCL is the destination, bits 7:0 of the PC again are
provided by the instruction word. However, PC<8>
does not come from the instruction word, but is always
cleared (Figure 4-6).
Instructions where the PCL is the destination, or modify
PCL instructions, include MOVWF PC, ADDWF PC and
BSF PC,5.
FIGURE 4-6:
2004 Microchip Technology Inc.
CALL or Modify PCL Instruction
GOTO Instruction
Note:
PC
PC
Program Counter
11
11
Because PC<8> is cleared in the CALL
instruction or any modify PCL instruction,
all subroutine calls or computed jumps are
limited to the first 256 locations of any
program memory page (512 words long).
7
7
10
10
9
Status
9
Status
PA0
Reset to ‘0’
PA0
8 7
8 7
LOADING OF PC
BRANCH INSTRUCTIONS
Instruction Word
Instruction Word
PCL
PCL
0
0
0
0
Preliminary
PIC12F508/509/16F505
4.7.1
The PC is set upon a Reset, which means that the PC
addresses the last location in the last page (i.e., the
oscillator calibration instruction). After executing
MOVLW XX, the PC will roll over to location 00h and
begin executing user code.
The Status register page preselect bits are cleared upon
a Reset, which means that page 0 is pre-selected.
Therefore, upon a Reset, a
automatically cause the program to jump to page 0 until
the value of the page bits is altered.
4.8
The PIC12F508/509/16F505 devices have a 2-deep,
12-bit wide hardware PUSH/POP stack.
A CALL instruction will PUSH the current value of Stack 1
into Stack 2 and then PUSH the current PC value, incre-
mented by one, into Stack Level 1. If more than two
sequential CALLs are executed, only the most recent two
return addresses are stored.
A RETLW instruction will POP the contents of Stack
Level 1 into the PC and then copy Stack Level 2
contents into Stack Level 1. If more than two sequential
RETLWs are executed, the stack will be filled with the
address previously stored in Stack Level 2. Note that
the W register will be loaded with the literal value
specified in the instruction. This is particularly useful for
the implementation of data look-up tables within the
program memory.
Note 1: There are no Status bits to indicate stack
2: There are no instruction mnemonics
Stack
EFFECTS OF RESET
overflows or stack underflow conditions.
called PUSH or POP. These are actions
that occur from the execution of the CALL
and RETLW instructions.
GOTO instruction will
DS41236A-page 25