ST7FOXA0
8-bit MCU with single voltage Flash memory,
ADC, timers
Features
■
Memories
– 2 Kbytes single voltage extended Flash
(XFlash) Program memory with
Read-Out Protection
In-Circuit Programming and In-Application
programming (ICP and IAP)
Endurance: 1K write/erase cycles
guaranteed
Data retention: 20 years at 55 °C
– 128 bytes RAM
Clock, Reset and Supply Management
– Low voltage supervisor (LVD) for safe
power-on/off
– Clock sources: Internal trimmable 8 MHz
RC oscillator, auto wakeup internal low
power - low frequency oscillator or external
clock
– External reset source and watchdog reset
– Five power saving modes: Halt, Active-Halt,
Auto Wakeup from Halt, Wait and Slow
I/O Ports
– 5 multifunctional bidirectional I/Os
– 1 additional output line
– 5 high sink outputs
SO8
DIP8
■
■
■
bs
O
et
l
o
od
r
P
e
uc
s)
t(
O
-
■
■
■
so
b
2 timers
– One 8-bit Lite timer with prescaler
including: watchdog,
1 real time base and 1 input capture
– Single 12-bit Auto-reload timer with 1 PWM
output, input capture, output compare,
dead-time generation and enhanced one
pulse mode functions
te
le
ro
P
uc
d
s)
t(
A/D converter: 5 input channels
Interrupt management
– 11 interrupt vectors plus TRAP and RESET
Instruction set
– 8-bit data manipulation
– 63 basic instructions with illegal opcode
detection
– 17 main addressing modes
– 8 x 8 unsigned multiply instructions
Development tools
– Full HW/SW development package
– DM (Debug Module)
ST7FOXA0
2K
128 (64)
■
Table 1.
Device summary
Features
Program memory - bytes
RAM (stack) - bytes
Timers
ADC
Packages
1 x 8-bit timer, 1 x 12-bit AT (1 PWM)
1 x 10-bit
SO8 150”, DIP8 300”
February 2008
Rev 3
1/123
www.st.com
1
Contents
ST7FOXA0
Contents
1
2
3
4
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Register and memory mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Flash programmable memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1
4.2
4.3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Programming modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3.1
4.3.2
In-Circuit Programming (ICP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
In Application Programming (IAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4
4.5
ICC interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Memory protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.5.1
4.5.2
Read-out protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Flash write/erase protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.6
4.7
Related documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Description of Flash Control/Status register (FCSR) . . . . . . . . . . . . . . . . 20
5
Central processing unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
CPU registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.3.1
5.3.2
5.3.3
5.3.4
5.3.5
Accumulator (A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Index registers (X and Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Program Counter (PC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Condition Code register (CC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Stack Pointer (SP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
b
O
6
et
l
so
5.2
5.3
ro
P
e
uc
d
s)
t(
O
-
so
b
te
le
ro
P
uc
d
s)
t(
Supply, reset and clock management . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.1
RC oscillator adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.1.1
6.1.2
6.1.3
Internal RC oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Customized RC calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Auto wakeup RC oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2/123
ST7FOXA0
Contents
6.2
Multi-oscillator (MO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.2.1
6.2.2
External clock source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Internal RC oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3
Reset sequence manager (RSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3.1
6.3.2
6.3.3
6.3.4
6.3.5
6.3.6
6.3.7
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Asynchronous external RESET pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
External power-on reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Internal Low Voltage Detector (LVD) reset . . . . . . . . . . . . . . . . . . . . . . . 32
Internal watchdog reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Multiplexed IO reset control register 1 (MUXCR1) . . . . . . . . . . . . . . . . . 34
Multiplexed IO reset control register 0 (MUXCR0) . . . . . . . . . . . . . . . . . 34
6.4
6.5
System Integrity management (SI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.4.1
Low Voltage Detector (LVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
RC calibration control/status register (RCC_CSR) . . . . . . . . . . . . . . . . 37
Main Clock Control/Status Register (MCCSR) . . . . . . . . . . . . . . . . . . . 37
RC Control Register High (RCCRH) . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
RC Control Register Low (RCCRL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Prescaler register (PSCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Clock controller control/status register (CKCNTCSR) . . . . . . . . . . . . . . 40
7
Power saving modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.1
7.2
7.3
b
O
et
l
so
ro
P
e
7.4.1
7.4.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Slow mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Wait mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Active-halt and halt modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Active-halt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Halt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
uc
d
s)
t(
O
-
so
b
te
le
ro
P
uc
d
s)
t(
7.4
7.5
Auto wakeup from halt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.5.1
7.5.2
7.5.3
Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
AWUFH Control/Status Register (AWUCSR) . . . . . . . . . . . . . . . . . . . . 51
AWUFH Prescaler Register (AWUPR) . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8
I/O ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.1
8.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3/123
Contents
8.2.1
8.2.2
8.2.3
8.2.4
ST7FOXA0
Input modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Output modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Alternate functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Analog alternate function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.3
8.4
8.5
8.6
8.7
I/O port implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Unused I/O pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Low power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Device-specific I/O port configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9
On-chip peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.1
Lite Timer (LT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.1.1
9.1.2
9.1.3
9.1.4
9.1.5
9.1.6
9.1.7
9.1.8
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Input capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Low power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.2
12-bit Autoreload Timer (AT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.2.1
9.2.2
9.2.4
9.2.5
9.2.6
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Low power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
b
O
et
l
so
ro
P
e
9.2.3
9.3.1
9.3.2
9.3.3
9.3.4
9.3.5
9.3.6
uc
d
s)
t(
O
-
so
b
te
le
ro
P
uc
d
s)
t(
9.3
10-bit A/D converter (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Low power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
10
Instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4/123
ST7FOXA0
Contents
10.1
ST7 addressing modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.1.1
10.1.2
10.1.3
10.1.4
10.1.5
10.1.6
10.1.7
Inherent mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Immediate mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Direct modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Indexed modes (No Offset, Short, Long) . . . . . . . . . . . . . . . . . . . . . . . . 80
Indirect modes (Short, Long) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Indirect indexed modes (Short, Long) . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Relative modes (direct, indirect) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
10.2
Instruction groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.2.1
Illegal opcode reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
11
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
11.1
11.2
11.3
Non maskable software interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
External interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Peripheral interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
11.3.1
11.3.2
External Interrupt Control Register 1 (EICR1) . . . . . . . . . . . . . . . . . . . . 90
External Interrupt Control Register 2 (EICR2) . . . . . . . . . . . . . . . . . . . . 91
12
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
12.1
Parameter conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
12.1.1
12.1.2
12.1.3
12.1.4
12.1.5
b
O
et
l
so
ro
P
e
12.3.1
12.3.2
12.3.3
uc
d
Minimum and maximum values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Typical values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Typical curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Pin input voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
s)
t(
O
-
so
b
te
le
ro
P
uc
d
s)
t(
Loading capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
12.2
12.3
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
General operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Operating conditions with Low Voltage Detector (LVD) . . . . . . . . . . . . . 95
Internal RC oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
12.4
Supply current characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
12.4.1
12.4.2
Supply current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
On-chip peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
12.5
12.6
Clock and timing characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
12.5.1
Auto wakeup from Halt oscillator (AWU) . . . . . . . . . . . . . . . . . . . . . . . . 98
Memory characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5/123