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

CY7C63413-PVC 参数 Datasheet PDF下载

CY7C63413-PVC图片预览
型号: CY7C63413-PVC
PDF下载: 下载PDF文件 查看货源
内容描述: 低速USB外设控制器 [Low-speed USB Peripheral Controller]
分类和应用: 控制器
文件页数/大小: 36 页 / 298 K
品牌: CYPRESS [ CYPRESS ]
 浏览型号CY7C63413-PVC的Datasheet PDF文件第5页浏览型号CY7C63413-PVC的Datasheet PDF文件第6页浏览型号CY7C63413-PVC的Datasheet PDF文件第7页浏览型号CY7C63413-PVC的Datasheet PDF文件第8页浏览型号CY7C63413-PVC的Datasheet PDF文件第10页浏览型号CY7C63413-PVC的Datasheet PDF文件第11页浏览型号CY7C63413-PVC的Datasheet PDF文件第12页浏览型号CY7C63413-PVC的Datasheet PDF文件第13页  
FOR  
FOR  
CY7C63411/12/13  
CY7C63511/12/13  
CY7C63612/13  
4.4  
8-bit Program Stack Pointer (PSP)  
During a reset, the Program Stack Pointer (PSP) is set to zero. This means the program stackstarts at RAM address 0x00 and  
growsupward from there. Note the program stack pointer is directly addressable under firmware control, using the MOV PSP,A  
instruction. The PSP supports interrupt service under hardware control and CALL, RET, and RETI instructions under firmware  
control.  
During an interrupt acknowledge, interrupts are disabled and the 14-bit program counter, carry flag, and zero flag are written as  
two bytes of data memory. The first byte is stored in the memory addressed by the program stack pointer, then the PSP is  
incremented. The second byte is stored in memory addressed by the program stack pointer and the PSP is incremented again.  
The net effect is to store the program counter and flags on the program stackand increment the program stack pointer by two.  
The Return From Interrupt (RETI) instruction decrements the program stack pointer, then restores the second byte from memory  
addressed by the PSP. The program stack pointer is decremented again and the first byte is restored from memory addressed  
by the PSP. After the program counter and flags have been restored from stack, the interrupts are enabled. The effect is to restore  
the program counter and flags from the program stack, decrement the program stack pointer by two, and re-enable interrupts.  
The Call Subroutine (CALL) instruction stores the program counter and flags on the program stack and increments the PSP by two.  
The Return From Subroutine (RET) instruction restores the program counter, but not the flags, from program stack and decre-  
ments the PSP by two.  
4.5  
8-bit Data Stack Pointer (DSP)  
The Data Stack Pointer (DSP) supports PUSH and POP instructions that use the data stack for temporary storage. A PUSH  
instruction will pre-decrement the DSP, then write data to the memory location addressed by the DSP. A POP instruction will read  
data from the memory location addressed by the DSP, then post-increment the DSP.  
During a reset, the Data Stack Pointer will be set to zero. A PUSH instruction when DSP equal zero will write data at the top of  
the data RAM (address 0xFF). This would write data to the memory area reserved for a FIFO for USB endpoint 0. In non-USB  
applications, this works fine and is not a problem. For USB applications, it is strongly recommended that the DSP is loaded after  
reset just below the USB DMA buffers.  
4.6  
Address Modes  
The CY7C63612/13 microcontrollers support three addressing modes for instructions that require data operands: data, direct,  
and indexed.  
4.6.1  
Data  
The Dataaddress mode refers to a data operand that is actually a constant encoded in the instruction. As an example, consider  
the instruction that loads A with the constant 0xE8h:  
MOV A,0E8h  
This instruction will require two bytes of code where the first byte identifies the MOV Ainstruction with a data operand as the  
second byte. The second byte of the instruction will be the constant 0xE8h. A constant may be referred to by name if a prior  
EQUstatement assigns the constant value to the name. For example, the following code is equivalent to the example shown  
above:  
DSPINIT: EQU 0E8h  
MOV A,DSPINIT  
4.6.2  
Direct  
Directaddress mode is used when the data operand is a variable stored in SRAM. In that case, the one byte address of the  
variable is encoded in the instruction. As an example, consider an instruction that loads A with the contents of memory address  
location 0x10h:  
MOV A, [10h]  
In normal usage, variable names are assigned to variable addresses using EQUstatements to improve the readability of the  
assembler source code. As an example, the following code is equivalent to the example shown above:  
buttons: EQU 10h  
MOV A,[buttons]  
4.6.3  
Indexed  
Indexedaddress mode allows the firmware to manipulate arrays of data stored in SRAM. The address of the data operand is  
the sum of a constant encoded in the instruction and the contents of the Xregister. In normal usage, the constant will be the  
baseaddress of an array of data and the X register will contain an index that indicates which element of the array is actually  
addressed:  
Document #: 38-08027 Rev. **  
Page 9 of 36