DatasheetQ Logo
Electronic component search and free download site. Transistors,MosFET ,Diode,Integrated circuits

PIC16LC8X-04 查看數據表(PDF) - Microchip Technology

零件编号
产品描述 (功能)
生产厂家
PIC16LC8X-04
Microchip
Microchip Technology 
PIC16LC8X-04 Datasheet PDF : 117 Pages
First Prev 11 12 13 14 15 16 17 18 19 20 Next Last
PIC16C8X
4.3 PCL and PCLATH
The Program Counter (PC) is 13-bits wide. The low
byte is the PCL register, which is a readable and
writable register. The high byte of the PC (PC<12:8>) is
not directly readable nor writable and comes from the
PCLATH register. The PCLATH (PC latch high) register
is a holding register for PC<12:8>. The contents of
PCLATH are transferred to the upper byte of the
program counter when the PC is loaded with a new
value. This occurs during a CALL, GOTO or a write to
PCL. The high bits of PC are loaded from PCLATH as
shown in Figure 4-6.
FIGURE 4-6: LOADING OF PC IN
DIFFERENT SITUATIONS
PCH
PCL
12
87
PC
PCLATH<4:0>
5
0
INST with PCL
as dest
8
ALU result
PCLATH
PCH
PCL
12 11 10 8 7
0
PC
2
PCLATH<4:3>
GOTO, CALL
11
Opcode <10:0>
PCLATH
4.3.1 COMPUTED GOTO
A computed GOTO is accomplished by adding an offset
to the program counter (ADDWF PCL). When doing a
table read using a computed GOTO method, care
should be exercised if the table location crosses a PCL
memory boundary (each 256 byte block). Refer to the
application note “Implementing a Table Read” (AN556).
4.3.2 STACK
The PIC16CXX has an 8 deep x 13-bit wide hardware
stack (Figure 4-1). The stack space is not part of either
program or data space and the stack pointer is not
readable or writable. The entire 13-bit PC is PUSH'ed
onto the stack when a CALL instruction is executed or
an interrupt is acknowledged. The stack is POP'ed in
the event of a RETURN, RETLW or a RETFIE instruction
execution. PCLATH is not affected by a PUSH or a
POP operation.
The stack operates as a circular buffer. That is, after the
stack has been PUSH'ed eight times, the ninth push
overwrites the value that was stored from the first push.
The tenth push overwrites the second push (and so on).
If the stack is effectively POP'ed nine times, the PC
value is the same as the value from the first POP.
Note 1: There are no status bits to indicate stack
overflow or stack underflow conditions.
Note 2: There are no instructions mnemonics
called PUSH or POP. These are actions
that occur from the execution of the CALL,
RETURN, RETLW, and RETFIE instruc-
tions, or the vectoring to an interrupt
address
4.3.3 PROGRAM MEMORY PAGING
The PIC16C83 and PIC16CR83 have 512 words of
program memory. The PIC16C84, PIC16C84A, and
PIC16CR84 have 1K of program memory. The CALL
and GOTO instructions have an 11-bit address range.
This 11-bit address range allows a branch within a 2K
program memory page size. For future PIC16C8X
program memory expansion, there must be another
two bits to specify the program memory page. These
paging bits come from the PCLATH<4:3> bits
(Figure 4-6). When doing a CALL or a GOTO instruction,
the user must ensure that these page bits
(PCLATH<4:3>) are programmed to the desired
program memory page. If a CALL instruction (or
interrupt) is executed, the entire 13-bit PC is pushed
onto the stack. Therefore, manipulation of the
PCLATH<4:3> is not required for the return instructions
(which POPs the PC from the stack).
Note:
The PIC16C8X ignores the PCLATH<4:3>
bits, which are used for program memory
pages 1, 2 and 3 (0800h - 1FFFh). The use
of PCLATH<4:3> as general purpose R/W
bits is not recommended since this may
affect upward compatibility with future
products.
DS30081F-page 18
© 1995 Microchip Technology Inc.

Share Link: 

datasheetq.com  [ Privacy Policy ]Request Datasheet ] [ Contact Us ]