PIC18F2520-I/SO Microchip Technology Inc., PIC18F2520-I/SO Datasheet - Page 57

no-image

PIC18F2520-I/SO

Manufacturer Part Number
PIC18F2520-I/SO
Description
28 Pin, 32 KB Flash, 1536 RAM, 25 I/O
Manufacturer
Microchip Technology Inc.
Datasheet

Specifications of PIC18F2520-I/SO

A/d Inputs
10-Channel, 10-Bit
Comparators
2
Cpu Speed
10 MIPS
Eeprom Memory
256 Bytes
Input Output
25
Interface
I2C/SPI/USART
Memory Type
Flash
Number Of Bits
8
Package Type
28-pin SOIC
Programmable Memory
32K Bytes
Ram Size
1.5K Bytes
Speed
40 MHz
Timers
1-8-bit, 3-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
Part Number:
PIC18F2520-I/SO
Manufacturer:
SEMIKRON
Quantity:
120
Part Number:
PIC18F2520-I/SO
Manufacturer:
MICROCHIP
Quantity:
91
Part Number:
PIC18F2520-I/SO
Manufacturer:
MIC
Quantity:
6
Part Number:
PIC18F2520-I/SO
Manufacturer:
Microchip
Quantity:
621
Part Number:
PIC18F2520-I/SO
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Part Number:
PIC18F2520-I/SO
0
Company:
Part Number:
PIC18F2520-I/SO
Quantity:
10 000
5.1.2.2
The STKPTR register (Register 5-1) contains the stack
pointer value, the STKFUL (stack full) status bit and the
STKUNF (stack underflow) status bits. The value of the
stack pointer can be 0 through 31. The stack pointer
increments before values are pushed onto the stack
and decrements after values are popped off the stack.
On Reset, the stack pointer value will be zero. The user
may read and write the stack pointer value. This feature
can be used by a Real-Time Operating System (RTOS)
for return stack maintenance.
After the PC is pushed onto the stack 31 times (without
popping any values off the stack), the STKFUL bit is
set. The STKFUL bit is cleared by software or by a
POR.
The action that takes place when the stack becomes
full depends on the state of the STVREN (Stack Over-
flow Reset Enable) configuration bit. (Refer to
Section 23.1 “Configuration Bits” for a description of
the device configuration bits.) If STVREN is set
(default), the 31st push will push the (PC + 2) value
onto the stack, set the STKFUL bit and reset the
device. The STKFUL bit will remain set and the stack
pointer will be set to zero.
If STVREN is cleared, the STKFUL bit will be set on the
31st push and the stack pointer will increment to 31.
Any additional pushes will not overwrite the 31st push
and STKPTR will remain at 31.
REGISTER 5-1:
 2004 Microchip Technology Inc.
bit 7
bit 6
bit 5
bit 4-0
Return Stack Pointer (STKPTR)
STKPTR REGISTER
bit 7
STKFUL: Stack Full Flag bit
1 = Stack became full or overflowed
0 = Stack has not become full or overflowed
STKUNF: Stack Underflow Flag bit
1 = Stack underflow occurred
0 = Stack underflow did not occur
Unimplemented: Read as ‘0’
SP4:SP0: Stack Pointer Location bits
Legend:
R = Readable bit
-n = Value at POR
STKFUL
Note 1: Bit 7 and bit 6 are cleared by user software or by a POR.
R/C-0
(1)
STKUNF
R/C-0
PIC18F2420/2520/4420/4520
(1)
W = Writable bit
‘1’ = Bit is set
Preliminary
(1)
U-0
(1)
R/W-0
When the stack has been popped enough times to
unload the stack, the next pop will return a value of zero
to the PC and sets the STKUNF bit, while the stack
pointer remains at zero. The STKUNF bit will remain
set until cleared by software or until a POR occurs.
5.1.2.3
Since the Top-of-Stack is readable and writable, the
ability to push values onto the stack and pull values off
the stack without disturbing normal program execution
is a desirable feature. The PIC18 instruction set
includes two instructions, PUSH and POP, that permit
the TOS to be manipulated under software control.
TOSU, TOSH and TOSL can be modified to place data
or a return address on the stack.
The PUSH instruction places the current PC value onto
the stack. This increments the stack pointer and loads
the current PC value onto the stack.
The POP instruction discards the current TOS by decre-
menting the stack pointer. The previous value pushed
onto the stack then becomes the TOS value.
SP4
Note:
U = Unimplemented
‘0’ = Bit is cleared
R/W-0
Returning a value of zero to the PC on an
underflow has the effect of vectoring the
program to the Reset vector, where the
stack conditions can be verified and
appropriate actions can be taken. This is
not the same as a Reset, as the contents
of the SFRs are not affected.
SP3
PUSH and POP Instructions
R/W-0
SP2
C = Clearable only bit
x = Bit is unknown
R/W-0
SP1
DS39631A-page 55
R/W-0
SP0
bit 0

Related parts for PIC18F2520-I/SO