C8051F019 Silicon Laboratories Inc, C8051F019 Datasheet - Page 69
![IC 8051 MCU 16K FLASH 48TQFP](/photos/15/92/159280/tqfp-48_sml.jpg)
C8051F019
Manufacturer Part Number
C8051F019
Description
IC 8051 MCU 16K FLASH 48TQFP
Manufacturer
Silicon Laboratories Inc
Series
C8051F018r
Specifications of C8051F019
Core Processor
8051
Core Size
8-Bit
Speed
25MHz
Connectivity
SMBus (2-Wire/I²C), SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, Temp Sensor, WDT
Number Of I /o
16
Program Memory Size
16KB (16K x 8)
Program Memory Type
FLASH
Ram Size
1.25K x 8
Voltage - Supply (vcc/vdd)
2.8 V ~ 3.6 V
Data Converters
A/D 8x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
48-TQFP, 48-VQFP
Data Bus Width
8 bit
Data Ram Size
1.25 KB
Interface Type
I2C, SMBus, SPI, UART
Maximum Clock Frequency
25 MHz
Number Of Programmable I/os
16
Number Of Timers
16 bit
Operating Supply Voltage
2.8 V to 3.6 V
Maximum Operating Temperature
+ 85 C
Mounting Style
SMD/SMT
Minimum Operating Temperature
- 40 C
On-chip Adc
10 bit, 8 Channel
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Eeprom Size
-
Lead Free Status / Rohs Status
No
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
C8051F019
Manufacturer:
Silicon Laboratories Inc
Quantity:
10 000
Company:
Part Number:
C8051F019-GQ
Manufacturer:
Silicon Laboratories Inc
Quantity:
10 000
Company:
Part Number:
C8051F019-GQR
Manufacturer:
Silicon Laboratories Inc
Quantity:
10 000
Company:
Part Number:
C8051F019R
Manufacturer:
Silicon Laboratories Inc
Quantity:
10 000
9. FLASH MEMORY
These devices include 16k + 128 bytes of on-chip, reprogrammable Flash memory for program code and non-
volatile data storage. The Flash memory can be programmed in-system, a single byte at a time, through the JTAG
interface or by software using the MOVX instruction. Once cleared to 0, a Flash bit must be erased to set it back to
1. The bytes would typically be erased (set to 0xFF) before being reprogrammed. The write and erase operations
are automatically timed by hardware for proper execution. Data polling to determine the end of the write/erase
operation is not required. Refer to Table 9.1 for the electrical characteristics of the Flash memory.
9.1.
The simplest means of programming the Flash memory is through the JTAG interface using programming tools
provided by Silicon Labs or a third party vendor. This is the only means for programming a non-initialized device.
For details on the JTAG commands to program Flash memory, see Section 19.2.
The Flash memory can be programmed by software using the MOVX instruction with the address and data byte to
be programmed provided as normal operands.
operations must be enabled by setting the PSWE Program Store Write Enable bit (PSCTL.0) to logic 1. Writing to
Flash remains enabled until the PSWE bit is cleared by software.
Writes to Flash memory can clear bits but cannot set them. Only an erase operation can set bits in Flash. Therefore,
the byte location to be programmed must be erased before a new value can be written. The 16kbyte Flash memory
is organized in 512-byte sectors. The erase operation applies to an entire sector (setting all bytes in the sector to
0xFF). Setting the PSEE Program Store Erase Enable bit (PSCTL.1) and PSWE (PSCTL.0) bit to logic 1 and then
using the MOVX command to write a data byte to any byte location within the sector will erase an entire 512-byte
sector. The data byte written can be of any value because it is not actually written to the Flash. Flash erasure
remains enabled until the PSEE bit is cleared by software. The following sequence illustrates the algorithm for
programming the Flash memory by software:
Write/Erase timing is automatically controlled by hardware based on the prescaler value held in the Flash Memory
Timing Prescaler register (FLSCL). The 4-bit prescaler value FLASCL determines the time interval for write/erase
operations. The FLASCL value required for a given system clock is shown in Figure 9.4, along with the formula
used to derive the FLASCL values. When FLASCL is set to 1111b, the write/erase operations are disabled. Note
that code execution in the 8051 is stalled while the Flash is being programmed or erased.
VDD = 2.8 to 3.6V, -40C to +85C unless otherwise specified.
Endurance
Erase Cycle Time
Write Cycle Time
69
C8051F018
C8051F019
1. Enable Flash Memory write/erase in FLSCL Register using FLASCL bits.
2. Set PSEE (PSCTL.1) to enable Flash sector erase.
3. Set PSWE (PSCTL.0) to enable Flash writes.
4. Use MOVX to write a data byte to any location within the 512-byte sector to be erased.
5. Clear PSEE to disable Flash sector erase.
6. Use MOVX to write a data byte to the desired byte location within the erased 512-byte sector. Repeat until
7. Clear the PSWE bit to disable Flash writes.
PARAMETER
finished. (Any number of bytes can be written from a single byte to and entire sector.)
Programming The Flash Memory
Table 9.1. FLASH Memory Electrical Characteristics
CONDITIONS
Before writing to Flash memory using MOVX, Flash write
Rev. 1.2
MIN
20k
10
40
TYP
100k
MAX
Erase/Wr
UNITS
ms
s