欢迎访问ic37.com |
会员登录 免费注册
发布采购

PIC18F4520-I/PT 参数 Datasheet PDF下载

PIC18F4520-I/PT图片预览
型号: PIC18F4520-I/PT
PDF下载: 下载PDF文件 查看货源
内容描述: 28 /40/ 44引脚增强型闪存微控制器与10位A / D和纳瓦技术 [28/40/44-Pin Enhanced Flash Microcontrollers with 10-Bit A/D and nanoWatt Technology]
分类和应用: 闪存微控制器
文件页数/大小: 412 页 / 6898 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC18F4520-I/PT的Datasheet PDF文件第52页浏览型号PIC18F4520-I/PT的Datasheet PDF文件第53页浏览型号PIC18F4520-I/PT的Datasheet PDF文件第54页浏览型号PIC18F4520-I/PT的Datasheet PDF文件第55页浏览型号PIC18F4520-I/PT的Datasheet PDF文件第57页浏览型号PIC18F4520-I/PT的Datasheet PDF文件第58页浏览型号PIC18F4520-I/PT的Datasheet PDF文件第59页浏览型号PIC18F4520-I/PT的Datasheet PDF文件第60页  
PIC18F2420/2520/4420/4520  
The stack operates as a 31-word by 21-bit RAM and a  
5-bit Stack Pointer, STKPTR. The stack space is not  
part of either program or data space. The Stack Pointer  
is readable and writable and the address on the top of  
the stack is readable and writable through the Top-of-  
Stack (TOS) Special Function Registers. Data can also  
be pushed to, or popped from the stack, using these  
registers.  
5.1.1  
PROGRAM COUNTER  
The Program Counter (PC) specifies the address of the  
instruction to fetch for execution. The PC is 21 bits wide  
and is contained in three separate 8-bit registers. The  
low byte, known as the PCL register, is both readable  
and writable. The high byte, or PCH register, contains  
the PC<15:8> bits; it is not directly readable or writable.  
Updates to the PCH register are performed through the  
PCLATH register. The upper byte is called PCU. This  
register contains the PC<20:16> bits; it is also not  
directly readable or writable. Updates to the PCU  
register are performed through the PCLATU register.  
A CALLtype instruction causes a push onto the stack;  
the Stack Pointer is first incremented and the location  
pointed to by the Stack Pointer is written with the  
contents of the PC (already pointing to the instruction  
following the CALL). A RETURNtype instruction causes  
a pop from the stack; the contents of the location  
pointed to by the STKPTR are transferred to the PC  
and then the Stack Pointer is decremented.  
The contents of PCLATH and PCLATU are transferred  
to the program counter by any operation that writes  
PCL. Similarly, the upper two bytes of the program  
counter are transferred to PCLATH and PCLATU by an  
operation that reads PCL. This is useful for computed  
offsets to the PC (see Section 5.1.4.1 “Computed  
GOTO”).  
The Stack Pointer is initialized to ‘00000’ after all  
Resets. There is no RAM associated with the location  
corresponding to a Stack Pointer value of ‘00000’; this  
is only a Reset value. Status bits indicate if the stack is  
full, or has overflowed or underflowed.  
The PC addresses bytes in the program memory. To  
prevent the PC from becoming misaligned with word  
instructions, the Least Significant bit of PCL is fixed to  
a value of ‘0’. The PC increments by 2 to address  
sequential instructions in the program memory.  
5.1.2.1  
Top-of-Stack Access  
Only the top of the return address stack (TOS) is  
readable and writable. A set of three registers,  
TOSU:TOSH:TOSL, hold the contents of the stack loca-  
tion pointed to by the STKPTR register (Figure 5-2). This  
allows users to implement a software stack if necessary.  
After a CALL, RCALLor interrupt, the software can read  
the pushed value by reading the TOSU:TOSH:TOSL  
registers. These values can be placed on a user-defined  
software stack. At return time, the software can return  
these values to TOSU:TOSH:TOSL and do a return.  
The CALL, RCALL, GOTO and program branch  
instructions write to the program counter directly. For  
these instructions, the contents of PCLATH and  
PCLATU are not transferred to the program counter.  
5.1.2  
RETURN ADDRESS STACK  
The return address stack allows any combination of up  
to 31 program calls and interrupts to occur. The PC is  
pushed onto the stack when a CALLor RCALLinstruc-  
tion is executed or an interrupt is Acknowledged. The  
PC value is pulled off the stack on a RETURN, RETLW  
or a RETFIEinstruction. PCLATU and PCLATH are not  
affected by any of the RETURNor CALLinstructions.  
The user must disable the global interrupt enable bits  
while accessing the stack to prevent inadvertent stack  
corruption.  
FIGURE 5-2:  
RETURN ADDRESS STACK AND ASSOCIATED REGISTERS  
Return Address Stack <20:0>  
11111  
11110  
11101  
Top-of-Stack Registers  
Stack Pointer  
STKPTR<4:0>  
TOSU  
00h  
TOSH  
1Ah  
TOSL  
34h  
00010  
00011  
00010  
00001  
00000  
001A34h  
000D58h  
Top-of-Stack  
DS39631E-page 54  
© 2008 Microchip Technology Inc.