MOTOROLA MC68HC11K4MFN4 Technical summary 8-bit microcontroller Datasheet

MOTOROLA
SEMICONDUCTOR
Order this document
by MC68HC11KTS/D
TECHNICAL DATA
M68HC11 K Series
Technical Summary
8-Bit Microcontroller
The M68HC11 K-series microcontroller units (MCUs) are high-performance derivatives of the
MC68HC11F1 and have several additional features. The MC68HC11K0, MC68HC11K1,
MC68HC11K3, MC68HC11K4 and MC68HC711K4 comprise the series. These MCUs, with a nonmultiplexed expanded bus, are characterized by high speed and low power consumption. Their fully static
design allows operation at frequencies from 4 MHz to dc.
This document contains information concerning standard, custom-ROM, and extended-voltage devices. Standard devices include those with disabled ROM (MC68HC11K1), disabled EEPROM
(MC68HC11K3), disabled ROM and EEPROM (MC68HC11K0), or EPROM replacing ROM
(MC68HC711K4). Custom-ROM devices have a ROM array that is programmed at the factory to customer specifications. Extended-voltage devices are guaranteed to operate over a much greater voltage
range (3.0 Vdc to 5.5 Vdc) at lower frequencies than the standard devices. Refer to the device ordering
information tables for details concerning these differences.
1 Features
• M68HC11 CPU
• Power Saving STOP and WAIT Modes
• 768 Bytes RAM (All Saved During Standby)
• 24 Kbytes ROM or EPROM
• 640 Bytes Electrically Erasable Programmable Read Only Memory (EEPROM)
• Optional Security Feature Protects Memory Contents
• On-Chip Memory Mapping Logic Allows Expansion to Over 1 Mbyte of Address Space
• PROG Mode Allows Use of Standard EPROM Programmer (27C256 Footprint)
• Nonmultiplexed Address and Data Buses
• Four Programmable Chip Selects with Clock Stretching (Expanded Modes)
• Enhanced 16-Bit Timer with Four-Stage Programmable Prescaler
— Three Input Capture (IC) Channels
— Four Output Compare (OC) Channels
— One Additional Channel, Selectable as Fourth IC or Fifth OC
• 8-Bit Pulse Accumulator
• Four 8-Bit or Two 16-Bit Pulse Width Modulation (PWM) Timer Channels
• Real-Time Interrupt Circuit
• Computer Operating Properly (COP) Watchdog
• Clock Monitor
• Enhanced Asynchronous Nonreturn to Zero (NRZ) Serial Communications Interface (SCI)
• Enhanced Synchronous Serial Peripheral Interface (SPI)
• Eight-Channel 8-Bit Analog-to-Digital (A/D) Converter
• Seven Bidirectional Input/Output (I/O) Ports (54 Pins)
• One Fixed Input-Only Port (8 Pins)
• Available in 84-Pin Plastic Leaded Chip Carrier (PLCC), 84-Pin Windowed Ceramic Leaded Chip
Carrier (CLCC), and 80-Pin Quad Flat Pack (QFP)
This document contains information on a new product. Specifications and information herein are subject to change without notice.
© MOTOROLA INC., 1997
Table 1 Standard Device Ordering Information
Package
Temperature
CONFIG
Description
Frequency
MC Order Number
84-Pin PLCC
–40°to + 85°C
$DF
BUFFALO ROM
4 MHz
MC68HC11K4BCFN4
–40°to + 85°C
$DD
No ROM
–40°to + 105°C
–40°to + 125°C
–40°to + 85°C
–40°to + 105°C
–40°to + 125°C
–40°to + 85°C
–40°to + 105°C
–40°to + 125°C
80-Pin QFP
(14 mm X 14
mm)
$DD
$DC
$DC
$DC
$DF
$DF
$DF
No ROM
No ROM
No ROM, No EEPROM
No ROM, No EEPROM
No ROM, No EEPROM
OTPROM
OTPROM
OTPROM
–40°to + 85°C
$DF
BUFFALO ROM
–40°to + 85°C
$DD
No ROM
–40°to + 105°C
–40°to + 85°C
–40°to + 105°C
MOTOROLA
2
$DD
$DD
$DC
$DC
No ROM
No ROM, No EEPROM
No ROM, No EEPROM
2 MHz
MC68HC11K1CFN2
3 MHz
MC68HC11K1CFN3
4 MHz
MC68HC11K1CFN4
2 MHz
MC68HC11K1VFN2
3 MHz
MC68HC11K1VFN3
4 MHz
MC68HC11K1VFN4
2 MHz
MC68HC11K1MFN2
3 MHz
MC68HC11K1MFN3
4 MHz
MC68HC11K1MFN4
2 MHz
MC68HC11K0CFN2
3 MHz
MC68HC11K0CFN3
4 MHz
MC68HC11K0CFN4
2 MHz
MC68HC11K0VFN2
3 MHz
MC68HC11K0VFN3
4 MHz
MC68HC11K0VFN4
2 MHz
MC68HC11K0MFN2
3 MHz
MC68HC11K0MFN3
4 MHz
MC68HC11K0MFN4
2 MHz
MC68HC711K4CFN2
3 MHz
MC68HC711K4CFN3
4 MHz
MC68HC711K4CFN4
2 MHz
MC68HC711K4VFN2
3 MHz
MC68HC711K4VFN3
4 MHz
MC68HC711K4VFN4
2 MHz
MC68HC711K4MFN2
3 MHz
MC68HC711K4MFN3
4 MHz
MC68HC711K4MFN4
4 MHz
MC68HC11K4BCFU4
2 MHz
MC68HC11K1CFU2
3 MHz
MC68HC11K1CFU3
4 MHz
MC68HC11K1CFU4
2 MHz
MC68HC11K1VFU2
3 MHz
MC68HC11K1VFU3
4 MHz
MC68HC11K1VFU4
2 MHz
MC68HC11K0CFU2
3 MHz
MC68HC11K0CFU3
4 MHz
MC68HC11K0CFU4
2 MHz
MC68HC11K0VFU2
3 MHz
MC68HC11K0VFU3
4 MHz
MC68HC11K0VFU4
M68HC11 K Series
MC68HC11KTS/D
Table 1 Standard Device Ordering Information (Continued)
Package
Temperature
CONFIG
Description
84-Pin CLCC
(Windowed)
–40°to + 85°C
$DF
EPROM
–40°to + 105°C
–40°to + 125°C
$DF
$DF
EPROM
EPROM
Frequency
MC Order Number
2 MHz
MC68HC711K4CFS2
3 MHz
MC68HC711K4CFS3
4 MHz
MC68HC711K4CFS4
2 MHz
MC68HC711K4VFS2
3 MHz
MC68HC711K4VFS3
4 MHz
MC68HC711K4VFS4
2 MHz
MC68HC711K4MFS2
3 MHz
MC68HC711K4MFS3
4 MHz
MC68HC711K4MFS4
Table 2 Extended Voltage (3.0 Vdc to 5.5 Vdc) Device Ordering Information
Package
Temperature
Description
Frequency
MC Order Number
84-Pin PLCC
–20°to + 70°C
Custom ROM
1 MHz
MC68L11K4FN1
3 MHz
MC68L11K4FN3
1 MHz
MC68L11K1FN1
3 MHz
MC68L11K1FN3
1 MHz
MC68L11K0FN1
3 MHz
MC68L11K0FN3
1 MHz
MC68L11K3FN1
3 MHz
MC68L11K3FN3
1 MHz
MC68L11K4FU1
3 MHz
MC68L11K4FU3
1 MHz
MC68L11K1FU1
3 MHz
MC68L11K1FU3
1 MHz
MC68L11K0FU1
3 MHz
MC68L11K0FU3
1 MHz
MC68L11K3FU1
3 MHz
MC68L11K3FU3
No ROM
No ROM, No EEPROM
Custom ROM, No EEPROM
80-Pin QFP
–20°to + 70°C
Custom ROM
No ROM
No ROM, No EEPROM
Custom ROM, No EEPROM
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
3
Table 3 Custom ROM Device Ordering Information
Package
Temperature
Description
Frequency
MC Order Number
84-Pin PLCC
–40°to + 85°C
Custom ROM
2 MHz
MC68HC11K4CFN2
3 MHz
MC68HC11K4CFN3
4 MHz
MC68HC11K4CFN4
–40°to + 105°C
–40°to + 125°C
–40°to + 85°C
–40°to + 105°C
–40°to + 125°C
80-Pin QFP
–40°to + 85°C
–40°to + 105°C
–40°to + 85°C
–40°to + 105°C
MOTOROLA
4
Custom ROM
Custom ROM
Custom ROM, No EEPROM
Custom ROM, No EEPROM
Custom ROM, No EEPROM
Custom ROM
Custom ROM
Custom ROM, No EEPROM
Custom ROM, No EEPROM
2 MHz
MC68HC11K4VFN2
3 MHz
MC68HC11K4VFN3
4 MHz
MC68HC11K4VFN4
2 MHz
MC68HC11K4MFN2
3 MHz
MC68HC11K4MFN3
4 MHz
MC68HC11K4MFN4
2 MHz
MC68HC11K3CFN2
3 MHz
MC68HC11K3CFN3
4 MHz
MC68HC11K3CFN4
2 MHz
MC68HC11K3VFN2
3 MHz
MC68HC11K3VFN3
4 MHz
MC68HC11K3VFN4
2 MHz
MC68HC11K3MFN2
3 MHz
MC68HC11K3MFN3
4 MHz
MC68HC11K3MFN4
2 MHz
MC68HC11K4CFU2
3 MHz
MC68HC11K4CFU3
4 MHz
MC68HC11K4CFU4
2 MHz
MC68HC11K4VFU2
3 MHz
MC68HC11K4VFU3
4 MHz
MC68HC11K4VFU4
2 MHz
MC68HC11K3CFU2
3 MHz
MC68HC11K3CFU3
4 MHz
MC68HC11K3CFU4
2 MHz
MC68HC11K3VFU2
3 MHz
MC68HC11K3VFU3
4 MHz
MC68HC11K3VFU4
M68HC11 K Series
MC68HC11KTS/D
PA0/IC3
PA1/IC2
PA2/IC1
PA3/OC5/IC4/OC1
PA4/OC4/OC1
PA5/OC3/OC1
PA6/OC2/OC1
PA7/PAI/OC1
PD5/SS
PD4/SCK
PD3/MOSI
84
83
82
81
80
79
78
77
76
75
PB0/ADDR8
PB1/ADDR9
PB2/ADDR10
PB3/ADDR11
PB4/ADDR12
PB5/ADDR13
PB6/ADDR14
PB7/ADDR15
VSS
VDD
11
10
9
8
7
6
5
4
3
2
PH0/PW1
PH1/PW2
PH2/PW3
PH3/PW4
PH4/CSIO
PH5/CSGP1
PH6/CSGP2
PH7/CSPROG
TEST161
XIRQ/VPPE2
TEST151
VDD
VSS
1
MC68HC11K SERIES
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
PD2/MISO
PD1/TxD
PD0/RxD
MODA/LIR
MODB/VSTBY
RESET
XTAL
EXTAL
XOUT
E
VDD
VSS
PC7/DATA7
PC6/DATA6
PC5/DATA5
PC4/DATA4
PC3/DATA3
PC2/DATA2
PC1/DATA1
PC0/DATA0
IRQ
PF7/ADDR7
PF6/ADDR6
PF5/ADDR5
PF4/ADDR4
PF3/ADDR3
PF2/ADDR2
PF1/ADDR1
PF0/ADDR0
PE7/AN7
PE6/AN6
PE5/AN5
PE4/AN4
PE3/AN3
PE2/AN2
PE1/AN1
PE0/AN0
VRL
VRH
AVSS
PG0/XA13
AVDD
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
TEST141
PG7/R/W
PG6
PG5/XA18
PG4/XA17
PG3/XA16
PG2/XA15
PG1/XA14
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1. Pins 20, 22, and 25 are used only during factory testing and should not be connected to external circuitry.
2. VPPE applies only to devices with EPROM.
Figure 1 Pin Assignments for 84-Pin PLCC/CLCC
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
5
PC7/DATA7
PC6/DATA6
PC5/DATA5
PC4/DATA4
PC3/DATA3
PC2/DATA2
PC1/DATA1
PC0/DATA0
IRQ
PD2/MISO
PD1/TxD
PD0/RxD
MODA/LIR
MODB/VSTBY
RESET
XTAL
EXTAL
E
VDD
VSS
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
PD3/MOSI
PD4/SCK
PD5/SS
PA7/PAI/OC1
PA6/OC2/OC1
PA5/OC3/OC1
PA4/OC4/OC1
PA3/OC5/IC4/OC1
PA2/IC1
PA1/IC2
PA0/IC3
VDD
VSS
MC68HC11K SERIES
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
PF0/ADDR0
PF1/ADDR1
PF2/ADDR2
PF3/ADDR3
PF4/ADDR4
PF5/ADDR5
PF6/ADDR6
PF7/ADDR7
AVSS
VRH
VRL
PE0/AN0
PE1/AN1
PE2/AN2
PE3/AN3
PE4/AN4
PE5/AN5
PE6/AN6
PE7/AN7
AVDD
PG7/R/W
PG6
PG5/XA18
PG4/XA17
PG3/XA16
PG2/XA15
PG1/XA14
PG0/XA13
PB0/ADDR8
PH0/PW1
PH1/PW2
PH2/PW3
PH3/PW4
PH4/CSIO
PH5/CSGP1
PH6/CSGP2
PH7/CSPROG
XIRQ
VDD
VSS
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
PB7/ADDR15
PB6/ADDR14
PB5/ADDR13
PB4/ADDR12
PB3/ADDR11
PB2/ADDR10
PB1/ADDR9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Figure 2 Pin Assignments for 80-Pin 14 mm X 14 mm TQFP
MOTOROLA
6
M68HC11 K Series
MC68HC11KTS/D
XTAL
EXTAL
IRQ
XIRQ/VPPE
RESET
INTERRUPT
LOGIC
OSCILLATOR
PORT A
PORT A DDR
ADDR15
ADDR14
ADDR13
ADDR12
ADDR11
ADDR10
ADDR9
ADDR8
ADDR7
ADDR6
ADDR5
ADDR4
ADDR3
ADDR2
ADDR1
ADDR0
TIMER
SYSTEM
PERIODIC
INTERRUPT
CPU
768
BYTES
RAM
0
KBYTES
ROM/
EPROM
(K0, K1)
CSPROG
CSGP2
CSGP1
CSIO
640
BYTES
EEPROM
(K1, K4)
0
KBYTES
EEPROM
(K0, K3)
PW4
PW3
PWM PW2
PW1
SS
SCK
SPI
MOSI
MISO
DATA7
DATA6
DATA5
DATA4
DATA3
DATA2
DATA1
DATA0
R/W
DATA BUS
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
PORT C
PORT C DDR
SCI
TxD
RxD
MEMORY
EXPANSION
XA18
XA17
XA16
XA15
XA14
XA13
VRH
VRL
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
AVDD
AVSS
VDD
VSS
CHIP
SELECTS
24
KBYTES
ROM/
EPROM
(K3, K4)
ADDRESS BUS
PF7
PF6
PF5
PF4
PF3
PF2
PF1
PF0
PORT B
PORT B DDR
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
OC2/OC1
OC3/OC1
OC4/OC1
OC5/IC4/OC1
IC1
IC2
IC3
PORT F
PORT F DDR
PA6
PA5
PA4
PA3
PA2
PA1
PA0
COP
PORT H DDR
PORT H
PULSE
PAI/OC1 ACCUMULATOR
PA7
CLOCK
LOGIC
PORT D DDR
PORT D
MODE
CONTROL
MODB/
VSTBY
A/D
CONVERTER
AN7
AN6
AN5
AN4
AN3
AN2
AN1
AN0
PORT G DDR
PORT G
MODA/
LIR
PORT E
E
*XOUT
PH7
PH6
PH5
PH4
PH3
PH2
PH1
PH0
PD5
PD4
PD3
PD2
PD1
PD0
PG7
PG6
PG5
PG4
PG3
PG2
PG1
PG0
*XOUT pin omitted on 80-pin QFP.
Figure 3 M68HC11 K-Series Block Diagram
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
7
TABLE OF CONTENTS
Section
1
2
Page
Features
Operating Modes
2.1
2.2
2.3
2.4
2.5
3
3.1
3.2
3.3
3.4
3.5
3.6
4
4.1
4.2
4.3
4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
5
6
7
8
9
10
1
11
Single-Chip Operating Mode .....................................................................................................11
Expanded Operating Mode .......................................................................................................11
Bootstrap Mode .........................................................................................................................11
Special Test Mode .....................................................................................................................11
Mode Selection ..........................................................................................................................11
On-Chip Memory
14
Memory Map and Register Block ..............................................................................................14
RAM ..........................................................................................................................................17
ROM/EPROM ............................................................................................................................18
EEPROM ...................................................................................................................................22
Configuration Control Register (CONFIG) .................................................................................24
Security Feature ........................................................................................................................25
Memory Expansion and Chip Selects
27
Memory Expansion ....................................................................................................................27
Overlap Guidelines ....................................................................................................................30
Chip Selects ..............................................................................................................................30
Program Chip Select (CSPROG) ...................................................................................31
I/O Chip Select (CSIO) ...................................................................................................31
General-Purpose Chip Selects (CSGP1, CSGP2) .........................................................32
Chip Select Priorities ......................................................................................................32
Chip Select Control Registers ........................................................................................32
Examples of Memory Expansion Using Chip Selects .....................................................35
Resets and Interrupts
Parallel Input/Output
Serial Communications Interface
Serial Peripheral Interface
Analog-to-Digital Converter
Main Timer
10.1
11
12
12.1
38
42
49
56
60
64
Real-Time Interrupt ...................................................................................................................70
Pulse Accumulator
71
Pulse-Width Modulation Timer
74
PWM Boundary Cases ..............................................................................................................78
MOTOROLA
8
M68HC11 K Series
MC68HC11KTS/D
REGISTER INDEX
C
CFORC
CONFIG
COPRST
CSCSTR
CSCTL
Timer Compare Force
System Configuration Register
Arm/Reset COP Timer Circuitry
Chip Select Clock Stretch
Chip Select Control
DDRA
DDRB
DDRF
DDRG
DDRH
Data Direction Register for Port A
Data Direction Register for Port B
Data Direction Register for Port F
Data Direction Register for Port G
Data Direction Register for Port H
EPROG
EPROM Programming Control
GPCS1A
GPCS1C
GPCS2A
GPCS2C
General-Purpose Chip Select 1 Address
General-Purpose Chip Select 1 Control
General-Purpose Chip Select 2 Address
General-Purpose Chip Select 2 Control
HPRIO
Highest Priority I-Bit Interrupt and Miscellaneous
INIT
INIT2
RAM and Register Mapping
EEPROM Mapping
MMSIZ
MMWBR
Memory Mapping Size
Memory Mapping Window Base
OC1D
OC1M
OPT2
OPTION
Output Compare 1 Data
Output Compare 1 Mask
System Configuration Options 2
System Configuration Options
PACNT
PACTL
PGAR
PORTA
PORTB
PORTC
PORTE
PORTF
PORTG
PORTH
PPAR
PPROG
PWCLK
Pulse Accumulator Counter
Pulse Accumulator Control
Port G Assignment
Port A Data
Port B Data
Port C Data
Port E Data
Port F Data
Port G Data
Port H Data
Port Pull-Up Assignment
EEPROM Programming Control
Pulse-Width Modulation Clock Select
$000B
$003F
$003A
$005A
$005B
66
25
40
33
32
$0001
$0002
$0003
$007F
$007D
42
43
46
47
46
$002B
19
$005C
$005D
$005E
$005F
33
34
34
34
$003C
11, 40
$003D
$0037
18
24
$0056
$0057
28
29
$000D
$000C
$0038
$0039
66
66
12, 44, 59
39
$0027
$0026
$002D
$0000
$0004
$0006
$000A
$0005
$007E
$007C
$002C
$003B
$0060
73
73
28, 47
42
43
43
46
46
47
46
48
22
62, 76
D
E
G
H
I
M
O
P
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
9
PWCNT[4:1]
PWDTY[4:1]
PWEN
PWPER[4:1]
PWPOL
PWSCAL
Pulse-Width Modulation Timer Counter 1 to 4
Pulse-Width Modulation Timer Duty Cycle 1 to 4
Pulse-Width Modulation Timer Enable
Pulse-Width Modulation Timer Period 1 to 4
Pulse-Width Modulation Timer Polarity
Pulse-Width Modulation Timer Prescaler
SCBDH/L
SCCR1
SCCR2
SCSR1
SCSR2
SPCR
SPCR
SPDR
SPSR
SCI Baud Rate Control High/Low
SCI Control 1
SCI Control 2
SCI Status Register 1
SCI Status Register 2
Serial Peripheral Control
Serial Peripheral Control Register
SPI Data
Serial Peripheral Status Register
TCNT
TCTL2
TFLG2
TI4/O5
TMSK1
TMSK2
TOC1–TOC4
Timer Count
Timer Control 2
Timer Interrupt Flag 2
Timer Input Capture 4/Output Compare 5
Timer Interrupt Mask 1
Timer Interrupt Mask 2
Timer Output Compare
$0064–$0067
$006C–$006F
$0063
$0068–$006B
$0061
$0062
77
78
77
78
62, 76
63, 77
$0070, $0071
$0072
$0073
$0074
$0075
$0028
$0028
$002A
$0029
52
45, 52
53
54
55
45
57
58
58
$000E, $000F
$0021
$0025
$001E–$001F
$0022
$0024
$0016–$001D
66
67
69, 72
67
68
68, 72
67
S
T
MOTOROLA
10
M68HC11 K Series
MC68HC11KTS/D
2 Operating Modes
The M68HC11 K-series MCUs have four modes of operation that directly affect the address space.
These modes are described as follows.
2.1 Single-Chip Operating Mode
In single-chip operating mode, the M68HC11 K-series MCUs are stand-alone microcontrollers with no
external address or data bus. Addressing range is 64 Kbytes and is limited to on-chip resources. Refer
to the memory map diagram.
2.2 Expanded Operating Mode
In expanded operating mode, the MCU has a 64 Kbyte address range and, using the expansion bus,
can access external resources within the 64 Kbyte space. This space includes the same on-chip memory addresses used for single-chip mode, in addition to addressing capabilities for external peripheral
and memory devices. Addressing beyond 64 Kbytes is available only in expanded mode using the onchip, register-based memory mapping logic. The additional address lines for memory expansion
(XA[18:13]) are implemented as alternate functions of port G. The expansion bus (external address and
data buses) is made up of ports B, C, and F, and the R/W signal. In expanded operating mode, high
order address bits are output on the port B pins, low order address bits on the port F pins, and the data
bus on port C. Refer to the memory map diagram.
2.3 Bootstrap Mode
Bootstrap mode allows special-purpose programs to be loaded into internal RAM. The MCU contains
448 bytes of bootstrap ROM which is enabled and present in the memory map only when the device is
in bootstrap mode. The bootstrap ROM contains a program which initializes the SCI and allows the user
to download up to 768 bytes of code into on-chip RAM. After a four-character delay, or after receiving
the character for address $037F, control passes to the loaded program at $0080. Refer to the memory
map diagram. Refer also to Application Note M68HC11 Bootstrap Mode (AN1060/D).
2.4 Special Test Mode
Special test mode is used primarily for factory testing. In this operating mode, ROM/EPROM is removed
from the address space and interrupt vectors are accessed externally at $BFC0–$BFFF.
2.5 Mode Selection
Operating modes are selected by a combination of logic levels applied to two input pins (MODA and
MODB) during reset. The logic level present (at the rising edge of reset) on these inputs is reflected in
bits in the HPRIO register. After reset, the operating mode may be changed according to the table contained in the description of the HPRIO register.
The functions of two features that are enabled by bits in OPT2 register are dependent upon the operating mode. LIR driven is enabled with the LIRDV bit. Internal read visibility/not E is enabled with the
IRVNE bit. Refer to the OPT2 register description that follows HPRIO.
HPRIO —Highest Priority I-Bit Interrupt and Miscellaneous
Bit 7
6
RBOOT* SMOD*
RESET:
5
4
3
MDA*
PSEL4
PSEL3
$003C
2
1
Bit 0
PSEL2 PSEL1 PSEL0
0
0
0
0
0
1
1
0
Single Chip
0
0
1
0
0
1
1
0
Expanded
1
1
0
0
0
1
1
0
Bootstrap
0
1
1
0
0
1
1
0
Special Test
*The reset values of RBOOT, SMOD, and MDA depend on the mode selected at power up.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
11
RBOOT — Read Bootstrap ROM/EPROM
Valid only when SMOD is set (bootstrap or special test mode). Can only be written in special modes.
0 = Bootstrap ROM disabled and not in map
1 = Bootstrap ROM enabled and in map at $BE00–$BFFF
SMOD and MDA —Special Mode Select and Mode Select A
These two bits can be read at any time. They can be written anytime in special modes. MDA can only
be written once in normal modes. SMOD cannot be set once it has been cleared.
Inputs
MODB
MODA
1
0
1
1
0
0
0
1
Latched at Reset
SMOD
MDA
0
0
0
1
1
0
1
1
Mode
Single Chip
Expanded
Bootstrap
Special Test
PSEL[4:0] —Priority Select Bits [4:0]
Refer to 5 Resets and Interrupts.
OPT2 — System Configuration Options 2
$0038
Bit 7
6
5
4
3
2
1
Bit 0
LIRDV
CWOM
—
IRVNE*
LSBF
SPR2
XDV1
XDV0
0
0
0
—
0
0
0
0
RESET:
*Can be written only once in normal modes. Can be written anytime in special modes.
LIRDV —LIR Driven
In single-chip and bootstrap modes, this bit has no meaning or effect. The LIR pin is normally configured
for wired-OR operation (only pulls low). In order to detect consecutive instructions in a high-speed application, this signal can be made to drive high for a short time to prevent false triggering.
0 = LIR not driven high out of reset
1 = LIR driven high for one quarter cycle to reduce transition time
CWOM —Port C Wired-OR Mode
Refer to 6 Parallel Input/Output.
Bit 5 —Not implemented
Always read zero
IRVNE —Internal Read Visibility/Not E
IRVNE can be written only once in normal modes (SMOD = 0). In special modes IRVNE can be written
any time. In special test mode, IRVNE is reset to one. In all other modes, IRVNE is reset to zero.
In expanded modes this bit determines whether IRV is on or off.
0 = No internal read visibility on external bus
1 = Data from internal reads is driven out the external data bus.
In single-chip modes this bit determines whether the E clock drives out from the chip.
0 = E is driven out from the chip.
1 = E pin is driven low. Refer to the following table.
Mode
Single Chip
Expanded
Boot
Special Test
MOTOROLA
12
IRVNE Out
of Reset
0
0
0
1
E Clock Out
of Reset
On
On
On
On
IRV Out of
Reset
Off
Off
Off
On
IRVNE
Affects Only
E
IRV
E
IRV
IRVNE Can
Be Written
Once
Once
Anytime
Anytime
M68HC11 K Series
MC68HC11KTS/D
LSBF —LSB First Enable
Refer to 8 Serial Peripheral Interface.
SPR2 —SPI Clock Rate Select
Refer to 8 Serial Peripheral Interface.
XDV[1:0] —XOUT Clock Divide Select
Controls the frequency of the clock driven out of the XOUT pin
XDV
[1:0]
00
01
10
11
M68HC11 K Series
MC68HC11KTS/D
XOUT = EXTAL
Divided By
1
4
6
8
Frequency at
EXTAL = 8 MHz
8 MHz
2 MHz
1.3 MHz
1 MHz
Frequency at
EXTAL = 12 MHz
12 MHz
3 MHz
2 MHz
1.5 MHz
Frequency at
EXTAL = 16 MHz
16 MHz
4 MHz
2.7 MHz
2 MHz
MOTOROLA
13
3 On-Chip Memory
In general, K-series MCUs have 768 bytes RAM, 640 bytes EEPROM, and 24 Kbytes ROM/EPROM.
Some devices in the series have portions of their memory resources disabled. Some have ROM and
some have EPROM replacing ROM. The following paragraphs describe the memory systems of devices
in the series.
3.1 Memory Map and Register Block
The INIT, INIT2, and CONFIG registers control the presence and location of the registers, RAM, EEPROM, and ROM/EPROM in the 64 Kbyte CPU address space. The 128-byte register block originates
at $0000 after reset and can be placed at any 4 Kbyte boundary ($x000) after reset by writing an appropriate value to the INIT register. Refer to Figure 4.
$0000
x000
x07F
x080
EXT
EXT
x37F
$1000
EXT
xD00
xD7F
xD80
EXT
xFFF
$A000
A000
128-BYTE REGISTER BLOCK
(CAN BE REMAPPED TO ANY
4K PAGE BY THE INIT REGISTER)
768 BYTES RAM
(CAN BE REMAPPED TO ANY
4K PAGE BY THE INIT REGISTER)
RESERVED (SPECIAL TEST MODE ONLY)
640 BYTES EEPROM
(CAN BE REMAPPED TO ANY
4K PAGE BY THE INIT2 REGISTER)
BOOT ROM
BE00 (ONLY PRESENT IN
BOOTSTRAP MODE)
SPECIAL MODE
INTERRUPT
VECTORS
BFC0
BFFF
$FFFF
FFFF
SINGLE
CHIP
EXPANDED
BOOTSTRAP
24 KBYTES ROM/EPROM
(CAN BE REMAPPED TO $2000–$7FFF OR
$A000–$FFFF BY THE CONFIG REGISTER)
FFC0 NORMAL MODE
INTERRUPT
FFFF VECTORS
SPECIAL
TEST
NOTE: ROM/EPROM can be enabled in special test mode by setting ROMON bit in the config register after reset.
Figure 4 Memory Map
MOTOROLA
14
M68HC11 K Series
MC6HC11KTS/D
INIT = $00
INIT = $10
INIT = $04
REG @ $0000
RAM @ $0080
REG @ $0000
RAM @ $1000
REG @ $4000
RAM @ $0000
$0000
$0000
$0000
REGISTER
BLOCK
REGISTER
BLOCK
RAM
A
$007F
$007F
$007F
$0080
$0080
$1000
RAM
A
RAM
B
RAM
B
$107F
$1080
$02FF
$02FF
$0300
RAM
B
RAM
A
$037F
$4000
REGISTER
BLOCK
$407F
$12FF
Figure 5 RAM and Register Mapping
Table 4 M68HC11 K Series Register and Control Bit Assignments
(Can be remapped to any 4-Kbyte boundary)
$0000
$0001
$0002
$0003
$0004
$0005
$0006
$0007
$0008
$0009
$000A
$000B
$000C
$000D
$000E
$000F
$0010
$0011
$0012
$0013
$0014
Bit 7
PA7
DDA7
DDB7
DDF7
PB7
PF7
PC7
DDC7
0
0
PE7
FOC1
OC1M7
OC1D7
Bit 15
Bit 7
Bit 15
Bit 7
Bit 15
Bit 7
Bit 15
M68HC11 K Series
MC6HC11KTS/D
6
PA6
DDA6
DDB6
DDF6
PB6
PF6
PC6
DDC6
0
0
PE6
FOC2
OC1M6
OC1D6
14
6
14
6
14
6
14
5
PA5
DDA5
DDB5
DDF5
PB5
PF5
PC5
DDC5
PD5
DDD5
PE5
FOC3
OC1M5
OC1D5
13
5
13
5
13
5
13
4
PA4
DDA4
DDB4
DDF4
PB4
PF4
PC4
DDC4
PD4
DDD4
PE4
FOC4
OC1M4
OC1D4
12
4
12
4
12
4
12
3
PA3
DDA3
DDB3
DDF3
PB3
PF3
PC3
DDC3
PD3
DDD3
PE3
FOC5
OC1M3
OC1D3
11
3
11
3
11
3
11
2
PA2
DDA2
DDB2
DDF2
PB2
PF2
PC2
DDC2
PD2
DDD2
PE2
0
0
0
10
2
10
2
10
2
10
1
PA1
DDA1
DDB1
DDF1
PB1
PF1
PC1
DDC1
PD1
DDD1
PE1
0
0
0
9
1
9
1
9
1
9
Bit 0
PA0
DDA0
DDB0
DDF0
PB0
PF0
PC0
DDC0
PD0
DDD0
PE0
0
0
0
Bit 8
Bit 0
Bit 8
Bit 0
Bit 8
Bit 0
Bit 8
PORTA
DDRA
DDRB
DDRF
PORTB
PORTF
PORTC
DDRC
PORTD
DDRD
PORTE
CFORC
OC1M
OC1D
TCNT (High)
TCNT (Low)
TIC1 (High)
TIC1 (Low)
TIC2 (High)
TIC2 (Low)
TIC3 (High)
MOTOROLA
15
Table 4 M68HC11 K Series Register and Control Bit Assignments (Continued)
(Can be remapped to any 4-Kbyte boundary)
$0015
$0016
$0017
$0018
$0019
$001A
$001B
$001C
$001D
$001E
$001F
$0020
$0021
$0022
$0023
$0024
$0025
$0026
$0027
$0028
$0029
$002A
$002B
$002C
$002D
$002E
$002F
$0030
$0031
$0032
$0033
$0034
$0035
$0036
$0037
$0038
$0039
$003A
$003B
$003C
$003D
$003E
$003F
$0040
to
$0055
$0056
$0057
Bit 7
Bit 7
Bit 15
Bit 7
Bit 15
Bit 7
Bit 15
Bit 7
Bit 15
Bit 7
Bit 15
Bit 7
OM2
EDG4B
OC1I
OC1F
TOI
TOF
0
Bit 7
SPIE
SPIF
Bit 7
MBE
0
0
6
6
14
6
14
6
14
6
14
6
14
6
OL2
EDG4A
OC2I
OC2F
RTII
RTIF
PAEN
6
SPE
WCOL
6
0
0
0
5
5
13
5
13
5
13
5
13
5
13
5
OM3
EDG1B
OC3I
OC3F
PAOVI
PAOVF
PAMOD
5
DWOM
0
5
ELAT
0
PGAR5
4
4
12
4
12
4
12
4
12
4
12
4
OL3
EDG1A
OC4I
OC4F
PAII
PAIF
PEDGE
4
MSTR
MODF
4
EXCOL
0
PGAR4
3
3
11
3
11
3
11
3
11
3
11
3
OM4
EDG2B
I4/O5I
I4/O5F
0
0
0
3
CPOL
0
3
EXROW
HPPUE
PGAR3
2
2
10
2
10
2
10
2
10
2
10
2
OL4
EDG2A
IC1I
IC1F
0
0
I4/O5
2
CPHA
0
2
T1
GPPUE
PGAR2
1
1
9
1
9
1
9
1
9
1
9
1
OM5
EDG3B
IC2I
IC2F
PR1
0
RTR1
1
SPR1
0
1
T0
FPPUE
PGAR1
Bit 0
Bit 0
Bit 8
Bit 0
Bit 8
Bit 0
Bit 8
Bit 0
Bit 8
Bit 0
Bit 8
Bit 0
OL5
EDG3A
IC3I
IC3F
PR0
0
RTR0
Bit 0
SPR0
Bit 0
Bit 0
EPGM
BPPUE
PGAR0
CCF
Bit 7
Bit 7
Bit 7
Bit 7
BULKP
0
6
6
6
6
LVPEN
SCAN
5
5
5
5
BPRT4
MULT
4
4
4
4
PTCON
CD
3
3
3
3
BPRT3
CC
2
2
2
2
BPRT2
CB
1
1
1
1
BPRT1
CA
Bit 0
Bit 0
Bit 0
Bit 0
BPRT0
EE3
LIRDV
ADPU
Bit 7
ODD
RBOOT
RAM3
TILOP
ROMAD
EE2
CWOM
CSEL
6
EVEN
SMOD
RAM2
0
1
EE1
0
IRQE
5
LVPI
MDA
RAM1
OCCR
CLKX
EE0
IRVNE
DLY
4
BYTE
PSEL4
RAM0
CBYP
PAREN
0
LSBF
CME
3
ROW
PSEL3
REG3
DISR
NOSEC
0
SPR2
FCME
2
ERASE
PSEL2
REG2
FCM
NOCOP
0
XDV1
CR1
1
EELAT
PSEL1
REG1
FCOP
ROMON
0
XDV0
CR0
Bit 0
EEPGM
PSEL0
REG0
0
EEON
MXGS2
W2A15
MXGS1
W2A14
W2SZ1
W2A13
W2SZ0
0
0
W1A15
0
W1A14
W1SZ1
W1A13
W1SZ0
0
MOTOROLA
16
TIC3 (Low)
TOC1(High)
TOC1 (Low)
TOC2 (High)
TOC2 (Low)
TOC3 (High)
TOC3 (Low)
TOC4 (High)
TOC4 (Low)
TI4/O5 (High)
TI4/O5 (Low)
TCTL1
TCTL2
TMSK1
TFLG1
TMSK2
TFLG2
PACTL
PACNT
SPCR
SPSR
SPDR
EPROG*
PPAR
PGAR
Reserved
Reserved
ADCTL
ADR1
ADR2
ADR3
ADR4
BPROT
Reserved
INIT2
OPT2
OPTION
COPRST
PPROG
HPRIO
INIT
TEST1
CONFIG
Reserved
Reserved
MMSIZ
MMWBR
M68HC11 K Series
MC6HC11KTS/D
Table 4 M68HC11 K Series Register and Control Bit Assignments (Continued)
(Can be remapped to any 4-Kbyte boundary)
$0058
$0059
$005A
$005B
$005C
$005D
$005E
$005F
$0060
$0061
$0062
$0063
$0064
$0065
$0066
$0067
$0068
$0069
$006A
$006B
$006C
$006D
$006E
$006F
$0070
$0071
$0072
$0073
$0074
$0075
$0076
$0077
$0078
to
$007B
$007C
$007D
$007E
$007F
Bit 7
0
0
IOSA
IOEN
G1A18
G1DG2
G2A18
0
CON34
PCLK4
Bit 7
TPWSL
Bit 7
Bit 7
Bit 7
Bit 7
Bit 7
Bit 7
Bit 7
Bit 7
Bit 7
Bit 7
Bit 7
Bit 7
BTST
SBR7
LOOPS
TIE
TDRE
0
R8
R7/T7
6
X1A18
X2A18
IOSB
IOPL
G1A17
G1DPC
G2A17
G2DPC
CON12
PCLK3
6
DISCP
6
6
6
6
6
6
6
6
6
6
6
6
BSPL
SBR6
WOMS
TCIE
TC
0
T8
R6/T6
5
X1A17
X2A17
GP1SA
IOCSA
G1A16
G1POL
G2A16
G2POL
PCKA2
PCLK2
5
0
5
5
5
5
5
5
5
5
5
5
5
5
0
SBR5
0
RIE
RDRF
0
0
R5/T5
4
X1A16
X2A16
GP1SB
IOSZ
G1A15
G1AV
G2A15
G2AV
PCKA1
PCLK1
4
0
4
4
4
4
4
4
4
4
4
4
4
4
SBR12
SBR4
M
ILIE
IDLE
0
0
R4/T4
3
X1A15
X2A15
GP2SA
GCSPR
G1A14
G1SZA
G2A14
G2SZA
0
PPOL4
3
PWEN4
3
3
3
3
3
3
3
3
3
3
3
3
SBR11
SBR3
WAKE
TE
OR
0
0
R3/T3
2
X1A14
X2A14
GP2SB
PCSEN
G1A13
G1SZB
G2A13
G2SZB
PCKB3
PPOL3
2
PWEN3
2
2
2
2
2
2
2
2
2
2
2
2
SBR10
SBR2
ILT
RE
NF
0
0
R2/T2
1
X1A13
X2A13
PCSA
PCSZA
G1A12
G1SZC
G2A12
G2SZC
PCKB2
PPOL2
1
PWEN2
1
1
1
1
1
1
1
1
1
1
1
1
SBR9
SBR1
PE
RWU
FE
0
0
R1/T1
Bit 0
0
0
PCSB
PCSZB
G1A11
G1SZD
G2A11
G2SZD
PCKB1
PPOL1
Bit 0
PWEN1
Bit 0
Bit 0
Bit 0
Bit 0
Bit 0
Bit 0
Bit 0
Bit 0
Bit 0
Bit 0
Bit 0
Bit 0
SBR8
SBR0
PT
SBK
PF
RAF
0
R0/T0
PH7
DDH7
PG7
DDG7
PH6
DDH6
PG6
DDG6
PH5
DDH5
PG5
DDG5
PH4
DDH4
PG4
DDG4
PH3
DDH3
PG3
DDG3
PH2
DDH2
PG2
DDG2
PH1
DDH1
PG1
DDG1
PH0
DDH0
PG0
DDG0
MM1CR
MM2CR
CSCSTR
CSCTL
GPCS1A
GPCS1C
GPCS2A
GPCS2C
PWCLK
PWPOL
PWSCAL
PWEN
PWCNT1
PWCNT2
PWCNT3
PWCNT4
PWPER1
PWPER2
PWPER3
PWPER4
PWDTY1
PWDTY2
PWDTY3
PWDTY4
SCBDH
SCBDL
SCCR1
SCCR2
SCSR1
SCSR2
SCDRH
SCDRL
Reserved
Reserved
PORTH
DDRH
PORTG
DDRG
*MC68HC711K4 only.
3.2 RAM
All members of the M68HC11 K series have 768 bytes of static RAM. The RAM can be mapped to any
4-Kbyte boundary. Upon reset, the RAM is mapped at $0080–$037F. The registers are also mapped to
this 4-Kbyte boundary. In previous versions of the M68HC11 devices the register block being mapped
to the same boundary would cause the portion of RAM overlapped by the register block to be lost. However, a new RAM remapping feature has been added which automatically allows all of the RAM to be
accessible even if the register block overlaps the RAM. Because the registers are located in the same
M68HC11 K Series
MC6HC11KTS/D
MOTOROLA
17
4-Kbyte boundary after reset, 128 bytes of the RAM are located at $0300 to $037F. Remapping is accomplished by writing appropriate values to the INIT register. Refer to the register and RAM mapping
examples following the memory map diagram.
When power is removed from the MCU, RAM contents may be preserved using the MODB/VSTBY pin.
A power source (2.0 Vdc –VDD) applied to this pin protects all 768 bytes of RAM.
INIT — RAM and Register Mapping
RESET:
$003D
Bit 7
6
5
4
3
2
1
Bit 0
RAM3
RAM2
RAM1
RAM0
REG3
REG2
REG1
REG0
0
0
0
0
0
0
0
0
Can be written only once in first 64 cycles out of reset in normal modes or at any time in special mode.
RAM[3:0] —Internal RAM Map Position
These bits determine the upper four bits of the RAM address. At reset RAM is mapped to $0000. Normally the RAM would be mapped at $0000–$02FF (768 bytes). However, the register block overlaps
the first 128 bytes of RAM, causing them to be remapped to $0300–$037F. Refer to Figure 4 and Figure 5.
REG[3:0] —128-Byte Register Block Map Position
These bits determine the upper four bits of the register block starting address. At reset registers are
mapped to $0000 and overlap the first 128 bytes of RAM, causing them to be remapped to $0300–
$037F. Refer to Figure 4 and Figure 5.
3.3 ROM/EPROM
Standard devices have 24 kbytes of EPROM (OTPROM in a non-windowed package). Custom ROM
devices have a 24-Kbyte ROM array that is mask programmed at the factory to customer specifications.
The MC68HC11K0, MC68HC11K1, MC68L11K0, and MC68L11K1 have no ROM/EPROM. Refer to
the ordering information tables.
The ROMAD and ROMON control bits in the CONFIG register control the position and presence of
ROM/EPROM in the memory map. The ROM/EPROM can be mapped at $2000–$7FFF or $A000–
$FFFF. If it is mapped to $A000–$FFFF, vector space is included. In single-chip mode the ROM/
EPROM is forced to $A000–$FFFF (ROMAD = 1) and enabled (ROMON = 1), regardless of the value
in the CONFIG register. This ensures that there will be ROM/EPROM at the vector space. In special
test mode, the ROMON bit is forced to zero so that the ROM/EPROM is removed from the memory map.
Refer to Figure 4.
Programming EPROM requires an external 12.25 volt nominal power supply (VPPE) that must be applied to the XIRQ/VPPE pin. Three methods are used to program and verify EPROM/OTPROM.
Normal EPROM/OTPROM programming can be accomplished in any operating mode. Normal programming is accomplished using the EPROM/OTPROM programming register (EPROG). The EPROG
register enables the EPROM programming voltage, controls the latching of data to be programmed, and
selects single- or multiple-byte programming.
To program the EPROM, complete the following steps using the EPROG register:
1. Set the ELAT bit in EPROG register. EELAT bit in PPROG must be cleared as it negates the
function of the ELAT bit.
2. Write data to the desired address.
3. Turn on programming voltage to the EPROM array by setting the EPGM bit in EPROG register.
4. Delay for 2 ms or more, as appropriate.
5. Clear the EPGM bit in EPROG to turn off the programming voltage.
MOTOROLA
18
M68HC11 K Series
MC6HC11KTS/D
6. Clear the EPROG register to reconfigure the EPROM address and data buses for normal operation.
In EPROM emulation mode (PROG mode), the EPROM/OTPROM is programmed as a stand-alone
EPROM by adapting the MCU footprint to the 27C256-type EPROM and using an appropriate EPROM
programmer. To put the MCU in PROG mode, pull the following pins low: MODA/LIR, MODB/VSTBY,
RESET, PA[2:0]. Refer to Figure 6.
In the third method, the EPROM is programmed by software while in the special test or bootstrap
modes. User-developed software can be uploaded through the SCI, or a ROM resident EPROM programming utility can be used. To use the resident utility, bootload a three-byte program consisting of a
single jump instruction to $BF00. $BF00 is the starting address of a resident EPROM programming utility. The utility program sets the X and Y index registers to default values, then receives programming
data from an external host and programs it into EPROM. The value in IX determines programming delay
time. The value in IY is a pointer to the first address in EPROM to be programmed (default = $A000).
When the utility program is ready to receive programming data, it sends the host the $FF character.
Then it waits. When the host sees the $FF character, the EPROM programming data is sent, starting
with the first location in the EPROM array. After the last byte to be programmed is sent and the corresponding verification data is returned, the programming operation is terminated by resetting the MCU.
Although the external 12.25 V programming voltage must be applied to the XIRQ/VPPE pin during
EPROM programming, it should be equal to VDD before verifying the data that was just programmed. It
should equal VDD during normal operation also. The XIRQ/VPPE pin has a high voltage detect circuit
that inhibits assertion of the ELAT bit when programming voltage is at low levels.
CAUTION
If the MCU is used in any operating mode while high voltage (12.25 V nominal) is
present on the XIRQ/VPPE pin, the IRQ/CE pin must be pulled high to avoid accidental programming or corruption of EPROM contents. After programming an
EPROM location, IRQ pin must also be pulled high before the address and data
are changed to program the next location.
EPROG — EPROM Programming Control
RESET:
$002B
Bit 7
6
5
4
3
2
1
Bit 0
MBE
—
ELAT
EXCOL
EXROW
—
—
EPGM
0
0
0
0
0
0
0
0
MBE —Multiple-Byte Programming Enable
0 = EPROM array configured for normal programming
1 = Program two bytes with the same data
When multiple-byte programming is enabled, address bit 5 is considered a don't care so that bytes with
address bit 5 = 0 and address bit 5 = 1 both get programmed. MBE can be read in any mode and always
reads zero in normal modes. MBE can only be written in special modes.
Bit 6 —Not implemented
Always reads zero
ELAT —EPROM Latch Control
ELAT can be read any time. ELAT can be written any time except when EPGM = 1, then the write to
ELAT will be disabled. When ELAT = 1, writes to EPROM cause address and data to be latched and
the EPROM cannot be read.
0 = EPROM address and data bus configured for normal reads
1 = EPROM address and data bus configured for programming
M68HC11 K Series
MC6HC11KTS/D
MOTOROLA
19
EXCOL —Select Extra Columns
0 = User array selected
1 = User array is disabled and extra columns are accessed at bits [7:0]. Addresses use bits [11:5]
and bits [4:0] are don't care. EXCOL can only be read in special modes and always returns zero
in normal modes. EXCOL can be written in special modes only.
EXROW —Select Extra Rows
0 = User array selected
1 = User array is disabled and two extra rows are available. Addresses use bits [5:0] and bits [11:6]
are don't care. EXROW can only be read in special modes and always returns zero in normal
modes. EXROW can be written in special modes only.
Bits [2:1] —Not implemented
Always read zero
EPGM —EPROM Programming Voltage Enable
EPGM can be read any time and can only be written when ELAT = 1.
0 = Programming voltage to EPROM array disconnected
1 = Programming voltage to EPROM array connected
MOTOROLA
20
M68HC11 K Series
MC6HC11KTS/D
EPROM MODE PIN CONNECTIONS
MCU PIN FUNCTIONS
EPROM
PIN FUNCTIONS
ADDR0
ADDR1
ADDR2
ADDR3
ADDR4
ADDR5
ADDR6
ADDR7
ADDR8
ADDR9
ADDR10
ADDR11
ADDR12
ADDR13
ADDR14
NOTE 4
NOTE 1
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
PF0/ADDR0
PF1/ADDR1
PF2/ADDR2
PF3/ADDR3
PF4/ADDR4
PF5/ADDR5
PF6/ADDR6
PF7/ADDR7
PB0/ADDR8
PB1/ADDR9
PB2/ADDR10
PB3/ADDR11
PB4/ADDR12
PB5/ADDR13
PB6/ADDR14
PA0/IC3
PA1/IC2
PA2/IC1
PA3/IC4/OC5/OC1
PA4/OC4/OC1
PA5/OC3/OC1
PA6/OC2/OC1
PA7/PAI/OC1
PG0/XA13
PG1/XA14
PG2/XA15
PG3/XA16
PG4/XA17
PG5/XA18
PG6
PG7/R/W
PD0/RxD
PD1/TxD
PD2/MISO
PD3/MOSI
PD4/SCK
PD5/SS
ADDR0
ADDR1
ADDR2
ADDR3
ADDR4
ADDR5
ADDR6
ADDR7
ADDR8
ADDR9
ADDR10
ADDR11
ADDR12
ADDR13
ADDR14
INTERNAL
24 KBYTE
EPROM
MC68HC711K4
O0
O1
O2
O3
O4
O5
O6
O7
PC0/DATA0
PC1/DATA1
PC2/DATA2
PC3/DATA3
PC4/DATA4
PC5/DATA5
PC6/DATA6
PC7/DATA7
O0
O1
O2
O3
O4
O5
O6
O7
OE
CE
VPP
VCC
VSS
PB7/ADDR15
IRQ
XIRQ/VPPE
VDD
VSS
OE
CE
VPP
VCC
VSS
PE0/AN0
PE1/AN1
PE2/AN2
PE3/AN3
PE4/AN4
PE5/AN5
PE6/AN6
PE7/AN7
UNUSED
INPUTS
PH0/PW1
PH1/PW2
PH2/PW3
PH3/PW4
PH4/CSIO
PH5/CSGP1
PH6/CSGP2
PH7/CSPROG
GND
GND
GND
GND
GND
GND
GND
GND
VRL
VRH
EXTAL
GND
GND
GND
NOTE 2
NOTE 1
XTAL
UNUSED
XOUT
OUTPUTS
E
TESTxx (3)
NOTE 3
MODA/LIR
MODB/VSTBY
RESET
NOTE 4
GND
GND
GND
NOTES:
1. Unused Inputs – grounding is recommended.
2. Unused Inputs – these pins may be left unterminated.
3. Unused Outputs – these pins should be left unconnected.
4. Grounding these six pins configures the MC68HC711K4 for EPROM emulation mode.
Figure 6 Pin Assignments of the MC68HC711K4 MCU in PROG Mode
M68HC11 K Series
MC6HC11KTS/D
MOTOROLA
21
3.4 EEPROM
The 640-byte EEPROM is initially located at $0D80 after reset, assuming EEPROM is enabled in the
memory map by the EEON bit in the CONFIG register. EEPROM can be placed at any 4-Kbyte boundary ($xD80) by writing appropriate values to the INIT2 register. Note that EEPROM can be mapped so
that it contains the vector space. Refer to Figure 4. The MC68HC11K0, MC68HC11K3, MC68L11K0,
and MC68L11K3 have no EEPROM. Refer to the ordering information tables.
Programming and erasing the EEPROM is controlled by the PPROG register, and dependent upon the
block protect (BPROT) register value. An on-chip charge pump develops the high voltage required for
programming and erasing. When the frequency of the E clock is less than 1 MHz, select the internal
clock source to drive the EEPROM charge pump by writing one to the CSEL bit in the OPTION register.
The CONFIG register consists of a single EEPROM byte. Although the byte is not included in the 640byte EEPROM array, programming the CONFIG register requires the same procedure as any byte in
the array. The erased state of bits in the CONFIG register is logic one. Refer to the CONFIG register
description that follows this section.
The erased state of an EEPROM byte is $FF (all ones).
To erase the EEPROM, ensure that the proper bits of the BPROT register are cleared, then complete
the following steps using the PPROG register:
1. Set the ERASE, EELAT, and appropriate BYTE and ROW bits in PPROG register.
2. Write to the appropriate EEPROM address with any data. Row erase only requires a write to
any location in the row. Bulk erase is done by writing to any location in the array.
3. Set the ERASE, EELAT, EEPGM, and appropriate BYTE and ROW bits in PPROG register.
4. Delay for 10 ms or more, as appropriate.
5. Clear the EEPGM bit in PPROG to turn off the programming voltage.
6. Clear the PPROG register to reconfigure the EEPROM address and data buses for normal operation.
To program the EEPROM, ensure the proper bits of the BPROT register are cleared and use the
PPROG register to complete the following steps:
1.
2.
3.
4.
5.
6.
Set the EELAT bit in PPROG register.
Write data to the desired address.
Set EEPGM bit in PPROG.
Delay for 10 ms or more, as appropriate.
Clear the EEPGM bit in PPROG to turn off the programming voltage.
Clear the PPROG register to reconfigure the EEPROM address and data buses for normal operation.
CAUTION
Since it is possible to perform other operations while the EEPROM programming/
erase operation is in progress, it is common to start the operation and then return
to the main program until the 10 ms is completed. When the EELAT bit is set at the
beginning of a program/erase operation, the EEPROM is electronically removed
from the memory map; thus, it is not accessible during the program/erase cycle.
Care must be taken to ensure that EEPROM resources will not be needed by any
routines in the code during the 10 ms program/erase time.
PPROG —EEPROM Programming Control
RESET:
MOTOROLA
22
$003B
Bit 7
6
5
4
3
2
1
Bit 0
ODD
EVEN
LVPI
BYTE
ROW
ERASE
EELAT
EEPGM
0
0
0
0
0
0
0
0
M68HC11 K Series
MC6HC11KTS/D
ODD —Program Odd Rows in Half of EEPROM (TEST)
EVEN —Program Even Rows in Half of EEPROM (TEST)
LVPI —Low Voltage Programming Inhibit
LVPI can be read at any time and writes to LVPI have no meaning nor effect. LVPI is set if LVPEN bit
in BPROT register equals one and the LVPI circuit detects that VDD has fallen below a safe operating
voltage. Once set, LVPI is cleared when VDD returns to a safe operating voltage or if LVPEN bit in
BPROT register is cleared. If LVPEN equals zero, then LVPI is always zero and has no meaning nor
effect.
0 = EEPROM programming enabled
1 = EEPROM programming disabled
BYTE —Byte/Other EEPROM Erase Mode
0 = Row or bulk erase mode used
1 = Erase only one byte of EEPROM
ROW —Row/All EEPROM Erase Mode (only valid when BYTE = 0)
0 = All 640 bytes of EEPROM erased
1 = Erase only one 16-byte row of EEPROM
BYTE
0
0
1
1
ROW
0
1
0
1
Action
Bulk Erase (All 640 Bytes)
Row Erase (16 Bytes)
Byte Erase
Byte Erase
ERASE —Erase/Normal Control for EEPROM
0 = Normal read or program mode
1 = Erase mode
EELAT —EEPROM Latch Control
0 = EEPROM address and data bus configured for normal reads
1 = EEPROM address and data bus configured for programming or erasing
EEPGM —EEPROM Program Command
0 = Program or erase voltage switched off to EEPROM array
1 = Program or erase voltage switched on to EEPROM array
BPROT — Block Protect
RESET:
$0035
Bit 7
6
5
4
3
2
1
Bit 0
BULKP
LVPEN
BPRT4
PTCON
BPRT3
BPRT2
BPRT1
BPRT0
1
1
1
1
1
1
1
1
NOTE
Block protect register bits can be written to zero (protection disabled) only once
within 64 cycles of a reset in normal modes, or at any time in special modes. Block
protect register bits can be written to one (protection enabled) at any time.
BULKP —Bulk Erase of EEPROM Protect
0 = EEPROM can be bulk erased normally
1 = EEPROM cannot be bulk or row erased
M68HC11 K Series
MC6HC11KTS/D
MOTOROLA
23
LVPEN —Low Voltage Programming Protect Enable
If LVPEN = 1, programming of the EEPROM is enabled unless the LVPI circuit detects that VDD has
fallen below a safe operating voltage, thus setting the low voltage programming inhibit bit in PPROG
register (LVPI = 1).
0 = Low voltage programming protect for EEPROM disabled
1 = Low voltage programming protect for EEPROM enabled
BPRT4 —Block Protect Bit for Upper 128 Bytes of EEPROM
Refer to description for BPRT[3:0].
PTCON —Protect for CONFIG
0 = CONFIG register can be programmed or erased normally
1 = CONFIG register cannot be programmed or erased
BPRT[3:0] —Block Protect Bits for EEPROM
0 = Protection disabled
1 = Protection enabled
Bit Name
BPRT4
BPRT3
BPRT2
BPRT1
BPRT0
Block Protected
$xF80–$xFFF
$xE60–$xF7F
$xDE0–$xE5F
$xDA0–$xDDF
$xD80–$xD9F
Block Size
128 Bytes
288 Bytes
128 Bytes
64 Bytes
32 Bytes
INIT2 —EEPROM Mapping
RESET:
$0037
Bit 7
6
5
4
3
2
1
Bit 0
EE3
EE2
EE1
EE0
0
0
0
0
0
0
0
0
0
0
0
0
INIT2 can be written only once in normal modes, any time in special modes.
EE[3:0] —EEPROM Map Position
EEPROM is at $xD80–$xFFF, where x is the hexadecimal digit represented by EE[3:0].
Bits [3:0] —Not implemented
Always read zero
3.5 Configuration Control Register (CONFIG)
The CONFIG register is used to define several system functions. Although the CONFIG register is an
address within the register block, it is actually an EEPROM byte with the address of $x03F. CONFIG is
made up of EEPROM cells and static latches. The operation of the MCU is controlled directly by these
latches and not the actual EEPROM byte. When programming the CONFIG register, the EEPROM byte
is being accessed. When the CONFIG register is being read, the static latches are being accessed.
The CONFIG register can be read at any time. The value read is the one latched from the EEPROM
cells during the last reset sequence. A new value programmed into this register cannot be read until a
subsequent reset occurs. Unused bits always read as ones.
In normal modes (SMOD = 0), CONFIG bits can only be written using the EEPROM programming sequence, and are neither readable nor active until latched via the next reset. In special modes (SMOD =
1), CONFIG bits can be written at any time.
MOTOROLA
24
M68HC11 K Series
MC6HC11KTS/D
CONFIG —System Configuration Register
RESET:
$003F
Bit 7
6
5
4
3
2
1
Bit 0
ROMAD
1
CLKX
PAREN
NOSEC
NOCOP
ROMON
EEON
—
1
—
—
—
—
—
—
ROMAD —ROM/EPROM Mapping Control
In single-chip mode ROMAD is forced to one out of reset.
0 = ROM/EPROM located at $2000–$7FFF
1 = ROM/EPROM located at $A000–$FFFF
Bit 6 —Not implemented
Always reads one
CLKX —XOUT Clock Enable
0 = XOUT pin disabled
1 = Buffered XTAL signal (four times E frequency) driven out on the XOUT pin
PAREN —Pull-Up Assignment Register Enable
0 = Pull-ups always disabled regardless of state of bits in PPAR
1 = Pull-ups either enabled or disabled through PPAR
NOSEC —Security Disable
NOSEC is invalid unless the security mask option is specified before the MCU is manufactured. If security mask option is omitted NOSEC always reads one. Refer to 3.6 Security Feature.
0 = Security enabled
1 = Security disabled
NOCOP —COP System Disable
Resets to programmed value
0 = COP enabled (forces reset on timeout)
1 = COP disabled (does not force reset on timeout)
ROMON —ROM/EPROM Enable
In single-chip mode, ROMON is forced to one out of reset. In special test mode, ROMON is forced to
zero out of reset.
0 = ROM/EPROM removed from memory map
1 = ROM/EPROM present in memory map
EEON —EEPROM Enable
0 = EEPROM disabled from memory map
1 = EEPROM present in memory map with location depending on value specified in EE[3:0] in INIT2
3.6 Security Feature
The security feature protects memory contents from unauthorized access. Although many devices in
the M68HC11 family support the security feature, an enhancement has been added to the MC68S11K4
that protects the contents of EPROM/OTPROM.
The security feature affects how the MCU behaves in certain modes. When the optional security feature
has been specified prior to manufacture and enabled via the NOSEC bit in CONFIG, the MCU is restricted to operation in single-chip modes only. When the NOSEC bit equals zero, the MCU ignores the
state of the MODA pin during reset. This allows the MCU to be operated in single-chip and bootstrap
modes only. These modes of operation do not allow external visibility of the internal address and data
buses. Although the security feature can easily be disabled when in bootstrap mode, the bootloader
firmware residing in bootstrap ROM checks to see if the NOSEC bit is clear. If NOSEC is clear (security
enabled), the bootloader program performs the following:
M68HC11 K Series
MC6HC11KTS/D
MOTOROLA
25
• Output $FF on SCI transmitter.
• Erase EEPROM array.
• Verify that EEPROM has been erased. If it has not, repeat erase procedure.
• Write $FF to every location in RAM.
• Check EPROM for data. If data is present, stay in loop. Otherwise proceed.
• Erase the CONFIG register.
• Continue executing bootloader routine.
Notice that the bootloader routine checks the EPROM to see if it contains any data. The presence of
data causes the routine to stay in a loop. At this time, devices with the security enhancement are only
available as one-time-programmable (OTP) MCUs in non-windowed packages. Once they have been
programmed and secured, they will not function in bootstrap mode.
For more information refer to M68HC11 Reference Manual (M68HC11RM/AD).
MOTOROLA
26
M68HC11 K Series
MC6HC11KTS/D
4 Memory Expansion and Chip Selects
Two additional on-chip blocks are provided with the M68HC11 K-series MCUs. The first block implements additional address lines that become active only when required by the CPU. The second block
provides chip-select signals that simplify the interface to external peripheral devices. Both of these
blocks are fully programmable by values written to associated control registers.
4.1 Memory Expansion
New to the M68HC11 family of microcontrollers is the ability of the M68HC11 K-series MCUs to extend
the address range of the M68HC11 CPU beyond the physical 64 Kbyte limit of the 16 CPU address
lines. The following is a brief description of how the extended addressing is achieved. For a more detailed discussion refer to application note Using the MC68HC11K4 Memory Mapping Logic (AN452/D).
Memory expansion is achieved by manipulating the CPU address lines such that, even though the CPU
cannot distinguish more than 64 Kbytes of physical memory, up to 1 Mbyte can be accessed through a
paged memory scheme. Additional address lines XA[18:13] are provided as alternate functions of port
G pins. Bits in the port G assignment register (PGAR) define which port G pins are to be used for memory expansion address lines and which are to be used for general-purpose I/O.
In order to access expanded memory, the user must first allocate a range of the 64 Kbyte address space
to be used for the window(s) through which external expanded memory is viewed by the CPU. The size
and placement of the window(s) depend upon values written to the MMSIZ and MMWBR registers, respectively. Which bank or page of the expanded memory that is present in the window(s) at a given time
is dependent upon values written to the MM1CR and MM2CR registers.
Up to two windows can be designated and each can be programmed to 0 (disabled), 8, 16, or 32 Kbytes.
The base address for each window must be an integer multiple of the window size. When the window
size is 32 Kbytes, the base address can be at $0000, $4000, or $8000.
If the windows are defined in such a way that they overlap, bank window 1 has priority and the part of
window 2 that is not overlapped by bank window 1 remains active. If a window is defined such that it
overlaps any internal registers, RAM, or EEPROM, the portion of the registers, RAM, or EEPROM that
is overlapped is repeated in all banks associated with that window. However, if ROM/EPROM is enabled and overlapped by a window, the ROM/EPROM is present only in banks with XA[18:16] = 0:0:0.
Expanded memory is addressed by using a combination of the CPU's normal address lines ADDR[15:0]
and the expansion address lines XA[18:13]. Window size and the number of banks associated with the
window determine exactly which address lines are used. The additional address lines (XA[18:13]) determine which bank is present in a window at a given time. The lower three expansion address lines
(XA[15:13]) are used only when needed by the CPU and replace the CPU's equivalent address lines
(ADDR[15:13]). The following tables show which address lines are used for various configurations of
expanded memory.
Five registers control operation of the memory expansion function. MM1CR and MM2CR registers indicate which bank of a window is active. Each contains the value to be output when the CPU selects
addresses within the memory expansion window. PGAR selects which pins are used for I/O or memory
expansion address lines, defining which extended address lines are used. The MMWBR register defines the starting address of each of the two windows within the CPU 64-Kbyte address range. The MMSIZ register sets the size of the windows in use and selects whether the on-board general-purpose chip
selects are active for CPU addresses or for expansion addresses.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
27
Table 5 CPU Address and Address Expansion Signals
Number of Banks
8 Kbytes
2
ADDR[12:0]
XA13
ADDR[12:0]
XA[14:13]
ADDR[12:0]
XA[15:13]
ADDR[12:0]
XA[16:13]
ADDR[12:0]
XA[17:13]
ADDR[12:0]
XA[18:13]
4
8
16
32
64
Window Size
16 Kbytes
32 Kbytes
ADDR[13:0]
XA14
ADDR[13:0]
XA[15:14]
ADDR[13:0]
XA[16:14]
ADDR[13:0]
XA[17:14]
ADDR[13:0]
XA[18:14]
—
—
ADDR[14:0]
XA15
ADDR[14:0]
XA[16:15]
ADDR[14:0]
XA[17:15]
ADDR[14:0]
XA[18:15]
—
—
—
—
PGAR — Port G Assignment
RESET:
32 Kbytes
(Window Based at
$4000)
ADDR[13:0]
XA[15:14]
ADDR[13:0]
XA[16:14]
ADDR[13:0]
XA[17:14]
ADDR[13:0]
XA[18:14]
—
—
—
—
$002D
Bit 7
6
5
4
3
2
1
Bit 0
—
—
PGAR5
PGAR4
PGAR3
PGAR2
PGAR1
PGAR0
0
0
0
0
0
0
0
0
Bits [7:6] — Not implemented
Always read zero
PGAR[5:0] —Port G Pin Assignment Bits [5:0]
0 = Corresponding port G pin is general-purpose I/O
1 = Corresponding port G pin is address line, XA[18:13]
NOTE
A special case exists for expansion address lines XA[15:13] that overlap the CPU
address lines ADDR[15:13]. If these lines are selected as expansion address lines
in PGAR, but are not used in either window, the corresponding CPU address line
is output on the appropriate port G pin.
MMSIZ — Memory Mapping Size
$0056
Bit 7
6
5
4
3
2
1
Bit 0
MXGS2
MXGS1
W2SZ1
W2SZ0
—
—
W1SZ1
W1SZ0
0
0
0
0
0
0
0
0
RESET:
MXGS[2:1] — Memory Expansion Select for General-Purpose Chip Select 2 or 1
0 = General-purpose chip select 2 or 1 based on 64 Kbyte CPU address
1 = General-purpose chip select 2 or 1 based on expansion address
W2SZ[1:0] — Window 2 Size
These bits select the size of memory expansion window 2. Refer to the table following W1SZ[1:0].
Bits [3:2] — Not implemented
Always read zero
MOTOROLA
28
M68HC11 K Series
MC68HC11KTS/D
W1SZ[1:0] —Window 1 Size
These bits select the size of memory expansion window 1.
WxSZ[1:0]
0 0
0 1
1 0
1 1
Window Size
Window disabled
8 K —Window can have up to 64 8-Kbyte banks
16 K —Window can have up to 32 16-Kbyte banks
32 K —Window can have up to 16 32-Kbyte banks
MMWBR — Memory Mapping Window Base
$0057
Bit 7
6
5
4
3
2
1
Bit 0
$0057
W2A15
W2A14
W2A13
—
W1A15
W1A14
W1A13
—
RESET:
0
0
0
0
0
0
0
0
W2A[15:13] —Window 2 Base Address
Selects the three most significant bit (MSB) of the base address for memory mapping window 2. Refer
to the table following W1A[15:13].
Bit 4 —Not implemented
Always reads zero
W1A[15:13] —Window Base 1 Address
Selects the three MSB of the base address for memory mapping window 1. Refer to the following table
for additional information.
MSB Bits
WxA[15:13]
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
8K
$0000
$2000
$4000
$6000
$8000
$A000
$C000
$E000
Window Base Address
16 K
$0000
$0000
$4000
$4000
$8000
$8000
$C000
$C000
32 K
$0000
$0000
$4000
$4000
$8000
$8000
$8000
$8000
Bit 0 —Not implemented
Always reads zero
NOTE
A special case exists when the bank size is 32 Kbytes and the window base address is $4000. The XA14 signal connected to the ADDR14 pin of the memory device automatically drives an inverted CPU ADDR14 signal onto the XA14 pin when
the window is active. The effect occurs while the CPU address is in the $4000–
$BFFF range, the XA pins and external physical memory range is $0000–$7FFF.
MM1CR–MM2CR —Memory Mapping Window 1 and 2 Control
$0058–$0059
Bit 7
6
5
4
3
2
1
Bit 0
$0058
—
X1A18
X1A17
X1A16
X1A15
X1A14
X1A13
—
MM1CR
$0059
—
X2A18
X2A17
X2A16
X2A15
X2A14
X2A13
—
MM2CR
RESET:
0
0
0
0
0
0
0
0
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
29
Bit 7 — Not implemented
Always reads zero
MM1CR — Memory Mapping Window 1 Control Register
When a 64 Kbyte CPU address falls within window 1, the value in MM1CR is driven out from the corresponding expansion address lines to enable the specified bank in the window.
MM2CR — Memory Mapping Window 2 Control Register
When a 64 Kbyte CPU address falls within window 2, the value in MM2CR is driven out from the corresponding expansion address lines to enable the specified bank in the window.
Bit 0 — Not implemented
Always reads zero
4.2 Overlap Guidelines
• On-chip registers, RAM, and EEPROM are higher priority than expansion windows. If a window
overlaps RAM, registers, or EEPROM, they appear in all banks at their CPU address.
• If a window overlaps on-chip ROM/EPROM, the ROM/EPROM appears only in banks with
XA[18:16] = 0:0:0.
• Window 1 is higher priority than window 2, therefore any overlapped portion of window 2 is inaccessible.
4.3 Chip Selects
M68HC11 K-series MCUs have four software configured chip selects that are enabled in expanded
modes. The chip select for I/O (CSIO) is used for I/O expansion. The program chip select (CSPROG)
is used with an external memory that contains the reset vectors and program. The two general-purpose
chip selects, CSGP1 and CSGP2, are used to enable external devices. These external devices can be
in the 64 Kbyte memory space or in the expanded memory space. Chip select signals are a shared function of port H. When an MCU pin is not used for chip select functions it can be used for general-purpose
I/O. The following table contains a summary of the attributes of each chip select that can be controlled
by user software.
MOTOROLA
30
M68HC11 K Series
MC68HC11KTS/D
CSIO
CSPROG
Enable
Valid
Polarity
Size
Start Address
Stretch
IOEN in CSCTL —1 = On, off at reset (0)
IOCSA in CSCTL —1 = Address valid, 0 = E valid
IOPL in CSCTL —1 = Active high, 0 = Active low
IOSZ in CSCTL —1 = 4K ($1000–$1FFF), 0 = 8K ($0000–$1FFF)
Fixed (see Size)
IO1SA:IO1SB in CSCSTR —0, 1, 2, or 3 E clocks
Enable
Valid
Polarity
Size
PSCEN in CSCTL —1 = On, ON at reset
Fixed (Address valid)
Fixed (Active low)
PCSZA:PCSZB in CSCTL — 0:0 = 64K ($0000–$FFFF)
0:1 = 32K ($8000–$FFFF)
1:0 = 16K ($C000–$FFFF)
1:1 = 8K ($E000–$FFFF)
Fixed (see Size)
PCSA:PCSB in CSCSTR —0, 1, 2, or 3 E clocks
GCSPR in CSCTL —
1 = CSGPx above CSPROG
0 = CSPROG above CSGPx
Start Address
Stretch
Priority
CSGP1,
CSGP2
Enable
Valid
Polarity
Size
Start Address
Stretch
Other
Set size to 0K to disable
GxPOL in GPCS1C (GPCS2C) —1 = Address valid, 0 = E valid
GxAV in GPCS1C (GPCS2C) —1 = Active high, 0 = Active low
Refer to GPCS1C (GPCS2C) —2K to 512K in nine steps, 0K = disable, can also follow memory expansion window 1 or window 2
Refer to GPCS1A (GPCS2A)
Refer to CSCSTR —0, 1, 2, or 3 E clocks
G1DG2 in GPCS1C allows CSGP1 and CSGP2 to be connected to
an internal OR gate and driven out the CSGP2 pin.
G1DPC in GPCS1C allows CSGP1 and CSPROG to be connected to
an internal OR gate and driven out the CSPROG pin.
G2DPC in GPCS2C allows CSGP2 and CSPROG to be connected to
an internal OR gate and driven out the CSPROG pin.
MXGS2 in MMSIZ allows CSGP2 to follow either 64K CPU addresses
or 512K expansion addresses.
MXGS1 in MMSIZ allows CSGP1 to follow either 64K CPU addresses
or 512K expansion addresses.
4.3.1 Program Chip Select (CSPROG)
The program chip select (CSPROG) is active in the range of memory where the main program exists.
CSPROG is enabled out of reset in all modes. After reset in normal mode, the PCS stretch select bit is
set to provide one cycle of stretch so that slow memory devices can be used.
4.3.2 I/O Chip Select (CSIO)
The I/O chip select (CSIO) is programmable for a four Kbyte size located at addresses $1000 to $1FFF
or eight Kbyte size located at addresses $0000 to $1FFF. Polarity of the active state is programmable
for active high or active low. Clock stretching can be set from zero to three cycles.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
31
4.3.3 General-Purpose Chip Selects (CSGP1, CSGP2)
The general-purpose chip selects are the most flexible and programmable and have the most control
bits. Polarity of active state, E valid or address valid, size, and starting address are all programmable.
Clock stretching can be set from zero to three cycles. Each chip select can be programmed to become
active whenever the CPU address enters a memory expansion window regardless of the actual bank
selected. This is known as following a window.
Each general purpose chip select can be configured to drive the program chip select. CSGP1 can be
configured to drive CSGP2 or the program chip select. Using one chip select to drive another allows the
same device to cover the address space defined by both chip selects. The two chip selects are connected to an internal OR gate. The output of the OR gate is then driven onto the pin corresponding to
the driven chip select. For example, this is useful when the same external device is used with both bank
windows but the windows are opened independently. In cases where one chip select drives another,
determine the priority from the following table.
Condition
GPCS1 drives GPCS2
GPCS1 drives PCS
GPCS2 drives PCS
GPCS1 and GPCS2 drive PCS
Priority
GPCS1
GPCS1
GPCS2
GPCS1
4.3.4 Chip Select Priorities
To minimize chip select conflicts (with one another or with internal memory and registers), the priority
is determined by the GCSPR bit in the CSCTL register. Refer to the following table.
GCSPR = 0
On-Chip Registers
On-Chip RAM
Bootloader ROM
On-Chip EEPROM
On-Chip ROM/EPROM
I/O Chip Select
Program Chip Select
GP Chip Select 1
GP Chip Select 2
GCSPR = 1
On-Chip Registers
On-Chip RAM
Bootloader ROM
On-Chip EEPROM
On-Chip ROM/EPROM
I/O Chip Select
GP Chip Select 1
GP Chip Select 2
Program Chip Select
4.3.5 Chip Select Control Registers
There are six chip select control registers. Chip select functions are enabled by control bits in CSCTL
register. Chip selects are configured by bits in CSCSTR, IOEN, IOPL, IOCSA, and IOSZ registers.
CSCTL — Chip Select Control
RESET:
$005B
Bit 7
6
5
4
3
2
1
Bit 0
IOEN
IOPL
IOCSA
IOSZ
GCSPR
PCSEN
PCSZA
PCSZB
0
0
0
0
0
1
0
0
IOEN —I/O Chip Select Enable
0 = CSIO disabled
1 = CSIO enabled
IOPL —I/O Chip Select Polarity Select
0 = CSIO active low
1 = CSIO active high
MOTOROLA
32
M68HC11 K Series
MC68HC11KTS/D
IOCSA —I/O Chip Select Address Valid
0 = Valid during E-clock high time
1 = Valid during address valid time
IOSZ —I/O Chip Select Size Select
0 = $1000–$1FFF (4 Kbyte)
1 = $0000–$1FFF (8 Kbyte)
GCSPR —General-Purpose Chip Select Priority
0 = Program chip select has priority over general-purpose chip selects
1 = General-purpose chip selects have priority over program chip select
PCSEN —Program Chip Select Enable
0 = CSPROG disabled
1 = CSPROG enabled
PCSZA, PCSZB —Program Chip Select Size (A or B)
PCSZA
0
0
1
1
PCSZB
0
1
0
1
Size (Bytes)
64 K
32 K
16 K
8K
Address Range
$0000–$FFFF
$8000–$FFFF
$C000–$FFFF
$E000–$FFFF
CSCSTR —Chip Select Clock Stretch
RESET:
$005A
Bit 7
6
5
4
3
2
1
Bit 0
IOSA
IOSB
GP1SA
GP1SB
GP2SA
0
0
0
0
0
0
0
1
Normal Modes
0
0
0
0
0
0
0
0
Special Modes
GP2SB PCSA PCSB
IOSA, IOSB —CSIO Stretch Select
GP1SA, GP1SB —CSGP1 Stretch Select
GP2SA, GP2SB —CSGP2 Stretch Select
PCSA, PCSB —CSPROG Stretch Select
Bit [A:B]
00
01
10
11
Clock Stretch
None
1 Cycle
2 Cycles
3 Cycles
GPCS1A —General-Purpose Chip Select 1 Address
RESET:
$005C
Bit 7
6
5
4
3
2
1
Bit 0
G1A18
G1A17
G1A16
G1A15
G1A14
G1A13
G1A12
G1A11
0
0
0
0
0
0
0
0
G1A[18:11] —General-Purpose Chip Select 1 Address
Selects the starting address of general-purpose chip select 1 range. Refer to the G1SZA–G1SZD table.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
33
GPCS1C —General-Purpose Chip Select 1 Control
$005D
Bit 7
6
5
4
3
2
1
Bit 0
G1DG2
G1DPC
G1POL
G1AV
G1SZA
G1SZB
G1SZC
G1SZD
0
0
0
0
0
0
0
0
RESET:
G1DG2 —General-Purpose Chip Select 1 Drives General-Purpose Chip Select 2
0 = CSGP1 does not affect CSGP2
1 = CSGP1 and CSGP2 are connected to an OR gate and driven out CSGP2
G1DPC —General-Purpose Chip Select 1 Drives Program Chip Select
0 = CSGP1 does not affect CSPROG
1 = CSGP1 and CSPROG are connected to an OR gate and driven out CSPROG
G1POL —General-Purpose Chip Select 1 Polarity Select
0 = CSGP1 active low
1 = CSGP1 active high
G1AV —General-Purpose Chip Select 1 Address Valid Select
0 = CSGP1 active during E high time
1 = CSGP1 active during address valid time
G1SZA–G1SZD —General-Purpose Chip Select 1 Size
G1SZx
B
C
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1100–1111
A
0
0
0
0
0
0
0
0
1
1
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
Size (Bytes)
Disabled
2K
4K
8K
16 K
32 K
64 K
128 K
256 K
512 K
Follow Window 1
Follow Window 2
Default to 512 K
Valid Bits
(MXGS1 = 0)
None
ADDR[15:11]
ADDR[15:12]
ADDR[15:13]
ADDR[15:14]
ADDR15
None
None
None
None
None
None
None
GPCS2A —General-Purpose Chip Select 2 Address
Valid Bits
(MXGS1 = 1)
None
G1A[18:11]
G1A[18:12]
G1A[18:13]
G1A[18:14]
G1A[18:15]
G1A[18:16]
G1A[18:17]
G1A18
None
None
None
None
$005E
Bit 7
6
5
4
3
2
1
Bit 0
G2A18
G2A17
G2A16
G2A15
G2A14
G2A13
G2A12
G2A11
0
0
0
0
0
0
0
0
RESET:
G2A[18:11] —General-Purpose Chip Select 2 Address
Selects the Starting Address of General-Purpose Chip Select 2 Range. Refer to G2SZA–G2SZD table.
GPCS2C —General-Purpose Chip Select 2 Control
RESET:
MOTOROLA
34
$005F
Bit 7
6
5
4
3
2
1
Bit 0
—
G2DPC
G2POL
G2AV
G2SZA
G2SZB
G2SZC
G2SZD
0
0
0
0
0
0
0
0
M68HC11 K Series
MC68HC11KTS/D
Bit 7 — Not implemented
Always reads zero
G2DPC — General-Purpose Chip Select 2 Drives Program Chip Select
0 = CSGP2 does not affect CSPROG
1 = CSGP2 and CSPROG are connected to an OR gate and driven out CSPROG
G2POL — General-Purpose Chip Select 2 Polarity Select
0 = CSGP2 active low
1 = CSGP2 active high
G2AV — General-Purpose Chip Select 2 Address Valid Select
0 = Active during E high time
1 = Active during address valid time
G2SZA–G2SZD — General-Purpose Chip Select 2 Size
A
0
0
0
0
0
0
0
0
1
1
1
1
G2SZx
B
C
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1100–1111
D
0
1
0
1
0
1
0
1
0
1
0
1
Size (Bytes)
Disabled
2K
4K
8K
16 K
32 K
64 K
128 K
256 K
512 K
Follow Window 1
Follow Window 2
Default to 512 K
Valid Bits
(MXGS2 = 0)
None
ADDR[15:11]
ADDR[15:12]
ADDR[15:13]
ADDR[15:14]
ADDR15
None
None
None
None
None
None
None
Valid Bits
(MXGS2 = 1)
None
G2A[18:11]
G2A[18:12]
G2A[18:13]
G2A[18:14]
G2A[18:15]
G2A[18:16]
G2A[18:17]
G2A18
None
None
None
None
4.3.6 Examples of Memory Expansion Using Chip Selects
On the following two pages are examples of memory expansion schemes that use chip select signals
to simplify the interface to the external memory devices. Although schematics are not provided, careful
study of the memory map diagram for each example will reveal the simplicity with which an expanded
system can be created. Both examples require a minimum of external circuitry as well as very little program code.
This example is a system consisting of the MCU and a single 27C512-type memory device. This system
uses one chip select and has one window containing eight banks of eight Kbytes each. In this example,
a total of 64 Kbytes is added to the address range of the MCU. Three of the expansion address lines
(XA[15:13]) are used. Register values particular to this example are given below the diagram.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
35
$0000
WINDOW 1
$1000
$4000
CHIP SELECT 1
$6000
$A000
INTERNAL
EPROM
$FFFF
$00000
$02000
$04000
$06000
$08000
$0A000
$0C000
$0E000
BANK 0
BANK 1
BANK 2
BANK 3
BANK 4
BANK 5
BANK 6
BANK 7
XA[15:13]=
0:0:0
XA[15:13]=
0:0:1
XA[15:13]=
0:1:0
XA[15:13]=
0:1:1
XA[15:13]=
1:0:0
XA[15:13]=
1:0:1
XA[15:13]=
1:1:0
XA[15:13]=
1:1:1
$01FFF
$03FFF
$05FFF
$07FFF
$09FFF
$0BFFF
$0DFFF
$0FFFF
PGAR = $07 XA[15:13]
MMWBR = $04 WINDOW 1 @ $4000,
WINDOW 2 DISABLED
MMSIZ = $41 WINDOW 1 = 8 KBYTES,
WINDOW 2 DISABLED
CSCTL = $00 NO I/O OR PROGRAM CHIP SELECTS
GPCS1A = $00 GEN. PURPOSE CHIP SELECT 1 FROM $00000
GPSC1C = $06 64 KBYTE RANGE (8 X 8K)
GPCS2A = $00 N/A
GPCS2C = $00 GEN. PURPOSE CHIP SELECT 2 DISABLED
Figure 7 Memory Expansion Example 1
This example is a system consisting of the MCU, a single 27C512-type memory device as in the previous example, and two 6226-type memory devices as well. This system uses two chip selects and has
two windows. For purposes of explanation, the setup of the first window is identical to the previous example. In addition, a second window consisting of 16 banks of 16 Kbytes each uses the second chip
select signal. Window 1 contains 64 Kbytes of expanded memory pages, window 2 contains a total of
256 Kbytes of expanded memory. A total of five expansion address lines are used. Register values particular to this example are given below the diagram.
MOTOROLA
36
M68HC11 K Series
MC68HC11KTS/D
WINDOW 1
$00000
$02000
$04000
$06000
$08000
$0A000
$0C000
$0E000
BANK 0
BANK 1
BANK 2
BANK 3
BANK 4
BANK 5
BANK 6
BANK 7
XA[15:13]=
0:0:0
XA[15:13]=
0:0:1
XA[15:13]=
0:1:0
XA[15:13]=
0:1:1
XA[15:13]=
1:0:0
XA[15:13]=
1:0:1
XA[15:13]=
1:1:0
XA[15:13]=
1:1:1
$01FFF
$03FFF
$05FFF
$07FFF
$09FFF
$0BFFF
$0DFFF
$0FFFF
$0000 EE/REG/RAM
$1000
$4000
CHIP SELECT 1
$6000
$8000
WINDOW 2
CHIP SELECT 2
$00000
$04000
$08000
$0C000
$10000
$3C000
BANK 0
BANK 1
BANK 2
BANK 3
BANK 4
XA[17:14]=
0:0:0:0
XA[17:14]=
0:0:0:1
XA[17:14]=
0:0:1:0
XA[17:14]=
0:0:1:1
XA[17:14]=
0:1:0:0
XA[17:14]=
1:1:1:1
$03FFF
$07FFF
$0BFFF
$0FFFF
$13FFF
$3FFFF
$A000
$C000
INTERNAL
EPROM
$FFFF
PGAR = $1F XA[17:13]
MMWBR = $84 WINDOW 1 @ $4000,
WINDOW 2 @ $8000
MMSIZ = $E1 WINDOW 1 = 8 KBYTES,
WINDOW 2 = 16 KBYTES
CSCTL = $00
GPCS1A = $00
GPSC1C = $06
GPCS2A = $00
GPCS2C = $08
• • • • • • •
BANK 15
NO I/O OR PROGRAM CHIP SELECTS
GEN. PURPOSE CHIP SELECT 1 FROM $00000
64 KBYTE RANGE (8 X 8K)
GEN. PURPOSE CHIP SELECT 2 FROM $00000
256 KBYTE RANGE (16 X 16K)
Figure 8 Memory Expansion Example 2
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
37
5 Resets and Interrupts
All M68HC11 MCUs have three reset vectors and 18 interrupt vectors. The reset vectors are as follows:
• RESET, or Power-On Reset
• Clock Monitor Fail
• COP Failure
The 18 interrupt vectors service 22 interrupt sources (three nonmaskable, 19 maskable). The three nonmaskable interrupt sources are as follows:
• XIRQ Pin (X-Bit Interrupt)
• Illegal Opcode Trap
• Software Interrupt
On-chip peripheral systems generate maskable interrupts, which are recognized only if the global interrupt mask bit (I) in the condition code register (CCR) is clear. Maskable interrupts are prioritized according to a default arrangement; however, any one source can be elevated to the highest maskable priority
position by a software-accessible control register (HPRIO). The HPRIO register can be written at any
time, provided bit I in the CCR is set.
Nineteen interrupt sources in the M68HC11 K series devices are subject to masking by the global interrupt mask bit (bit I in the CCR). In addition to the global bit I, all of these sources, except the external
interrupt (IRQ) pin, are controlled by local enable bits in control registers. Most interrupt sources in
M68HC11 devices have separate interrupt vectors; therefore, there is usually no need for software to
poll control registers to determine the cause of an interrupt.
For some interrupt sources, such as the SCI interrupts, the flags are automatically cleared during the
normal course of responding to the interrupt requests. For example, the RDRF flag in the SCI system
is cleared by the automatic clearing mechanism invoked by a read of the SCI status register while RDRF
is set, followed by a read of the SCI data register. The normal response to an RDRF interrupt request
would be to read the SCI status register to check for receive errors, then to read the received data from
the SCI data register. These two steps satisfy the automatic clearing mechanism without requiring any
special instructions.
Refer to the following table for a list of interrupt and reset vector assignments.
MOTOROLA
38
M68HC11 K Series
MC68HC11KTS/D
Vector Address
FFC0, C1 —FFD4, D5
FFD6, D7
FFD8, D9
FFDA, DB
FFDC, DD
FFDE, DF
FFE0, E1
FFE2, E3
FFE4, E5
FFE6, E7
FFE8, E9
FFEA, EB
FFEC, ED
FFEE, EF
FFF0, F1
FFF2, F3
FFF4, F5
FFF6, F7
FFF8, F9
FFFA, FB
FFFC, FD
FFFE, FF
Interrupt Source
Reserved
SCI Serial System
• SCI Receive Data Register Full
• SCI Receiver Overrun
• SCI Transmit Data Register Empty
• SCI Transmit Complete
• SCI Idle Line Detect
SPI Serial Transfer Complete
Pulse Accumulator Input Edge
Pulse Accumulator Overflow
Timer Overflow
Timer Input Capture 4/Output Compare 5
Timer Output Compare 4
Timer Output Compare 3
Timer Output Compare 2
Timer Output Compare 1
Timer Input Capture 3
Timer Input Capture 2
Timer Input Capture 1
Real Time Interrupt
IRQ
XIRQ Pin
Software Interrupt
Illegal Opcode Trap
COP Failure
Clock Monitor Fail
RESET
CCR Mask
Bit
—
I
Local Mask
I
I
I
I
I
I
I
I
I
I
I
I
I
I
X
None
None
None
None
None
—
Priority
(1 = High)
—
RIE
RIE
TIE
TCIE
ILIE
SPIE
PAII
PAOVI
TOI
I4/O5I
OC4I
OC3I
OC2I
OC1I
IC3I
IC2I
IC1I
RTII
None
None
None
None
NOCOP
CME
None
19
20
21
22
23
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
*
*
3
2
1
*Same level as an instruction
OPTION —System Configuration Options
RESET:
$0039
Bit 7
6
5
4
3
2
1
Bit 0
ADPU
CSEL
IRQE*
DLY*
CME
FCME*
CR1*
CR0*
0
0
0
1
0
0
0
0
*Can be written only once in first 64 cycles out of reset in normal modes, or at any time in special modes.
ADPU —A/D Converter Power up
Refer to 9 Analog-to-Digital Converter.
CSEL —Clock Select
Refer to 9 Analog-to-Digital Converter.
IRQE —IRQ Select Edge Sensitive Only
0 = Low level recognition
1 = Falling edge recognition
DLY —Enable Oscillator Start-Up Delay on Exit from STOP
0 = No stabilization delay on exit from STOP
1 = Stabilization delay enabled on exit from STOP
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
39
CME —Clock Monitor Enable
0 = Clock monitor disabled; slow clocks can be used
1 = Slow or stopped clocks cause clock failure reset
FCME —Force Clock Monitor Enable
0 = Clock monitor follows the state of the CME bit
1 = Clock monitor circuit is enabled until next reset
CR[1:0] —COP Timer Rate Select
Refer to NOCOP bit in CONFIG register.
Table 6 COP Timer Rate Select (Timeout Period Length)
CR[1:0]
Rate
Selected
215
XTAL = 8.0 MHz
Timeout
–0 ms, +16.4 ms
16.384 ms
XTAL = 12.0 MHz
Timeout
–0 ms, +10.9 ms
10.923 ms
XTAL = 16.0 MHz
Timeout
–0 ms, +8.2 ms
8.192 ms
00
01
217
65.536 ms
43.691 ms
32.768 ms
10
19
262.14 ms
174.76 ms
131.07 ms
21
1.049 sec
699.05 ms
524.29 ms
2.0 MHz
3.0 MHz
4.0 MHz
2
11
2
E=
COPRST —Arm/Reset COP Timer Circuitry
RESET:
$003A
Bit 7
6
5
4
3
2
1
Bit 0
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
Write $55 (%01010101) to COPRST to arm COP watchdog clearing mechanism. Write $AA
(%10101010) to COPRST to reset COP watchdog. Refer to NOCOP bit in CONFIG register.
HPRIO —Highest Priority I-Bit Interrupt and Miscellaneous
$003C
Bit 7
6
5
4
3
2
1
Bit 0
RBOOT*
SMOD*
MDA*
PSEL4
PSEL3
PSEL2
PSEL1
PSEL0
—
—
—
0
0
1
1
0
RESET:
*RBOOT, SMOD, and MDA reset depend on power-up initialization mode and can only be written in special mode.
RBOOT —Read Bootstrap ROM
Refer to 2 Operating Modes.
SMOD —Special Mode Select
Refer to 2 Operating Modes.
MDA —Mode Select A
Refer to 2 Operating Modes.
MOTOROLA
40
M68HC11 K Series
MC68HC11KTS/D
PSEL[4:0] —Priority Select Bit 4 through Bit 0
Can be written only while the I-bit in the CCR is set (interrupts disabled). These bits select one interrupt
source to be elevated above all other I-bit related sources.
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
M68HC11 K Series
MC68HC11KTS/D
3
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
PSELx
2
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
X
1
X
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
X
0
X
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
X
Interrupt Source Promoted
Reserved (Default to IRQ)
Reserved (Default to IRQ)
Reserved (Default to IRQ)
IRQ
Real-Time Interrupt
Timer Input Capture 1
Timer Input Capture 2
Timer Input Capture 3
Timer Output Compare 1
Timer Output Compare 2
Timer Output Compare 3
Timer Output Compare 4
Timer Output Compare 5/Input Capture 4
Timer Overflow
Pulse Accumulator Overflow
Pulse Accumulator Input Edge
SPI Serial Transfer Complete
SCI Serial System
Reserved (Default to IRQ)
Reserved (Default to IRQ)
Reserved (Default to IRQ)
Reserved (Default to IRQ)
MOTOROLA
41
6 Parallel Input/Output
M68HC11 K-series MCUs have up to 62 input/output lines, depending on the operating mode. To enhance the I/O functions, the data bus of this microcontroller is nonmultiplexed. The following table is a
summary of the configuration and features of each port.
Port
Port A
Port B
Port C
Port D
Port E
Port F
Port G
Port H
Input Pins
—
—
—
—
8
—
—
—
Output Pins
—
—
—
—
—
—
—
—
Bidirectional Pins
8
8
8
6
—
8
8
8
Shared Functions
Timer
High Order Address
Data Bus
SCI and SPI
A/D Converter
Low Order Address
Memory Expansion
PWM, Chip Select
NOTE
Port pin function is mode dependent. Do not confuse pin function with the electrical
state of the pin at reset. Port pins are either driven to a specified logic level or are
configured as high impedance inputs. I/O pins configured as high-impedance inputs have port data that is indeterminate. The contents of the corresponding latches are dependent upon the electrical state of the pins during reset. In port
descriptions, an "I" indicates this condition. Port pins that are driven to a known logic level during reset are shown with a value of either one or zero. Some control bits
are unaffected by reset. Reset states for these bits are indicated with a "U".
PORTA —Port A Data
$0000
Bit 7
6
5
4
3
2
1
Bit 0
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
RESET:
I
I
I
I
I
I
I
I
Alt. Pin
Func.:
PAI
OC2
OC3
OC4
IC4/OC5
IC1
IC2
IC3
And/or:
OC1
OC1
OC1
OC1
OC1
—
—
—
NOTE
To enable PA3 as fourth input capture, set the I4/O5 bit in the PACTL register. Otherwise, PA3 is configured as a fifth output compare out of reset, with bit I4/O5 being
cleared. If the DDA3 bit is set (configuring PA3 as an output), and IC4 is enabled,
writes to PA3 cause edges on the pin to result in input captures. Writing to TI4/O5
has no effect when the TI4/O5 register is acting as IC4. PA7 drives the pulse accumulator input but also can be configured for general-purpose I/O or output compare. Note that even when PA7 is configured as an output, the pin still drives the
pulse accumulator input.
DDRA —Data Direction Register for Port A
RESET:
$0001
Bit 7
6
5
4
3
2
1
Bit 0
DDA7
DDA6
DDA5
DDA4
DDA3
DDA2
DDA1
DDA0
0
0
0
0
0
0
0
0
DDA[7:0] —Data Direction for Port A
0 = Corresponding pin configured for input
1 = Corresponding pin configured for output
MOTOROLA
42
M68HC11 K Series
MC68HC11KTS/D
PORTB —Port B Data
$0004
Bit 7
6
5
4
3
2
1
Bit 0
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
S. Chip or
Boot:
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
RESET:
I
I
I
I
I
I
I
I
Expan. or
Test:
ADDR15
ADDR14
ADDR13
ADDR12
ADDR11
ADDR10
ADDR9
ADDR8
Reset state is mode dependent. In single-chip or bootstrap modes, port B pins are high-impedance inputs with selectable internal pull-up resistors. In expanded or test modes, port B pins are high order address outputs and PORTB is not in the memory map.
DDRB —Data Direction Register for Port B
RESET:
$0002
Bit 7
6
5
4
3
2
1
Bit 0
DDB7
DDB6
DDB5
DDB4
DDB3
DDB2
DDB1
DDB0
0
0
0
0
0
0
0
0
DDB[7:0] —Data Direction for Port B
0 = Corresponding pin configured for input
1 = Corresponding pin configured for output
PORTC —Port C Data
$0006
Bit 7
6
5
4
3
2
1
Bit 0
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
S. Chip or
Boot:
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
RESET:
0
0
0
0
0
0
0
0
Expan. or
Test:
DATA7
DATA6
DATA5
DATA4
DATA3
DATA2
DATA1
DATA0
Reset state is mode dependent. In single-chip or bootstrap modes, port C pins are high-impedance inputs with selectable internal pull-up resistors. In expanded or test modes, port C pins are data bus inputs
and outputs and PORTC is not in the memory map. Refer to CWOM bit in OPT2 register description
that follows.
DDRC —Data Direction Register for Port C
RESET:
$0007
Bit 7
6
5
4
3
2
1
Bit 0
DDC7
DDC6
DDC5
DDC4
DDC3
DDC2
DDC1
DDC0
0
0
0
0
0
0
0
0
DDC[7:0] —Data Direction for Port C. Refer to CWOM bit in OPT2 register description that follows.
0 = Corresponding pin configured for input
1 = Corresponding pin configured for output
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
43
OPT2 —System Configuration Options 2
$0038
Bit 7
6
5
4
3
2
1
Bit 0
LIRDV
CWOM
—
IRVNE
LSBF
SPR2
XDV1
XDV0
0
0
0
—
0
0
0
0
RESET:
LIRDV—LIR Driven
Refer to 2 Operating Modes.
CWOM —Port C Wired-OR Mode
0 = Port C operates normally.
1 = Port C outputs are open-drain.
Bit 5 —Not implemented
Always read zero
IRVNE —Internal Read Visibility/Not E
Refer to 2 Operating Modes.
LSBF —SPI LSB First Enable
Refer to 8 Serial Peripheral Interface.
SPR2 —SPI Clock (SCK) Rate Select
Refer to 8 Serial Peripheral Interface.
XDV[1:0] —XOUT Clock Divide Select
Refer to 2 Operating Modes.
PORTD —Port D Data
$0008
Bit 7
6
5
4
3
2
1
Bit 0
—
—
PD5
PD4
PD3
PD2
PD1
PD0
RESET:
0
0
I
I
I
I
I
I
Alt. Pin
Func.:
—
—
SS
SCK
MOSI
MISO
TxD
RxD
DDRD —Data Direction Register for Port D
RESET:
$0009
Bit 7
6
5
4
3
2
1
Bit 0
—
—
DDD5
DDD4
DDD3
DDD2
DDD1
DDD0
0
0
0
0
0
0
0
0
Bits [7:6] — Not implemented
Always read zero
DDD[5:0] — Data Direction for Port D
0 = Corresponding pin configured for input
1 = Corresponding pin configured for output
NOTE
When the SPI system is in slave mode, DDD5 has no meaning nor effect. When
the SPI system is in master mode, DDD5 determines whether bit 5 of PORTD is an
error detect input (DDD5 = 0) or a general-purpose output (DDD5 = 1). If the SPI
system is enabled and expects any of bits [4:2] to be an input that bit will be an input
regardless of the state of the associated DDR bit. If any of bits [4:2] are expected
to be outputs that bit will be an output only if the associated DDR bit is set.
MOTOROLA
44
M68HC11 K Series
MC68HC11KTS/D
SPCR —Serial Peripheral Control
RESET:
$0028
Bit 7
6
5
4
3
2
1
Bit 0
SPIE
SPE
DWOM
MSTR
CPOL
CPHA
SPR1
SPR0
0
0
1
0
0
0
0
0
Boot Mode
0
0
0
0
0
0
0
0
Other Modes
SPIE —SPI Interrupt Enable
Refer to 8 Serial Peripheral Interface.
SPE —SPI System Enable
Refer to 8 Serial Peripheral Interface.
DWOM —Port D Wired-OR Mode Option for SPI Pins PD[5:2] (See also WOMS bit in SCCR1)
0 = PD[5:2] are normal CMOS outputs
1 = PD[5:2] are open-drain outputs
MSTR —Master/Slave Mode Select
Refer to 8 Serial Peripheral Interface.
CPOL —Clock Polarity
Refer to 8 Serial Peripheral Interface.
CPHA —Clock Phase
Refer to 8 Serial Peripheral Interface.
SPR[1:0] —SPI Clock Rate Selects
Refer to 8 Serial Peripheral Interface.
SCCR1 —SCI Control 1
RESET:
$0072
Bit 7
6
5
4
3
2
1
Bit 0
LOOPS
WOMS
—
M
WAKE
ILT
PE
PT
0
1
0
0
0
0
0
0
Boot Mode
0
0
0
0
0
0
0
0
Other Modes
LOOPS —SCI LOOP Mode Enable
Refer to 7 Serial Communications Interface.
WOMS —Port D Wired-OR Mode Option for SPI Pins PD[5:2] (See also DWOM bit in SPCR.)
0 = TxD and RxD operate normally
1 = TxD and RxD are open drains if operating as an output
Bit 5 —Not implemented
Always reads zero
M —Mode (Select Character Format)
Refer to 7 Serial Communications Interface.
WAKE —Wakeup by Address Mark/Idle
Refer to 7 Serial Communications Interface.
ILT —Idle Line Type
Refer to 7 Serial Communications Interface.
PE —Parity Enable
Refer to 7 Serial Communications Interface.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
45
PT —Parity Type
Refer to 7 Serial Communications Interface.
PORTE —Port E Data
$000A
Bit 7
6
5
4
3
2
1
Bit 0
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
RESET:
I
I
I
I
I
I
I
I
Alt. Pin
Func.:
AN7
AN6
AN5
AN4
AN3
AN2
AN1
AN0
DDRF —Data Direction Register for Port F
RESET:
$0003
Bit 7
6
5
4
3
2
1
Bit 0
DDF7
DDF6
DDF5
DDF4
DDF3
DDF2
DDF1
DDF0
0
0
0
0
0
0
0
0
DDF[7:0] —Data Direction for Port F
0 = Corresponding pin configured for input
1 = Corresponding pin configured for output
PORTF —Port F Data
$0005
Bit 7
6
5
4
3
2
1
Bit 0
PF7
PF6
PF5
PF4
PF3
PF2
PF1
PF0
S. Chip or
Boot:
PF7
PF6
PF5
PF4
PF3
PF2
PF1
PF0
RESET:
I
I
I
I
I
I
I
I
Expan. or
Test:
ADDR7
ADDR6
ADDR5
ADDR4
ADDR3
ADDR2
ADDR1
ADDR0
Reset state is mode dependent. In single-chip or bootstrap modes, port F is high-impedance input with
selectable internal pull-up resistors. In expanded or test modes, port F pins are low order address outputs and PORTF is not in the memory map.
PORTH —Port H Data
$007C
Bit 7
6
5
4
3
2
1
Bit 0
PH7
PH6
PH5
PH4
PH3
PH2
PH1
PH0
RESET:
I
I
I
I
I
I
I
I
Alt. Pin
Func.:
CSPROG
CSGP2
CSGP1
CSIO
PW4
PW3
PW2
PW1
Port H pins reset to high-impedance inputs with selectable internal pull-up resistors. In expanded and
special test modes, reset also causes PH7 to be configured as CSPROG.
DDRH —Data Direction Register for Port H
RESET:
$007D
Bit 7
6
5
4
3
2
1
Bit 0
DDH7
DDH6
DDH5
DDH4
DDH3
DDH2
DDH1
DDH0
0
0
0
0
0
0
0
0
DDH[7:0] —Data Direction for Port H
0 = Bits set to zero to configure corresponding I/O pin for input only
1 = Bits set to one to configure corresponding I/O pin for output
MOTOROLA
46
M68HC11 K Series
MC68HC11KTS/D
NOTE
In expanded and special test modes, chip-select circuitry forces the I/O state to be
an output for each port H pin associated with an enabled chip select. In any mode,
PWM circuitry forces the I/O state to be an output for each port H line associated
with an enabled pulse width modulator channel. In these cases, data direction bits
are not changed and have no effect on these lines. DDRH reverts to controlling the
I/O state of a pin when the associated function is disabled. Refer to 4.3 Memory
Expansion and Chip Selects and 12 Pulse-Width Modulation Timer for further
information.
PORTG —Port G Data
$007E
Bit 7
6
5
4
3
2
1
Bit 0
PG7
PG6
PG5
PG4
PG3
PG2
PG1
PG0
RESET:
I
I
I
I
I
I
I
I
Alt. Pin
Func.:
R/W
—
XA18
XA17
XA16
XA15
XA14
XA13
Port G pins reset to high-impedance inputs with selectable internal pull-up resistors. In expanded and
special test modes PG7 becomes R/W. Refer to PGAR register description.
DDRG —Data Direction Register for Port G
RESET:
$007F
Bit 7
6
5
4
3
2
1
Bit 0
DDG7
DDG6
DDG5
DDG4
DDG3
DDG2
DDG1
DDG0
0
0
0
0
0
0
0
0
DDG[7:0] —Data Direction for Port G
0 = Configure corresponding I/O pin for input only
1 = Configure corresponding I/O pin for output
In expanded and test modes, bit 7 is configured for R/W, forcing the state of this pin to be an output
although the DDRG value remains zero. Refer to PGAR register description.
PGAR — Port G Assignment
$002D
Bit 7
6
5
4
3
2
1
Bit 0
$002D
—
—
PGAR5
PGAR4
PGAR3
PGAR2
PGAR1
PGAR0
RESET:
0
0
0
0
0
0
0
0
Bits [7:6] —Not implemented
Always read zero
PGAR[5:0] —Port G Pin Assignment Bits [5:0]
0 = Corresponding port G pin is general-purpose I/O
1 = Corresponding port G pin is memory expansion address line (XA[18:13])
NOTE
Each PGAR bit forces the I/O state to be an output for each port G pin associated
with an enabled expansion address line. In this case, data direction bits are not
changed and have no effect on these lines. DDRG reverts to controlling the I/O
state of a pin when the associated function is disabled. Refer to 4.1 Memory Expansion for further information.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
47
PPAR —Port Pull-Up Assignment
RESET:
$002C
Bit 7
6
5
4
3
2
1
Bit 0
—
—
—
—
HPPUE
GPPUE
FPPUE
BPPUE
0
0
0
0
1
1
1
1
Bits [7:4] —Not implemented
Always read zero
xPPUE —Port x Pin Pull-Up Enable
Valid only when PAREN = 1. Refer to PAREN bit in the CONFIG register description.
0 = Port x pin on-chip pull-up devices disabled
1 = Port x pin on-chip pull-up devices enabled
NOTE
FPPUE and BPPUE have no effect in expanded mode because port F and port B
are address outputs.
MOTOROLA
48
M68HC11 K Series
MC68HC11KTS/D
7 Serial Communications Interface
The SCI, a universal asynchronous receiver transmitter (UART) serial communications interface, is one
of two independent serial I/O subsystems in M68HC11 K-series MCUs. Rearranging registers and control bits used in previous M68HC11 family devices has enhanced the existing SCI system and added
new features, which include the following:
•
•
•
•
A 13-bit modulus prescaler that allows greater baud rate control
A new idle mode detect, independent of preceding serial data
A receiver active flag
Hardware parity for both transmitter and receiver
The enhanced baud rate generator is shown in the following diagram. Refer to Table 7 for standard values.
13-BIT COUNTER
EXTAL
INTERNAL
PHASE 2 CLOCK
RESET
13-BIT COMPARE
=
÷2
RECEIVER
BAUD RATE
CLOCK
SYNCH
SCBDH/L SCI BAUD CONTROL
÷ 16
TRANSMITTER
BAUD RATE
CLOCK
Figure 9 SCI Baud Generator Circuit Diagram
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
49
TRANSMITTER
BAUD RATE
CLOCK
(WRITE ONLY)
SCDR Tx BUFFER
DDD1
10 (11) - BIT Tx SHIFT REGISTER
3
2
1
0
PIN BUFFER
AND CONTROL
L
BREAK—JAM 0s
4
JAM ENABLE
5
PREAMBLE—JAM 1s
6
SHIFT ENABLE
SIZE 8/9
TRANSFER Tx BUFFER
H (8) 7
PD1
TxD
8
FORCE PIN
DIRECTION (OUT)
TRANSMITTER
CONTROL LOGIC
SCCR1 SCI CONTROL 1
OR
NF
FE
TC
RDRF
IDLE
TDRE
WAKE
M
R8
T8
8
SCSR INTERRUPT STATUS
8
TDRE
TIE
TIE
TCIE
RIE
ILIE
TE
RE
RWU
SBK
TC
TCIE
SCCR2 SCI CONTROL 2
SCI Rx
REQUESTS
SCI INTERRUPT
REQUEST
INTERNAL
DATA BUS
Figure 10 SCI Transmitter Block Diagram
MOTOROLA
50
M68HC11 K Series
MC68HC11KTS/D
RECEIVER
BAUD RATE
CLOCK
PIN BUFFER
AND CONTROL
PD0/
RxD
DATA
RECOVERY
START
÷16
STOP
DDD0
10 (11) - BIT
Rx SHIFT REGISTER
(8) 7
6
5
4
3
MSB
DISABLE
DRIVER
2
1
0
ALL ONES
RAF
RE
PARITY
DETECT
SCSR2 SCI STATUS 2
M
RWU
TDRE
TC
RDRF
IDLE
OR
NF
FE
PF
M
WAKE
ILT
PE
PT
LOOPS
WOMS
WAKE-UP
LOGIC
SCCR1 SCI CONTROL 1
SCSR1 SCI STATUS 1
R8 T8 – – – – – –
SCDRH Tx/Rx DATA HIGH
7
6 5 4 3 2 1 0
SCDRL Tx/Rx DATA LOW
$x076
$x077
(READ-ONLY)
RDRF
RIE
IDLE
ILIE
TIE
TCIE
RIE
ILIE
TE
RE
RWU
SBK
OR
RIE
SCCR2 SCI CONTROL 2
SCI Tx
REQUESTS
SCI INTERRUPT
REQUEST
INTERNAL
DATA BUS
Figure 11 SCI Receiver Block Diagram
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
51
SCBDH/L —SCI Baud Rate Control High/Low
$0070, $0071
Bit 7
6
5
4
3
2
1
Bit 0
$0070
BTST
BSPL
—
SBR12
SBR11
SBR10
SBR9
SBR8
RESET:
0
0
0
0
0
0
0
0
$0071
SBR7
SBR6
SBR5
SBR4
SBR3
SBR2
SBR1
SBR0
RESET:
0
0
0
0
0
1
0
0
High
Low
BTST —Baud Register Test (TEST)
Factory test only
BSPL —Baud Rate Counter Split (TEST)
Factory test only
Bit 5 —Not implemented
Always reads zero
SBR[12:0] —SCI Baud Rate Selects
Use the following formula to calculate SCI baud rate. Refer to the table of baud rate control values for
example rates.
SCI baud rate = EXTAL ÷[16 ∗ (2 ∗ BR)]
Where BR is the contents of SCBDH/L (BR = 1, 2, 3 ... 8191).
BR = 0 disables the baud rate generator.
Table 7 SCI Baud Rate Control Values
Target
Crystal Frequency (EXTAL)
Baud
8 MHz
12 MHz
Dec Value
16 MHz
Rate
Dec Value
Hex Value
Hex Value
Dec Value
110
2272
$08E0
3409
$0D51
4545
$11C1
150
1666
$0682
2500
$09C4
3333
$0D05
300
833
$0341
1250
$04E2
1666
$0682
600
416
$01A0
625
$0271
833
$0341
1200
208
$00D0
312
$0138
416
$01A0
2400
104
$0068
156
$009C
208
$00D0
4800
52
$0034
78
$004E
104
$0068
9600
26
$001A
39
$0027
52
$0034
19.2 K
13
$000D
20
$0014
26
$001A
38.4 K
—
—
—
—
13
$000D
SCCR1 —SCI Control 1
$0072
Bit 7
6
5
4
3
2
1
Bit 0
LOOPS
WOMS
—
M
WAKE
ILT
PE
PT
0
1
0
0
0
0
0
0
Bootstrap
Mode
0
0
0
0
0
0
0
0
Other Modes
RESET:
MOTOROLA
52
Hex Value
M68HC11 K Series
MC68HC11KTS/D
LOOPS —SCI LOOP Mode Enable
0 = SCI transmit and receive operate normally
1 = SCI transmit and receive are disconnected from TxD and RxD pins, and transmitter output is
fed back into the receiver input
WOMS —Wired-OR Mode Option for PD[1:0] (See also DWOM bit in SPCR.)
0 = TxD and RxD operate normally
1 = TxD and RxD are open drains if operating as an output
Bit 5 —Not implemented
Always reads zero
M —Mode (Select Character Format)
0 = Start bit, 8 data bits, 1 stop bit
1 = Start bit, 9 data bits, 1 stop bit
WAKE —Wakeup by Address Mark/Idle
0 = Wakeup by IDLE line recognition
1 = Wakeup by address mark (most significant data bit set)
ILT —Idle Line Type
0 = Short (SCI counts consecutive ones after start bit)
1 = Long (SCI counts ones only after stop bit)
PE —Parity Enable
0 = Parity disabled
1 = Parity enabled
PT —Parity Type
0 = Parity even (even number of ones causes parity bit to be zero, odd number of ones causes parity bit to be one)
1 = Parity odd (odd number of ones causes parity bit to be zero, even number of ones causes parity
bit to be one)
SCCR2 —SCI Control 2
RESET:
$0073
Bit 7
6
5
4
3
2
1
Bit 0
TIE
TCIE
RIE
ILIE
TE
RE
RWU
SBK
0
0
0
0
0
0
0
0
TIE —Transmit Interrupt Enable
0 = TDRE interrupts disabled
1 = SCI interrupt requested when TDRE status flag is set
TCIE —Transmit Complete Interrupt Enable
0 = TC interrupts disabled
1 = SCI interrupt requested when TC status flag is set
RIE —Receiver Interrupt Enable
0 = RDRF and OR interrupts disabled
1 = SCI interrupt requested when RDRF flag or the OR status flag is set
ILIE —Idle Line Interrupt Enable
0 = IDLE interrupts disabled
1 = SCI interrupt requested when IDLE status flag is set
TE —Transmitter Enable
0 = Transmitter disabled
1 = Transmitter enabled
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
53
RE —Receiver Enable
0 = Receiver disabled
1 = Receiver enabled
RWU —Receiver Wakeup Control
0 = Normal SCI receiver
1 = Wakeup enabled and receiver interrupts inhibited
SBK —Send Break
0 = Break generator off
1 = Break codes generated as long as SBK = 1
SCSR1 —SCI Status Register 1
RESET:
$0074
Bit 7
6
5
4
3
2
1
Bit 0
TDRE
TC
RDRF
IDLE
OR
NF
FE
PF
1
1
0
0
0
0
0
0
TDRE —Transmit Data Register Empty Flag
This flag is set when SCDR is empty. Clear the TDRE flag by reading SCSR1 and then writing to SCDR.
0 = SCDR busy
1 = SCDR empty
TC —Transmit Complete Flag
This flag is set when the transmitter is idle (no data, preamble, or break transmission in progress). Clear
the TC flag by reading SCSR1 and then writing to SCDR.
0 = Transmitter busy
1 = Transmitter idle
RDRF —Receive Data Register Full Flag
RDRF is set if a received character is ready to be read from SCDR. Clear the RDRF flag by reading
SCSR1 and then reading SCDR.
0 = SCDR empty
1 = SCDR full
IDLE —Idle Line Detected Flag
This flag is set if the RxD line is idle. Once cleared, IDLE is not set again until the RxD line has been
active and becomes idle again. The IDLE flag is inhibited when RWU = 1. Clear IDLE by reading SCSR1
and then reading SCDR.
0 = RxD line is active
1 = RxD line is idle
OR —Overrun Error Flag
OR is set if a new character is received before a previously received character is read from SCDR. Clear
the OR flag by reading SCSR1 and then reading SCDR.
0 = No overrun
1 = Overrun detected
NF —Noise Error Flag
NF is set if majority sample logic detects anything other than a unanimous decision. Clear NF by reading
SCSR1 and then reading SCDR.
0 = Unanimous decision
1 = Noise detected
FE —Framing Error
FE is set when a zero is detected where a stop bit was expected. Clear the FE flag by reading SCSR1
and then reading SCDR.
0 = Stop bit detected
1 = Zero detected
MOTOROLA
54
M68HC11 K Series
MC68HC11KTS/D
PF —Parity Error Flag
PF is set if received data has incorrect parity. Clear PF by reading SCSR1 and then reading SCDR.
0 = Parity correct
1 = Incorrect parity detected
SCSR2 —SCI Status Register 2
RESET:
$0075
Bit 7
6
5
4
3
2
1
Bit 0
—
—
—
—
—
—
—
RAF
0
0
0
0
0
0
0
0
Bits [7:1] —Not implemented
Always read zero
RAF —Receiver Active Flag (Read Only)
0 = A character is not being received
1 = A character is being received
SCDRH, SCDRL —SCI Data Register High/Low
$0076, $0077
Bit 7
6
5
4
3
2
1
Bit 0
$0076
R8
T8
—
—
—
—
—
—
SCDRH
(High)
$0077
R7/T7
R6/T6
R5/T5
R4/T4
R3/T3
R2/T2
R1/T1
R0/T0
SCDRL
(Low)
R8 —Receiver Bit 8
Ninth serial data bit received when SCI is configured for nine-data-bit operation.
T8 —Transmitter Bit 8
Ninth serial data bit transmitted when SCI is configured for nine-data-bit operation.
Bits [5:0] —Not implemented
Always read zero
R/T[7:0] —Receiver/Transmitter Data Bits [7:0]
SCI data is double buffered in both directions.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
55
8 Serial Peripheral Interface
The SPI allows the MCU to communicate synchronously with peripheral devices and other microprocessors. Data rates can be as high as 2 Mbits per second when configured as a master and 4 Mbits per
second when configured as a slave (assuming 4 MHz bus speed).
Two control bits in OPT2 allow the transfer of data either MSB or LSB first and select an additional divide
by four stage to be inserted before the SPI baud rate clock divider.
M
MSB
LSB
DIVIDER
MOSI/
PD3
M
S
8-BIT SHIFT REGISTER
÷2 ÷4 ÷16 ÷32 ÷8 ÷16 ÷64 ÷128
LSBF
READ DATA BUFFER
CLOCK
PIN
CONTROL
LOGIC
SPI CLOCK (MASTER)
SELECT
S
M
SPE
LSBF
DWOM
SS/
PD5
MSTR
SPR1
SCK/
PD4
SPR0
CLOCK
LOGIC
SPR2
MISO/
PD2
S
INTERNAL
MCU CLOCK
OPTIONS REGISTER 2
MSTR
SPE
SPI CONTROL
SPSR SPI STATUS REGISTER
SPR1
SPR0
CPOL
CPHA
MSTR
DWOM
SPE
SPIE
MODF
WCOL
SPIF
SPIE
SPCR SPI CONTROL REGISTER
8
8
SPI INTERRUPT
REQUEST
8
INTERNAL
DATA BUS
Figure 12 SPI Block Diagram
MOTOROLA
56
M68HC11 K Series
MC68HC11KTS/D
SPCR —Serial Peripheral Control Register
RESET:
$0028
Bit 7
6
5
4
3
2
1
Bit 0
SPIE
SPE
DWOM
MSTR
CPOL
CPHA
SPR1
SPR0
0
0
0
0
0
1
U
U
SPIE —Serial Peripheral Interrupt Enable
0 = SPI interrupts disabled
1 = SPI interrupts enabled
SPE —Serial Peripheral System Enable
0 = SPI off
1 = SPI on
DWOM —Port D Wired-OR Mode Option for SPI Pins PD[5:2] (See also WOMS bit in SCCR1.)
0 = Normal CMOS outputs
1 = Open-drain outputs
MSTR —Master Mode Select
0 = Slave mode
1 = Master mode
CPOL, CPHA —Clock Polarity, Clock Phase
Refer to the following figure, SPI Transfer Format.
SCK CYCLE #
(FOR REFERENCE)
1
2
3
4
5
6
7
8
SCK (CPOL = 0)
SCK (CPOL = 1)
SAMPLE INPUT
(CPHA = 0) DATA OUT
MSB
6
5
4
3
2
1
LSB
SAMPLE INPUT
(CPHA = 1) DATA OUT
MSB
6
5
4
3
2
1
LSB
SS (TO SLAVE)
Figure 13 SPI Transfer Format
NOTE
This figure shows transmission order when LSBF = 0 default. If LSBF = 1, data is
transferred in reverse order (LSB first).
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
57
SPR[2:0] —SPI Clock Rate Selects (SPR2 is located in OPT2 register)
Table 8 SPI Clock Rate Selects
SPR[2:0]
Divide
E Clock By
Frequency at
E = 2 MHz (Baud)
Frequency at
E = 3 MHz (Baud)
Frequency at
E = 4 MHz (Baud)
000
2
1.0 MHz
3.0 MHz
4.0 MHz
001
4
500 kHz
750 kHz
1.0 MHz
010
16
125 kHz
187.5 kHz
250 kHz
011
32
62.5 kHz
93.75 kHz
125 kHz
100
8
250 kHz
375 kHz
500 kHz
101
16
125 kHz
187.5 kHz
250 kHz
110
64
31.25 kHz
46.875 kHz
62.5 kHz
111
128
15.625 kHz
23.438 kHz
31.25 kHz
SPSR —Serial Peripheral Status Register
$0029
Bit 7
6
5
4
3
2
1
Bit 0
SPIF
WCOL
—
MODF
—
—
—
—
0
0
0
0
0
0
0
0
RESET:
SPIF —SPI Transfer Complete Flag
This flag is set when an SPI transfer is complete (after eight SCK cycles in a data transfer). Clear this
flag by reading SPSR, then access SPDR.
0 = No SPI transfer complete or SPI transfer still in progress
1 = SPI transfer complete
WCOL —Write Collision Error Flag
This flag is set if the MCU tries to write data into SPDR while an SPI data transfer is in progress. Clear
this flag by reading SPSR, then access SPDR.
0 = No write collision error
1 = SPDR written while SPI transfer in progress
Bit 5 —Not implemented
Always reads zero
MODF —Mode Fault (Mode fault terminates SPI operation)
Set when SS is pulled low while MSTR = 1. Cleared by SPSR read followed by SPCR write.
0 = No mode fault error
1 = SS pulled low in master mode
Bits [3:0] —Not implemented
Always read zero
SPDR —SPI Data
$002A
Bit 7
6
5
4
3
2
1
Bit 0
Bit 7
6
5
4
3
2
1
Bit 0
SPI is double buffered in, single buffered out.
MOTOROLA
58
M68HC11 K Series
MC68HC11KTS/D
OPT2 —System Configuration Options 2
RESET:
$0038
Bit 7
6
5
4
3
2
1
Bit 0
LIRDV
CWOM
—
IRVNE
LSBF
SPR2
XDV1
XDV0
0
0
0
—
0
0
0
0
LIRDV—LIR Driven
Refer to 2 Operating Modes.
CWOM —Port C Wired-OR Mode
Refer to 6 Parallel Input/Output.
Bit 5 —Not implemented
Always read zero
IRVNE —Internal Read Visibility/Not E
Refer to 2 Operating Modes.
LSBF —SPI LSB First Enable
0 = SPI data transferred MSB first
1 = SPI data transferred LSB first
SPR2 —SPI Clock (SCK) Rate Select
Adds a divide by four prescaler to SPI clock chain. Refer to SPCR register.
XDV[1:0] —XOUT Clock Divide Select
Refer to 2 Operating Modes.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
59
9 Analog-to-Digital Converter
The analog-to-digital (A/D) converter system uses an all-capacitive charge-redistribution technique to
convert analog signals to digital values. The A/D converter system contained in M68HC11 K-series
MCUs is an 8-channel,8-bit, multiplexed-input, successive-approximation converter. It does not require
external sample and hold circuits.
The clock source for the A/D converter’s charge pump, like the clock source for the EEPROM charge
pump, is selected with the CSEL bit in the OPTION register. When the E clock is slower than 1 MHz,
the CSEL bit must be set to ensure that the successive approximation sequence for the A/D converter
will be completed before any charge loss occurs. In the case of the EEPROM, it is the efficiency of the
charge pump that is affected.
PE0/
AN0
VRH
8-BIT CAPACITIVE DAC
WITH SAMPLE AND HOLD
PE1/
AN1
VRL
PE2/
AN2
PE3/
AN3
SUCCESSIVE APPROXIMATION
REGISTER AND CONTROL
RESULT
ANALOG
MUX
PE4/
AN4
PE5/
AN5
INTERNAL
DATA BUS
PE7/
AN7
SCAN
MULT
CD
CC
CB
CA
CCF
PE6/
AN6
ADCTL A/D CONTROL
RESULT REGISTER INTERFACE
ADDR 1 A/D RESULT 1
ADDR 2 A/D RESULT 2
ADDR 3 A/D RESULT 3
ADDR 4 A/D RESULT 4
Figure 14 A/D Converter Block Diagram
The A/D converter can operate in single or multiple conversion modes. Multiple conversions are performed in sequences of four. Sequences can be performed on a single channel or an a group of channels.
Dedicated lines VRH and VRL provide the reference supply voltage inputs.
MOTOROLA
60
M68HC11 K Series
MC68HC11KTS/D
A multiplexer allows the single A/D converter to select one of 16 analog input signals.
The A/D converter control logic implements automatic conversion sequences on a selected channel
four times or on four channels once each. A write to the ADCTL register initiates conversions and, if
made while a conversion is in progress, a write to ADCTL also halts that conversion operation, sets
CCF, and proceeds to the next instruction.
When the SCAN bit is zero, four requested conversions are performed, once each, to fill the four result
registers. When SCAN is one, conversions continue in a round-robin fashion with the result registers
being updated as new data becomes available. When the MULT bit is zero, the A/D converter system
is configured to perform conversions on each channel in the group of four channels specified by the CD
and CC channel select bits.
E CLOCK
WRITE
TO
ADCTL
MSB
4
CYCLES
12 E CYCLES
SAMPLE ANALOG INPUT
BIT 6
2
CYC
BIT 5
2
CYC
BIT 4
2
CYC
BIT 3
2
CYC
BIT 2
2
CYC
BIT 1
2
CYC
LSB
2
CYC
2
CYC
END
SUCCESSIVE APPROXIMATION SEQUENCE
REPEAT
SEQUENCE
IF
SCAN = 1
SET
CCF
FLAG
0
CONVERT FIRST
CHANNEL
AND UPDATE ADDR1
32
CONVERT SECOND
CHANNEL
AND UPDATE ADDR2
64
CONVERT THIRD
CHANNEL
AND UPDATE ADDR3
96
CONVERT FOURTH
CHANNEL
AND UPDATE ADDR4
128
E
CYCLES
Figure 15 Timing Diagram for a Sequence of Four A/D Conversions
INPUT
PROTECTION
DEVICE
ANALOG
INPUT
PIN
DIFFUSION AND
POLY COUPLER
≤ 4 kΩ
< 2 pF
+ ~ 20 V
– ~ 0.7 V
*
~ 20 pF
400 nA
JUNCTION
LEAKAGE
DAC
CAPACITANCE
VRL
* This analog switch is closed only during the 12-cycle sample time.
Figure 16 Electrical Model of an Analog Input Pin (Sample Mode)
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
61
ADCTL —A/D Control/Status
$0030
Bit 7
6
5
4
3
2
1
Bit 0
CCF
—
SCAN
MULT
CD
CC
CB
CA
0
0
0
0
0
0
0
0
RESET:
CCF — Conversions Complete Flag
0 = Write to ADCTL is complete
1 = A/D conversion cycle is complete
Bit 6 — Not implemented
Always reads zero
SCAN —Continuous Scan Control
0 = Do four conversions and stop
1 = Convert four channels in selected group continuously
MULT —Multiple Channel/Single Channel Control
0 = Convert single channel selected
1 = Convert four channels in selected group
CD:CA —Channel Select D through A
Table 9 A/D Converter Channel Assignments
Channel Select Control Bits
Channel Signal
Result in ADRx if
MULT = 1
CD
CC
CB
CA
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
AN0
AN1
AN2
AN3
ADR1
ADR2
ADR3
ADR4
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
AN4
AN5
AN6
AN7
ADR1
ADR2
ADR3
ADR4
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
Reserved
Reserved
Reserved
Reserved
—
—
—
—
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
VRH*
VRL*
(VRH)/2*
Reserved*
ADR1
ADR2
ADR3
ADR4
*Used for factory testing
ADR[4:1] —A/D Results
$0031 – $0034
$0031
Bit 7
6
5
4
3
2
1
Bit 0
ADR1
$0032
Bit 7
6
5
4
3
2
1
Bit 0
ADR2
$0033
Bit 7
6
5
4
3
2
1
Bit 0
ADR3
$0034
Bit 7
6
5
4
3
2
1
Bit 0
ADR4
MOTOROLA
62
M68HC11 K Series
MC68HC11KTS/D
OPTION —System Configuration Options
RESET:
$0039
Bit 7
6
5
4
3
2
1
Bit 0
ADPU
CSEL
IRQE*
DLY*
CME
FCME*
CR1*
CR0*
0
0
0
1
0
0
0
0
ADPU —A/D Converter Power-Up
0 = A/D converter powered down
1 = A/D converter powered up
CSEL — Clock Select
0 = A/D and EEPROM use system E clock
1 = A/D and EEPROM use internal RC clock source
IRQE —IRQ Select Edge Sensitive Only
Refer to 5 Resets and Interrupts
DLY —Enable Oscillator Startup Delay on Exit from Stop
Refer to 5 Resets and Interrupts
CME —Clock Monitor Enable
Refer to 5 Resets and Interrupts
FCME —Force Clock Monitor Enable
Refer to 5 Resets and Interrupts
CR[1:0] —COP Timer Rate Select
Refer to 10 Main Timer
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
63
10 Main Timer
The timing system is based on a free-running 16-bit counter with a four-stage programmable prescaler.
A timer overflow function allows software to extend the timing capability of the system beyond the 16bit range of the counter.
The timer has three channels for input capture, four channels for output compare, and one channel that
can be configured as a fourth input capture or a fifth output compare. In addition, the timing system includes pulse accumulator and real-time interrupt (RTI) functions, as well as a clock monitor function,
which can be used to detect clock failures that are not detected by the COP.
Refer to 11 Pulse Accumulator and 10.1 Real-Time Interrupt for further information about these functions. Refer to the following table for a summary of the crystal-related frequencies and periods.
Table 10 Timer Summary
Control Bits
PR[1:0]
Common System Frequencies
Definition
8.0 MHz
12.0 MHz
16.0 MHz
XTAL
2.0 MHz
3.0 MHz
4.0 MHz
E
Main Timer Count Rates (Period Length)
00
1 count —
overflow —
500 ns
32.768 ms
333 ns
21.845 ms
250 ns
16.384 ms
1/E
216/E
01
1 count —
overflow —
2.0 µs
131.07 ms
1.333 µs
87.381 ms
1.0 µs
65.536 ms
4/E
218/E
10
1 count —
overflow —
4.0 µs
262.14 ms
2.667 µs
174.76 ms
2.0 µs
131.07 ms
8/E
219/E
11
1 count —
overflow —
8.0 µs
524.29 ms
5.333 µs
349.52 ms
4.0 µs
262.14 ms
16/E
220/E
RTR[1:0]
00
01
10
11
CR[1:0]
Periodic (RTI) Interrupt Rates (Period Length)
4.096 ms
8.192 ms
16.384 ms
32.768 ms
2.731 ms
5.461 ms
10.923 ms
21.845 ms
2.048 ms
4.096 ms
8.192 ms
16.384 ms
213/E
214/E
215/E
216/E
COP Watchdog Timeout Rates (Period Length)
00
01
10
11
16.384 ms
65.536 ms
262.14 ms
1.049 s
10.923 ms
43.691 ms
174.76 ms
699.05 ms
8.192 ms
32.768 ms
131.07 ms
524.28 ms
215/E
217/E
219/E
221/E
Timeout Tolerance
(–0 ms/+...)
16.4 ms
10.9 ms
8.192 ms
215/E
MOTOROLA
64
M68HC11 K Series
MC68HC11KTS/D
TCNT (HI)
PRESCALER–DIVIDE BY
MCU
ECLK
1, 4, 8, OR 16
PR1
TCNT (LO)
16-BIT FREE-RUNNING
COUNTER
PR0
TOI
TOF
TAPS FOR RTI, COP
WATCHDOG AND
PULSE ACCUMULATOR
16-BIT TIMER BUS
9
TO
PULSE
ACCUMULATOR
INTERRUPT REQUESTS
(FURTHER QUALIFIED
BY I-BIT IN CCR)
TMSK1
OC1I
TFLG1
16-BIT COMPARATOR =
TOC1 (HI)
TOC1 (LO)
PIN
FUNCTIONS
8
BIT-7
PA7/
OC1/
PAI
BIT-6
PA6/
OC2/
OC1
BIT-5
PA5/
OC3/
OC1
BIT-4
PA4/
OC4/
OC1
BIT-3
PA3
OC5/
IC4/
OC1
3
BIT-2
PA2/
IC1
2
BIT-1
PA1/
IC2
1
BIT-0
PA0/
IC3
CFORC
OC1F
FOC1
OC2I
16-BIT COMPARATOR =
TOC2 (HI)
TOC2 (LO)
7
OC2F
FOC2
OC3I
16-BIT COMPARATOR =
TOC3 (HI)
TOC3 (LO)
6
OC3F
FOC3
16-BIT TIMER BUS
OC4I
16-BIT COMPARATOR =
TOC4 (HI)
TOC4 (LO)
5
OC4F
FOC4
I4/O5I
16-BIT COMPARATOR =
TI4/O5 (HI) TI4/O5 (LO)
16-BIT LATCH CLK
4
OC5
I4/O5F
FOC5
IC4
FORCE
OUTPUT
COMPARE
I4/O5
16-BIT LATCH CLK
TIC1 (HI)
TIC1 (LO)
IC1I
IC1F
IC2I
16-BIT LATCH CLK
TIC2 (HI)
TIC2 (LO)
IC2F
IC3I
16-BIT LATCH CLK
TIC3 (HI)
TIC3 (LO)
IC3F
STATUS
FLAGS
INTERRUPT
ENABLES
PORT A
PIN
CONTROL
Figure 17 Timer Block Diagram
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
65
CFORC —Timer Compare Force
$000B
Bit 7
6
5
4
3
2
1
Bit 0
FOC1
FOC2
FOC3
FOC4
FOC5
—
—
—
0
0
0
0
0
0
0
0
RESET:
FOC[5:1] —Force Output Compare
Write ones to force compare(s)
0 = Not affected
1 = Output x action occurs
Bits [2:0] —Not implemented
Always read zero
OC1M —Output Compare 1 Mask
$000C
Bit 7
6
5
4
3
2
1
Bit 0
OC1M7
OC1M6
OC1M5
OC1M4
OC1M3
—
—
—
0
0
0
0
0
0
0
0
RESET:
Set bit(s) to enable OC1 to control corresponding pin(s) of port A
Bits [2:0] —Not implemented
Always read zero
OC1D —Output Compare 1 Data
$000D
Bit 7
6
5
4
3
2
1
Bit 0
OC1D7
OC1D6
OC1D5
OC1D4
OC1D3
—
—
—
0
0
0
0
0
0
0
0
RESET:
If OC1Mx is set, data in OC1Dx is output to port A bit x on successful OC1 compares.
Bits [2:0] —Not implemented
Always read zero
TCNT —Timer Count
$000E, $000F
$000E
Bit 15
14
13
12
11
10
9
Bit 8
High
$000F
Bit 7
6
5
4
3
2
1
Bit 0
Low
TCNT
TCNT resets to $0000. In normal modes, TCNT is read only.
TIC1–TIC3 —Timer Input Capture
$0010–$0015
$0010
Bit 15
14
13
12
11
10
9
Bit 8
High
$0011
Bit 7
6
5
4
3
2
1
Bit 0
Low
$0012
Bit 15
14
13
12
11
10
9
Bit 8
High
$0013
Bit 7
6
5
4
3
2
1
Bit 0
Low
$0014
Bit 15
14
13
12
11
10
9
Bit 8
High
$0015
Bit 7
6
5
4
3
2
1
Bit 0
Low
TIC1
TIC2
TIC3
TICx not affected by reset
MOTOROLA
66
M68HC11 K Series
MC68HC11KTS/D
TOC1–TOC4 —Timer Output Compare
$0016–$001D
$0016
Bit 15
14
13
12
11
10
9
Bit 8
High
$0017
Bit 7
6
5
4
3
2
1
Bit 0
Low
$0018
Bit 15
14
13
12
11
10
9
Bit 8
High
$0019
Bit 7
6
5
4
3
2
1
Bit 0
Low
$001A
Bit 15
14
13
12
11
10
9
Bit 8
High
$001B
Bit 7
6
5
4
3
2
1
Bit 0
Low
$001C
Bit 15
14
13
12
11
10
9
Bit 8
High
$001D
Bit 7
6
5
4
3
2
1
Bit 0
Low
TOC1
TOC2
TOC3
TOC4
All TOCx register pairs reset to ones ($FFFF).
TI4/O5 —Timer Input Capture 4/Output Compare 5
$001E–$001F
$001E
Bit 15
14
13
12
11
10
9
Bit 8
High
$001F
Bit 7
6
5
4
3
2
1
Bit 0
Low
This is a shared register and is either input capture 4 or output compare 5 depending on the state of bit
I4/O5 in PACTL. Writes to TI4/O5 have no effect when this register is configured as input capture 4. The
TI4/O5 register pair resets to ones ($FFFF).
TCTL1 —Timer Control 1
$0020
Bit 7
6
5
4
3
2
1
Bit 0
OM2
OL2
OM3
OL3
OM4
OL4
OM5
OL5
0
0
0
0
0
0
0
0
RESET:
OM[5:2] —Output Mode
OL[5:2] —Output Level
OMx
0
0
1
1
OLx
0
1
0
1
Action Taken on Successful Compare
Timer disconnected from output pin logic
Toggle OCx output line
Clear OCx output line to zero
Set OCx output line to one
TCTL2 —Timer Control 2
RESET:
$0021
Bit 7
6
5
4
3
2
1
Bit 0
EDG4B
EDG4A
EDG1B
EDG1A
EDG2B
EDG2A
EDG3B
EDG3A
0
0
0
0
0
0
0
0
Table 11 Timer Control Configuration
EDGxB
0
0
1
1
M68HC11 K Series
MC68HC11KTS/D
EDGxA
0
1
0
1
Configuration
Capture disabled
Capture on rising edges only
Capture on falling edges only
Capture on any edge
MOTOROLA
67
TMSK1 —Timer Interrupt Mask 1
$0022
Bit 7
6
5
4
3
2
1
Bit 0
OC1I
OC2I
OC3I
OC4I
I4/O5I
IC1I
IC2I
IC3I
0
0
0
0
0
0
0
0
RESET:
OC1I–OC4I —Output Compare x Interrupt Enable
If the OCxF flag bit is set while the OCxI enable bit is set, a hardware interrupt sequence is requested.
I4/O5I —Input Capture 4 or Output Compare 5 Interrupt Enable
When I4/O5 in PACTL is one, I4/O5I is the input capture 4 interrupt bit. When I4/O5 in PACTL is zero,
I4/O5I is the output compare 5 interrupt control bit.
IC1I–IC3I —Input Capture x Interrupt Enable
If the ICxF flag bit is set while the ICxI enable bit is set, a hardware interrupt sequence is requested.
TFLG1 —Timer Interrupt Flag 1
RESET:
$0023
Bit 7
6
5
4
3
2
1
Bit 0
OC1F
OC2F
OC3F
OC4F
I4/O5F
IC1F
IC2F
IC3F
0
0
0
0
0
0
0
0
Clear flags by writing a one to the corresponding bit position(s).
OC1F–OC5F —Output Compare x Flag
Set each time the counter matches output compare x value
I4/O5F —Input Capture 4/Output Compare 5 Flag
Set by IC4 or OC5, depending on which function was enabled by I4/O5 of PACTL
IC1F–IC3F —Input Capture x Flag
Set each time a selected active edge is detected on the ICx input line
NOTE
Control bits in TMSK1 correspond bit for bit with flag bits in TFLG1. Ones in TMSK1
enable the corresponding interrupt sources.
TMSK2 —Timer Interrupt Mask 2
RESET:
$0024
Bit 7
6
5
4
3
2
1
Bit 0
TOI
RTII
PAOVI
PAII
—
—
PR1
PR0
0
0
0
0
0
0
0
0
TOI —Timer Overflow Interrupt Enable
0 = Timer overflow interrupt disabled
1 = Timer overflow interrupt enabled
RTII —Real-Time Interrupt Enable
0 = RTIF interrupts disabled
1 = Interrupt requested when RTIF is set to one.
PAOVI —Pulse Accumulator Overflow Interrupt Enable
Refer to 11 Pulse Accumulator.
PAII —Pulse Accumulator Interrupt Enable
Refer to 11 Pulse Accumulator.
MOTOROLA
68
M68HC11 K Series
MC68HC11KTS/D
NOTE
Control bits [7:4] in TMSK2 correspond bit for bit with flag bits [7:4] in TFLG2. Ones
in TMSK2 enable the corresponding interrupt sources.
Bits [3:2] —Not implemented
Always read zero
PR[1:0] —Timer Prescaler Select
In normal modes, PR1 and PR0 can only be written once, and the write must occur within 64 cycles
after reset. Refer to Table 10 for specific timing values.
PR[1:0]
00
01
10
11
Prescaler
1
4
8
16
TFLG2 —Timer Interrupt Flag 2
RESET:
$0025
Bit 7
6
5
4
3
2
1
Bit 0
TOF
RTIF
PAOVF
PAIF
—
—
—
—
0
0
0
0
0
0
0
0
Clear flags by writing a one to the corresponding bit position(s).
TOF —Timer Overflow Flag
Set when TCNT changes from $FFFF to $0000
RTIF —Real-Time (Periodic) Interrupt Flag
0 = No RTI interrupt
1 = RTI interrupt request pending
PAOVF —Pulse Accumulator Overflow Flag
Refer to 11 Pulse Accumulator.
PAIF —Pulse Accumulator Input Edge Flag
Refer to 11 Pulse Accumulator.
Bits [3:0] —Not implemented
Always read zero
PACTL —Pulse Accumulator Control
RESET:
$0026
Bit 7
6
5
4
3
2
1
Bit 0
—
PAEN
PAMOD
PEDGE
—
I4/O5
RTR1
RTR0
0
0
0
0
0
0
0
0
Bit 7 —Not implemented
Always read zero
PAEN —Pulse Accumulator System Enable
Refer to 11 Pulse Accumulator.
PAMOD —Pulse Accumulator Mode
Refer to 11 Pulse Accumulator.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
69
PEDGE —Pulse Accumulator Edge Control
Refer to 11 Pulse Accumulator.
Bit 3 —Not implemented
Always reads zero
I4/O5 —Input Capture 4/Output Compare 5
Configure TI4/O5 for input capture or output compare
0 = OC5 enabled
1 = IC4 enabled
RTR[1:0] —Real-Time Interrupt (RTI) Rate
Refer to 10.1 Real-Time Interrupt.
10.1 Real-Time Interrupt
These rates are a function of the MCU oscillator frequency and the value of the software-accessible
control bits, RTR1 and RTR0. These bits determine the rate at which interrupts are requested by the
RTI system. The RTI system is driven by an E divided by 213 rate clock compensated so that it is independent of the timer prescaler. The RTR1 and RTR0 control bits select an additional division factor. RTI
is set to its fastest rate by default out of reset and can be changed at any time.
Table 12 Real-Time Interrupt Rates (Period Length)
Period Length
RTR[1:0]
Selected
Period Length
E = 2.0 MHz
E = 3.0 MHz
E = 4.0 MHz
00
13 ÷E
2
4.096 ms
2.731 ms
2.048 ms
01
214 ÷Ε
8.192 ms
5.461 ms
4.096 ms
10
215 ÷Ε
16.384 ms
10.923 ms
8.192 ms
11
216 ÷Ε
32.768 ms
21.845 ms
16.383 ms
Table 13 Real-Time Interrupt Rates (Frequency)
Frequency
RTR[1:0]
Rate Selected
E = 2.0 MHz
E = 3.0 MHz
E = 4.0 MHz
00
E ÷213
244.141 Hz
366.211 Hz
488.281 Hz
01
E ÷214
122.070 Hz
183.105 Hz
244.141 Hz
10
E ÷215
61.035 Hz
91.553 Hz
122.070 Hz
11
E ÷216
30.518 Hz
45.776 Hz
61.035 Hz
MOTOROLA
70
M68HC11 K Series
MC68HC11KTS/D
11 Pulse Accumulator
M68HC11 K-series MCUs have an 8-bit counter that can be configured as a simple event counter or for
gated time accumulation. The counter can be read or written at any time.
The port A bit 7 I/O pin can be configured to act as a clock in event counting mode, or as a gate signal
to enable a free-running clock (E divided by 64) to the 8-bit counter in gated time accumulation mode.
Common XTAL Frequencies
8.0 MHz
12.0 MHz
(E)
2.0 MHz
3.0 MHz
(1/E)
500 ns
333 ns
Pulse Accumulator (Gated Mode)
32.0 µs
21.33 µs
(26/E)
14
8.192 ms
5.461 ms
(2 /E)
CPU Clock
Cycle Time
1 Count —
Overflow —
16.0 MHz
4.0 MHz
250 ns
16.0 µs
4.096 ms
PAOVI
PAOVF
1
INTERRUPT
REQUESTS
PAII
PAIF
PAOVF
PAIF
PAOVI
PAII
E ÷ 64 CLOCK
(FROM MAIN TIMER)
2
TFLG2 INTERRUPT STATUS
TMSK2 INT ENABLES
PAI EDGE
PAEN
DISABLE
FLAG SETTING
OVERFLOW
PIN
PA7/
PAI/
OC1
2:1
MUX
INPUT BUFFER
AND
EDGE DETECTOR
FROM
DDRA7
PACNT 8-BIT COUNTER
ENABLE
DATA BUS
OUTPUT
BUFFER
PAEN
PAEN
PAMOD
PEDGE
FROM
MAIN TIMER
OC1
CLOCK
PACTL CONTROL
INTERNAL
DATA BUS
Figure 18 Pulse Accumulator System Block Diagram
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
71
TMSK2 —Timer Interrupt Mask 2
RESET:
$0024
Bit 7
6
5
4
3
2
1
Bit 0
TOI
RTII
PAOVI
PAII
—
—
PR1
PR0
0
0
0
0
0
0
0
0
TOI —Timer Overflow Interrupt Enable
Refer to 10 Main Timer.
RTII —Real-Time Interrupt Enable
Refer to 10 Main Timer.
PAOVI —Pulse Accumulator Overflow Interrupt Enable
0 = Pulse accumulator overflow interrupt disabled
1 = Pulse accumulator overflow interrupt enabled
PAII —Pulse Accumulator Input Interrupt Enable
0 = Pulse accumulator input interrupt disabled
1 = Pulse accumulator input interrupt enabled if PAIF bit in TFLG2 register is set
Bits [3:2] —Not implemented
Always read zero
PR[1:0] —Timer Prescaler Select
Refer to 10 Main Timer.
NOTE
Control bits [7:4] in TMSK2 correspond bit for bit with flag bits [7:4] in TFLG2. Ones
in TMSK2 enable the corresponding interrupt sources.
TFLG2 —Timer Interrupt Flag 2
RESET:
$0025
Bit 7
6
5
4
3
2
1
Bit 0
TOF
RTIF
PAOVF
PAIF
—
—
—
—
0
0
0
0
0
0
0
0
Clear flags by writing a one to the corresponding bit position(s).
TOF —Timer Overflow Enable
Refer to 10 Main Timer.
RTIF —Real-Time Interrupt Flag
Refer to 10 Main Timer.
PAOVF —Pulse Accumulator Overflow Flag
Set when PACNT changes from $FF to $00
PAIF —Pulse Accumulator Input Edge Flag
Set each time a selected active edge is detected on the PAI input line
Bits [3:0] —Not implemented
Always read zero
MOTOROLA
72
M68HC11 K Series
MC68HC11KTS/D
PACTL —Pulse Accumulator Control
RESET:
$0026
Bit 7
6
5
4
3
2
1
Bit 0
—
PAEN
PAMOD
PEDGE
—
I4/O5
RTR1
RTR0
0
0
0
0
0
0
0
0
Bit 7 —Not implemented
Always reads zero
PAEN —Pulse Accumulator System Enable
0 = Pulse accumulator disabled
1 = Pulse accumulator enabled
PAMOD —Pulse Accumulator Mode
0 = Event counter
1 = Gated time accumulation
PEDGE —Pulse Accumulator Edge Control
0 = In event mode, falling edges increment counter. In gated accumulation mode, high level enables
accumulator and falling edge sets PAIF.
1 = In event mode, rising edges increment counter. In gated accumulation mode, low level enables
accumulator and rising edge sets PAIF.
I4/O5 —Input Capture 4/Output Compare 5
Refer to 10 Main Timer.
RTR[1:0] —Real-Time Interrupt Rate
Refer to 10 Main Timer.
PACNT —Pulse Accumulator Counter
$0027
Bit 7
6
5
4
3
2
1
Bit 0
Bit 7
6
5
4
3
2
1
Bit 0
Can be read and written.
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
73
12 Pulse-Width Modulation Timer
M68HC11 K-series MCUs contains a PWM timer that is composed of a four-channel 8-bit modulator.
Each of the modulators can create independent continuous waveforms with software-selectable duty
rates from 0% to 100%.
The PWM provides up to four pulse-width modulated waveforms on port H pins. Each channel has its
own counter. Pairs of counters can be concatenated to create 16-bit PWM outputs based on 16-bit
counts. Three clock sources (A, B, and S) and a flexible clock select scheme give the PWM system a
wide range of frequencies.
Four control registers configure the PWM outputs —PWCLK, PWPOL, PWSCAL, and PWEN. The PWCLK register selects the prescale value for the PWM clock sources and enables the 16-bit PWM functions. The PWPOL register determines each channel's polarity and selects the clock source for each
channel. The PWSCAL register derives a user-scaled clock based on the A clock source, and the
PWEN register enables the PWM channels.
Each channel has a separate 8-bit counter, period register, and duty cycle register. The period and duty
cycle registers are double buffered so that if they are changed while the channel is enabled, the change
does not take effect until the counter rolls over or the channel is disabled. A new period or duty cycle
can be forced into effect immediately by writing to the period or duty cycle register and then writing to
the counter.
With channels configured for 8-bit mode and E = 4 MHz, PWM signals of 40 kHz (1% duty cycle resolution) to less than 10 Hz (approximately 0.4% duty cycle resolution) can be produced. By configuring
the channels for 16-bit mode with E = 4 MHz, PWM periods greater than one minute are possible.
In 16-bit mode, duty cycle resolution of almost 15 parts per million can be achieved (at a PWM frequency of about 60 Hz). In the same system, a PWM frequency of 1 kHz corresponds to a duty cycle resolution of 0.025%.
MOTOROLA
74
M68HC11 K Series
MC68HC11TS/D
MCU
E CLOCK
÷1
÷2
÷4
÷8
÷ 16
÷ 32
÷ 64
÷ 128
PCKB1
PCKB2
PCKB3
CLOCK S
÷2
8-BIT COMPARE =
PWSCAL
8
SELECT
RESET
8-BIT COUNTER
CLOCK A
PCKA1 PCKA2
CLOCK B
SELECT
PWEN3
PWEN4
CON34
CLOCK
SELECT
PCLK3
PCLK4
CNT3
PWCNT1
CNT4
PWCNT2
CNT1
CARRY
S
8
8
8-BIT COMPARE =
8-BIT COMPARE =
PWPER1
PWPER2
8-BIT COMPARE =
8-BIT COMPARE =
PWDTY1
PWDTY2
CNT2
PPOL1
CON12
RESET
RESET
PWEN1
PWEN2
CON12
CLOCK
SELECT
PCLK1
PCLK2
16-BIT
PWM
CONTROL
Q
R
Q
S
Q
MUX
BIT 0
PH0/
PW1
MUX
BIT 1
PH1/
PW2
Q
R
PPOL2
PWCNT3
PWCNT4
CARRY
RESET
RESET
PORT H
PIN
CONTROL
PPOL3
CON34
S
8
8
8-BIT COMPARE =
8-BIT COMPARE =
PWPER3
PWPER4
8-BIT COMPARE =
8-BIT COMPARE =
PWDTY3
PWDTY4
16-BIT
PWM
CONTROL
Q
R
Q
S
Q
R
MUX
BIT 2
PH2/
PW3
MUX
BIT 3
PH3/
PW4
Q
PPOL4
PWM
OUTPUT
PWDTY
PWPER
Figure 19 Pulse-Width Modulation Block Diagram
M68HC11 K Series
MC68HC11TS/D
MOTOROLA
75
PWCLK —Pulse-Width Modulation Clock Select
$0060
Bit 7
6
5
4
3
2
1
Bit 0
CON34
CON12
PCKA2
PCKA1
—
PCKB3
PCKB2
PCKB1
0
0
0
0
0
0
0
0
RESET:
CON34 —Concatenate Channels 3 and 4
Channel 3 is high-order byte, and channel 4 is the low-order byte. The resulting output is available on
port H, pin 3. Clock source is determined by PCLK4.
0 = Channels 3 and 4 are separate 8-bit PWMs.
1 = Channels 3 and 4 are concatenated to create one 16-bit PWM channel.
CON12 —Concatenate Channels One and Two
Channel 1 is high-order byte, and channel 2 is the low-order byte. The resulting output is available on
port H, pin 1. Clock source is determined by PCLK2.
0 = Channels 1 and 2 are separate 8-bit PWMs.
1 = Channels 1 and 2 are concatenated to create one 16-bit PWM channel.
PCKA[2:1] —Prescaler for Clock A (See also PWSCAL register)
Determines the rate of clock A
PCKA[2:1]
00
01
10
11
Value of Clock A
E
E/2
E/4
E/8
PCKB[3:1]
000
001
010
011
100
101
110
111
Value of Clock B
E
E/2
E/4
E/8
E/16
E/32
E/64
E/128
Bit 3 —Not implemented
Always reads zero
PCKB[3:1] —Prescaler for Clock B
Determines the rate for clock B
PWPOL —Pulse-Width Modulation Timer Polarity
$0061
Bit 7
6
5
4
3
2
1
Bit 0
PCLK4
PCLK3
PCLK2
PCLK1
PPOL4
PPOL3
PPOL2
PPOL1
0
0
0
0
0
0
0
0
RESET:
PCLK4 —Pulse-Width Channel 4 Clock Select
0 = Clock B is source
1 = Clock S is source
MOTOROLA
76
M68HC11 K Series
MC68HC11TS/D
PCLK3 —Pulse-Width Channel 3 Clock Select
0 = Clock B is source
1 = Clock S is source
PCLK2 —Pulse-Width Channel 2 Clock Select
0 = Clock A is source
1 = Clock S is source
PCLK1 —Pulse-Width Channel 1 Clock Select
0 = Clock A is source
1 = Clock S is source
PPOL[4:1] —Pulse-Width Channel x Polarity
0 = PWM channel x output is low at the beginning of the clock cycle and goes high when duty count
is reached
1 = PWM channel x output is high at the beginning of the clock cycle and goes low when duty count
is reached
PWSCAL —Pulse-Width Modulation Timer Prescaler
RESET:
$0062
Bit 7
6
5
4
3
2
1
Bit 0
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
Scaled clock S is generated by dividing clock A by the value in PWSCAL, then dividing the result by 2.
If PWSCAL = $00, divide clock A by 256, then divide the result by 2.
PWEN —Pulse-Width Modulation Timer Enable
RESET:
$0063
Bit 7
6
5
4
3
2
1
Bit 0
TPWSL
DISCP
—
—
PWEN4
PWEN3
PWEN2
PWEN1
0
0
0
0
0
0
0
0
TPWSL —PWM Scaled Clock Test Bit (TEST)
Factory test only
DISCP —Disable Compare Scaled E Clock (TEST)
Factory test only
Bits [5:4] —Not implemented
Always read zero
PWEN[4:1] —Pulse-Width Channel 4–1
0 = Channel disabled
1 = Channel enabled
PWCNT1–PWCNT4 —Pulse-Width Modulation Timer Counter 1 to 4
$0064–$0067
$0064
Bit 7
6
5
4
3
2
1
Bit 0
PWCNT1
$0065
Bit 7
6
5
4
3
2
1
Bit 0
PWCNT2
$0066
Bit 7
6
5
4
3
2
1
Bit 0
PWCNT3
$0067
Bit 7
6
5
4
3
2
1
Bit 0
PWCNT4
RESET:
0
0
0
0
0
0
0
0
PWCNT1–PWCNT4
Begins count using whichever clock was selected
M68HC11 K Series
MC68HC11TS/D
MOTOROLA
77
PWPER1–PWPER4 —Pulse-Width Modulation Timer Period 1 to 4
$0068–$006B
$0068
Bit 7
6
5
4
3
2
1
Bit 0
PWPER1
$0069
Bit 7
6
5
4
3
2
1
Bit 0
PWPER2
$006A
Bit 7
6
5
4
3
2
1
Bit 0
PWPER3
$006B
Bit 7
6
5
4
3
2
1
Bit 0
PWPER4
RESET:
1
1
1
1
1
1
1
1
PWPER1–PWPER4
Determines period of associated PWM channel
PWDTY1–4 —Pulse-Width Modulation Timer Duty Cycle 1 to 4
$006C–$006F
Bit 7
6
5
4
3
2
1
Bit 0
$006C
Bit 7
6
5
4
3
2
1
Bit 0
PWDTY1
$006D
Bit 7
6
5
4
3
2
1
Bit 0
PWDTY2
$006E
Bit 7
6
5
4
3
2
1
Bit 0
PWDTY3
$006F
Bit 7
6
5
4
3
2
1
Bit 0
PWDTY4
RESET:
1
1
1
1
1
1
1
1
PWDTY1–4
Determines duty cycle of associated PWM channel
12.1 PWM Boundary Cases
Certain values written to PWM control registers, counters, etc. can cause outputs that are not what the
user might expect. These are referred to as boundary cases. Boundary cases occur when the user
specifies a value that is either a maximum or a minimum. This value combined with other conditions
causes unexpected behavior of the PWM system.
The following conditions always cause the corresponding output to be high:
PWDTYx = $00, PWPERx > $00, and PPOLx = 0
PWDTYx ≥PWPERx, and PPOLx = 1
PWPERx = $00 and PPOLx = 1
The following conditions always cause the corresponding output to be low:
PWDTYx = $00, PWPERx > $00, and PPOLx = 1
PWDTYx ≥PWPERx, and PPOLx = 0
PWPERx = $00 and PPOLx = 0
MOTOROLA
78
M68HC11 K Series
MC68HC11TS/D
M68HC11 K Series
MC68HC11KTS/D
MOTOROLA
79
Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding the suitability
of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and
all liability, including without limitation consequential or incidental damages. "Typical" parameters which may be provided in Motorola data sheets and/or specifications can and
do vary in different applications. All operating parameters, including "Typicals" must be validated for each customer application by customer's technical experts. Motorola does
not convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in systems intended
for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Motorola product could create a
situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended or unauthorized application, Buyer shall indemnify
and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees
arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Motorola was
negligent regarding the design or manufacture of the part.
MCUinit, MCUasm, MCUdebug, and RTEK are trademarks of Motorola, Inc. Motorola and the Motorola logo are registered trademarks of Motorola, Inc. Motorola, Inc. is an
Equal Opportunity/Affirmative Action Employer.
How to reach us:
USA/EUROPE/Locations Not Listed: Motorola Literature Distribution;
P.O. Box 5405, Denver Colorado 80217. 1-800-441-2447, (303) 675-2140
Mfax™: [email protected] - TOUCHTONE (602) 244-6609
INTERNET: http://Design-NET.com
JAPAN: Nippon Motorola Ltd.; Tatsumi-SPD-JLDC,
6F Seibu-Butsuryu-Center, 3-14-2 Tatsumi Koto-Ku, Tokyo 135, Japan. 81-3-3521-8315
ASIA PACIFIC: Motorola Semiconductors H.K. Ltd.; 8B Tai Ping Industrial Park,
51 Ting Kok Road, Tai Po, N.T., Hong Kong. 852-26629298
Mfax is a trademark of Motorola, Inc.
MC68HC11KTS/D
Similar pages