C8051F320 Silicon Laboratories Inc, C8051F320 Datasheet - Page 80

no-image

C8051F320

Manufacturer Part Number
C8051F320
Description
IC 8051 MCU 16K FLASH 32LQFP
Manufacturer
Silicon Laboratories Inc
Series
C8051F32xr
Datasheet

Specifications of C8051F320

Core Processor
8051
Core Size
8-Bit
Speed
25MHz
Connectivity
SMBus (2-Wire/I²C), SPI, UART/USART, USB
Peripherals
Brown-out Detect/Reset, POR, PWM, Temp Sensor, WDT
Number Of I /o
25
Program Memory Size
16KB (16K x 8)
Program Memory Type
FLASH
Ram Size
2.25K x 8
Voltage - Supply (vcc/vdd)
2.7 V ~ 3.6 V
Data Converters
A/D 17x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
32-LQFP
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Eeprom Size
-

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
C8051F320
Manufacturer:
Silicon Laboratories Inc
Quantity:
10 000
Part Number:
C8051F320
Manufacturer:
SILICON LABS/芯科
Quantity:
20 000
Part Number:
C8051F320-GQ
Manufacturer:
SiliconL
Quantity:
18 793
Part Number:
C8051F320-GQ
Manufacturer:
SILICON
Quantity:
1
Part Number:
C8051F320-GQ
Manufacturer:
Silicon Laboratories Inc
Quantity:
10 000
Part Number:
C8051F320-GQR
Manufacturer:
SiliconL
Quantity:
1 000
Part Number:
C8051F320-GQR
Manufacturer:
Silicon Laboratories Inc
Quantity:
10 000
Part Number:
C8051F320-GQR
Manufacturer:
SILICON LABS/芯科
Quantity:
20 000
Part Number:
C8051F320DK
Manufacturer:
SiliconL
Quantity:
4
Part Number:
C8051F320R
Manufacturer:
Silicon Laboratories Inc
Quantity:
10 000
C8051F320/1
9.2.2. Data Memory
The CIP-51 includes 256 of internal RAM mapped into the data memory space from 0x00 through 0xFF. The lower
128 bytes of data memory are used for general purpose registers and scratch pad memory. Either direct or indirect
addressing may be used to access the lower 128 bytes of data memory. Locations 0x00 through 0x1F are addressable
as four banks of general purpose registers, each bank consisting of eight byte-wide registers. The next 16 bytes, loca-
tions 0x20 through 0x2F, may either be addressed as bytes or as 128 bit locations accessible with the direct address-
ing mode.
The upper 128 bytes of data memory are accessible only by indirect addressing. This region occupies the same
address space as the Special Function Registers (SFR) but is physically separate from the SFR space. The addressing
mode used by an instruction when accessing locations above 0x7F determines whether the CPU accesses the upper
128 bytes of data memory space or the SFRs. Instructions that use direct addressing will access the SFR space.
Instructions using indirect addressing above 0x7F access the upper 128 bytes of data memory. Figure 9.2 illustrates
the data memory organization of the CIP-51.
9.2.3. General Purpose Registers
The lower 32 bytes of data memory, locations 0x00 through 0x1F, may be addressed as four banks of general-purpose
registers. Each bank consists of eight byte-wide registers designated R0 through R7. Only one of these banks may be
enabled at a time. Two bits in the program status word, RS0 (PSW.3) and RS1 (PSW.4), select the active register bank
(see description of the PSW in Figure 9.6). This allows fast context switching when entering subroutines and inter-
rupt service routines. Indirect addressing modes use registers R0 and R1 as index registers.
9.2.4. Bit Addressable Locations
In addition to direct access to data memory organized as bytes, the sixteen data memory locations at 0x20 through
0x2F are also accessible as 128 individually addressable bits. Each bit has a bit address from 0x00 to 0x7F. Bit 0 of
the byte at 0x20 has bit address 0x00 while bit7 of the byte at 0x20 has bit address 0x07. Bit 7 of the byte at 0x2F has
bit address 0x7F. A bit access is distinguished from a full byte access by the type of instruction used (bit source or
destination operands as opposed to a byte source or destination).
The MCS-51™ assembly language allows an alternate notation for bit addressing of the form XX.B where XX is the
byte address and B is the bit position within the byte. For example, the instruction:
MOV
C, 22h.3
moves the Boolean value at 0x13 (bit 3 of the byte at location 0x22) into the Carry flag.
9.2.5. Stack
A programmer's stack can be located anywhere in the 256-byte data memory. The stack area is designated using the
Stack Pointer (SP, 0x81) SFR. The SP will point to the last location used. The next value pushed on the stack is placed
at SP+1 and then SP is incremented. A reset initializes the stack pointer to location 0x07. Therefore, the first value
pushed on the stack is placed at location 0x08, which is also the first register (R0) of register bank 1. Thus, if more
than one register bank is to be used, the SP should be initialized to a location in the data memory not being used for
data storage. The stack depth can extend up to 256 bytes.
80
Rev. 1.1

Related parts for C8051F320