MC68HC08AZ0CFU [MOTOROLA]

Advance Information; 超前信息
MC68HC08AZ0CFU
型号: MC68HC08AZ0CFU
厂家: MOTOROLA    MOTOROLA
描述:

Advance Information
超前信息

微控制器和处理器 外围集成电路 可编程只读存储器 电动程控只读存储器 电可擦编程只读存储器 时钟
文件: 总444页 (文件大小:4787K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
Freescale Semiconductor, Inc.  
MC68HC08AZ0/D  
MC68HC08AZ0  
Advance Information  
June 21, 2000  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
List of Sections  
List of Sections  
List of Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1  
Table of Contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3  
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9  
Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
RAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  
EBI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  
EEPROM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55  
Central Processor Unit (CPU) . . . . . . . . . . . . . . . . . . . . . 67  
System Integration Module (SIM). . . . . . . . . . . . . . . . . . 85  
Clock Generator Module (CGM). . . . . . . . . . . . . . . . . 107  
Mask Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135  
Break Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139  
Monitor ROM (MON) . . . . . . . . . . . . . . . . . . . . . . . . . . . 147  
Computer Operating Properly Module (COP) . . . . . . 159  
Low-Voltage Inhibit (LVI) . . . . . . . . . . . . . . . . . . . . . . . 165  
© Motorola, Inc., 2000  
MOTOROLA  
MC68HC08AZ0  
List of Sections  
1
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
List of Sections  
External Interrupt Module (IRQ) . . . . . . . . . . . . . . . . . . 171  
Serial Communications Interface Module (SCI). . . . . 179  
Serial Peripheral Interface Module (SPI) . . . . . . . . . . . 217  
Timer Interface Module A (TIMA). . . . . . . . . . . . . . . . . 251  
Timer Interface Module B (TIMB) . . . . . . . . . . . . . . . . . 277  
Programmable Interrupt Timer (PIT). . . . . . . . . . . . . . . 299  
Analog-to-Digital Converter (ADC). . . . . . . . . . . . . . . 307  
Keyboard Module (KB) . . . . . . . . . . . . . . . . . . . . . . . . . 319  
I/O Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327  
msCAN08 Controller (msCAN08). . . . . . . . . . . . . . . . . 351  
Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397  
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415  
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427  
Literature Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437  
MC68HC08AZ0  
2
List of Sections  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table of Contents  
Table of Contents  
List of Sections  
Table of Contents  
General Description  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10  
Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13  
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21  
Memory Map  
RAM  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23  
I/O section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35  
EBI  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37  
Module I/O signal descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42  
Externally controlled WAIT states . . . . . . . . . . . . . . . . . . . . . . . . . . . .43  
EBI control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50  
EEPROM  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56  
Future EEPROM Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57  
Central Processor  
Unit (CPU)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67  
MC68HC08AZ0  
MOTOROLA  
Table of Contents  
3
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table of Contents  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68  
CPU registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69  
Arithmetic/logic unit (ALU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73  
CPU during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74  
Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74  
Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82  
System Integration  
Module (SIM)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86  
SIM bus clock control and generation . . . . . . . . . . . . . . . . . . . . . . . . .88  
Reset and system initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90  
SIM counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95  
Exception control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96  
Break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101  
SIM registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104  
Clock Generator  
Module (CGM)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109  
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118  
CGM registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127  
Special modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128  
CGM during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129  
Acquisition/lock time specifications . . . . . . . . . . . . . . . . . . . . . . . . . .130  
Mask Options  
Break Module  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135  
MC68HC08AZ0 options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140  
Break module registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145  
MC68HC08AZ0  
4
Table of Contents  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table of Contents  
Monitor ROM  
(MON)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148  
Computer  
Operating Properly  
Module (COP)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160  
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
COP Control register (COPCTL) . . . . . . . . . . . . . . . . . . . . . . . . . . . 163  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163  
Monitor mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164  
COP module during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . 164  
Low-Voltage Inhibit  
(LVI)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166  
LVI Status Register (LVISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168  
LVI interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169  
External Interrupt  
Module (IRQ)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172  
IRQ module during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . 176  
IRQ status and control register (ISCR) . . . . . . . . . . . . . . . . . . . . . . 176  
Serial  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197  
SCI during break module interrupts . . . . . . . . . . . . . . . . . . . . . . . . 198  
I/O signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198  
I/O registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199  
Communications  
Interface Module  
(SCI)  
MC68HC08AZ0  
MOTOROLA  
Table of Contents  
5
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table of Contents  
Serial Peripheral  
Interface Module  
(SPI)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218  
Pin name conventions and I/O register addresses . . . . . . . . . . . . . .219  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220  
Transmission formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225  
Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234  
Queuing transmission data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235  
Resetting the SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238  
SPI during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239  
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240  
I/O registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243  
Timer Interface  
Module A (TIMA)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263  
TIMA during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264  
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265  
I/O registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266  
Timer Interface  
Module B (TIMB)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287  
TIMB during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288  
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290  
Programmable  
Interrupt Timer  
(PIT)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299  
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300  
MC68HC08AZ0  
6
Table of Contents  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table of Contents  
Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301  
PIT during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302  
I/O registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303  
Analog-to-Digital  
Converter (ADC)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311  
I/O signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312  
I/O registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313  
Keyboard Module  
(KB)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323  
Keyboard module during break interrupts . . . . . . . . . . . . . . . . . . . . 325  
I/O Ports  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328  
Port A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329  
Port B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331  
Port C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334  
Port D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337  
Port E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340  
Port F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344  
Port G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347  
Port H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349  
msCAN08  
Controller  
(msCAN08)  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353  
External pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354  
Message storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355  
Identifier acceptance filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361  
Protocol violation protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366  
Low power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367  
MC68HC08AZ0  
MOTOROLA  
Table of Contents  
7
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table of Contents  
Timer link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370  
Clock system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371  
Memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374  
Programmer’s model of message storage . . . . . . . . . . . . . . . . . . . .375  
Programmer’s model of control registers . . . . . . . . . . . . . . . . . . . . .380  
Specifications  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397  
Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .398  
Functional Operating Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399  
Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399  
5.0 Volt DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . .400  
Control Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401  
ADC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .402  
5.0 vdc ± 0.5v Serial Peripheral Interface (SPI) Timing . . . . . . . . . .403  
CGM Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406  
CGM Component Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406  
CGM Acquisition/Lock Time Information . . . . . . . . . . . . . . . . . . . . .407  
Timer Module Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408  
Memory Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408  
EBI Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408  
Mechanical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413  
Glossary  
Index  
Literature Updates  
Literature Distribution Centers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .437  
Customer Focus Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .438  
Mfax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .438  
Motorola SPS World Marketing World Wide Web Server . . . . . . . . .438  
Microcontroller Division’s Web Site . . . . . . . . . . . . . . . . . . . . . . . . .438  
MC68HC08AZ0  
8
Table of Contents  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
General Description  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10  
Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13  
Power supply pins (Vdd and Vss). . . . . . . . . . . . . . . . . . . . . . . . . . 14  
Oscillator pins (OSC1 and OSC2) . . . . . . . . . . . . . . . . . . . . . . . . . 14  
External reset pin (RST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14  
External interrupt pin (IRQ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
Analog power supply pin (VDDA) . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
Analog ground pin (VSSA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
Analog ground pin (AVSS/VREFL) . . . . . . . . . . . . . . . . . . . . . . . . . 15  
ADC voltage reference pin (VREFH) . . . . . . . . . . . . . . . . . . . . . . . 15  
Analog supply pin (VDDAREF). . . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
Port A input/output (I/O) pins (PTA7–PTA0). . . . . . . . . . . . . . . . . . 15  
Port B I/O pins (PTB7/ATD7–PTB0/ATD0). . . . . . . . . . . . . . . . . . . 16  
Port C I/O pins (PTC5–PTC0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
Port D I/O pins (PTD7–PTD0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
Port E I/O pins (PTE7/SPSCK–PTE0/TxD) . . . . . . . . . . . . . . . . . . 16  
Port F I/O pins (PTF6–PTF0/TACH2). . . . . . . . . . . . . . . . . . . . . . . 16  
Port G I/O pins (PTG2/KBD2–PTG0/KBD0) . . . . . . . . . . . . . . . . . . 16  
Port H I/O pins (PTH1/KBD4–PTH0/KBD3) . . . . . . . . . . . . . . . . . . 17  
CAN transmit pin (CANTx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
CAN receive pin (CANRx). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
1-gen  
MC68HC08AZ0  
MOTOROLA  
General Description  
9
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Introduction  
The MC68HC08AZ0 is a member of the low-cost, high-performance  
M68HC08 Family of 8-bit microcontroller units (MCUs). The M68HC08  
Family is based on the customer-specified integrated circuit (CSIC)  
design strategy. All MCUs in the family use the enhanced M68HC08  
central processor unit (CPU08) and are available with a variety of  
modules, memory sizes and types, and package types.  
As of Decenmber 1999, the MC68HC08AZ0 is not recommended for  
new designs.  
Features  
Features of the MC68HC08AZ0 include the following:  
• High-performance M68HC08 architecture  
• Fully upward-compatible object code with M6805, M146805, and  
M68HC05 families  
• 8.4MHz internal bus frequency at 85°C  
• msCAN Controller (Motorola Scalable CAN) (implementing CAN  
2.0b protocol as defined in BOSCH specification Sep. 1991)  
• Available in 100 QFP package  
• 512 bytes of on-chip EEPROM with security feature  
• 1K byte of on-chip RAM  
• Serial Peripheral Interface (SPI) module  
• Serial Communications Interface (SCI) module  
• 16-bit timer interface module (TIMA) with four input capture/output  
compare channels  
• 16-bit timer interface module (TIMB) with two input capture/output  
compare channels  
• Periodic Interrupt Timer (PIT)  
2-gen  
MC68HC08AZ0  
10  
General Description  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Features  
• Clock Generator Module (CGM)  
• 8-bit, 8-channel Analog to Digital Convertor module (ADC)  
• 5-bit key wakeup port  
• System protection features  
– Optional Computer Operating Properly (COP) reset  
– Low-voltage detection with optional reset  
– Illegal opcode detection with optional reset  
– Illegal address detection with optional reset  
• Low-power design (fully static with STOP and WAIT modes)  
• Master reset pin and power-on reset  
Features of the CPU08 include the following:  
• Enhanced HC05 programming model  
• Extensive loop control functions  
• 16 addressing modes (8 more than the HC05)  
• 16-Bit Index register and stack pointer  
• Memory-to-memory data transfers  
• Fast 8 × 8 multiply instruction  
• Fast 16/8 divide instruction  
• Binary-Coded Decimal (BCD) instructions  
• Optimization for controller applications  
• ‘C’ language support  
• External Bus Interface (EBI)  
• No on-chip user ROM or mask options  
• Available in 100-pin TQFP (Thin Quad Flat Pack) package  
Figure 1 shows the structure of the MC68HC08AZ0  
3-gen  
MC68HC08AZ0  
11  
MOTOROLA  
General Description  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
P T H  
P T G  
P T A  
P T B  
P T C  
P T D  
P T E  
P T F  
D D R H  
D D R G  
D D R A  
D D R B  
D D R C  
D D R D  
D D R E  
D D R F  
4-gen  
MC68HC08AZ0  
12  
General Description  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Pin Assignments  
Pin Assignments  
Figure 2 shows the 100 QFP pin assignments.  
PTH0/KBD3  
1
2
PTC4  
75  
74  
73  
72  
71  
PTD3  
PTD2  
IRQ  
RST  
PTF0/TACH2  
PTF1/TACH3  
PTF2  
3
4
A
V
/VREFL  
VSS  
5
DDAREF  
PTD1  
PTD0  
WSCLK  
WEB  
70  
69  
68  
6
7
8
9
PTF3  
PTF4/TBCH0  
67  
66  
65  
E
VDD1  
REB  
CS1  
EDB7 10  
11  
12  
13  
EAB0  
EAB1  
EAB2  
CS0  
64  
63  
62  
61  
60  
59  
58  
57  
MC68HC08AZ0  
EAB15  
EAB14  
EAB3 14  
EAB4  
EAB13  
15  
EAB5 16  
E
VSS3  
PTB7/ATD7  
E
17  
18  
VSS1  
PTB6/ATD6  
PTB5/ATD5  
PTB4/ATD4  
PTB3/ATD3  
PTB2/ATD2  
PTB1/ATD1  
PTB0/ATD0  
CANRx  
CANTx 19  
PTF5/TBCH1 20  
PTF6 21  
56  
55  
54  
22  
23  
PTE0/TxD  
PTE1/RxD  
53  
52  
51  
24  
25  
PTE2/TACH0  
PTE3/TACH1  
PTA7  
Figure 2. 100 QFP pin assignments  
5-gen  
MC68HC08AZ0  
13  
MOTOROLA  
General Description  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Power supply pins  
(VDD and VSS)  
VDD and VSS are the power supply and ground pins. The MCU operates  
from a single power supply.  
Fast signal transitions on MCU pins place high, short-duration current  
demands on the power supply. To prevent noise problems, take special  
care to provide power supply bypassing at the MCU as Figure 3. shows.  
Place the C1 bypass capacitor as close to the MCU as possible. Use a  
high-frequency-response ceramic capacitor for C1. C2 is an optional  
bulk current bypass capacitor for use in applications that require the port  
pins to source high current levels.  
MCU  
VDD  
VSS  
C1  
0.1 µF  
+
C2  
VDD  
NOTE: Component values shown  
represent typical applications.  
Figure 3.Power supply bypassing  
VSS is also the ground for the port output buffers and the ground return  
for the serial clock in the serial peripheral interface module (SPI).  
NOTE: VSS must be grounded for proper MCU operation.  
Oscillator pins  
(OSC1 and OSC2)  
The OSC1 and OSC2 pins are the connections for the on-chip oscillator  
circuit. See Clock Generator Module (CGM) on page 107.  
External reset pin  
(RST)  
A ‘0’ on the RST pin forces the MCU to a known start-up state. RST is  
bidirectional, allowing a reset of the entire system. It is driven low when  
6-gen  
MC68HC08AZ0  
14  
General Description  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Pin Assignments  
any internal reset source is asserted. See  
System Integration Module (SIM) on page 85.  
External interrupt  
pin (IRQ)  
IRQ is an asynchronous external interrupt pin. See  
External Interrupt Module (IRQ) on page 171.  
Analog power  
V
is the power supply pin for the clock generator module (CGM).  
DDA  
supply pin (V  
)
DDA  
Analoggroundpin  
(V  
The V  
analog ground pin is used only for the ground connections for  
SSA  
)
the clock generator module (CGM) section of the circuit and should be  
decoupled as per the VSS digital ground pin. See  
SSA  
Clock Generator Module (CGM) on page 107.  
Analoggroundpin  
The A  
analog ground pin is used only for the ground connections for  
VSS  
(A /VREFL)  
the analog to digital convertor (ADC) and should be decoupled as per  
the VSS digital ground pin.  
VSS  
ADC voltage  
reference pin  
(VREFH)  
VREFH is the power supply for setting the reference voltage VREFH.  
Connect the VREFH pin to a voltage potential<= V  
1.5V.  
, not less than  
DDAREF  
Analog supply pin  
The V  
analog supply pin is used only for the supply connections  
DDAREF  
(V  
)
for the analog to digital convertor (ADC).External filter capacitor pin  
(CGMXFC)  
DDAREF  
CGMXFC is an external filter capacitor connection for the CGM. See  
Clock Generator Module (CGM) on page 107.  
PortAinput/output  
(I/O) pins  
PTA7–PTA0 are general-purpose bidirectional I/O port pins. See I/O  
Ports on page 327.  
(PTA7PTA0)  
7-gen  
MC68HC08AZ0  
MOTOROLA  
General Description  
15  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Port B I/O pins  
(PTB7/ATD7ÐPTB0/  
ATD0)  
Port B is an 8-bit special function port that shares all eight pins with the  
analog to digital convertor (ADC). See  
Analog-to-Digital Converter (ADC) on page 307 and I/O Ports on page  
327.  
Port C I/O pins  
(PTC5ÐPTC0)  
PTC5PTC3 and PTC1PTC0 are general-purpose bidirectional I/O  
port pins. PTC2/MCLK is a special function port that shares its pin with  
the system clock. See I/O Ports on page 327.  
Port D I/O pins  
(PTD7ÐPTD0)  
Port D is an 8-bit special function port that shares two of its pins with the  
timer interface modules (TIMA and TIMB). see  
Timer Interface Module A (TIMA) on page 251 and  
Timer Interface Module B (TIMB) on page 277. PTD6–PTD0 also  
share pins with the analog to digital convertor (ADC) like port A if the  
15-channel ADC is selected.  
Port E I/O pins  
(PTE7/SPSCKÐPTE0/  
TxD)  
Port E is an 8-bit special function port that shares two of its pins with the  
timer interface module (TIMA), four of its pins with the Serial Peripheral  
Interface Module (SPI), and two of its pins with the Serial  
Communication Interface Module (SCI). See  
Serial Communications Interface Module (SCI) on page 179,  
Serial Peripheral Interface Module (SPI) on page 217,  
Timer Interface Module A (TIMA) on page 251 and I/O Ports on page  
327.  
Port F I/O pins  
(PTF6ÐPTF0/TACH2)  
Port F is a 7-bit special function port that shares four of its pins with the  
timer interface modules. SeeTimer Interface Module A (TIMA) on  
page 251, Timer Interface Module B (TIMB) on page 277 and I/O  
Ports on page 327.  
Port G I/O pins  
(PTG2/KBD2ÐPTG0  
/KBD0)  
PTG2/KBD2PTG0/KBD0 are general-purpose bidirectional I/O pins  
with Key Wakeup feature. See Keyboard Module (KB) on page 319  
and I/O Ports on page 327.  
8-gen  
MC68HC08AZ0  
16  
General Description  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Pin Assignments  
Port H I/O pins  
(PTH1/KBD4ÐPTH0/  
KBD3)  
PTH1/KBD4PTH0/KBD3 are general-purpose bidirectional I/O pins  
with Key Wakeup feature. See Keyboard Module (KB) on page 319  
and I/O Ports on page 327.  
CAN transmit pin  
(CANTx)  
CANTx is the digital output from the msCAN module. See msCAN08  
Controller (msCAN08) on page 351.  
CAN receive pin  
(CANRx)  
CANRx is the digital input to the msCAN module. See msCAN08  
Controller (msCAN08) on page 373  
Power supply  
The E  
and E  
pins are for the sole use of the I/O pins. This will help  
VSS  
VDD  
pins(E  
and E  
/E  
reduce the effect of the noise induced into the V power supply.  
VDD3 VDD1  
SS  
/E  
)
VSS4 VSS1  
External data pins  
(EDB7ÐEDB0)  
EDB7–EDB0 are the bidirectional data lines for connection to external  
peripherals.  
External address  
pIns (EAB15ÐEAB0)  
EAB15–EAB0 are the address lines for connection to external  
peripherals. See EBI.  
Write control pin  
(WEB)  
WEB is the write control signal for external peripherals. See EBI.  
REB is the read control signal for external peripherals. See EBI.  
WSCLK is the External WAIT State control signal. See EBI.  
Read control pin  
(REB)  
WAIT states clock  
pin (WSCLK)  
External  
chip-select pins  
(CS1,CS0)  
CS1 and CS0 are the chip-select lines for connection to external  
peripherals. See EBI. The external pins are summarized in Table 1 and  
the clock sources are shown in Table 3.  
9-gen  
MC68HC08AZ0  
MOTOROLA  
General Description  
17  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Table 1. External pins summary  
PIN NAME  
FUNCTION  
DRIVER TYPE  
HYSTERESIS  
RESET STATE  
PTA7 -PTA0  
General purpose I/O  
Dual State  
Dual State  
No  
No  
Input (Hi-Z)  
Input (Hi-Z)  
PTB7/ATD7 -  
PTB0/ATD0  
General purpose I/0  
/ ADC channel  
PTC5 - PTC0  
PTD7  
General purpose I/O  
General purpose I/O  
Dual State  
Dual State  
Dual State  
No  
No  
No  
Input (Hi-Z)  
Input (Hi-Z)  
Input (Hi-Z)  
PTD6/TACLK  
General purpose I/O  
/ Timer External Input clock  
PTD5  
General purpose I/O/ Timer  
External Input clock  
Dual State  
Dual State  
No  
Input (Hi-Z)  
PTD4/TBLCK-PTD0  
PTE7/SPSCK  
General purpose Input  
No  
Input (Hi-Z)  
Input (Hi-Z)  
General purpose I/0  
/ SPI clock  
Dual State  
(open drain)  
Yes  
PTE6/MOSI  
PTE5/MISO  
PTE4/SS  
General purpose I/0  
/ SPI data path  
Dual State  
(open drain)  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
Input (Hi-Z)  
Input (Hi-Z)  
Input (Hi-Z)  
Input (Hi-Z)  
Input (Hi-Z)  
Input (Hi-Z)  
Input (Hi-Z)  
General purpose I/0  
/ SPI data path  
Dual State  
(open drain)  
General purpose I/0  
/ SPI Slave Select  
Dual State  
Dual State  
Dual State  
Dual State  
Dual State  
PTE3/TACH1  
PTE2/TACH0  
PTE1/RxD  
PTE0/TxD  
General purpose I/0  
/ Timer A channel 1  
General purpose I/0  
/ TimerA channel 0  
General purpose I/0  
/ SCI Receive Data  
General purpose I/0  
/ SCI Transmit Data  
PTF6  
General purpose I/O  
Dual State  
Dual State  
Yes  
Yes  
Input (Hi-Z)  
Input (Hi-Z)  
PTF5/TBCH1  
General purpose I/O  
/Timer B channel 1  
PTF4/TBCH0  
General purpose I/0  
/ TimerB channel 0  
Dual State  
Yes  
Input (Hi-Z)  
PTF3  
PTF2  
General purpose I/0  
General purpose I/0  
Dual State  
Dual State  
Yes  
Yes  
Input (Hi-Z)  
Input (Hi-Z)  
10-gen  
MC68HC08AZ0  
18  
General Description  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Pin Assignments  
Table 1. External pins summary (Continued)  
PIN NAME  
PTF1/TACH3  
FUNCTION  
DRIVER TYPE  
Dual State  
HYSTERESIS  
RESET STATE  
Input (Hi-Z)  
General purpose I/0  
/TimerA channel 3  
Yes  
Yes  
Yes  
Yes  
PTF0/TACH2  
General purpose I/0  
/TimerA channel 2  
Dual State  
Dual State  
Dual State  
Input (Hi-Z)  
Input (Hi-Z)  
Input (Hi-Z)  
PTG2/KBD2 -  
PTG0/KBD0  
General purpose I/0 with key  
wakeup feature  
PTH1/KBD4-  
PTH0/KBD3  
General purpose I/0 with key  
wakeup feature  
V
Logical chip power supply  
Logical chip ground  
Analog power supply(CGM)  
Analog ground (CGM)  
ADC reference voltage  
ADC gnd & reference voltage  
ADC power supply  
External clock in  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
DD  
V
NA  
NA  
SS  
V
NA  
NA  
DDA  
V
NA  
NA  
SSA  
V
NA  
NA  
REFH  
A
/VREFL  
NA  
NA  
VSS  
V
NA  
NA  
DDAREF  
OSC1  
NA  
Input (Hi-Z)  
Output  
NA  
OSC2  
External clock out  
NA  
CGMXFC  
IRQ  
PLL loop filter cap  
External interrupt request  
Reset  
NA  
NA  
Input (Hi-Z)  
Input (Hi-Z)  
Input (Hi-Z)  
Output  
Output  
Input (Hi-Z)  
Output  
Output  
Hi-Z  
RST  
NA  
CANRx  
CANTx  
EAB15-EAB0  
EDB7-EDB0  
REB  
msCAN serial Input  
msCAN serial output  
External address bus  
External data bus  
NA  
YES  
NA  
NA  
NO  
NA  
NA  
NA  
NA  
NA  
Output  
Output  
Dual state  
Output  
Output  
Output  
Output  
Output  
External read enable  
External write enable  
WAIT state clock  
WEB  
WSCLK  
CS1  
Chip-select 1  
Output  
Output  
CS0  
Chip-select 0  
11-gen  
MC68HC08AZ0  
19  
MOTOROLA  
General Description  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Details of the clock connections to each of the modules on the  
MC68HC08AZ0 are shown in Table 3. A short description of each clock  
source is also given in Table 2.  
Table 2. Signal name conventions  
Signal name  
CGMXCLK  
CGMOUT  
Bus clock  
SPSCK  
Description  
Buffered version of OSC1 from clock generator module (CGM)  
PLL-based or OSC1-based clock output from CGM module)  
CGMOUT divided by two  
SPI serial clock (see SPSCK (serial clock) on page 241)  
External clock Input for TIMA (see TIMA clock pin (PTD6/ATD14/TACLK) on  
page 265)  
TACLK  
TBCLK  
External clock Input for TIMB (see TIMB clock Pin (PTD4/ATD12/TBLCK) on  
page 289)  
Table 3. Clock source summary  
Module  
ADC  
Clock source  
CGMXCLK or bus clock  
CGMXCLK or CGMOUT  
CGMXCLK  
msCAN  
COP  
CPU  
EEPROM  
RAM  
SPI  
Bus clock  
CGMXCLK or bus clock  
Bus clock  
SPSCK  
SCI  
CGMXCLK  
TIMA  
TIMB  
PIT  
Bus clock or PTD6/TACLK  
Bus clock or PTD4/TBLCK  
Bus clock  
KBI  
Bus clock  
EBI  
Bus clock  
12-gen  
MC68HC08AZ0  
20  
General Description  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
Ordering Information  
Ordering Information  
This section contains instructions for ordering the MC68HC08AZ0.  
MC Order  
Numbers  
Table 4. MC Order Numbers  
Operating  
MC Order Number  
Temperature Range  
MC68HC08AZ0CFU  
– 40 °C to + 85°C  
13-gen  
MC68HC08AZ0  
21  
MOTOROLA  
General Description  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Description  
14-gen  
MC68HC08AZ0  
22  
General Description  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
Memory Map  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
I/O section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
Introduction  
The CPU08 can address 64K bytes of memory space. The memory map  
includes:  
• 1024 bytes of RAM  
• 512 bytes of EEPROM  
• 32,272 bytes of externally addressable memory  
• 48 bytes of externally addressable user memory  
• 224 bytes of monitor ROM  
The following definitions apply to the memory map representation of  
reserved and unimplemented locations.  
Reserved — Accessing a reserved location can have  
unpredictable effects on MCU operation.  
Unimplemented — Accessing an unimplemented location  
causes an illegal address reset if illegal address resets are  
enabled.  
1-mem  
MC68HC08AZ0  
23  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
I/O section  
Addresses $0000–$004F, shown in Figure 5, contain most of the  
control, status, and data registers. Additional I/O registers have the  
following addresses:  
• $0500 to $057F – CAN control and message buffers. See  
msCAN08 Controller (msCAN08) on page 351.  
• $FE00 – (SIM break status register, SBSR)  
• $FE01 – (SIM reset status register, SRSR)  
• $FE03 – (SIM break flag control register, SBFCR)  
• $FE07 – (EPROM control register, EPMCR)  
• $FE0C and $FE0D – (break address registers, BRKH and BRKL)  
• $FE0E – (break status and control register, BRKSCR)  
• $FE0F – (LVI status register, LVISR)  
• $FE1C – (EEPROM non-volatile register, EENVR)  
• $FE1D – (EEPROM control register, EECR)  
• $FE1F – (EEPROM array configuration register, EEACR)  
• $FFFF – (COP control register, COPCTL)  
2-mem  
MC68HC08AZ0  
24  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
I/O section  
$0000  
I/O REGISTERS (80 BYTES)  
$004F  
$0050  
RAM (1024 BYTES)  
$044F  
$0450  
EXTERNAL (176 BYTES)  
$04FF  
$0500  
CAN CONTROL AND MESSAGE  
BUFFERS(128 BYTES)  
$057F  
$0580  
EXTERNAL (640 BYTES)  
EEPROM (512 BYTES)  
$07FF  
$0800  
$09FF  
$0A00  
EXTERNAL (1536 BYTES)  
EXTERNAL (28,672 BYTES)  
EXTERNAL (16,384BYTES)  
EXTERNAL(15,872BYTES)  
$0FFF  
$1000  
$7FFF  
$8000  
$BFFF  
$C000  
$FDFF  
$FE00  
$FE01  
$FE02  
SIMBREAKSTATUSREGISTER(SBSR)  
SIM RESET STATUS REGISTER (SRSR)  
RESERVED  
SIM BREAK FLAG CONTROL REGISTER  
(SBFCR)  
$FE03  
Figure 4 Memory map  
3-mem  
MC68HC08AZ0  
25  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
$FE04  
$FE05  
$FE06  
$FE07  
$FE08  
$FE09  
$FE0A  
$FE0B  
$FE0C  
$FE0D  
RESERVED  
RESERVED  
UNIMPLEMENTED  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
UNIMPLEMENTED  
BREAK ADDRESS REGISTER HIGH (BRKH)  
BREAK ADDRESS REGISTER LOW (BRKL)  
BREAK STATUS AND CONTROL REGISTER  
(BRKSCR)  
$FE0E  
$FE0F  
$FE10  
LVI STATUS REGISTER (LVISR)  
EXTERNAL (12 BYTES)  
$FE1B  
EEPROM NON-VOLATILE REGISTER  
(EENVR)  
$FE1C  
$FE1D  
$FE1E  
EEPROM CONTROL REGISTER (EECR)  
RESERVED  
$FE1F EEPROM ARRAY CONFIGURATION (EEACR)  
$FE20  
MONITOR ROM (224 BYTES)  
EXTERNAL (192 BYTES)  
EXTERNAL (16 BYTES)  
$FEFF  
$FF00  
$FFBF  
$FFC0  
$FFCF  
$FFD0  
EXTERNAL VECTORS (48 BYTES)  
$FFFF  
Figure 4 Memory map  
4-mem  
MC68HC08AZ0  
26  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
I/O section  
Addr.  
Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
$0000 Port A Data Register (PTA)  
$0001 Port B Data Register (PTB)  
PTA7  
PTA6  
PTA5  
PTA4  
PTA3  
PTA2  
PTA1  
PTB1  
PTC1  
PTD1  
PTA0  
PTB0  
PTC0  
PTD0  
PTB7  
0
PTB6  
0
PTB25  
PTC5  
PTD5  
PTB4  
PTC4  
PTD4  
PTB3  
PTC3  
PTD3  
PTB2  
PTC2  
PTD2  
$0002  
Port C Data Register  
$0003 Port D Data Register (PTD)  
PTD7  
PTD6  
Data Direction Register A  
$0004  
DDRA7 DDRA6 DDRA5  
DDRB7 DDRB6 DDRB5  
DDRA4 DDRA3 DDRA2 DDRA1 DDRA0  
DDRB4 DDRB3 DDRB2 DDRB1 DDRB0  
DDRC4 DDRC3 DDRC2 DDRC1 DDRC0  
DDRD4 DDRD3 DDRD2 DDRD1 DDRD0  
(DDRA)  
Data Direction RegisterB  
$0005  
(DDRB)  
0
Data Direction Register C  
MCLKE  
N
$0006  
DDRC5  
(DDRC)  
Data Direction Register D  
$0007  
DDRD7 DDRD6 DDRD5  
(DDRD)  
$0008 Port E Data Register (PTE)  
$0009 Port F Data Register (PTF)  
$000A Port G Data Register (PTG)  
$000B Port H Data Register (PTH)  
PTE7  
0
PTE6  
PTE5  
PTE4  
PTE3  
PTE2  
PTF2  
PTE1  
PTF1  
PTG1  
PTH1  
PTE0  
PTF0  
PTG0  
PTH0  
PTF6  
0
PTF5  
0
PTF4  
0
PTF3  
0
0
0
PTG2  
0
0
0
0
0
Data Direction Register E  
$000C  
DDRE7 DDRE6 DDRE5  
DDRE4 DDRE3 DDRE2 DDRE1 DDRE0  
(DDRE)  
0
Data Direction Register F  
$000D  
DDRF6 DDRF5  
DDRF4  
0
DDRF3 DDRF2 DDRF1 DDRF0  
(DDRF)  
0
0
0
0
0
0
0
Data Direction Register G  
$000E  
DDRG2 DDRG1 DDRG0  
(DDRG)  
0
0
0
Data Direction Register  
$000F  
DDRH1 DDRH0  
(DDRH)  
SPI Control Register  
SP-  
MSTR  
$0010  
SPRIE  
DMAS  
0
CPOL  
MODF  
CPHA SPWOM  
SPE  
SPR1  
1
SPTIE  
SPR0  
Bit 0  
(SPCR)  
W:  
R: SPRF  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
OVRF  
SPTE  
0
SPI Status and Control  
$0011  
Register (SPSCR)  
$0012 SPI Data Register (SPDR)  
Bit 7  
6
5
4
M
3
2
SCI Control Register 1  
$0013  
LOOPS ENSCI  
TXINV  
SCRIE  
WAKE  
TE  
ILTY  
RE  
PEN  
RWU  
PTY  
(SCC1)  
SCI Control Register 2  
$0014  
SCTIE  
R8  
TCIE  
ILIE  
SBK  
(SCC2)  
SCI Control Register 3  
$0015  
T8  
DMARE  
SCRF  
DMATE  
IDLE  
ORIE  
OR  
NEIE  
NF  
FEIE  
FE  
PEIE  
PE  
(SCC3)  
W:  
R: SCTE  
W:  
TC  
SCI Status Register 1  
$0016  
(SCS1)  
= Unimplemented  
R
= Reserved  
Figure 5. Control, status, and data registers (Sheet 1 of 5)  
5-mem  
MC68HC08AZ0  
27  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
Addr.  
Name  
Bit 7  
0
6
0
5
0
4
0
3
0
2
0
1
BKF  
Bit 0  
RPF  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
SCI Status Register 2  
(SCS2)  
$0017  
$0018 SCI Data Register (SCDR)  
Bit 7  
0
6
0
5
4
3
0
2
1
Bit 0  
SCI Baud Rate Register  
$0019  
SCP1  
SCP0  
SCR2  
SCR1  
SCR0  
(SCBR)  
IRQF  
KEYF  
1
0
ACK1  
0
ACKK  
1
IRQ Status and Control  
$001A  
IMASK1 MODE1  
IMASKK MODEK  
Register (ISCR)  
0
0
0
0
Keyboard Status/Control  
$001B  
(KBSCR)  
PLLF  
LOCK  
1
0
1
0
PLL Control Register  
$001C  
(PCTL)  
PLLIE  
AUTO  
MUL7  
PLLON  
ACQ  
BCS  
XLD  
0
0
PLL Bandwidth Control  
$001D  
Register (PBWC)  
PLL Programming Register  
$001E  
(PPG)  
MUL6  
MUL5  
MUL4  
VRS7  
VRS6  
VRS5  
VRS4  
R: LVISTOP ROMSEC LVIRSTD LVIPWRD SSREC COPRS STOP  
COPD  
R
Mask Option Register A  
$001F  
(MORA)  
W:  
R:  
W:  
R;  
R
TOF  
0
R
R
R
0
TRST  
R
0
R
R
Timer A Status and Control  
$0020  
TOIE  
TSTOP  
PS2  
PS1  
PS0  
Register (TASC)  
Keyboard Interrupt Enable  
$0021  
KBIE4  
12  
KBIE3  
11  
KBIE2  
10  
KBIE1  
9
KBIE0  
Bit 8  
Register (KBIER)  
W:  
R: Bit 15  
W;  
R:  
W:  
R:  
14  
6
13  
5
Timer A Counter Register  
$0022  
High (TACNTH)  
Bit 7  
4
3
2
1
Bit 0  
Timer A Counter Register  
£0023  
Low (TACNTL)  
TimerA Modulo Register  
$0024  
Bit 15  
Bit 7  
14  
6
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8  
Bit 0  
High (TAMODH)  
W:  
R:  
W:  
TimerA Modulo Register  
$0025  
Low (TAMODL)  
Timer A Channel 0 Status R: CH0F  
and Control Register  
$0026  
CH0IE  
MS0B  
13  
MS0A  
ELS0B  
ELS0A  
TOV0 CH0MAX  
W:  
0
(TASC0)  
R:  
W:  
R:  
TimerA Channel 0 Register  
High (TACH0H)  
$0027  
$0028  
Bit 15  
Bit 7  
14  
6
12  
4
11  
3
10  
2
9
1
Bit 8  
Bit 0  
Timer A Channel 0  
Register Low (TACH0L)  
5
0
W:  
Timer A Channel 1 Status R: CH1F  
and Control Register  
$0029  
CH1IE  
MS1A  
ELS1B  
ELS1A  
TOV1 CH1MAX  
W:  
0
(TASC1)  
R:  
W:  
R:  
Timer A Channel 1  
Register High (TACH1H)  
$002A  
$002B  
Bit 15  
Bit 7  
14  
6
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8  
Bit 0  
Timer A Channel 1  
Register Low (TACH1L)  
W:  
Timer A Channel 2 Status R: CH2F  
and Control Register  
$002C  
CH2IE  
MS2B  
MS2A  
ELS2B  
ELS2A  
TOV2 CH2MAX  
W:  
0
(TASC2)  
= Unimplemented  
R
= Reserved  
Figure 5. Control, status, and data registers (Sheet 2 of 5)  
6-mem  
MC68HC08AZ0  
28  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
I/O section  
Addr.  
Name  
Bit 7  
6
5
4
3
2
1
9
Bit 0  
Bit 8  
R:  
W:  
R:  
Timer A Channel 2  
Register High (TACH2H)  
$002D  
Bit 15  
14  
13  
12  
11  
10  
Timer A Channel 2  
Register Low (TACH2L)  
$002E  
$002F  
Bit 7  
6
5
4
3
2
1
Bit 0  
W:  
Timer Channel 3 Status R: CH3F  
and Control Register  
CH3IE  
MS3B  
MS3A  
ELS3B  
ELS3A  
TOV3 CH3MAX  
W:  
0
(TASC3)  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
Timer Channel 3 Register  
High (TACH3H)  
$0030  
$0031  
$0032  
$0033  
$0034  
$0035  
$0036  
$0037  
$0038  
$0039  
$003A  
Bit 15  
Bit 7  
14  
6
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8  
Bit 0  
Timer Channel 3 Register  
Low (TACH3L)  
Unimplemented  
Unimplemented  
Unimplemented  
Unimplemented  
Unimplemented  
Unimplemented  
ADSCR  
R: COCO  
AIEN  
AD6  
ADCO  
AD5  
CH4  
AD4  
CH3  
AD3  
CH2  
AD2  
CH1  
AD1  
CH0  
AD0  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
R
AD7  
ADR  
0
0
0
0
ADC Input Clock Select  
(ADCLKR)  
ADIV2  
0
ADIV1  
IRV  
ADIV0  
NODE  
ADICLK  
CS0WS  
EBI COntrol Register  
(EBIC)  
$003B  
$003C  
MODE WSCLK0 CSC1  
CSC0  
R:  
W:  
EBI Chip Select Register  
(EBICS)  
CS1WS1 CS1WS0 CS1POL CS1EN CS0WS1 CS0WS0 CS0POL CS0EN  
R:  
W:  
R:  
W:  
R:  
W:  
R:  
W:  
$003D  
$003E  
$003F  
$0040  
$0041  
Unimplemented  
Unimplemented  
EESEC  
Mask Option Register B  
(MORB)  
R
R
R
R
0
R
R
R
TOF  
0
0
TimerB Status and Control  
Register (TBSC)  
TOIE  
14  
TSTOP  
13  
PS2  
10  
PS1  
9
PS0  
8
TRST  
12  
R: Bit 15  
W:  
11  
TimerB Counter Register  
High (TBCNTH)  
= Unimplemented  
R
= Reserved  
Figure 5. Control, status, and data registers (Sheet 3 of 5)  
7-mem  
MC68HC08AZ0  
29  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
Addr.  
Name  
Bit 7  
Bit 7  
6
6
5
5
4
4
3
3
2
2
1
1
Bit 0  
0
R:  
W:  
R:  
W:  
R:  
TimerB Counter Register  
Low (TBCNTL)  
$0042  
TimerB Modulo Register  
High (TBMODH)  
$0043  
$0044  
Bit 15  
Bit 7  
14  
6
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8  
Bit 0  
TimerB Modulo Register  
Low (TBMODL)  
W:  
Timer B Channel 0Status R: CH4F  
and Control Register  
$0045  
CH4IE  
MS4B  
MS4A  
ELS4B  
ELS4A  
TOV4 CH0MAX  
W:  
0
(TBSC0)  
R:  
W:  
R:  
Timer B Channel 0Register  
High (TBCH0H)  
$0046  
$0047  
$0048  
$0049  
$004A  
Bit 15  
Bit 7  
14  
6
13  
5
12  
4
11  
3
10  
9
1
8
0
Timer B Channel 0Register  
Low (TBCH0L)  
2
ELS5A  
10  
W:  
R: CH5F  
W:  
R:  
W:  
R:  
Timer B Channel 1Status/  
Control Register (TBSC1)  
CH5IE  
14  
MS5B  
13  
MS5A  
12  
ELS5B  
11  
TOV5 CH1MAX  
0
Timer B Channel 1Register  
High (TBCH1H)  
Bit 15  
9
1
8
0
Timer B Channel1Register  
Low (TBCH1L)  
Bit 7  
6
5
4
0
3
0
2
W:  
Programmable Interrupt R: POF  
Timer Status & Control  
$004B  
PIE  
PSTOP  
PPS2  
PPS1  
PPS0  
W:  
0
Bit 15  
7
PRST  
Register (PSC)  
R:  
W:  
R:  
W
R
W
R:  
W
PIT Counter Register  
HIGH) (PCNTH)  
$004C  
$004D  
$004E  
$004F  
14  
6
13  
5
12  
4
11  
3
10  
2
9
1
9
1
8
0
8
0
PIT Counter Register Low  
(PCNTL)  
PIT Modulo Register High  
(PMODH)  
Bit 15  
7
14  
6
13  
5
12  
4
11  
3
10  
2
PIT Modulo Register Low  
(PMODL)  
R:  
W:  
R: POR  
W:  
SIM Break Status Register  
(SBSR)  
$FE00  
$FE01  
R
R
R
R
R
R
0
SBSW  
LVI  
R
0
PIN  
COP  
ILOP  
ILAD  
SIM Reset Status Register  
(SRSR)  
R:  
SIM Break Flag Control  
Register (SBFCR)  
$FE03  
BCFE  
W:  
R
R
R
R
R
R
R
R:  
W:  
R:  
W:  
$FE07  
$FE0C  
$FE0D  
Reserved  
Break Address Register  
High (BRKH)  
Bit 15  
14  
6
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8  
Bit 0  
R:  
Break Address Register  
Low (BRKL)  
Bit 7  
W:  
= Unimplemented  
R
= Reserved  
Figure 5. Control, status, and data registers (Sheet 4 of 5)  
8-mem  
MC68HC08AZ0  
30  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
I/O section  
Addr.  
Name  
Bit 7  
6
5
0
4
0
3
0
2
0
1
0
Bit 0  
0
R:  
W:  
Break Status and Control  
Register (BRKSCR)  
$FE0E  
BRKE  
BRKA  
R: LVIOUT  
W:  
0
0
0
0
$FE0F LVI Status Register (LVISR)  
0
0
0
R:  
W:  
R:  
W:  
$FE1C  
$FE1D  
$FE1E  
$FE1F  
EENVR  
EECR  
EERA  
CON2  
0
CON1  
CON0  
EEPB3 EEPB2 EEPB1 EEPB0  
0
EEBCLK  
EEOFF EERAS1 EERAS0 ELAT  
EEPGM  
R:  
R
Reserved  
EEACR  
R
R
R
R
R
R
R
W:  
R: EERA  
W:  
CON2  
CON1  
CON0  
EEBP3 EEBP2 EEBP1 EEBP0  
R:  
W:  
LOW BYTE OF RESET VECTOR  
WRITING TO $FFFF CLEARS COP COUNTER  
COP Control Register  
(COPCTL)  
$FFFF  
= Unimplemented  
R
= Reserved  
Figure 5. Control, status, and data registers (Sheet 5 of 5)  
9-mem  
MC68HC08AZ0  
31  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
(1)  
Table 1. Vector addresses  
Address  
Vector  
$FFD0  
$FFD1  
$FFD2  
$FFD3  
$FFD4  
$FFD5  
$FFD6  
$FFD7  
$FFD8  
$FFD9  
$FFDA  
$FFDB  
$FFDC  
$FFDD  
$FFDE  
$FFDF  
$FFE0  
$FFE1  
$FFE2  
$FFE3  
$FFE4  
$FFE5  
$FFE6  
$FFE7  
$FFE8  
$FFE9  
$FFEA  
$FFEB  
$FFEC  
$FFED  
$FFEE  
$FFEF  
$FFF0  
$FFF1  
$FFF2  
$FFF3  
$FFF4  
$FFF5  
$FFF6  
$FFF7  
$FFF8  
$FFF9  
$FFFA  
$FFFB  
$FFFC  
$FFFD  
$FFFE  
$FFFF  
ADC vector (high)  
ADC vector (low)  
Low  
Keyboard vector (high)  
Keyboard vector (low)  
SCI transmit vector (high)  
SCI Transmit vector (Low)  
SCI Receive vector (High)  
SCI Receive vector (Low)  
SCI Error vector (High)  
SCI Error vector (Low)  
msCAN Transmit vector(High)  
msCAN Transmit vector (Low)  
msCAN Receive vector(High)  
msCAN Receive vector (Low)  
msCAN Error vector(High)  
msCAN Error vector (Low)  
msCAN Wakeup vector(High)  
msCAN Wakeup vector (Low)  
SPI Transmit vector(High)  
SPI Transmit vector (Low)  
SPI Receive vector(High)  
SPI Receive vector (Low)  
TIMB Overflow vector(High)  
TIMB Overflow vector (Low)  
TIMB CH1 vector(High)  
TIMB CH1 vector (Low)  
TIMB CH0 vector(High)  
TIMB CH0 vector (Low)  
TIMA Overflow vector(High)  
TIMA Overflow vector (Low)  
TIMA CH3 vector(High)  
TIMA CH3 vector (Low)  
TIMACH2 vector(High)  
TIMA CH2 vector (Low)  
TIMA CH1 vector(High)  
TIMA CH1 vector (Low)  
TIMA CH0 vector(High)  
TIMA CH0 vector (Low)  
PIT vector(High)  
PIT vector (Low)  
PLL vector(High)  
PLL vector (Low)  
IRQ vector (High)  
IRQ vector (Low)  
SWI vector(High)  
SWI vector (Low)  
Reset vector (High)  
Reset vector (Low)  
High  
10-mem  
MC68HC08AZ0  
32  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
I/O section  
1. All available ROM locations not defined by the user will by  
default be filled with the software interrupt (SWI, opcode 83)  
instruction – see Central Processor Unit (CPU). Take this into  
account when defining vector addresses. It is recommended that  
ALL vector addresses are defined.  
11-mem  
MC68HC08AZ0  
MOTOROLA  
Memory Map  
33  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
12-mem  
MC68HC08AZ0  
34  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
RAM  
RAM  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  
Introduction  
This section describes the 1024 bytes of RAM.  
Functional description  
Addresses $0050 through $044F are RAM locations. The location of the  
stack RAM is programmable. The 16-bit stack pointer allows the stack to  
be anywhere in the 64K byte memory space.  
NOTE: For correct operation, the stack pointer must point only to RAM  
locations.  
Within page zero there are 176 bytes of RAM. Because the location of  
the stack RAM is programmable, all page zero RAM locations can be  
used for I/O control and user data or code. When the stack pointer is  
moved from its reset location at $00FF, direct addressing mode  
instructions can efficiently access all page zero RAM locations. Page  
zero RAM, therefore, provides an ideal location for frequently accessed  
global variables.  
Before processing an interrupt, the CPU uses 5 bytes of the stack to  
save the contents of the CPU registers.  
NOTE: For M6805 compatibility, the H register is not stacked.  
1-ram  
MC68HC08AZ0  
MOTOROLA  
RAM  
35  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
RAM  
During a subroutine call, the CPU uses 2 bytes of the stack to store the  
return address. The stack pointer decrements during pushes and  
increments during pulls.  
NOTE: Care should be taken when using nested subroutines. The CPU may  
overwrite data in the RAM during a subroutine or during the interrupt  
stacking operation.  
2-ram  
MC68HC08AZ0  
36  
RAM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
EBI  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  
Module I/O signal descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
Externally controlled WAIT states . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
EBI control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50  
Introduction  
This section describes the External Bus Interface Module (EBI)  
specification for the HC08AZ0 MCU. This module handles the transfer  
of information between the MCU and the external address space. The  
external bus provides up to 16 address lines, 8 data lines, 2 chip-selects  
and 3 control signals to the external devices.  
Features  
• Up to 64K byte of Address Space.  
• Low Noise or High Performance Modes of operation.  
• 2 Pre-determined Chip-Select Lines (CS1 and CS0).  
• Separate Read and Write Enable Signals  
• 0,1,2 or 3 WAIT States for Slow Memory Access associated with  
CS1  
• Up to 7 WAIT States for Slow Device Access associated with CS0.  
1-ebi  
MC68HC08AZ0  
MOTOROLA  
EBI  
37  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Figure 6 shows the structure of the EBI.  
The EBI has two basic modes of operation; Low Noise or High  
Performance. In Low Noise mode the Address and Data lines are only  
driven out during external accesses to reduce RF emissions  
In High Performance mode the EBI operates at its fastest. This mode of  
operation requires the external address and data signals from the  
MC68HC08AZ0 before they are stable.  
The chip-select regions are controlled by software providing the user  
with a choice of four combinations.The chip-selects have a control  
register which allows the chip selects to be enabled, their polarity  
selected and for the appropriate number of WAIT States to be defined  
for CS0 and CS1.  
2-ebi  
MC68HC08AZ0  
38  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Features  
8
5
Decode Logic  
EBI Control  
Registers  
Chip Select Logic  
Bus Timing  
Interface Logic  
WAIT Logic  
and  
Selectable Features  
Data Buffer  
ADDRESS BUFFER  
Figure 6 EBI Block Diagram  
3-ebi  
MC68HC08AZ0  
39  
MOTOROLA  
EBI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Module I/O signal descriptions  
Below is a description of the I/O signals shown in Figure 6. The External  
Bus Interface module is connected to the HC08 Bus (IBUS) with data  
bus IDB[7:0], address bits IAB[15:0] and IRW, IWS for control. It is  
connected to the external devices with Address Bus A[15:0], Data Bus  
D[7:0], and Control Bits WEB, REB, CS1 and CS0. In addition WSCLK  
is provided for cycle-by-cycle external WAIT state selection.  
Internal Address Ð  
IAB[15:0]  
The internal address bits are an input to the EBI module.  
Internal data Ð  
IDB[7:0]  
The internal data bits are bidirectional signals to the EBI module. They  
are used to transfer data in and out of the EBI via the IBUS. The direction  
of the data flow is controlled by the IRW signal. When IRW is high (read  
mode), the data bus is an output of the EBI and the data in D[7:0] is  
transferred to IDB[7:0] (the internal data bus). When IRW is low (write  
mode), the data bus is an input to the EBI and the data in IDB[7:0] is  
transferred to D[7:0] (the external data bus). An exception to this occurs  
when the IRV bit is set. In that mode, when internal accesses occur, data  
on IDB[7:0] is transferred out on D[7:0].  
Internalread/write  
Ð IRW  
The internal read/write bit is an input control signal to the EBI module. It  
allows the CPU (or DMA) to read and write to the external devices. With  
the proper interface logic, the IRW generates the external read signal  
REB and external write signal WEB.  
External access  
(External)  
The External signal identifies those cycles that are not internal to the  
part. This is used to keep the EBI outputs quiet for internal accesses in  
Low Noise Mode.  
EBIEN Ð EBI enable  
The EBI enable signal is provided by physical Mask Option. It is used to  
disable the EBI and therefore reduce power and RF emissions in  
non-expanded mode.  
4-ebi  
MC68HC08AZ0  
40  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Module I/O signal descriptions  
Internal WAIT state  
Ð IWS  
The internal WAIT state signal is an output from the EBI module. It is  
connected to the IMREQB (in the IBUS), which suspends the CPU state  
(but not the internal clocks). The IMREQB signal delay is software  
controlled for CSI and either software or hardware controlled for  
CS0.This signal will be disabled for internal accesses.  
External address  
bus Ð A[15:0]  
The external address bus are the output address signals from the EBI  
module. They provide addressing information to the external devices. In  
Low Noise mode the values on these lines remain at the last driven state  
between external accesses.  
Chip-selects Ð  
CS1, CS0  
The chip-selects are output control signals from the EBI module. They  
enable external devices at their programmed addresses.  
External data bus Ð  
DB[7:0]  
The external data bus are three-state bidirectional data signals to the  
EBI module. These signals provide the data path between the MCU and  
all external devices. In Low Noise mode the values on these lines  
remain at the last driven state between external accesses.  
External read Ð REB  
The external read is an output control signal from the EBI module. When  
REB is asserted, a read cycle starts and data is transferred from an  
external device to the internal data bus. This signal is asserted only for  
external accesses, or when the IRV bit is set.  
External write Ð  
WEB  
The external write is an output control signal to the EBI module. When  
WEB is asserted, a write cycle starts and data is transferred to an  
external device from the internal data bus. This signal is asserted only  
for external accesses or when the IRV bit is set.  
WAIT state clock Ð  
WSCLK  
The WAIT state clock is used to insert the correct number of WAIT states  
into each bus cycle when the ‘external WAIT states’ operating mode is  
selected for CS0.  
5-ebi  
MC68HC08AZ0  
MOTOROLA  
EBI  
41  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Functional description  
The user has two optional chip-select lines to define areas within the 64K  
byte address range to be occupied by external devices. The range of  
each address chip-select region can be modified by software. The  
software option provides the user with a choice of regions as shown in  
Figure 7.  
0000  
CS0 (4K)  
0000  
0000  
CS0 (4K)  
0000  
CS0 (4K)  
CS0 (4K)  
and  
and  
and  
and  
Internal  
Internal  
Internal  
Internal  
1000  
1000  
1000  
CS0 (12K)  
4000  
1000  
CS0 (28k)  
CS0 (44K)  
8000  
CS1 (60K)  
CS1 (48K)  
FFFF  
CS1 (32K)  
C000  
CS1 (16K)  
FFFF  
FFFF  
FFFF  
Figure 7 Software controlled chip-select combinations  
CS1 is intended for program space as it always includes the vector  
space. CS0 may be used for any purpose and is in effect equivalent to  
CS1. Extending CS0 address space below $1000 allows the user to  
place external devices (e.g. I/O) in unused address locations below  
$1000 without the use of an external decoder (the CS0 pin would  
otherwise be redundant). Internal accesses will always have priority.  
6-ebi  
MC68HC08AZ0  
42  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Externally controlled WAIT states  
When a chip-select is enabled, it is active for all memories and I/O cycles  
within its defined (external) area. Each chip-select has control bits for  
enabling, polarity setting and for inserting the correct number of WAIT  
states in each bus cycle. Out of reset CS0 and CS1 are configured with  
the maximum number (3) of software controlled WAIT states.  
All bus timing interface signals are handled by the bus timing interface  
logic that generates the proper signals for reads and writes required to  
interface the internal and external buses.  
Externally controlled WAIT states  
The EBI generates an IWS signal which can be controlled either  
internally or externally for CS0. The external option allows the user to  
further decode the CS0 address space into smaller address ranges for  
multiple external devices, and assign a different number of WAIT states  
to each address range. The number of WAIT states associated with CS1  
address space is determined internally by the CS1WS 1:0 bits.  
During T4 the HC08 data bus is not driven and during this clock phase  
the number of WAIT states for the cycle in progress is determined. When  
CS0 is asserted, the value on the External Data bus at the end of T4 is  
used to determine the number of WAIT States according to Table 2 This  
WAIT state value is encoded in the first 3 bits of the data bus, D2:0. This  
mode of operation is selected by enabling the function in the EBI control  
register and by enabling the WSCLK pin according to Table 3 The WAIT  
state value on the data bus is only latched when CS0 is asserted.  
Therefore, it is not required that the bus be driven during T4 when  
accessing addresses outside the CS0 range (i.e. when CS1 is asserted).  
The WAIT state value driven onto the External Data bus may be derived  
directly from the address lines or indirectly from a decoded chip select  
signal(s). In all cases, the WAIT state value must only be allowed to drive  
the External Data bus during the period WSCLK is asserted by using a  
tri-statable buffer (e.g. 74AC240/244, 74AC367A/368A, 74AC125). See  
examples later in this section.  
7-ebi  
MC68HC08AZ0  
MOTOROLA  
EBI  
43  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
External Databus Value D2 - D0  
Number of WAIT States  
000  
001  
010  
011  
100  
101  
110  
111  
0
1
2
3
4
5
6
7
Table 2 Data bus values corresponding to number of WAIT states  
The pin WSCLK provides the T4 signal to synchronize driving the WAIT  
state value onto the External Data lines. Table 3 shows the options  
available for the WSCLK pin. The WSCLK can also be disabled.  
When external WAIT-state decoding is enabled, the low RF emission  
data bus freeze function is disabled for data bus lines D2:0. The address  
bus freeze function remains unaffected.  
WSCLK1  
WSCLK0  
WSCLK Pin Function  
Disabled, tri-state  
T4 + CS0, push/pull  
T4, push/pull  
0
0
1
1
0
1
0
1
T4, push/pull  
Table 3 WSCLK pin function  
CS0 used in the WSCLK pin functions is active low, irrespective of the  
state of the CS0 pin polarity bit. CS0 and WSCLK are not asserted  
during internal access bus cycles. The term <T4 + CS0> is therefore an  
active low signal.  
Examples of external WAIT state selection are shown in Figure 8,  
Figure 9 and Figure 10  
8-ebi  
MC68HC08AZ0  
44  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Externally controlled WAIT states  
1
1
1
1/2 AC367  
Address bus  
Program Memory  
HC08AZ0  
1 WAIT-state  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
$1000–  
$FFFF  
A0  
A15  
(60K space)  
$1000 –  
$FFFF  
CS1  
CS0  
CS  
WSCLK  
Peripheral  
7 WAIT-states  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
$0000–  
$0FFF  
(4K space  
less internal  
addresses)  
CS  
A0  
A1  
CS0 = $0000 – $0FFF  
CS1 = $1000 – $FFFF, 1WS internal  
Figure 8 Defining WAIT states for Ext addresses below $1000  
In Figure 8, the user wants to maximize the address space allocated to  
the program memory but requires to decode a slow external peripheral  
with a 4byte address space. To avoid driving the data bus unnecessarily,  
WSCLK is programmed to generate CS0+T4 which will only go low  
during T4 whenever the address is within the CSo range as defined by  
9-ebi  
MC68HC08AZ0  
MOTOROLA  
EBI  
45  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
CSC[1:0]. The peripheral will be multiply mapped within this address  
space. Whenever CS0 is asserted and the CS0 WAIT state control is  
configured for external control (C0WS =1), internal logic will direct the  
WAIT state generator to use the data bus as the source of the number  
of WAIT states to be inserted. In this case, the value $111 will be driven  
onto D2:0 during T4 which will instruct the WAIT state generator to insert  
7 WAIT states (equivalent to a 1uS bus cycle for an 8MHz bus clock).  
The number of WAIT states for CS1 is selected internally based on the  
contents of CS1WS1:0 bits and may between 0 and 3 bus cycles.  
In Figure 9, the application requires different WAIT states for program  
memory, RAM and peripheral bus cycles. One of the chip selects must  
therefore be subdivided into two address spaces, each with a different  
number of WAIT states associated with it. A simple decode of the upper  
2 address lines provides an address range of $0000-$1FFF for the  
peripheral and drives External Data bus line D1 high during T4 when  
within that address range, thus requesting 2 WAIT states. In this  
implementation, the peripheral map is duplicated with the address range  
$0000 to $0FFF as well as the required $1000 to $1FFF. In order to  
prevent internal accesses effecting the peripheral, CS0 is used as a  
further enable to both devices within this address space. CS0 is not  
asserted for internal accesses within its address space.  
WSCLK is programmed to generate CS0+T4 which will go low during T4  
whenever the address is within the CS0 range as defined by CSC[1:0].  
The number of WAIT states for CS1 is selected internally based on the  
contents of CS1WS1:0 bits and may between 0 and 3 bus cycles.  
10-ebi  
MC68HC08AZ0  
46  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Externally controlled WAIT states  
Address bus  
HC08AZ0  
Program Memory  
1 WAIT-state  
CS0 = $1000 – $7FFF  
CS1 = $8000 – $FFFF, 1WS internal  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
A0  
$8000–  
$FFFF  
A15  
(32K space)  
CS1  
CS0  
CS  
WSCLK  
RAM  
0 WAIT-states  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
$2000–  
$7FFF  
1/4 AC02  
(24Kspace)  
0
0
OE  
CS  
Peripheral  
2 WAIT-state  
1/2 AC367  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
$1000–  
$1FFF  
(4Kspace)  
CS1  
CS2  
Figure 9 Simple address space decode with different WAIT states  
11-ebi  
MC68HC08AZ0  
47  
MOTOROLA  
EBI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Address bus  
Program Memory  
HC08AZ0  
2 WAIT-states  
CS0 = $1000 – $3FFF  
CS1 = $4000 – $FFFF, 2 WS internal  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
$8000–  
$FFFF  
A0  
(32K space)  
A15  
$8000 –  
$FFFF  
CS1  
CS0  
CS  
WSCLK  
T4+CS0  
A0A1A2  
Peripheral  
5 WAIT-states  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
Vdd  
Vss  
$5000–  
$5FFF  
CS3  
CS2  
CS1  
AC138  
0 1 2 3 4 5 6 7  
TO OTHER  
DEVICES  
CS  
$5000–$5FFF  
Peripheral  
1 WAIT-state  
A12  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
$1000–  
$1FFF  
A13  
A14  
1/2 AC367  
CS  
$1000–$1FFF  
Figure 10 WAIT state selection for multiple I/O peripherals  
12-ebi  
MC68HC08AZ0  
48  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
Externally controlled WAIT states  
In Figure 10, the application has several external peripheral devices  
which are decoded into the CS0 address space using an external 3-to-8  
decoder (e.g. 74AC138). The addition of a tri-stateable buffer (e.g.  
74AC367, hex buffer) represents the hardware overhead to provide a  
unique number of WAIT states for each decoded address space.  
Decoder outputs provide the peripheral chip selects. In this  
implementation, the same addresses used by the decoder are driven  
back onto the data bus during T4. Therefore, as the address increments,  
so does the number of WAIT states assigned to each address space.  
WSCLK is configured to drive CS0+T4, which drives the buffer enables  
during T4 when the address is within the CS0 range.  
Choosing to drive different addresses onto the data bus during T4 allow  
the user to provide a different mix of WAIT states throughout the  
decoded CS0 address space. Alternatively, the 3-8 line decoder could  
be replaced with a PAL which would provide for a more complex decode  
and assignment of WAIT states. The number of WAIT states for CS1 is  
selected internally based on the contents of CS1WS1:0 bits and may  
between 0 and 3 bus cycles.  
13-ebi  
MC68HC08AZ0  
MOTOROLA  
EBI  
49  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
EBI control registers  
The following I/O registers control and monitor operation of the EBI:-  
• EBI Control Register (EBIC)  
• Chip-Select Control Register (EBICS)  
EBI control register  
Bit 7  
0
6
5
4
3
2
1
0
Read:  
EBIC  
$003B  
IRV  
MODE  
C0WS  
WSCLK1 WSCLK0  
CSC1  
CSC0  
Write:  
Reset  
:
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 11 EBI control register (EBIC)  
IRVIRV — Internal read visibility bit  
This function is included for easy-debug of the customer application.  
1 = The REB and WEB are active during IRV, to allow creation of  
an ECLK. Enabled chip selects are active as well, and all  
internal bus activity is externally visible.  
0 = In normal user operation IRV should be off to prevent possible  
bus contention.  
MODE — EBI operating mode  
1 = Low Noise  
0 = High Performance  
C0WS — Chip select 0 WAIT state control  
1 = Externally Controlled  
0 = Internally Controlled.  
14-ebi  
MC68HC08AZ0  
50  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
EBI control registers  
WSCLK1:0 — WAIT state clock select  
These bits control the WSCLK operating mode according to Table 4  
WSCLK1  
WSCLK0  
WSCLK Pin Function  
Disabled, Tri-State  
T4 + CS0, Open Drain  
T4, Push/Pull  
0
0
1
1
0
1
0
1
T4, Push/Pull  
Table 4 WSCLK pin function  
CSC1:0 — Chip-Select Combination  
These bits control the chip-select combination according to table  
Table 5  
CSC1  
CSC0  
Chip-Select 1  
$1000 – $FFFF  
$4000 – $FFFF  
$8000 – $FFFF  
$C000 – $FFFF  
Chip-Select 0  
$0000 – $0FFF  
$0000 – $3FFF  
$0000 – $7FFF  
$0000 – $BFFF  
0
0
1
1
0
1
0
1
Table 5 Chip-select combinations  
15-ebi  
MC68HC08AZ0  
51  
MOTOROLA  
EBI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
EBI Chip-Select  
Register  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
EBICS  
$003C  
CS1WS1 CS1WS0 CS1POL CS1EN CS0WS1 CS0WS0 CS0POL CS0EN  
Reset  
:
1
1
0
1
1
1
0
1
= Unimplemented  
Figure 12 EBI control register (EBICS)  
CS1WS1:0  
These bits control the number of WAIT States for Chip-Select 1 during  
external accesses when the WAIT states are internally controlled.  
WAIT states are inserted according to Table 6  
CS1WS1:0  
Number of WAIT States  
00  
01  
10  
11  
0
1
2
3
Table 6 WAIT states for external accesses  
CS1EN — Chip-select enable  
This bit controls whether the Chip-Select is active.  
0 = Chip-Select disabled.  
1 = Chip-Select enabled  
CS1POL — Chip-select polarity  
This bit controls the polarity of the Chip-Select line.  
0 = Chip-Select Active LOW  
1 = Chip-Select Active HIGH  
16-ebi  
MC68HC08AZ0  
52  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
EBI control registers  
CS0WS1:0  
These bits control the number of WAIT States for Chip-Select 0 during  
external accesses according to Table 6  
CS0WS1:0  
Number of WAIT States  
00  
01  
10  
11  
0
1
2
3
Table 7 WAIT states for external accesses  
CS0EN — Chip-select enable  
This bit controls whether the Chip-Select is active.  
0 = Chip-Select disabled.  
1 = Chip-Select enabled  
CS0POL — Chip-select polarity  
This bit controls the polarity of the Chip-Select line.  
0 = Chip-Select Active LOW  
1 = Chip-Select Active HIGH  
17-ebi  
MC68HC08AZ0  
53  
MOTOROLA  
EBI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EBI  
18-ebi  
MC68HC08AZ0  
54  
EBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
EEPROM  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56  
Future EEPROM Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  
EEPROM programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  
EEPROM erasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58  
EEPROM block protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  
EEPROM configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  
MCU configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  
MC68HC08AZ0 EEPROM Security . . . . . . . . . . . . . . . . . . . . . . . . 61  
EEPROM control register (EECR) . . . . . . . . . . . . . . . . . . . . . . . . . 62  
EEPROM non-volatile register (EENVR) and EEPROM  
array configuration register (EEACR) . . . . . . . . . . . . . . . . . . . . . . . 64  
Low power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65  
STOP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65  
1-eeprom  
MC68HC08AZ0  
MOTOROLA  
EEPROM  
55  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
Introduction  
This section describes the electrically erasable programmable ROM  
(EEPROM).  
Future EEPROM Memory  
Design is underway to introduce an improved EEPROM module, which  
will simplify programming and erase. Current read, write and erase  
algorithms are fully compatible with the new EEPROM design. The new  
EEPROM module requires a constant timebase through the set up of  
new timebase control registers. If more information is required for code  
compatibility please contact the factory. The silicon differences will be  
identified by mask set. Please read Appendix A: Future EEPROM  
Registers for preliminary details.  
NOTE: This new silicon will not allow multiple writes before erase. EEPROM  
bytes must be erased before reprogramming.  
Features  
• Byte, block or bulk erasable  
• Non-volatile block protection option  
• Non-volatile MCU configuration bits  
• On-chip charge pump for programming/erasing.  
2-eeprom  
MC68HC08AZ0  
56  
EEPROM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
Functional description  
Functional description  
512 bytes of EEPROM can be programmed or erased without an  
external voltage supply. The EEPROM has a lifetime of 10,000  
write-erase cycles. EEPROM cells are protected with a non-volatile  
block protection option. These options are stored in the EEPROM  
non-volatile register (EENVR) and are loaded into the EEPROM array  
configuration register after reset (EEACR) or after a read of EENVR.  
Hardware interlocks are provided to protect stored data corruption from  
accidental programming/erasing.  
The EEPROM array will leave the factory in the erased state all  
addresses logic ‘1’, and bit 4 of the EENVR register will be programmed  
to #1 such that the full array is available and unprotected.  
EEPROM  
programming  
The unprogrammed state is a logic ‘1’. Programming changes the state  
to a logic ‘0’. Only valid EEPROM bytes in the non-protected blocks and  
EENVR can be programmed.  
It is recommended that all bits should be erased before being  
programmed.  
The following procedure describes how to program a byte of EEPROM:  
1. Clear EERAS1 and EERAS0 and set EELAT in the EECR  
(See Note a. and b.)  
2. Write the desired data to any user EEPROM address.  
3. Set the EEPGM bit. (See Note c.)  
4. Wait for a time, t  
, to program the byte.  
EEPGM  
5. Clear EEPGM bit.  
6. Wait for the programming voltage time to fall (t  
).  
EEFPV  
7. Clear EELAT bits. (See Note d.)  
8. Repeat steps 1 to 7 for more EEPROM programming.  
3-eeprom  
MC68HC08AZ0  
57  
MOTOROLA  
EEPROM  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
NOTES:  
a. EERAS1 and EERAS0 must be cleared for programming,  
otherwise the part will be in erase mode  
b. Setting the EELAT bit configures the address and data buses  
to latch data for programming the array. Only data with a valid  
EEPROM address will be latched. If another consecutive valid  
EEPROM write occurs, this address and data will override the  
previous address and data. Any attempts to read other  
EEPROM data will result in the latched data being read. If  
EELAT is set, other writes to the EECR will be allowed after a  
valid EEPROM write.  
c. The EEPGM bit cannot be set if the EELAT bit is cleared and  
a non-EEPROM write has occurred. This is to ensure proper  
programming sequence. When EEPGM is set, the on-board  
charge pump generates the program voltage and applies it to  
the user EEPROM array. When the EEPGM bit is cleared, the  
program voltage is removed from the array and the internal  
charge pump is turned off.  
d. Any attempt to clear both EEPGM and EELAT bits with a  
single instruction will only clear EEPGM. This is to allow time  
for removal of high voltage from the EEPROM array.  
e. While these operations must be performed in the order shown,  
other unrelated operations may occur between the steps.  
EEPROM erasing  
The unprogrammed state is a logic ‘1’. Only the valid EEPROM bytes in  
the non-protected blocks and EENVR can be erased.  
The following procedure shows how to erase EEPROM:  
1. Clear/set EERAS1 and EERAS0 to select byte/block/bulk  
erase, and set EELAT in EECR (see Note f.)  
2. Write any data to the desired address for byte erase, to any  
address in the desired block for block erase, or to any array  
address for bulk erase.  
3. Set the EEPGM bit. (See Note g.)  
4. Wait for a time, t  
/t  
/t  
before erasing the  
byte block bulk  
4-eeprom  
MC68HC08AZ0  
58  
EEPROM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
Functional description  
byte/block/array.  
5. Clear EEPGM bit.  
6. Wait for the erasing voltage time to fall (t  
7. Clear EELAT bits. (See Note h.)  
).  
EEFPV  
8. Repeat steps 1 to 7 for more EEPROM byte/block erasing.  
The EEBPx bit must be cleared to erase EEPROM data in the  
corresponding block. If any EEBPx is set, the corresponding block  
cannot be erased and bulk erase mode does not apply.  
NOTES:  
f. Setting the EELAT bit configures the address and data buses  
to latch data for erasing the array. Only valid EEPROM  
addresses with its data will be latched. If another consecutive  
valid EEPROM write occurs, this address and data will  
override the previous address and data. In block erase mode,  
any EEPROM address in the block may be used in step 2. All  
locations within this block will be erased. In bulk erase mode,  
any EEPROM address may be used to erase the whole  
EEPROM. EENVR is not affected with block or bulk erase.  
Any attempts to read other EEPROM data will result in the  
latched data being read. If EELAT is set, other writes to the  
EECR will be allowed after a valid EEPROM write.  
g. The EEPGM bit cannot be set if the EELAT bit is cleared and  
a non-EEPROM write has occurred. This is to ensure proper  
erasing sequence. Once EEPGM is set, the type of erase  
mode cannot be modified. If EEPGM is set, the on-board  
charge pump generates the erase voltage and applies it to the  
user EEPROM array. When the EEPGM bit is cleared, the  
erase voltage is removed from the array and the internal  
charge pump is turned off.  
h. Any attempt to clear both EEPGM and EELAT bits with a  
single instruction will only clear EEPGM. This is to allow time  
for removal of high voltage from the EEPROM array.  
In general, all bits should be erased before being programmed.  
5-eeprom  
MC68HC08AZ0  
MOTOROLA  
EEPROM  
59  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
EEPROM block  
protection  
The 512 bytes of EEPROM is divided into four 128 byte blocks. Each of  
these blocks can be separately protected by the EEBPx bit. Any attempt  
to program or erase memory locations within the protected block will not  
allow the program/erase voltage to be applied to the array. Table 8  
shows the address ranges within the blocks.  
Table 8. EEPROM array address blocks  
BLOCK NUMBER  
ADDRESS RANGE  
(EEBPx)  
EEBP0  
EEBP1  
EEBP2  
EEBP3  
$0800–$087F  
$0880–$08FF  
$0900–$097F  
$0980–$09FF  
If the EEBPx bit is set, the corresponding address block is protected.  
These bits are effective after a reset or a read to EENVR register. The  
block protect configuration can be modified by erasing/programming the  
corresponding bits in the EENVR register and then reading the EENVR  
register.  
EEPROM  
configuration  
The EEPROM non-volatile register (EENVR) contains configurations  
concerning block protection and redundancy. EENVR is physically  
located on the bottom of the EEPROM array. The contents are  
non-volatile and are not modified by reset. On reset, this special register  
loads the EEPROM configuration into a corresponding volatile EEPROM  
array configuration register (EEACR). Thereafter, all reads to the  
EENVR will result in EEACR being reloaded.  
The EEPROM configuration can be changed by programming/erasing  
the EENVR like a normal EEPROM byte. The new array configuration  
will take effect with a system reset or a read of the EENVR.  
MCU configuration  
The EEPROM non-volatile register (EENVR) also contains general  
purpose bits which can be used to enable/disable functions within the  
MCU which, for safety reasons, need to be controlled from non-volatile  
6-eeprom  
MC68HC08AZ0  
60  
EEPROM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
Functional description  
memory. On reset, this special register loads the MCU configuration into  
the volatile EEPROM array configuration register (EEACR). Thereafter,  
all reads to the EENVR will result in EEACR being reloaded.  
The MCU configuration can be changed by programming/erasing the  
EENVR like a normal EEPROM byte. Please note that it is the users  
responsibility to program the EENVR register to the correct system  
requirements and verify it prior to use. The new array configuration  
will take effect with a system reset or a read of the EENVR.  
MC68HC08AZ0  
EEPROM Security  
The MC68HC08AZ0 has a special security option which prevents  
program/erase access to memory locations $08F0 to $08FF. This  
security function is enabled by programming the CON0 bit in the EENVR  
to 0.  
In addition to disabling the program and erase operations on memory  
locations $08F0 to $08FF the enabling of the security option has the  
following effects:  
• Bulk and block erase modes are disabled.  
• Programming and erasing of the EENVR is disabled.  
• Non secure locations ($0800–$08EF) can be erased using the  
single byte erase function as normal.  
• Secured locations can be read as normal.  
• Writing to a secured location no longer qualifies as a “valid  
EEPROM write” as detailed in EEPROM programming Note a.,  
and EEPROM erasing Note f.  
NOTE: Once armed, the security is permanently enabled. As a  
consequence, all functions in the EENVR will remain in the state they  
were in immediately before the security was enabled.  
7-eeprom  
MC68HC08AZ0  
MOTOROLA  
EEPROM  
61  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
EEPROM control  
register (EECR)  
This read/write register controls programming/erasing of the array.  
7
EEBCLK  
0
6
0
5
4
3
2
1
0
0
EEPGM  
0
READ:  
WRITE:  
RESET:  
EECR  
$FE1D  
EEOFF EERAS1 EERAS0 EELAT  
0
0
0
0
0
0
= Unimplemented  
Figure 1. EEPROM control register (EECR)  
EEBCLK — EEPROM BUS CLOCK ENABLE  
This read/write bit determines which clock will be used to drive the  
internal charge pump for programming/erasing. Reset clears this bit.  
1 = Bus clock drives charge pump  
0 = Internal RC oscillator drives charge pump  
NOTE: It is recommended that the internal RC oscillator is used to drive the  
internal charge pump for applications which have a bus frequency of less  
than 8MHz.  
EEOFF — EEPROM power down  
This read/write bit disables the EEPROM module for lower power  
consumption. Any attempts to access the array will give unpredictable  
results. Reset clears this bit.  
1 = Disable EEPROM array  
0 = Enable EEPROM array  
NOTE: The EEPROM requires a recovery time t  
to stabilize after clearing  
EEOFF  
the EEOFF bit.  
8-eeprom  
MC68HC08AZ0  
62  
EEPROM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
Functional description  
EERAS1–EERAS0 — Erase bits  
These read/write bits set the erase modes. Reset clears these bits.  
Table 9. EEPROM program/erase mode select  
EEBPx  
EERAS1  
EERA0  
MODE  
0
0
0
0
1
0
0
1
1
X
0
1
0
1
X
Byte Program  
Byte Erase  
Block Erase  
Bulk Erase  
No Erase/Program  
X = don’t care  
EELAT — EEPROM latch control  
This read/write bit latches the address and data buses for  
programming the EEPROM array. EELAT can not be cleared if  
EEPGM is still set. Reset clears this bit.  
1 = Buses configured for EEPROM programming  
0 = Buses configured for normal read operation  
EEPGM — EEPROM program/erase enable  
This read/write bit enables the internal charge pump and applies the  
programming/erasing voltage to the EEPROM array if the EELAT bit  
is set and a write to a valid EEPROM location has occurred. Reset  
clears the EEPGM bit.  
1 = EEPROM programming/erasing power switched on  
0 = EEPROM programming/erasing power switched off  
NOTE: Writing ‘0’s to both the EELAT and EEPGM bits with a single instruction  
will only clear EEPGM. This is to allow time for the removal of high  
voltage.  
9-eeprom  
MC68HC08AZ0  
MOTOROLA  
EEPROM  
63  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
EEPROM non-volatile register (EENVR) and EEPROM array configuration register (EEACR)  
7
6
5
4
3
2
1
0
READ:  
WRITE:  
RESET:  
EENVR  
$FE1C  
EERA  
PV  
CON2  
PV  
CON1  
PV  
CON0  
PV  
EEBP3  
PV  
EEBP2  
PV  
EEBP1  
PV  
EEBP0  
PV  
PV = Programmed Value or ‘1’ in the erased state.  
Figure 2. EEPROM non-volatile register (EENVR)  
7
READ: EERA  
WRITE:  
6
5
4
3
2
1
0
CON2  
CON1  
CON0  
EEBP3  
EEBP2  
EEBP1  
EEBP0  
EEACR  
$FE1F  
RESET: EENVR EENVR EENVR EENVR EENVR EENVR EENVR EENVR  
= Unimplemented  
Figure 3. EEPROM array control register (EEACR)  
EERA — EEPROM redundant array  
This bit is reserved for future use and should always be equal to 0.  
CONx — MCU configuration bits  
These read/write bits can be used to enable/disable functions within  
the MCU. Reset loads CONx from EENVR to EEACR.  
CON2 — Unused  
CON1 — Unused  
CON0 — EEPROM security  
1 = EEPROM security disabled  
0 = EEPROM security enabled  
EEBP3–EEBP0 — EEPROM block protection bits.  
These read/write bits prevent blocks of EEPROM array from being  
programmed or erased. Reset loads EEBP[3:0] from EENVR to  
EEACR.  
1 = EEPROM array block is protected  
0 = EEPROM array block is unprotected  
10-eeprom  
MC68HC08AZ0  
64  
EEPROM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
Functional description  
Low power modes  
The WAIT and STOP instructions can put the MCU in low power  
consumption standby modes.  
WAIT m o d e  
The WAIT instruction does not affect the EEPROM. It is possible to  
program the EEPROM and put the MCU in WAIT mode. However, if the  
EEPROM is inactive, power can be reduced by setting the EEOFF bit  
before executing the WAIT instruction.  
STOP m o d e  
The STOP instruction reduces the EEPROM power consumption to a  
minimum. The STOP instruction should not be executed while the high  
voltage is turned on (EEPGM=1).  
If STOP mode is entered while program/erase is in progress, high  
voltage will automatically be turned off. However, the EEPGM bit will  
remain set. When STOP mode is terminated, if EEPGM is still set, the  
high voltage will automatically be turned back on. Program/erase time  
will need to be extended if program/erase is interrupted by entering  
STOP mode.  
The module requires a recovery time t  
to stabilize after leaving  
EESTOP  
STOP mode. Attempts to access the array during the recovery time will  
result in unpredictable behavior.  
11-eeprom  
MC68HC08AZ0  
MOTOROLA  
EEPROM  
65  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EEPROM  
12-eeprom  
MC68HC08AZ0  
66  
EEPROM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Central Processor Unit (CPU)  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68  
CPU registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69  
Accumulator (A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69  
Index register (H:X). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70  
Stack pointer (SP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70  
Program counter (PC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71  
Condition code register (CCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71  
Arithmetic/logic unit (ALU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73  
CPU during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74  
Instruction Set Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74  
Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82  
Introduction  
This section describes the central processor unit (CPU8). The M68HC08  
CPU is an enhanced and fully object-code-compatible version of the  
M68HC05 CPU. The CPU08 Reference Manual (Motorola document  
number CPU08RM/AD) contains a description of the CPU instruction  
set, addressing modes, and architecture.  
1-cpu  
MC68HC08AZ0  
MOTOROLA  
Central Processor Unit (CPU)  
67  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Features  
Features of the CPU include the following:  
• Full upward, object-code compatibility with M68HC05 family  
• 16-bit stack pointer with stack manipulation instructions  
• 16-bit index register with X-register manipulation instructions  
• 8.4MHz CPU internal bus frequency  
• 64K byte program/data memory space  
• 16 addressing modes  
• Memory-to-memory data moves without using accumulator  
• Fast 8-bit by 8-bit multiply and 16-bit by 8-bit divide instructions  
• Enhanced binary-coded decimal (BCD) data handling  
• Low-power STOP and WAIT Modes  
2-cpu  
MC68HC08AZ0  
68  
Central Processor Unit (CPU)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
CPU registers  
CPU registers  
Figure 1 shows the five CPU registers. CPU registers are not part of the  
memory map.  
7
0
0
0
0
0
ACCUMULATOR (A)  
15  
15  
15  
H
X
INDEX REGISTER (H:X)  
STACK POINTER (SP)  
PROGRAM COUNTER (PC)  
7
V 1 1 H  
I
N Z C CONDITION CODE REGISTER (CCR)  
CARRY/BORROW FLAG  
ZERO FLAG  
NEGATIVE FLAG  
INTERRUPT MASK  
HALF-CARRY FLAG  
TWO’S COMPLEMENT OVERFLOW FLAG  
Figure 1. CPU registers  
Accumulator (A)  
The accumulator is a general-purpose 8-bit register. The CPU uses the  
accumulator to hold operands and the results of arithmetic/logic  
operations.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
A
Unaffected by reset  
Figure 1. Accumulator (A)  
3-cpu  
MC68HC08AZ0  
69  
MOTOROLA  
Central Processor Unit (CPU)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Index register  
(H:X)  
The 16-bit index register allows indexed addressing of a 64K byte  
memory space. H is the upper byte of the index register and X is the  
lower byte. H:X is the concatenated 16-bit index register.  
In the indexed addressing modes, the CPU uses the contents of the  
index register to determine the conditional address of the operand.  
Bit  
Bit  
0
15 14 13 12 11 10  
9
0
8
0
7
6
5
4
3
2
1
Read:  
Write:  
Reset:  
H:X  
0
0
0
0
0
0
X
X
X
X
X
X
X
X
X = Indeterminate  
Figure 1. Index register (H:X)  
The index register can also be used as a temporary data storage  
location.  
Stack pointer (SP)  
The stack pointer is a 16-bit register that contains the address of the next  
location on the stack. During a reset, the stack pointer is preset to  
$00FF. The reset stack pointer (RSP) instruction sets the least  
significant byte to $FF and does not affect the most significant byte. The  
stack pointer decrements as data is pushed onto the stack and  
increments as data is pulled from the stack.  
In the stack pointer 8-bit offset and 16-bit offset addressing modes, the  
stack pointer can function as an index register to access data on the  
stack. The CPU uses the contents of the stack pointer to determine the  
conditional address of the operand.  
Bit  
Bit  
0
15 14 13 12 11 10  
9
8
7
6
5
1
4
1
3
1
2
1
1
1
Read:  
Write:  
Reset:  
SP  
0
0
0
0
0
0
0
0
1
1
1
Figure 1. Stack pointer (SP)  
4-cpu  
MC68HC08AZ0  
70  
Central Processor Unit (CPU)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
CPU registers  
NOTE: The location of the stack is arbitrary and may be relocated anywhere in  
RAM. Moving the SP out of page zero ($0000 to $00FF) frees direct  
address (page zero) space. For correct operation, the stack pointer must  
point only to RAM locations.  
Program counter  
(PC)  
The program counter is a 16-bit register that contains the address of the  
next instruction or operand to be fetched.  
Normally, the program counter automatically increments to the next  
sequential memory location every time an instruction or operand is  
fetched. Jump, branch, and interrupt operations load the program  
counter with an address other than that of the next sequential location.  
During reset, the program counter is loaded with the reset vector  
address located at $FFFE and $FFFF. The vector address is the  
address of the first instruction to be executed after exiting the reset state.  
Bit  
Bit  
0
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
Read:  
Write:  
Reset:  
PC  
Loaded with vector from $FFFE and $FFFF  
Figure 1. Program counter (PC)  
Condition code  
register (CCR)  
The 8-bit condition code register contains the interrupt mask and five  
flags that indicate the results of the instruction just executed. Bits 6 and  
5 are set permanently to ‘1’. The following paragraphs describe the  
functions of the condition code register.  
Bit 7  
V
6
1
1
5
1
1
4
3
I
2
1
Z
X
Bit 0  
C
Read:  
Write:  
Reset:  
CCR  
H
X
N
X
X
1
X
X = Indeterminate  
Figure 1. Condition code register (CCR)  
5-cpu  
MC68HC08AZ0  
71  
MOTOROLA  
Central Processor Unit (CPU)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
V — Overflow flag  
The CPU sets the overflow flag when a two's complement overflow  
occurs. The signed branch instructions BGT, BGE, BLE, and BLT use  
the overflow flag.  
1 = Overflow  
0 = No overflow  
H — Half-carry flag  
The CPU sets the half-carry flag when a carry occurs between  
accumulator bits 3 and 4 during an ADD or ADC operation. The  
half-carry flag is required for binary-coded decimal (BCD) arithmetic  
operations. The DAA instruction uses the states of the H and C flags  
to determine the appropriate correction factor.  
1 = Carry between bits 3 and 4  
0 = No carry between bits 3 and 4  
I — Interrupt mask  
When the interrupt mask is set, all maskable CPU interrupts are  
disabled. CPU interrupts are enabled when the interrupt mask is  
cleared. When a CPU interrupt occurs, the interrupt mask is set  
automatically after the CPU registers are saved on the stack, but  
before the interrupt vector is fetched.  
1 = Interrupts disabled  
0 = Interrupts enabled  
NOTE: To maintain M6805 compatibility, the upper byte of the index register (H)  
is not stacked automatically. If the interrupt service routine modifies H,  
then the user must stack and unstack H using the PSHH and PULH  
instructions.  
After the I bit is cleared, the highest-priority interrupt request is  
serviced first.  
A return from interrupt (RTI) instruction pulls the CPU registers from the  
stack and restores the interrupt mask from the stack. After any reset, the  
interrupt mask is set and can only be cleared by the clear interrupt mask  
software instruction (CLI).  
6-cpu  
MC68HC08AZ0  
72  
Central Processor Unit (CPU)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Arithmetic/logic unit (ALU)  
N — Negative flag  
The CPU sets the negative flag when an arithmetic operation, logic  
operation, or data manipulation produces a negative result, setting bit  
7 of the result.  
1 = Negative result  
0 = Non-negative result  
Z — Zero flag  
The CPU sets the zero flag when an arithmetic operation, logic  
operation, or data manipulation produces a result of $00.  
1 = Zero result  
0 = Non-zero result  
C — Carry/borrow flag  
The CPU sets the carry/borrow flag when an addition operation  
produces a carry out of bit 7 of the accumulator or when a subtraction  
operation requires a borrow. Some instructions - such as bit test and  
branch, shift, and rotate - also clear or set the carry/borrow flag.  
1 = Carry out of bit 7  
0 = No carry out of bit 7  
Arithmetic/logic unit (ALU)  
The ALU performs the arithmetic and logic operations defined by the  
instruction set.  
Refer to the CPU08 Reference Manual (Motorola document number  
CPU08RM/AD) for a description of the instructions and addressing  
modes and more detail about CPU architecture.  
7-cpu  
MC68HC08AZ0  
MOTOROLA  
Central Processor Unit (CPU)  
73  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
CPU during break interrupts  
If the break module is enabled, a break interrupt causes the CPU to  
execute the software interrupt instruction (SWI) at the completion of the  
current CPU instruction. See Break Module on page 139. The program  
counter vectors to $FFFC–$FFFD ($FEFC–$FEFD in monitor mode).  
A return from interrupt instruction (RTI) in the break routine ends the  
break interrupt and returns the MCU to normal operation if the break  
interrupt has been deasserted.  
Instruction Set Summary  
Table 1 provides a summary of the M68HC08 instruction set.  
8-cpu  
MC68HC08AZ0  
74  
Central Processor Unit (CPU)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Instruction Set Summary  
Table 1 Instruction Set Summary  
Effect on  
Source  
Form  
CCR  
Operation  
Description  
V H I N Z C  
ADC #opr  
IMM  
DIR  
EXT  
IX2  
A9 ii  
B9 dd  
C9 hh ll  
D9 ee ff  
E9 ff  
2
3
4
4
3
2
4
5
ADC opr  
ADC opr  
ADC opr,X  
ADC opr,X  
ADC ,X  
Add with Carry  
A (A) + (M) + (C)  
↕ ↕ ↕ ↕ ↕  
IX1  
IX  
SP1  
SP2  
F9  
ADC opr,SP  
ADC opr,SP  
9EE9 ff  
9ED9 ee ff  
ADD #opr  
ADD opr  
IMM  
DIR  
EXT  
IX2  
AB ii  
BB dd  
CB hh ll  
DB ee ff  
EB ff  
2
3
4
4
3
2
4
5
ADD opr  
ADD opr,X  
ADD opr,X  
ADD ,X  
ADD opr,SP  
ADD opr,SP  
Add without Carry  
A (A) + (M)  
↕ ↕ ↕ ↕ ↕  
IX1  
IX  
SP1  
SP2  
FB  
9EEB ff  
9EDB ee ff  
AIS #opr  
AIX #opr  
Add Immediate Value (Signed) to SP  
Add Immediate Value (Signed) to H:X  
SP (SP) + (16 « M)  
H:X (H:X) + (16 « M)  
– IMM  
– IMM  
A7 ii  
AF ii  
2
2
AND #opr  
AND opr  
IMM  
DIR  
EXT  
IX2  
A4 ii  
B4 dd  
C4 hh ll  
D4 ee ff  
E4 ff  
2
3
4
4
3
2
4
5
AND opr  
AND opr,X  
AND opr,X  
AND ,X  
AND opr,SP  
AND opr,SP  
Logical AND  
A (A) & (M)  
0
↕ ↕ –  
IX1  
IX  
F4  
SP1  
SP2  
9EE4 ff  
9ED4 ee ff  
ASL opr  
ASLA  
ASLX  
ASL opr,X  
ASL ,X  
ASL opr,SP  
DIR  
INH  
INH  
IX1  
IX  
38 dd  
48  
4
1
1
4
3
5
Arithmetic Shift Left  
(Same as LSL)  
58  
–  
–  
↕ ↕ ↕  
C
0
68 ff  
78  
b7  
b7  
b0  
b0  
SP1  
9E68 ff  
ASR opr  
ASRA  
ASRX  
ASR opr,X  
ASR opr,X  
ASR opr,SP  
DIR  
INH  
INH  
IX1  
IX  
37 dd  
47  
4
1
1
4
3
5
57  
C
Arithmetic Shift Right  
↕ ↕ ↕  
67 ff  
77  
SP1  
9E67 ff  
BCC rel  
Branch if Carry Bit Clear  
PC (PC) + 2 + rel ? (C) = 0  
– REL  
24 rr  
3
9-cpu  
MC68HC08AZ0  
75  
MOTOROLA  
Central Processor Unit (CPU)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Table 1 Instruction Set Summary (Continued)  
Effect on  
Source  
Form  
CCR  
Operation  
Description  
V H I N Z C  
DIR (b0) 11 dd  
DIR (b1) 13 dd  
DIR (b2) 15 dd  
DIR (b3) 17 dd  
DIR (b4) 19 dd  
DIR (b5) 1B dd  
DIR (b6) 1D dd  
DIR (b7) 1F dd  
4
4
4
4
4
4
4
4
BCLR n, opr  
Clear Bit n in M  
Mn 0  
BCS rel  
BEQ rel  
Branch if Carry Bit Set (Same as BLO)  
Branch if Equal  
PC (PC) + 2 + rel ? (C) = 1  
PC (PC) + 2 + rel ? (Z) = 1  
– REL  
– REL  
25 rr  
27 rr  
3
3
Branch if Greater Than or Equal To  
(Signed Operands)  
BGE opr  
BGT opr  
PC (PC) + 2 + rel ? (N V) = 0  
– REL  
– REL  
90 rr  
92 rr  
3
Branch if Greater Than (Signed  
Operands)  
PC (PC) + 2 + rel ? (Z) | (N V) = 0  
3
3
BHCC rel  
BHCS rel  
BHI rel  
Branch if Half Carry Bit Clear  
Branch if Half Carry Bit Set  
Branch if Higher  
PC (PC) + 2 + rel ? (H) = 0  
PC (PC) + 2 + rel ? (H) = 1  
PC (PC) + 2 + rel ? (C) | (Z) = 0  
– REL  
– REL  
– REL  
28 rr  
29 rr  
22 rr  
3
3
3
Branch if Higher or Same  
(Same as BCC)  
BHS rel  
PC (PC) + 2 + rel ? (C) = 0  
– REL  
24 rr  
BIH rel  
BIL rel  
Branch if IRQ Pin High  
Branch if IRQ Pin Low  
PC (PC) + 2 + rel ? IRQ = 1  
PC (PC) + 2 + rel ? IRQ = 0  
– REL  
– REL  
2F rr  
2E rr  
3
3
BIT #opr  
BIT opr  
IMM  
DIR  
EXT  
IX2  
A5 ii  
B5 dd  
C5 hh ll  
D5 ee ff  
E5 ff  
2
3
4
4
3
2
4
5
BIT opr  
BIT opr,X  
BIT opr,X  
BIT ,X  
BIT opr,SP  
BIT opr,SP  
Bit Test  
(A) & (M)  
0
↕ ↕ –  
IX1  
IX  
F5  
SP1  
SP2  
9EE5 ff  
9ED5 ee ff  
Branch if Less Than or Equal To  
(Signed Operands)  
BLE opr  
PC (PC) + 2 + rel ? (Z) | (N V) = 1  
– REL  
93 rr  
3
BLO rel  
BLS rel  
BLT opr  
BMC rel  
BMI rel  
BMS rel  
Branch if Lower (Same as BCS)  
Branch if Lower or Same  
PC (PC) + 2 + rel ? (C) = 1  
PC (PC) + 2 + rel ? (C) | (Z) = 1  
PC (PC) + 2 + rel ? (N V) =1  
PC (PC) + 2 + rel ? (I) = 0  
PC (PC) + 2 + rel ? (N) = 1  
PC (PC) + 2 + rel ? (I) = 1  
– REL  
– REL  
– REL  
– REL  
– REL  
– REL  
25 rr  
23 rr  
91 rr  
2C rr  
2B rr  
2D rr  
3
3
3
3
3
3
Branch if Less Than (Signed Operands)  
Branch if Interrupt Mask Clear  
Branch if Minus  
Branch if Interrupt Mask Set  
10-cpu  
MC68HC08AZ0  
76  
Central Processor Unit (CPU)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Instruction Set Summary  
Table 1 Instruction Set Summary (Continued)  
Effect on  
Source  
Form  
CCR  
Operation  
Description  
V H I N Z C  
BNE rel  
Branch if Not Equal  
PC (PC) + 2 + rel ? (Z) = 0  
PC (PC) + 2 + rel ? (N) = 0  
PC (PC) + 2 + rel  
– REL  
– REL  
– REL  
26 rr  
2A rr  
20 rr  
3
3
3
BPL rel  
BRA rel  
Branch if Plus  
Branch Always  
DIR (b0) 01 dd rr  
DIR (b1) 03 dd rr  
DIR (b2) 05 dd rr  
DIR (b3) 07 dd rr  
DIR (b4) 09 dd rr  
DIR (b5) 0B dd rr  
DIR (b6) 0D dd rr  
DIR (b7) 0F dd rr  
5
5
5
5
5
5
5
5
BRCLR n,opr,rel Branch if Bit n in M Clear  
PC (PC) + 3 + rel ? (Mn) = 0  
BRN rel  
Branch Never  
PC (PC) + 2  
– REL  
21 rr  
3
DIR (b0) 00 dd rr  
DIR (b1) 02 dd rr  
DIR (b2) 04 dd rr  
DIR (b3) 06 dd rr  
DIR (b4) 08 dd rr  
DIR (b5) 0A dd rr  
DIR (b6) 0C dd rr  
DIR (b7) 0E dd rr  
5
5
5
5
5
5
5
5
BRSET n,opr,rel Branch if Bit n in M Set  
PC (PC) + 3 + rel ? (Mn) = 1  
DIR (b0) 10 dd  
DIR (b1) 12 dd  
DIR (b2) 14 dd  
DIR (b3) 16 dd  
DIR (b4) 18 dd  
DIR (b5) 1A dd  
DIR (b6) 1C dd  
DIR (b7) 1E dd  
4
4
4
4
4
4
4
4
BSET n,opr  
BSR rel  
Set Bit n in M  
Mn 1  
PC (PC) + 2; push (PCL)  
SP (SP) – 1; push (PCH)  
SP (SP) – 1  
Branch to Subroutine  
– REL  
AD rr  
4
PC (PC) + rel  
CBEQ opr,rel  
PC (PC) + 3 + rel ? (A) – (M) = $00  
PC (PC) + 3 + rel ? (A) – (M) = $00  
PC (PC) + 3 + rel ? (X) – (M) = $00  
PC (PC) + 3 + rel ? (A) – (M) = $00  
PC (PC) + 2 + rel ? (A) – (M) = $00  
PC (PC) + 4 + rel ? (A) – (M) = $00  
DIR  
31 dd rr  
41 ii rr  
51 ii rr  
61 ff rr  
71 rr  
5
4
4
5
4
6
CBEQA #opr,rel  
CBEQX #opr,rel  
CBEQ opr,X+,rel  
CBEQ X+,rel  
IMM  
IMM  
Compare and Branch if Equal  
IX1+  
IX+  
CBEQ opr,SP,rel  
SP1  
9E61 ff rr  
CLC  
CLI  
Clear Carry Bit  
C 0  
I 0  
0
0 INH  
– INH  
98  
9A  
1
2
Clear Interrupt Mask  
CLR opr  
CLRA  
M $00  
A $00  
X $00  
H $00  
M $00  
M $00  
M $00  
DIR  
INH  
3F dd  
4F  
3
1
1
1
3
2
4
CLRX  
INH  
5F  
CLRH  
Clear  
0
0
1
– INH  
IX1  
IX  
SP1  
8C  
CLR opr,X  
CLR ,X  
6F ff  
7F  
CLR opr,SP  
9E6F ff  
11-cpu  
MC68HC08AZ0  
77  
MOTOROLA  
Central Processor Unit (CPU)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Table 1 Instruction Set Summary (Continued)  
Effect on  
Source  
Form  
CCR  
Operation  
Description  
V H I N Z C  
CMP #opr  
IMM  
DIR  
EXT  
IX2  
A1 ii  
B1 dd  
C1 hh ll  
D1 ee ff  
E1 ff  
2
3
4
4
3
2
4
5
CMP opr  
CMP opr  
CMP opr,X  
CMP opr,X  
CMP ,X  
Compare A with M  
(A) – (M)  
–  
↕ ↕ ↕  
IX1  
IX  
SP1  
SP2  
F1  
CMP opr,SP  
CMP opr,SP  
9EE1 ff  
9ED1 ee ff  
COM opr  
COMA  
M (M) = $FF – (M)  
A (A) = $FF – (M)  
X (X) = $FF – (M)  
M (M) = $FF – (M)  
M (M) = $FF – (M)  
M (M) = $FF – (M)  
DIR  
INH  
INH  
IX1  
IX  
33 dd  
43  
4
1
1
4
3
5
COMX  
53  
Complement (One’s Complement)  
Compare H:X with M  
0
↕ ↕ 1  
COM opr,X  
COM ,X  
COM opr,SP  
63 ff  
73  
9E63 ff  
SP1  
CPHX #opr  
CPHX opr  
IMM  
DIR  
65 ii ii+1  
75 dd  
3
4
(H:X) – (M:M + 1)  
–  
↕ ↕ ↕  
CPX #opr  
CPX opr  
IMM  
DIR  
EXT  
IX2  
A3 ii  
B3 dd  
C3 hh ll  
D3 ee ff  
E3 ff  
2
3
4
4
3
2
4
5
CPX opr  
CPX ,X  
Compare X with M  
(X) – (M)  
–  
↕ ↕ ↕  
CPX opr,X  
CPX opr,X  
CPX opr,SP  
CPX opr,SP  
IX1  
IX  
SP1  
SP2  
F3  
9EE3 ff  
9ED3 ee ff  
DAA  
Decimal Adjust A  
(A)  
U –  
↕ ↕ ↕ INH  
72  
2
10  
A (A) – 1 or M (M) – 1 or X (X) – 1  
PC (PC) + 3 + rel ? (result) 0  
PC (PC) + 2 + rel ? (result) 0  
PC (PC) + 2 + rel ? (result) 0  
PC (PC) + 3 + rel ? (result) 0  
PC (PC) + 2 + rel ? (result) 0  
PC (PC) + 4 + rel ? (result) 0  
5
3
3
5
4
6
DBNZ opr,rel  
DBNZA rel  
DBNZX rel  
DBNZ opr,X,rel  
DBNZ X,rel  
DBNZ opr,SP,rel  
DIR  
INH  
3B dd rr  
4B rr  
Decrement and Branch if Not Zero  
– INH  
IX1  
5B rr  
6B ff rr  
7B rr  
IX  
SP1  
9E6B ff rr  
DEC opr  
DECA  
M (M) – 1  
A (A) – 1  
X (X) – 1  
M (M) – 1  
M (M) – 1  
M (M) – 1  
DIR  
INH  
INH  
3A dd  
4A  
4
1
1
4
3
5
DECX  
5A  
Decrement  
Divide  
–  
↕ ↕ –  
DEC opr,X  
DEC ,X  
DEC opr,SP  
IX1  
IX  
6A ff  
7A  
9E6A ff  
SP1  
A (H:A)/(X)  
H Remainder  
DIV  
0
↕ ↕ INH  
52  
7
EOR #opr  
EOR opr  
EOR opr  
EOR opr,X  
EOR opr,X  
EOR ,X  
EOR opr,SP  
EOR opr,SP  
IMM  
DIR  
EXT  
IX2  
IX1  
IX  
SP1  
SP2  
A8 ii  
B8 dd  
C8 hh ll  
D8 ee ff  
E8 ff  
2
3
4
4
3
2
4
5
Exclusive OR M with A  
A (A  
M)  
↕ ↕ –  
F8  
9EE8 ff  
9ED8 ee ff  
12-cpu  
MC68HC08AZ0  
78  
Central Processor Unit (CPU)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Instruction Set Summary  
Table 1 Instruction Set Summary (Continued)  
Effect on  
Source  
Form  
CCR  
Operation  
Description  
V H I N Z C  
INC opr  
M (M) + 1  
A (A) + 1  
X (X) + 1  
M (M) + 1  
M (M) + 1  
M (M) + 1  
DIR  
INH  
INH  
IX1  
IX  
3C dd  
4C  
4
1
1
4
3
5
INCA  
INCX  
5C  
Increment  
Jump  
–  
↕ ↕ –  
INC opr,X  
INC ,X  
6C ff  
7C  
9E6C ff  
INC opr,SP  
SP1  
JMP opr  
JMP opr  
JMP opr,X  
JMP opr,X  
JMP ,X  
DIR  
EXT  
– IX2  
IX1  
IX  
BC dd  
CC hh ll  
DC ee ff  
EC ff  
2
3
4
3
2
PC Jump Address  
FC  
JSR opr  
JSR opr  
JSR opr,X  
JSR opr,X  
JSR ,X  
DIR  
EXT  
– IX2  
IX1  
BD dd  
CD hh ll  
DD ee ff  
ED ff  
4
5
6
5
4
PC (PC) + n (n = 1, 2, or 3)  
Push (PCL); SP (SP) – 1  
Push (PCH); SP (SP) – 1  
PC Unconditional Address  
Jump to Subroutine  
IX  
FD  
LDA #opr  
LDA opr  
IMM  
DIR  
EXT  
IX2  
A6 ii  
B6 dd  
C6 hh ll  
D6 ee ff  
E6 ff  
2
3
4
4
3
2
4
5
LDA opr  
LDA opr,X  
LDA opr,X  
LDA ,X  
LDA opr,SP  
LDA opr,SP  
Load A from M  
Load H:X from M  
Load X from M  
A (M)  
H:X ← (M:M + 1)  
X (M)  
0
0
0
↕ ↕ –  
↕ ↕ –  
↕ ↕ –  
IX1  
IX  
F6  
SP1  
SP2  
9EE6 ff  
9ED6 ee ff  
LDHX #opr  
LDHX opr  
IMM  
DIR  
45 ii jj  
55 dd  
3
4
LDX #opr  
LDX opr  
LDX opr  
LDX opr,X  
LDX opr,X  
LDX ,X  
LDX opr,SP  
LDX opr,SP  
IMM  
DIR  
EXT  
IX2  
IX1  
IX  
SP1  
SP2  
AE ii  
BE dd  
CE hh ll  
DE ee ff  
EE ff  
FE  
9EEE ff  
9EDE ee ff  
2
3
4
4
3
2
4
5
LSL opr  
LSLA  
DIR  
INH  
INH  
IX1  
IX  
38 dd  
48  
4
1
1
4
3
5
LSLX  
Logical Shift Left  
(Same as ASL)  
58  
C
0
–  
–  
↕ ↕ ↕  
LSL opr,X  
LSL ,X  
LSL opr,SP  
68 ff  
78  
9E68 ff  
b7  
b0  
SP1  
LSR opr  
LSRA  
LSRX  
LSR opr,X  
LSR ,X  
LSR opr,SP  
DIR  
INH  
INH  
IX1  
IX  
34 dd  
44  
4
1
1
4
3
5
54  
0
C
Logical Shift Right  
0 ↕ ↕  
64 ff  
74  
b7  
b0  
SP1  
9E64 ff  
MOV opr,opr  
MOV opr,X+  
MOV #opr,opr  
MOV X+,opr  
DD  
4E dd dd  
5E dd  
5
4
4
4
(M)  
(M)  
Source  
Destination  
DIX+  
IMD  
IX+D  
Move  
0
0
↕ ↕ –  
6E ii dd  
7E dd  
H:X (H:X) + 1 (IX+D, DIX+)  
X:A (X) × (A)  
MUL  
Unsigned multiply  
0 INH  
42  
5
13-cpu  
MC68HC08AZ0  
79  
MOTOROLA  
Central Processor Unit (CPU)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Table 1 Instruction Set Summary (Continued)  
Effect on  
Source  
Form  
CCR  
Operation  
Description  
V H I N Z C  
NEG opr  
DIR  
INH  
INH  
IX1  
IX  
30 dd  
40  
4
1
1
4
3
5
M –(M) = $00 – (M)  
A –(A) = $00 – (A)  
X –(X) = $00 – (X)  
M –(M) = $00 – (M)  
M –(M) = $00 – (M)  
NEGA  
NEGX  
50  
Negate (Two’s Complement)  
–  
↕ ↕ ↕  
NEG opr,X  
NEG ,X  
60 ff  
70  
9E60 ff  
NEG opr,SP  
SP1  
NOP  
NSA  
No Operation  
Nibble Swap A  
None  
– INH  
– INH  
9D  
62  
1
3
A (A[3:0]:A[7:4])  
ORA #opr  
ORA opr  
IMM  
DIR  
EXT  
IX2  
AA ii  
BA dd  
CA hh ll  
DA ee ff  
EA ff  
2
3
4
4
3
2
4
5
ORA opr  
ORA opr,X  
ORA opr,X  
ORA ,X  
ORA opr,SP  
ORA opr,SP  
Inclusive OR A and M  
A (A) | (M)  
0
↕ ↕ –  
IX1  
IX  
FA  
SP1  
SP2  
9EEA ff  
9EDA ee ff  
PSHA  
PSHH  
PSHX  
PULA  
PULH  
PULX  
Push A onto Stack  
Push H onto Stack  
Push X onto Stack  
Pull A from Stack  
Pull H from Stack  
Pull X from Stack  
Push (A); SP (SP) – 1  
Push (H); SP (SP) – 1  
Push (X); SP (SP) – 1  
SP (SP + 1); Pull (A)  
SP (SP + 1); Pull (H)  
SP (SP + 1); Pull (X)  
– INH  
– INH  
– INH  
– INH  
– INH  
– INH  
87  
8B  
89  
86  
8A  
88  
2
2
2
2
2
2
ROL opr  
ROLA  
DIR  
INH  
INH  
39 dd  
49  
4
1
1
4
3
5
ROLX  
59  
C
Rotate Left through Carry  
Rotate Right through Carry  
–  
–  
↕ ↕ ↕  
ROL opr,X  
ROL ,X  
ROL opr,SP  
IX1  
IX  
69 ff  
79  
9E69 ff  
b7  
b0  
SP1  
ROR opr  
RORA  
RORX  
ROR opr,X  
ROR ,X  
ROR opr,SP  
DIR  
INH  
INH  
IX1  
IX  
36 dd  
46  
4
1
1
4
3
5
56  
C
↕ ↕ ↕  
66 ff  
76  
b7  
b0  
SP1  
9E66 ff  
RSP  
RTI  
Reset Stack Pointer  
Return from Interrupt  
SP $FF  
– INH  
9C  
80  
1
SP (SP) + 1; Pull (CCR)  
SP (SP) + 1; Pull (A)  
SP (SP) + 1; Pull (X)  
SP (SP) + 1; Pull (PCH)  
SP (SP) + 1; Pull (PCL)  
↕ ↕ ↕ ↕ ↕ ↕ INH  
7
SP SP + 1; Pull (PCH)  
SP SP + 1; Pull (PCL)  
RTS  
Return from Subroutine  
– INH  
81  
4
14-cpu  
MC68HC08AZ0  
80  
Central Processor Unit (CPU)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Instruction Set Summary  
Table 1 Instruction Set Summary (Continued)  
Effect on  
Source  
Form  
CCR  
Operation  
Description  
V H I N Z C  
SBC #opr  
IMM  
DIR  
EXT  
IX2  
A2 ii  
B2 dd  
C2 hh ll  
D2 ee ff  
E2 ff  
2
3
4
4
3
2
4
5
SBC opr  
SBC opr  
SBC opr,X  
SBC opr,X  
SBC ,X  
Subtract with Carry  
A (A) – (M) – (C)  
–  
↕ ↕ ↕  
IX1  
IX  
SP1  
SP2  
F2  
SBC opr,SP  
SBC opr,SP  
9EE2 ff  
9ED2 ee ff  
SEC  
SEI  
Set Carry Bit  
C 1  
I 1  
1
1 INH  
– INH  
99  
9B  
1
2
Set Interrupt Mask  
STA opr  
DIR  
EXT  
IX2  
B7 dd  
C7 hh ll  
D7 ee ff  
E7 ff  
3
4
4
3
2
4
5
STA opr  
STA opr,X  
STA opr,X  
STA ,X  
STA opr,SP  
STA opr,SP  
Store A in M  
M (A)  
0
↕ ↕ – IX1  
IX  
SP1  
SP2  
F7  
9EE7 ff  
9ED7 ee ff  
STHX opr  
STOP  
Store H:X in M  
(M:M + 1) (H:X)  
0
0
↕ ↕ – DIR  
35 dd  
8E  
4
1
Enable IRQ Pin; Stop Oscillator  
I 0; Stop Oscillator  
– INH  
STX opr  
DIR  
EXT  
IX2  
BF dd  
CF hh ll  
DF ee ff  
EF ff  
3
4
4
3
2
4
5
STX opr  
STX opr,X  
STX opr,X  
STX ,X  
STX opr,SP  
STX opr,SP  
Store X in M  
M (X)  
0
↕ ↕ – IX1  
IX  
SP1  
SP2  
FF  
9EEF ff  
9EDF ee ff  
SUB #opr  
SUB opr  
SUB opr  
SUB opr,X  
SUB opr,X  
SUB ,X  
SUB opr,SP  
SUB opr,SP  
IMM  
DIR  
EXT  
A0 ii  
B0 dd  
C0 hh ll  
D0 ee ff  
E0 ff  
2
3
4
4
3
2
4
5
IX2  
↕ ↕ ↕  
IX1  
Subtract  
A (A) (M)  
–  
IX  
SP1  
SP2  
F0  
9EE0 ff  
9ED0 ee ff  
PC (PC) + 1; Push (PCL)  
SP (SP) – 1; Push (PCH)  
SP (SP) – 1; Push (X)  
SP (SP) – 1; Push (A)  
SWI  
Software Interrupt  
1
– INH  
83  
9
SP (SP) – 1; Push (CCR)  
SP (SP) – 1; I 1  
PCH Interrupt Vector High Byte  
PCL Interrupt Vector Low Byte  
TAP  
TAX  
TPA  
Transfer A to CCR  
Transfer A to X  
CCR (A)  
X (A)  
↕ ↕ ↕ ↕ ↕ ↕ INH  
84  
97  
85  
2
1
1
– INH  
– INH  
Transfer CCR to A  
A (CCR)  
15-cpu  
MC68HC08AZ0  
81  
MOTOROLA  
Central Processor Unit (CPU)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Table 1 Instruction Set Summary (Continued)  
Effect on  
Source  
Form  
CCR  
Operation  
Description  
V H I N Z C  
TST opr  
DIR  
INH  
INH  
IX1  
IX  
3D dd  
4D  
3
1
1
3
2
4
TSTA  
TSTX  
5D  
Test for Negative or Zero  
(A) – $00 or (X) – $00 or (M) – $00  
0
↕ ↕ –  
TST opr,X  
TST ,X  
6D ff  
7D  
9E6D ff  
TST opr,SP  
SP1  
TSX  
Transfer SP to H:X  
Transfer X to A  
H:X (SP) + 1  
A (X)  
– INH  
– INH  
– INH  
95  
9F  
94  
2
1
2
TXA  
TXS  
Transfer H:X to SP  
(SP) (H:X) – 1  
Any bit  
A Accumulatorn  
C Carry/borrow bitopr  
CCRCondition code registerPC  
Operand (one or two bytes)  
Program counter  
ddDirect address of operandPCH  
Program counter high byte  
Program counter low byte  
Relative addressing mode  
Relative program counter offset byte  
Relative program counter offset byte  
Stack pointer, 8-bit offset addressing mode  
Stack pointer 16-bit offset addressing mode  
Stack pointer  
dd rrDirect address of operand and relative offset of branch instructionPCL  
DDDirect to direct addressing modeREL  
DIRDirect addressing moderel  
DIX+Direct to indexed with post increment addressing moderr  
ee ffHigh and low bytes of offset in indexed, 16-bit offset addressingSP1  
EXTExtended addressing modeSP2  
ff Offset byte in indexed, 8-bit offset addressingSP  
H Half-carry bitU  
Undefined  
H Index register high byteV  
Overflow bit  
hh llHigh and low bytes of operand address in extended addressingX  
I Interrupt maskZ  
Index register low byte  
Zero bit  
ii Immediate operand byte&  
Logical AND  
IMDImmediate source to direct destination addressing mode|  
IMMImmediate addressing mode  
INHInherent addressing mode( )  
Logical OR  
Logical EXCLUSIVE OR  
Contents of  
IXIndexed, no offset addressing mode–( )  
IX+Indexed, no offset, post increment addressing mode#  
IX+DIndexed with post increment to direct addressing mode«  
IX1Indexed, 8-bit offset addressing mode←  
IX1+Indexed, 8-bit offset, post increment addressing mode?  
IX2Indexed, 16-bit offset addressing mode:  
MMemory location↕  
Negation (two’s complement)  
Immediate value  
Sign extend  
Loaded with  
If  
Concatenated with  
Set or cleared  
N Negative bit—  
Not affected  
Opcode Map  
16-cpu  
MC68HC08AZ0  
82  
Central Processor Unit (CPU)  
For More Information On This Product,  
Go to: www.freescale.com  
MOTOROLA  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
Opcode Map  
17-cpu  
MC68HC08AZ0  
83  
MOTOROLA  
Central Processor Unit (CPU)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Central Processor Unit (CPU)  
18-cpu  
MC68HC08AZ0  
84  
Central Processor Unit (CPU)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
SIM  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86  
SIM bus clock control and generation. . . . . . . . . . . . . . . . . . . . . . . . . 88  
Bus timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89  
Clock start-up from POR or LVI reset . . . . . . . . . . . . . . . . . . . . . . . 89  
Clocks in STOP and WAIT mode . . . . . . . . . . . . . . . . . . . . . . . . . . 89  
Reset and system initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90  
External pin reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90  
Active resets from internal sources. . . . . . . . . . . . . . . . . . . . . . . . . 91  
Power-on reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92  
Computer operating properly (COP) reset . . . . . . . . . . . . . . . . . 93  
Illegal opcode reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94  
Illegal address reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94  
Low-voltage inhibit (LVI) reset . . . . . . . . . . . . . . . . . . . . . . . . . . 94  
SIM counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95  
SIM counter during power-on reset. . . . . . . . . . . . . . . . . . . . . . . . . 95  
SIM counter during STOP mode recovery . . . . . . . . . . . . . . . . . . . 95  
SIM counter and reset states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95  
Exception control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96  
Hardware interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98  
SWI instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98  
Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99  
Break interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99  
Status flag protection in break mode . . . . . . . . . . . . . . . . . . . . . . 100  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101  
STOP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102  
SIM registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104  
SIM break status register (SBSR). . . . . . . . . . . . . . . . . . . . . . . . . 104  
SIM reset status register (SRSR) . . . . . . . . . . . . . . . . . . . . . . . . . 105  
SIM break flag control register (SBFCR) . . . . . . . . . . . . . . . . . . . 106  
1-sim  
MC68HC08AZ0  
MOTOROLA  
System Integration Module (SIM)  
85  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Introduction  
This section describes the system integration module, which supports up  
to 24 external and/or internal interrupts. Together with the CPU, the SIM  
controls all MCU activities. A block diagram of the SIM is shown in  
Figure 1. Table 1 is a summary of the SIM I/O registers. The SIM is a  
system state controller that coordinates CPU and exception timing. The  
SIM is responsible for:  
• Bus clock generation and control for CPU and peripherals  
– STOP/WAIT/reset/break entry and recovery  
– Internal clock control  
• Master reset control, including power-on reset (POR) and COP  
timeout  
• Interrupt control:  
– Acknowledge timing  
– Arbitration control timing  
– Vector address generation  
• CPU enable/disable timing  
• Modular architecture expandable to 128 interrupt sources  
2-sim  
MC68HC08AZ0  
86  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Introduction  
MODULE STOP  
MODULE WAIT  
CPU STOP (FROM CPU)  
CPU WAIT (FROM CPU)  
STOP/WAIT  
CONTROL  
SIMOSCEN (TO CGM)  
SIM  
COUNTER  
COP CLOCK  
CGMXCLK (FROM CGM)  
CGMOUT (FROM CGM)  
÷ 2  
CLOCK  
CONTROL  
CLOCK GENERATORS  
INTERNAL CLOCKS  
LVI (FROM LVI MODULE)  
RESET  
PIN LOGIC  
POR CONTROL  
RESET PIN CONTROL  
MASTER  
RESET  
CONTROL  
ILLEGAL OPCODE (FROM CPU)  
ILLEGAL ADDRESS (FROM ADDRESS  
MAP DECODERS)  
SIM RESET STATUS REGISTER  
COP (FROM COP MODULE)  
RESET  
INTERRUPT SOURCES  
CPU INTERFACE  
INTERRUPT CONTROL  
AND PRIORITY DECODE  
Figure 1. SIM block diagram  
Table 1. SIM I/O register summary  
Register Name  
SIM Break Status Register (SBSR)  
Bit 7  
6
R
5
4
3
2
R
0
1
SBSW  
LVI  
Bit 0 Addr.  
R
R
R
R
R
0
0
$FE00  
$FE01  
$FE03  
SIM Reset Status Register (SRSR) POR  
PIN  
0
COP ILOP ILAD  
SIM Break Flag Control Register (SBFCR) BCFE  
R
0
0
0
0
0
= Reserved for factory test  
Table 2 shows the internal signal names used in this section.  
3-sim  
MC68HC08AZ0  
87  
MOTOROLA  
System Integration Module (SIM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Table 2. Signal naming conventions  
Signal Name  
CGMXCLK  
CGMVCLK  
Description  
Buffered version of OSC1 from clock generator module (CGM)  
PLL output  
PLL-based or OSC1-based clock output from CGM module  
(Bus clock = CGMOUT divided by two)  
CGMOUT  
IAB  
IDB  
Internal address bus  
Internal data bus  
PORRST  
IRST  
Signal from the power-on reset module to the SIM  
Internal reset signal  
R/W  
Read/write signal  
SIM bus clock control and generation  
The bus clock generator provides system clock signals for the CPU and  
peripherals on the MCU. The system clocks are generated from an  
incoming clock, CGMOUT, as shown in Figure 2. This clock can come  
from either an external oscillator or from the on-chip PLL. See  
Clock Generator Module (CGM) on page 107.  
CGMXCLK  
OSC1  
SIM COUNTER  
CLOCK  
SELECT  
CIRCUIT  
A
B
CGMOUT  
BUS CLOCK  
GENERATORS  
÷ 2  
÷ 2  
CGMVCLK  
PLL  
S*  
*When S = 1,  
CGMOUT = B  
BCS  
SIM  
PTC3  
MONITOR MODE  
USER MODE  
CGM  
Figure 2. CGM clock signals  
4-sim  
MC68HC08AZ0  
88  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
SIM bus clock control and generation  
Bus timing  
In user mode, the internal bus frequency is either the crystal oscillator  
output (CGMXCLK) divided by four or the PLL output (CGMVCLK)  
divided by four. See Clock Generator Module (CGM) on page 107.  
Clock start-up  
from POR or LVI  
reset  
When the power-on reset module or the low-voltage inhibit module  
generates a reset, the clocks to the CPU and peripherals are inactive  
and held in an inactive phase until after the 4096 CGMXCLK cycle POR  
timeout has been completed. The RST pin is driven low by the SIM  
during this entire period. The IBUS clocks start upon completion of the  
timeout.  
Clocks in STOP  
and WAIT mode  
Upon exit from STOP mode (by an interrupt, break, or reset), the SIM  
allows CGMXCLK to clock the SIM counter. The CPU and peripheral  
clocks do not become active until after the STOP delay timeout. This  
timeout is selectable as 4096 or 32 CGMXCLK cycles. See STOP mode  
on page 102.  
In WAIT mode, the CPU clocks are inactive. The SIM also produces two  
sets of clocks for other modules. Refer to the WAIT mode subsection of  
each module to see if the module is active or inactive in WAIT mode.  
Some modules can be programmed to be active in WAIT mode.  
5-sim  
MC68HC08AZ0  
MOTOROLA  
System Integration Module (SIM)  
89  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Reset and system initialization  
The MCU has the following reset sources:  
• Power-on reset module (POR)  
• External reset pin (RST)  
• Computer operating properly module (COP)  
• Low-voltage inhibit module (LVI)  
• Illegal opcode  
• Illegal address  
All of these resets produce the vector $FFFE–FFFF ($FEFE–FEFF in  
monitor mode) and assert the internal reset signal (IRST). IRST causes  
all registers to be returned to their default values and all modules to be  
returned to their reset states.  
An internal reset clears the SIM counter, see SIM counter on page 95,  
but an external reset does not. Each of the resets sets a corresponding  
bit in the SIM reset status register (SRSR). See SIM registers on page  
104.  
External pin reset  
Pulling the asynchronous RST pin low halts all processing. The PIN bit  
of the SIM reset status register (SRSR) is set as long as RST is held low  
for a minimum of 67 CGMXCLK cycles, assuming that neither the POR  
nor the LVI was the source of the reset. See Table 3 for details. Figure  
3 shows the relative timing.  
Table 3. PIN bit set timing  
Reset type  
Number of cycles required to set PIN  
4163 (4096 + 64 + 3)  
POR/LVI  
All others  
67 (64 + 3)  
6-sim  
MC68HC08AZ0  
90  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Reset and system initialization  
CGMOUT  
RST  
VECT H  
IAB  
PC  
VECT L  
Figure 3. External reset timing  
Active resets from  
internal sources  
All internal reset sources actively pull the RST pin low for 32 CGMXCLK  
cycles to allow for resetting of external peripherals. The internal reset  
signal IRST continues to be asserted for an additional 32 cycles. See  
Figure 4. An internal reset can be caused by an illegal address, illegal  
opcode, COP timeout, LVI, or POR. See Figure 5. Note that for LVI or  
POR resets, the SIM cycles through 4096 CGMXCLK cycles, during  
which the SIM forces the RST pin low. The internal reset signal then  
follows the sequence from the falling edge of RST as shown in Figure 4.  
IRST  
RST  
RSTPULLED LOW BY MCU  
32 CYCLES  
32 CYCLES  
CGMXCLK  
IAB  
VECTOR HIGH  
Figure 4. Internal reset timing  
7-sim  
MC68HC08AZ0  
91  
MOTOROLA  
System Integration Module (SIM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
The COP reset is asynchronous to the bus clock.  
ILLEGAL ADDRESS RST  
ILLEGAL OPCODE RST  
INTERNAL RESET  
COPRST  
LVI  
POR  
Figure 5. Sources of internal reset  
The active reset feature allows the part to issue a reset to peripherals  
and other chips within a system built around the MCU.  
Po we r-o n re se t  
When power is first applied to the MCU, the power-on reset module  
(POR) generates a pulse to indicate that power-on has occurred. The  
external reset pin (RST) is held low while the SIM counter counts out  
4096 CGMXCLK cycles. 64 CGMXCLK cycles later, the CPU and  
memories are released from reset to allow the reset vector sequence to  
occur.  
At power-on, the following events occur:  
• A POR pulse is generated  
• The internal reset signal is asserted  
• The SIM enables CGMOUT  
• Internal clocks to the CPU and modules are held inactive for 4096  
CGMXCLK cycles to allow the oscillator to stabilize  
• The RST pin is driven low during the oscillator stabilization time  
• The POR bit of the SIM reset status register (SRSR) is set and all  
other bits in the register are cleared  
8-sim  
MC68HC08AZ0  
92  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Reset and system initialization  
OSC1  
PORRST  
4096  
CYCLES  
32  
CYCLES  
32  
CYCLES  
CGMXCLK  
CGMOUT  
RST  
IAB  
$FFFE  
$FFFF  
Figure 6. POR recovery  
Co m p ute r  
An input to the SIM is reserved for the COP reset signal. The overflow of  
the COP counter causes an internal reset and sets the COP bit in the  
SIM reset status register (SRSR). The SIM actively pulls down the RST  
pin for all internal reset sources.  
o p e ra ting  
p ro p e rly (COP)  
re se t  
To prevent a COP module timeout, a value (any value) should be written  
to location $FFFF. Writing to location $FFFF clears the COP counter and  
bits 12 through 4 of the SIM counter. The SIM counter output, which  
13  
4
occurs at least every 2 – 2 CGMXCLK cycles, drives the COP  
counter. The COP should be serviced as soon as possible out of reset  
to guarantee the maximum amount of time before the first timeout.  
The COP module is disabled if the RST pin or the IRQ pin is held at  
V
DD + VHI while the MCU is in monitor mode. The COP module can be  
disabled only through combinational logic conditioned with the high  
voltage signal on the RST or the IRQ pin. This prevents the COP from  
becoming disabled as a result of external noise. During a break state,  
VDD + VHI on the RST pin disables the COP module.  
9-sim  
MC68HC08AZ0  
93  
MOTOROLA  
System Integration Module (SIM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Ille g a l o p c o d e  
re se t  
The SIM decodes signals from the CPU to detect illegal instructions. An  
illegal instruction sets the ILOP bit in the SIM reset status register  
(SRSR) and causes a reset.  
If the STOP enable bit, STOP, in the mask option register is logic ‘0’, the  
SIM treats the STOP instruction as an illegal opcode and causes an  
illegal opcode reset. The SIM actively pulls down the RST pin for all  
internal reset sources.  
Ille g a l a d d re ss  
re se t  
An opcode fetch from an unmapped address generates an illegal  
address reset. The SIM verifies that the CPU is fetching an opcode prior  
to asserting the ILAD bit in the SIM reset status register SRSR) and  
resetting the MCU. A data fetch from an unmapped address does not  
generate a reset. The SIM actively pulls down the RST pin for all internal  
reset sources.  
NOTE: Extra care should be exercised if off-chip code is eventually ported  
into another HC08 with a smaller on-chip ROM since some legal  
addresses could become illegal addresses on a smaller ROM. It is  
the user’s responsibility to check their code for illegal addresses.  
Lo w-vo lta g e  
The low-voltage inhibit module (LVI) asserts its output to the SIM when  
inhib it (LVI) re se t  
the VDD voltage falls to the LVITRIPF voltage. The LVI bit in the SIM reset  
status register (SRSR) is set, and the external reset pin (RST) is held low  
while the SIM counter counts out 4096 CGMXCLK cycles. 64 CGMXCLK  
cycles later, the CPU is released from reset to allow the reset vector  
sequence to occur. The SIM actively pulls down the RST pin for all  
internal reset sources.  
10-sim  
MC68HC08AZ0  
94  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
SIM counter  
SIM counter  
The SIM counter is used by the power-on reset module (POR) and in  
STOP mode recovery to allow the oscillator time to stabilize before  
enabling the internal bus (IBUS) clocks. The SIM counter also serves as  
a prescaler for the computer operating properly (COP) module. The SIM  
counter overflow supplies the clock for the COP module. The SIM  
counter is 13 bits long and is clocked by the falling edge of CGMXCLK.  
SIMcounterduring  
power-on reset  
The power-on reset (POR) module detects power applied to the MCU.  
At power-on, the POR circuit asserts the signal PORRST. Once the SIM  
is initialized, it enables the clock generation module (CGM) to drive the  
bus clock state machine.  
SIMcounterduring  
STOP mode  
recovery  
The SIM counter is also used for STOP mode recovery. The STOP  
instruction clears the SIM counter. After an interrupt, break, or reset, the  
SIM senses the state of the short STOP recovery bit, SSREC, in the  
mask option register. If the SSREC bit is a logic ‘1’, then the STOP  
recovery is reduced from the normal delay of 4096 CGMXCLK cycles  
down to 32 CGMXCLK cycles. This is ideal for applications using canned  
oscillators that do not require long start-up times from STOP mode.  
External crystal applications should use the full STOP recovery time,  
that is, with SSREC cleared.  
SIM counter and  
reset states  
External reset has no effect on the SIM counter. (See STOP mode on  
page 102. for details). The SIM counter is free-running after all reset  
states, see Active resets from internal sources on page 91 for counter  
control and internal reset recovery sequences.  
11-sim  
MC68HC08AZ0  
MOTOROLA  
System Integration Module (SIM)  
95  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Exception control  
Normal, sequential program execution can be changed in three different  
ways:  
• Interrupts  
– Maskable hardware CPU interrupts  
– Non-maskable software interrupt instruction (SWI)  
• Reset  
• Break interrupts  
Interrupts  
At the beginning of an interrupt, the CPU saves the CPU register  
contents onto the stack and sets the interrupt mask (I-bit) to prevent  
additional interrupts. At the end of an interrupt, the RTI instruction  
recovers the CPU register contents from the stack so that normal  
processing can resume. Figure 7 shows interrupt entry timing, and  
Figure 9 shows interrupt recovery timing.  
MODULE  
INTERRUPT  
I-bit  
IAB  
IDB  
VECT L  
STARTADDRESS  
DUMMY  
SP  
SP – 1  
SP – 2  
SP – 3  
SP – 4  
VECT H  
PC–1[7:0]  
V DATA H V DATA L  
PC1[15:8]  
DUMMY  
X
A
CCR  
OPCODE  
R/W  
Figure 7. Interrupt entry  
Interrupts are latched, and arbitration is performed in the SIM at the start  
of interrupt processing. The arbitration result is a constant that the CPU  
uses to determine which vector to fetch. Once an interrupt is latched by  
the SIM, no other interrupt may take precedence, regardless of priority,  
12-sim  
MC68HC08AZ0  
96  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Exception control  
until the latched interrupt is serviced (or the I-bit is cleared). See Figure  
8.  
FROM RESET  
BREAK  
YES  
INTERRUPT?  
NO  
YES  
I-BIT SET?  
NO  
IRQ  
INTERRUPT?  
YES  
NO  
STACK CPU REGISTERS.  
SET I-BIT.  
LOAD PC WITH INTERRUPT VECTOR.  
(As many interrupts as exist on chip)  
FETCH NEXT  
INSTRUCTION.  
YES  
SWI  
INSTRUCTION?  
NO  
YES  
UNSTACK CPU REGISTERS.  
EXECUTE INSTRUCTION.  
RTI  
INSTRUCTION?  
NO  
Figure 8. Interrupt processing  
13-sim  
MC68HC08AZ0  
97  
MOTOROLA  
System Integration Module (SIM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
MODULE  
INTERRUPT  
I-BIT  
IAB  
IDB  
R/W  
SP – 2  
SP – 4  
SP – 3  
SP – 1  
SP  
PC  
PC + 1  
CCR  
A
X
PC–1[7:0] PC1[15:8] OPCODE OPERAND  
Figure 9. Interrupt recovery  
Ha rd wa re  
inte rrup ts  
Processing of a hardware interrupt begins after completion of the current  
instruction. When the instruction is complete, the SIM checks all pending  
hardware interrupts. If interrupts are not masked (I-bit clear in the  
condition code register), and if the corresponding interrupt enable bit is  
set, the SIM proceeds with interrupt processing; otherwise, the next  
instruction is fetched and executed.  
If more than one interrupt is pending at the end of an instruction  
execution, the highest priority interrupt is serviced first. Figure 9  
demonstrates what happens when two interrupts are pending. If an  
interrupt is pending upon exit from the original interrupt service routine,  
the pending interrupt is serviced before the LDA instruction is executed.  
The LDA opcode is prefetched by both the INT1 and INT2 RTI  
instructions. However, in the case of the INT1 RTI prefetch, this is a  
redundant operation.  
NOTE: To maintain compatibility with the M6805 Family, the H register is not  
pushed on the stack during interrupt entry. If the interrupt service routine  
modifies the H register or uses the indexed addressing mode, software  
should save the H register and then restore it prior to exiting the routine.  
SWI instruc tio n  
The SWI instruction is a non-maskable instruction that causes an  
interrupt regardless of the state of the interrupt mask (I-bit) in the  
condition code register.  
14-sim  
MC68HC08AZ0  
98  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Break interrupts  
CLI  
LDA #$FF  
BACKGROUND ROUTINE  
INT1  
PSHH  
INT1 INTERRUPT SERVICE ROUTINE  
PULH  
RTI  
INT2  
PSHH  
INT2 INTERRUPT SERVICE ROUTINE  
PULH  
RTI  
Figure 10. Interrupt recognition example  
NOTE: A software interrupt pushes PC onto the stack. A software interrupt does  
not push PC – 1, as a hardware interrupt does.  
Reset  
All reset sources always have equal and highest priority and cannot be  
arbitrated.  
Break interrupts  
The break module can stop normal program flow at a  
software-programmable break point by asserting its break interrupt  
output. See Break Module on page 139. The SIM puts the CPU into the  
break state by forcing it to the SWI vector location. Refer to the break  
interrupt subsection of each module to see how each module is affected  
by the break state.  
15-sim  
MC68HC08AZ0  
MOTOROLA  
System Integration Module (SIM)  
99  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Status flag  
protection in  
break mode  
The SIM controls whether status flags contained in other modules can  
be cleared during break mode. The user can select whether flags are  
protected from being cleared by properly initializing the break clear flag  
enable bit (BCFE) in the SIM break flag control register (SBFCR).  
Protecting flags in break mode ensures that set flags will not be cleared  
while in break mode. This protection allows registers to be freely read  
and written during break mode without losing status flag information.  
Setting the BCFE bit enables the clearing mechanisms. Once cleared in  
break mode, a flag remains cleared even when break mode is exited.  
Status flags with a two-step clearing mechanism — for example, a read  
of one register followed by the read or write of another — are protected,  
even when the first step is accomplished prior to entering break mode.  
Upon leaving break mode, execution of the second step will clear the  
flag as normal.  
16-sim  
MC68HC08AZ0  
100  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Low-power modes  
Low-power modes  
Executing the STOP/WAIT instruction puts the MCU in a  
low-power-consumption mode for standby situations. The SIM holds the  
CPU in a non-clocked state. The operation of each of these modes is  
described below. Both STOP and WAIT clear the interrupt mask (I) in the  
condition code register, allowing interrupts to occur.  
WAIT mode  
In WAIT mode, the CPU clocks are inactive while the peripheral clocks  
continue to run. Figure 11 shows the timing for WAIT mode entry.  
A module that is active during WAIT mode can wake up the CPU with an  
interrupt if the interrupt is enabled. Stacking for the interrupt begins one  
cycle after the WAIT instruction during which the interrupt occurred. In  
WAIT mode, the CPU clocks are inactive. Refer to the WAIT mode  
subsection of each module to see if the module is active or inactive in  
WAIT mode. Some modules can be programmed to be active in WAIT  
mode.  
WAIT mode can also be exited by a reset or break. A break interrupt  
during WAIT mode sets the SIM break STOP/WAIT bit, SBSW, in the  
SIM break status register (SBSR). If the COP disable bit, COPD, in the  
mask option register is ‘0’, then the computer operating properly (COP)  
module is enabled and remains active in WAIT mode.  
IAB  
IDB  
R/W  
WAIT ADDR  
WAIT ADDR + 1  
SAME  
SAME  
PREVIOUS DATA  
SAME  
SAME  
NEXT OPCODE  
NOTE: Previous data can be operand data or the WAIT opcode, depending on the  
last instruction.  
Figure 11. WAIT mode entry timing  
Figure 11 and Figure 13 show the timing for WAIT recovery.  
17-sim  
MC68HC08AZ0  
101  
MOTOROLA  
System Integration Module (SIM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
IAB  
$6E0B  
$A6  
$6E0C  
$00FF  
$00FE  
$00FD  
$00FC  
IDB $A6  
$A6  
$01  
$0B  
$6E  
EXITSTOPWAIT  
NOTE: EXITSTOPWAIT = RST pin OR CPU interrupt OR break interrupt  
Figure 12. WAIT recovery from interrupt or break  
32  
Cycles  
32  
Cycles  
IAB  
$6E0B  
$A6  
RST VCT L  
RST VCT H  
IDB $A6  
RST  
$A6  
CGMXCLK  
Figure 13. WAIT recovery from internal reset  
STOP mode  
In STOP mode, the SIM counter is reset and the system clocks are  
disabled. An interrupt request from a module can cause an exit from  
STOP mode. Stacking for interrupts begins after the selected STOP  
recovery time has elapsed. Reset or break also causes an exit from  
STOP mode.  
The SIM disables the clock generator module outputs (CGMOUT and  
CGMXCLK) in STOP mode, stopping the CPU and peripherals. STOP  
recovery time is selectable using the SSREC bit in the mask option  
register (MOR). If SSREC is set, STOP recovery is reduced from the  
normal delay of 4096 CGMXCLK cycles down to 32. This is ideal for  
applications using canned oscillators that do not require long start-up  
times from STOP mode.  
18-sim  
MC68HC08AZ0  
102  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
Low-power modes  
NOTE: External crystal applications should use the full STOP recovery time by  
clearing the SSREC bit.  
A break interrupt during STOP mode sets the SIM break STOP/WAIT bit  
(SBSW) in the SIM break status register (SBSR).  
The SIM counter is held in reset from the execution of the STOP  
instruction until the beginning of STOP recovery. It is then used to time  
the recovery period. Figure 14 shows STOP mode entry timing.  
CPUSTOP  
IAB  
IDB  
R/W  
STOP ADDR  
STOP ADDR + 1  
SAME  
SAME  
PREVIOUS DATA  
NEXT OPCODE  
SAME  
SAME  
NOTE: Previous data can be operand data or the STOP opcode, depending on the last  
instruction.  
Figure 14. STOP mode entry timing  
STOP RECOVERY PERIOD  
CGMXCLK  
INT/BREAK  
IAB  
STOP + 2 STOP + 2  
SP  
SP – 1  
SP – 2  
SP – 3  
STOP +1  
Figure 15. STOP mode recovery from interrupt or break  
19-sim  
MC68HC08AZ0  
103  
MOTOROLA  
System Integration Module (SIM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
SIM registers  
The SIM has three memory mapped registers. Table 4 shows the  
mapping of these registers.  
Table 4. SIM Registers  
Address  
$FE00  
$FE01  
$FE03  
Register  
SBSR  
Access mode  
User  
SRSR  
User  
SBFCR  
User  
SIM break status  
register (SBSR)  
The SIM break status register contains a flag to indicate that a break  
caused an exit from STOP or WAIT mode.  
Bit 7  
R
6
5
4
3
2
1
Bit 0  
R
Read:  
Write:  
Reset:  
SBSW  
SBSR  
$FE00  
R
R
R
R
R
(1)  
Note  
0
R
= Reserved for factory test  
1. Writing a logic ‘0’ clears SBSW.  
Figure 16. SIM break status register (SBSR)  
SBSW — SIM Break STOP/WAIT  
This status bit is useful in applications requiring a return to STOP or  
WAIT mode after exiting from a break interrupt. SBSW can be cleared  
by writing a logic ‘0’ to it. Reset clears SBSW.  
1 = STOP or WAIT mode was exited by break interrupt  
0 = STOP or WAIT mode was not exited by break interrupt  
20-sim  
MC68HC08AZ0  
104  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
SIM registers  
SBSW can be read within the break state SWI routine. The user can  
modify the return address on the stack by subtracting one from it. The  
following code is an example of this.  
; This code works if the H register has been pushed onto the stack in the break  
; service routine software. This code should be executed at the end of the  
; break service routine software.  
HIBYTE EQU  
LOBYTE EQU  
5
6
;
If not SBSW, do RTI  
BRCLR SBSW,SBSR, RETURN ; See if STOP or WAIT mode was exited by  
; break.  
TST  
BNE  
DEC  
DEC  
LOBYTE,SP  
DOLO  
; If RETURNLO is not ‘0’,  
; then just decrement low byte.  
; Else deal with high byte, too.  
; Point to STOP/WAIT opcode.  
; Restore H register.  
HIBYTE,SP  
LOBYTE,SP  
DOLO  
RETURN PULH  
RTI  
SIM reset status  
register (SRSR)  
This register contains six flags that show the source of the last reset. The  
SIM reset status register can be cleared by reading it. A power-on reset  
sets the POR bit and clears all other bits in the register.  
Bit 7  
6
5
4
3
2
1
Bit 0  
0
Read:  
Write:  
POR:  
POR  
PIN  
COP  
ILOP  
ILAD  
0
LVI  
SRSR  
$FE01  
1
0
0
0
0
0
0
0
= Unimplemented  
Figure 17. SIM reset status register (SRSR)  
POR — Power-on reset bit  
1 = Last reset caused by POR circuit  
0 = Read of SRSR  
21-sim  
MC68HC08AZ0  
105  
MOTOROLA  
System Integration Module (SIM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System Integration Module (SIM)  
PIN — External reset bit  
1 = Last reset caused by external reset pin (RST)  
0 = POR or read of SRSR  
COP — Computer operating properly reset bit  
1 = Last reset caused by COP counter  
0 = POR or read of SRSR  
ILOP — Illegal opcode reset bit  
1 = Last reset caused by an illegal opcode  
0 = POR or read of SRSR  
ILAD — Illegal address reset bit (opcode fetches only)  
1 = Last reset caused by an opcode fetch from an illegal address  
0 = POR or read of SRSR  
LVI — Low-voltage inhibit reset bit  
1 = Last reset was caused by the LVI circuit  
0 = POR or read of SRSR  
SIM break flag  
control register  
(SBFCR)  
The SIM break control register contains a bit that enables software to  
clear status bits while the MCU is in a break state.  
Bit 7  
6
5
4
3
2
1
Bit 0  
R
Read:  
Write:  
Reset:  
SBFCR  
$FE03  
BCFE  
R
R
R
R
R
R
0
= Reserved for factory test  
R
Figure 18. SIM break flag control register (SBFCR)  
BCFE — break clear flag enable bit  
This read/write bit enables software to clear status bits by accessing  
status registers while the MCU is in a break state. To clear status bits  
during the break state, the BCFE bit must be set.  
1 = Status bits clearable during break  
0 = Status bits not clearable during break  
22-sim  
MC68HC08AZ0  
106  
System Integration Module (SIM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
CGM  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109  
Crystal oscillator circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111  
Phase-locked loop (PLL) circuit . . . . . . . . . . . . . . . . . . . . . . . . . . 111  
PLL circuits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112  
Acquisition and tracking modes . . . . . . . . . . . . . . . . . . . . . . . . 113  
Manual and automatic PLL bandwidth modes . . . . . . . . . . . . . 113  
Programming the PLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115  
Special programming exceptions . . . . . . . . . . . . . . . . . . . . . . . 116  
Base clock selector circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116  
CGM external connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118  
Crystal amplifier input pin (OSC1) . . . . . . . . . . . . . . . . . . . . . . . . 118  
Crystal amplifier output pin (OSC2) . . . . . . . . . . . . . . . . . . . . . . . 118  
External filter capacitor pin (CGMXFC). . . . . . . . . . . . . . . . . . . . . 118  
PLL analog power pin (VDDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  
Oscillator enable signal (SIMOSCEN) . . . . . . . . . . . . . . . . . . . . . 119  
Crystal output frequency signal (CGMXCLK) . . . . . . . . . . . . . . . . 119  
CGM base clock output (CGMOUT) . . . . . . . . . . . . . . . . . . . . . . . 119  
CGM CPU interrupt (CGMINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  
CGM registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120  
PLL control register (PCTL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121  
PLL Bandwidth control register (PBWC). . . . . . . . . . . . . . . . . . . . 123  
PLL Programming register (PPG). . . . . . . . . . . . . . . . . . . . . . . . . 125  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127  
Special modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128  
STOP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128  
CGM during break interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129  
Acquisition/lock time specifications. . . . . . . . . . . . . . . . . . . . . . . . . . 130  
Acquisition/lock time definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 130  
1-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
107  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Parametric influences on reaction time. . . . . . . . . . . . . . . . . . . . .131  
Choosing a filter capacitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132  
Reaction time calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133  
Introduction  
This section describes the clock generator module (CGM). The CGM  
generates the crystal clock signal, CGMXCLK, which operates at the  
frequency of the crystal. The CGM also generates the base clock signal,  
CGMOUT, from which the system integration module (SIM) derives the  
system clocks. CGMOUT is based on either the crystal clock divided by  
two or the phase-locked loop (PLL) clock, CGMVCLK, divided by two.  
The PLL is a frequency generator designed for use with 1MHz to 8MHz  
crystals or ceramic resonators. The PLL can generate an 8MHz bus  
frequency from an 8 MHz or a 4 MHz crystal.  
Features  
Features of the CGM include the following:  
• Phase-locked loop with output frequency in integer multiples of the  
crystal reference  
• Programmable hardware voltage-controlled oscillator (VCO) for  
low-jitter operation  
• Automatic bandwidth control mode for low-jitter operation  
• Automatic frequency lock detector  
• CPU interrupt on entry or exit from locked condition  
2-cgm  
MC68HC08AZ0  
108  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Functional description  
Functional description  
The CGM consists of three major submodules:  
• Crystal oscillator circuit which generates the constant crystal  
frequency clock, CGMXCLK.  
• Phase-locked loop (PLL) which generates the programmable  
VCO frequency clock CGMVCLK.  
• Base clock selector circuit; this software-controlled circuit selects  
either CGMXCLK divided by two or the VCO clock CGMVCLK  
divided by two, as the base clock CGMOUT. The SIM derives the  
system clocks from CGMOUT.  
Figure 1 shows the structure of the CGM.  
3-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
109  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
CRYSTAL OSCILLATOR  
OSC2  
CGMXCLK  
A
TO SIM, SCI, msCAN  
CLOCK  
SELECT  
CIRCUIT  
OSC1  
CGMOUT  
÷2  
TO SIM  
B
S*  
*When S = 1, CGMOUT = B  
SIMOSCEN  
CGMRDV  
CGMRCLK  
BCS  
USER MODE  
PTC3  
VDDA  
CGMXFC  
VSS  
VRS[7:4]  
MONITOR MODE  
VOLTAGE  
CONTROLLED  
OSCILLATOR  
PHASE  
DETECTOR  
LOOP  
FILTER  
PLL ANALOG  
CGMINT  
LOCK  
DETECTOR  
BANDWIDTH  
CONTROL  
INTERRUPT  
CONTROL  
LOCK  
AUTO  
ACQ  
PLLIE  
PLLF  
MUL[7:4]  
CGMVDV  
CGMVCLK  
FREQUENCY  
DIVIDER  
Figure 1. CGM block diagram  
4-cgm  
MC68HC08AZ0  
110  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Functional description  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
1
PLLF  
1
1
1
PLL Control Register (PCTL)  
PLLIE  
PLLON BCS  
LOCK  
0
0
0
0
PLL Bandwidth Control Register (PBWC)  
PLL Programming Register (PPG)  
AUTO  
ACQ  
XLD  
MUL7 MUL6 MUL5 MUL4 VRS7 VRS6 VRS5 VRS4  
= Unimplemented  
Figure 2. CGM I/O register summary  
Crystal oscillator  
circuit  
The crystal oscillator circuit consists of an inverting amplifier and an  
external crystal. The OSC1 pin is the input to the amplifier and the OSC2  
pin is the output. The SIMOSCEN signal from the system integration  
module (SIM) enables the crystal oscillator circuit.  
The CGMXCLK signal is the output of the crystal oscillator circuit and  
runs at a rate equal to the crystal frequency. CGMXCLK is then buffered  
to produce CGMRCLK, the PLL reference clock.  
CGMXCLK can be used by other modules which require precise timing  
for operation. The duty cycle of CGMXCLK is not guaranteed to be 50%  
and depends on external factors, including the crystal and related  
external components.  
An externally generated clock can also feed the OSC1 pin of the crystal  
oscillator circuit. For this configuration, the external clock should be  
connected to the OSC1 pin and the OSC2 pin allowed to float.  
Phase-locked  
loop (PLL) circuit  
The PLL is a frequency generator that can operate in either acquisition  
mode or tracking mode, depending on the accuracy of the output  
frequency. The PLL can change between acquisition and tracking  
modes either automatically or manually.  
5-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
111  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
PLL c irc uits  
The PLL consists of the following circuits:  
• Voltage-controlled oscillator (VCO)  
• Modulo VCO frequency divider  
• Phase detector  
• Loop filter  
• Lock detector  
The operating range of the VCO is programmable for a wide range of  
frequencies and for maximum immunity to external noise, including  
supply and CGMXFC noise. The VCO frequency is bound to a range  
from roughly one-half to twice the center-of-range frequency, fVRS  
.
Modulating the voltage on the CGMXFC pin changes the frequency  
within this range. By design, fVRS is equal to the nominal center-of-range  
frequency, fNOM, (4.9152MHz) times a linear factor L, or (L)fNOM  
.
CGMRCLK is the PLL reference clock, a buffered version of CGMXCLK.  
CGMRCLK runs at a frequency fRCLK, and is fed to the PLL through a  
buffer. The buffer output is the final reference clock, CGMRDV, running  
at a frequency fRDV = fRCLK  
.
The VCO’s output clock, CGMVCLK, running at a frequency fVCLK, is fed  
back through a programmable modulo divider. The modulo divider  
reduces the VCO clock by a factor N. The dividers output is the VCO  
feedback clock, CGMVDV, running at a frequency fVDV = fVCLK/N. (See  
Programming the PLL on page 115 for more information).  
The phase detector then compares the VCO feedback clock, CGMVDV,  
with the final reference clock, CGMRDV. A correction pulse is generated  
based on the phase difference between the two signals. The loop filter  
then slightly alters the DC voltage on the external capacitor connected  
to CGMXFC based on the width and direction of the correction pulse.  
The filter can make fast or slow corrections depending on its mode,  
described in Acquisition and tracking modes on page 113. The value of  
the external capacitor and the reference frequency determines the  
speed of the corrections and the stability of the PLL.  
The lock detector compares the frequencies of the VCO feedback clock,  
CGMVDV, and the final reference clock, CGMRDV. Therefore, the  
6-cgm  
MC68HC08AZ0  
112  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Functional description  
speed of the lock detector is directly proportional to the final reference  
frequency fRDV. The circuit determines the mode of the PLL and the lock  
condition based on this comparison.  
Ac q uisitio n a nd  
tra c king m o d e s  
The PLL filter is manually or automatically configurable into one of two  
operating modes:  
• Acquisition mode — in acquisition mode, the filter can make large  
frequency corrections to the VCO. This mode is used at PLL  
start-up or when the PLL has suffered a severe noise hit and the  
resulting VCO frequency is much different from the desired  
frequency. When in acquisition mode, the ACQ bit is clear in the  
PLL bandwidth control register. See PLL Bandwidth control  
register (PBWC) on page 123  
• Tracking mode — in tracking mode, the filter makes only small  
corrections to the frequency of the VCO. PLL jitter is much lower  
in tracking mode, but the response to noise is also slower. The  
PLL enters tracking mode when the VCO frequency is nearly  
correct, such as when the PLL is selected as the base clock  
source. See Base clock selector circuit on page 116 The PLL is  
automatically in tracking mode when not in acquisition mode or  
when the ACQ bit is set.  
Ma nua l a nd  
a uto m a tic PLL  
b a nd wid th m o d e s  
The PLL can change the bandwidth or operational mode of the loop filter  
manually or automatically.  
In automatic bandwidth control mode (AUTO = 1), the lock detector  
automatically switches between acquisition and tracking modes.  
Automatic bandwidth control mode is used also to determine when the  
VCO clock, CGMVCLK, is safe to use as the source for the base clock,  
CGMOUT. See PLL Bandwidth control register (PBWC) on page 123 If  
PLL interrupts are enabled, the software can wait for a PLL interrupt  
request and then check the LOCK bit. If interrupts are disabled, software  
can poll the LOCK bit continuously (during PLL start-up, usually) or at  
periodic intervals. In either case, when the LOCK bit is set, the VCO  
clock is safe to use as the source for the base clock. See Base clock  
selector circuit. If the VCO is selected as the source for the base clock  
and the LOCK bit is clear, the PLL has suffered a severe noise hit and  
7-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
113  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
the software must take appropriate action, depending on the application.  
(See Interrupts on page 127 for information and precautions on using  
interrupts). The following conditions apply when the PLL is in automatic  
bandwidth control mode:  
• The ACQ bit (see PLL Bandwidth control register (PBWC) on page  
123) is a read-only indicator of the mode of the filter, see  
Acquisition and tracking modes on page 113.  
• The ACQ bit is set when the VCO frequency is within a certain  
tolerance TRK and is cleared when the VCO frequency is out with  
a certain tolerance UNT. (See Acquisition/lock time specifications  
on page 130).  
• The LOCK bit is a read-only indicator of the locked state of the  
PLL.  
• The LOCK bit is set when the VCO frequency is within a certain  
tolerance LOCK and is cleared when the VCO frequency is  
outgrowth a certain tolerance UNL. (See Acquisition/lock time  
specifications on page 130).  
• CPU interrupts can occur if enabled (PLLIE = 1) when the PLL’s  
lock condition changes, toggling the LOCK bit. (See PLL control  
register (PCTL) on page 121).  
The PLL also may operate in manual mode (AUTO = 0). Manual mode  
is used by systems that do not require an indicator of the lock condition  
for proper operation. Such systems typically operate well below fBUSMAX  
and require fast start-up. The following conditions apply when in manual  
mode:  
• ACQ is a writable control bit that controls the mode of the filter.  
Before turning on the PLL in manual mode, the ACQ bit must be  
clear.  
• Before entering tracking mode (ACQ = 1), software must wait a  
given time, tACQ (see Acquisition/lock time specifications on page  
130), after turning on the PLL by setting PLLON in the PLL control  
register (PCTL).  
8-cgm  
MC68HC08AZ0  
114  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Functional description  
• Software must wait a given time, tAL, after entering tracking mode  
before selecting the PLL as the clock source to CGMOUT (BCS =  
1).  
• The LOCK bit is disabled.  
• CPU interrupts from the CGM are disabled.  
Pro g ra m m ing the  
PLL  
The following procedure shows how to program the PLL.  
NOTE: The round function in the following equations means that the real  
number should be rounded to the nearest integer number.  
1. Choose the desired bus frequency, fBUSDES  
.
2. Calculate the desired VCO frequency (four times the  
desired bus frequency).  
f
= 4 × f  
BUDES  
VCLKDES  
3. Choose a practical PLL reference frequency, fRCLK  
4. Select a VCO frequency multiplier, N.  
.
f
VCLKDES  
--------------------------  
N = round  
f
RCLK  
5. Calculate and verify the adequacy of the VCO and bus  
frequencies fVCLK and fBUS  
.
f
= N × f  
RCLK  
VCLK  
f
= (f  
) ⁄ 4  
VCLK  
BUS  
6. Select a VCO linear range multiplier, L.  
f
VCLK  
----------------  
L = round  
f
NOM  
where fNOM = 4.9152MHz  
7. Calculate and verify the adequacy of the VCO programmed  
center-of-range frequency fVRS  
.
fVRS = (L)fNOM  
9-cgm  
MC68HC08AZ0  
115  
MOTOROLA  
Clock Generator Module (CGM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
8. Verify the choice of N and L by comparing fVCLK to fVRS and  
fVCLKDES. For proper operation, fVCLK must be within the  
application’s tolerance of fVCLKDES, and fVRS must be as close  
as possible to fVCLK  
.
NOTE: Exceeding the recommended maximum bus frequency or VCO  
frequency can cause the MCU to “crash”.  
9. Program the PLL registers accordingly:  
a. In the upper 4 bits of the PLL programming register  
(PPG), program the binary equivalent of N.  
b. In the lower 4 bits of the PLL programming register  
(PPG), program the binary equivalent of L.  
Sp e c ia l  
The programming method described in Programming the PLL on page  
p ro g ra m m ing  
e xc e p tio ns  
115, does not account for two possible exceptions — a value of zero for  
N or L is meaningless when used in the equations given. To account for  
these exceptions:  
• A zero value for N is interpreted exactly the same as a value of  
one.  
• A zero value for L disables the PLL and prevents its selection as  
the source for the base clock. (See Base clock selector circuit on  
page 116).  
Base clock  
selector circuit  
This circuit is used to select either the crystal clock, CGMXCLK, or the  
VCO clock, CGMVCLK, as the source of the base clock, CGMOUT. The  
two input clocks go through a transition control circuit that waits up to  
three CGMXCLK cycles and three CGMVCLK cycles to change from  
one clock source to the other. During this time, CGMOUT is held in  
stasis. The output of the transition control circuit is then divided by two  
to correct the duty cycle. Therefore, the bus clock frequency, which is  
one-half of the base clock frequency, is one-fourth the frequency of the  
selected clock (CGMXCLK or CGMVCLK).  
The BCS bit in the PLL control register (PCTL) selects which clock drives  
CGMOUT. The VCO clock cannot be selected as the base clock source  
if the PLL is not turned on. The PLL cannot be turned off if the VCO clock  
is selected. The PLL cannot be turned on or off simultaneously with the  
10-cgm  
MC68HC08AZ0  
116  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Functional description  
selection or deselection of the VCO clock. The VCO clock also cannot  
be selected as the base clock source if the factor L is programmed to a  
zero. This value would set up a condition inconsistent with the operation  
of the PLL, so that the PLL would be disabled and the crystal clock would  
be forced as the source of the base clock.  
CGM external  
connections  
In its typical configuration, the CGM requires seven external  
components. Five of these are for the crystal oscillator and two are for  
the PLL.  
The crystal oscillator is normally connected in a Pierce oscillator  
configuration, as shown in Figure 3. This figure shows only the logical  
representation of the internal components and may not represent actual  
circuitry. The oscillator configuration uses five components:  
• Crystal, X  
1
• Fixed capacitor, C  
1
• Tuning capacitor, C (can also be a fixed capacitor)  
2
• Feedback resistor, RB  
• Series resistor, RS (optional)  
The series resistor (RS) is included in the diagram to follow strict Pierce  
oscillator guidelines and may not be required for all ranges of operation,  
especially with high frequency crystals. Refer to the crystal  
manufacturer’s data for more information.  
Figure 3 also shows the external components for the PLL:  
• Bypass capacitor, CBYP  
• Filter capacitor, CF  
Care should be taken with routing in order to minimize signal cross talk  
and noise. See Acquisition/lock time specifications on page 130 for  
routing information and more information on the filter capacitor’s value  
and its effects on PLL performance.  
11-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
117  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
SIMOSCEN  
CGMXCLK  
OSC1  
OSC1  
V
CGMXFC  
CF  
V
DDA  
SSA  
VDD  
*
RS  
CBYP  
R
B
X
1
C
C
2
1
*RS can be zero (shorted) when used with higher-frequency crystals. Refer to manufacturer’s data.  
Figure 3. CGM external connections  
I/O Signals  
The following paragraphs describe the CGM I/O signals.  
The OSC1 pin is an input to the crystal oscillator amplifier.  
Crystal amplifier  
input pin (OSC1)  
Crystal amplifier  
The OSC2 pin is the output of the crystal oscillator inverting amplifier.  
output pin (OSC2)  
External filter  
capacitor pin  
(CGMXFC)  
The CGMXFC pin is required by the loop filter to filter out phase  
corrections. A small external capacitor is connected to this pin.  
NOTE: To prevent noise problems, CF should be placed as close to the  
CGMXFC pin as possible, with minimum routing distances and no  
routing of other signals across the CF connection.  
12-cgm  
MC68HC08AZ0  
118  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
I/O Signals  
PLL analog power  
pin (V  
V
is a power pin used by the analog portions of the PLL. The pin  
DDA  
)
should be connected to the same voltage potential as the VDD pin.  
DDA  
NOTE: Route V  
carefully for maximum noise immunity and place bypass  
DDA  
capacitors as close as possible to the package.  
Oscillator enable  
signal (SIMOSCEN)  
The SIMOSCEN signal comes from the system integration module (SIM)  
and enables the oscillator and PLL.  
Crystal output  
frequency signal  
(CGMXCLK)  
CGMXCLK is the crystal oscillator output signal. It runs at the full speed  
of the crystal (fXCLK) and is generated directly from the crystal oscillator  
circuit. Figure 1 shows only the logical relation of CGMXCLK to OSC1  
and OSC2 and may not represent the actual circuitry. The duty cycle of  
CGMXCLK is unknown and may depend on the crystal and other  
external factors. Also, the frequency and amplitude of CGMXCLK can be  
unstable at start-up.  
CGM base clock  
output (CGMOUT)  
CGMOUT is the clock output of the CGM. This signal goes to the SIM,  
which generates the MCU clocks. CGMOUT is a 50% duty cycle clock  
running at twice the bus frequency. CGMOUT is software programmable  
to be either the oscillator output (CGMXCLK) divided by two or the VCO  
clock (CGMVCLK) divided by two.  
CGM CPU interrupt  
(CGMINT)  
CGMINT is the interrupt signal generated by the PLL lock detector.  
13-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
119  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
CGM registers  
The following registers control and monitor operation of the CGM:  
• PLL control register (PCTL). (See PLL control register (PCTL) on  
page 121).  
• PLL bandwidth control register (PBWC). (See PLL Bandwidth  
control register (PBWC) on page 123).  
• PLL programming register (PPG). (See PLL Programming register  
(PPG) on page 125).  
Figure 4 is a summary of the CGM registers.  
Bit 7  
6
5
4
3
2
1
Bit 0  
1
Read:  
Write:  
Read:  
Write:  
Read:  
Write:  
PLLF  
1
1
1
PCTL  
$001C  
PLLIE  
PLLON  
BCS  
LOCK  
MUL6  
0
0
0
0
PBWC  
$001D  
AUTO  
MUL7  
ACQ  
XLD  
PPG  
$001E  
MUL5  
MUL4  
VRS7  
VRS6  
VRS5  
VRS4  
= Unimplemented  
NOTES:  
1. When AUTO = 0, PLLIE is forced to logic zero and is read-only.  
2. When AUTO = 0, PLLF and LOCK read as logic zero.  
3. When AUTO = 1, ACQ is read-only.  
4. When PLLON = 0 or VRS[7:4] = $0, BCS is forced to logic zero and is read-only.  
5. When PLLON = 1, the PLL programming register is read-only.  
6. When BCS = 1, PLLON is forced set and is read-only.  
Figure 4. CGM I/O Register Summary  
14-cgm  
MC68HC08AZ0  
120  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
CGM registers  
PLL control register  
(PCTL)  
The PLL control register contains the interrupt enable and flag bits, the  
on/off switch, and the base clock selector bit.  
Bit 7  
PLLIE  
0
6
5
PLLON  
1
4
BCS  
0
3
2
1
Bit 0  
1
Read:  
Write:  
Reset:  
PLLF  
1
1
1
PCTL  
$001C  
0
1
1
1
1
= Unimplemented  
Figure 5. PLL control register (PCTL)  
PLLIE — PLL interrupt enable bit  
This read/write bit enables the PLL to generate an interrupt request  
when the LOCK bit toggles, setting the PLL flag, PLLF. When the  
AUTO bit in the PLL bandwidth control register (PBWC) is clear,  
PLLIE cannot be written and reads as ‘0’. Reset clears the PLLIE bit.  
1 = PLL interrupts enabled  
0 = PLL interrupts disabled  
PLLF — PLL interrupt flag bit  
This read-only bit is set whenever the LOCK bit toggles. PLLF  
generates an interrupt request if the PLLIE bit is set also. PLLF  
always reads as ‘0’ when the AUTO bit in the PLL bandwidth control  
register (PBWC) is clear. The PLLF bit should be cleared by reading  
the PLL control register. Reset clears the PLLF bit.  
1 = Change in lock condition  
0 = No change in lock condition  
NOTE: The PLLF bit should not be inadvertently cleared. Any read or  
read-modify-write operation on the PLL control register clears the PLLF  
bit.  
15-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
121  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
PLLON — PLL on bit  
This read/write bit activates the PLL and enables the VCO clock,  
CGMVCLK. PLLON cannot be cleared if the VCO clock is driving the  
base clock, CGMOUT (BCS = 1). See Base clock selector circuit on  
page 116 Reset sets this bit so that the loop can stabilize as the MCU  
is powering up.  
1 = PLL on  
0 = PLL off  
BCS — Base clock select bit  
This read/write bit selects either the crystal oscillator output,  
CGMXCLK, or the VCO clock, CGMVCLK, as the source of the CGM  
output, CGMOUT. CGMOUT frequency is one-half the frequency of  
the selected clock. BCS cannot be set while the PLLON bit is clear.  
After toggling BCS, it may take up to three CGMXCLK and three  
CGMVCLK cycles to complete the transition from one source clock to  
the other. During the transition, CGMOUT is held in stasis. See Base  
clock selector circuit on page 116 Reset and the STOP instruction  
clear the BCS bit.  
1 = CGMOUT driven by CGMVCLK/2  
0 = CGMOUT driven by CGMXCLK/2  
NOTE: PLLON and BCS have built-in protection that prevents the base clock  
selector circuit from selecting the VCO clock as the source of the base  
clock if the PLL is off. Therefore, PLLON cannot be cleared when BCS  
is set, and BCS cannot be set when PLLON is clear. If the PLL is off  
(PLLON = 0), selecting CGMVCLK requires two writes to the PLL control  
register. See Base clock selector circuit on page 116  
PCTL[3:0] — Unimplemented bits  
These bits provide no function and always read as ‘1’.  
16-cgm  
MC68HC08AZ0  
122  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
CGM registers  
PLL Bandwidth  
control register  
(PBWC)  
The PLL bandwidth control register does the following:  
• Selects automatic or manual (software-controlled) bandwidth  
control mode  
• Indicates when the PLL is locked  
• In automatic bandwidth control mode, indicates when the PLL is in  
acquisition or tracking mode  
• In manual operation, forces the PLL into acquisition or tracking  
mode  
Bit 7  
AUTO  
0
6
5
ACQ  
0
4
XLD  
0
3
2
1
Bit 0  
0
Read:  
Write:  
Reset:  
LOCK  
0
0
0
PBWC  
$001D  
0
0
0
0
0
= Unimplemented  
Figure 7. PLL bandwidth control register (PBWC)  
AUTO — Automatic bandwidth control bit  
This read/write bit selects automatic or manual bandwidth control.  
When initializing the PLL for manual operation (AUTO = 0), the ACQ  
bit should be cleared before turning the PLL on. Reset clears the  
AUTO bit.  
1 = Automatic bandwidth control  
0 = Manual bandwidth control  
LOCK — Lock indicator bit  
When the AUTO bit is set, LOCK is a read-only bit that becomes set  
when the VCO clock CGMVCLK, is locked (running at the  
programmed frequency). When the AUTO bit is clear, LOCK reads as  
‘0’ and has no meaning. Reset clears the LOCK bit.  
1 = VCO frequency correct or locked  
0 = VCO frequency incorrect or unlocked  
17-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
123  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
ACQ — Acquisition mode bit  
When the AUTO bit is set, ACQ is a read-only bit that indicates  
whether the PLL is in acquisition mode or tracking mode. When the  
AUTO bit is clear, ACQ is a read/write bit that controls whether the  
PLL is in acquisition or tracking mode.  
In automatic bandwidth control mode (AUTO = 1), the last-written  
value from manual operation is stored in a temporary location and is  
recovered when manual operation resumes. Reset clears this bit,  
enabling acquisition mode.  
1 = Tracking mode  
0 = Acquisition mode  
XLD — Crystal loss detect bit  
When the VCO output, CGMVCLK, is driving CGMOUT, this  
read/write bit indicates whether the crystal reference frequency  
is active or not. To check the status of the crystal reference, the  
following procedure should be followed:  
1. Write a ‘1’ to XLD.  
2. Wait 4 × N cycles. (N is the VCO frequency multiplier.)  
3. Read XLD.  
1 = Crystal reference is not active  
0 = Crystal reference is active  
The crystal loss detect function works only when the BCS bit is set,  
selecting CGMVCLK to drive CGMOUT. When BCS is clear, XLD  
always reads as ‘0’.  
PBWC[3:0] — Reserved for test  
These bits enable test functions not available in user mode. To ensure  
software portability from development systems to user applications,  
software should write zeros to PBWC[3:0] whenever writing to PBWC.  
18-cgm  
MC68HC08AZ0  
124  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
CGM registers  
PLL Programming  
register (PPG)  
The PLL programming register contains the programming information  
for the modulo feedback divider and the programming information for the  
hardware configuration of the VCO.  
Bit 7  
MUL7  
0
6
MUL6  
1
5
MUL5  
1
4
MUL4  
0
3
VRS7  
0
2
VRS6  
1
1
VRS5  
1
Bit 0  
VRS4  
0
Read:  
Write:  
Reset:  
PPG  
$001E  
Figure 8. PLL Programming register (PPG)  
MUL[7:4] — Multiplier select bits  
These read/write bits control the modulo feedback divider that selects  
the VCO frequency multiplier, N. (See PLL circuits on page 112 and  
Programming the PLL on page 115). A value of $0 in the multiplier  
select bits configures the modulo feedback divider the same as a  
value of $1. Reset initializes these bits to $6 to give a default multiply  
value of 6.  
Table 7. VCO frequency multiplier (N) selection  
MUL7:MUL6:MUL5:MUL4  
VCO Frequency Multiplier (N)  
0000  
0001  
0010  
0011  
1
1
2
3
1101  
1110  
1111  
13  
14  
15  
NOTE: The multiplier select bits have built-in protection that prevents them from  
being written when the PLL is on (PLLON = 1).  
19-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
125  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
VRS[7:4] — VCO range select bits  
These read/write bits control the hardware center-of-range linear  
multiplier L, which controls the hardware center-of-range frequency  
f
VRS. (See PLL circuits on page 112, Programming the PLL on page  
115, and PLL control register (PCTL) on page 121).  
1 = VRS[7:4] cannot be written when the PLLON bit in the PLL  
control register (PCTL) is set. (See Special programming  
exceptions on page 116). A value of $0 in the VCO range  
select bits disables the PLL and clears the BCS bit in the  
PCTL. (See Base clock selector circuit on page 116 and  
Special programming exceptions on page 116 for more  
information). Reset initializes the bits to $6 to give a default  
range multiply value of 6.  
NOTE: The VCO range select bits have built-in protection that prevents them  
from being written when the PLL is on (PLLON = 1) and prevents  
selection of the VCO clock as the source of the base clock (BCS = 1) if  
the VCO range select bits are all clear.  
The VCO range select bits must be programmed correctly. Incorrect  
programming may result in failure of the PLL to achieve lock.  
20-cgm  
MC68HC08AZ0  
126  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Interrupts  
Interrupts  
When the AUTO bit is set in the PLL bandwidth control register (PBWC),  
the PLL can generate a CPU interrupt request every time the LOCK bit  
changes state. The PLLIE bit in the PLL control register (PCTL) enables  
CPU interrupts from the PLL. PLLF, the interrupt flag in the PCTL,  
becomes set whether interrupts are enabled or not. When the AUTO bit  
is clear, CPU interrupts from the PLL are disabled and PLLF reads as ‘0’.  
Software should read the LOCK bit after a PLL interrupt request to see  
if the request was due to an entry into lock or an exit from lock. When the  
PLL enters lock, the VCO clock CGMVCLK, divided by two can be  
selected as the CGMOUT source by setting BCS in the PCTL. When the  
PLL exits lock, the VCO clock frequency is corrupt, and appropriate  
precautions should be taken. If the application is not  
frequency-sensitive, interrupts should be disabled to prevent PLL  
interrupt service routines from impeding software performance or from  
exceeding stack limitations.  
NOTE: Software can select CGMVCLK/2 as the CGMOUT source even if the  
PLL is not locked (LOCK = 0). Therefore, software should make sure the  
PLL is locked before setting the BCS bit.  
21-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
127  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Special modes  
The WAIT and STOP instructions put the MCU in  
low-power-consumption standby modes.  
WAIT mode  
The WAIT instruction does not affect the CGM. Before entering WAIT  
mode, software can disengage and turn off the PLL by clearing the BCS  
and PLLON bits in the PLL control register (PCTL). Less power-sensitive  
applications can disengage the PLL without turning it off. Applications  
that require the PLL to wake the MCU from WAIT mode also can  
deselect the PLL output without turning off the PLL.  
STOP mode  
When the STOP instruction executes, the SIM drives the SIMOSCEN  
signal low, disabling the CGM and holding low all CGM outputs  
(CGMXCLK, CGMOUT, and CGMINT).  
If the STOP instruction is executed with the VCO clock, CGMVCLK,  
divided by two driving CGMOUT, the PLL automatically clears the BCS  
bit in the PLL control register (PCTL), thereby selecting the crystal clock,  
CGMXCLK, divided by two as the source of CGMOUT. When the MCU  
recovers from STOP, the crystal clock divided by two drives CGMOUT  
and BCS remains clear.  
22-cgm  
MC68HC08AZ0  
128  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
CGM during break interrupts  
CGM during break interrupts  
The system integration module (SIM) controls whether status bits in  
other modules can be cleared during the break state. The BCFE bit in  
the SIM break flag control register (SBFCR) enables software to clear  
status bits during the break state. See System Integration Module (SIM)  
on page 85.  
To allow software to clear status bits during a break interrupt, a ‘1’ should  
be written to the BCFE bit. If a status bit is cleared during the break state,  
it remains cleared when the MCU exits the break state.  
To protect the PLLF bit during the break state, write a ‘0’ to the BCFE bit.  
With BCFE at ‘0’ (its default state), software can read and write the PLL  
control register during the break state without affecting the PLLF bit.  
23-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
129  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Acquisition/lock time specifications  
The acquisition and lock times of the PLL are, in many applications, the  
most critical PLL design parameters. Proper design and use of the PLL  
ensures the highest stability and lowest acquisition/lock times.  
Acquisition/lock  
time definitions  
Typical control systems refer to the acquisition time or lock time as the  
reaction time of the system, within specified tolerances, to a step input.  
In a PLL, the step input occurs when the PLL is turned on or when it  
suffers a noise hit. The tolerance is usually specified as a percentage of  
the step input or when the output settles to the desired value plus or  
minus a percentage of the frequency change. Therefore, the reaction  
time is constant in this definition, regardless of the size of the step input.  
For example, consider a system with a 5% acquisition time tolerance. If  
a command instructs the system to change from 0Hz to 1MHz, the  
acquisition time is the time taken for the frequency to reach 1MHz ±  
50kHz. 50kHz = 5% of the 1MHz step input. If the system is operating at  
1MHz and suffers a –100kHz noise hit, the acquisition time is the time  
taken to return from 900kHz to 1MHz ± 5kHz. 5kHz = 5% of the 100kHz  
step input.  
Other systems refer to acquisition and lock times as the time the system  
takes to reduce the error between the actual output and the desired  
output to within specified tolerances. Therefore, the acquisition or lock  
time varies according to the original error in the output. Minor errors may  
not even be registered. Typical PLL applications prefer to use this  
definition because the system requires the output frequency to be within  
a certain tolerance of the desired frequency regardless of the size of the  
initial error.  
The discrepancy in these definitions makes it difficult to specify an  
acquisition or lock time for a typical PLL. Therefore, the definitions for  
acquisition and lock times for this module are as follows:  
• Acquisition time, tACQ, is the time the PLL takes to reduce the error  
between the actual output frequency and the desired output  
frequency to less than the tracking mode entry tolerance TRK  
.
Acquisition time is based on an initial frequency error, (fDES  
24-cgm  
MC68HC08AZ0  
130  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Acquisition/lock time specifications  
fORIG)/fDES, of not more than ±100%. In automatic bandwidth  
control mode (see Manual and automatic PLL bandwidth modes  
on page 113), acquisition time expires when the ACQ bit becomes  
set in the PLL bandwidth control register (PBWC).  
• Lock time, tLOCK, is the time the PLL takes to reduce the error  
between the actual output frequency and the desired output  
frequency to less than the lock mode entry tolerance LOCK. Lock  
time is based on an initial frequency error, (fDES – fORIG)/fDES, of not  
more than ±100%. In automatic bandwidth control mode, lock time  
expires when the LOCK bit becomes set in the PLL bandwidth  
control register (PBWC). See Manual and automatic PLL  
bandwidth modes on page 113.  
Obviously, the acquisition and lock times can vary according to how  
large the frequency error is and may be shorter or longer in many cases.  
Parametric  
influences on  
reaction time  
Acquisition and lock times are designed to be as short as possible while  
still providing the highest possible stability. These reaction times are not  
constant, however. Many factors directly and indirectly affect the  
acquisition time.  
The most critical parameter which affects the reaction times of the PLL  
is the reference frequency, fRDV. This frequency is the input to the phase  
detector and controls how often the PLL makes corrections. For stability,  
the corrections must be small compared to the desired frequency, so  
several corrections are required to reduce the frequency error.  
Therefore, the slower the reference the longer it takes to make these  
corrections. This parameter is also under user control via the choice of  
crystal frequency fXCLK  
.
Another critical parameter is the external filter capacitor. The PLL  
modifies the voltage on the VCO by adding or subtracting charge from  
this capacitor. Therefore, the rate at which the voltage changes for a  
given frequency error (thus change in charge) is proportional to the  
capacitor size. The size of the capacitor also is related to the stability of  
the PLL. If the capacitor is too small, the PLL cannot make small enough  
adjustments to the voltage and the system cannot lock. If the capacitor  
25-cgm  
MC68HC08AZ0  
MOTOROLA  
Clock Generator Module (CGM)  
131  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
is too large, the PLL may not be able to adjust the voltage in a  
reasonable time. See Choosing a filter capacitor on page 132.  
Also important is the operating voltage potential applied to VDDA. The  
power supply potential alters the characteristics of the PLL. A fixed value  
is best. Variable supplies, such as batteries, are acceptable if they vary  
within a known range at very slow speeds. Noise on the power supply is  
not acceptable, because it causes small frequency errors which  
continually change the acquisition time of the PLL.  
Temperature and processing also can affect acquisition time because  
the electrical characteristics of the PLL change. The part operates as  
specified as long as these influences stay within the specified limits.  
External factors, however, can cause drastic changes in the operation of  
the PLL. These factors include noise injected into the PLL through the  
filter capacitor, filter capacitor leakage, stray impedances on the circuit  
board, and even humidity or circuit board contamination.  
Choosing a filter  
capacitor  
As described in Parametric influences on reaction time on page 131, the  
external filter capacitor CF is critical to the stability and reaction time of  
the PLL. The PLL is also dependent on reference frequency and supply  
voltage. The value of the capacitor must, therefore, be chosen with  
supply potential and reference frequency in mind. For proper operation,  
the external filter capacitor must be chosen according to the following  
equation:  
V
DDA  
---------------  
C = C  
F
FACT  
f
RDV  
For the value of VDDA, the voltage potential at which the MCU is operating  
should be used. If the power supply is variable, choose a value near the  
middle of the range of possible supply values.  
This equation does not always yield a commonly available capacitor  
size, so round to the nearest available size. If the value is between two  
different sizes, choose the higher value for better stability. Choosing the  
lower size may seem attractive for acquisition time improvement, but the  
26-cgm  
MC68HC08AZ0  
132  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
Acquisition/lock time specifications  
PLL may become unstable. Also, always choose a capacitor with a tight  
tolerance (±20% or better) and low dissipation.  
Reaction time  
calculation  
The actual acquisition and lock times can be calculated using the  
equations below. These equations yield nominal values under the  
following conditions:  
• Correct selection of filter capacitor, CF, (see Choosing a filter  
capacitor on page 132)  
• Room temperature operation  
• Negligible external leakage on CGMXFC  
• Negligible noise  
The K factor in the equations is derived from internal PLL parameters.  
K
K
ACQ is the K factor when the PLL is configured in acquisition mode, and  
TRK is the K factor when the PLL is configured in tracking mode. See  
Acquisition and tracking modes on page 113.  
V
8
DDA  
--------------- ---------------  
t
=
ACQ  
f
K
RDV  
ACQ  
V
4
DDA  
--------------- --------------  
t
=
AL  
f
K
RDV  
RTK  
t
= t  
+ t  
ACQ AL  
LOCK  
Note the inverse proportionality between the lock time and the reference  
frequency.  
In automatic bandwidth control mode the acquisition and lock times are  
quantized into units based on the reference frequency. <blue>See  
Manual and automatic PLL bandwidth modes. A certain number of clock  
cycles, nACQ, is required to ascertain whether the PLL is within the  
tracking mode entry tolerance TRK, before exiting acquisition mode.  
Also, a certain number of clock cycles, nTRK, is required to ascertain  
whether the PLL is within the lock mode entry tolerance LOCK  
.
Therefore, the acquisition time tACQ, is an integer multiple of nACQ/fRDV  
,
27-cgm  
MC68HC08AZ0  
133  
MOTOROLA  
Clock Generator Module (CGM)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Clock Generator Module (CGM)  
and the acquisition to lock time tAL, is an integer multiple of nTRK/fRDV  
.
Also, since the average frequency over the entire measurement period  
must be within the specified tolerance, the total time usually is longer  
than tLOCK as calculated above.  
In manual mode, it is usually necessary to wait considerably longer than  
tLOCK before selecting the PLL clock (see Base clock selector circuit on  
page 116), because the factors described in Parametric influences on  
reaction time on page 131 may slow the lock time considerably.  
Table 8. CGM component specifications  
Characteristic  
Symbol Min  
Typ.  
Max  
Notes  
Crystal load capacitance  
Crystal fixed capacitance  
C
Consult crystal mfg. data  
Consult crystal mfg. data  
L
C
2 * C  
2 * C  
f
L
Crystal tuning  
capacitance  
C
Consult crystal mfg. data  
2
B
S
L
Feedback bias resistor  
Series resistor  
R
R
0
22MΩ  
330kΩ  
1M  
Not required  
Filter capacitor  
C
C
* (V / f )  
DDA XCLK  
F
FACT  
Filter capacitor multiply  
factor  
C
0.0154 F/sV  
F/sV  
FACT  
C
must provide low  
BYP  
AC impedance from f =  
/100 to 100 *f ,  
XCLK  
Bypass capacitor  
C
0.1 µF  
f
BYP  
XCLK  
so series resistance  
must be considered  
28-cgm  
MC68HC08AZ0  
134  
Clock Generator Module (CGM)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Mask Options  
Mask Options  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136  
Introduction  
This section describes the mask options and the two mask option  
registers. The mask options are hardwired connections specified by  
Motorola. The options control the enable or disable of the following  
functions:  
• Resets caused by the LVI module  
• Power to the LVI module  
• Stop mode recovery time (32 CGMXCLK cycles or 4096  
CGMXCLK cycles)  
1
• ROM security  
• STOP instruction  
• Computer operating properly (COP) module enable  
• EEPROM security  
1. No security feature is absolutely secure. However, Motorola’s strategy is to make reading or  
copying the ROM data difficult for unauthorized users.  
There is no user-defined ROM on the MC68HC08AZ0.  
1-maskops  
MC68HC08AZ0  
MOTOROLA  
Mask Options  
135  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Mask Options  
MC68HC08AZ0 options  
On the MC68HC08AZ0 the mask options are fixed as the following:  
• LVI is enabled in STOP  
• ROM security is disabled  
• LVI reset is enabled  
• Stop mode recovery is long  
• COP timeout is long  
• Stop mode is enabled  
• Watchdog is enabled  
• EEPROM security function is enabled  
Functional description  
Bit 7  
6
5
4
3
2
1
Bit 0  
COPD  
R
Read:  
Write:  
Reset:  
LVISTOP ROMSEC LVIRSTD LVIPWRD SSREC COPRS STOP  
MORA  
$001F  
R
R
R
R
R
R
R
Unaffected by reset  
Figure 9. Mask option register A (MORA)  
LVISTOP — LVI Stop Mode Enable Bit  
LVISTOP enables the LVI module in stop mode. See  
Low-Voltage Inhibit (LVI) on page 165.  
1 = LVI enabled during stop mode  
0 = LVI disabled during stop mode  
The LVI is enabled in stop mode on the on the MC68HC08AZ0.  
2-maskops  
MC68HC08AZ0  
136  
Mask Options  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Mask Options  
Functional description  
SEC — ROM security bit  
SEC enables the ROM security feature. Setting the SEC bit prevents  
access to the ROM contents.  
1 = ROM security enabled  
0 = ROM security disabled  
The ROM security feature is disabled on the MC68HC08AZ0.  
LVIRSTD — LVI reset disable bit  
LVIRSTD disables the reset signal from the LVI module. See  
Low-Voltage Inhibit (LVI) on page 165.  
1 = LVI module resets disabled  
0 = LVI module resets enabled  
The reset signal from the LVI module is enabled on the MC68HC08AZ0  
.
LVIPWRD — LVI power disable bit  
LVIPWRD disables the LVI module. See Low-Voltage Inhibit (LVI) on  
page 165.  
1 = LVI module power disabled  
0 = LVI module power enabled  
The LVI module power is enabled on the MC68HC08AZ0.  
SSREC — Short stop recovery bit  
SSREC enables the CPU to exit stop mode with a delay of 32  
CGMXCLK cycles instead of a 4096 CGMXCLK cycle delay.  
1 = STOP mode recovery after 32 CGMXCLK cycles  
0 = STOP mode recovery after 4096 CGMXCLK cycles  
If using an external crystal oscillator, the SSREC bit should not be set.  
STOP mode recovery is after 4096 CGMXCLK cycles on the  
MC68HC08AZ0.  
COPRS — COP rate select  
COPRS is similar to COPL (please note that the logic is reversed) as  
it determines the timeout period for the COP.  
18  
4
1 = COP timeout period is 2 — 2 CGMXCLK cycles.  
13  
4
0 = COP timeout period is 2 — 2 CGMXCLK cycles.  
18  
4
The COP mode timeout period is 2 — 2 CGMXCLK cycles on the  
MC68HC08AZ0.  
3-maskops  
MC68HC08AZ0  
MOTOROLA  
Mask Options  
137  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Mask Options  
STOP — STOP enable bit  
STOP enables the STOP instruction.  
1 = STOP instruction enabled  
0 = STOP instruction treated as illegal opcode  
The STOP instruction is enabled on the MC68HC08AZ0.  
COPD — COP disable bit  
COPD disables the COP module. See  
Computer Operating Properly Module (COP) on page 159.  
1 = COP module disabled  
0 = COP module enabled  
The COP module is enabled on the MC68HC08AZ0.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
EESEC  
MORB  
$003F  
Unaffected by reset  
= Unimplemented  
Figure 10. Mask option register B (MORB)  
EESEC — EEPROM security enable bit.  
EESEC enables the EEPROM security function. Setting EESEC  
prevents program/erase access to locations $8F0 – $8FF of the  
EEPROM array and to the EEACR/EENVR configuration registers.  
See MC68HC08AZ0 EEPROM Security on page 61  
1 = EEPROM security function enabled  
0 = EEPROM security function disabled  
The EEPROM security function on the MC68HC08AZ0 is enabled.  
Extra care should be exercised when selecting mask option  
registers since other HC08 family parts may have different options.  
If in doubt, check with your local field applications representative.  
4-maskops  
MC68HC08AZ0  
138  
Mask Options  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Break Module  
Break Module  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140  
Flag protection during break interrupts . . . . . . . . . . . . . . . . . . . . . 141  
CPU during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142  
TIM and PIT during break interrupts . . . . . . . . . . . . . . . . . . . . . . . 142  
COP during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142  
Break module registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143  
Break status and control register (BRKSCR) . . . . . . . . . . . . . . . . 143  
Break address registers (BRKH and BRKL) . . . . . . . . . . . . . . . . . 144  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145  
Introduction  
This section describes the break module. The break module can  
generate a break interrupt which stops normal program flow at a defined  
address in order to begin execution of a background program.  
1-brk  
MC68HC08AZ0  
MOTOROLA  
Break Module  
139  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Break Module  
Features  
Features of the break module include the following:  
• Accessible I/O registers during the break interrupt  
• CPU- and DMA-generated break Interrupts  
• Software-generated break interrupts  
• COP disabling during break interrupts  
Functional description  
When the internal address bus matches the value written in the break  
address registers, the break module issues a breakpoint signal (BKPT)  
to the SIM. The SIM then causes the CPU to load the instruction register  
with a software interrupt instruction (SWI) after completion of the current  
CPU instruction. The program counter vectors to $FFFC and $FFFD  
($FEFC and $FEFD in monitor mode).  
The following events can cause a break interrupt to occur:  
• A CPU-generated address (the address in the program counter)  
matches the contents of the break address registers.  
• A DMA-generated address matches the contents of the break  
address registers during a DMA transfer.  
• Software writes a ‘1’ to the BRKA bit in the break status and  
control register (BRKSCR).  
When a CPU- or DMA-generated address matches the contents of the  
break address registers, the break interrupt begins after the CPU  
completes its current instruction. A return from interrupt instruction (RTI)  
in the break routine ends the break interrupt and returns the MCU to  
normal operation. Figure 11 shows the structure of the break module.  
2-brk  
MC68HC08AZ0  
140  
Break Module  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Break Module  
Functional description  
IAB[15:8]  
BREAK ADDRESS REGISTER HIGH  
8-BIT COMPARATOR  
IAB[15:0]  
CONTROL  
BKPT  
(TO SIM)  
8-BIT COMPARATOR  
BREAK ADDRESS REGISTER LOW  
IAB[7:0]  
Figure 11. Break module block diagram  
Table 1. Break I/O register summary  
Register Name  
Bit 7  
6
14  
6
5
13  
5
4
12  
4
3
11  
3
2
10  
2
1
9
1
Bit 0 Addr.  
Bit 8 $FE0C  
Bit 0 $FE0D  
$FE0E  
Break Address Register High (BRKH) Bit 15  
Break Address Register Low (BRKL) Bit 7  
Break Status/Control Register (BRKSCR) BRKE BRKA  
= Unimplemented  
Flag protection  
during break  
interrupts  
The system integration module (SIM) controls whether or not module  
status bits can be cleared during the break state. The BCFE bit in the  
SIM break flag control register (SBFCR) enables software to clear status  
bits during the break state. See SIM break flag control register (SBFCR)  
on page 106, and the Break Interrupts subsection for each module.  
3-brk  
MC68HC08AZ0  
MOTOROLA  
Break Module  
141  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Break Module  
CPU during break  
interrupts  
The CPU starts a break interrupt by:  
• Loading the instruction register with the SWI instruction  
• Loading the program counter with $FFFC:$FFFD ($FEFC:$FEFD  
in monitor mode)  
The break interrupt begins after completion of the CPU instruction in  
progress. If the break address register match occurs on the last cycle of  
a CPU instruction, the break interrupt begins immediately.  
DMA during break  
interrupts  
During a break interrupt, the DMA is inactive.  
If a DMA-generated address matches the contents of the break address  
registers, a break interrupt begins at the end of the current CPU  
instruction.  
If a break interrupt is asserted during the current address cycle and the  
DMA is active, the DMA releases the internal address and data buses at  
the next address boundary to preserve the current MCU state. During  
the break interrupt, the DMA continues to arbitrate DMA channel  
priorities. After the break interrupt, the DMA becomes active again and  
resumes transferring data according to its highest priority service  
request.  
TIM and PIT during  
break interrupts  
A break interrupt stops the timer counter.  
COP during break  
interrupts  
The COP is disabled during a break interrupt when VHI is present on the  
RST pin.  
4-brk  
MC68HC08AZ0  
142  
Break Module  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Break Module  
Break module registers  
Break module registers  
Three registers control and monitor operation of the break module:  
• Break status and control register (BRKSCR)  
• Break address register high (BRKH)  
• Break address register low (BRKL)  
Break status and  
control register  
(BRKSCR)  
The break status and control register contains break module enable and  
status bits.  
Bit 7  
BRKE  
0
6
BRKA  
0
5
4
3
2
1
Bit 0  
0
Read:  
Write:  
Reset:  
0
0
0
0
0
BRKSCR  
$FE0E  
0
0
0
0
0
0
= Unimplemented  
Figure 12. Break status and control register (BRKSCR)  
BRKE — Break enable bit  
This read/write bit enables breaks on break address register matches.  
BRKE is cleared by writing a ‘0’ to bit 7. Reset clears the BRKE bit.  
1 = Breaks enabled on 16-bit address match  
0 = Breaks disabled on 16-bit address match  
BRKA — Break active bit  
This read/write status and control bit is set when a break address  
match occurs. Writing a ‘1’ to BRKA generates a break interrupt.  
BRKA is cleared by writing a ‘0’ to it before exiting the break routine.  
Reset clears the BRKA bit.  
1 = Break address match  
0 = No break address match  
5-brk  
MC68HC08AZ0  
MOTOROLA  
Break Module  
143  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Break Module  
Break address  
registers (BRKH  
and BRKL)  
The break address registers contain the high and low bytes of the  
desired breakpoint address. Reset clears the break address registers.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
BRKH  
$FE0C  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
0
0
6
0
5
0
4
0
3
0
2
0
1
0
Bit 7  
Bit 0  
Read:  
Write:  
Reset:  
BRKL  
$FE0D  
Bit 7  
0
6
0
5
0
4
0
3
0
2
0
1
0
Bit 0  
0
Figure 13. Break address registers (BRKH and BRKL)  
6-brk  
MC68HC08AZ0  
144  
Break Module  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Break Module  
Low-power modes  
Low-power modes  
The WAIT and STOP instructions put the MCU in  
low-power-consumption standby modes.  
Wait Mode  
If enabled, the break module is active in wait mode. The SIM break  
stop/wait bit (SBSW) in the SIM break status register indicates whether  
wait was exited by a break interrupt. If so, the user can modify the return  
address on the stack by subtracting one from it. (See  
System Integration Module (SIM) on page 85).  
Stop Mode  
The break module is inactive in stop mode. The STOP instruction does  
not affect break module register states. A break interrupt will cause an  
exit from stop mode and sets the SBSW bit in the SIM break status  
register.  
7-brk  
MC68HC08AZ0  
MOTOROLA  
Break Module  
145  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Break Module  
8-brk  
MC68HC08AZ0  
146  
Break Module  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Monitor ROM  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148  
Entering monitor mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150  
Data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151  
Echoing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152  
Break signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152  
Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152  
Baud rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155  
Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157  
Introduction  
This section describes the monitor ROM (MON08). The monitor ROM  
allows complete testing of the MCU through a single-wire interface with  
a host computer.  
1-mon  
MC68HC08AZ0  
MOTOROLA  
Monitor ROM (MON)  
147  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Features  
Features of the monitor ROM include the following:  
• Normal user-mode pin functionality  
• One pin dedicated to serial communication between monitor ROM  
and host computer  
• Standard mark/space non-return-to-zero (NRZ) communication  
with host computer  
• Up to 28.8K baud communication with host computer  
• Execution of code in RAM  
• EEPROM programming  
Functional description  
The monitor ROM receives and executes commands from a host  
computer. Figure 1 shows a sample circuit used to enter monitor mode  
and communicate with a host computer via a standard RS-232 interface.  
In monitor mode, the MCU can execute host-computer code in RAM  
while all MCU pins except PTA0 retain normal operating mode functions.  
All communication between the host computer and the MCU is through  
the PTA0 pin. A level-shifting and multiplexing interface is required  
between PTA0 and the host computer. PTA0 is used in a wired-OR  
configuration and requires a pull-up resistor.  
2-mon  
MC68HC08AZ0  
148  
Monitor ROM (MON)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Functional description  
VDD  
68HC08  
10 kΩ  
RST  
0.1 µF  
VHI  
10 Ω  
IRQ  
VDDA  
VDDA  
CGMXFC  
0.1 µF  
1
20  
MC145407  
+
+
+
+
10 µF  
10 µF  
10 µF  
10 µF  
OSC1  
OSC2  
3
4
18  
17  
20 pF  
10 MΩ  
X1  
4.9152 MHz  
20 pF  
V
2
19  
SSA  
VSS  
DB-25  
2
5
6
16  
15  
3
7
VDD  
VDD  
0.1 µF  
VDD  
14  
VDD  
1
2
6
4
MC68HC125  
10 kΩ  
3
5
PTA0  
PTC3  
VDD  
VDD  
10 kΩ  
7
10 kΩ  
A
PTC0  
PTC1  
(See  
NOTE.)  
B
NOTE: Position A — Bus clock = CGMXCLK ÷ 4 or CGMVCLK ÷ 4  
Position B — Bus clock = CGMXCLK ÷ 2  
Figure 1. Monitor mode circuit  
3-mon  
MC68HC08AZ0  
149  
MOTOROLA  
Monitor ROM (MON)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Entering monitor  
mode  
Table 1 shows the pin conditions for entering monitor mode.  
Table 1. Mode selection  
Bus  
Frequency  
Mode  
CGMOUT  
CGMXCLK  
CGMVCLK  
CGMOUT  
--------------------------  
2
VHI  
VHI  
1
1
0
0
1
1
1
0
Monitor  
Monitor  
----------------------------- or -----------------------------  
2
2
CGMOUT  
--------------------------  
2
CGMXCLK  
Enter monitor mode by either  
• Executing a software interrupt instruction (SWI) or  
• Applying a ‘0’ and then a ‘1’ to the RST pin.  
Once out of reset, the MCU waits for the host to send eight security bytes  
(see Security on page 157). After the security bytes, the MCU sends a  
break signal (10 consecutive ‘0’s) to the host computer, indicating that it  
is ready to receive a command.  
Monitor mode uses alternate vectors for reset, SWI, and break interrupt.  
The alternate vectors are in the $FE page instead of the $FF page and  
allow code execution from the internal monitor firmware instead of user  
code. The COP module is disabled in monitor mode as long as VHI (see  
5.0 Volt DC Electrical Characteristics on page 400), is applied to either  
the IRQ pin or the RST pin. See System Integration Module (SIM) on  
page 85 for more information on modes of operation.  
NOTE: Holding the PTC3 pin low when entering monitor mode causes a bypass  
of a divide-by-two stage at the oscillator. The CGMOUT frequency is  
equal to the CGMXCLK frequency, and the OSC1 input directly  
generates internal bus clocks. In this case, the OSC1 signal must have  
a 50% duty cycle at maximum bus frequency.  
4-mon  
MC68HC08AZ0  
150  
Monitor ROM (MON)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Functional description  
Table 2 is a summary of the differences between user mode and monitor  
mode.  
Table 2. Mode differences  
Functions  
Reset  
Vector  
High  
Reset  
Vector  
Low  
Break  
Vector  
High  
Break  
Vector  
Low  
SWI  
Vector  
High  
SWI  
Vector  
Low  
Modes  
COP  
User  
Enabled  
$FFFE  
$FEFE  
$FFFF  
$FEFF  
$FFFC  
$FEFC  
$FFFD  
$FEFD  
$FFFC  
$FEFC  
$FFFD  
$FEFD  
(1)  
Monitor  
Disabled  
1. If the high voltage (VHI) is removed from the IRQ/VPP pin or the RST pin, the SIM asserts its COP enable  
output. The COP is a mask option enabled or disabled by the COPD bit in the mask option register. See  
5.0 Volt DC Electrical Characteristics on page 400.  
Data format  
Communication with the monitor ROM is in standard non-return-to-zero  
(NRZ) mark/space data format. (See Figure 2 and Figure 3).  
NEXT  
START  
BIT  
START  
BIT  
STOP  
BIT  
BIT 0  
BIT 1  
BIT 2  
BIT 3  
BIT 4  
BIT 5  
BIT 6  
BIT 7  
Figure 2. Monitor data format  
NEXT  
START  
BIT  
START  
STOP  
$A5  
BIT 0  
BIT 1  
BIT 2  
BIT 2  
BIT 3  
BIT 3  
BIT 4  
BIT 4  
BIT 5  
BIT 5  
BIT 6  
BIT 6  
BIT 7  
BIT  
BIT  
STOP  
BIT  
START  
BIT  
NEXT  
START  
BIT  
BREAK  
BIT 0  
BIT 1  
BIT 7  
Figure 3. Sample monitor waveforms  
The data transmit and receive rate can be anywhere from 4800 baud to  
28.8K baud. Transmit and receive baud rates must be identical.  
5-mon  
MC68HC08AZ0  
MOTOROLA  
Monitor ROM (MON)  
151  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Echoing  
The monitor ROM immediately echoes each received byte back to the  
PTA0 pin for error checking, as shown in Figure 4.  
SENT TO  
MONITOR  
ADDR. LOW  
READ  
READ  
ADDR. HIGH ADDR. HIGH  
DATA  
ADDR. LOW  
ECHO  
RESULT  
Figure 4. Read transaction  
Any result of a command appears after the echo of the last byte of the  
command.  
Break signal  
A break signal is a start bit followed by nine low bits. This is shown in  
Figure 4. When the monitor receives a break signal, it drives the PTA0  
pin high for the duration of two bits before echoing the break signal.  
MISSING STOP BIT  
TWO-STOP-BIT DELAY BEFORE ZERO ECHO  
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
Figure 5. Break transaction  
Co m m a nd s  
The monitor ROM uses the following commands:  
• READ (read memory)  
• WRITE (write memory)  
• IREAD (indexed read)  
• IWRITE (indexed write)  
• READSP (read stack pointer)  
• RUN (run user program)  
6-mon  
MC68HC08AZ0  
152  
Monitor ROM (MON)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Functional description  
Table 3. READ (read memory) command  
Description  
Operand  
Read byte from memory  
Specifies 2-byte address in high byte:low byte order  
Returns contents of specified address  
$4A  
Data returned  
Opcode  
Command sequence  
SENT TO  
MONITOR  
READ  
READ  
ADDR. HIGH ADDR. HIGH ADDR. LOW ADDR. LOW  
DATA  
ECHO  
RESULT  
Table 4. WRITE (write memory) command  
Description  
Write byte to memory  
Operand  
Specifies 2-byte address in high byte:low byte order; low byte followed by data byte  
Data returned  
Opcode  
None  
$49  
Command sequence  
SENT TO  
MONITOR  
WRITE  
ECHO  
WRITE  
ADDR. HIGH  
ADDR. LOW ADDR. LOW  
DATA  
DATA  
ADDR. HIGH  
7-mon  
MC68HC08AZ0  
153  
MOTOROLA  
Monitor ROM (MON)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Table 5. IREAD (indexed read) command  
Description  
Operand  
Read next 2 bytes in memory from last address accessed  
Specifies 2-byte address in high byte:low byte order  
Returns contents of next two addresses  
$1A  
Data returned  
Opcode  
Command sequence  
SENT TO  
MONITOR  
IREAD  
IREAD  
DATA  
DATA  
RESULT  
ECHO  
Table 6. IWRITE (indexed write) command  
Description  
Operand  
Write to last address accessed + 1  
Specifies single data byte  
Data returned  
Opcode  
None  
$19  
Command sequence  
SENT TO  
MONITOR  
IWRITE  
IWRITE  
DATA  
DATA  
ECHO  
8-mon  
MC68HC08AZ0  
154  
Monitor ROM (MON)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Functional description  
A sequence of IREAD or IWRITE commands can sequentially access a  
block of memory over the full 64K byte memory map.  
Table 7. READSP (read stack pointer) command  
Description  
Operand  
Reads stack pointer  
None  
Data returned  
Opcode  
Returns stack pointer in high byte:low byte order  
$0C  
Command sequence  
SENT TO  
MONITOR  
READSP  
READSP  
SP HIGH  
SP LOW  
RESULT  
ECHO  
Table 8. RUN (run user program) command  
Description  
Operand  
Executes RTI instruction  
None  
None  
$28  
Data returned  
Opcode  
Command sequence  
SENT TO  
MONITOR  
RUN  
RUN  
ECHO  
Baud rate  
With a 4.9152MHz crystal and the PTC3 pin at ‘1’ during reset, data is  
transferred between the monitor and host at 4800 baud. If the PTC3 pin  
is at ‘0’ during reset, the monitor baud rate is 9600. When the CGM  
output, CGMOUT, is driven by the PLL, the baud rate is determined by  
9-mon  
MC68HC08AZ0  
MOTOROLA  
Monitor ROM (MON)  
155  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
the MUL[7:4] bits in the PLL programming register (PPG). Refer to  
Clock Generator Module (CGM) on page 107.  
Table 9. Monitor Baud Rate Selection  
VCO Frequency Multiplier (N)  
Monitor  
Baud Rate  
1
2
3
4
5
6
4.9152 MHz  
4.194 MHz  
4800  
4096  
9600  
8192  
14,400  
12,288  
19,200  
16,384  
24,000  
20,480  
28,800  
24,576  
Later revisions feature a monitor mode which is optimised to operate  
with either a 4.1952MHz crystal clock source (or multiples of  
4.1952MHz) or a 4MHz crystal (or multiples of 4MHz). This supports  
designs which use the MSCAN module, which is generally clocked from  
a 4MHz, 8MHz or 16MHz crystal. The table below outlines the available  
baud rates for a range of crystals and how they can match to a PC baud  
rate.  
Table 10  
Baud rate  
Closest PC baud PC  
Error %  
Clock freq  
32kHz  
PTC3=0  
PTC3=1  
28.98  
PTC3=0  
57.6  
PTC3=1  
28.8  
PTC3=0 PTC3=1  
57.97  
1811.59  
3623.19  
7246.37  
7597.83  
8904.35  
14492.72  
0.64  
0.64  
0.64  
0.64  
1.08  
0.49  
0.64  
0.64  
0.63  
0.64  
0.64  
0.64  
1.08  
0.50  
0.64  
0.64  
1MHz  
905.80  
1800  
900  
2MHz  
1811.59  
3623.19  
3798.91  
4452.17  
7246.37  
3600  
1800  
3600  
3840  
4430  
7200  
14400  
4MHz  
7200  
4.194MHz  
4.9152MHz  
8MHz  
7680  
8861  
14400  
28800  
16MHz  
28985.51 14492.75  
Care should be taken when setting the baud rate since incorrect  
baud rate setting can result in communications failure.  
10-mon  
MC68HC08AZ0  
156  
Monitor ROM (MON)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
Functional description  
Security  
A security feature discourages unauthorized reading of ROM locations  
while in monitor mode. The host can bypass the security feature at  
monitor mode entry by sending eight security bytes that match the byte  
locations $FFF6–$FFFD. Locations $FFF6–$FFFD contain  
user-defined data.  
NOTE: Do not leave locations $FFF6–$FFFD blank. For security reasons, enter  
data at locations $FFF6–$FFFD even if they are not used for vectors.  
During monitor mode entry, the MCU waits after the power-on reset for  
the host to send the eight security bytes on pin PA0.  
If the received bytes match those at locations $FFF6–$FFFD, the host  
bypasses the security feature and can read all ROM locations and  
execute code from ROM. Security remains bypassed until a power-on  
reset occurs. After the host bypasses security, any reset other than a  
power-on reset requires the host to send another eight bytes. If the reset  
was not a power-on reset, security remains bypassed regardless of the  
data that the host sends.  
If the received bytes do not match the data at locations $FFF6–$FFFD,  
the host fails to bypass the security feature. The MCU remains in monitor  
mode, but reading ROM locations returns undefined data, and trying to  
execute code from ROM causes an illegal address reset. After the host  
fails to bypass security, any reset other than a power-on reset causes an  
endless loop of illegal address resets.  
After receiving the eight security bytes from the host, the MCU transmits  
a break character signalling that it is ready to receive a command.  
NOTE: The MCU does not transmit a break character until after the host sends  
the eight security bytes.  
11-mon  
MC68HC08AZ0  
MOTOROLA  
Monitor ROM (MON)  
157  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM (MON)  
V
DD  
4096 + 32 CGMXCLK CYCLES  
24 CGMXCLK CYCLES  
RST  
PA7  
256 CGMXCLK CYCLES (ONE BIT TIME)  
FROM HOST  
FROM MCU  
PA0  
1
1
4
1
4
2
1
NOTE: 1 = Echo delay (2 bit times)  
2 = Data return delay (2 bit times)  
4 = Wait 1 bit time before sending next byte.  
Figure 6. Monitor mode entry timing  
12-mon  
MC68HC08AZ0  
158  
Monitor ROM (MON)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Computer Operating Properly Module (COP)  
COP  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
CGMXCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
STOP instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
COPCTL write. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
Power-on reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
Internal reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
Reset vector fetch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
COPD (COP disable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
COP Control register (COPCTL). . . . . . . . . . . . . . . . . . . . . . . . . . . . 163  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163  
Monitor mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164  
STOP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164  
COP module during break interrupts. . . . . . . . . . . . . . . . . . . . . . . . . 164  
Introduction  
This section describes the computer operating properly (COP) module,  
a free-running counter that generates a reset if allowed to overflow. The  
COP module helps software recover from runaway code. COP resets  
can be prevented by periodically clearing the COP counter.  
1-cop  
MC68HC08AZ0  
MOTOROLA  
Computer Operating Properly Module (COP)  
159  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Computer Operating Properly Module (COP)  
Functional description  
Figure 1 shows the structure of the COP module.  
RESET  
12-BIT COP PRESCALER  
CGMXCLK  
RESET STATUS REGISTER  
STOP INSTRUCTION  
INTERNAL RESET SOURCES  
RESET VECTOR FETCH  
(1)  
COPCTL WRITE  
COPMODULE  
COPEN (FROM SIM)  
COPD (FROM MOR)  
6-BIT COP COUNTER  
RESET  
CLEAR  
COP COUNTER  
COPCTL WRITE  
NOTE:1. See Active resets from internal sources on page 91.  
Figure 1. COP block diagram  
2-cop  
MC68HC08AZ0  
160  
Computer Operating Properly Module (COP)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Computer Operating Properly Module (COP)  
Functional description  
Table 1. COP I/O register summary  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0 Addr.  
COP Control Register (COPCTL)  
$FFFF  
The COP counter is a free-running 6-bit counter preceded by a12-bit  
prescaler. If not cleared by software, the COP counter overflows and  
13  
4
18  
4
generates an asynchronous reset after 2 – 2 , or 2 – 2 CGMXCLK  
cycles, depending on the state of the COP rate select bit, COPRS in  
MORA. When COPRS = 1, a 4.9152 MHz crystal, gives a COP timeout  
period of 53.3ms. Writing any value to location $FFFF before overflow  
occurs prevents a COP reset by clearing the COP counter and stages 5  
through 12 of the prescaler.  
NOTE: In Expanded mode location $FFFF will be external to the MCU.  
Therefore during the COP clearing operation, the peripheral located at  
$FFFF will also be written to.  
A COP reset pulls the RST pin low for 32 CGMXCLK cycles and sets the  
COP bit in the SIM reset status register (SRSR). See SIM reset status  
register (SRSR) on page 105.The COP should be cleared immediately  
before entering or after exiting STOP mode to assure a full COP timeout  
period. A CPU interrupt routine or a DMA service routine can be used to  
clear the COP.  
NOTE: COP clearing instructions should be placed in the main program and not  
in an interrupt subroutine. Such an interrupt subroutine could keep the  
COP from generating a reset even while the main program is not working  
properly.  
3-cop  
MC68HC08AZ0  
MOTOROLA  
Computer Operating Properly Module (COP)  
161  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Computer Operating Properly Module (COP)  
I/O Signals  
The following paragraphs describe the signals shown in Figure 1.  
CGMXCLK  
CGMXCLK is the crystal oscillator output signal. The CGMXCLK  
frequency is equal to the crystal frequency.  
STOP instruction  
COPCTL write  
The STOP instruction clears the COP prescaler.  
Writing any value to the COP control register (COPCTL) (see COP  
Control register (COPCTL) on page 163), clears the COP counter and  
clears bits 12 – 4 of the SIM counter. Reading the COP control register  
returns the reset vector.  
Power-on reset  
The power-on reset (POR) circuit in the SIM clears the SIM counter 4096  
CGMXCLK cycles after power-up.  
Internal reset  
An internal reset clears the COP prescaler and the COP counter.  
Reset vector fetch  
A reset vector fetch occurs when the vector address appears on the data  
bus. A reset vector fetch clears the COP prescaler.  
COPD (COP  
disable)  
The COPD signal reflects the state of the COP disable bit (COPD) in the  
mask option register (MORA). See Mask Options on page 135  
4-cop  
MC68HC08AZ0  
162  
Computer Operating Properly Module (COP)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Computer Operating Properly Module (COP)  
COP Control register (COPCTL)  
COP Control register (COPCTL)  
The COP control register is located at address $FFFF and overlaps the  
reset vector. Writing any value to $FFFF clears the COP counter and  
starts a new timeout period. Reading location $FFFF returns the low  
byte of the reset vector.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Low byte of reset vector  
Clear COP counter  
Unaffected by reset  
COPCTL  
$FFFF  
Figure 2. COP control register (COPCTL)  
Interrupts  
The COP does not generate CPU interrupt requests or DMA service  
requests.  
Monitor mode  
The COP is disabled in monitor mode when VHI is present on the IRQ pin  
or on the RST pin.  
5-cop  
MC68HC08AZ0  
MOTOROLA  
Computer Operating Properly Module (COP)  
163  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Computer Operating Properly Module (COP)  
Low-power modes  
The WAIT and STOP instructions put the MCU in  
low-power-consumption standby modes.  
WAIT mode  
STOP mode  
The COP continues to operate during WAIT mode. To prevent a COP  
reset during WAIT mode, the COP counter should be cleared  
periodically in a CPU interrupt routine or a DMA service routine.  
STOP mode turns off the CGMXCLK input to the COP and clears the  
COP prescaler. The COP should be serviced immediately before  
entering or after exiting STOP mode to ensure a full COP timeout period  
after entering or exiting STOP mode.  
The STOP bit in the mask option register (MOR) enables the STOP  
instruction. To prevent inadvertently turning off the COP with a STOP  
instruction, the STOP instruction should be disabled by programming the  
STOP bit to ‘0’.  
COP module during break interrupts  
The COP is disabled during a break interrupt when VHI is present on the  
RST pin.  
6-cop  
MC68HC08AZ0  
164  
Computer Operating Properly Module (COP)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Voltage Inhibit (LVI)  
LVI  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166  
Polled LVI operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167  
Forced reset operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167  
False reset protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168  
LVI Status Register (LVISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168  
LVI interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169  
Introduction  
This section describes the low-voltage inhibit module, which monitors  
the voltage on the VDD pin and can force a reset when the VDD voltage  
falls to the LVI trip voltage.  
1-lvi  
MC68HC08AZ0  
MOTOROLA  
Low-Voltage Inhibit (LVI)  
165  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Voltage Inhibit (LVI)  
Features  
Features of the LVI module include the following:  
• Programmable LVI reset  
• Programmable power consumption  
• Digital filtering of VDD pin level  
NOTE: If a low voltage interrupt (LVI) occurs during programming of EEPROM  
memory, then adequate programming time may not have been allowed  
to ensure the integrity and retention of the data. It is the responsibility of  
the user to ensure that in the event of an LVI any addresses being  
programmed receive specification programming conditions.  
Functional description  
Figure 1 shows the structure of the LVI module. The LVI is enabled out  
of reset. The LVI module contains a bandgap reference circuit and  
comparator. The LVI power bit, LVIPWRD, enables the LVI to monitor  
V
DD voltage. The LVI reset bit, LVIRSTD, enables the LVI module to  
generate a reset when VDD falls below a voltage, LVITRIPF, and remains  
at or below that level for 9 or more consecutive CPU cycles.  
Note that short V spikes may not trip the LVI. It is the user’s  
DD  
responsibility to ensure a clean V signal within the specified  
DD  
operating voltage range if normal microcontroller operation is to be  
guaranteed.  
LVIPWRD and LVIRSTD are mask options. See Mask Options on page  
135. Once an LVI reset occurs, the MCU remains in reset until VDD rises  
above a voltage, LVITRIPR. VDD must be above LVITRIPR for only one CPU  
cycle to bring the MCU out of reset. The output of the comparator  
controls the state of the LVIOUT flag in the LVI status register (LVISR).  
2-lvi  
MC68HC08AZ0  
166  
Low-Voltage Inhibit (LVI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Voltage Inhibit (LVI)  
Functional description  
An LVI reset also drives the RST pin low to provide low-voltage  
protection to external peripheral devices.  
V
DD  
LVIPWRD  
(FROM MOR)  
(FROM MOR)  
CPU CLOCK  
LVIRSTD  
VDD > LVITRIP = 0  
VDD < LVITRIP = 1  
LVI RESET  
LOW V  
DD  
V
DD  
DETECTOR  
DIGITAL FILTER  
ANLGTRIP  
LVIOUT  
Figure 1. LVI module block diagram  
Table 1. LVI I/O register summary  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0 Addr.  
$FE0F  
LVI Status Register (LVISR) LVIOUT  
= Unimplemented  
Polled LVI  
operation  
In applications that can operate at VDD levels below the LVITRIPF level,  
software can monitor VDD by polling the LVIOUT bit. In the mask option  
register, the LVIPWRD and LVIRSTD bits must be at ‘0’ to enable the  
LVI module and to enable the LVI resets. Also, the LVIPRWD bit must  
be at ‘0’ to enable the LVI module, and the LVIRSTD bit must be at ‘1’ to  
disable LVI resets.  
Forced reset  
operation  
In applications that require VDD to remain above the LVITRIPF level,  
enabling LVI resets allows the LVI module to reset the MCU when VDD  
falls to the LVITRIPF level and remains at or below that level for 9 or more  
consecutive CPU cycles. In the mask option register, the LVIPWRD and  
LVIRSTD bits must be at ‘0’ to enable the LVI module and to enable LVI  
resets.  
3-lvi  
MC68HC08AZ0  
MOTOROLA  
Low-Voltage Inhibit (LVI)  
167  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Voltage Inhibit (LVI)  
False reset  
protection  
The VDD pin level is digitally filtered to reduce false resets due to power  
supply noise. In order for the LVI module to reset the MCU,VDD must  
remain at or below the LVITRIPF level for 9 or more consecutive CPU  
cycles. VDD must be above LVITRIPR for only one CPU cycle to bring the  
MCU out of reset.  
LVI Status Register (LVISR)  
The LVI status register flags VDD voltages below the LVITRIPF level.  
Bit 7  
6
5
4
3
2
1
Bit 0  
0
Read:  
Write:  
Reset:  
LVIOUT  
0
0
0
0
0
0
LVISR  
$FE0F  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 2. LVI Status Register (LVISR)  
LVIOUT — LVI Output Bit  
This read-only flag becomes set when VDD falls below the LVITRIPF  
voltage for 32-40 CGMXCLK cycles. (See Table 2). Reset clears the  
LVIOUT bit.  
Table 2. LVIOUT bit indication  
VDD  
for number of CGMXCLK  
cycles:  
LVIOUT  
at level:  
VDD > LVITRIPR  
ANY  
0
0
V
V
V
DD < LVITRIPF  
DD < LVITRIPF  
DD < LVITRIPF  
< 32 CGMXCLK cycles  
between 32 & 40 CGMXCLK  
cycles  
0 or 1  
> 40 CGMXCLK cycles  
ANY  
1
LVITRIPF < VDD < LVITRIPR  
Previous Value  
4-lvi  
MC68HC08AZ0  
168  
Low-Voltage Inhibit (LVI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Voltage Inhibit (LVI)  
LVI interrupts  
LVI interrupts  
Low-power modes  
WAIT mode  
The LVI module does not generate interrupt requests.  
The WAIT instruction puts the MCU in low-power-consumption standby  
mode.  
When the LVIPWRD mask option is programmed to ‘0’, the LVI module  
is active after a WAIT instruction.  
When the LVIRSTD mask option is programmed to ‘0’, the LVI module  
can generate a reset and bring the MCU out of WAIT mode.  
Stop Mode  
With LVISTOP=1 and LVIPWRD=0 in the MORA register, the LVI  
module will be active after a STOP instruction. Because CPU clocks are  
disabled during stop mode, the LVI trip must bypass the digital filter to  
generate a reset and bring the MCU out of stop.  
With the LVIPWRD bit in the MORA register at a logic 0 and the  
LVISTOP bit at a logic 0, the LVI module will be inactive after a STOP  
instruction.  
Note that the LVI feature is intended to provide the safe shutdown  
of the microcontroller and thus protection of related circuitry prior  
to any application V voltage collapsing completely to an unsafe  
DD  
level. Is is not intended that users operate the microcontroller at  
lower than the specified operating voltage, V  
.
DD  
5-lvi  
MC68HC08AZ0  
169  
MOTOROLA  
Low-Voltage Inhibit (LVI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Voltage Inhibit (LVI)  
6-lvi  
MC68HC08AZ0  
170  
Low-Voltage Inhibit (LVI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
External Interrupt Module (IRQ)  
IRQ  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172  
IRQ pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175  
IRQ module during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . 176  
IRQ status and control register (ISCR) . . . . . . . . . . . . . . . . . . . . . . . 176  
The IRQ module provides the nonmaskable interrupt input.  
Features of the IRQ module include the following:  
Introduction  
Features  
• Dedicated external interrupt pins (IRQ)  
• IRQ interrupt control bit  
• Hysteresis buffer  
• Programmable edge-only or edge and level interrupt sensitivity  
• Automatic interrupt acknowledge  
1-irq  
MC68HC08AZ0  
MOTOROLA  
External Interrupt Module (IRQ)  
171  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
External Interrupt Module (IRQ)  
Functional description  
A ‘0’ applied to any of the external interrupt pins can latch a CPU  
interrupt request. Figure 3 shows the structure of the IRQ module.  
Interrupt signals on the IRQ pin are latched into the IRQ latch. An  
interrupt latch remains set until one of the following occurs:  
• Vector fetch — a vector fetch automatically generates an interrupt  
acknowledge signal which clears the latch that caused the vector  
fetch.  
• Software clear — software can clear an interrupt latch by writing  
to the appropriate acknowledge bit in the interrupt status and  
control register (ISCR). Writing a ‘1’ to the ACK1 bit clears the IRQ  
latch.  
• Reset — a reset automatically clears the interrupt latch.  
ACK1  
TO CPU FOR  
BIL/BIH  
INSTRUCTIONS  
VECTOR  
FETCH  
DECODER  
VDD  
IRQF  
CLR  
D
Q
SYNCHRO-  
NIZER  
IRQ  
INTERRUPT  
REQUEST  
CK  
IRQ  
IRQ  
LATCH  
IMASK1  
MODE1  
TO MODE  
SELECT  
LOGIC  
HIGH  
VOLTAGE  
DETECT  
Figure 3. IRQ module block diagram  
All of the external interrupt pins are falling-edge-triggered and are  
software-configurable to be both falling-edge and low-level-triggered.  
The MODE1 bit in the ISCR controls the triggering sensitivity of the IRQ  
pin.  
2-irq  
MC68HC08AZ0  
172  
External Interrupt Module (IRQ)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
External Interrupt Module (IRQ)  
Functional description  
When an interrupt pin is edge-triggered only, the interrupt latch remains  
set until a vector fetch, software clear, or reset occurs.  
When an interrupt pin is both falling-edge and low-level-triggered, the  
interrupt latch remains set until both of the following occur:  
• Vector fetch or software clear  
• Return of the interrupt pin to ‘1’  
The vector fetch or software clear may occur before or after the interrupt  
pin returns to ‘1’. As long as the pin is low, the interrupt request remains  
pending. A reset will clear the latch and the MODEx1control bit, thereby  
clearing the interrupt even if the pin stays low.  
Table 1. IRQ I/O register summary  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0 Addr.  
IRQ Status/Control Register (ISCR)  
IRQF ACK1 IMASK1 MODE1 $001A  
When set, the IMASK1 bit in the ISCR masks all external interrupt  
requests. A latched interrupt request is not presented to the interrupt  
priority logic unless the corresponding IMASK bit is clear.  
NOTE: The interrupt mask (I) in the condition code register (CCR) masks all  
interrupt requests, including external interrupt requests. See Figure 4  
3-irq  
MC68HC08AZ0  
MOTOROLA  
External Interrupt Module (IRQ)  
173  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
External Interrupt Module (IRQ)  
.
FROM RESET  
YES  
I BIT SET?  
NO  
YES  
INTERRUPT?  
NO  
STACK CPU REGISTERS.  
SET I BIT.  
LOAD PC WITH INTERRUPT VECTOR.  
FETCH NEXT  
INSTRUCTION.  
YES  
YES  
SWI  
INSTRUCTION?  
NO  
RTI  
UNSTACK CPU REGISTERS.  
EXECUTE INSTRUCTION.  
INSTRUCTION?  
NO  
Figure 4. IRQ interrupt flowchart  
4-irq  
MC68HC08AZ0  
174  
External Interrupt Module (IRQ)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
External Interrupt Module (IRQ)  
Functional description  
IRQ pin  
A ‘0’ on the IRQ pin can latch an interrupt request into the IRQ latch. A  
vector fetch, software clear, or reset clears the IRQ latch.  
If the MODE1 bit is set, the IRQ pin is both falling-edge-sensitive and  
low-level-sensitive. With MODE1 set, both of the following actions must  
occur to clear the IRQ latch:  
• Vector fetch or software clear — a vector fetch generates an  
interrupt acknowledge signal to clear the latch. Software may  
generate the interrupt acknowledge signal by writing a ‘1’ to the  
ACK1 bit in the interrupt status and control register (ISCR). The  
ACK1 bit is useful in applications that poll the IRQ pin and require  
software to clear the IRQ latch. Writing to the ACK1 bit can also  
prevent spurious interrupts due to noise. Setting ACK1 does not  
affect subsequent transitions on the IRQ pin. A falling edge that  
occurs after writing to the ACK1 bit latches another interrupt  
request. If the IRQ mask bit, IMASK1, is clear, the CPU loads the  
program counter with the vector address at locations $FFFA and  
$FFFB.  
• Return of the IRQ pin to ‘1’ — as long as the IRQ pin is at ‘0’, the  
IRQ latch remains set.  
The vector fetch or software clear and the return of the IRQ pin to ‘1’ may  
occur in any order. The interrupt request remains pending as long as the  
IRQ pin is at ‘0’. A reset will clear the latch and the MODEx control bit,  
thereby clearing the interrupt even if the pin stays low.  
If the MODE1 bit is clear, the IRQ pin is falling-edge-sensitive only. With  
MODE1 clear, a vector fetch or software clear immediately clears the  
IRQ latch.  
The IRQF bit in the ISCR register can be used to check for pending  
interrupts. The IRQF bit is not affected by the IMASK1 bit, which makes  
it useful in applications where polling is preferred.  
The BIH or BIL instruction is used to read the logic level on the IRQ pin.  
NOTE: When using the level-sensitive interrupt trigger, false interrupts can be  
avoided by masking interrupt requests in the interrupt routine.  
5-irq  
MC68HC08AZ0  
MOTOROLA  
External Interrupt Module (IRQ)  
175  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
External Interrupt Module (IRQ)  
IRQ module during break interrupts  
The system integration module (SIM) controls whether the IRQ interrupt  
latch can be cleared during the break state. The BCFE bit in the SIM  
break flag control register (SBFCR) enables software to clear the latches  
during the break state. See SIM break flag control register (SBFCR) on  
page 106.  
To allow software to clear the IRQ latch during a break interrupt, a ‘1’ is  
written to the BCFE bit. If a latch is cleared during the break state, it  
remains cleared when the MCU exits the break state.  
To protect the latches during the break state, a ‘0’ is written to the BCFE  
bit. With BCFE at ‘0’ (its default state), writing to the ACK1 bit in the IRQ  
status and control register during the break state has no effect on the  
IRQ latch.  
IRQ status and control register (ISCR)  
The IRQ status and control register (ISCR) controls and monitors  
operation of the IRQ module. The ISCR performs the following functions:  
• Indicates the state of the IRQ interrupt flag  
• Clears the IRQ interrupt latch  
• Masks IRQ interrupt requests  
• Controls triggering sensitivity of the IRQ interrupt pin  
Bit 7  
6
5
4
0
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
IRQF  
0
ACK1  
0
ISCR  
$001A  
IMASK1 MODE1  
0
0
0
0
0
0
= Unimplemented  
Figure 5. IRQ status and control register (ISCR)  
6-irq  
MC68HC08AZ0  
176  
External Interrupt Module (IRQ)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
External Interrupt Module (IRQ)  
IRQ status and control register (ISCR)  
IRQF — IRQ flag  
This read-only status bit is high when the IRQ interrupt is pending.  
1 = Interrupt pending  
0 = Interrupt not pending  
ACK1 — IRQ interrupt request acknowledge bit  
Writing a ‘1’ to this write-only bit clears the IRQ latch. ACK1 always  
reads as ‘0’. Reset clears ACK1.  
IMASK1 — IRQ Interrupt mask bit  
Writing a ‘1’ to this read/write bit disables IRQ interrupt requests.  
Reset clears IMASK1.  
1 = IRQ interrupt requests disabled  
0 = IRQ interrupt requests enabled  
MODE1 — IRQ edge/level select bit  
This read/write bit controls the triggering sensitivity of the IRQ/VPP pin.  
Reset clears MODE1.  
1 = Interrupt requests on falling edges and low levels  
0 = Interrupt requests on falling edges only  
7-irq  
MC68HC08AZ0  
MOTOROLA  
External Interrupt Module (IRQ)  
177  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
External Interrupt Module (IRQ)  
8-irq  
MC68HC08AZ0  
178  
External Interrupt Module (IRQ)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
SCI  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181  
Data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181  
Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184  
Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197  
Wait mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197  
STOP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197  
SCI during break module interrupts . . . . . . . . . . . . . . . . . . . . . . . . . 198  
I/O signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198  
PTE0/TxD (transmit data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198  
PTE1/RxD (receive data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198  
I/O registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199  
SCI control register 1 (SCC1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199  
SCI Control Register 2 (SCC2). . . . . . . . . . . . . . . . . . . . . . . . . . . 202  
SCI control register 3 (SCC3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205  
SCI status register 1 (SCS1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208  
SCI status register 2 (SCS2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212  
SCI data register (SCDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213  
SCI baud rate register (SCBR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 213  
Introduction  
This section describes the serial communications interface module,  
which allows high-speed asynchronous communications with peripheral  
devices and other MCUs.  
NOTE: DMA associated functions are only valid if the MCU has a DMA module.  
1-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
179  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Features  
Features of the SCI module include the following:  
• Full duplex operation  
• Standard mark/space non-return-to-zero (NRZ) format  
• 32 programmable baud rates  
• Programmable 8-bit or 9-bit character length  
• Separately enabled transmitter and receiver  
• Separate receiver and transmitter CPU interrupt requests  
• Separate receiver and transmitter DMA service requests  
• Programmable transmitter output polarity  
• Two receiver wake-up methods:  
– Idle line wake-up  
– Address mark wake-up  
• Interrupt-driven operation with eight interrupt flags:  
– Transmitter empty  
– Transmission complete  
– Receiver full  
– Idle receiver input  
– Receiver overrun  
– Noise error  
– Framing error  
– Parity error  
• Receiver framing error detection  
• Hardware parity checking  
• 1/16 bit-time noise detection  
2-sci  
MC68HC08AZ0  
180  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Functional description  
Functional description  
Figure 1 shows the structure of the SCI module. The SCI allows  
full-duplex, asynchronous, NRZ serial communication between the MCU  
and remote devices, including other MCUs. The transmitter and receiver  
of the SCI operate independently, although they use the same baud rate  
generator. During normal operation, the CPU monitors the status of the  
SCI, writes the data to be transmitted, and processes received data.  
During DMA transfers, the DMA fetches data from memory for the SCI  
to transmit and/or the DMA stores received data in memory.  
Table 1. SCI I/O register summary  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0 Addr.  
WAKE ILTY PEN PTY $0013  
TE RE RWU SBK $0014  
T8 DMARE DMATE ORIE NEIE FEIE PEIE $0015  
SCI Control Register 1 (SCC1)LOOPS ENSCI TXINV  
M
SCI Control Register 2 (SCC2) SCTIE TCIE SCRIE ILIE  
SCI Control Register 3 (SCC3) R8  
SCI Status Register 1 (SCS1) SCTE  
SCI Status Register 2 (SCS2)  
TC  
SCRF IDLE  
OR  
NF  
FE  
PE $0016  
RPF $0017  
$0018  
BKF  
SCI Data Register (SCDR)  
SCI Baud Rate Register (SCBR)  
SCP1 SCP0  
SCR2 SCR1 SCR0 $0019  
= Unimplemented  
R
= Reserved  
Data format  
The SCI uses the standard non-return-to-zero mark/space data format  
illustrated in Figure 6.  
3-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
181  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
8-BIT DATA FORMAT  
(BIT M IN SCC1 CLEAR)  
POSSIBLE  
PARITY  
BIT  
NEXT  
START  
BIT  
START  
BIT  
STOP  
BIT  
BIT 0  
BIT 1  
BIT 2  
BIT 3  
BIT 4  
BIT 5  
BIT 6  
BIT 7  
9-BIT DATA FORMAT  
(BIT M IN SCC1 SET)  
POSSIBLE  
PARITY  
BIT  
NEXT  
START  
BIT  
START  
BIT  
BIT 0  
BIT 1  
BIT 2  
BIT 3  
BIT 4  
BIT 5  
BIT 6  
BIT 7  
BIT 8 STOP  
BIT  
Figure 6. SCI data formats  
4-sci  
MC68HC08AZ0  
182  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Functional description  
INTERNAL BUS  
SCI DATA  
REGISTER  
SCI DATA  
REGISTER  
RECEIVE  
SHIFT REGISTER  
TRANSMIT  
SHIFT REGISTER  
PTE1/Rx  
PTE2/Tx  
TXINV  
SCTIE  
R8  
T8  
TCIE  
SCRIE  
ILIE  
DMARE  
DMATE  
TE  
SCTE  
TC  
RE  
RWU  
SBK  
SCRF  
IDLE  
OR  
NF  
FE  
PE  
ORIE  
NEIE  
FEIE  
PEIE  
LOOPS  
ENSCI  
LOOPS  
RECEIVE  
CONTROL  
FLAG  
CONTROL  
TRANSMIT  
CONTROL  
WAKE-UP  
CONTROL  
M
BKF  
RPF  
ENSCI  
WAKE  
ILTY  
PEN  
PTY  
PRE-  
BAUD RATE  
4  
BUS CLOCK  
SCALER GENERATOR  
DATA SELECTION  
CONTROL  
16  
Figure 1. SCI module block diagram  
5-sci  
MC68HC08AZ0  
183  
MOTOROLA  
Serial Communications Interface Module (SCI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Transmitter  
Figure 2 shows the structure of the SCI transmitter.  
INTERNAL BUS  
PRE-  
SCALER DIVIDER  
BAUD  
÷ 16  
÷ 4  
SCI DATA REGISTER  
SCP1  
SCP0  
SCR1  
SCR2  
SCR0  
11-BIT  
TRANSMIT  
SHIFT REGISTER  
H
8
7
6
5
4
3
2
1
0
L
PTE2/TxD  
TXINV  
M
PEN  
PTY  
PARITY  
GENERATION  
T8  
DMATW  
TRANSMITTER  
CONTROL LOGIC  
DMATE  
SCTIE  
SCTE  
SCTE  
SBK  
DMATE  
SCTE  
LOOPS  
ENSCI  
TE  
SCTIE  
SCTIE  
TC  
TC  
TCIE  
TCIE  
Figure 2. SCI transmitter  
Character length  
The transmitter can accommodate either 8-bit or 9-bit data. The state  
of the M bit in SCI control register 1 (SCC1) determines character  
length. When transmitting 9-bit data, bit T8 in SCI control register 3  
(SCC3) is the ninth bit (bit 8).  
6-sci  
MC68HC08AZ0  
184  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Functional description  
Character transmission  
During an SCI transmission, the transmit shift register shifts a  
character out to the PTE0/TxD pin. The SCI data register (SCDR) is  
the write-only buffer between the internal data bus and the transmit  
shift register. To initiate an SCI transmission:  
1. Enable the SCI by writing a ‘1’ to the enable SCI bit  
(ENSCI) in SCI control register 1 (SCC1).  
2. Enable the transmitter by writing a ‘1’ to the transmitter  
enable bit (TE) in SCI control register 2 (SCC2).  
3. Clear the SCI transmitter empty bit by first reading SCI  
status register 1 (SCS1) and then writing to the SCDR.  
4. Repeat step 3 for each subsequent transmission.  
At the start of a transmission, transmitter control logic automatically  
loads the transmit shift register with a preamble of ‘1’s. After the  
preamble shifts out, control logic transfers the SCDR data into the  
transmit shift register. A ‘0’ start bit automatically goes into the least  
significant bit position of the transmit shift register. A ‘1’ STOP bit goes  
into the most significant bit position.  
The SCI transmitter empty bit, SCTE, in SCS1 becomes set when the  
SCDR transfers a byte to the transmit shift register. The SCTE bit  
indicates that the SCDR can accept new data from the internal data  
bus. If the SCI transmit interrupt enable bit, SCTIE, in SCC2 is also  
set, the SCTE bit generates a transmitter CPU interrupt request or a  
transmitter DMA service request.  
The SCTE bit generates a transmitter DMA service request if the DMA  
transfer enable bit, DMATE, in SCI control register 3 (SCC3) is set.  
Setting the DMATE bit enables the SCTE bit to generate transmitter  
DMA service requests and disables transmitter CPU interrupt  
requests.  
When the transmit shift register is not transmitting a character, the  
PTE0/TxD pin goes to the idle condition, ‘1’. If at any time software  
clears the ENSCI bit in SCI control register 1 (SCC1), the transmitter  
and receiver relinquish control of the port E pins.  
7-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
185  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Table 2. SCI transmitter I/O register summary  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0 Addr.  
WAKE ILTY PEN PTY $0013  
TE RE RWU SBK $0014  
T8 DMAREDMATE ORIE NEIE FEIE PEIE $0015  
SCI Control Register 1 (SCC1)LOOPS ENSCI TXINV  
M
SCI Control Register 2 (SCC2) SCTIE TCIE SCRIE ILIE  
SCI Control Register 3 (SCC3) R8  
SCI Status Register 1 (SCS1) SCTE  
SCI Data Register (SCDR)  
TC  
SCRF IDLE  
OR  
NF  
FE  
PE $0016  
$0018  
SCI Baud Rate Register (SCBR)  
SCP1 SCP0  
SCR2 SCR1 SCR0 $0019  
= Unimplemented  
R
= Reserved  
Break characters  
Writing a ‘1’ to the send break bit, SBK, in SCC2 loads the transmit shift  
register with a break character. A break character contains all ‘0’s and  
has no start, STOP, or parity bit. Break character length depends on the  
M bit in SCC1. As long as SBK is at ‘1’, transmitter logic continuously  
loads break characters into the transmit shift register. After software  
clears the SBK bit, the shift register finishes transmitting the last break  
character and then transmits at least one ‘1’. The automatic ‘1’ at the end  
of a break character guarantees the recognition of the start bit of the next  
character.  
The SCI recognizes a break character when a start bit is followed by  
8 or 9 ‘0’ data bits and a ‘0’ where the STOP bit should be. Receiving  
a break character has the following effects on SCI registers:  
• Sets the framing error bit (FE) in SCS1  
• Sets the SCI receiver full bit (SCRF) in SCS1  
• Clears the SCI data register (SCDR)  
• Clears the R8 bit in SCC3  
• Sets the break flag bit (BKF) in SCS2  
• May set the overrun (OR), noise flag (NF), parity error (PE), or  
reception in progress flag (RPF) bits  
8-sci  
MC68HC08AZ0  
186  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Functional description  
Idle characters  
An idle character contains all ‘1’s and has no start, stop, or parity bit.  
Idle character length depends on the M bit in SCC1. The preamble is  
a synchronizing idle character that begins every transmission.  
If the TE bit is cleared during a transmission, the PTE2/TxD pin  
becomes idle after completion of the transmission in progress.  
Clearing and then setting the TE bit during a transmission queues an  
idle character to be sent after the character currently being  
transmitted.  
NOTE: When queueing an idle character, return the TE bit to ‘1’ before the stop  
bit of the current character shifts out to the PTE0/TxD pin. Setting TE  
after the stop bit appears on PTE0/TxD causes data previously written  
to the SCDR to be lost.  
A good time to toggle the TE bit is when the SCTE bit becomes set and  
just before writing the next byte to the SCDR.  
Inversion of transmitted output  
The transmit inversion bit (TXINV) in SCI control register 1 (SCC1)  
reverses the polarity of transmitted data. All transmitted values,  
including idle, break, start, and stop bits, are inverted when TXINV is  
at ‘1’. See SCI control register 1 (SCC1) on page 199.  
Transmitter interrupts  
The following conditions can generate CPU interrupt requests from  
the SCI transmitter:  
• SCI transmitter empty (SCTE) — The SCTE bit in SCS1 indicates  
that the SCDR has transferred a character to the transmit shift  
register. SCTE can generate a transmitter CPU interrupt request  
or a transmitter DMA service request. Setting the SCI transmit  
interrupt enable bit, SCTIE, in SCC2 enables the SCTE bit to  
generate transmitter CPU interrupt requests. Setting both the  
SCTIE bit and the DMA transfer enable bit, DMATE, in SCC3  
enables the SCTE bit to generate transmitter DMA service  
requests.  
9-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
187  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
• Transmission complete (TC) — The TC bit in SCS1 indicates that  
the transmit shift register and the SCDR are empty and that no  
break or idle character has been generated. The transmission  
complete interrupt enable bit, TCIE, in SCC2 enables the TC bit to  
generate transmitter CPU interrupt requests.  
Receiver  
Figure 3 shows the structure of the SCI receiver  
Character length  
The receiver can accommodate either 8-bit or 9-bit data. The state of  
the M bit in SCI control register 1 (SCC1) determines character  
length. When receiving 9-bit data, bit R8 in SCI control register 2  
(SCC2) is the ninth bit (bit 8). When receiving 8-bit data, bit R8 is a  
copy of the eighth bit (bit 7).  
Character reception  
During an SCI reception, the receive shift register shifts characters in  
from the PTE1/RxD pin. The SCI data register (SCDR) is the  
read-only buffer between the internal data bus and the receive shift  
register.  
After a complete character shifts into the receive shift register, the  
data portion of the character transfers to the SCDR. The SCI receiver  
full bit, SCRF, in SCI status register 1 (SCS1) becomes set, indicating  
that the received byte can be read. If the SCI receive interrupt enable  
bit, SCRIE, in SCC2 is also set, the SCRF bit generates a receiver  
CPU interrupt request or a receiver DMA service request.  
The SCRF bit generates a receiver DMA service request if the DMA  
receive enable bit, DMARE, in SCI control register 3 (SCC3) is set.  
Setting the DMARE bit enables the SCRF bit to generate receiver  
DMA service requests and disables receiver CPU interrupt requests.  
Data sampling  
The receiver samples the PTE1/RxD pin at the RT clock rate. The RT  
clock is an internal signal with a frequency 16 times the baud rate. To  
adjust for baud rate mismatch, the RT clock is resynchronized at the  
following times (see Figure 4):  
10-sci  
MC68HC08AZ0  
188  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Functional description  
.
INTERNAL BUS  
SCR1  
SCR2  
SCR0  
SCP1  
SCP0  
SCI DATA REGISTER  
11-BIT  
PRE-  
SCALER  
BAUD  
DIVIDER  
÷ 4  
÷ 16  
RECEIVE SHIFT REGISTER  
CGMXCLK  
DATA  
RECOVERY  
H
8
7
6
5
4
3
2
1
0
L
PTE1/RxD  
ALL ZEROS  
BKF  
RPF  
M
RWU  
SCRF  
IDLE  
WAKE  
ILTY  
WAKE-UP  
LOGIC  
PEN  
PTY  
R8  
PARITY  
CHECKING  
IDLE  
ILIE  
ILIE  
DMARE  
SCRF  
SCRIE  
DMARE  
SCRIE  
SCRF  
SCRIE  
DMARE  
DMARE  
OR  
OR  
ORIE  
ORIE  
NF  
NF  
NEIE  
NEIE  
FE  
FE  
FEIE  
FEIE  
PE  
PE  
PEIE  
PEIE  
Figure 3. SCI receiver block diagram  
11-sci  
MC68HC08AZ0  
189  
MOTOROLA  
Serial Communications Interface Module (SCI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Table 3. SCI receiver I/O register summary  
Register name  
Bit 7  
6
5
4
3
2
1
Bit 0 Addr.  
WAKE ILTY PEN PTY $0013  
TE RE RWU SBK $0014  
T8 DMAREDMATE ORIE NEIE FEIE PEIE $0015  
SCI control register 1 (SCC1)LOOPS ENSCI TXINV  
M
SCI control register 2 (SCC2) SCTIE TCIE SCRIE ILIE  
SCI control register 3 (SCC3) R8  
SCI status register 1 (SCS1) SCTE  
SCI status register 2 (SCS2)  
SCI data register (SCDR)  
TC  
SCRF IDLE  
OR  
NF  
FE  
PE $0016  
RPF $0017  
$0018  
BKF  
SCI baud rate register (SCBR)  
SCP1 SCP0  
SCR2 SCR1 SCR0 $0019  
= Unimplemented  
R
= Reserved  
• After every start bit  
• After the receiver detects a data bit change from ‘1’ to ‘0’ (after the  
majority of data bit samples at RT8, RT9, and RT10 returns a valid  
‘1’ and the majority of the next RT8, RT9, and RT10 samples  
returns a valid ‘0’).  
START BIT  
LSB  
PTE1/RxD  
SAMPLES  
START BIT  
QUALIFICATION  
START BIT  
DATA  
VERIFICATION SAMPLING  
RT  
CLOCK  
RT CLOCK  
STATE  
RT CLOCK  
RESET  
Figure 4. Receiver data sampling  
12-sci  
MC68HC08AZ0  
190  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Functional description  
To locate the start bit, data recovery logic does an asynchronous  
search for a ‘0’ preceded by three ‘1’s. When the falling edge of a  
possible start bit occurs, the RT clock begins to count to 16.  
To verify the start bit and to detect noise, data recovery logic takes  
samples at RT3, RT5, and RT7. Table 4 summarizes the results of  
the start bit verification samples.  
Table 4. Start bit verification  
RT3, RT5, and RT7 samples Start bit verification  
Noise flag  
000  
001  
010  
011  
100  
101  
110  
111  
Yes  
Yes  
Yes  
No  
0
1
1
0
1
0
0
0
Yes  
No  
No  
No  
If start bit verification is not successful, the RT clock is reset and a  
new search for a start bit begins.  
To determine the value of a data bit and to detect noise, recovery logic  
takes samples at RT8, RT9, and RT10. Table 5 summarizes the  
results of the data bit samples.  
13-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
191  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Table 5. Data bit recovery  
RT8, RT9, and RT10 Samples Data bit determination Noise flag  
000  
001  
010  
011  
100  
101  
110  
111  
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
NOTE: The RT8, RT9, and RT10 samples do not affect start bit verification. If  
any or all of the RT8, RT9, and RT10 start bit samples are ‘1’s following  
a successful start bit verification, the noise flag (NF) is set and the  
receiver assumes that the bit is a start bit.  
To verify a stop bit and to detect noise, recovery logic takes samples  
at RT8, RT9, and RT10. Table 6 summarizes the results of the stop  
bit samples.  
Table 6. Stop bit recovery  
RT8, RT9, and RT10 samples  
Framing error flag  
noise flag  
000  
001  
010  
011  
100  
101  
110  
111  
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
14-sci  
MC68HC08AZ0  
192  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Functional description  
Framing errors  
If the data recovery logic does not detect a ‘1’ where the stop bit  
should be in an incoming character, it sets the framing error bit, FE,  
in SCS1. The FE flag is set at the same time that the SCRF bit is set.  
A break character that has no stop bit also sets the FE bit.  
Receiver wake-up  
So that the MCU can ignore transmissions intended only for other  
receivers in multiple-receiver systems, the receiver can be put into a  
standby state. Setting the receiver wake-up bit, RWU, in SCC2 puts  
the receiver into a standby state during which receiver interrupts are  
disabled.  
Depending on the state of the WAKE bit in SCC1, either of two  
conditions on the PTE1/RxD pin can bring the receiver out of the  
standby state:  
• Address mark — An address mark is a ‘1’ in the most significant  
bit position of a received character. When the WAKE bit is set, an  
address mark wakes the receiver from the standby state by  
clearing the RWU bit. The address mark also sets the SCI receiver  
full bit, SCRF. Software can then compare the character  
containing the address mark to the user-defined address of the  
receiver. If they are the same, the receiver remains awake and  
processes the characters that follow. If they are not the same,  
software can set the RWU bit and put the receiver back into the  
standby state.  
• Idle input line condition — When the WAKE bit is clear, an idle  
character on the PTE1/RxD pin wakes the receiver from the  
standby state by clearing the RWU bit. The idle character that  
wakes the receiver does not set the receiver idle bit, IDLE, or the  
SCI receiver full bit, SCRF. The idle line type bit, ILTY, determines  
whether the receiver begins counting ‘1’s as idle character bits  
after the start bit or after the stop bit.  
NOTE: Clearing the WAKE bit after the PTE1/RxD pin has been idle may cause  
the receiver to wake up immediately.  
15-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
193  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Receiver interrupts  
The following sources can generate CPU interrupt requests from the  
SCI receiver:  
• SCI receiver full (SCRF) — The SCRF bit in SCS1 indicates that  
the receive shift register has transferred a character to the SCDR.  
SCRF can generate a receiver CPU interrupt request or a receiver  
DMA service request.. Setting the SCI receive interrupt enable bit,  
SCRIE, in SCC2 enables the SCRF bit to generate receiver CPU  
interrupts. Setting both the SCRIE bit and the DMA receive enable  
bit, DMARE, in SCC3 enables receiver DMA service requests and  
disables receiver CPU interrupt requests.  
• Idle input (IDLE) — The IDLE bit in SCS1 indicates that 10 or 11  
consecutive ‘1’s shifted in from the PTE1/RxD pin. The idle line  
interrupt enable bit, ILIE, in SCC2 enables the IDLE bit to generate  
CPU interrupt requests.  
NOTE: When receiver DMA service requests are enabled (DMARE = 1), then  
receiver CPU interrupt requests are disabled, and the state of the ILIE  
bit has no effect.  
Error interrupts  
The following receiver error flags in SCS1 can generate CPU interrupt  
requests:  
• Receiver overrun (OR) — The OR bit indicates that the receive  
shift register shifted in a new character before the previous  
character was read from the SCDR. The previous character  
remains in the SCDR, and the new character is lost. The overrun  
interrupt enable bit, ORIE, in SCC3 enables OR to generate SCI  
error CPU interrupt requests.  
• Noise flag (NF) — The NF bit is set when the SCI detects noise on  
incoming data or break characters, including start, data, and stop  
bits. The noise error interrupt enable bit, NEIE, in SCC3 enables  
NF to generate SCI error CPU interrupt requests.  
16-sci  
MC68HC08AZ0  
194  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Functional description  
• Framing error (FE) — The FE bit in SCS1 is set when a ‘0’ occurs  
where the receiver expects a stop bit. The framing error interrupt  
enable bit, FEIE, in SCC3 enables FE to generate SCI error CPU  
interrupt requests.  
• Parity error (PE) — The PE bit in SCS1 is set when the SCI  
detects a parity error in incoming data. The parity error interrupt  
enable bit, PEIE, in SCC3 enables PE to generate SCI error CPU  
interrupt requests.  
Error flags during DMA service requests  
When the DMA is servicing the SCI receiver, it clears the SCRF bit  
when it reads the SCI data register. The DMA does not clear the other  
status bits (BKF or RPF), nor does it clear error bits (OR, NF, FE, and  
PE). If the error bits are enabled to generate interrupt requests, the  
interrupt requests may accumulate during DMA servicing. To clear  
error bits while the DMA is servicing the receiver, enable SCI error  
CPU interrupts and clear the bits in an interrupt routine. Note the  
following latency considerations:  
1. If interrupt latency is short enough for an error bit to be serviced  
before the next SCRF, then it can be determined which byte  
caused the error. If interrupt latency is long enough for a new  
SCRF to occur before servicing an error bit, then:  
a. It cannot be determined whether the error bit being serviced is  
due to the byte in the SCI data register or to a previous byte.  
Multiple errors can accumulate that correspond to different  
bytes. In a message-based system, you may have to repeat  
the entire message  
b. When the DMA is enabled to service the SCI receiver, merely  
reading the SCI data register clears the SCRF bit. The second  
step in clearing an error bit, reading the SCI data register,  
could inadvertently clear a new, unserviced SCRF that  
occurred during the error-servicing routine. Then the DMA  
would ignore the byte that set the new SCRF, and the new  
byte would be lost.  
To prevent clearing of an unserviced SCRF bit, clear the  
SCRIE bit at the beginning of the error-servicing interrupt  
routine and set it at the end. Clearing SCRIE disables DMA  
17-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
195  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
service so that both a read of SCS1 and a read of SCDR are  
required to clear the SCRF bit. Setting SCRIE enables DMA  
service so that the DMA can recognize a service request that  
occurred during the error-servicing interrupt routine.  
c. In the CPU interrupt routine to service error bits, do not use  
BRSET or BRCLR instructions. BRSET and BRCLR read the  
SCS1 register, which is the first step in clearing the register.  
Then the DMA could read the SCI data register, the second  
step in clearing it, thereby clearing all error bits. The next read  
of the data register would miss any error bits that were set.  
2. DMA latency should be short enough so that an SCRF is serviced  
before the next SCRF occurs. If DMA latency is long enough for a  
new SCRF to occur before servicing an error bit, then:  
a. Overruns occur. Set the ORIE bit to enable SCI error CPU  
interrupt requests and service the overrun in an interrupt  
routine. In a message-based system, disable the DMA in the  
interrupt routine and manually recover. Otherwise, the byte  
that was lost in the overrun could prevent the DMA from  
reaching its byte count. If the DMA reaches it byte count in the  
following message, two messages may be corrupted.  
b. If the CPU does not service an overrun interrupt request, the  
DMA can eventually clear the SCRF bit by reading the SCI  
data register. The OR bit remains set. Each time a new byte  
sets the SCRF bit, new data transfers from the shift register to  
the SCI data register (provided that another overrun does not  
occur), even though the OR bit is set. The DMA removed the  
overrun condition by reading the data register, but the OR bit  
has not been cleared.  
18-sci  
MC68HC08AZ0  
196  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Low-power modes  
Low-power modes  
The WAIT and STOP instructions put the MCU in  
low-power-consumption standby modes.  
Wait mode  
The SCI module remains active after the execution of a WAIT  
instruction. In wait mode the SCI module registers are not accessible by  
the CPU. Any enabled CPU interrupt request from the SCI module can  
bring the MCU out of wait mode.  
If SCI module functions are not required during wait mode, reduce power  
consumption by disabling the module before executing the WAIT  
instruction.  
The DMA can service the SCI without exiting WAIT mode.  
STOP mode  
The SCI module is inactive after the execution of a STOP instruction.  
The STOP instruction does not affect SCI register states. SCI module  
operation resumes after an external interrupt.  
Because the internal clock is inactive during stop mode, entering stop  
mode during an SCI transmission or reception results in invalid data.  
19-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
197  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
SCI during break module interrupts  
The system integration module (SIM) controls whether status bits in  
other modules can be cleared during interrupts generated by the break  
module. The BCFE bit in the SIM break flag control register (SBFCR)  
enables software to clear status bits during the break state. See SIM  
break flag control register (SBFCR) on page 106.  
To allow software to clear status bits during a break interrupt, write a ‘1’  
to the BCFE bit. If a status bit is cleared during the break state, it remains  
cleared when the MCU exits the break state.  
To protect status bits during the break state, write a ‘0’ to the BCFE bit.  
With BCFE at 0 0 0 (its default state), software can read and write I/O  
registers during the break state without affecting status bits. Some status  
bits have a two-step read/write clearing procedure. If software does the  
first step on such a bit before the break, the bit cannot change during the  
break state as long as BCFE is at ‘0’. After the break, doing the second  
step clears the status bit.  
I/O signals  
Port E shares two of its pins with the SCI module. The two SCI I/O pins are:  
• PTE0/TxD — Transmit data  
• PTE1/RxD — Receive data  
PTE0/TxD (transmit  
data)  
The PTE0/TxD pin is the serial data output from the SCI transmitter. The  
SCI shares the PTE0/TxD pin with port E. When the SCI is enabled, the  
PTE0/TxD pin is an output regardless of the state of the DDRE0 bit in  
data direction register E (DDRE).  
PTE1/RxD (receive  
data)  
The PTE1/RxD pin is the serial data input to the SCI receiver. The SCI  
shares the PTE1/RxD pin with port E. When the SCI is enabled, the  
PTE1/RxD pin is an input regardless of the state of the DDRE1 bit in data  
direction register E (DDRE).  
20-sci  
MC68HC08AZ0  
198  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
I/O registers  
The following I/O registers control and monitor SCI operation:  
• SCI control register 1 (SCC1)  
• SCI control register 2 (SCC2)  
• SCI control register 3 (SCC3)  
• SCI status register 1 (SCS1)  
• SCI status register 2 (SCS2)  
• SCI data register (SCDR)  
• SCI baud rate register (SCBR)  
SCIcontrolregister  
1 (SCC1)  
SCI control register 1 does the following:  
• Enables loop mode operation  
• Enables the SCI  
• Controls output polarity  
• Controls character length  
• Controls SCI wake-up method  
• Controls idle character detection  
• Enables parity function  
• Controls parity type  
Bit 7  
6
5
TXINV  
0
4
M
0
3
WAKE  
0
2
ILTY  
0
1
PEN  
0
Bit 0  
PTY  
0
Read:  
Write:  
Reset:  
SCC1  
$0013  
LOOPS ENSCI  
0
0
Figure 5. SCI control register 1 (SCC1)  
21-sci  
MC68HC08AZ0  
199  
MOTOROLA  
Serial Communications Interface Module (SCI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
LOOPS — Loop mode select bit  
This read/write bit enables loop mode operation. In loop mode the  
PTE1/RxD pin is disconnected from the SCI, and the transmitter  
output goes into the receiver input. Both the transmitter and the  
receiver must be enabled to use loop mode. Reset clears the LOOPS  
bit.  
1 = Loop mode enabled  
0 = Normal operation enabled  
ENSCI — Enable SCI bit  
This read/write bit enables the SCI and the SCI baud rate generator.  
Clearing ENSCI sets the SCTE and TC bits in SCI status register 1  
and disables transmitter interrupts. Reset clears the ENSCI bit.  
1 = SCI enabled  
0 = SCI disabled  
TXINV — Transmit inversion bit  
This read/write bit reverses the polarity of transmitted data. Reset  
clears the TXINV bit.  
1 = Transmitter output inverted  
0 = Transmitter output not inverted  
NOTE: Setting the TXINV bit inverts all transmitted values, including idle, break,  
start, and stop bits.  
M — Mode (character length) bit  
This read/write bit determines whether SCI characters are 8 or 9 bits  
long (see Table 7). The ninth bit can serve as an extra stop bit, as a  
receiver wake-up signal, or as a parity bit. Reset clears the M bit.  
1 = 9-bit SCI characters  
0 = 8-bit SCI characters  
22-sci  
MC68HC08AZ0  
200  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
WAKE — wake-up condition bit  
This read/write bit determines which condition wakes up the SCI: a ‘1’  
(address mark) in the most significant bit position of a received  
character or an idle condition on the PTE1/RxD pin. Reset clears the  
WAKE bit.  
1 = Address mark wake-up  
0 = Idle line wake-up  
ILTY — Idle line type bit  
This read/write bit determines when the SCI starts counting ‘1’s as  
idle character bits. The counting begins either after the start bit or after  
the stop bit. If the count begins after the start bit, then a string of ‘1’s  
preceding the stop bit may cause false recognition of an idle  
character. Beginning the count after the stop bit avoids false idle  
character recognition, but requires properly synchronized  
transmissions. Reset clears the ILTY bit.  
1 = Idle character bit count begins after stop bit  
0 = Idle character bit count begins after start bit  
PEN — Parity enable bit  
This read/write bit enables the SCI parity function (see Table 7).  
When enabled, the parity function inserts a parity bit in the most  
significant bit position (seeFigure 6). Reset clears the PEN bit.  
1 = Parity function enabled  
0 = Parity function disabled  
PTY — Parity bit  
This read/write bit determines whether the SCI generates and checks  
for odd parity or even parity (see Table 7). Reset clears the PTY bit.  
1 = Odd parity  
0 = Even parity  
NOTE: Changing the PTY bit in the middle of a transmission or reception can  
generate a parity error.  
23-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
201  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Table 7. Character format selection  
Control Bits  
Character Format  
M
PEN:PTY  
Start bits  
Data bits  
Parity  
None  
None  
Even  
Odd  
STOP bits  
Character length  
10 bits  
0
1
0
0
1
1
0X  
0X  
10  
11  
10  
11  
1
1
1
1
1
1
8
9
7
7
8
8
1
1
1
1
1
1
11 bits  
10 bits  
10 bits  
Even  
Odd  
11 bits  
11 bits  
SCI Control  
Register 2 (SCC2)  
SCI control register 2 does the following:  
• Enables the following CPU interrupt requests:  
– Enables the SCTE bit to generate transmitter CPU interrupt  
requests  
– Enables the TC bit to generate transmitter CPU interrupt  
requests  
– Enables the SCRF bit to generate receiver CPU interrupt  
requests  
– Enables the IDLE bit to generate receiver CPU interrupt  
requests  
• Enables the transmitter  
• Enables the receiver  
• Enables SCI wake-up  
• Transmits SCI break characters  
24-sci  
MC68HC08AZ0  
202  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
Bit 7  
SCTIE  
0
6
TCIE  
0
5
SCRIE  
0
4
ILIE  
0
3
TE  
0
2
RE  
0
1
RWU  
0
Bit 0  
SBK  
0
Read:  
Write:  
Reset:  
SCC2  
$0014  
Figure 6. SCI control register 2 (SCC2)  
SCTIE — SCI transmit interrupt enable bit  
This read/write bit enables the SCTE bit to generate SCI transmitter  
CPU interrupt requests or DMA service requests. Setting the SCTIE  
bit and clearing the DMA transfer enable bit, DMATE, in SCC3  
enables the SCTE bit to generate CPU interrupt requests. Setting  
both the SCTIE and DMATE bits enables the SCTE bit to generate  
DMA service requests. Setting both SCRIE and DMARE enables  
SCRF to generate DMA service requests. Reset clears the SCTIE bit.  
1 = SCTE enabled to generate CPU interrupt or DMA service  
requests  
0 = SCTE not enabled to generate CPU interrupt or DMA service  
requests  
TCIE — Transmission complete interrupt enable bit  
This read/write bit enables the TC bit to generate SCI transmitter CPU  
interrupt requests. Reset clears the TCIE bit.  
1 = TC enabled to generate CPU interrupt requests  
0 = TC not enabled to generate CPU interrupt requests  
SCRIE — SCI receive interrupt enable bit  
This read/write bit enables the SCRF bit to generate SCI receiver  
CPU interrupt requests or SCI receiver DMA service requests. Setting  
the SCRIE bit and clearing the DMA receive enable bit, DMARE,in  
SCC3 enables the SCRF bit to generate CPU interrupt requests.  
Reset clears the SCRIE bit.  
1 = SCRF enabled to generate CPU interrupt or DMA service  
requests  
0 = SCRF not enabled to generate CPU interrupt or DMA service  
requests  
25-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
203  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
ILIE — Idle line interrupt enable bit  
This read/write bit enables the IDLE bit to generate SCI receiver CPU  
interrupt requests. Reset clears the ILIE bit.  
1 = IDLE enabled to generate CPU interrupt requests  
0 = IDLE not enabled to generate CPU interrupt requests  
NOTE: When SCI receiver DMA service requests are enabled (DMARE = 1),  
then SCI receiver CPU interrupt requests are disabled, and the state of  
the ILIE bit has no effect.  
TE — Transmitter enable bit  
Setting this read/write bit begins the transmission by sending a  
preamble of 10 or 11 ‘1’s from the transmit shift register to the  
PTE2/TxD pin. If software clears the TE bit, the transmitter completes  
any transmission in progress before the PTE0/TxD returns to the idle  
condition (’1’). Clearing and then setting TE during a transmission  
queues an idle character to be sent after the character currently being  
transmitted. Reset clears the TE bit.  
1 = Transmitter enabled  
0 = Transmitter disabled  
NOTE: Writing to the TE bit is not allowed when the enable SCI bit (ENSCI) is  
clear. ENSCI is in SCI control register 1.  
RE — Receiver enable bit  
Setting this read/write bit enables the receiver. Clearing the RE bit  
disables the receiver but does not affect receiver interrupt flag bits.  
Reset clears the RE bit.  
1 = Receiver enabled  
0 = Receiver disabled  
NOTE: Writing to the RE bit is not allowed when the enable SCI bit (ENSCI) is  
clear. ENSCI is in SCI control register 1.  
26-sci  
MC68HC08AZ0  
204  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
RWU — Receiver wake-up bit  
This read/write bit puts the receiver in a standby state during which  
receiver interrupts are disabled. The WAKE bit in SCC1 determines  
whether an idle input or an address mark brings the receiver out of the  
standby state and clears the RWU bit. Reset clears the RWU bit.  
1 = Standby state  
0 = Normal operation  
SBK — Send break bit  
Setting and then clearing this read/write bit transmits a break  
character followed by a ‘1’. The ‘1’ after the break character  
guarantees recognition of a valid start bit. If SBK remains set, the  
transmitter continuously transmits break characters with no ‘1’s  
between them. Reset clears the SBK bit.  
1 = Transmit break characters  
0 = No break characters being transmitted  
NOTE: Do not toggle the SBK bit immediately after setting the SCTE bit.  
Toggling SBK too early causes the SCI to send a break character  
instead of a preamble.  
SCIcontrolregister  
SCI control register 3 does the following:  
3 (SCC3)  
• Stores the ninth SCI data bit received and the ninth SCI data bit to  
be transmitted  
• Enables SCI receiver full (SCRF) DMA service requests  
• Enables SCI transmitter empty (SCTE) DMA service requests  
• Enables the following interrupts:  
– Receiver overrun interrupts  
– Noise error interrupts  
– Framing error interrupts  
– Parity error interrupts  
27-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
205  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Bit 7  
6
5
4
3
ORIE  
0
2
NEIE  
0
1
FEIE  
0
Bit 0  
PEIE  
0
Read:  
Write:  
Reset:  
R8  
SCC3  
$0015  
T8  
U
DMARE DMATE  
U
0
0
= Unimplemented  
U = Unaffected  
R = Reserved  
Figure 7. SCI control register 3 (SCC3)  
R8 — Received bit 8  
When the SCI is receiving 9-bit characters, R8 is the read-only ninth  
bit (bit 8) of the received character. R8 is received at the same time  
that the SCDR receives the other 8 bits.  
When the SCI is receiving 8-bit characters, R8 is a copy of the eighth  
bit (bit 7). Reset has no effect on the R8 bit.  
T8 — Transmitted bit 8  
When the SCI is transmitting 9-bit characters, T8 is the read/write  
ninth bit (bit 8) of the transmitted character. T8 is loaded into the  
transmit shift register at the same time that the SCDR is loaded into  
the transmit shift register. Reset has no effect on the T8 bit.  
DMARE — DMA receive enable bit  
This read/write bit enables the DMA to service SCI receiver DMA  
service requests generated by the SCRF bit. (See 14.7.4.) Setting the  
DMARE bit disables SCI receiver CPU interrupt requests. Reset  
clears the DMARE bit.  
1 = DMA enabled to service SCI receiver DMA service requests  
generated by the SCRF bit  
(SCI receiver CPU interrupt requests disabled)  
0 = DMA not enabled to service SCI receiver DMA service requests  
generated by the SCRF bit  
(SCI receiver CPU interrupt requests enabled)  
28-sci  
MC68HC08AZ0  
206  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
DMATE — DMA transfer enable bit  
This read/write bit enables SCI transmitter empty (SCTE) DMA  
service requests. <blue>See SCI status register 1 (SCS1). Setting  
the DMATE bit disables SCTE CPU interrupt requests. Reset clears  
DMATE.  
1 = SCTE DMA service requests enabled (SCTE CPU interrupt  
requests disabled)  
0 = SCTE DMA service requests disabled (SCTE CPU interrupt  
requests enabled)  
ORIE — Receiver overrun interrupt enable bit  
This read/write bit enables SCI error CPU interrupt requests  
generated by the receiver overrun bit, OR.  
1 = SCI error CPU interrupt requests from OR bit enabled  
0 = SCI error CPU interrupt requests from OR bit disabled  
NEIE — Receiver noise error interrupt enable bit  
This read/write bit enables SCI error CPU interrupt requests  
generated by the noise error bit, NE. Reset clears NEIE.  
1 = SCI error CPU interrupt requests from NE bit enabled.  
0 = SCI error CPU interrupt requests from NE bit disabled  
FEIE — Receiver framing error interrupt enable bit  
This read/write bit enables SCI error CPU interrupt requests  
generated by the framing error bit, FE. Reset clears FEIE.  
1 = SCI error CPU interrupt requests from FE bit enabled  
0 = SCI error CPU interrupt requests from FE bit disabled  
PEIE — Receiver parity error interrupt enable bit  
This read/write bit enables SCI receiver CPU interrupt requests  
generated by the parity error bit, PE. (see SCI status register 1  
(SCS1) on page 208). Reset clears PEIE.  
1 = SCI error CPU interrupt requests from PE bit enabled  
0 = SCI error CPU interrupt requests from PE bit disabled  
29-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
207  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
SCI status register  
1 (SCS1)  
SCI status register 1 contains flags to signal the following conditions:  
• Transfer of SCDR data to transmit shift register complete  
• Transmission complete  
• Transfer of receive shift register data to SCDR complete  
• Receiver input idle  
• Receiver overrun  
• Noisy data  
• Framing error  
• Parity error  
Bit 7  
6
5
4
3
2
1
Bit 0  
PE  
Read:  
Write:  
Reset:  
SCTE  
TC  
SCRF  
IDLE  
OR  
NF  
FE  
SCS1  
$0016  
1
1
0
0
0
0
0
0
= Unimplemented  
Figure 8. SCI status register 1 (SCS1)  
SCTE — SCI transmitter empty bit  
This clearable, read-only bit is set when the SCDR transfers a  
character to the transmit shift register. SCTE can generate an SCI  
transmitter CPU interrupt request or an SCI transmitter DMA service  
request. When the SCTIE bit in SCC2 is set and the DMATE bit in  
SCC3 is clear, SCTE generates an SCI transmitter CPU interrupt  
request. With both the SCTIE and DMATE bits set, SCTE generates  
an SCI transmitter DMA service request. In normal operation, clear  
the SCTE bit by reading SCS1 with SCTE set and then writing to  
SCDR. In DMA transfers, the DMA automatically clears the SCTE bit  
when it writes to the SCDR. Reset sets the SCTE bit.  
1 = SCDR data transferred to transmit shift register  
0 = SCDR data not transferred to transmit shift register  
NOTE: Setting the TE bit for the first time also sets the SCTE bit. When enabling  
SCI transmitter DMA service requests, set the TE bit after setting the  
30-sci  
MC68HC08AZ0  
208  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
DMATE bit. Otherwise setting the TE and SCTIE bits generates an SCI  
transmitter CPU interrupt request instead of a DMA service request.  
TC — Transmission complete bit  
This read-only bit is set when the SCTE bit is set, and no data,  
preamble, or break character is being transmitted. TC generates an  
SCI transmitter CPU interrupt request if the TCIE bit in SCC2 is also  
set. When the DMA services an SCI transmitter DMA service request,  
the DMA clears the TC bit by writing to the SCDR. TC is automatically  
cleared when data, preamble or break is queued and ready to be sent.  
There may be up to 1.5 transmitter clocks of latency between  
queueing data, preamble, and break and the transmission actually  
starting. Reset sets the TC bit.  
1 = No transmission in progress  
0 = Transmission in progress  
SCRF — SCI receiver full bit  
This clearable, read-only bit is set when the data in the receive shift  
register transfers to the SCI data register. SCRF can generate an SCI  
receiver CPU interrupt request or an SCI receiver DMA service  
request. When the SCRIE bit in SCC2 is set and the DMARE bit in  
SCC3 is clear, SCRF generates a CPU interrupt request. With both  
the SCRIE and DMARE bits set, SCRF generates a DMA service  
request. In normal operation, clear the SCRF bit by reading SCS1  
with SCRF set and then reading the SCDR. In DMA transfers, the  
DMA clears the SCRF bit when it reads the SCDR. Reset clears  
SCRF.  
1 = Received data available in SCDR  
0 = Data not available in SCDR  
IDLE — Receiver idle bit  
This clearable, read-only bit is set when 10 or 11 consecutive ’1’s  
appear on the receiver input. IDLE generates an SCI error CPU  
interrupt request if the ILIE bit in SCC2 is also set and the DMARE bit  
in SCC3 is clear. Clear the IDLE bit by reading SCS1 with IDLE set  
and then reading the SCDR. After the receiver is enabled, it must  
receive a valid character that sets the SCRF bit before an idle  
31-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
209  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
condition can set the IDLE bit. Also, after the IDLE bit has been  
cleared, a valid character must again set the SCRF bit before an idle  
condition can set the IDLE bit. Reset clears the IDLE bit.  
1 = Receiver input idle  
0 = Receiver input active (or idle since the IDLE bit was cleared)  
OR — Receiver overrun bit  
This clearable, read-only bit is set when software fails to read the  
SCDR before the receive shift register receives the next character.  
The OR bit generates an SCI error CPU interrupt request if the ORIE  
bit in SCC3 is also set. The data in the shift register is lost, but the data  
already in the SCDR is not affected. Clear the OR bit by reading SCS1  
with OR set and then reading the SCDR. Reset clears the OR bit.  
1 = Receive shift register full and SCRF = 1  
0 = No receiver overrun  
Software latency may allow an overrun to occur between reads of  
SCS1 and SCDR in the flag-clearing sequence. Figure 9 shows the  
normal flag-clearing sequence and an example of an overrun caused  
by a delayed flag-clearing sequence. The delayed read of SCDR  
does not clear the OR bit because OR was not set when SCS1 was  
read. Byte 2 caused the overrun and is lost. The next flag-clearing  
sequence reads byte 3 in the SCDR instead of byte 2.  
In applications that are subject to software latency or in which it is  
important to know which byte is lost due to an overrun, the  
flag-clearing routine can check the OR bit in a second read of SCS1  
after reading the data register.  
NF — Receiver noise flag bit  
This clearable, read-only bit is set when the SCI detects noise on the  
PTE1/RxD pin. NF generates an NF CPU interrupt request if the NEIE  
bit in SCC3 is also set. Clear the NF bit by reading SCS1 and then  
reading the SCDR. Reset clears the NF bit.  
1 = Noise detected  
0 = No noise detected  
32-sci  
MC68HC08AZ0  
210  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
NORMALFLAGCLEARINGSEQUENCE  
BYTE 1  
BYTE 2  
BYTE 3  
BYTE 4  
READ SCS1  
SCRF = 1  
OR = 0  
READ SCS1  
SCRF = 1  
OR = 0  
READ SCS1  
SCRF = 1  
OR = 0  
READ SCDR  
(BYTE 1)  
READ SCDR  
(BYTE 2)  
READ SCDR  
(BYTE 3)  
DELAYEDFLAGCLEARINGSEQUENCE  
BYTE 1  
BYTE 2  
BYTE 3  
BYTE 4  
READ SCS1  
SCRF = 1  
OR = 0  
READ SCS1  
SCRF = 1  
OR = 1  
READ SCDR  
(BYTE 3)  
READ SCDR  
(BYTE 1)  
Figure 9. Flag clearing sequence  
FE — Receiver framing error bit  
This clearable, read-only bit is set when a logic is accepted as the  
STOP bit. FE generates an SCI error CPU interrupt request if the  
FEIE bit in SCC3 also is set. Clear the FE bit by reading SCS1 with  
FE set and then reading the SCDR. Reset clears the FE bit.  
1 = Framing error detected  
0 = No framing error detected  
PE — Receiver parity error bit  
This clearable, read-only bit is set when the SCI detects a parity error  
in incoming data. PE generates a PE CPU interrupt request if the  
PEIE bit in SCC3 is also set. Clear the PE bit by reading SCS1 with  
PE set and then reading the SCDR. Reset clears the PE bit.  
1 = Parity error detected  
0 = No parity error detected  
33-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
211  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
SCI status register  
2 (SCS2)  
SCI status register 2 contains flags to signal the following conditions:  
• Break character detected  
• Incoming data  
Bit 7  
6
5
4
0
3
0
2
0
1
Bit 0  
Read:  
Write:  
Reset:  
BKF  
RPF  
SCS2  
$0017  
0
0
0
0
0
= Unimplemented  
Figure 10. SCI status register 2 (SCS2)  
BKF — Break flag bit  
This clearable, read-only bit is set when the SCI detects a break  
character on the PTE1/RxD pin. In SCS1, the FE and SCRF bits are  
also set. In 9-bit character transmissions, the R8 bit in SCC3 is  
cleared. BKF does not generate a CPU interrupt request. Clear BKF  
by reading SCS2 with BKF set and then reading the SCDR. Once  
cleared, BKF can become set again only after ‘1’s again appear on  
the PTE1/RxD pin followed by another break character. Reset clears  
the BKF bit.  
1 = Break character detected  
0 = No break character detected  
RPF — Reception in progress flag bit  
This read-only bit is set when the receiver detects a ‘0’ during the RT1  
time period of the start bit search. RPF does not generate an interrupt  
request. RPF is reset after the receiver detects false start bits (usually  
from noise or a baud rate mismatch, or when the receiver detects an  
idle character. Polling RPF before disabling the SCI module or  
entering STOP mode can show whether a reception is in progress.  
1 = Reception in progress  
0 = No reception in progress  
34-sci  
MC68HC08AZ0  
212  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
SCI data register  
(SCDR)  
The SCI data register is the buffer between the internal data bus and the  
receive and transmit shift registers. Reset has no effect on data in the  
SCI data register.  
Bit 7  
R7  
6
5
4
3
2
1
Bit 0  
R0  
Read:  
Write:  
Reset:  
R6  
T6  
R5  
T5  
R4  
T4  
R3  
T3  
R2  
T2  
R1  
T1  
SCDR  
$0018  
T7  
T0  
Unaffected by reset  
Figure 11. SCI data register (SCDR)  
R7/T7–R0/T0 — Receive/Transmit data bits  
Reading address $0018 accesses the read-only received data bits,  
R7–R0. Writing to address $0018 writes the data to be transmitted,  
T7–T0. Reset has no effect on the SCI data register.  
SCI baud rate  
register (SCBR)  
The baud rate register selects the baud rate for both the receiver and the  
transmitter.  
Bit 7  
6
5
SCP1  
0
4
SCP0  
0
3
2
SCR2  
0
1
SCR1  
0
Bit 0  
SCR0  
0
Read:  
Write:  
Reset:  
SCBR  
$0019  
0
0
0
= Unimplemented  
Figure 12. SCI Baud Rate Register (SCBR)  
SCP1 and SCP0 — SCI Baud Rate Prescaler Bits  
These read/write bits select the baud rate prescaler divisor as shown  
in Table 8. Reset clears SCP1 and SCP0.  
35-sci  
MC68HC08AZ0  
MOTOROLA  
Serial Communications Interface Module (SCI)  
213  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
Table 8. SCI baud rate prescaling  
SCP1:0  
Prescaler Divisor (PD)  
00  
01  
10  
11  
1
3
4
13  
SCR2–SCR0 — SCI baud rate select bits  
These read/write bits select the SCI baud rate divisor as shown in  
Table 9. Reset clears SCR2–SCR0.  
Table 9. SCI baud rate selection  
SCR2:1:0  
000  
Baud Rate Divisor (BD)  
1
2
001  
010  
4
011  
8
100  
16  
32  
64  
128  
101  
110  
111  
Use the following formula to calculate the SCI baud rate:  
f
XCLK  
Baud rate = ----------------------------------  
64 × PD × BD  
where:  
f
= clock frequency  
XCLK  
PD = prescaler divisor  
BD = baud rate divisor  
Table 10 shows the SCI baud rates that can be generated with a  
4.9152-MHz crystal.  
36-sci  
MC68HC08AZ0  
214  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
I/O registers  
Table 10. SCI baud rate selection examples  
Baud rate  
XCLK  
Prescaler divisor  
Baud rate divisor  
(BD)  
SCP1:0  
SCR2:1:0  
(f  
= 4.9152 MHz)  
(PD)  
00  
00  
00  
00  
00  
00  
00  
00  
01  
01  
01  
01  
01  
01  
01  
01  
10  
10  
10  
10  
10  
10  
10  
10  
11  
11  
11  
11  
11  
11  
11  
11  
1
000  
001  
010  
011  
100  
101  
110  
111  
000  
001  
010  
011  
100  
101  
110  
111  
000  
001  
010  
011  
100  
101  
110  
111  
000  
001  
010  
011  
100  
101  
110  
111  
1
2
76,800  
38,400  
19,200  
9600  
4800  
2400  
1200  
600  
1
1
4
1
8
1
16  
32  
64  
128  
1
1
1
1
3
25,600  
12,800  
6400  
3200  
1600  
800  
3
2
3
4
3
8
3
16  
32  
64  
128  
1
3
3
400  
3
200  
4
19,200  
9600  
4800  
2400  
1200  
600  
4
2
4
4
4
8
4
16  
32  
64  
128  
1
4
4
300  
4
150  
13  
13  
13  
13  
13  
13  
13  
13  
5908  
2954  
1477  
739  
2
4
8
16  
32  
64  
128  
369  
185  
92  
46  
37-sci  
MC68HC08AZ0  
215  
MOTOROLA  
Serial Communications Interface Module (SCI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Communications Interface Module (SCI)  
38-sci  
MC68HC08AZ0  
216  
Serial Communications Interface Module (SCI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
SPI  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218  
Pin name conventions and I/O register addresses . . . . . . . . . . . . . . 219  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220  
Master mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222  
Slave mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223  
Transmission formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225  
Clock phase and polarity controls. . . . . . . . . . . . . . . . . . . . . . . . . 225  
Transmission format when CPHA = ‘0. . . . . . . . . . . . . . . . . . . . . 225  
Transmission format when CPHA = ‘1. . . . . . . . . . . . . . . . . . . . . 227  
Transmission initiation latency . . . . . . . . . . . . . . . . . . . . . . . . . . . 228  
Error conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230  
Overflow error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230  
Mode fault error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234  
Queuing transmission data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235  
Resetting the SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238  
STOP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238  
SPI during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240  
MISO (Master in/Slave out). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240  
MOSI (Master out/Slave in). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241  
SPSCK (serial clock). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241  
SS (slave select). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241  
VSS (clock ground). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242  
I/O registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243  
SPI control register (SPCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243  
SPI status and control register (SPSCR) . . . . . . . . . . . . . . . . . . . 246  
SPI data register (SPDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249  
1-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
217  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Introduction  
This section describes the serial peripheral interface module (SPI,  
Version C), which allows full-duplex, synchronous, serial  
communications with peripheral devices.  
NOTE: DMA associated functions are only valid if the MCU has a DMA module.  
Features  
Features of the SPI module include the following:  
• Full-duplex operation  
• Master and slave modes  
• Double-buffered operation with separate transmit and receive  
registers  
• Four master mode frequencies (maximum = bus frequency ÷ 2)  
• Maximum slave mode frequency = bus frequency  
• Serial clock with programmable polarity and phase  
• Two separately enabled interrupts with CPU service:  
– SPRF (SPI receiver full)  
– SPTE (SPI transmitter empty)  
• Mode fault error flag with CPU interrupt capability  
• Overflow error flag with CPU interrupt capability  
• Programmable wired-OR mode  
2
• I C (inter-integrated circuit) compatibility  
2-spi  
MC68HC08AZ0  
218  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Pin name conventions and I/O register addresses  
Pin name conventions and I/O register addresses  
The text that follows describes both SPI1 and SPI2. The SPI I/O pin  
names are SS (slave select), SPSCK (SPI serial clock), V (clock  
SS  
ground), MOSI (master out slave in), and MISO (master in slave out).  
The two SPIs share eight I/O pins with two parallel I/O ports. The full  
names of the SPI I/O pins are as follows:  
Table 1. Pin name conventions  
V
SPI Generic Pin Names:  
MISO  
MOSI  
SS  
SCK  
SS  
Full SPI Pin Names: SPI  
PTE5/MISO  
PTE6/MOSI  
PTE4/SS  
PTE7/SPSCK CGND  
Table 2. I/O register addresses  
Register name  
Register address  
$0010  
SPI Control Register (SPICR)  
SPI Status and Control Register (SPISCR)  
SPI Data Register (SPIDR)  
$0011  
$0012  
The generic pins names appear in the text that follows.  
3-spi  
MC68HC08AZ0  
219  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Functional description  
Figure 1 summarizes the SPI I/O registers and Figure 2 show the  
structure of the SPI module.  
Register name  
R/W Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
SPRIE  
Write:  
SPI Control Register (SPCR)  
R
0
SPMSTR CPOL CPHA SPWOM SPE SPTIE  
Reset:  
0
1
0
1
0
0
0
Read: SPRF  
OVRF MODF SPTE  
SPI Status and Control Register  
(SPSCR)  
ERRIE  
MODFEN SPR1 SPR0  
Write:  
R
0
R
0
R
0
R
1
Reset:  
0
0
0
0
Read: R7  
Write: T7  
Reset:  
R6  
T6  
R5  
T5  
R4  
T4  
R3  
T3  
R2  
T2  
R1  
T1  
R0  
T0  
SPI Data Register (SPDR)  
Unaffected by reset  
R
= Reserved  
Figure 1. SPI I/O register summary  
4-spi  
MC68HC08AZ0  
220  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Functional description  
INTERNAL BUS  
TRANSMIT DATA REGISTER  
SHIFT REGISTER  
CGMOUT ÷ 2  
(FROM SIM)  
MISO  
MOSI  
7
6
5
4
3
2
1
0
÷ 2  
÷ 8  
CLOCK  
RECEIVE DATA REGISTER  
DIVIDER  
÷ 32  
PIN  
CONTROL  
LOGIC  
÷ 128  
CLOCK  
SPSCK  
SS  
SPMSTR  
SPE  
SELECT  
M
CLOCK  
LOGIC  
S
SPR1  
SPR0  
SPMSTR CPHA  
CPOL  
MODFEN  
ERRIE  
SPTIE  
SPWOM  
TRANSMITTER CPU INTERRUPT REQUEST  
RECEIVER/ERROR CPU INTERRUPT REQUEST  
SPI  
CONTROL  
SPRIE  
SPE  
SPRF  
SPTE  
OVRF  
MODF  
Figure 2. SPI module block diagram  
The SPI module allows full-duplex, synchronous, serial communication  
between the MCU and peripheral devices, including other MCUs.  
Software can poll the SPI status flags or SPI operation can be  
interrupt-driven.  
The following paragraphs describe the operation of the SPI module.  
5-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
221  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Master mode  
The SPI operates in master mode when the SPI master bit, SPMSTR, is  
set.  
NOTE: The SPI modules should be configured as master and slave before they  
are enabled. Also, the master SPI should be enabled before the slave  
SPI. Similarly, Disable the slave SPI should be disabled before disabling  
the master SPI. See SPI control register (SPCR) on page 243.  
Only a master SPI module can initiate transmissions. Software begins  
the transmission from a master SPI module by writing to the SPI data  
register. If the shift register is empty, the byte immediately transfers to  
the shift register, setting the SPI transmitter empty bit, SPTE. The byte  
begins shifting out on the MOSI pin under the control of the serial clock.  
See Figure 3.  
The SPR1 and SPR0 bits control the baud rate generator and determine  
the speed of the shift register. See SPI status and control register  
(SPSCR) on page 246. Through the SPSCK pin, the baud rate generator  
of the master also controls the shift register of the slave peripheral.  
As the byte shifts out on the MOSI pin of the master, another byte shifts  
in from the slave on the master’s MISO pin. The transmission ends when  
the receiver full bit, SPRF, becomes set. At the same time that SPRF  
becomes set, the byte from the slave transfers to the receive data  
register. In normal operation, SPRF signals the end of a transmission.  
Software clears SPRF by reading the SPI status and control register with  
6-spi  
MC68HC08AZ0  
222  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Functional description  
SPRF set and then reading the SPI data register. Writing to the SPI data  
register clears the SPTIE bit.  
MASTER MCU  
SLAVE MCU  
MISO  
MOSI  
MISO  
MOSI  
SHIFT REGISTER  
SHIFT REGISTER  
SPSCK  
SS  
SPSCK  
SS  
BAUD RATE  
GENERATOR  
VDD  
Figure 3. Full-duplex master-slave connections  
Slave mode  
The SPI operates in slave mode when the SPMSTR bit is clear. In slave  
mode the SPSCK pin is the input for the serial clock from the master  
MCU. Before a data transmission occurs, the SS pin of the slave MCU  
must be at ‘0’. SS must remain low until the transmission is complete.  
See Mode fault error on page 232.  
In a slave SPI module, data enters the shift register under the control of  
the serial clock from the master SPI module. After a byte enters the shift  
register of a slave SPI, it transfers to the receive data register, and the  
SPRF bit is set. To prevent an overflow condition, slave software must  
then read the SPI data register before another byte enters the shift  
register.  
The maximum frequency of the SPSCK for an SPI configured as a slave  
is the bus clock speed (which is twice as fast as the fastest master  
SPSCK clock that can be generated). The frequency of the SPSCK for  
an SPI configured as a slave does not have to correspond to any  
particular SPI baud rate. The baud rate only controls the speed of the  
SPSCK generated by an SPI configured as a master. Therefore, the  
frequency of the SPSCK for an SPI configured as a slave can be any  
frequency less than or equal to the bus speed.  
7-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
223  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
A slave SPI must complete the write to the data register at least one bus  
cycle before the master SPI starts a transmission. When the clock phase  
bit (CPHA) is set, the first edge of SPSCK starts a transmission. When  
CPHA is clear, the falling edge of SS starts a transmission. See  
Transmission formats on page 225.  
If the write to the data register is late, the SPI transmits the data already  
in the shift register from the previous transmission.  
NOTE: SPSCK must be in the proper idle state before the slave is enabled to  
prevent SPSCK from appearing as a clock edge.  
8-spi  
MC68HC08AZ0  
224  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Transmission formats  
Transmission formats  
During an SPI transmission, data is simultaneously transmitted (shifted  
out serially) and received (shifted in serially). A serial clock line  
synchronizes shifting and sampling on the two serial data lines. A slave  
select line allows individual selection of a slave SPI device; slave  
devices that are not selected do not interfere with SPI bus activities. On  
a master SPI device, the slave select line can optionally be used to  
indicate a multiple-master bus contention.  
Clock phase and  
polarity controls  
Software can select any of four combinations of serial clock (SCK) phase  
and polarity using two bits in the SPI control register (SPCR). The clock  
polarity is specified by the CPOL control bit, which selects an active high  
or low clock and has no significant effect on the transmission format.  
The clock phase (CPHA) control bit selects one of two fundamentally  
different transmission formats. The clock phase and polarity should be  
identical for the master SPI device and the communicating slave device.  
In some cases, the phase and polarity are changed between  
transmissions to allow a master device to communicate with peripheral  
slaves having different requirements.  
NOTE: Before writing to the CPOL bit or the CPHA bit, the SPI should be  
disabled by clearing the SPI enable bit (SPE).  
Transmission  
format when  
CPHA = Ô0Õ  
Figure 4 shows an SPI transmission in which CPHA is ‘0’. The figure  
should not be used as a replacement for data sheet parametric  
information.Two waveforms are shown for SCK: one for CPOL = ‘0’ and  
another for CPOL = ‘1’. The diagram may be interpreted as a master or  
slave timing diagram since the serial clock (SCK), master in/slave out  
(MISO), and master out/slave in (MOSI) pins are directly connected  
between the master and the slave. The MISO signal is the output from  
the slave, and the MOSI signal is the output from the master. The SS line  
is the slave select input to the slave. The slave SPI drives its MISO  
output only when its slave select input (SS) is at ‘0’, so that only the  
selected slave drives to the master. The SS pin of the master is not  
shown but is assumed to be inactive. The SS pin of the master must be  
9-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
225  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
high or must be reconfigured as general purpose I/O not affecting the  
SPI. See Mode fault error on page 232. When CPHA = ‘0’, the first  
SPSCK edge is the MSB capture strobe. Therefore the slave must begin  
driving its data before the first SPSCK edge, and a falling edge on the  
SS pin is used to start the transmission. The SS pin must be toggled high  
and then low between each byte transmitted.  
SCK CYCLE #  
(FOR REFERENCE)  
1
2
3
4
5
6
7
8
SCK (CPOL =’0’)  
SCK (CPOL =1)  
MOSI  
MSB  
BIT 6  
BIT 6  
BIT 5  
BIT 5  
BIT 4  
BIT 4  
BIT 3  
BIT 3  
BIT 2  
BIT 2  
BIT 1  
BIT 1  
LSB  
LSB  
(FROM MASTER)  
MISO  
(FROM SLAVE)  
MSB  
SS (TO SLAVE)  
CAPTURE STROBE  
Figure 4. Transmission format (CPHA = ‘0’)  
MISO/MOSI  
MASTER SS  
BYTE 1  
BYTE 2  
BYTE 3  
SLAVE SS  
(CPHA =’0’)  
SLAVE SS  
(CPHA = 1)  
Figure 5. CPHA/SS timing  
10-spi  
MC68HC08AZ0  
226  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Transmission formats  
Transmission  
format when  
CPHA = Ô1Õ  
Figure 6 shows an SPI transmission in which CPHA is ‘1’. The figure  
should not be used as a replacement for data sheet parametric  
information. Two waveforms are shown for SCK: one for CPOL = ‘0’ and  
another for CPOL = ‘1’. The diagram may be interpreted as a master or  
slave timing diagram since the serial clock (SCK), master in/slave out  
(MISO), and master out/slave in (MOSI) pins are directly connected  
between the master and the slave. The MISO signal is the output from  
the slave, and the MOSI signal is the output from the master. The SS line  
is the slave select input to the slave. The slave SPI drives its MISO  
output only when its slave select input (SS) is at ‘0’, so that only the  
selected slave drives to the master. The SS pin of the master is not  
shown but is assumed to be inactive. The SS pin of the master must be  
high or must be reconfigured as general-purpose I/O not affecting the  
SPI. See Mode fault error on page 232. When CPHA = ‘1’, the master  
begins driving its MOSI pin on the first SPSCK edge. Therefore the slave  
uses the first SPSCK edge as a start transmission signal. The SS pin can  
remain low between transmissions. This format may be preferable in  
systems having only one master and only one slave driving the MISO  
data line.  
SCK CYCLE #  
(FOR REFERENCE)  
1
2
3
4
5
6
7
8
SCK (CPOL =’0’)  
SCK (CPOL =1)  
MOSI  
MSB  
MSB  
BIT 6  
BIT 6  
BIT 5  
BIT 5  
BIT 4  
BIT 4  
BIT 3  
BIT 3  
BIT 2  
BIT 2  
BIT 1  
BIT 1  
LSB  
(FROM MASTER)  
MISO  
(FROM SLAVE)  
LSB  
SS (TO SLAVE)  
CAPTURE STROBE  
Figure 6. Transmission format (CPHA = ‘1’)  
11-spi  
MC68HC08AZ0  
227  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Transmission  
initiation latency  
When the SPI is configured as a master (SPMSTR = ‘1’), transmissions  
are started by a software write to the SPDR. CPHA has no effect on the  
delay to the start of the transmission, but it does affect the initial state of  
the SCK signal. When CPHA = ‘0’, the SCK signal remains inactive for  
the first half of the first SCK cycle. When CPHA = ‘1’, the first SCK cycle  
begins with an edge on the SCK line from its inactive to its active level.  
The SPI clock rate (selected by SPR1:SPR0) affects the delay from the  
write to SPDR and the start of the SPI transmission. See Figure 7. The  
internal SPI clock in the master is a free-running derivative of the internal  
MCU clock. It is only enabled when both the SPE and SPMSTR bits are  
set to conserve power. SCK edges occur halfway through the low time  
of the internal MCU clock. Since the SPI clock is free-running, it is  
uncertain where the write to the SPDR will occur relative to the slower  
SCK. This uncertainty causes the variation in the initiation delay shown  
in Figure 7. This delay will be no longer than a single SPI bit time. That  
is, the maximum delay is two MCU bus cycles for DIV2, eight MCU bus  
cycles for DIV8, 32 MCU bus cycles for DIV32, and 128 MCU bus cycles  
for DIV128.  
12-spi  
MC68HC08AZ0  
228  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Transmission formats  
WRITE  
TO SPDR  
INITIATION DELAY  
MSB  
BUS  
CLOCK  
MOSI  
BIT 6  
BIT 5  
SCK  
(CPHA = 1)  
SCK  
(CPHA =’0’)  
SCK CYCLE  
NUMBER  
1
2
3
INITIATION DELAY FROM WRITE SPDR TO TRANSFER BEGIN  
WRITE  
TO SPDR  
BUS  
CLOCK  
(SCK = INTERNAL CLOCK  
2 POSSIBLE START POINTS)  
2;  
EARLIEST LATEST  
WRITE  
TO SPDR  
BUS  
CLOCK  
EARLIEST  
(SCK = INTERNAL CLOCK  
8 POSSIBLE START POINTS)  
8;  
LATEST  
LATEST  
LATEST  
WRITE  
TO SPDR  
BUS  
CLOCK  
EARLIEST  
WRITE  
TO SPDR  
(SCK = INTERNAL CLOCK  
32;  
32 POSSIBLE START POINTS)  
BUS  
CLOCK  
EARLIEST  
(SCK = INTERNAL CLOCK  
128;  
128 POSSIBLE START POINTS)  
Figure 7. Transmission start delay (master)  
13-spi  
MC68HC08AZ0  
229  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Error conditions  
The following flags signal SPI error conditions:  
• Overflow (OVRF) — failing to read the SPI data register before the  
next byte enters the shift register results in the OVRF bit becoming  
set. The new byte does not transfer to the receive data register,  
and the unread byte still can be read by accessing the SPI data  
register. OVRF is in the SPI status and control register.  
• Mode fault error (MODF) — the MODF bit indicates that the  
voltage on the slave select pin (SS) is inconsistent with the mode  
of the SPI. MODF is in the SPI status and control register.  
Overflow error  
The overflow flag (OVRF) becomes set if the SPI receive data register  
still has unread data from a previous transmission when the capture  
strobe of bit 1 of the next transmission occurs. See Figure 4 and Figure  
6. If an overflow occurs, the data being received is not transferred to the  
receive data register so that the unread data can still be read. Therefore,  
an overflow error always indicates the loss of data.  
OVRF generates a receiver/error CPU interrupt request if the error  
interrupt enable bit (ERRIE) is also set. MODF and OVRF can generate  
a receiver/error CPU interrupt request. See Figure 10. It is not possible  
to enable only MODF or OVRF to generate a receiver/error CPU  
interrupt request. However, leaving MODFEN low prevents MODF from  
being set.  
If an end-of-block transmission interrupt was meant to pull the MCU out  
of wait, having an overflow condition without overflow interrupts enabled  
causes the MCU to hang in wait mode. If the OVRF is enabled to  
generate an interrupt, it can pull the MCU out of wait mode instead.  
If the CPU SPRF interrupt is enabled and the OVRF interrupt is not,  
watch for an overflow condition. Figure 8 shows how it is possible to  
miss an overflow.  
14-spi  
MC68HC08AZ0  
230  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Error conditions  
BYTE 1  
1
BYTE 2  
4
BYTE 3  
6
BYTE 4  
8
SPRF  
OVRF  
2
5
READ SPSCR  
READ SPDR  
3
7
1
2
BYTE 1 SETS SPRF BIT.  
5
CPU READS SPSCRW WITH SPRF BIT SET  
AND OVRF BIT CLEAR.  
CPU READS SPSCR WITH SPRF BIT SET  
AND OVRF BIT CLEAR.  
CPU READS BYTE 1 IN SPDR,  
CLEARING SPRF BIT.  
6
7
BYTE 3 SETS OVRF BIT. BYTE 3 IS LOST.  
3
4
CPU READS BYTE 2 IN SPDR, CLEARING SPRF  
BUT NOT OVRF BIT.  
BYTE 2 SETS SPRF BIT.  
8
BYTE 4 FAILS TO SET SPRF BIT BECAUSE  
OVRF BIT IS SET. BYTE 4 IS LOST.  
Figure 8. Missed read of overflow condition  
The first part of Figure 8 shows how to read the SPSCR and SPDR to  
clear the SPRF without problems. However, as illustrated by the second  
transmission example, the OVRF flag can be set in the interval between  
SPSCR and SPDR being read.  
In this case, an overflow can easily be missed. Since no more SPRF  
interrupts can be generated until this OVRF is serviced, it will not be  
obvious that bytes are being lost as more transmissions are completed.  
To prevent this, the OVRF interrupt should be enabled, or alternatively  
another read of the SPSCR should be carried out following the read of  
the SPDR. This ensures that the OVRF was not set before the SPRF  
was cleared and that future transmissions will terminate with an SPRF  
interrupt. Figure 9 illustrates this process. Generally, to avoid this  
second SPSCR read, enable the OVRF to the CPU by setting the ERRIE  
bit.  
15-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
231  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
BYTE 1  
1
BYTE 2  
5
BYTE 3  
7
BYTE 4  
11  
SPI RECEIVE  
COMPLETE  
SPRF  
OVRF  
2
4
12  
6
14  
9
READ SPSCR  
READ SPDR  
3
8
10  
13  
1
2
8
9
BYTE 1 SETS SPRF BIT.  
CPU READS BYTE 2 IN SPDR,  
CLEARING SPRF BIT.  
CPU READS SPSCR WITH SPRF BIT SET  
AND OVRF BIT CLEAR.  
CPU READS SPSCR AGAIN  
TO CHECK OVRF BIT.  
3
4
CPU READS BYTE 1 IN SPDR,  
CLEARING SPRF BIT.  
CPU READS BYTE 2 SPDR,  
CLEARING OVRF BIT.  
10  
CPU READS SPSCR AGAIN  
TO CHECK OVRF BIT.  
11  
12  
BYTE 4 SETS SPRF BIT.  
CPU READS SPSCR.  
5
6
BYTE 2 SETS SPRF BIT.  
CPU READS SPSCR WITH SPRF BIT SET  
AND OVRF BIT CLEAR.  
CPU READS BYTE 4 IN SPDR,  
CLEARING SPRF BIT.  
13  
14  
7
BYTE 3 SETS OVRF BIT. BYTE 3 IS LOST.  
CPU READS SPSCR AGAIN  
TO CHECK OVRF BIT.  
Figure 9. Clearing SPRF when OVRF interrupt is not enabled  
Mode fault error  
For the MODF flag to be set, the mode fault error enable bit (MODFEN)  
must be set. Clearing the MODFEN bit does not clear the MODF flag but  
does prevent MODF from being set again after MODF is cleared.  
MODF generates a receiver/error CPU interrupt request if the error  
interrupt enable bit (ERRIE) is also set. The SPRF, MODF, and OVRF  
interrupts share the same CPU interrupt vector. MODF and OVRF can  
generate a receiver/error CPU interrupt request. See Figure 10. It is not  
possible to enable only MODF or OVRF to generate a receiver/error  
CPU interrupt request. However, leaving MODFEN low prevents MODF  
from being set.  
In a master SPI with the mode fault enable bit (MODFEN) set, the mode  
fault flag (MODF) is set if SS becomes ‘0’. A mode fault in a master SPI  
causes the following events to occur:  
16-spi  
MC68HC08AZ0  
232  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Error conditions  
• If ERRIE = ‘1’, the SPI generates an SPI receiver/error CPU  
interrupt request.  
• The SPE bit is cleared.  
• The SPTE bit is set.  
• The SPI state counter is cleared.  
• The data direction register of the shared I/O port regains control of  
port drivers.  
NOTE: To prevent bus contention with another master SPI after a mode fault  
error, clear all SPI bits of the data direction register of the shared I/O  
port.  
NOTE: Setting the MODF flag does not clear the SPMSTR bit. The SPMSTR bit  
has no function when SPE = ‘0’. Reading SPMSTR when MODF = ‘1’  
shows the difference between a MODF occurring when the SPI is a  
master and when it is a slave.  
When configured as a slave (SPMSTR = ‘0’), the MODF flag is set if SS  
goes high during a transmission. When CPHA = ‘0’, a transmission  
begins when SS goes low and ends once the incoming SPSCK goes  
back to its idle level following the shift of the eighth data bit. When CPHA  
= ‘1’, the transmission begins when the SPSCK leaves its idle level and  
SS is already low. The transmission continues until the SPSCK returns  
to its IDLE level following the shift of the last data bit. See Transmission  
formats on page 225.  
NOTE: When CPHA = ‘0’, a MODF occurs if a slave is selected (SS is at ‘0’) and  
later deselected (SS is ‘1’) even if no SPSCK is sent to that slave. This  
happens because SS at ‘0’ indicates the start of the transmission (MISO  
driven out with the value of MSB) for CPHA = ‘0’. When CPHA = ‘1’, a  
slave can be selected and then later deselected with no transmission  
occurring. Therefore, MODF does not occur since a transmission was  
never begun.  
In a slave SPI (MSTR = ‘0’), the MODF bit generates an SPI  
receiver/error CPU interrupt request if the ERRIE bit is set. The MODF  
bit does not clear the SPE bit or reset the SPI in any way. Software can  
abort the SPI transmission by toggling the SPE bit of the slave.  
17-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
233  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
NOTE: A ‘1’ on the SS pin of a slave SPI puts the MISO pin in a high impedance  
state. Also, the slave SPI ignores all incoming SPSCK clocks, even if it  
was already in the middle of a transmission.  
To clear the MODF flag, the SPSCR should be read with the MODF bit  
set and then the SPCR register should be written to. This entire clearing  
mechanism must occur with no MODF condition existing or else the flag  
will not be cleared.  
Interrupts  
Four SPI status flags can be enabled to generate CPU interrupt  
requests:  
Table 3. SPI interrupts  
Flag  
Request  
SPTE (Transmitter Empty) SPI Transmitter CPU Interrupt Request (SPTIE = 1)  
SPRF (Receiver Full)  
OVRF (Overflow)  
SPI Receiver CPU Interrupt Request (SPRIE = 1)  
SPI Receiver/Error Interrupt Request (SPRIE = 1, ERRIE = 1)  
SPI Receiver/Error Interrupt Request (SPRIE = 1, ERRIE = 1, MODFEN = ‘1’)  
MODF (Mode Fault)  
The SPI transmitter interrupt enable bit (SPTIE) enables the SPTE flag  
to generate transmitter CPU interrupt requests.  
The SPI receiver interrupt enable bit (SPRIE) enables the SPRF bit to  
generate receiver CPU interrupt requests, provided that the SPI is  
enabled (SPE = 1).  
The error interrupt enable bit (ERRIE) enables both the MODF and  
OVRF flags to generate a receiver/error CPU interrupt request.  
The mode fault enable bit (MODFEN) can prevent the MODF flag from  
being set so that only the OVRF flag is enabled to generate  
receiver/error CPU interrupt requests.  
18-spi  
MC68HC08AZ0  
234  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Queuing transmission data  
SPTE  
SPTIE  
SPE  
SPI TRANSMITTER  
CPU INTERRUPT REQUEST  
SPRIE  
SPRF  
SPI RECEIVER/ERROR  
CPU INTERRUPT REQUEST  
ERRIE  
MODF  
OVRF  
Figure 10. SPI interrupt request generation  
Two sources in the SPI status and control register can generate CPU  
interrupt requests:  
• SPI receiver full bit (SPRF) — the SPRF bit becomes set every  
time a byte transfers from the shift register to the receive data  
register. If the SPI receiver interrupt enable bit, SPRIE, is also set,  
SPRF can generate either an SPI receiver/error CPU interrupt  
request.  
• SPI transmitter empty (SPTE) — the SPTE bit becomes set every  
time a byte transfers from the transmit data register to the shift  
register. If the SPI transmit interrupt enable bit, SPTIE, is also set,  
SPTE can generate an SPTE CPU interrupt request.  
Queuing transmission data  
The double-buffered transmit data register allows a data byte to be  
queued and transmitted. For an SPI configured as a master, a queued  
data byte is transmitted immediately after the previous transmission has  
completed. The SPI transmitter empty flag (SPTE) indicates when the  
transmit data buffer is ready to accept new data. Write to the SPI data  
register only when the SPTE bit is high. Figure 11 shows the timing  
19-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
235  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
associated with doing back-to-back transmissions with the SPI (SPSCK  
has CPHA: CPOL = 1:0).  
1
3
8
WRITE TO SPDR  
5
10  
SPTE  
2
PSCK (CPHA:CPOL =‘1’:0)  
MOSI  
MSB BIT BIT BIT BIT BIT BIT LSB MSB BIT BIT BIT BIT BIT BIT LSB MSB BIT BIT BIT  
6
5
4
3
2
1
6
5
4
3
2
1
6
5
4
BYTE 1  
BYTE 2  
BYTE 3  
4
9
SPRF  
READ SPSCR  
READ SPDR  
6
11  
7
12  
1
2
3
4
CPU WRITES BYTE 1 TO SPDR, CLEARING  
SPTE BIT.  
7
CPU READS SPDR, CLEARING SPRF BIT.  
8
CPU WRITES BYTE 3 TO SPDR, QUEUEING  
BYTE 3 AND CLEARING SPTE BIT.  
BYTE 1 TRANSFERS FROM TRANSMIT DATA  
REGISTER TO SHIFT REGISTER, SETTING SPTE BIT.  
9
SECOND INCOMING BYTE TRANSFERS FROM SHIFT  
REGISTER TO RECEIVE DATA REGISTER, SETTING  
SPRF BIT.  
CPU WRITES BYTE 2 TO SPDR, QUEUEING  
BYTE 2 AND CLEARING SPTE BIT.  
FIRST INCOMING BYTE TRANSFERS FROM SHIFT  
REGISTER TO RECEIVE DATA REGISTER, SETTING  
SPRF BIT.  
10  
BYTE 3 TRANSFERS FROM TRANSMIT DATA  
REGISTER TO SHIFT REGISTER, SETTING SPTE BIT.  
11  
12  
CPU READS SPSCR WITH SPRF BIT SET.  
CPU READS SPDR, CLEARING SPRF BIT.  
5
6
BYTE 2 TRANSFERS FROM TRANSMIT DATA  
REGISTER TO SHIFT REGISTER, SETTING SPTE BIT.  
CPU READS SPSCR WITH SPRF BIT SET.  
Figure 11. SPRF/SPTE CPU interrupt timing  
For a slave, the transmit data buffer allows back-to-back transmissions  
to occur without the slave having to time the write of its data between the  
transmissions. Also, if no new data is written to the data buffer, the last  
value contained in the shift register will be the next data word  
transmitted.  
20-spi  
MC68HC08AZ0  
236  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Resetting the SPI  
Resetting the SPI  
Any system reset completely resets the SPI. Partial resets occur  
whenever the SPI enable bit (SPE) is low. Whenever SPE is low, the  
following occurs:  
• The SPTE flag is set  
• Any transmission currently in progress is aborted  
• The shift register is cleared  
• The SPI state counter is cleared, making it ready for a new  
complete transmission  
• All the SPI port logic is defaulted back to being general purpose  
I/O.  
The following items are reset only by a system reset:  
• All control bits in the SPCR register  
• All control bits in the SPSCR register (MODFEN, ERRIE, SPR1,  
and SPR0)  
• The status flags SPRF, OVRF, and MODF  
By not resetting the control bits when SPE is low, the user can clear SPE  
between transmissions without having to set all control bits again when  
SPE is set back high for the next transmission.  
By not resetting the SPRF, OVRF, and MODF flags, the user can still  
service these interrupts after the SPI has been disabled. The user can  
disable the SPI by writing ‘0’ to the SPE bit. The SPI can also be disabled  
by a mode fault occurring in an SPI that was configured as a master with  
the MODFEN bit set.  
21-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
237  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
Low-power modes  
The WAIT and STOP instructions put the MCU in low  
power-consumption standby modes.  
WAIT mode  
The SPI module remains active after the execution of a WAIT instruction.  
In WAIT mode the SPI module registers are not accessible by the CPU.  
Any enabled CPU interrupt request from the SPI module can bring the  
MCU out of WAIT mode.  
If SPI module functions are not required during WAIT mode, power  
consumption can be reduced by disabling the SPI module before  
executing the WAIT instruction.  
To exit WAIT mode when an overflow condition occurs, the OVRF bit  
should be enabled to generate CPU interrupt requests by setting the  
error interrupt enable bit (ERRIE). See Interrupts on page 234.  
STOP mode  
The SPI module is inactive after the execution of a STOP instruction.  
The STOP instruction does not affect register conditions. SPI operation  
resumes after an external interrupt. If STOP mode is exited by reset, any  
transfer in progress is aborted, and the SPI is reset.  
22-spi  
MC68HC08AZ0  
238  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
SPI during break interrupts  
SPI during break interrupts  
The system integration module (SIM) controls whether status bits in  
other modules can be cleared during the break state. The BCFE bit in  
the SIM break flag control register (SBFCR) enables software to clear  
status bits during the break state. See SIM break flag control register  
(SBFCR) on page 106.  
To allow software to clear status bits during a break interrupt, a ‘1’ should  
be written to the BCFE bit. If a status bit is cleared during the break state,  
it remains cleared when the MCU exits the break state.  
To protect status bits during the break state, a ‘0’ should be written to the  
BCFE bit. With BCFE at ‘0’ (its default state), software can read and write  
I/O registers during the break state without affecting status bits. Some  
status bits have a two-step read/write clearing procedure. If software  
does the first step on such a bit before the break, the bit cannot change  
during the break state as long as BCFE is a ‘0’. After the break, the  
second step clears the status bit.  
Since the SPTE bit cannot be cleared during a break with the BCFE bit  
cleared, a write to the data register in break mode will not initiate a  
transmission, nor will this data be transferred into the shift register.  
Therefore, a write to the SPDR in break mode with the BCFE bit cleared  
has no effect.  
23-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
239  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
I/O Signals  
The SPI module has five I/O pins and shares four of them with a parallel  
I/O port.  
• MISO — data received  
• MOSI — data transmitted  
• SPSCK — serial clock  
• SS — slave select  
• V — clock ground  
SS  
2
The SPI has limited inter-integrated circuit (I C) capability (requiring  
software support) as a master in a single-master environment. To  
2
communicate with I C peripherals, MOSI becomes an open-drain output  
2
when the SPWOM bit in the SPI control register is set. In I C  
communication, the MOSI and MISO pins are connected to a  
2
bidirectional pin from the I C peripheral and through a pullup resistor to  
VDD.  
MISO (Master  
in/Slave out)  
MISO is one of the two SPI module pins that transmits serial data. In full  
duplex operation, the MISO pin of the master SPI module is connected  
to the MISO pin of the slave SPI module. The master SPI simultaneously  
receives data on its MISO pin and transmits data from its MOSI pin.  
Slave output data on the MISO pin is enabled only when the SPI is  
configured as a slave. The SPI is configured as a slave when its  
SPMSTR bit is ‘0’ and its SS pin is at ‘0’. To support a multiple-slave  
system, a ‘1’ on the SS pin puts the MISO pin in a high-impedance state.  
When enabled, the SPI controls data direction of the MISO pin  
regardless of the state of the data direction register of the shared I/O  
port.  
24-spi  
MC68HC08AZ0  
240  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
I/O Signals  
MOSI (Master  
out/Slave in)  
MOSI is one of the two SPI module pins that transmits serial data. In full  
duplex operation, the MOSI pin of the master SPI module is connected  
to the MOSI pin of the slave SPI module. The master SPI simultaneously  
transmits data from its MOSI pin and receives data on its MISO pin.  
When enabled, the SPI controls data direction of the MOSI pin  
regardless of the state of the data direction register of the shared I/O  
port.  
SPSCK (serial  
clock)  
The serial clock synchronizes data transmission between master and  
slave devices. In a master MCU, the SPSCK pin is the clock output. In a  
slave MCU, the SPSCK pin is the clock input. In full duplex operation,  
the master and slave MCUs exchange a byte of data in eight serial clock  
cycles.  
When enabled, the SPI controls data direction of the SPSCK pin  
regardless of the state of the data direction register of the shared I/O  
port.  
SS (slave select)  
The SS pin has various functions depending on the current state of the  
SPI. For an SPI configured as a slave, the SS is used to select a slave.  
For CPHA = ‘0’, the SS is used to define the start of a transmission. See  
Transmission formats on page 225. Since it is used to indicate the start  
of a transmission, the SS must be toggled high and low between each  
byte transmitted for the CPHA = ‘0’ format. However, it can remain low  
throughout the transmission for the CPHA = ‘1’ format. See Figure 12.  
MISO/MOSI  
MASTER SS  
BYTE 1  
BYTE 2  
BYTE 3  
SLAVE SS  
(CPHA =’0’)  
SLAVE SS  
(CPHA = ‘1’)  
Figure 12. CPHA/SS timing  
25-spi  
MC68HC08AZ0  
241  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
When an SPI is configured as a slave, the SS pin is always configured  
as an input. It cannot be used as a general purpose I/O regardless of the  
state of the MODFEN control bit. However, the MODFEN bit can still  
prevent the state of the SS from creating a MODF error. See SPI status  
and control register (SPSCR) on page 246.  
NOTE: A ‘1’ on the SS pin of a slave SPI puts the MISO pin in a high-impedance  
state. The slave SPI ignores all incoming SPSCK clocks, even if  
transmission has already begun.  
When an SPI is configured as a master, the SS input can be used in  
conjunction with the MODF flag to prevent multiple masters from driving  
MOSI and SPSCK. See Mode fault error on page 232. For the state of  
the SS pin to set the MODF flag, the MODFEN bit in the SPSCK register  
must be set. If the MODFEN bit is low for an SPI master, the SS pin can  
be used as a general purpose I/O under the control of the data direction  
register of the shared I/O port. With MODFEN high, it is an input-only pin  
to the SPI regardless of the state of the data direction register of the  
shared I/O port.  
The CPU can always read the state of the SS pin by configuring the  
appropriate pin as an input and reading the data register. See Table 4.  
Table 4. SPI configuration  
SPE  
SPMSTR MODFEN SPI CONFIGURATION  
STATE OF SS LOGIC  
General-purpose I/O; SS  
ignored by SPI  
(1)  
0
1
1
1
X
X
X
0
1
Not Enabled  
Slave  
0
Input-only to SPI  
General-purpose I/O; SS  
ignored by SPI  
1
1
Master without MODF  
Master with MODF  
Input-only to SPI  
1. X = don’t care  
V
V
is the ground return for the serial clock pin, SPSCK, and the ground  
SS  
SS  
(clock ground)  
for the port output buffers. To reduce the ground return path loop and  
minimize radio frequency (RF) emissions, the ground pin should be  
connected of the slave to the V pin.  
SS  
26-spi  
MC68HC08AZ0  
242  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
I/O registers  
I/O registers  
Three registers control and monitor SPI operation:  
• SPI control register (SPCR)  
• SPI status and control register (SPSCR)  
• SPI data register (SPDR)  
SPI control register  
(SPCR)  
The SPI control register does the following:  
• Enables SPI module interrupt requests  
• Selects CPU interrupt requests  
• Configures the SPI module as master or slave  
• Selects serial clock polarity and phase  
• Configures the SPSCK, MOSI, and MISO pins as open-drain  
outputs  
• Enables the SPI module  
Bit 7  
6
5
SPMSTR  
1
4
CPOL  
0
3
2
1
SPE  
0
Bit 0  
SPTIE  
0
Read:  
SPCR  
SPRIE  
R
CPHA SPWOM  
Write:  
Reset:  
0
0
1
0
R
= Reserved  
Figure 13. SPI control register (SPCR)  
SPRIE — SPI receiver interrupt enable  
This read/write bit enables CPU interrupt requests generated by the  
SPRF bit. The SPRF bit is set when a byte transfers from the shift  
register to the receive data register. Reset clears the SPRIE bit.  
1 = SPRF CPU interrupt requests enabled  
0 = SPRF CPU interrupt requests disabled  
27-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
243  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
SPMSTR — SPI master  
This read/write bit selects master mode operation or slave mode  
operation. Reset sets the SPMSTR bit.  
1 = Master mode  
0 = Slave mode  
CPOL — Clock polarity  
This read/write bit determines the logic state of the SPSCK pin  
between transmissions. See Figure 4 and Figure 6. To transmit data  
between SPI modules, the SPI modules must have identical CPOL  
bits. Reset clears the CPOL bit.  
CPHA — Clock phase  
This read/write bit controls the timing relationship between the serial  
clock and SPI data. See Figure 4 and Figure 6. To transmit data  
between SPI modules, the SPI modules must have identical CPHA  
bits. When CPHA = ‘0’, the SS pin of the slave SPI module must be  
set to logic one between bytes. See Figure 12. Reset sets the CPHA  
bit.  
When CPHA =’0’ for a slave, the falling edge of SS indicates the  
beginning of the transmission. This causes the SPI to leave its idle  
state and begin driving the MISO pin with the MSB of its data. Once  
the transmission begins, no new data is allowed into the shift register  
from the data register. Therefore, the slave data register must be  
loaded with the desired transmit data before the falling edge of SS.  
Any data written after the falling edge is stored in the data register and  
transferred to the shift register at the current transmission.  
When CPHA = ‘1’ for a slave, the first edge of the SPSCK indicates  
the beginning of the transmission. The same applies when SS is high  
for a slave. The MISO pin is held in a high-impedance state, and the  
incoming SPSCK is ignored. In certain cases, it may also cause the  
MODF flag to be set. See Mode fault error on page 232. A ‘1’ on the  
SS pin does not affect the state of the SPI state machine in any way.  
SPWOM — SPI wired-OR mode  
This read/write bit disables the pull-up devices on pins SPSCK,  
MOSI, and MISO so that those pins become open-drain outputs.  
1 = Wired-OR SPSCK, MOSI, and MISO pins  
28-spi  
MC68HC08AZ0  
244  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
I/O registers  
0 = Normal push-pull SPSCK, MOSI, and MISO pins  
SPE — SPI enable  
This read/write bit enables the SPI module. Clearing SPE causes a  
partial reset of the SPI. See Resetting the SPI on page 237. Reset  
clears the SPE bit.  
1 = SPI module enabled  
0 = SPI module disabled  
SPTIE— SPI transmit interrupt enable  
This read/write bit enables CPU interrupt requests generated by the  
SPTE bit. SPTE is set when a byte transfers from the transmit data  
register to the shift register. Reset clears the SPTIE bit.  
1 = SPTE CPU interrupt requests enabled  
0 = SPTE CPU interrupt requests disabled  
29-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
245  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
SPI status and  
control register  
(SPSCR)  
The SPI status and control register contains flags to signal the following  
conditions:  
• Receive data register full  
• Failure to clear SPRF bit before next byte is received (overflow  
error)  
• Inconsistent logic level on SS pin (mode fault error)  
• Transmit data register empty  
The SPI status and control register also contains bits that perform the  
following functions:  
• Enable error interrupts  
• Enable mode fault error detection  
• Select master SPI baud rate  
Bit 7  
6
5
OVRF  
R
4
3
SPTE  
R
2
1
SPR1  
0
Bit 0  
SPR0  
0
Read:  
Write:  
Reset:  
SPRF  
MODF  
MODFE  
N
SPSCR  
ERRIE  
R
0
R
0
0
0
1
0
R
= Reserved  
Figure 14. SPI status and control register (SPSCR)  
SPRF — SPI receiver full  
This clearable, read-only flag is set each time a byte transfers from  
the shift register to the receive data register. SPRF generates a CPU  
interrupt request if the SPRIE bit in the SPI control register is set also.  
During an SPRF CPU interrupt, the CPU clears SPRF by reading the  
SPI status and control register with SPRF set and then reading the  
SPI data register. During an SPRF DMA transmission (DMAS=’1’),  
any read of the SPI data register clears the SPRF bit.  
Reset clears the SPRF bit.  
1 = Receive data register full  
0 = Receive data register not full  
30-spi  
MC68HC08AZ0  
246  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
I/O registers  
ERRIE — Error interrupt enable  
This read-only bit enables the MODF and OVRF flags to generate  
CPU interrupt requests. Reset clears the ERRIE bit.  
1 = MODF and OVRF can generate CPU interrupt requests  
0 = MODF and OVRF cannot generate CPU interrupt requests  
OVRF — Overflow flag  
This clearable, read-only flag is set if software does not read the byte  
in the receive data register before the next byte enters the shift  
register. In an overflow condition, the byte already in the receive data  
register is unaffected, and the byte that shifted in last is lost. Clear the  
OVRF bit by reading the SPI status and control register with OVRF set  
and then reading the SPI data register. Reset clears the OVRF flag.  
1 = Overflow  
0 = No overflow  
MODF — Mode fault  
This clearable, ready-only flag is set in a slave SPI if the SS pin goes  
high during a transmission. In a master SPI, the MODF flag is set if  
the SS pin goes low at any time. Clear the MODF bit by reading the  
SPI status and control register with MODF set and then writing to the  
SPI data register. Reset clears the MODF bit.  
1 = SS pin at inappropriate logic level  
0 = SS pin at appropriate logic level  
SPTE — SPI transmitter empty  
This clearable, read-only flag is set each time the transmit data  
register transfers a byte into the shift register. SPTE generates an  
SPTE CPU interrupt request or an SPTE DMA service req uest if the  
SPTIE bit in the SPI control register is set also.  
NOTE: The SPI data register should not be written to unless the SPTE bit is  
high.  
For an idle master or idle slave that has no data loaded into its  
transmit buffer, the SPTE will be set again within two bus cycles since  
the transmit buffer empties into the shift register. This allows the user  
to queue up a 16-bit value to send. For an already active slave, the  
load of the shift register cannot occur until the transmission is  
31-spi  
MC68HC08AZ0  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
247  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
completed. This implies that a back-to-back write to the transmit data  
register is not possible. The SPTE indicates when the next write can  
occur.  
Reset sets the SPTE bit.  
1 = Transmit data register empty  
0 = Transmit data register not empty  
MODFEN — Mode fault enable  
This read/write bit, when set to ‘1’, allows the MODF flag to be set. If  
the MODF flag is set, clearing the MODFEN does not clear the MODF  
flag. If the SPI is enabled as a master and the MODFEN bit is low,  
then the SS pin is available as a general purpose I/O.  
If the MODFEN bit is set, then this pin is not available as a general  
purpose I/O. When the SPI is enabled as a slave, the SS pin is not  
available as a general purpose I/O regardless of the value of  
MODFEN. See SS (slave select) on page 241.  
If the MODFEN bit is low, the level of the SS pin does not affect the  
operation of an enabled SPI configured as a master. For an enabled  
SPI configured as a slave, having MODFEN low only prevents the  
MODF flag from being set. It does not affect any other part of SPI  
operation. See Mode fault error on page 232.  
SPR1 and SPR0 — SPI baud rate select  
In master mode, these read/write bits select one of four baud rates as  
shown in Table 5. SPR1 and SPR0 have no effect in slave mode.  
Reset clears SPR1 and SPR0.  
Table 5. SPI master baud rate selection  
SPR1:SPR0  
Baud rate divisor (BD)  
00  
01  
10  
11  
2
8
32  
128  
32-spi  
MC68HC08AZ0  
248  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
I/O registers  
The following formula is used to calculate the SPI baud rate:  
CGMOUT  
Baud rate = ---------------------------  
2 × BD  
where:  
CGMOUT = base clock output of the clock generator module (CGM)  
BD = baud rate divisor  
SPI data register  
(SPDR)  
The SPI data register is the read/write buffer for the receive data register  
and the transmit data register. Writing to the SPI data register writes data  
into the transmit data register. Reading the SPI data register reads data  
from the receive data register. The transmit data and receive data  
registers are separate buffers that can contain different values. See  
Figure 2.  
Bit 7  
R7  
6
5
4
3
2
1
Bit 0  
R0  
Read:  
Write:  
Reset:  
R6  
T6  
R5  
T5  
R4  
T4  
R3  
T3  
R2  
T2  
R1  
T1  
SPDR  
T7  
T0  
Indeterminate after reset  
Figure 15. SPI data register (SPDR)  
R7:R0/T7:T0 — Receive/Transmit data bits  
NOTE: Read-modify-write instructions should not be used on the SPI data  
register since the buffer read is not the same as the buffer written.  
33-spi  
MC68HC08AZ0  
249  
MOTOROLA  
Serial Peripheral Interface Module (SPI)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Serial Peripheral Interface Module (SPI)  
34-spi  
MC68HC08AZ0  
250  
Serial Peripheral Interface Module (SPI)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
TIMA  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253  
TIMA counter prescaler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253  
Input capture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256  
Output compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256  
Unbuffered output compare . . . . . . . . . . . . . . . . . . . . . . . . . . . 256  
Buffered output compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257  
Pulse width modulation (PWM). . . . . . . . . . . . . . . . . . . . . . . . . . . 258  
Unbuffered PWM signal generation . . . . . . . . . . . . . . . . . . . . . 259  
Buffered PWM signal generation . . . . . . . . . . . . . . . . . . . . . . . 260  
PWM initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263  
Wait mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263  
TIMA during break interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265  
TIMA clock pin (PTD6/ATD14/TACLK). . . . . . . . . . . . . . . . . . . . . 265  
TIMA channel I/O pins (PTF1/TACH3–PTE2/TACH0) . . . . . . . . . 265  
I/O registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266  
TIMA status and control register (TASC) . . . . . . . . . . . . . . . . . . . 266  
TIMA counter registers (TACNTH:TACNTL). . . . . . . . . . . . . . . . . 268  
TIMA counter modulo registers (TAMODH/L). . . . . . . . . . . . . . . . 269  
TIMA channel status and control registers (TASC0–TASC3). . . . 270  
TIMA channel registers (TACH0H/L–TACHH/L). . . . . . . . . . . . . . 274  
1-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
251  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
Introduction  
This section describes the timer interface module (TIMA). The TIMA is a  
four-channel timer that provides a timing reference with input capture,  
output compare, and pulse-width-modulation functions. Figure 1 is a  
block diagram of the TIMA.  
Features  
Features of the TIMA include the following:  
• Four input capture/output compare channels  
– Rising-edge, falling-edge, or any-edge input capture trigger  
– Set, clear, or toggle output compare action  
• Buffered and unbuffered pulse width modulation (PWM) signal  
generation  
• Programmable TIMA clock input  
– Seven-frequency internal bus clock prescaler selection  
– External TIMA clock input (4MHz maximum frequency)  
• Free-running or modulo up-count operation  
• Toggle any channel pin on overflow  
• TIMA counter stop and reset bits  
• Modular architecture expandable to 8 channels  
2-tima  
MC68HC08AZ0  
252  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
Functional description  
Functional description  
Figure 1 shows the structure of the TIMA. The central component of the  
TIMA is the 16-bit TIMA counter that can operate as a free-running  
counter or a modulo up-counter. The TIMA counter provides the timing  
reference for the input capture and output compare functions. The TIMA  
counter modulo registers, TAMODH:TAMODL, control the modulo value  
of the TIMA counter. Software can read the TIMA counter value at any  
time without affecting the counting sequence.  
The four TIMA channels are programmable independently as input  
capture or output compare channels.  
TIMA counter  
prescaler  
The TIMA clock source can be one of the seven prescaler outputs or the  
TIMA clock pin, PTD6/ATD14/TACLK. The prescaler generates seven  
clock rates from the internal bus clock. The prescaler select bits, PS[2:0],  
in the TIMA status and control register select the TIMA clock source.  
3-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
253  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
TACLK  
PTD6/ATD14/  
PRESCALER SELECT  
INTERNAL  
BUS CLOCK  
PRESCALER  
TSTOP  
TRST  
PS2  
PS1  
PS0  
16-BIT COUNTER  
INTER-  
RUPT  
LOGIC  
TOF  
TOIE  
16-BIT COMPARATOR  
TAMODH:TAMODL  
TOV0  
ELS0B ELS0A  
PTE2  
CH0MAX  
CHANNEL 0  
16-BIT COMPARATOR  
TACH0H:TACH0L  
16-BIT LATCH  
PTE2/TACH  
PTE3/TACH  
PTF0/TACH  
PTF1/TACH  
LOGIC  
CH0F  
INTER-  
RUPT  
LOGIC  
MS0A  
CH0IE  
MS0B  
CH1F  
TOV1  
ELS1B ELS1A  
PTE3  
LOGIC  
CHANNEL 1  
16-BIT COMPARATOR  
TACH1H:TACH1L  
16-BIT LATCH  
CH1MAX  
INTER-  
RUPT  
LOGIC  
MS1A  
CH1IE  
TOV2  
ELS2B ELS2A  
PTF0  
LOGIC  
CHANNEL 2  
16-BIT COMPARATOR  
TACH2H:TACH2L  
16-BIT LATCH  
CH2MAX  
CH2F  
MS2B  
INTER-  
RUPT  
LOGIC  
MS2A  
CH2IE  
TOV3  
ELS3B ELS3A  
PTF1  
LOGIC  
CHANNEL 3  
16-BIT COMPARATOR  
TACH3H:TACH3L  
16-BIT LATCH  
CH3MAX  
CH3F  
INTER-  
RUPT  
LOGIC  
MS3A  
CH3IE  
Figure 1. TIMA block diagram  
4-tima  
MC68HC08AZ0  
254  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
Functional description  
Table 1.TIMA I/O register summary  
Register Name  
Bit 7  
6
5
4
3
0
2
PS2  
10  
2
1
PS1  
9
Bit 0 Addr.  
PS0 $0020  
Bit 8 $0022  
Bit 0 $0023  
Bit 8 $0024  
Bit 0 $0025  
TIMA status/control register (TASC) TOF TOIE TSTOP TRST  
TIMA counter register high (TACNTH) Bit 15 14  
TIMA counter register low (TACNTL) Bit 7  
TIMA Counter modulo reg. high (TAMODH) Bit 15 14  
TIMA counter modulo reg. low (TAMODL) Bit 7  
13  
5
12  
4
11  
3
6
1
13  
5
12  
4
11  
3
10  
2
9
6
1
TIMA Ch. 0 Status/control register (TASC0) CH0F CH0IE MS0B MS0A ELS0B ELS0A TOV0 CH0MAX$0026  
TIMA Ch. 0 register high (TACH0H) Bit 15 14  
TIMA Ch. 0 register low (TACH0L) Bit 7  
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8 $0027  
Bit 0 $0028  
6
TIMA Ch. 1 status/control register (TASC1) CH1F CH1IE  
TIMA Ch. 1 register high (TACH1H) Bit 15 14  
MS1A ELS1B ELS1A TOV1 CH1MAX$0029  
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8 $002A  
Bit 0 $002B  
TIMA Ch. 1 register Low (TACH1L) Bit 7  
6
TIMA Ch. 2 Status/Control register (TASC2) CH2F CH2IE MS2B MS2A ELS2B ELS2A TOV2 CH2MAX$002C  
TIMA Ch. 2 register High (TACH2H) Bit 15 14  
TIMA Ch. 2 register Low (TACH2L) Bit 7  
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8 $002D  
Bit 0 $002E  
6
TIMA Ch. 3 Status/Control register (TASC3) CH3F CH3IE  
TIMA Ch. 3 register High (TACH3H) Bit 15 14  
MS3A ELS3B ELS3A TOV3 CH3MAX$002F  
13  
5
12  
4
11  
3
10  
2
9
1
Bit 8 $0030  
Bit 0 $0031  
TIMA Ch. 3 register Low (TACH3L) Bit 7  
6
= Unimplemented  
5-tima  
MC68HC08AZ0  
255  
MOTOROLA  
Timer Interface Module A (TIMA)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
Input capture  
With the input capture function, the TIMA can capture the time at which  
an external event occurs. When an active edge occurs on the pin of an  
input capture channel, the TIMA latches the contents of the TIMA  
counter into the TIMA channel registers, TACHxH:TACHxL. The polarity  
of the active edge is programmable. Input captures can generate  
TIM CPU interrupt requests.  
Output compare  
With the output compare function, the TIMA can generate a periodic  
pulse with a programmable polarity, duration, and frequency. When the  
counter reaches the value in the registers of an output compare channel,  
the TIMA can set, clear, or toggle the channel pin. Output compares can  
generate TIM CPU interrupt requests.  
Unb uffe re d o utp ut  
c o m p a re  
Any output compare channel can generate unbuffered output compare  
pulses as described in Output compare on page 256. The pulses are  
unbuffered because changing the output compare value requires writing  
the new value over the old value currently in the TIMA channel registers.  
An unsynchronized write to the TIMA channel registers to change an  
output compare value could cause incorrect operation for up to two  
counter overflow periods. For example, writing a new value before the  
counter reaches the old value but after the counter reaches the new  
value prevents any compare during that counter overflow period. Also,  
using a TIMA overflow interrupt routine to write a new, smaller output  
compare value may cause the compare to be missed. The TIMA may  
pass the new value before it is written.  
Use the following methods to synchronize unbuffered changes in the  
output compare value on channel x:  
• When changing to a smaller value, enable channel x output  
compare interrupts and write the new value in the output compare  
interrupt routine. The output compare interrupt occurs at the end  
of the current output compare pulse. The interrupt routine has until  
the end of the counter overflow period to write the new value.  
6-tima  
MC68HC08AZ0  
256  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
Functional description  
• When changing to a larger output compare value, enable channel  
x TIMA overflow interrupts and write the new value in the TIMA  
overflow interrupt routine. The TIMA overflow interrupt occurs at  
the end of the current counter overflow period. Writing a larger  
value in an output compare interrupt routine (at the end of the  
current pulse) could cause two output compares to occur in the  
same counter overflow period.  
Buffe re d o utp ut  
c o m p a re  
Channels 0 and 1 can be linked to form a buffered output compare  
channel whose output appears on the PTE2/TACH0 pin. The TIMA  
channel registers of the linked pair alternately control the output.  
Setting the MS0B bit in TIMA channel 0 status and control register  
(TASC0) links channel 0 and channel 1. The output compare value in the  
TIMA channel 0 registers initially controls the output on the  
PTE2/TACH0 pin. Writing to the TIMA channel 1 registers enables the  
TIMA channel 1 registers to synchronously control the output after the  
TIMA overflows. At each subsequent overflow, the TIMA channel  
registers (0 or 1) that control the output are the ones written to last.  
TASC0 controls and monitors the buffered output compare function, and  
TIMA channel 1 status and control register (TASC1) is unused. While the  
MS0B bit is set, the channel 1 pin, PTE3/TACH1, is available as a  
general-purpose I/O pin.  
Channels 2 and 3 can be linked to form a buffered output compare  
channel whose output appears on the PTF0/TACH2 pin. The TIMA  
channel registers of the linked pair alternately control the output.  
Setting the MS2B bit in TIMA channel 2 status and control register  
(TASC2) links channel 2 and channel 3. The output compare value in the  
TIMA channel 2 registers initially controls the output on the  
PTF0/TACH2 pin. Writing to the TIMA channel 3 registers enables the  
TIMA channel 3 registers to synchronously control the output after the  
TIMA overflows. At each subsequent overflow, the TIMA channel  
registers (2 or 3) that control the output are the ones written to last.  
TASC2 controls and monitors the buffered output compare function, and  
TIMA channel 3 status and control register (TASC3) is unused. While the  
MS2B bit is set, the channel 3 pin, PTF1/TACH3, is available as a  
general-purpose I/O pin.  
7-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
257  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
NOTE: In buffered output compare operation, do not write new output compare  
values to the currently active channel registers. Writing to the active  
channel registers is the same as generating unbuffered output  
compares.  
Pulse width  
By using the toggle-on-overflow feature with an output compare channel,  
modulation (PWM)  
the TIMA can generate a PWM signal. The value in the TIMA counter  
modulo registers determines the period of the PWM signal. The channel  
pin toggles when the counter reaches the value in the TIMA counter  
modulo registers. The time between overflows is the period of the PWM  
signal.  
As Figure 2 shows, the output compare value in the TIMA channel  
registers determines the pulse width of the PWM signal. The time  
between overflow and output compare is the pulse width. Program the  
TIMA to clear the channel pin on output compare if the state of the PWM  
pulse is logic one. Program the TIMA to set the pin if the state of the  
PWM pulse is logic zero.  
OVERFLOW  
OVERFLOW  
OVERFLOW  
PERIOD  
PULSE  
WIDTH  
PTE/F/x/TACHx  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
Figure 2. PWM period and pulse width  
The value in the TIMA counter modulo registers and the selected  
prescaler output determines the frequency of the PWM output. The  
frequency of an 8-bit PWM signal is variable in 256 increments. Writing  
$00FF (255) to the TIMA counter modulo registers produces a PWM  
period of 256 times the internal bus clock period if the prescaler select  
8-tima  
MC68HC08AZ0  
258  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
Functional description  
value is $000. See TIMA status and control register (TASC) on page  
266.  
The value in the TIMA channel registers determines the pulse width of  
the PWM output. The pulse width of an 8-bit PWM signal is variable in  
256 increments. Writing $0080 (128) to the TIMA channel registers  
produces a duty cycle of 128/256 or 50%.  
Unb uffe re d PWM  
sig na l g e ne ra tio n  
Any output compare channel can generate unbuffered PWM pulses as  
described in Pulse width modulation (PWM) on page 258. The pulses  
are unbuffered because changing the pulse width requires writing the  
new pulse width value over the old value currently in the TIMA channel  
registers.  
An unsynchronized write to the TIMA channel registers to change a  
pulse width value could cause incorrect operation for up to two PWM  
periods. For example, writing a new value before the counter reaches  
the old value but after the counter reaches the new value prevents any  
compare during that PWM period. Also, using a TIMA overflow interrupt  
routine to write a new, smaller pulse width value may cause the compare  
to be missed. The TIMA may pass the new value before it is written.  
Use the following methods to synchronize unbuffered changes in the  
PWM pulse width on channel x:  
• When changing to a shorter pulse width, enable channel x output  
compare interrupts and write the new value in the output compare  
interrupt routine. The output compare interrupt occurs at the end  
of the current pulse. The interrupt routine has until the end of the  
PWM period to write the new value.  
• When changing to a longer pulse width, enable channel x TIMA  
overflow interrupts and write the new value in the TIMA overflow  
interrupt routine. The TIMA overflow interrupt occurs at the end of  
the current PWM period. Writing a larger value in an output  
compare interrupt routine (at the end of the current pulse) could  
cause two output compares to occur in the same PWM period.  
9-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
259  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
NOTE: In PWM signal generation, do not program the PWM channel to toggle  
on output compare. Toggling on output compare prevents reliable 0%  
duty cycle generation and removes the ability of the channel to  
self-correct in the event of software error or noise. Toggling on output  
compare also can cause incorrect PWM signal generation when  
changing the PWM pulse width to a new, much larger value.  
Buffe re d PWM  
sig na l g e ne ra tio n  
Channels 0 and 1 can be linked to form a buffered PWM channel whose  
output appears on the PTE2/TACH0 pin. The TIMA channel registers of  
the linked pair alternately control the pulse width of the output.  
Setting the MS0B bit in TIMA channel 0 status and control register  
(TASC0) links channel 0 and channel 1. The TIMA channel 0 registers  
initially control the pulse width on the PTE2/TACH0 pin. Writing to the  
TIMA channel 1 registers enables the TIMA channel 1 registers to  
synchronously control the pulse width at the beginning of the next PWM  
period. At each subsequent overflow, the TIMA channel registers (0 or  
1) that control the pulse width are the ones written to last. TASC0  
controls and monitors the buffered PWM function, and TIMA channel 1  
status and control register (TASC1) is unused. While the MS0B bit is set,  
the channel 1 pin, PTE3/TACH1, is available as a general-purpose I/O  
pin.  
Channels 2 and 3 can be linked to form a buffered PWM channel whose  
output appears on the PTF0/TACH2 pin. The TIMA channel registers of  
the linked pair alternately control the pulse width of the output.  
Setting the MS2B bit in TIMA channel 2 status and control register  
(TASC2) links channel 2 and channel 3. The TIMA channel 2 registers  
initially control the pulse width on the PTF0/TACH2 pin. Writing to the  
TIMA channel 3 registers enables the TIMA channel 3 registers to  
synchronously control the pulse width at the beginning of the next PWM  
period. At each subsequent overflow, the TIMA channel registers (2 or  
3) that control the pulse width are the ones written to last. TASC2  
controls and monitors the buffered PWM function, and TIMA channel 3  
status and control register (TASC3) is unused. While the MS2B bit is set,  
the channel 3 pin, PTF1/TACH3, is available as a general-purpose I/O  
pin.  
10-tima  
MC68HC08AZ0  
260  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
Functional description  
NOTE: In buffered PWM signal generation, do not write new pulse width values  
to the currently active channel registers. Writing to the active channel  
registers is the same as generating unbuffered PWM signals.  
PWM initia liza tio n  
To ensure correct operation when generating unbuffered or buffered  
PWM signals, use the following initialization procedure:  
1. In the TIMA status and control register (TASC):  
a. Stop the TIMA counter by setting the TIMA stop bit,  
TSTOP.  
b. Reset the TIMA counter by setting the TIMA reset bit,  
TRST.  
2. In the TIMA counter modulo registers  
(TAMODH:TAMODL), write the value for the required PWM  
period.  
3. In the TIMA channel x registers (TACHxH:TACHxL), write  
the value for the required pulse width.  
4. In TIMA channel x status and control register (TASCx):  
a. Write 0:1 (for unbuffered output compare or PWM  
signals) or 1:0 (for buffered output compare or PWM  
signals) to the mode select bits, MSxB:MSxA. See  
Table 3.  
b. Write 1 to the toggle-on-overflow bit, TOVx.  
c. Write 1:0 (to clear output on compare) or 1:1 (to set  
output on compare) to the edge/level select bits,  
ELSxB:ELSxA. The output action on compare must  
force the output to the complement of the pulse width  
level. See Table 3.  
NOTE: In PWM signal generation, do not program the PWM channel to toggle  
on output compare. Toggling on output compare prevents reliable 0%  
duty cycle generation and removes the ability of the channel to  
self-correct in the event of software error or noise. Toggling on output  
compare can also cause incorrect PWM signal generation when  
changing the PWM pulse width to a new, much larger value.  
11-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
261  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
5. In the TIMA status control register (TASC), clear the TIMA  
stop bit, TSTOP.  
Setting MS0B links channels 0 and 1 and configures them for buffered  
PWM operation. The TIMA channel 0 registers (TACH0H:TACH0L)  
initially control the buffered PWM output. TIMA status control register 0  
(TASCR0) controls and monitors the PWM signal from the linked  
channels. MS0B takes priority over MS0A.  
Setting MS2B links channels 2 and 3 and configures them for buffered  
PWM operation. The TIMA channel 2 registers (TACH2H:TACH2L)  
initially control the PWM output. TIMA status control register 2  
(TASCR2) controls and monitors the PWM signal from the linked  
channels. MS2B takes priority over MS2A.  
Clearing the toggle-on-overflow bit, TOVx, inhibits output toggles on  
TIMA overflows. Subsequent output compares try to force the output to  
a state it is already in and have no effect. The result is a 0% duty cycle  
output.  
Setting the channel x maximum duty cycle bit (CHxMAX) and clearing  
the TOVx bit generates a 100% duty cycle output. See TIMA channel  
status and control registers (TASC0–TASC3) on page 270.  
12-tima  
MC68HC08AZ0  
262  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
Interrupts  
Interrupts  
The following TIMA sources can generate interrupt requests:  
• TIMA overflow flag (TOF) — The TOF bit is set when the TIMA  
counter value rolls over to $0000 after matching the value in the  
TIMA counter modulo registers. The TIMA overflow interrupt  
enable bit, TOIE, enables TIMA overflow CPU interrupt requests.  
TOF and TOIE are in the TIMA status and control register.  
• TIMA channel flags (CH3F–CH0F) — The CHxF bit is set when an  
input capture or output compare occurs on channel x. Channel x  
TIM CPU interrupt requests are controlled by the channel x  
interrupt enable bit, CHxIE. Channel x TIM CPU interrupt requests  
are enabled when CHxIE= 1.  
• CHxF and CHxIE are in the TIMA channel x status and control  
register.  
Low-power modes  
The WAIT instruction puts the MCU in low-power-consumption standby  
mode.  
Wait mode  
The TIMA remains active after the execution of a WAIT instruction. In  
wait mode the TIMA registers are not accessible by the CPU. Any  
enabled CPU interrupt request from the TIMA can bring the MCU out of  
wait mode.  
If TIMA functions are not required during wait mode, reduce power  
consumption by stopping the TIMA before executing the WAIT  
instruction.  
13-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
263  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
TIMA during break interrupts  
A break interrupt stops the TIMA counter.  
The system integration module (SIM) controls whether status bits in  
other modules can be cleared during the break state. The BCFE bit in  
the SIM break flag control register (SBFCR) enables software to clear  
status bits during the break state. See SIM break flag control register  
(SBFCR) on page 106.  
To allow software to clear status bits during a break interrupt, write a  
logic one to the BCFE bit. If a status bit is cleared during the break state,  
it remains cleared when the MCU exits the break state.  
To protect status bits during the break state, write a logic zero to the  
BCFE bit. With BCFE at logic zero (its default state), software can read  
and write I/O registers during the break state without affecting status  
bits. Some status bits have a two-step read/write clearing procedure. If  
software does the first step on such a bit before the break, the bit cannot  
change during the break state as long as BCFE is at logic zero. After the  
break, doing the second step clears the status bit.  
14-tima  
MC68HC08AZ0  
264  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
I/O Signals  
I/O Signals  
Ports E and F each share two pins with the TIM and Port D shares one.  
PTD6/ATD14/TACLK is an external clock input to the TIMA prescaler.  
The four TIMA channel I/O pins are PTE2/TACH0, PTE3/TACH1,  
PTF0/TACH2, and PTF1/TACH3.  
TIMA clock pin  
(PTD6/ATD14/TACL  
K)  
PTD6/ATD14/TACLK is an external clock input that can be the clock  
source for the TIMA counter instead of the prescaled internal bus clock.  
Select the PTD6/ATD14/TACLK input by writing logic ones to the three  
prescaler select bits, PS[2:0]. See TIMA status and control register  
(TASC) on page 266. The minimum TACLK pulse width, TACLKLMIN or  
TACLKHMIN, is:  
1
--------------------------------- + t  
SU  
bus frequency  
The maximum TCLK frequency is:  
bus frequency ÷ 2  
PTD6/ATD14/TACLK is available as a general-purpose I/O pin when not  
used as the TIMA clock input. When the PTD6/ATD14/TACLK pin is the  
TIMA clock input, it is an input regardless of the state of the DDRD6 bit  
in data direction register D.  
TIMA channel I/O  
pins  
(PTF1/TACH3ÐPTE2  
/TACH0)  
Each channel I/O pin is programmable independently as an input  
capture pin or an output compare pin. PTF0/TACH2 and PTE3/TACH1  
can be configured as buffered output compare or buffered PWM pins.  
15-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
265  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
I/O registers  
The following I/O registers control and monitor operation of the TIMA:  
• TIMA status and control register (TASC)  
• TIMA control registers (TACNTH:TACNTL)  
• TIMA counter modulo registers (TAMODH:TAMODL)  
• TIMA channel status and control registers (TASC0, TASC1,  
TASC2, and TASC3)  
• TIMA channel registers (TACH0H:TACH0L, TACH1H:TACH1L,  
TACH2H:TACH2L, and TACH3H:TACH3L)  
TIMA status and  
control register  
(TASC)  
The TIMA status and control register does the following:  
• Enables TIMA overflow interrupts  
• Flags TIMA overflows  
• Stops the TIMA counter  
• Resets the TIMA counter  
• Prescales the TIMA counter clock  
Bit 7  
TOF  
0
6
TOIE  
0
5
TSTOP  
1
4
3
2
PS2  
0
1
PS1  
0
Bit 0  
PS0  
0
Read:  
Write:  
Reset:  
0
TRST  
0
0
TASC  
$0020  
0
0
= Unimplemented  
Figure 3. TIMA status and control register (TASC)  
16-tima  
MC68HC08AZ0  
266  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
I/O registers  
TOF — TIMA Overflow Flag Bit  
This read/write flag is set when the TIMA counter resets to $0000 after  
reaching the modulo value programmed in the TIMA counter modulo  
registers. Clear TOF by reading the TIMA status and control register  
when TOF is set and then writing a logic zero to TOF. If another TIMA  
overflow occurs before the clearing sequence is complete, then  
writing logic zero to TOF has no effect. Therefore, a TOF interrupt  
request cannot be lost due to inadvertent clearing of TOF. Reset  
clears the TOF bit. Writing a logic one to TOF has no effect.  
1 = TIMA counter has reached modulo value  
0 = TIMA counter has not reached modulo value  
TOIE — TIMA Overflow Interrupt Enable Bit  
This read/write bit enables TIMA overflow interrupts when the TOF bit  
becomes set. Reset clears the TOIE bit.  
1 = TIMA overflow interrupts enabled  
0 = TIMA overflow interrupts disabled  
TSTOP — TIMA Stop Bit  
This read/write bit stops the TIMA counter. Counting resumes when  
TSTOP is cleared. Reset sets the TSTOP bit, stopping the TIMA  
counter until software clears the TSTOP bit.  
1 = TIMA counter stopped  
0 = TIMA counter active  
NOTE: Do not set the TSTOP bit before entering wait mode if the TIMA is  
required to exit wait mode.  
TRST — TIMA Reset Bit  
Setting this write-only bit resets the TIMA counter and the TIMA  
prescaler. Setting TRST has no effect on any other registers.  
Counting resumes from $0000. TRST is cleared automatically after  
the TIMA counter is reset and always reads as logic zero. Reset  
clears the TRST bit.  
1 = Prescaler and TIMA counter cleared  
0 = No effect  
NOTE: Setting the TSTOP and TRST bits simultaneously stops the TIMA  
counter at a value of $0000.  
17-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
267  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
PS[2:0] — Prescaler Select Bits  
These read/write bits select either the PTD6/ATD14/TACLK pin or  
one of the seven prescaler outputs as the input to the TIMA counter  
as Table 2 shows. Reset clears the PS[2:0] bits.  
Table 2. Prescaler selection  
PS[2:0]  
TIMA clock source  
Internal Bus Clock ÷1  
Internal Bus Clock ÷ 2  
Internal Bus Clock ÷ 4  
Internal Bus Clock ÷ 8  
Internal Bus Clock ÷ 16  
Internal Bus Clock ÷ 32  
Internal Bus Clock ÷ 64  
PTD6/ATD14/TACLK  
000  
001  
010  
011  
100  
101  
110  
111  
TIMA counter  
registers  
(TACNTH:TACNTL)  
The two read-only TIMA counter registers contain the high and low bytes  
of the value in the TIMA counter. Reading the high byte (TACNTH)  
latches the contents of the low byte (TACNTL) into a buffer. Subsequent  
reads of TACNTH do not affect the latched TACNTL value until TACNTL  
is read. Reset clears the TIMA counter registers. Setting the TIMA reset  
bit (TRST) also clears the TIMA counter registers  
NOTE: If you read TACNTH during a break interrupt, be sure to unlatch  
TACNTL by reading TACNTL before exiting the break interrupt.  
Otherwise, TACNTL retains the value latched during the break.  
18-tima  
MC68HC08AZ0  
268  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
I/O registers  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
TACNTH  
$0022  
0
0
6
6
0
5
5
0
4
4
0
3
3
0
2
2
0
1
1
0
Bit 7  
Bit 7  
Bit 0  
Bit 0  
Read:  
Write:  
TACNTL  
$0023  
0
0
0
0
0
0
0
0
Reset:  
= Unimplemented  
Figure 4. TIMA counter registers (TACNTH:TACNTL)  
TIMA counter  
modulo registers  
(TAMODH/L)  
The read/write TIMA modulo registers contain the modulo value for the  
TIMA counter. When the TIMA counter reaches the modulo value, the  
overflow flag (TOF) becomes set, and the TIMA counter resumes  
counting from $0000 at the next clock. Writing to the high byte  
(TAMODH) inhibits the TOF bit and overflow interrupts until the low byte  
(TAMODL) is written. Reset sets the TIMA counter modulo registers.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TAMODH  
$0024  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
1
1
1
1
1
1
1
1
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TAMODL  
$0025  
Bit 7  
1
6
1
5
1
4
1
3
1
2
1
1
1
Bit 0  
1
Figure 5. TIMA counter modulo registers (TAMODH:TAMODL)  
NOTE: Reset the TIMA counter before writing to the TIMA counter modulo  
registers.  
19-tima  
MC68HC08AZ0  
269  
MOTOROLA  
Timer Interface Module A (TIMA)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
TIMA channel  
status and control  
registers  
Each of the TIMA channel status and control registers does the  
following:  
• Flags input captures and output compares  
(TASC0ÐTASC3)  
• Enables input capture and output compare interrupts  
• Selects input capture, output compare, or PWM operation  
• Selects high, low, or toggling output on output compare  
• Selects rising edge, falling edge, or any edge as the active input  
capture trigger  
• Selects output toggling on TIMA overflow  
• Selects 100% PWM duty cycle  
• Selects buffered or unbuffered output compare/PWM operation  
Bit 7  
CH0F  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TASC0  
$0026  
CH0IE  
MS0B  
MS0A  
ELS0B ELS0A  
TOV0 CH0MAX  
0
0
6
0
5
0
0
4
0
3
0
2
0
1
0
Bit 7  
CH1F  
0
Bit 0  
Read:  
Write:  
Reset:  
TASC1  
$0029  
CH1IE  
MS1A  
ELS1B ELS1A  
TOV1 CH1MAX  
0
0
6
0
5
0
4
0
3
0
2
0
1
0
Bit 7  
CH2F  
0
Bit 0  
Read:  
Write:  
Reset:  
TASC2  
$002C  
CH2IE  
MS2B  
MS2A  
ELS2B ELS2A  
TOV2 CH2MAX  
0
0
6
0
5
0
0
4
0
3
0
2
0
1
0
Bit 7  
CH3F  
0
Bit 0  
Read:  
Write:  
Reset:  
TASC3  
$002F  
CH3IE  
0
MS3A  
0
ELS3B ELS3A  
TOV3 CH3MAX  
0
0
0
0
0
0
= Unimplemented  
Figure 6. TIMA channel status and control registers (TASC0–TASC3)  
20-tima  
MC68HC08AZ0  
270  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
I/O registers  
CHxF— Channel x Flag Bit  
When channel x is an input capture channel, this read/write bit is set  
when an active edge occurs on the channel x pin. When channel x is  
an output compare channel, CHxF is set when the value in the TIMA  
counter registers matches the value in the TIMA channel x registers.  
When TIM CPU interrupt requests are enabled (CHxIE = 1), clear  
CHxF by reading TIMA channel x status and control register with  
CHxF set and then writing a logic zero to CHxF. If another interrupt  
request occurs before the clearing sequence is complete, then writing  
logic zero to CHxF has no effect. Therefore, an interrupt request  
cannot be lost due to inadvertent clearing of CHxF.  
Reset clears the CHxF bit. Writing a logic one to CHxF has no effect.  
1 = Input capture or output compare on channel x  
0 = No input capture or output compare on channel x  
CHxIE — Channel x Interrupt Enable Bit  
This read/write bit enables TIMA CPU interrupts on channel x.  
Reset clears the CHxIE bit.  
1 = Channel x CPU interrupt requests enabled  
0 = Channel x CPU interrupt requests disabled  
MSxB — Mode Select Bit B  
This read/write bit selects buffered output compare/PWM operation.  
MSxB exists only in the TIMA channel 0 and TIMA channel 2 status  
and control registers.  
Setting MS0B disables the channel 1 status and control register and  
reverts TCH1B to general-purpose I/O.  
Setting MS2B disables the channel 3 status and control register and  
reverts TCH3B to general-purpose I/O.  
Reset clears the MSxB bit.  
1 = Buffered output compare/PWM operation enabled  
0 = Buffered output compare/PWM operation disabled  
21-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
271  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
MSxA — Mode Select Bit A  
When ELSxB:A 00, this read/write bit selects either input capture  
operation or unbuffered output compare/PWM operation. See Table  
3.  
1 = Unbuffered output compare/PWM operation  
0 = Input capture operation  
When ELSxB:A = 00, this read/write bit selects the initial output level of  
the TBCHx pin. See Table 3. Reset clears the MSxA bit.  
1 = Initial output level low  
0 = Initial output level high  
NOTE: Before changing a channel function by writing to the MSxB or MSxA bit,  
set the TSTOP and TRST bits in the TIMA status and control register  
(TASC).  
ELSxB and ELSxA — Edge/Level Select Bits  
When channel x is an input capture channel, these read/write bits  
control the active edge-sensing logic on channel x.  
When channel x is an output compare channel, ELSxB and ELSxA  
control the channel x output behavior when an output compare  
occurs.  
When ELSxB and ELSxA are both clear, channel x is not connected  
to port E, and pin PTEx/TBCHx is available as a general-purpose I/O  
pin. Table 3 shows how ELSxB and ELSxA work. Reset clears the  
ELSxB and ELSxA bits.  
22-tima  
MC68HC08AZ0  
272  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
I/O registers  
Table 3. Mode, edge, and level selection  
MSxB:MSxA ELSxB:ELSxA  
mode  
configuration  
X0  
X1  
00  
00  
00  
01  
01  
01  
1X  
1X  
1X  
00  
00  
01  
10  
11  
01  
10  
11  
01  
10  
11  
Pin under Port Control; Initial Output Level High  
Pin under Port Control; Initial Output Level Low  
Capture on Rising Edge Only  
Capture on Falling Edge Only  
Capture on Rising or Falling Edge  
Toggle Output on Compare  
Output Preset  
Input Capture  
Output  
Compare or  
PWM  
Clear Output on Compare  
Set Output on Compare  
Toggle Output on Compare  
Buffered  
Output  
Compare or  
Buffered PWM  
Clear Output on Compare  
Set Output on Compare  
NOTE: Before enabling a TIMA channel register for input capture operation,  
make sure that the PTE/TCHxB pin is stable for at least two bus clocks.  
TOVx — Toggle-On-Overflow Bit  
When channel x is an output compare channel, this read/write bit  
controls the behavior of the channel x output when the TIMA counter  
overflows. When channel x is an input capture channel, TOVx has no  
effect. Reset clears the TOVx bit.  
1 = Channel x pin toggles on TIMA counter overflow.  
0 = Channel x pin does not toggle on TIMA counter overflow.  
NOTE: When TOVx is set, a TIMA counter overflow takes precedence over a  
channel x output compare if both occur at the same time.  
23-tima  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module A (TIMA)  
273  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
CHxMAX — Channel x Maximum Duty Cycle Bit  
When the TOVx bit is at logic zero, setting the CHxMAX bit forces the  
duty cycle of buffered and unbuffered PWM signals to 100%. As  
Figure 7 shows, the CHxMAX bit takes effect in the cycle after it is set  
or cleared. The output stays at the 100% duty cycle level until the  
cycle after CHxMAX is cleared.  
OVERFLOW  
OVERFLOW  
OVERFLOW  
OVERFLOW  
OVERFLOW  
PERIOD  
PTE/F/x/TACHx  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
CHxMAX  
Figure 7. CHxMAX Latency  
TIMA channel  
registers  
(TACH0H/LÐTACHH  
/L)  
These read/write registers contain the captured TIMA counter value of  
the input capture function or the output compare value of the output  
compare function. The state of the TIMA channel registers after reset is  
unknown.  
In input capture mode (MSxB:MSxA = 0:0), reading the high byte of the  
TIMA channel x registers (TACHxH) inhibits input captures until the low  
byte (TACHxL) is read.  
In output compare mode (MSxB:MSxA 0:0), writing to the high byte of  
the TIMA channel x registers (TACHxH) inhibits output compares until  
the low byte (TACHxL) is written.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TACH0H  
$0027  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
Indeterminate after reset  
Figure 8. TIMA channel registers (TACH0H/L–TACH3H/L)  
24-tima  
MC68HC08AZ0  
274  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
I/O registers  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TACH0L  
$0028  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TACH1H  
$002A  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TACH1L  
$002B  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TACH2H  
$002D  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TACH2L  
$002E  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Reset:  
Write:  
Reset:  
TACH3H  
$0030  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TACH3L  
$0031  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after reset  
Figure 8. TIMA channel registers (TACH0H/L–TACH3H/L) (Continued)  
25-tima  
MC68HC08AZ0  
275  
MOTOROLA  
Timer Interface Module A (TIMA)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module A (TIMA)  
26-tima  
MC68HC08AZ0  
276  
Timer Interface Module A (TIMA)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
TIMB  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279  
TIMB counter prescaler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279  
Input capture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281  
Output compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281  
Unbuffered output compare . . . . . . . . . . . . . . . . . . . . . . . . . . . 281  
Buffered output compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282  
Pulse Width Modulation (PWM) . . . . . . . . . . . . . . . . . . . . . . . . . . 282  
Unbuffered PWM signal generation . . . . . . . . . . . . . . . . . . . . . 284  
Buffered PWM signal generation . . . . . . . . . . . . . . . . . . . . . . . 285  
PWM initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287  
TIMB during break interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289  
TIMB clock Pin (PTD4/ATD12/TBLCK). . . . . . . . . . . . . . . . . . . . . 289  
TIMB channel I/O pins (PTF5/TBCH1–PTF4/TBCH0) . . . . . . . . . 289  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290  
TIMB status and control register (TBSC) . . . . . . . . . . . . . . . . . . . 290  
TIMB counter registers (TBCNTH:TBCNTL). . . . . . . . . . . . . . . . . 292  
TIMB counter modulo registers (TBMODH:TBMOD) . . . . . . . . . . 293  
TIMB channel status and control registers (TBSC0–TBSC1). . . . 294  
TIMB channel registers (TBCH0H/ L–TBCH3H/L) . . . . . . . . . . . . 298  
1-timb  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module B (TIMB)  
277  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
Introduction  
This section describes the timer interface module (TIMB). The TIMB is a  
two-channel timer that provides a timing reference with input capture,  
output compare, and pulse-width-modulation functions. Figure 9 is a  
block diagram of the TIMB.  
Features  
Features of the TIMB include the following:  
• Two Input capture/output compare channels  
– Rising-edge, falling-edge, or any-edge input capture trigger  
– Set, clear, or toggle output compare action  
• Buffered and unbuffered Pulse Width Modulation (PWM) signal  
generation  
• Programmable TIMB clock input  
– Seven-frequency internal bus clock prescaler selection  
– External TIMB Clock Input (4-MHz Maximum Frequency)  
• Free-running or modulo up-count operation  
• Toggle any channel pin on overflow  
• TIMB counter stop and reset bits  
• Modular architecture expandable to 8 channels  
2-timb  
MC68HC08AZ0  
278  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
Functional description  
Functional description  
Figure 9 shows the structure of the TIMB. The central component of the  
TIMB is the 16-bit TIMB counter that can operate as a free-running  
counter or a modulo up-counter. The TIMB counter provides the timing  
reference for the input capture and output compare functions. The TIMB  
counter modulo registers, TBMODH:TBMODL, control the modulo value  
of the TIMB counter. Software can read the TIMB counter value at any  
time without affecting the counting sequence.  
The two TIMB channels are programmable independently as input  
capture or output compare channels.  
TIMB counter  
prescaler  
The TIMB clock source can be one of the seven prescaler outputs or the  
TIMB clock pin, PTD4/TBCLK. The prescaler generates seven clock  
rates from the internal bus clock. The prescaler select bits, PS[2:0], in  
the TIMB status and control register select the TIMB clock source.  
3-timb  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module B (TIMB)  
279  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
TBCLK  
PTD4/TBCLK  
PRESCALER SELECT  
INTERNAL  
BUS CLOCK  
PRESCALER  
TSTOP  
TRST  
PS2  
PS1  
PS0  
CANTIMCAP  
16-BIT COUNTER  
INTER-  
RUPT  
LOGIC  
TOF  
TOIE  
16-BIT COMPARATOR  
TBMODH:TBMODL  
CANTIMCAP  
PTF4/TBCH  
TOV0  
ELS0B ELS0A  
PTF2  
CHANNEL 0  
16-BIT COMPARATOR  
TBCH0H:TBCH0L  
16-BIT LATCH  
CH0MAX  
LOGIC  
CH0F  
INTER-  
RUPT  
LOGIC  
MS0A  
CH0IE  
MS0B  
CH1F  
TOV1  
ELS1B ELS1A  
PTF3  
CHANNEL 1  
16-BIT COMPARATOR  
TBCH1H:TBCH1L  
16-BIT LATCH  
CH1MAX  
PTF5/TBCH  
LOGIC  
INTER-  
RUPT  
LOGIC  
MS1A  
CH1IE  
Figure 9. TIMB block diagram  
4-timb  
MC68HC08AZ0  
280  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
Functional description  
Input capture  
With the input capture function, the TIMB can capture the time at which  
an external event occurs. When an active edge occurs on the pin of an  
input capture channel, the TIMB latches the contents of the TIMB  
counter into the TIMB channel registers, TBCHxH:TBCHxL. The polarity  
of the active edge is programmable. Input captures can generate  
TIMB CPU interrupt requests.  
Output compare  
With the output compare function, the TIMB can generate a periodic  
pulse with a programmable polarity, duration, and frequency. When the  
counter reaches the value in the registers of an output compare channel,  
the TIMB can set, clear, or toggle the channel pin. Output compares can  
generate TIM CPU interrupt requests.  
Unb uffe re d o utp ut  
c o m p a re  
Any output compare channel can generate unbuffered output compare  
pulses as described in Output compare on page 281. The pulses are  
unbuffered because changing the output compare value requires writing  
the new value over the old value currently in the TIMB channel registers.  
An unsynchronized write to the TIMB channel registers to change an  
output compare value could cause incorrect operation for up to two  
counter overflow periods. For example, writing a new value before the  
counter reaches the old value but after the counter reaches the new  
value prevents any compare during that counter overflow period. Also,  
using a TIMB overflow interrupt routine to write a new, smaller output  
compare value may cause the compare to be missed. The TIMB may  
pass the new value before it is written.  
Use the following methods to synchronize unbuffered changes in the  
output compare value on channel x:  
• When changing to a smaller value, enable channel x output  
compare interrupts and write the new value in the output compare  
interrupt routine. The output compare interrupt occurs at the end  
of the current output compare pulse. The interrupt routine has until  
the end of the counter overflow period to write the new value.  
5-timb  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module B (TIMB)  
281  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
• When changing to a larger output compare value, enable channel  
x TIMB overflow interrupts and write the new value in the TIMB  
overflow interrupt routine. The TIMB overflow interrupt occurs at  
the end of the current counter overflow period. Writing a larger  
value in an output compare interrupt routine (at the end of the  
current pulse) could cause two output compares to occur in the  
same counter overflow period.  
Buffe re d o utp ut  
c o m p a re  
Channels 0 and 1 can be linked to form a buffered output compare  
channel whose output appears on the PTF4/TBCH0 pin. The TIMB  
channel registers of the linked pair alternately control the output.  
Setting the MS0B bit in TIMB channel 0 status and control register  
(TBSC0) links channel 0 and channel 1. The output compare value in the  
TIMB channel 0 registers initially controls the output on the  
PTF4/TBCH0 pin. Writing to the TIMB channel 1 registers enables the  
TIMB channel 1 registers to synchronously control the output after the  
TIMB overflows. At each subsequent overflow, the TIMB channel  
registers (0 or 1) that control the output are the ones written to last.  
TBSC0 controls and monitors the buffered output compare function, and  
TIMB channel 1 status and control register (TBSC1) is unused. While the  
MS0B bit is set, the channel 1 pin, PTF5/TBCH1, is available as a  
general-purpose I/O pin.  
NOTE: In buffered output compare operation, do not write new output compare  
values to the currently active channel registers. Writing to the active  
channel registers is the same as generating unbuffered output  
compares.  
Pulse Width  
By using the toggle-on-overflow feature with an output compare channel,  
Modulation (PWM)  
the TIMB can generate a PWM signal. The value in the TIMB counter  
modulo registers determines the period of the PWM signal. The channel  
pin toggles when the counter reaches the value in the TIMB counter  
modulo registers. The time between overflows is the period of the PWM  
signal.  
6-timb  
MC68HC08AZ0  
282  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
Functional description  
As Figure 10 shows, the output compare value in the TIMB channel  
registers determines the pulse width of the PWM signal. The time  
between overflow and output compare is the pulse width. Program the  
TIMB to clear the channel pin on output compare if the state of the PWM  
pulse is logic one. Program the TIMB to set the pin if the state of the  
PWM pulse is logic zero.  
OVERFLOW  
OVERFLOW  
OVERFLOW  
PERIOD  
PULSE  
WIDTH  
PTFx/TBCHx  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
Figure 10. PWM period and pulse width  
The value in the TIMB counter modulo registers and the selected  
prescaler output determines the frequency of the PWM output. The  
frequency of an 8-bit PWM signal is variable in 256 increments. Writing  
$00FF (255) to the TIMB counter modulo registers produces a PWM  
period of 256 times the internal bus clock period if the prescaler select  
value is 000. See TIMB status and control register (TBSC) on page 290.  
The value in the TIMB channel registers determines the pulse width of  
the PWM output. The pulse width of an 8-bit PWM signal is variable in  
256 increments. Writing $0080 (128) to the TIMB channel registers  
produces a duty cycle of 128/256 or 50%.  
7-timb  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module B (TIMB)  
283  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
Unb uffe re d PWM  
sig na l g e ne ra tio n  
Any output compare channel can generate unbuffered PWM pulses as  
described in Pulse Width Modulation (PWM) on page 282. The pulses  
are unbuffered because changing the pulse width requires writing the  
new pulse width value over the old value currently in the TIMB channel  
registers.  
An unsynchronized write to the TIMB channel registers to change a  
pulse width value could cause incorrect operation for up to two PWM  
periods. For example, writing a new value before the counter reaches  
the old value but after the counter reaches the new value prevents any  
compare during that PWM period. Also, using a TIMB overflow interrupt  
routine to write a new, smaller pulse width value may cause the compare  
to be missed. The TIMB may pass the new value before it is written.  
Use the following methods to synchronize unbuffered changes in the  
PWM pulse width on channel x:  
• When changing to a shorter pulse width, enable channel x output  
compare interrupts and write the new value in the output compare  
interrupt routine. The output compare interrupt occurs at the end  
of the current pulse. The interrupt routine has until the end of the  
PWM period to write the new value.  
• When changing to a longer pulse width, enable channel x TIMB  
overflow interrupts and write the new value in the TIMB overflow  
interrupt routine. The TIMB overflow interrupt occurs at the end of  
the current PWM period. Writing a larger value in an output  
compare interrupt routine (at the end of the current pulse) could  
cause two output compares to occur in the same PWM period.  
NOTE: In PWM signal generation, do not program the PWM channel to toggle  
on output compare. Toggling on output compare prevents reliable 0%  
duty cycle generation and removes the ability of the channel to  
self-correct in the event of software error or noise. Toggling on output  
compare also can cause incorrect PWM signal generation when  
changing the PWM pulse width to a new, much larger value.  
8-timb  
MC68HC08AZ0  
284  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
Functional description  
Buffe re d PWM  
sig na l g e ne ra tio n  
Channels 0 and 1 can be linked to form a buffered PWM channel whose  
output appears on the PTF4/TBCH0 pin. The TIMB channel registers of  
the linked pair alternately control the pulse width of the output.  
Setting the MS0B bit in TIMB channel 0 status and control register  
(TBSC0) links channel 0 and channel 1. The TIMB channel 0 registers  
initially control the pulse width on the PTF4/TBCH0 pin. Writing to the  
TIMB channel 1 registers enables the TIMB channel 1 registers to  
synchronously control the pulse width at the beginning of the next PWM  
period. At each subsequent overflow, the TIMB channel registers (0 or  
1) that control the pulse width are the ones written to last. TBSC0  
controls and monitors the buffered PWM function, and TIMB channel 1  
status and control register (TBSC1) is unused. While the MS0B bit is set,  
the channel 1 pin, PTF5/TBCH1, is available as a general-purpose I/O  
pin.  
NOTE: In buffered PWM signal generation, do not write new pulse width values  
to the currently active channel registers. Writing to the active channel  
registers is the same as generating unbuffered PWM signals.  
PWM initia liza tio n  
To ensure correct operation when generating unbuffered or buffered  
PWM signals, use the following initialization procedure:  
1. In the TIMB status and control register (TBSC):  
a. Stop the TIMB counter by setting the TIMB stop bit,  
TSTOP.  
b. Reset the TIMB counter by setting the TIMB reset bit,  
TRST.  
2. In the TIMB counter modulo registers  
(TBMODH:TBMODL), write the value for the required PWM  
period.  
3. In the TIMB channel x registers (TBCHxH:TBCHxL), write  
the value for the required pulse width.  
4. In TIMB channel x status and control register (TBSCx):  
a. Write 0:1 (for unbuffered output compare or PWM  
signals) or 1:0 (for buffered output compare or PWM  
signals) to the mode select bits, MSxB:MSxA. See  
Table 1  
b. Write 1 to the toggle-on-overflow bit, TOVx.  
9-timb  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module B (TIMB)  
285  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
c. Write 1:0 (to clear output on compare) or 1:1 (to set  
output on compare) to the edge/level select bits,  
ELSxB:ELSxA. The output action on compare must  
force the output to the complement of the pulse width  
level. (See Table 1)  
NOTE: In PWM signal generation, do not program the PWM channel to toggle  
on output compare. Toggling on output compare prevents reliable 0%  
duty cycle generation and removes the ability of the channel to  
self-correct in the event of software error or noise. Toggling on output  
compare can also cause incorrect PWM signal generation when  
changing the PWM pulse width to a new, much larger value.  
5. In the TIMB status control register (TBSC), clear the TIMB  
stop bit, TSTOP.  
Setting MS0B links channels 0 and 1 and configures them for buffered  
PWM operation. The TIMB channel 0 registers (TBCH0H:TBCH0L)  
initially control the buffered PWM output. TIMB status control register 0  
(TBSCR0) controls and monitors the PWM signal from the linked  
channels. MS0B Takes priority over MS0A.  
Clearing the toggle-on-overflow bit, TOVx, inhibits output toggles on  
TIMB overflows. Subsequent output compares try to force the output to  
a state it is already in and have no effect. The result is a 0% duty cycle  
output.  
Setting the channel x maximum duty cycle bit (CHxMAX) and clearing  
the TOVx bit generates a 100% duty cycle output. See TIMB channel  
status and control registers (TBSC0–TBSC1) on page 294.  
10-timb  
MC68HC08AZ0  
286  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
Interrupts  
Interrupts  
The following TIMB sources can generate interrupt requests:  
• TIMB overflow flag (TOF) — The TOF bit is set when the TIMB  
counter value rolls over to $0000 after matching the value in the  
TIMB counter modulo registers. The TIMB overflow interrupt  
enable bit, TOIE, enables TIMB overflow CPU interrupt requests.  
TOF and TOIE are in the TIMB status and control register.  
• TIMB channel flags (CH1F–CH0F) — The CHxF bit is set when an  
input capture or output compare occurs on channel x. Channel x  
TIM CPU interrupt requests are controlled by the channel x  
interrupt enable bit, CHxIE. Channel x TIM CPU interrupt requests  
are enabled when CHxIE = 1. CHxF and CHxIE are in the TIMB  
channel x status and control register.  
Low-power modes  
The WAIT instruction puts the MCU in low-power-consumption standby  
mode.  
WAIT mode  
The TIMB remains active after the execution of a WAIT instruction. In  
wait mode the TIMB registers are not accessible by the CPU. Any  
enabled CPU interrupt request from the TIMB can bring the MCU out of  
wait mode.  
If TIMB functions are not required during wait mode, reduce power  
consumption by stopping the TIMB before executing the WAIT  
instruction.  
11-timb  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module B (TIMB)  
287  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
TIMB during break interrupts  
A break interrupt stops the TIMB counter.  
The system integration module (SIM) controls whether status bits in  
other modules can be cleared during the break state. The BCFE bit in  
the SIM break flag control register (SBFCR) enables software to clear  
status bits during the break state. See SIM break flag control register  
(SBFCR) on page 106.  
To allow software to clear status bits during a break interrupt, write a  
logic one to the BCFE bit. If a status bit is cleared during the break state,  
it remains cleared when the MCU exits the break state.  
To protect status bits during the break state, write a logic zero to the  
BCFE bit. With BCFE at logic zero (its default state), software can read  
and write I/O registers during the break state without affecting status  
bits. Some status bits have a two-step read/write clearing procedure. If  
software does the first step on such a bit before the break, the bit cannot  
change during the break state as long as BCFE is at logic zero. After the  
break, doing the second step clears the status bit.  
12-timb  
MC68HC08AZ0  
288  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
I/O Signals  
I/O Signals  
Port F Shares two of its pins with the TIMB and Port D shares one.  
PTD4/TBCLK is an external clock input to the TIMB prescaler. The two  
TIMB channel I/O pins are PTF4/TBCH0 and PTF5/TBCH1.  
TIMB clock Pin  
(PTD4/ATD12/TBLC  
K)  
PTD4/TBCLK is an external clock input that can be the clock source for  
the TIMB counter instead of the prescaled internal bus clock. Select the  
PTD4/TBCLK input by writing logic ones to the three prescaler select  
bits, PS[2:0]. See TIMB status and control register (TBSC) on page 290.  
The minimum TBCLK pulse width, TBCLKLMIN or TBCLKHMIN, is:  
1
--------------------------------- + t  
SU  
bus frequency  
The maximum TCLK frequency is:  
bus frequency ÷ 2  
is available as a general-purpose I/O pin when not used as the TIMB  
clock input. When the PTD4/TBCLK pin is the TIMB clock input, it is an  
input regardless of the state of the DDR5 bit in data direction register D.  
TIMB channel I/O  
pins  
(PTF5/TBCH1ÐPTF4/  
TBCH0)  
Each channel I/O pin is programmable independently as an input  
capture pin or an output compare pin. PTF5/TBCH1 and PTF4/TBCH0  
can be configured as buffered output compare or buffered PWM pins.  
TBCH0 has an additional source for the input capture signal i.e  
CANTIMCAP. See Figure 9  
This signal is generated by the msCAN08 which generates a timer signal  
whenever a valid frame has been received or transmitted. The signal is  
routed into TBCH0 under the control of the Timer Link Enable (TLNKEN)  
bit in the CMCR0 see 23.12.2 msCAN08 module control register  
(CMCR0).  
13-timb  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module B (TIMB)  
289  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
I/O Registers  
The following I/O registers control and monitor operation of the TIM:  
• TIMB status and control register (TBSC)  
• TIMB control registers (TBCNTH:TBCNTL)  
• TIMB counter modulo registers (TBMODH:TBMODL)  
• TIMB channel status and control registers (TBSC0 and TBSC1)  
• TIMB channel registers (TBCH0H:TBCH0L and  
TBCH1H:TBCH1L)  
TIMB status and  
control register  
(TBSC)  
The TIMB status and control register does the following:  
• Enables TIMB overflow interrupts  
• Flags TIMB overflows  
• Stops the TIMB counter  
• Resets the TIMB counter  
• Prescales the TIMB counter clock  
14-timb  
MC68HC08AZ0  
290  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
I/O Registers  
Bit 7  
TOF  
0
6
TOIE  
0
5
TSTOP  
1
4
3
2
PS2  
0
1
PS1  
0
Bit 0  
PS0  
0
Read:  
Write:  
Reset:  
0
TRST  
0
0
TBSC  
$0040  
0
0
= Unimplemented  
Figure 11. TIMB status and control register (TBSC)  
TOF — TIMB overflow flag bit  
This read/write flag is set when the TIMB counter resets to $0000 after  
reaching the modulo value programmed in the TIMB counter modulo  
registers. Clear TOF by reading the TIMB status and control register  
when TOF is set and then writing a logic zero to TOF. If another TIMB  
overflow occurs before the clearing sequence is complete, then  
writing logic zero to TOF has no effect. Therefore, a TOF interrupt  
request cannot be lost due to inadvertent clearing of TOF. Reset  
clears the TOF bit. Writing a logic one to TOF has no effect.  
1 = TIMB counter has reached modulo value  
0 = TIMB counter has not reached modulo value  
TOIE — TIMB overflow interrupt enable bit  
This read/write bit enables TIMB overflow interrupts when the TOF bit  
becomes set. Reset clears the TOIE bit.  
1 = TIMB overflow interrupts enabled  
0 = TIMB overflow interrupts disabled  
TSTOP — TIMB stop bit  
This read/write bit stops the TIMB counter. Counting resumes when  
TSTOP is cleared. Reset sets the TSTOP bit, stopping the TIMB  
counter until software clears the TSTOP bit.  
1 = TIMB counter stopped  
0 = TIMB counter active  
NOTE: Do not set the TSTOP bit before entering wait mode if the TIMB is  
required to exit wait mode.  
15-timb  
MC68HC08AZ0  
291  
MOTOROLA  
Timer Interface Module B (TIMB)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
TRST — TIMB reset bit  
Setting this write-only bit resets the TIMB counter and the TIMB  
prescaler. Setting TRST has no effect on any other registers.  
Counting resumes from $0000. TRST is cleared automatically after  
the TIMB counter is reset and always reads as logic zero. Reset  
clears the TRST bit.  
1 = Prescaler and TIMB counter cleared  
0 = No effect  
NOTE: Setting the TSTOP and TRST bits simultaneously stops the TIMB  
counter at a value of $0000.  
PS[2:0] — Prescaler select bits  
These read/write bits select either the PTD5/ATD13 pin or one of the  
seven prescaler outputs as the input to the TIMB counter as Table 1  
shows. Reset clears the PS[2:0] bits.  
Table 1. Prescaler selection  
PS[2:0]  
000  
TIMB Clock Source  
Internal Bus Clock ÷1  
Internal Bus Clock ÷ 2  
Internal Bus Clock ÷ 4  
Internal Bus Clock ÷ 8  
Internal Bus Clock ÷ 16  
Internal Bus Clock ÷ 32  
Internal Bus Clock ÷ 64  
PTD4/ATD12/TBLCK  
001  
010  
011  
100  
101  
110  
111  
TIMB counter  
registers  
(TBCNTH:TBCNTL)  
The two read-only TIMB counter registers contain the high and low bytes  
of the value in the TIMB counter. Reading the high byte (TBCNTH)  
latches the contents of the low byte (TBCNTL) into a buffer. Subsequent  
reads of TBCNTH do not affect the latched TBCNTL value until TBCNTL  
is read. Reset clears the TIMB counter registers. Setting the TIMB reset  
bit (TRST) also clears the TIMB counter registers.  
16-timb  
MC68HC08AZ0  
292  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
I/O Registers  
NOTE: If you read TBCNTH during a break interrupt, be sure to unlatch  
TBCNTL by reading TBCNTL before exiting the break interrupt.  
Otherwise, TBCNTL retains the value latched during the break.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
TBCNTH  
$0041  
0
0
6
6
0
5
5
0
4
4
0
3
3
0
2
2
0
1
1
0
Bit 7  
Bit 7  
Bit 0  
Bit 0  
Read:  
Write:  
TBCNTL  
$0042  
0
0
0
0
0
0
0
0
Reset:  
= Unimplemented  
Figure 12. TIMB counter registers (TBCNTH:TBCNTL)  
TIMB counter  
modulo registers  
(TBMODH:TBMOD)  
The read/write TIMB modulo registers contain the modulo value for the  
TIMB counter. When the TIMB counter reaches the modulo value, the  
overflow flag (TOF) becomes set, and the TIMB counter resumes  
counting from $0000 at the next clock. Writing to the high byte  
(TBMODH) inhibits the TOF bit and overflow interrupts until the low byte  
(TBMODL) is written. Reset sets the TIMB counter modulo registers.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TBMODH  
$0043  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
1
1
1
1
1
1
1
1
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TBMODL  
$0044  
Bit 7  
1
6
1
5
1
4
1
3
1
2
1
1
1
Bit 0  
1
Figure 13. TIMB counter modulo registers (TBMODH:TBMODL)  
17-timb  
MC68HC08AZ0  
293  
MOTOROLA  
Timer Interface Module B (TIMB)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
NOTE: Reset the TIMB counter before writing to the TIMB counter modulo  
registers.  
TIMB channel  
status and control  
registers  
Each of the TIMB channel status and control registers does the  
following:  
• Flags input captures and output compares  
(TBSC0ÐTBSC1)  
• Enables input capture and output compare interrupts  
• Selects input capture, output compare, or PWM operation  
• Selects high, low, or toggling output on output compare  
• Selects rising edge, falling edge, or any edge as the active input  
capture trigger  
• Selects output toggling on TIMB overflow  
• Selects 100% PWM duty cycle  
• Selects buffered or unbuffered output compare/PWM operation  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
CH0F  
TBSC0  
$0045  
CH0IE  
MS0B  
MS0A  
ELS0B ELS0A  
TOV0 CH0MAX  
0
0
Bit 7  
CH1F  
0
0
6
0
5
0
0
4
0
3
0
2
0
1
0
Bit 0  
Read:  
Write:  
Reset:  
Reset:  
TBSC1  
$0048  
CH1IE  
MS1A  
ELS1B ELS1A  
TOV1 CH1MAX  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 14. TIMB channel status and control registers (TBSC0–TBSC1)  
18-timb  
MC68HC08AZ0  
294  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
I/O Registers  
CHxF— Channel x flag bit  
When channel x is an input capture channel, this read/write bit is set  
when an active edge occurs on the channel x pin. When channel x is  
an output compare channel, CHxF is set when the value in the TIMB  
counter registers matches the value in the TIMB channel x registers.  
When TIMB CPU interrupt requests are enabled (CHxIE=1), clear  
CHxF by reading TIMB channel x status and control register with  
CHxF set and then writing a logic zero to CHxF. If another interrupt  
request occurs before the clearing sequence is complete, then writing  
logic zero to CHxF has no effect. Therefore, an interrupt request  
cannot be lost due to inadvertent clearing of CHxF.  
Reset clears the CHxF bit. Writing a logic one to CHxF has no effect.  
1 = Input capture or output compare on channel x  
0 = No input capture or output compare on channel x  
CHxIE — Channel x interrupt enable bit  
This read/write bit enables TIMB CPU interrupt service requests on  
channel x. Reset clears the CHxIE bit.  
1 = Channel x CPU interrupt requests enabled  
0 = Channel x CPU interrupt requests disabled  
MSxB — Mode select bit B  
This read/write bit selects buffered output compare/PWM operation.  
MSxB exists only in the TIMB channel 0 status and control register.  
Setting MS0B disables the channel 1 status and control register and  
reverts TCH1 to general-purpose I/O.  
1 = Reset clears the MSxB bit.  
1 = Buffered output compare/PWM operation enabled  
0 = Buffered output compare/PWM operation disabled  
MSxA — Mode select bit A  
When ELSxB:A 00, this read/write bit selects either input capture  
operation or unbuffered output compare/PWM operation. See Table  
1.  
1 = Unbuffered output compare/PWM operation  
0 = Input capture operation  
19-timb  
MC68HC08AZ0  
MOTOROLA  
Timer Interface Module B (TIMB)  
295  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
When ELSxB:A = 00, this read/write bit selects the initial output level  
of the TCHx pin. See Table 1. Reset clears the MSxA bit.  
1 = Initial output level low  
0 = Initial output level high  
NOTE: Before changing a channel function by writing to the MSxB or MSxA bit,  
set the TSTOP and TRST bits in the TIMB status and control register  
(TSC).  
ELSxB and ELSxA — Edge/level select bits  
When channel x is an input capture channel, these read/write bits  
control the active edge-sensing logic on channel x.  
When channel x is an output compare channel, ELSxB and ELSxA  
control the channel x output behavior when an output compare  
occurs.  
When ELSxB and ELSxA are both clear, channel x is not connected  
to port F, and pin PTFx/TBCHx is available as a general-purpose I/O  
pin. Table 1 shows how ELSxB and ELSxA work. Reset clears the  
ELSxB and ELSxA bits.  
Table 1. Mode, edge, and level selection  
MSxB:MSxA ELSxB:ELSxA  
Mode  
Configuration  
Pin under Port Control; Initial Output Level High  
Pin under Port Control; Initial Output Level Low  
Capture on Rising Edge Only  
Capture on Falling Edge Only  
Capture on Rising or Falling Edge  
Toggle Output on Compare  
X0  
X1  
00  
00  
00  
01  
01  
01  
1X  
1X  
1X  
00  
00  
01  
10  
11  
01  
10  
11  
01  
10  
11  
Output Preset  
Input Capture  
Output  
Compare or  
PWM  
Clear Output on Compare  
Set Output on Compare  
Toggle Output on Compare  
Buffered  
Output  
Compare or  
Buffered PWM  
Clear Output on Compare  
Set Output on Compare  
20-timb  
MC68HC08AZ0  
296  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
I/O Registers  
NOTE: Before enabling a TIMB channel register for input capture operation,  
make sure that the PTFx/TBCHx pin is stable for at least two bus clocks.  
TOVx — Toggle-on-overflow bit  
When channel x is an output compare channel, this read/write bit  
controls the behavior of the channel x output when the TIMB counter  
overflows. When channel x is an input capture channel, TOVx has no  
effect. Reset clears the TOVx bit.  
1 = Channel x pin toggles on TIMB counter overflow.  
0 = Channel x pin does not toggle on TIMB counter overflow.  
NOTE: When TOVx is set, a TIMB counter overflow Takes precedence over a  
channel x output compare if both occur at the same time.  
CHxMAX — Channel x maximum duty cycle bit  
When the TOVx bit is at logic zero, setting the CHxMAX bit forces the  
duty cycle of buffered and unbuffered PWM signals to 100%. As  
Figure 15 shows, the CHxMAX bit Takes effect in the cycle after it is  
set or cleared. The output stabs at the 100% duty cycle level until the  
cycle after CHxMAX is cleared.  
OVERFLOW  
OVERFLOW  
OVERFLOW  
OVERFLOW  
OVERFLOW  
PERIOD  
PTFx/TBCHx  
CHxMAX  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
Figure 15. CHxMAX latency  
21-timb  
MC68HC08AZ0  
297  
MOTOROLA  
Timer Interface Module B (TIMB)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Timer Interface Module B (TIMB)  
TIMB channel  
registers (TBCH0H/  
LÐTBCH3H/L)  
These read/write registers contain the captured TIMB counter value of  
the input capture function or the output compare value of the output  
compare function. The state of the TIMB channel registers after reset is  
unknown.  
In input capture mode (MSxB:MSxA = 0:0), reading the high byte of the  
TIMB channel x registers (TBCHxH) inhibits input captures until the low  
byte (TBCHxL) is read.  
In output compare mode (MSxB:MSxA 0:0), writing to the high byte of  
the TIMB channel x registers (TBCHxH) inhibits output compares until  
the low byte (TBCHxL) is written.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TBCH0H  
$0046  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TBCH0L  
$0047  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TBCH1H  
$0049  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
Indeterminate after reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
TBCH1L  
$004A  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after reset  
Figure 16. TIMB channel registers (TBCH0H/L–TBCH1H/L)  
22-timb  
MC68HC08AZ0  
298  
Timer Interface Module B (TIMB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programmable Interrupt Timer (PIT)  
PIT  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300  
PIT counter prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301  
Low-power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301  
STOP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301  
PIT during break interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302  
I/O registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303  
PIT status and control register (PSC) . . . . . . . . . . . . . . . . . . . . . . 303  
PIT counter registers (PCNTH:PCNTL) . . . . . . . . . . . . . . . . . . . . 305  
PIT Counter modulo registers (PMODH:PMODL) . . . . . . . . . . . . 306  
Introduction  
Features  
This section describes the periodic interrupt timer module (PIT). Figure  
1 is a block diagram of the PIT.  
Features of the PIT include the following:  
• Programmable PIT Clock Input  
• Free-Running or Modulo Up-Count Operation  
• PIT Counter Stop and Reset Bits  
1-pit  
MC68HC08AZ0  
MOTOROLA  
Programmable Interrupt Timer (PIT)  
299  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programmable Interrupt Timer (PIT)  
Functional Description  
Figure 1 shows the structure of the PIT. The central component of the  
PIT is the 16-bit PIT counter that can operate as a free-running counter  
or a modulo up-counter. The counter provides the timing reference for  
the interrupt. The PIT counter modulo registers, PMODH:PMODL, con-  
trol the modulo value of the counter. Software can read the counter  
value at any time without affecting the counting sequence.  
PRESCALER SELECT  
PRESCALER  
INTERNAL  
BUS CLOCK  
CSTOP  
CRST  
PPS2  
PPS1  
PPS0  
16-BIT COUNTER  
POF  
PIE  
INTERRUPT  
LOGIC  
16-BIT COMPARATOR  
PITTMODH:PITTMODL  
Figure 1. PIT Block Diagram  
Table 1. PIT I/O Register Summary  
Register Name  
Bit 7  
6
5
4
3
0
2
1
Bit 0 Addr.  
PIT Status/Control Register (PSC) POF  
PIT Counter Register. High (PCNTH) Bit 15  
PIE PSTOP PRST  
PPS2 PPS1 PPS0 $004B  
14  
6
13  
5
12  
4
11  
3
10  
2
9
1
9
1
8
0
$004C  
$004D  
PIT Counter Register. Low (PCNTL)  
7
PIT Counter Modulo Reg. High (PMODH) Bit 15  
PIT Counter Modulo Reg. Low (PMODL) Bit 7  
14  
6
13  
5
12  
4
11  
3
10  
2
Bit 8 $004E  
Bit 0 $004F  
2-pit  
MC68HC08AZ0  
300  
Programmable Interrupt Timer (PIT)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programmable Interrupt Timer (PIT)  
Low-power modes  
PIT counter  
prescaler  
The clock source can be one of the seven prescaler outputs. The pres-  
caler generates seven clock rates from the internal bus clock. The pres-  
caler select bits, PPS[2:0] in the status and control register select the  
PIT clock source.  
The value in the PIT counter modulo registers and the selected pres-  
caler output determines the frequency of the Periodic Interrupt. The PIT  
overflow flag (POF) is set when the PIT counter value rolls over to  
$0000 after matching the value in the PIT counter modulo registers.The  
PIT interrupt enable bit, PIE, enables PIT overflow CPU interrupt  
requests. POF and PIE are in the PIT status and control register.  
Low-power modes  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
WAIT mode  
The PIT remains active after the execution of a WAIT instruction. In wait  
mode the PIT registers are not accessible by the CPU. Any enabled  
CPU interrupt request from the PIT can bring the MCU out of wait  
mode.  
If PIT functions are not required during wait mode, reduce power con-  
sumption by stopping the PIT before executing the WAIT instruction.  
STOP mode  
The PIT is inactive after the execution of a STOP instruction. The STOP  
instruction does not affect register conditions or the state of the PIT  
counter. PIT operation resumes when the MCU exits stop mode after an  
external interrupt.  
3-pit  
MC68HC08AZ0  
MOTOROLA  
Programmable Interrupt Timer (PIT)  
301  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programmable Interrupt Timer (PIT)  
PIT during break interrupts  
A break interrupt stops the PIT counter.  
The system integration module (SIM) controls whether status bits in  
other modules can be cleared during the break state. The BCFE bit in  
the SIM break flag control register (SBFCR) enables software to clear  
status bits during the break state. See SIM break flag control register  
(SBFCR) on page 106.  
To allow software to clear status bits during a break interrupt, write a  
logic one to the BCFE bit. If a status bit is cleared during the break  
state, it remains cleared when the MCU exits the break state.  
To protect status bits during the break state, write a logic zero to the  
BCFE bit. With BCFE at logic zero (its default state), software can read  
and write I/O registers during the break state without affecting status  
bits. Some status bits have a two-step read/write clearing procedure. If  
software does the first step on such a bit before the break, the bit can-  
not change during the break state as long as BCFE is at logic zero.  
After the break, doing the second step clears the status bit.  
4-pit  
MC68HC08AZ0  
302  
Programmable Interrupt Timer (PIT)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programmable Interrupt Timer (PIT)  
I/O registers  
I/O registers  
The following I/O registers control and monitor operation of the PIT:  
• PIT status and control register (PSC)  
• PIT counter registers (PCNTH:PCNTL)  
• PIT counter modulo registers (PMODH:PMODL)  
PIT status and  
control register  
(PSC)  
The PIT status and control register does the following:  
• Enables PIT interrupt  
• Flags PIT overflows  
• Stops the PIT counter  
• Resets the PIT counter  
• Prescales the PIT counter clock  
Bit 7  
POF  
0
6
PIE  
0
5
PSTOP  
1
4
3
2
PPS2  
0
1
PPS1  
0
Bit 0  
PPS0  
0
Read:  
Write:  
Reset:  
0
PRST  
0
0
PSC  
$004B  
0
0
= Unimplemented  
Figure 2. PIT Status and Control Register (TSC)  
5-pit  
MC68HC08AZ0  
303  
MOTOROLA  
Programmable Interrupt Timer (PIT)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programmable Interrupt Timer (PIT)  
POF — PIT overflow flag bit  
This read/write flag is set when the PIT counter resets to $0000 after  
reaching the modulo value programmed in the PIT counter modulo  
registers. Clear POF by reading the PIT status and control register  
when POF is set and then writing a logic zero to POF. If another PIT  
overflow occurs before the clearing sequence is complete, then  
writing logic zero to POF has no effect. Therefore, a POF interrupt  
request cannot be lost due to inadvertent clearing of POF. Reset  
clears the POF bit. Writing a logic one to POF has no effect.  
1 = PIT counter has reached modulo value  
0 = PIT counter has not reached modulo value  
PIE — PIT overflow interrupt enable bit  
This read/write bit enables PIT overflow interrupts when the POF bit  
becomes set. Reset clears the PIE bit.  
1 = PIT overflow interrupts enabled  
0 = PIT overflow interrupts disabled  
PSTOP — PIT STOP bit  
This read/write bit stops the PIT counter. Counting resumes when  
PSTOP is cleared. Reset sets the PSTOP bit, stopping the PIT  
counter until software clears the PSTOP bit.  
1 = PIT counter stopped  
0 = PIT counter active  
NOTE: Do not set the PSTOP bit before entering wait mode if the PIT is required  
to exit wait mode.  
PRST — PIT reset bit  
Setting this write-only bit resets the PIT counter and the PIT prescaler.  
Setting PRST has no effect on any other registers. Counting resumes  
from $0000. PRST is cleared automatically after the PIT counter is  
reset and always reads as logic zero. Reset clears the PRST bit.  
1 = Prescaler and PIT counter cleared  
0 = No effect  
NOTE: Setting the PSTOP and PRST bits simultaneously stops the PIT counter  
at a value of $0000.  
6-pit  
MC68HC08AZ0  
304  
Programmable Interrupt Timer (PIT)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programmable Interrupt Timer (PIT)  
I/O registers  
PPS[2:0] — Prescaler select bits  
These read/write bits select one of the seven prescaler outputs as the  
input to the PIT counter as Table 2 shows. Reset clears the PPS[2:0]  
bits.  
Table 2. Prescaler selection  
PS[2:0]  
000  
PIT clock source  
Internal Bus Clock ÷1  
Internal Bus Clock ÷ 2  
Internal Bus Clock ÷ 4  
Internal Bus Clock ÷ 8  
Internal Bus Clock ÷ 16  
Internal Bus Clock ÷ 32  
Internal Bus Clock ÷ 64  
Internal Bus Clock ÷ 64  
001  
010  
011  
100  
101  
110  
111  
PIT counter  
registers  
(PCNTH:PCNTL)  
The two read-only PIT counter registers contain the high and low bytes  
of the value in the PIT counter. Reading the high byte (PCNTH) latches  
the contents of the low byte (PCNTL) into a buffer. Subsequent reads of  
PCNTH do not affect the latched PCNTL value until PCNTL is read.  
Reset clears the PIT counter registers. Setting the PIT reset bit (PRST)  
also clears the PIT counter registers.  
NOTE: If you read PCNTH during a break interrupt, be sure to unlatch PCNTL  
by reading PCNTL before exiting the break interrupt. Otherwise, PCNTL  
retains the value latched during the break.  
7-pit  
MC68HC08AZ0  
MOTOROLA  
Programmable Interrupt Timer (PIT)  
305  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programmable Interrupt Timer (PIT)  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
Read:  
Write:  
Reset:  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
PCNTH  
$004C  
0
0
0
0
0
0
0
0
Bit 7  
Bit 7  
6
6
5
5
4
4
3
3
2
2
1
1
Bit 0  
Bit 0  
Read:  
Write:  
PCNTL  
$004D  
0
0
0
0
0
0
0
0
Reset:  
= Unimplemented  
Figure 3. PIT counter registers (PCNTH:PCNTL)  
PIT Counter  
modulo registers  
(PMODH:PMODL)  
The read/write PIT modulo registers contain the modulo value for the  
PIT counter. When the PIT counter reaches the modulo value, the over-  
flow flag (POF) becomes set, and the PIT counter resumes counting  
from $0000 at the next clock. Writing to the high byte (PMODH) inhibits  
the POF bit and overflow interrupts until the low byte (PMODL) is writ-  
ten. Reset sets the PIT counter modulo registers.  
Bit 15  
Bit 15  
1
14  
14  
1
13  
13  
1
12  
12  
1
11  
11  
1
10  
10  
1
9
9
1
Bit 8  
Bit 8  
1
Read:  
Write:  
Reset:  
PMODH  
$004E  
Bit 7  
Bit 7  
1
6
6
1
5
5
1
4
4
1
3
3
1
2
2
1
1
1
1
Bit 0  
Bit 0  
1
Read:  
Write:  
Reset:  
PMODL  
$004F  
Figure 4. PIT Counter modulo registers (TMODH:TMODL)  
NOTE: Reset the PIT counter before writing to the PIT counter modulo registers.  
8-pit  
MC68HC08AZ0  
306  
Programmable Interrupt Timer (PIT)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
ADC  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309  
ADC port I/O pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310  
Voltage conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310  
Conversion time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310  
Continuous conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311  
Accuracy and precision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311  
Low power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311  
WAIT mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311  
STOP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311  
I/O signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312  
ADC analog power pin (VDDAREF) . . . . . . . . . . . . . . . . . . . . . . . 312  
ADC analog ground pin (AVSS/VREFL). . . . . . . . . . . . . . . . . . . . 312  
ADC voltage reference pin (VREFH) . . . . . . . . . . . . . . . . . . . . . . 312  
ADC voltage in (ADVIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312  
I/O registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313  
ADC status and control register (ADSCR) . . . . . . . . . . . . . . . . . . 313  
ADC data register (ADR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316  
ADC clock register (ADCLKR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 316  
1-adc  
MC68HC08AZ0  
MOTOROLA  
Analog-to-Digital Converter (ADC)  
307  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
Introduction  
This section describes the Analog to Digital Converter. The ADC is an  
eight bit analog to digital converter.  
Features  
Features of the ADC Module include the following:  
• 8 channels with multiplexed input  
• Linear successive approximation  
• 8 bit resolution  
• Single or continuous conversion  
• Conversion complete flag or conversion complete interrupt  
• Selectable ADC clock  
2-adc  
MC68HC08AZ0  
308  
Analog-to-Digital Converter (ADC)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
Functional description  
Functional description  
Eight ADC channels are available for sampling external sources at pins  
PTB7/ATD7–PTB0/ATD0. An analog multiplexer allows the single ADC  
converter to select one ADC channel as ADC Voltage IN (ADCVIN).  
ADCVIN is converted by the successive approximation register based  
counter. When the conversion is completed, ADC places the result in the  
ADC data register and sets a flag or generates an interrupt. See Figure  
1.  
INTERNAL  
DATA BUS  
READ DDRB  
WRITE DDRB  
WRITE PTB  
DISABLE  
DDRBx  
PTBx  
RESET  
PTBx  
(ADC Channel x)  
READ PTB/PTD  
DISABLE  
ADC DATA REGISTER  
CONVERSION  
COMPLETE  
ADC VOLTAGE IN  
(ADVIN)  
ADCH[4:0]  
INTERRUPT  
LOGIC  
CHANNEL  
SELECT  
ADC  
AIEN  
COCO/IDMAS  
ADC CLOCK  
CGMXCLK  
CLOCK  
GENERATOR  
BUS CLOCK  
ADIV[2:0]  
ADICLK  
Figure 1. ADC block diagram  
3-adc  
MC68HC08AZ0  
309  
MOTOROLA  
Analog-to-Digital Converter (ADC)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
ADC port I/O pins  
PTB7/ATD7–PTB0/ATD0 are general purpose I/O pins that share with  
the ADC channels.  
The Channel select bits define which ADC channel/port pin will be used  
as the input signal. The ADC overrides the port I/O logic by forcing that  
pin as input to the ADC. The remaining ADC channels/port pins are  
controlled by the port I/O logic and can be used as general purpose I/O.  
Writes to the port register or DDR will not have any affect on the port pin  
that is selected by the ADC. Read of a port pin which is in use by the  
ADC will return a logic zero.  
Voltage  
When the input voltage to the ADC equals to VREFH, the ADC converts  
conversion  
the signal to $FF (full scale). If the input voltage equals to A  
/VREFL  
VSS ,  
the ADC converts it to $00. Input voltages between VREFH and  
/VREFL is a straight-line linear conversion. Conversion accuracy of  
A
VSS  
all other input voltages is not guaranteed. Current injection on unused  
pins can also cause conversion inaccuracies.  
NOTE: Input voltage should not exceed the analog supply voltages.  
Conversion time  
Conversion starts after a write to the ADSCR. Conversion time in terms  
of the number of bus cycles is a function of oscillator frequency, bus  
frequency, and ADIV prescaler bits. For example, with oscillator  
frequency of 4MHz, bus frequency of 8MHz and ADC clock frequency of  
1MHz, one conversion will take between 16 ADC and 17 ADC clock  
cycles or between 16 and 17 µs in this case. There will be 128 bus cycles  
between each conversion. Sample rate is approximately 60kHz.  
16–17 ADC cycles  
Conversion time =  
ADC frequency  
# Bus cycles = Conversion time x Bus frequency  
4-adc  
MC68HC08AZ0  
310  
Analog-to-Digital Converter (ADC)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
Interrupts  
Continuous  
conversion  
In the continuous conversion mode, the ADC Data Register will be filled  
with new data after each conversion. Data from the previous conversion  
will be overwritten whether that data has been read or not. Conversions  
will continue until the ADCO bit is cleared. The COCO bit is set after the  
first conversion and will stay set for the next several conversions until the  
next write of the ADC status and control register or the next read of the  
ADC data register.  
Accuracy and  
precision  
The conversion process is monotonic and has no missing codes.  
Interrupts  
When the AIEN bit is set, the ADC module is capable of generating either  
CPU or DMA interrupts after each ADC conversion. A CPU interrupt is  
generated if the COCO/IDMAS bit is at logic zero. 1 zero. If the  
COCO/IDMAS bit is set, a DMA interrupt is generated. The  
COCO/IDMAS bit is not used as a conversion complete flag when  
interrupts are enabled.  
Low power modes  
WAIT mode  
The WAIT and STOP instruction can put the MCU in low power  
consumption standby modes.  
The ADC continues normal operation during WAIT mode. Any enabled  
CPU interrupt request from the ADC can bring the MCU out of wait  
mode. If the ADC is not required to bring the MCU out of wait mode,  
power down the ADC by setting ADCH[4:0] bits in the ADC Status and  
Control Register before executing the WAIT instruction.  
STOP mode  
The ADC module is inactive after the execution of a STOP instruction.  
Any pending conversion is aborted. ADC conversions resume when the  
MCU exits stop mode after an external interrupt. Allow one conversion  
cycle to stabilize the analog circuitry.  
5-adc  
MC68HC08AZ0  
MOTOROLA  
Analog-to-Digital Converter (ADC)  
311  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
I/O signals  
The ADC module has 8 I/O that are shared with Port B.  
The ADC analog portion uses as its power pin. Connect the V  
ADC analog  
power pin  
pin  
DDAREF  
to the same voltage potential as VDD. External filtering may be necessary  
to ensure clean V for good results.  
(V  
)
DDAREF  
DDAREF  
NOTE: Route V  
carefully for maximum noise immunity and place bypass  
DDAREF  
capacitors as close as possible to the package. V  
present for operation of he ADC.  
must be  
DDAREF  
ADC analog  
ground pin  
The ADC analog portion uses A  
/VREFL as its ground pin. Connect  
VSS  
the A  
/VREFL pin to the same voltage potential as VSS.  
VSS  
(A /VREFL)  
VSS  
ADC voltage  
reference pin  
(VREFH)  
VREFH is the reference voltage for the ADC.  
ADC voltage in  
(ADVIN)  
ADVIN is the input voltage signal from one of the 8 ADC channels to the  
ADC module.  
6-adc  
MC68HC08AZ0  
312  
Analog-to-Digital Converter (ADC)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
I/O registers  
I/O registers  
The following I/O registers control and monitor operation of the ADC:  
• ADC status and control register (ADSCR)  
• ADC data register (ADR)  
• ADC clock register (ADCLK)  
ADC status and  
control register  
(ADSCR)  
The following paragraphs describe the function of the ADC Status and  
Control Register.  
Bit 7  
6
AIEN  
0
5
ADCO  
0
4
CH4  
1
3
CH3  
1
2
CH2  
1
1
CH1  
1
Bit 0  
CH0  
1
COCO/  
IDMAS  
Read:  
ADSCR  
$0038  
Write:  
R
0
Reset:  
Figure 2. ADC status and control register  
COCO/IDMAS — Conversions complete/interrupt DMA select  
When AIEN bit is a logic zero, the COCO/IDMAS is a read only bit  
which is set each time a conversion is completed except in the  
continuous conversion mode where it is set after the first conversion.  
This bit is cleared whenever the ADC Status and Control Register is  
written or whenever the ADC Data Register is read.  
If AIEN bit is a logic one, the COCO/IDMAS is a read/write bit which  
selects either CPU or DMA to service the ADC interrupt request.  
Reset clears this bit.  
1 = conversion completed (AIEN=0) / DMA interrupt (AIEN=1)  
0 = conversion not completed (AIEN=0) / CPU interrupt (AIEN=1)  
7-adc  
MC68HC08AZ0  
MOTOROLA  
Analog-to-Digital Converter (ADC)  
313  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
AIEN — ADC interrupt enable  
When this bit is set, an interrupt is generated at the end of an ADC  
conversion. The interrupt signal is cleared when the Data Register is  
read or the Status/Control register is written. Reset clears AIEN bit.  
1 = ADC Interrupt enabled  
0 = ADC Interrupt disabled  
ADCO — ADC continuous conversion  
When set, the ADC will continuously convert samples and update the  
ADR register at the end of each conversion. Only one conversion is  
allowed when this bit is cleared. Reset clears the ADCO bit.  
1 = continuous ADC conversion  
0 = one ADC conversion  
ADCH[4:0] — ADC channel select bits  
ADCH4, ADCH3, ADCH2, ADCH1, and ADCH0 form a 5-bit field  
which is used to select one of the ADC channels. The channels are  
detailed in the following table. Care should be taken when using a port  
pin as both an analog and digital input simultaneously to prevent  
switching noise from corrupting the analog signal. See Table 1.  
The ADC subsystem is turned off when the channel select bits are all  
set to one. This feature allows for reduced power consumption for the  
MCU when the ADC is not used.  
NOTE: Recovery from the disabled state requires one conversion cycle to  
stabilize.  
The voltage levels supplied from internal reference nodes as  
specified in the table are used to verify the operation of the ADC  
converter both in production test and for user applications.  
8-adc  
MC68HC08AZ0  
314  
Analog-to-Digital Converter (ADC)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
I/O registers  
Table 1. Mux Channel Select  
ADCH4  
ADCH3  
ADCH2  
ADCH1  
ADCH0  
Input Select  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
PTB0/ATD0  
PTB1/ATD1  
PTB2/ATD2  
PTB3/ATD3  
PTB4/ATD4  
PTB5/ATD5  
PTB6/ATD6  
PTB7/ATD7  
Unused  
Unused  
Unused  
Unused  
Unused  
Unused  
Unused  
Unused  
(1)  
Unused  
(1)  
1
1
0
1
0
Unused  
1. If any unused channels are selected, the resulting ADC conversion will be unknown.  
9-adc  
MC68HC08AZ0  
315  
MOTOROLA  
Analog-to-Digital Converter (ADC)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
ADC data register  
(ADR)  
One 8-bit result register is provided. This register is updated each time  
an ADC conversion completes.  
Bit 7  
AD7  
6
5
4
3
2
1
Bit 0  
AD0  
Read:  
Write:  
Reset:  
AD6  
AD5  
AD4  
AD3  
AD2  
AD1  
ADR  
$0039  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 3. ADC data register  
ADCclockregister  
(ADCLKR)  
This register selects the clock frequency for the ADC  
Bit 7  
ADIV2  
0
6
ADIV1  
0
5
4
3
2
1
Bit 0  
0
Read:  
Write:  
Reset:  
0
0
0
ADCLK  
$003A  
ADIV0 ADICLK  
0
0
0
0
0
0
= Unimplemented  
Figure 4. ADC clock register  
ADIV2:ADIV0 — ADC clock prescaler bits  
ADIV2, ADIV1and ADIV0 form a 3-bit field which selects the divide  
ratio used by the ADC to generate the internal ADC clock. Table 2  
shows the available clock configurations. The ADC clock should be  
set to approximately 1MHz.  
cgmxclk or bus frequency  
1MHz = -------------------------------------------------------------  
ADIV[2:0]  
10-adc  
MC68HC08AZ0  
316  
Analog-to-Digital Converter (ADC)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
I/O registers  
Table 2. ADC clock divide ratio  
ADIV2  
ADIV1  
ADIV0  
ADC Clock Rate  
ADC input clock /1  
ADC input clock / 2  
ADC input clock / 4  
ADC input clock / 8  
ADC input clock / 16  
0
0
0
0
1
0
0
1
1
X
0
1
0
1
X
X = don’t care  
ADICLK — ADC input clock select  
ADICLK selects either bus clock or cgmxclk as the input clock source  
to generate the internal ADC clock. Reset selects cgmxclk as the ADC  
clock source.  
If the external clock (cgmxclk) is equal or greater than 1MHz, cgmxclk  
can be used as the clock source for the ADC. If cgmxclk is less than  
1MHz, use the PLL generated bus clock as the clock source. As long  
as the internal ADC clock is at approximately 1MHz, correct operation  
can be guaranteed. See Conversion time on page 310.  
1 = Internal bus clock  
0 = External clock (cgmxclk)  
NOTE: During the conversion process, changing the ADC clock will result in an  
incorrect conversion.  
11-adc  
MC68HC08AZ0  
MOTOROLA  
Analog-to-Digital Converter (ADC)  
317  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Analog-to-Digital Converter (ADC)  
12-adc  
MC68HC08AZ0  
318  
Analog-to-Digital Converter (ADC)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Keyboard Module (KB)  
Keyboard Module  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323  
Keyboard status and control register (KBSCR) . . . . . . . . . . . . . . 323  
Keyboard interrupt enable register (KBIER) . . . . . . . . . . . . . . . . . 324  
Keyboard module during break interrupts. . . . . . . . . . . . . . . . . . . . . 325  
Introduction  
Features  
The keyboard module provides five independently maskable external  
interrupt pins.  
Features of the keyboard module include the following:  
• Five Keyboard Interrupt Pins and Interrupt Masks  
• Selectable triggering sensitivity  
1-kbd  
MC68HC08AZ0  
MOTOROLA  
Keyboard Module (KB)  
319  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Keyboard Module (KB)  
Functional description  
Writing to the KBIE4–KBIE0 bits in the keyboard interrupt enable register  
independently enables or disables each port G or port H pin as a  
keyboard interrupt pin. Enabling a keyboard interrupt pin also enables its  
pull-up device. A logic zero applied to a keyboard interrupt pin can latch  
a keyboard interrupt request.  
The keyboard interrupt latch becomes set when one or more keyboard  
pins goes low after all were high. The MODEK bit in the keyboard status  
and control register controls the triggering sensitivity of the keyboard  
interrupt latch.  
• If the keyboard interrupt latch is edge-sensitive only, a falling edge  
on a keyboard pin does not latch an interrupt request if another  
keyboard pin is already low. To prevent losing an interrupt request  
on one pin because another pin is still low, software can disable  
the former pin while it is low.  
• If the keyboard interrupt latch is edge- and level-sensitive, an  
interrupt request is latched as long as any keyboard pin is low.  
INTERNAL BUS  
VECTOR FETCH  
DECODER  
PTG4/  
KBD4  
VDD  
ACKK  
CLR  
To pullup  
enable  
D
Q
SYNCHRONIZER  
CK  
KB4IE  
KEYBOARD  
INTERRUPT  
LATCH  
KEYBOARD  
INTERRUPT  
REQUEST  
PTG0/  
KBD0  
IMASKK  
To pullup  
enable  
MODEK  
KB0IE  
Figure 5. Keyboard module block diagram  
2-kbd  
MC68HC08AZ0  
320  
Keyboard Module (KB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Keyboard Module (KB)  
Functional description  
Table 1. KB I/O register summary  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0 Addr.  
R:  
0
0
0
0
KEYF  
0
ACKK  
0
Keyboard Status/Control  
Register (KBSCR)  
IMASK MODE  
$001B  
K
K
W:  
Reset  
0
0
0
0
0
0
0
0
0
0
R:  
Keyboard Interrupt Control  
Register (KBICR)  
KB4IE KB3IE KB2IE KB1IE KB0IE $0021  
W:  
Reset  
0
0
0
0
0
0
0
0
= Unimplemented  
The MODEK bit in the keyboard status and control register controls the  
triggering sensitivity of the keyboard interrupt latch. If the MODEK bit is  
set, the keyboard interrupt pins are both falling-edge- and  
low-level-sensitive, and both of the following actions must occur to clear  
the keyboard interrupt latch:  
• Vector fetch or software clear — A vector fetch generates an  
interrupt acknowledge signal to clear the latch. Software may  
generate the interrupt acknowledge signal by writing a logic one to  
the ACKK bit in the keyboard status and control register (KBSCR).  
The ACKK bit is useful in applications that poll the keyboard  
interrupt pins and require software to clear the keyboard interrupt  
latch. Writing to the ACKK bit can also prevent spurious interrupts  
due to noise. Setting ACKK does not affect subsequent transitions  
on the keyboard interrupt pins. A falling edge that occurs after  
writing to the ACKK bit latches another interrupt request. If the  
keyboard interrupt mask bit, IMASKK, is clear, the CPU loads the  
program counter with the vector address at locations $FFD2 and  
$FFD3.  
• Return of all enabled keyboard interrupt pins to logic one — As  
long as any enabled keyboard interrupt pin is at logic zero, the  
keyboard interrupt latch remains set.  
The vector fetch or software clear and the return of all enabled keyboard  
interrupt pins to logic one may occur in any order. The interrupt request  
remains pending as long as any enabled keyboard interrupt pin is at  
logic zero.  
3-kbd  
MC68HC08AZ0  
MOTOROLA  
Keyboard Module (KB)  
321  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Keyboard Module (KB)  
If the MODEK bit is clear, the keyboard interrupt pin is  
falling-edge-sensitive only. With MODEK clear, a vector fetch or  
software clear immediately clears the keyboard interrupt latch.  
Reset clears the keyboard interrupt latch and the MODEK bit, clearing  
the interrupt request even if a keyboard interrupt pin stays at logic zero.  
The keyboard flag bit (KEYF) in the keyboard status and control register  
can be used to see if a pending interrupt exists. The KEYF bit is not  
affected by the keyboard interrupt mask bit (IMASKK) which makes it  
useful in applications where polling is preferred.  
To determine the logic level on a keyboard interrupt pin, use the data  
direction register to configure the pin as an input and read the data  
register.  
NOTE: Setting a keyboard interrupt enable bit (KBxIE) forces the corresponding  
keyboard interrupt pin to be an input, overriding the data direction  
register. However, the data direction register bit must be a logic zero for  
software to read the pin.  
4-kbd  
MC68HC08AZ0  
322  
Keyboard Module (KB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Keyboard Module (KB)  
I/O Registers  
I/O Registers  
The following registers control and monitor operation of the keyboard  
module:  
• Keyboard status and control register (KBSCR)  
• Keyboard interrupt enable register (KBIER)  
Keyboard status  
and control  
The keyboard status and control register performs the following  
functions:  
register (KBSCR)  
• Flags keyboard interrupt requests  
• Acknowledges keyboard interrupt requests  
• Masks keyboard interrupt requests  
• Controls keyboard latch triggering sensitivity  
Bit 7  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
0
0
0
KEYF  
0
ACKK  
0
KBSCR  
$001B  
IMASKK MODEK  
0
0
0
0
0
0
0
= Unimplemented  
Figure 6. Keyboard status and control register (KBSCR)  
Bits 7–4 — Not used  
These read-only bits always read as logic zeros.  
KEYF — Keyboard flag bit  
This read-only bit is set when a keyboard interrupt is pending. Reset  
clears the KEYF bit.  
1 = Keyboard interrupt pending  
0 = No keyboard interrupt pending  
5-kbd  
MC68HC08AZ0  
MOTOROLA  
Keyboard Module (KB)  
323  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Keyboard Module (KB)  
ACKK — Keyboard acknowledge bit  
Writing a logic one to this read/write bit clears the keyboard interrupt  
latch. ACKK always reads as logic zero. Reset clears ACKK.  
IMASKK — Keyboard interrupt mask bit  
Writing a logic one to this read/write bit prevents the output of the  
keyboard interrupt mask from generating interrupt requests. Reset  
clears the IMASKK bit.  
1 = Keyboard interrupt requests disabled  
0 = Keyboard interrupt requests enabled  
MODEK — Keyboard triggering sensitivity bit  
This read/write bit controls the triggering sensitivity of the keyboard  
interrupt pins. Reset clears MODEK.  
1 = Keyboard interrupt requests on falling edges and low levels  
0 = Keyboard interrupt requests on falling edges only  
Keyboardinterrupt  
enable register  
(KBIER)  
The keyboard interrupt enable register enables or disables each port G  
or port H pin to operate as a keyboard interrupt pin.  
Bit 7  
0
6
0
5
0
4
KBIE4  
0
3
KBIE3  
0
2
KBIE2  
0
1
KBIE1  
0
Bit 0  
KBIE0  
0
Read:  
Write:  
Reset  
KBIER  
$0021  
0
0
0
= Unimplemented  
Figure 7. Keyboard interrupt enable register (KBIER)  
KBIE4:KBIE0 — Keyboard interrupt enable bits  
Each of these read/write bits enables the corresponding keyboard  
interrupt pin to latch interrupt requests. Reset clears the keyboard  
interrupt enable register.  
1 = Pin enabled as keyboard interrupt pin  
0 = Pin not enabled as keyboard interrupt pin  
6-kbd  
MC68HC08AZ0  
324  
Keyboard Module (KB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Keyboard Module (KB)  
Keyboard module during break interrupts  
Keyboard module during break interrupts  
The system integration module (SIM) controls whether the keyboard  
interrupt latch can be cleared during the break state. The BCFE bit in the  
SIM break flag control register (SBFCR) enables software to clear the  
latch during the break state.  
To allow software to clear the keyboard interrupt latch during a break  
interrupt, write a logic one to the BCFE bit. If a latch is cleared during the  
break state, it remains cleared when the MCU exits the break state.  
To protect the latch during the break state, write a logic zero to the BCFE  
bit. With BCFE at logic zero (its default state), writing during the break  
state to the keyboard acknowledge bit (ACKK) in the keyboard status  
and control register has no effect. See Keyboard status and control  
register (KBSCR) on page 323.  
7-kbd  
MC68HC08AZ0  
MOTOROLA  
Keyboard Module (KB)  
325  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Keyboard Module (KB)  
8-kbd  
MC68HC08AZ0  
326  
Keyboard Module (KB)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
I/O Ports  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328  
Port A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329  
Port A Data Register (PTA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329  
Data direction register A (DDRA) . . . . . . . . . . . . . . . . . . . . . . . . . 329  
Port B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331  
Port B data register (PTB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331  
Data direction register B (DDRB) . . . . . . . . . . . . . . . . . . . . . . . . . 332  
Port C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334  
Port C data register (PTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334  
Data direction register C (DDRC) . . . . . . . . . . . . . . . . . . . . . . . . . 335  
Port D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337  
Port D data register (PTD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337  
Data direction register D (DDRD) . . . . . . . . . . . . . . . . . . . . . . . . . 338  
Port E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340  
Port E data register (PTE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340  
Data direction register E (DDRE) . . . . . . . . . . . . . . . . . . . . . . . . . 342  
Port F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344  
Port F data register (PTF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344  
Data direction register F (DDRF) . . . . . . . . . . . . . . . . . . . . . . . . . 345  
Port G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347  
Port G data register (PTG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347  
Data direction register G (DDRG). . . . . . . . . . . . . . . . . . . . . . . . . 347  
Port H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349  
Port H data register (PTH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349  
Data direction register H (DDRH) . . . . . . . . . . . . . . . . . . . . . . . . . 349  
1-io  
MC68HC08AZ0  
MOTOROLA  
I/O Ports  
327  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Introduction  
Forty-nine bidirectional input-output (I/O) pins form eight parallel ports.  
All I/O pins are programmable as inputs or outputs.  
NOTE: Connect any unused I/O pins to an appropriate logic level, either VDD or  
VSS. Although the I/O ports do not require termination for proper  
operation, termination reduces excess current consumption and the  
possibility of electrostatic damage.  
Table 1. I/O port register summary  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0 Addr.  
Port A Data Register (PTA) PTA7  
Port B Data Register (PTB) PTB7  
PTA6 PTA5 PTA4 PTA3 PTA2 PTA1 PTA0 $0000  
PTB6 PTB5 PTB4 PTB3 PTB2 PTB1 PTB0 $0001  
Port C Data Register (PTC)  
0
0
PTC5 PTC4 PTC3 PTC2 PTC1 PTC0 $0002  
Port D Data Register (PTD) PTD7  
PTD6 PTD5 PTD4 PTD3 PTD2 PTD1 PTD0 $0003  
Data Direction Register A (DDRA) DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0 $0004  
Data Direction Register B (DDRB) DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0 $0005  
Data Direction Register C (DDRC)MCLKEN  
0
DDRC5 DDRC4 DDRC3 DDRC2 DDRC1 DDRC0 $0006  
Data Direction Register D (DDRD) DDRD7 DDRD6 DDRD5 DDRD4 DDRD3 DDR2 DDRD1 DDRD0 $0007  
Port E Data Register (PTE) PTE7  
PTE6 PTE5 PTE4 PTE3 PTE2 PTE1 PTE0 $0008  
PTF6 PTF5 PTF4 PTF3 PTF2 PTF1 PTF0 $0009  
Port F Data Register (PTF)  
Port G Data Register (PTG)  
Port H Data Register (PTH)  
0
0
0
0
0
0
0
0
0
0
0
PTG2 PTG1 PTG0 $000A  
PTH1 PTH0 $000B  
0
Data Direction Register E (DDRE) DDRE7 DDRE6 DDRE5 DDRE4 DDRE3 DDRE2 DDRE1 DDRE0 $000C  
Data Direction Register F (DDRF)  
Data Direction Register G (DDRG)  
Data Direction Register H (DDRH)  
0
0
0
DDRF6 DDRF5 DDRF4 DDRF3 DDRF2 DDRF1 DDRF0 $000D  
0
0
0
0
0
0
0
0
DDRG2 DDRG1 DDRG0 $000E  
DDRH1 DDRH0 $000F  
0
2-io  
MC68HC08AZ0  
328  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port A  
Port A  
Port A is an 8-bit general-purpose bidirectional I/O port.  
Port A Data  
Register (PTA)  
The port A data register contains a data latch for each of the eight port  
A pins.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
PTA  
$0000  
PTA7  
PTA6  
PTA5  
PTA4  
PTA3  
PTA2  
PTA1  
PTA0  
Unaffected by reset  
Figure 1. Port A data register (PTA)  
PTA[7:0] — Port A Data Bits  
These read/write bits are software programmable. Data direction of  
each port A pin is under the control of the corresponding bit in data  
direction register A. Reset has no effect on port A data.  
Data direction  
register A (DDRA)  
Data direction register A determines whether each port A pin is an input  
or an output. Writing a logic one to a DDRA bit enables the output buffer  
for the corresponding port A pin; a logic zero disables the output buffer.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRA  
$0004  
DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0  
0
0
0
0
0
0
0
0
Figure 2 Data direction register A (DDRA)  
DDRA[7:0] — Data direction register A Bits  
These read/write bits control port A data direction. Reset clears  
DDRA[7:0], configuring all port A pins as inputs.  
1 = Corresponding port A pin configured as output  
0 = Corresponding port A pin configured as input  
3-io  
MC68HC08AZ0  
329  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
NOTE: Avoid glitches on port A pins by writing to the port A data register before  
changing data direction register A bits from 0 to 1.  
Figure 3 shows the port A I/O logic.  
READ DDRA ($0004)  
WRITE DDRA ($0004)  
DDRAx  
RESET  
WRITE PTA ($0000)  
PTAx  
PTAx  
READ PTA ($0000)  
Figure 3. Port A I/O Circuit  
When bit DDRAx is a logic one, reading address $0000 reads the PTAx  
data latch. When bit DDRAx is a logic zero, reading address $0000  
reads the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data direction bit. Table 2 summarizes the  
operation of the port A pins.  
Table 2. Port A pin functions  
Accesses to  
Accesses to PTA  
DDRA  
DDRA Bit  
PTA Bit  
I/O Pin Mode  
Read/Write  
DDRA[7:0]  
DDRA[7:0]  
Read  
Pin  
Write  
(1)  
(2)  
(3)  
0
X
Input, Hi-Z  
PTA[7:0]  
1
X
Output  
PTA[7:0]  
PTA[7:0]  
1. X = don’t care  
2. Hi-Z = high impedance  
3. Writing affects data register, but does not affect input.  
4-io  
MC68HC08AZ0  
330  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
MOTOROLA  
Freescale Semiconductor, Inc.  
I/O Ports  
Port B  
Port B  
Port B is an 8-bit special function port that shares all of its pins with the  
analog to digital convertor.  
Port B data register  
(PTB)  
The port B data register contains a data latch for each of the eight port  
B pins.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
PTB  
$0001  
PTB7  
PTB6  
PTB5  
PTB4  
PTB3  
PTB2  
PTB1  
PTB0  
Unaffected by reset  
ALTERNATE  
FUNCTIONS  
ATD7  
ATD6  
ATD5  
ATD4  
ATD3  
ATD2  
ATD1  
ATD0  
Figure 4. Port B data register (PTB)  
PTB[7:0] — Port B data bits  
These read/write bits are software programmable. Data direction of  
each port B pin is under the control of the corresponding bit in data  
direction register B. Reset has no effect on port B data.  
ATD[7:0] — ADC channels  
NOTE: PTB7/ATD7– PTB0/ATD0 are eight analog to digital convertor channels.  
The ADC channel select bits, CH[4:0], determine whether the  
PTB7/ATD7–PTB0/ATD0 pins are ADC channels or general-purpose  
I/O pins. If an ADC channel is selected and a read of this corresponding  
bit in the port B data register occurs, the data will be zero if the data  
direction for this bit is programmed as an input. Otherwise, the data will  
reflect the value in the data latch. Data direction register B (DDRB) does  
not affect the data direction of port B pins that are being used by the  
ADC. However, the DDRB bits always determine whether reading port B  
returns the states of the latches or logic 0.  
5-io  
MC68HC08AZ0  
MOTOROLA  
I/O Ports  
331  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Data direction  
register B (DDRB)  
Data direction register B determines whether each port B pin is an input  
or an output. Writing a logic one to a DDRB bit enables the output buffer  
for the corresponding port B pin; a logic zero disables the output buffer.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRB  
$0005  
DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0  
0
0
0
0
0
0
0
0
Figure 5. Data direction register B (DDRB)  
DDRB[7:0] — Data direction register B Bits  
These read/write bits control port B data direction. Reset clears  
DDRB[7:0], configuring all port B pins as inputs.  
1 = Corresponding port B pin configured as output  
0 = Corresponding port B pin configured as input  
NOTE: Avoid glitches on port B pins by writing to the port B data register before  
changing data direction register B bits from 0 to 1.  
Figure 6 shows the port B I/O logic.  
READ DDRB ($0005)  
WRITE DDRB ($0005)  
DDRBx  
RESET  
WRITE PTB ($0001)  
PTBx  
PTBx  
READ PTB ($0001)  
Figure 6. Port B I/O circuit  
6-io  
MC68HC08AZ0  
332  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port B  
When bit DDRBx is a logic one, reading address $0001 reads the PTBx  
data latch. When bit DDRBx is a logic zero, reading address $0001  
reads the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data direction bit. Table 3 summarizes the  
operation of the port B pins.  
Table 3. Port B pin functions  
Accesses to  
Accesses to PTB  
DDRB  
DDRB Bit  
PTB Bit  
I/O Pin Mode  
Read/Write  
DDRB[7:0]  
DDRB[7:0]  
Read  
Pin  
Write  
(1)  
(2)  
(3)  
0
X
Input, Hi-Z  
PTB[7:0]  
1
X
Output  
PTB[7:0]  
PTB[7:0]  
1. X = don’t care  
2. Hi-Z = high impedance  
3. Writing affects data register, but does not affect input.  
7-io  
MC68HC08AZ0  
333  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port C  
Port C is a 6-bit general-purpose bidirectional I/O port.  
Port C data  
register (PTC)  
The port C data register contains a data latch for each of the six port C  
pins.  
Bit 7  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
0
PTC  
$0002  
PTC5  
PTC4  
PTC3  
PTC2  
PTC1  
PTC0  
Unaffected by reset  
ALTERNATE  
FUNCTIONS  
MCLK  
= Unimplemented  
Figure 7. Port C data register (PTC)  
PTC[5:0] — Port C data bits  
These read/write bits are software-programmable. Data direction of  
each port C pin is under the control of the corresponding bit in data  
direction register C. Reset has no effect on port C data.  
MCLK — T12 System Clock  
The system clock is driven out of PTC2 when enabled by MCLKEN.  
8-io  
MC68HC08AZ0  
334  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port C  
Data direction  
register C (DDRC)  
Data direction register C determines whether each port C pin is an input  
or an output. Writing a logic one to a DDRC bit enables the output buffer  
for the corresponding port C pin; a logic zero disables the output buffer.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
0
MCLKE  
N
DDRC  
$0006  
DDRC5 DDRC4 DDRC3 DDRC2 DDRC1 DDRC0  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 8. Data direction register C (DDRC)  
MCLKEN — MCLK enable bit  
This read/write bit enables MCLK to be an output signal on PTC2. If  
MCLK is enabled, PTC2 is under the control of MCLKEN. Reset  
clears this bit.  
1 = MCLK output enabled  
0 = MCLK output disabled  
DDRC[5:0] — Data direction register C bits  
These read/write bits control port C data direction. Reset clears  
DDRC[7:0], configuring all port C pins as inputs.  
1 = Corresponding port C pin configured as output  
0 = Corresponding port C pin configured as input  
NOTE: Avoid glitches on port C pins by writing to the port C data register before  
changing data direction register C bits from 0 to 1.  
Figure 9 shows the port C I/O logic.  
9-io  
MC68HC08AZ0  
MOTOROLA  
I/O Ports  
335  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
.
READ DDRC ($0006)  
WRITE DDRC ($0006)  
DDRCx  
RESET  
WRITE PTC ($0002)  
PTCx  
PTCx  
READ PTC ($0002)  
Figure 9. Port C I/O circuit  
When bit DDRCx is a logic one, reading address $0002 reads the PTCx  
data latch. When bit DDRCx is a logic zero, reading address $0002  
reads the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data direction bit. Table 4 summarizes the  
operation of the port C pins.  
Table 4. Port C pin functions  
Accesses to  
Accesses to PTC  
DDRC  
Bit Value  
PTC Bit  
I/O Pin Mode  
Read/Write  
DDRC[7]  
Read  
Pin  
Write  
PTC2  
0
1
2
2
Input, Hi-Z  
Output  
DDRC[7]  
0
(1)  
(2)  
(3)  
0
X
Input, Hi-Z  
DDRC[5:0]  
DDRC[5:0]  
Pin  
PTC[5:0]  
1
X
Output  
PTC[5:0]  
PTC[5:0]  
1. X = don’t care  
2. Hi-Z = high impedance  
3. Writing affects data register, but does not affect input.  
10-io  
MC68HC08AZ0  
336  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
MOTOROLA  
Freescale Semiconductor, Inc.  
I/O Ports  
Port D  
Port D  
Port D is an 8-bit general-purpose I/O port.  
PortDdataregister  
(PTD)  
Port D is an 8-bit special function port that shares seven of it’s pins with  
the analog to digital converter and two with the TIMA and TIMB modules.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
PTD  
$0003  
PTD7  
PTD6  
PTD5  
PTD4  
PTD3  
PTD2  
PTD1  
PTD0  
Unaffected by reset  
TBCLK  
Alternate  
Functions  
R
TACLK  
Figure 10. Port D data register (PTD)  
PTD[7:0] — Port D data bits  
PTD[7:0] are read/write, software programmable bits. Data direction  
of PTD[7:0] pins are under the control of the corresponding bit in data  
direction register D.  
Data direction register D determines whether each port D pin is an  
input or an output. Writing a logic one to a DDRD bit enables the  
output buffer for the corresponding port D pin; a logic zero disables  
the output buffer  
NOTE: Data direction register D (DDRD) does not affect the data direction of  
port D pins that are being used by the TIMA or TIMB. However, the  
DDRD bits always determine whether reading port D returns the states  
of the latches to logic 0.  
TACLK/TBCLK — Timer clock input  
The PTD6/TACLK pin is the external clock input for the TIMA. The  
PTD4/TBCLK pin is the external clock input for the TIMB. The  
prescaler select bits, PS[2:0], select PTD6/TACLK or PTD4/TBCLK  
as the TIM clock input (see TIMA channel status and control registers  
(TASC0–TASC3) on page 270 and TIMB status and control register  
11-io  
MC68HC08AZ0  
MOTOROLA  
I/O Ports  
337  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
(TBSC) on page 290). When not selected as the TIM clock,  
PTD6/TAClk and PTD4/TBCLK are available for general purpose I/O.  
While TACLK/TBCLK are selected, corresponding DDRD bits have  
no effect.  
Data direction  
register D (DDRD)  
Data direction register D determines whether each port D pin is an input  
or an output. Writing a logic one to a DDRD bit enables the output buffer  
for the corresponding port D pin; a logic zero disables the output buffer.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRD  
$0007  
DDRD7 DDRD6 DDRD5 DDRD4 DDRD3 DDRD2 DDRD1 DDRD0  
0
0
0
0
0
0
0
0
Figure 11. Data direction register D (DDRD)  
DDRD[7:0] — Data direction register D bits  
These read/write bits control port D data direction. Reset clears  
DDRD[7:0], configuring all port D pins as inputs.  
1 = Corresponding port D pin configured as output  
0 = Corresponding port D pin configured as input  
NOTE: Avoid glitches on port D pins by writing to the port D data register before  
changing data direction register D bits from 0 to 1.  
Figure 12 shows the port D I/O logic.  
When bit DDRDx is a logic one, reading address $0003 reads the PTDx  
data latch. When bit DDRDx is a logic zero, reading address $0003  
reads the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data direction bit. Table 5 summarizes the  
operation of the port D pins.  
12-io  
MC68HC08AZ0  
338  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port D  
READ DDRD ($0007)  
WRITE DDRD ($0007)  
DDRDx  
RESET  
WRITE PTD ($0003)  
PTDx  
PTDx  
READ PTD ($0003)  
Figure 12. Port D I/O circuit  
Table 5. Port D pin functions  
Accesses to  
Accesses to PTD  
DDRD  
DDRD Bit  
PTD Bit  
I/O Pin Mode  
Read/Write  
DDRD[7:0]  
DDRD[7:0]  
Read  
Pin  
Write  
(1)  
(2)  
(3)  
0
X
Input, Hi-Z  
PTD[7:0]  
1
X
Output  
PTD[7:0]  
PTD[7:0]  
1. X = don’t care  
2. Hi-Z = high impedance  
3. Writing affects data register, but does not affect input.  
13-io  
MC68HC08AZ0  
339  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port E  
Port E is an 8-bit special function port that shares two of its pins with the  
timer interface module (TIMA), two of its pins with the serial  
communications interface module (SCI) and four of its pins with the  
serial peripheral interface module (SPI).  
Port E data register  
(PTE)  
The port E data register contains a data latch for each of the eight port  
E pins.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
PTE  
$0008  
PTE7  
PTE6  
PTE5  
PTE4  
PTE3  
PTE2  
PTE1  
PTE0  
Unaffected by reset  
Alternate  
Function:  
SPSCK  
MOSI  
MISO  
SS  
TACH1 TACH0  
RxD  
TxD  
Figure 13. Port E data register (PTE)  
PTE[7:0] — Port E data bits  
PTE[7:0] are read/write, software programmable bits. Data direction  
of each port E pin is under the control of the corresponding bit in data  
direction register E.  
SPSCK — SPI serial clock  
The PTE7/SPSCK pin is the serial clock input of a SPI slave module  
and serial clock output of a SPI master modules. When the SPE bit is  
clear, the PTE7/SPSCK pin is available for general-purpose I/O.  
MOSI — Master Out/Slave In  
The PTE6/MOSI pin is the master out/slave in terminal of the SPI  
module. When the SPE bit is clear, the PTE6/MOSI pin is available for  
general-purpose I/O. See SPI control register (SPCR) on page 243.  
14-io  
MC68HC08AZ0  
340  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port E  
MISO — Master In/Slave Out  
The PTE5/MISO pin is the master in/slave out terminal of the SPI  
module. When the SPI enable bit, SPE, is clear, the SPI module is  
disabled, and the PTE5/MISO pin is available for general-purpose  
I/O. See SPI control register (SPCR) on page 243.  
SS — Slave Select  
The PTE4/SS pin is the slave select input of the SPI module. When  
the SPE bit is clear, or when the SPI master bit, SPMSTR, is set, the  
PTE4/SS pin is available for general-purpose I/O. See SPI control  
register (SPCR) on page 243. When the SPI is enabled as a slave,  
the DDRF0 bit in data direction register E (DDRE) has no effect on the  
PTE4/SS pin.  
NOTE: Data direction register E (DDRE) does not affect the data direction of  
port E pins that are being used by the SPI module. However, the DDRE  
bits always determine whether reading port E returns the states of the  
latches or the states of the pins. See Table 6.  
TACH[1:0] — Timer A channel I/O bits  
The PTE3/TACH1–PTE2/TACH0 pins are the TIMA input  
capture/output compare pins. The edge/level select bits,  
ELSxB:ELSxA, determine whether the PTE3/TACH1–PTE2/TACH0  
pins are timer channel I/O pins or general-purpose I/O pins. See TIMA  
channel status and control registers (TASC0–TASC3) on page 270.  
NOTE: Data direction register E (DDRE) does not affect the data direction of  
port E pins that are being used by the TIMA. However, the DDRE bits  
always determine whether reading port E returns the states of the  
latches or the states of the pins. See Table 6.  
RxD — SCI Receive data input  
The PTE1/RxD pin is the receive data input for the SCI module. When  
the enable SCI bit, ENSCI, is clear, the SCI module is disabled, and  
the PTE1/RxD pin is available for general-purpose I/O. See SCI  
control register 1 (SCC1) on page 199.  
15-io  
MC68HC08AZ0  
MOTOROLA  
I/O Ports  
341  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
TxD — SCI transmit data output  
The PTE0/TxD pin is the transmit data output for the SCI module.  
When the enable SCI bit, ENSCI, is clear, the SCI module is disabled,  
and the PTE0/TxD pin is available for general-purpose I/O. See SCI  
Control Register 2 (SCC2) on page 202.  
NOTE: Data direction register E (DDRE) does not affect the data direction of  
port E pins that are being used by the SCI module. However, the DDRE  
bits always determine whether reading port E returns the states of the  
latches or the states of the pins. See Table 6.  
Data direction  
register E (DDRE)  
Data direction register E determines whether each port E pin is an input  
or an output. Writing a logic one to a DDRE bit enables the output buffer  
for the corresponding port E pin; a logic zero disables the output buffer.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRE  
$000C  
DDRE7 DDRE6 DDRE5 DDRE4 DDRE3 DDRE2 DDRE1 DDRE0  
0
0
0
0
0
0
0
0
Figure 14. Data direction register E (DDRE)  
DDRE[7:0] — Data direction register E bits  
These read/write bits control port E data direction. Reset clears  
DDRE[7:0], configuring all port E pins as inputs.  
1 = Corresponding port E pin configured as output  
0 = Corresponding port E pin configured as input  
NOTE: Avoid glitches on port E pins by writing to the port E data register before  
changing data direction register E bits from 0 to 1.  
Figure 15 shows the port E I/O logic.  
When bit DDREx is a logic one, reading address $0008 reads the PTEx  
data latch. When bit DDREx is a logic zero, reading address $0008  
reads the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data direction bit. Table 6 summarizes the  
operation of the port E pins.  
16-io  
MC68HC08AZ0  
342  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port E  
READ DDRE ($000C)  
WRITE DDRE ($000C)  
DDREx  
RESET  
WRITE PTE ($0008)  
PTEx  
PTEx  
READ PTE ($0008)  
Figure 15. Port E I/O circuit  
Table 6. Port E pin functions  
Accesses to  
DDRE  
Accesses to PTE  
DDRE Bit  
PTE Bit  
I/O Pin Mode  
Read/Write  
DDRE[7:0]  
DDRE[7:0]  
Read  
Pin  
Write  
(1)  
(2)  
(3)  
0
X
Input, Hi-Z  
PTE[7:0]  
1
X
Output  
PTE[7:0]  
PTE[7:0]  
1. X = don’t care  
2. Hi-Z = high impedance  
3. Writing affects data register, but does not affect input.  
17-io  
MC68HC08AZ0  
343  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port F  
Port F is a 7-bit special function port that shares four of its pins with the  
timer interface module (TIMA-6) and two of its pins with the timer  
interface module (TIMB)).  
Port F data register  
(PTF)  
The port F data register contains a data latch for each of the seven port  
F pins.  
Bit 7  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
PTF  
$0009  
PTF6  
PTF5  
PTF4  
PTF3  
PTF2  
PTF1  
PTF0  
Unaffected by reset  
Alternate  
Function:  
TBCH1 TBCH0 TACH5 TACH4 TACH3 TACH2  
= Unimplemented  
Figure 16. Port F data register (PTF)  
PTF[6:0] — Port F data bits  
These read/write bits are software programmable. Data direction of  
each port F pin is under the control of the corresponding bit in data  
direction register F. Reset has no effect on PTF[6:0].  
TACH[5:2] — Timer A channel I/O bits  
The PTF3/TACH5–PTF0/TACH2 pins are the TIM input  
capture/output compare pins. The edge/level select bits,  
ELSxB:ELSxA, determine whether the PTF3/TACH5–PTF0/TACH2  
pins are timer channel I/O pins or general-purpose I/O pins.  
18-io  
MC68HC08AZ0  
344  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port F  
TBCH[1:0] — Timer B channel I/O bits  
The PTF5/TBCH1-PTF4/TBCH0 pins are the TIMB input  
capture/output compare pins. The edge/level select bits,  
ELSxB:ELSxA, determine whether the PTF5/TBCH1-PTF4/TBCH0  
pins are timer channel I/O pins or general purpose I/O pins. See TIMB  
status and control register (TBSC) on page 290.  
NOTE: Data direction register F(DDRF) does not affect the data direction of port  
F pins that are being used by TIMA and TIMB. However, the DDRF bits  
always determine whether reading port F returns the states of the  
latches or the states of the pins. See Table 7.  
Data direction  
register F (DDRF)  
Data direction register F determines whether each port F pin is an input  
or an output. Writing a logic one to a DDRF bit enables the output buffer  
for the corresponding port F pin; a logic zero disables the output buffer.  
Bit 7  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRF  
$000D  
DDRF6 DDRF5 DDRF4 DDRF3 DDRF2 DDRF1 DDRF0  
0
0
0
0
0
0
0
= Unimplemented  
Figure 17. Data direction register F (DDRF)  
DDRF[6:0] — Data direction register F bits  
These read/write bits control port F data direction. Reset clears  
DDRF[6:0], configuring all port F pins as inputs.  
1 = Corresponding port F pin configured as output  
0 = Corresponding port F pin configured as input  
NOTE: Avoid glitches on port F pins by writing to the port F data register before  
changing data direction register F bits from 0 to 1.  
19-io  
MC68HC08AZ0  
MOTOROLA  
I/O Ports  
345  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Figure 18 shows the port F I/O logic.  
READ DDRF ($000D)  
WRITE DDRF ($000D)  
DDRFx  
RESET  
WRITE PTF ($0009)  
PTFx  
PTFx  
READ PTF ($0009)  
Figure 18. Port F I/O circuit  
When bit DDRFx is a logic one, reading address $0009 reads the PTFx  
data latch. When bit DDRFx is a logic zero, reading address $0009  
reads the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data direction bit. Table 7 summarizes the  
operation of the port F pins.  
Table 7. Port F pin functions  
Accesses to  
Accesses to PTF  
DDRF  
DDRF Bit  
PTF Bit  
I/O Pin Mode  
Read/Write  
DDRF[6:0]  
DDRF[6:0]  
Read  
Pin  
Write  
(1)  
(2)  
(3)  
0
X
Input, Hi-Z  
PTF[6:0]  
1
X
Output  
PTF[6:0]  
PTF[6:0]  
1. X = don’t care  
2. Hi-Z = high impedance  
3. Writing affects data register, but does not affect input.  
20-io  
MC68HC08AZ0  
346  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
MOTOROLA  
Freescale Semiconductor, Inc.  
I/O Ports  
Port G  
Port G  
Port G is a 3-bit general-purpose bidirectional I/O port.  
Port G data  
register (PTG)  
The port G data register contains a data latch for each of the three port  
G pins.  
Bit 7  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
0
0
0
0
PTG $000A  
PTG2  
PTG1  
PTG0  
Unaffected by reset  
Alternate Function  
KBD2  
KBD1  
KBD0  
= Unimplemented  
Figure 19. Port G data register (PTG)  
PTG[2:0] — Port G Data Bits  
These read/write bits are software-programmable. Data direction of  
each bit is under the control of the corresponding bit in data direction  
register G. Reset has no effect on port G data.  
KBD[2:0] — Keyboard Inputs  
The keyboard interrupt enable bits, KBIE[2:0], in the keyboard  
interrupt control register (KBICR), enable the port G pins as external  
interrupt pins. See Keyboard Module (KB) on page 319.  
Data direction  
register G (DDRG)  
Data direction register G determines whether each port G pin is an input  
or an output. Writing a logic one to a DDRG bit enables the output buffer  
for the corresponding port G pin; a logic zero disables the output buffer.  
Bit 7  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
0
0
0
0
DDRG  
$000E  
DDRG2 DDRG1 DDRG0  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 20. Data direction register G (DDRG)  
21-io  
MC68HC08AZ0  
347  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
DDRG[2:0] — Data direction register G bits  
These read/write bits control port G data direction. Reset clears  
DDRG[2:0], configuring all port G pins as inputs.  
1 = Corresponding port G pin configured as output  
0 = Corresponding port G pin configured as input  
NOTE: Avoid glitches on port G pins by writing to the port G data register before  
changing data direction register G bits from 0 to 1.  
Figure 21 shows the port G I/O logic.  
READ DDRG ($000E)  
WRITE DDRG ($000E)  
DDRGx  
RESET  
WRITE PTG ($000A)  
PTGx  
PTGx  
READ PTG ($000A)  
Figure 21. Port G I/O circuit  
When bit DDRGx is a logic one, reading address $000A reads the PTGx  
data latch. When bit DDRGx is a logic zero, reading address $000A  
reads the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data.  
22-io  
MC68HC08AZ0  
348  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port H  
Port H  
Port H is a 2-bit general-purpose bidirectional I/O port.  
PortHdataregister  
(PTH)  
The port H data register contains a data latch for each of the two port H  
pins.  
Bit 7  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
0
0
0
0
PTH $000B  
PTH1  
PTH0  
Unaffected by reset  
Alternate Function  
KBD4  
KBD3  
= Unimplemented  
Figure 22. Port H data register (PTH)  
PTH[1:0] — Port H data bits  
These read/write bits are software-programmable. Data direction of  
each bit is under the control of the corresponding bit in data direction  
register H. Reset has no effect on port G data.  
KBD[4:3] — Keyboard inputs  
The keyboard interrupt enable bits, KBIE[4:3], in the keyboard  
interrupt control register (KBICR), enable the port H pins as external  
interrupt pins. See Keyboard Module (KB) on page 319  
Data direction  
register H (DDRH)  
Data direction register H determines whether each port H pin is an input  
or an output. Writing a logic one to a DDRH bit enables the output buffer  
for the corresponding port H pin; a logic zero disables the output buffer.  
Bit 7  
0
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
0
0
0
0
0
DDRH  
$000F  
DDRH1 DDRH0  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 23. Data direction register H (DDRH)  
23-io  
MC68HC08AZ0  
349  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
DDRH[1:0] — Data direction register H bits  
These read/write bits control port H data direction. Reset clears  
DDRH[1:0], configuring all port H pins as inputs.  
1 = Corresponding port H pin configured as output  
0 = Corresponding port H pin configured as input  
NOTE: Avoid glitches on port H pins by writing to the port H data register before  
changing data direction register H bits from 0 to 1.  
Figure 24 shows the port H I/O logic.  
READ DDRH ($000E)  
WRITE DDRH ($000E)  
DDRHx  
RESET  
WRITE PTH ($000A)  
PTGx  
PTHx  
READ PTH ($000A)  
Figure 24. Port H I/O circuit  
When bit DDRHx is a logic one, reading address $000B reads the PTHx  
data latch. When bit DDRHx is a logic zero, reading address $000B  
reads the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data.  
24-io  
MC68HC08AZ0  
350  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
msCAN08  
Contents  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353  
External pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354  
Message storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355  
Background. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355  
Receive structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356  
Transmit structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359  
Identifier acceptance filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361  
Interrupt acknowledge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364  
Interrupt vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364  
Protocol violation protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366  
Low power modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367  
msCAN08 internal sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 368  
Soft Reset mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369  
Power Down mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369  
CPU WAIT mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370  
Programmable wake-up function . . . . . . . . . . . . . . . . . . . . . . . . . 370  
Timer link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370  
Clock system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371  
Memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374  
Programmer’s model of message storage . . . . . . . . . . . . . . . . . . . . 375  
Message Buffer outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375  
Identifier registers (IDRn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376  
Data length register (DLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378  
Data segment registers (DSRn) . . . . . . . . . . . . . . . . . . . . . . . . . . 378  
Transmit buffer priority registers (TBPR) . . . . . . . . . . . . . . . . . . . 379  
Programmer’s model of control registers . . . . . . . . . . . . . . . . . . . . . 380  
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380  
msCAN08 module control register (CMCR0) . . . . . . . . . . . . . . . . 381  
msCAN08 module control register (CMCR1) . . . . . . . . . . . . . . . . 383  
msCAN08 bus timing register 0 (CBTR0). . . . . . . . . . . . . . . . . . . 384  
1-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
351  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
msCAN08 bus timing register 1 (CBTR1) . . . . . . . . . . . . . . . . . . .385  
msCAN08 receiver flag register (CRFLG). . . . . . . . . . . . . . . . . . .386  
msCAN08 Receiver Interrupt Enable Register (CRIER). . . . . . . .389  
msCAN08 Transmitter Flag Register (CTFLG). . . . . . . . . . . . . . .390  
msCAN08 Transmitter Control Register (CTCR) . . . . . . . . . . . . .391  
msCAN08 Identifier Acceptance Control Register (CIDAC) . . . . .392  
msCAN08 Receive Error Counter (CRXERR) . . . . . . . . . . . . . . .393  
msCAN08 Transmit Error Counter (CTXERR) . . . . . . . . . . . . . . .394  
msCAN08 Identifier Acceptance Registers (CIDAR0-3) . . . . . . . .394  
msCAN08 Identifier Mask Registers (CIDMR0-3). . . . . . . . . . . . .395  
Introduction  
The msCAN08 is the specific implementation of the Motorola Scalable  
CAN (msCAN) concept targeted for the Motorola M68HC08  
Microcontroller family.  
The module is a communication controller implementing the CAN 2.0  
A/B protocol as defined in the BOSCH specification dated September  
1991.  
The CAN protocol was primarily, but not exclusively, designed to be  
used as a vehicle serial data bus, meeting the specific requirements of  
this field: real-time processing, reliable operation in the EMI environment  
of a vehicle, cost-effectiveness and required bandwidth.  
msCAN08 utilizes an advanced buffer arrangement resulting in a  
predictable real-time behaviour and simplifies the application software.  
2-can  
MC68HC08AZ0  
352  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Features  
Features  
The basic features of the msCAN08 are as follows:  
• Modular architecture  
• Implementation of the CAN protocol – Version 2.0A/B  
– Standard and extended data frames.  
– 0 - 8 bytes data length.  
1
– Programmable bit rate up to 1 Mbps .  
• Support for remote frames.  
• Double buffered receive storage scheme.  
• Triple buffered transmit storage scheme with internal prioritization  
using a ‘local priority’ concept.  
• Flexible maskable identifier filter supports alternatively one full  
size extended identifier filter or two 16 bit filters or four 8 bit filters.  
• Programmable wake-up functionality with integrated low-pass  
filter.  
• Programmable loop-back mode supports self-test operation.  
• Separate signalling and interrupt capabilities for all CAN receiver  
and transmitter error states (Warning, Error Passive, Bus-Off).  
• Programmable msCAN08 clock source either CPU bus clock or  
crystal oscillator output.  
• Programmable link to on-chip Timer Interface Module (TIM) for  
time-stamping and network synchronization.  
• Low power sleep mode.  
1. Depending on the actual bit timing and the clock jitter of the PLL.  
3-can  
MC68HC08AZ0  
353  
MOTOROLA  
msCAN08 Controller (msCAN08)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
External pins  
The msCAN08 uses 2 external pins, 1 input (RxCAN) and 1 output  
(TxCAN). The TxCAN output pin represents the logic level on the CAN:  
‘0’ is for a dominant state, and ‘1’ is for a recessive state.  
A typical CAN system with msCAN08 is shown in Figure 1 below.  
CAN station n  
CAN station 2 ........  
CAN station 1  
MCU  
CAN Controller  
(msCAN08)  
TxCAN  
RxCAN  
Transceiver  
CAN_H  
CAN_L  
C A N - Bus  
Figure 1. The CAN system  
4-can  
MC68HC08AZ0  
354  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Message storage  
Each CAN station is physically connected to the CAN bus lines through  
a transceiver chip. The transceiver is capable of driving the large current  
needed for the CAN and has current protection, against defected CAN  
or defected stations.  
Message storage  
msCAN08 facilitates a sophisticated message storage system which  
addresses the requirements of a broad range of network applications.  
Background  
Modern application layer software is built under two fundamental  
assumptions:  
1. Any CAN node is able to send out a stream of scheduled  
messages without releasing the bus between two messages.  
Such nodes will arbitrate for the bus right after sending the  
previous message and will only release the bus in case of lost  
arbitration.  
2. The internal message queue within any CAN node is organized as  
such that the highest priority message will be sent out first if more  
than one message is ready to be sent.  
Above behaviour can not be achieved with a single transmit buffer. That  
buffer must be reloaded right after the previous message has been sent.  
This loading process lasts a definite amount of time and has to be  
completed within the Inter-Frame Sequence (IFS) in order to be able to  
send an uninterrupted stream of messages. Even if this is feasible for  
limited CAN bus speeds it requires that the CPU reacts with short  
latencies to the transmit interrupt.  
A double buffer scheme would de-couple the re-loading of the transmit  
buffers from the actual message sending and as such reduces the  
reactiveness requirements on the CPU. Problems may arise if the  
sending of a message would be finished just while the CPU re-loads the  
second buffer, no buffer would then be ready for transmission and the  
bus would be released.  
5-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
355  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
At least three transmit buffers are required to meet the first of above  
requirements under all circumstances. The msCAN08 has three transmit  
buffers.  
The second requirement calls for some sort of internal prioritization  
which the msCAN08 implements with the ‘local priority’ concept  
described below.  
Receive structures  
The received messages are stored in a two stage input FIFO. The two  
message buffers are mapped using a ‘ping pong’ arrangement into a  
single memory area (see Figure 2). While the background receive buffer  
(RxBG) is exclusively associated to the msCAN08, the foreground  
receive buffer (RxFG) is addressable by the CPU08. This scheme  
simplifies the handler software as only one address area is applicable for  
the receive process.  
Both buffers have a size of 13 byte to store the CAN control bits, the  
identifier (standard or extended) and the data content (for details see  
Programmer’s model of message storage on page 375).  
The Receiver Full flag (RXF) in the msCAN08 Receiver Flag Register  
(CRFLG) (see msCAN08 receiver flag register (CRFLG) on page 386)  
signals the status of the foreground receive buffer. When the buffer  
contains a correctly received message with matching identifier this flag  
is set.  
After the msCAN08 successfully received a message into the  
1
background buffer it copies the content of RxBG into RxFG , sets the  
2
RXF flag, and emits a receive interrupt to the CPU . A new message -  
which may follow immediately after the IFS field of the CAN frame - will  
be received into RxBG.  
The user’s receive handler has to read the received message from  
RxFG and to reset the RXF flag in order to acknowledge the interrupt  
and to release the foreground buffer.  
1. Only if the RXF flag is not set.  
2. The receive interrupt will occur only if not masked. A polling scheme can be applied on RXF  
also.  
6-can  
MC68HC08AZ0  
356  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Message storage  
An overrun conditions occurs when both, the foreground and the  
background receive message buffers are filled with correctly received  
messages and a further message is being received from the bus. The  
latter message will be discarded and an error interrupt with overrun  
indication will occur if enabled. The over-writing of the background buffer  
is independent of the identifier filter function. While in the overrun  
situation, the msCAN08 will stay synchronized to the CAN bus and is  
able to transmit messages but will discard all incoming messages.  
7-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
357  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
CAN  
Receive / Transmit  
Engine  
CPU08  
Memory Mapped  
I/O  
msCAN08  
CPU08 Ibus  
RxBG  
RxFG  
RXF  
TXE  
Tx0  
Tx1  
Tx2  
PRIO  
TXE  
PRIO  
TXE  
PRIO  
Figure 2. User model for Message Buffer organization  
NOTE: msCAN08 will receive its own messages into the background receive  
buffer RxBG, but will not overwrite RxFG, and will not emit a receive  
interrupt, or acknowledge (ACK its own messages on the CAN bus. The  
8-can  
MC68HC08AZ0  
358  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Message storage  
exception to this rule is that when in loop-back mode msCAN08 will treat  
its own messages exactly like all other incoming messages.  
Transmit structures  
The msCAN08 has a triple transmit buffer scheme in order to allow  
multiple messages to be set up in advance and to achieve an optimized  
real-time performance. The three buffers are arranged as shown in  
Figure 2.  
All three buffers have a 13 byte data structure similar to the outline of the  
receive buffers (see Programmer’s model of message storage on page  
375). An additional Transmit Buffer Priority Register (TBPR) contains an  
8-bit so called “Local Priority” field (PRIO) (see Transmit buffer priority  
registers (TBPR) on page 379).  
In order to transmit a message, the CPU08 has to identify an available  
transmit buffer which is indicated by a set Transmit Buffer Empty (TXE)  
Flag in the msCAN08 Transmitter Flag Register (CTFLG) (see  
msCAN08 Transmitter Flag Register (CTFLG) on page 390).  
The CPU08 then stores the identifier, the control bits and the data  
content into one of the transmit buffers. Finally, the buffer has to be  
flagged as being ready for transmission by clearing the TXE flag.  
The msCAN08 will then schedule the message for transmission and will  
signal the successful transmission of the buffer by setting the TXE flag.  
1
A transmit interrupt will be emitted when TXE is set and can be used to  
drive the application software to re-load the buffer.  
In case more than one buffer is scheduled for transmission when the  
CAN bus becomes available for arbitration, the msCAN08 uses the  
“local priority” setting of the three buffers for prioritization. For this  
purpose every transmit buffer has an 8-bit local priority field (PRIO). The  
application software sets this field when the message is set up. The local  
priority reflects the priority of this particular message relative to the set  
of messages being emitted from this node. The lowest binary value of  
the PRIO field is defined to be the highest priority.  
1. The transmit interrupt will occur only if not masked. A polling scheme can be applied on TXE  
also.  
9-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
359  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
The internal scheduling process takes places whenever the msCAN08  
arbitrates for the bus. This is also the case after the occurrence of a  
transmission error.  
When a high priority message is scheduled by the application software  
it may become necessary to abort a lower priority message being set up  
in one of the three transmit buffers. As messages that are already under  
transmission can not be aborted, the user has to request the abort by  
setting the corresponding Abort Request Flag (ABTRQ) in the  
Transmission Control Register (CTCR). The msCAN08 will then grant  
the request if possible by setting the corresponding Abort Request  
Acknowledge (ABTAK) and the TXE flag in order to release the buffer  
and by emitting a transmit interrupt. The transmit interrupt handler  
software can tell from the setting of the ABTAK flag whether the  
message was actually aborted (ABTAK=1) or has been sent in the  
meantime (ABTAK=0).  
Identifier acceptance filter  
A very flexible programmable generic identifier acceptance filter has  
been introduced in order to reduce the CPU interrupt loading. The filter  
is programmable to operate in three different modes:  
• Single identifier acceptance filter to be applied to the full 29 bits of  
the identifier and to the following bits of the CAN frame: RTR, IDE,  
SRR. This mode implements a single filter for a full length CAN  
2.0B compliant extended identifier.  
• Double identifier acceptance filter to be applied to  
– the 11 bits of the identifier and the RTR bit of CAN 2.0A  
messages or  
– the 14 most significant bits of the identifier of CAN 2.0B  
messages.  
• Quadruple identifier acceptance filter to be applied to the first 8  
bits of the identifier. This mode implements four independent  
filters for the first 8 bit of a CAN 2.0A compliant standard identifier.  
10-can  
MC68HC08AZ0  
360  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Interrupts  
The Identifier Acceptance Registers (CIAR) defines the acceptable  
pattern of the standard or extended identifier (ID10 - ID0 or ID28 - ID0).  
Any of these bits can be marked ‘don’t care’ in the Identifier Mask  
Register (CIMR).  
ID28 IDR0 ID21 ID20 IDR1 ID15 ID14 IDR2 ID7 ID6  
IDR3 RTR  
ID10 IDR0 ID3 ID2 IDR1 IDE
AM7 CIDMR0AM0 AM7 CIDMR1AM0 AM7 CIDMR2AM0 AM7 CIDMR3AM0  
AC7 CIDAR0 AC0 AC7 CIDAR1 AC0 AC7 CIDAR2 AC0 AC7 CIDAR3 AC0  
ID Accepted (Filter 0 Hit)  
Figure 3. Single 32-bit maskable identifier acceptance filter  
The background buffer RxBG will be copied into the foreground buffer  
RxFG and the RxF flag will be set only in case of an accepted identifier  
(an identifier acceptance filter hit). A hit will also cause a receiver  
interrupt if enabled.  
A filter hit is indicated to the application software by a set RXF (Receive  
Buffer Full Flag, see msCAN08 receiver flag register (CRFLG) on page  
386) and two bits in the Identifier Acceptance Control Register (see  
msCAN08 Identifier Acceptance Control Register (CIDAC) on page  
392). These Identifier Hit Flags (IDHIT1-0) clearly identify the filter  
section that caused the acceptance. They simplify the application  
software’s task to identify the cause of the receiver interrupt. In case that  
more than one hit occurs (two or more filters match) the lower hit has  
priority.  
Interrupts  
The msCAN08 supports four interrupt vectors mapped onto eleven  
different interrupt sources, any of which can be individually masked (for  
11-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
361  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
ID28 IDR0 ID21 ID20 IDR1 ID15 ID14 IDR2 ID7 ID6  
IDR3 RTR  
ID10 IDR0 ID3 ID2 IDR1 IDE
AM7 CIDMR0AM0 AM7 CIDMR1AM0  
AC7 CIDAR0 AC0 AC7 CIDAR1 AC0  
ID Accepted (Filter 0 Hit)  
AM7 CIDMR2AM0 AM7 CIDMR3AM0  
AC7 CIDAR2 AC0 AC7 CIDAR3 AC0  
ID Accepted (Filter 1 Hit)  
Figure 4. Dual 16-bit maskable acceptance filters  
details see msCAN08 receiver flag register (CRFLG) on page 386 to  
msCAN08 Transmitter Control Register (CTCR) on page 391):  
Transmit Interrupt: At least one of the three transmit buffers is  
empty (not scheduled) and can be loaded to schedule a message  
for transmission. The TXE flags of the empty message buffers are  
set.  
Receive Interrupt: A message has been successfully received and  
loaded into the foreground receive buffer. This interrupt will be  
emitted immediately after receiving the EOF symbol. The RXF flag  
is set.  
Wake-Up Interrupt: An activity on the CAN bus occurred during  
msCAN08 internal sleep mode.  
12-can  
MC68HC08AZ0  
362  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Interrupts  
ID28 IDR0 ID21 ID20 IDR1 ID15 ID14 IDR2 ID7 ID6  
IDR3 RTR  
ID10 IDR0 ID3 ID2  
IDR1 IDE  
AM7 CIDMR0AM0  
AC7 CIDAR0 AC0  
ID Accepted (Filter 0 Hit)  
AM7 CIDMR1AM0  
AC7 CIDAR1 AC0  
ID Accepted (Filter 1 Hit)  
AM7 CIDMR2AM0  
AC7 CIDAR2 AC0  
ID Accepted (Filter 2 Hit)  
AM7 CIDMR3AM0  
AC7 CIDAR3 AC0  
ID Accepted (Filter 3 Hit)  
Figure 5. Quadruple 8-bit maskable acceptance filters  
13-can  
MC68HC08AZ0  
363  
MOTOROLA  
msCAN08 Controller (msCAN08)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Error Interrupt: An overrun, error or warning condition occurred.  
The Receiver Flag Register (CRFLG) will indicate one of the  
following conditions:  
Overrun: An overrun condition as described in Receive  
structures on page 356, has occurred.  
Receiver Warning: The Receive Error Counter has reached  
the CPU Warning limit of 96.  
Transmitter Warning: The Transmit Error Counter has reached  
the CPU Warning limit of 96.  
Receiver Error Passive: The Receive Error Counter has  
exceeded the Error Passive limit of 127 and msCAN08 has  
gone to Error Passive state.  
Transmitter Error Passive: The Transmit Error Counter has  
exceeded the Error Passive limit of 127 and msCAN08 has  
gone to Error Passive state.  
Bus Off: The Transmit Error Counter has exceeded 255 and  
msCAN08 has gone to Bus Off state.  
Interrupt  
acknowledge  
Interrupts are directly associated with one or more status flags in either  
the msCAN08 Receiver Flag Register (CRFLG) or the msCAN08  
Transmitter Control Register (CTCR). Interrupts are pending as long as  
one of the corresponding flags is set. The flags in above registers must  
be reset within the interrupt handler in order to handshake the interrupt.  
The flags are reset through writing a “1” to the corresponding bit position.  
A flag can not be cleared if the respective condition still prevails.  
CAUTION: Bit manipulation instructions (BSET) shall not be used to clear interrupt  
flags. The ‘OR’ instruction is the appropriate way to clear selected flags.  
Interrupt vectors  
The msCAN08 supports four interrupt vectors as shown in Table 1. The  
vector addresses are dependent on the chip integration and to be  
defined. The relative interrupt priority is also integration dependent and  
to be defined.  
14-can  
MC68HC08AZ0  
364  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Interrupts  
Table 1. msCAN08 interrupt vectors  
Local  
Global  
Mask  
Function  
Source  
Mask  
WUPIE  
RWRNIE  
TWRNIE  
RERRIE  
TERRIE  
BOFFIE  
OVRIE  
Wake-Up  
WUPIF  
RWRNIF  
TWRNIF  
RERRIF  
TERRIF  
BOFFIF  
OVRIF  
RXF  
Error  
Interrupts  
I Bit  
Receive  
Transmit  
RXFIE  
TXE0  
TXEIE0  
TXEIE1  
TXEIE2  
TXE1  
TXE2  
15-can  
MC68HC08AZ0  
365  
MOTOROLA  
msCAN08 Controller (msCAN08)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Protocol violation protection  
The msCAN08 will protect the user from accidentally violating the CAN  
protocol through programming errors. The protection logic implements  
the following features:  
• The receive and transmit error counters can not be written or  
otherwise manipulated.  
• All registers which control the configuration of the msCAN08 can  
not be modified while the msCAN08 is on-line. The SFTRES bit in  
the msCAN08 Module Control Register (see msCAN08 module  
control register (CMCR1) on page 383) serves as a lock to protect  
the following registers:  
– msCAN08 Module Control Register 1 (CMCR1)  
– msCAN08 Bus Timing Register 0 and 1 (CBTR0, CBTR1)  
– msCAN08 Identifier Acceptance Control Register (CIDAC)  
– msCAN08 Identifier Acceptance Registers (CIDAR0-3)  
– msCAN08 Identifier Mask Registers (CIDMR0-3)  
• The TxCAN pin is forced to Recessive if the CPU goes into STOP  
mode.  
16-can  
MC68HC08AZ0  
366  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Low power modes  
Low power modes  
The msCAN08 has three modes with reduced power consumption  
compared to Normal Mode. In Sleep and Soft Reset Mode, power  
consumption is reduced by stopping all clocks except those to access  
the registers. In Power Down Mode, all clocks are stopped and no power  
is consumed.  
WAIT and STOP instruction put the MCU in low power consumption  
stand-by mode. Table 2 summarizes the combinations of msCAN08 and  
CPU modes. A particular combination of modes is entered for the given  
settings of the bits SLPAK and SFTRES. In Sleep and Soft Reset Mode,  
power consumption of the msCAN module is lower than in Normal Mode.  
In Power Down Mode, no power is consumed in the module and no  
registers can be accessed. For all modes, an msCAN wake-up interrupt  
can occur only if SLPAK = WUPIE = 1. While the CPU is in Wait Mode,  
the msCAN08 is operated as in Normal Mode.  
Table 2. msCAN08 vs CPU operating modes  
CPU Mode  
msCAN Mode  
STOP  
WAIT or RUN  
(1)  
SLPAK = X  
Power Down  
Sleep  
SFTRES = X  
SLPAK = 1  
SFTRES = 0  
SLPAK = 0  
SFTRES = 1  
Soft Reset  
SLPAK = 0  
SFTRES = 0  
Normal  
1. ‘X’ means don’t care.  
17-can  
MC68HC08AZ0  
367  
MOTOROLA  
msCAN08 Controller (msCAN08)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
msCAN08 internal  
sleep mode  
The CPU can request the msCAN08 to enter the low-power mode by  
asserting the SLPRQ bit in the Module Configuration Register (see  
Figure 6). The time when the msCAN08 will then enter Sleep Mode  
depends on its current activity:  
• if it is transmitting, it will continue to transmit until there is no more  
message to be transmitted, and then go into Sleep Mode  
• if it is receiving, it will wait for the end of this message and then go  
into Sleep Mode  
• if it is neither transmitting or receiving, it will immediately go into  
Sleep Mode  
The application software must avoid to set up a transmission (by clearing  
one or more TXE flag(s)) and immediately request Sleep Mode (by  
setting SLPRQ). It will then depend on the exact sequence of operations  
whether the msCAn will start transmitting or go into Sleep Mode directly.  
During Sleep Mode the SLPAK flag is set. The application software  
should use this flag as a handshake indication for the request to go into  
Sleep mode.When in sleep mode the msCAN08 stops its own clocks  
and the TxCAN pin will stay in recessive state.  
The msCAN08 will leave sleep mode (wake-up) when bus activity occurs  
or when the MCU clears the SLPRQ bit.  
NOTE: The MCU can not clear the SLPRQ bit before the msCAN08 is in Sleep  
Mode (SLPAK = 1).  
18-can  
MC68HC08AZ0  
368  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Low power modes  
msCAN08 Running  
SLPRQ = 0  
SLPAK = 0  
MCU  
or msCAN08  
MCU  
msCAN08 Sleeping  
Sleep Request  
SLPRQ = 1  
SLPAK = 1  
SLPRQ = 1  
SLPAK = 0  
msCAN08  
Figure 6. Sleep request/acknowledge cycle  
Soft Reset mode  
In Soft Reset mode, the msCAN08 is stopped. Registers can still be  
accessed. This mode is used to initialize the module configuration, bit  
timing, and the CAN message filter. See msCAN08 module control  
register (CMCR0) on page 381, for a complete description of the Soft  
Reset mode.  
Power Down  
mode  
The msCAN08 is in Power Down mode when the CPU is in STOP mode.  
When entering the Power Down mode, the msCAN08 immediately stops  
all ongoing transmissions and receptions, potentially causing CAN  
protocol violations. It is the user’s responsibility to take care that the  
msCAN08 is not active when Power Down mode is entered. The  
recommended procedure is to bring the msCAN08 into Sleep mode  
before the STOP instruction is executed.  
19-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
369  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
To protect the CAN bus system from fatal consequences of violations to  
the above rule, the msCAN08 will drive the TxCAN pin into recessive  
state.  
CPU WAIT mode  
The msCAN08 module remains active during CPU WAIT mode. The  
msCAN08 will stay synchronized to the CAN bus and will generate  
enabled transmit, receive and error interrupts to the CPU. Any such  
interrupt will bring the MCU out of WAIT mode.  
Programmable  
wake-up function  
The msCAN08 can be programmed to apply a low-pass filter function to  
the RxCAN input line while in internal sleep mode (see control bit WUPM  
in msCAN08 module control register (CMCR1) on page 383). This  
feature can be used to protect the msCAN08 from wake-up due to short  
glitches on the CAN bus lines. Such glitches can result from  
electromagnetic inference within noisy environments.  
Timer link  
The msCAN08 will generate a timer signal whenever a valid frame has  
been received. Because the CAN specification defines a frame to be  
valid if no errors occurred before the EOF field has been transmitted  
successfully, the timer signal will be generated right after the EOF. A  
pulse of one bit time is generated. As the msCAN08 receiver engine  
receives also the frames being sent by itself, a timer signal will also be  
generated after a successful transmission.  
The previously described timer signal can be routed into the on-chip  
Timer Interface Module (TIM). Under the control of the Timer Link  
Enable (TLNKEN) bit in the CMCR0 will this signal be connected to the  
1
Timer n Channel m input .  
After Timer n has been programmed to capture rising edge events it can  
be used to generate 16-bit time stamps which can be stored under  
software control with the received message.  
1. The timer channel being used for the timer link is integration dependent.  
20-can  
MC68HC08AZ0  
370  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Clock system  
Clock system  
Figure 7shows the structure of the msCAN08 clock generation circuitry  
and its interaction with the Clock Generation Module (CGM). With this  
flexible clocking scheme the msCAN08 is able to handle CAN bus rates  
ranging from 10 kbps up to 1 Mbps.  
CGMXCLK  
OSC  
/ 2  
/ 2  
CGMOUT  
(to SIM)  
BCS  
PLL  
CGM  
MSCAN08  
(2 * Bus Freq.)  
/ 2  
time quanta clock  
MSCANCLK  
Prescaler  
(1 .. 64)  
CLKSRC  
Figure 7. Clocking scheme  
The Clock Source Flag (CLKSRC) in the msCAN08 Module Control  
Register (CMCR1) (see msCAN08 module control register (CMCR1) on  
page 383) defines whether the msCAN08 is connected to the output of  
the crystal oscillator or to the PLL output.  
A programmable prescaler is used to generate from the msCAN08 clock  
the time quanta (Tq) clock. A time quantum is the atomic unit of time  
1
handled by the msCAN08. A bit time is subdivided into three segments :  
1. For further explanation of the under-lying concepts please refer to ISO/DIS 11519-1, Section  
10.3.  
21-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
371  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
• SYNC_SEG: This segment has a fixed length of one time  
quantum. Signal edges are expected to happen within this section.  
• Time segment 1: This segment includes the PROP_SEG and the  
PHASE_SEG1 of the CAN standard. It can be programmed by  
setting the parameter TSEG1 to consist of 4 to 16 time quanta.  
• Time segment 2: This segment represents the PHASE_SEG2 of  
the CAN standard. It can be programmed by setting the TSEG2  
parameter to be 2 to 8 time quanta long.  
The Synchronization Jump Width can be programmed in a range of 1 to  
4 time quanta by setting the SJW parameter.  
Above parameters can be set by programming the Bus Timing Registers  
CBTR0-1 (see msCAN08 bus timing register 0 (CBTR0) on page 384  
and msCAN08 bus timing register 1 (CBTR1) on page 385).  
It is the user’s responsibility to make sure that his bit time settings are in  
compliance with the CAN standard. Figure 8 and Table 3 give an  
overview on the CAN conforming segment settings and the related  
parameter values.  
22-can  
MC68HC08AZ0  
372  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Clock system  
NRZ Signal  
SYNC  
_SEG  
Time Segment 1  
Time Seg. 2  
(PROP_SEG + PHASE_SEG1)  
(PHASE_SEG2)  
1
4 ... 16  
2 ... 8  
8... 25 Time Quanta  
= 1 Bit Time  
Transmit Point  
Sample Point  
(single or triple sampling)  
Figure 8. Segments within the bit time  
Table 3. CAN standard compliant bit time segment settings  
Time Segment  
1
Time Segment  
2
Synchron.  
Jump Width  
TSEG1  
TSEG2  
SJW  
5 .. 10  
4 .. 11  
5 .. 12  
6 .. 13  
7 .. 14  
8 .. 15  
9 .. 16  
4 .. 9  
3 .. 10  
4 .. 11  
5 .. 12  
6 .. 13  
7 .. 14  
8 .. 15  
2
3
4
5
6
7
8
1
2
3
4
5
6
7
1 .. 2  
1 .. 3  
1 .. 4  
1 .. 4  
1 .. 4  
1 .. 4  
1 .. 4  
0 .. 1  
0 .. 2  
0 .. 3  
0 .. 3  
0 .. 3  
0 .. 3  
0 .. 3  
23-can  
MC68HC08AZ0  
373  
MOTOROLA  
msCAN08 Controller (msCAN08)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Memory map  
The msCAN08 occupies 128 Byte in the CPU08 memory space. The  
absolute mapping is implementation dependent with the base address  
being a multiple of 128. The background receive buffer can only be read  
in test mode.  
$xx00  
$xx08  
$xx09  
$xx0D  
$xx0E  
$xx0F  
$xx10  
$xx17  
$xx18  
$xx3F  
$xx40  
$xx4F  
$xx50  
$xx5F  
$xx60  
$xx6F  
$xx70  
$xx7F  
CONTROL REGISTERS  
9 BYTES  
RESERVED  
5 BYTES  
ERROR COUNTERS  
2 BYTES  
IDENTIFIER FILTER  
8 BYTES  
RESERVED  
40 BYTES  
RECEIVE BUFFER  
TRANSMIT BUFFER 0  
TRANSMIT BUFFER 1  
TRANSMIT BUFFER 2  
Figure 9. MSCAN08 memory map  
24-can  
MC68HC08AZ0  
374  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of message storage  
ProgrammerÕs model of message storage  
The following section details the organisation of the receive and transmit  
message buffers and the associated control registers. For reasons of  
programmer interface simplification the receive and transmit message  
buffers have the same outline. Each message buffer allocates 16 byte in  
the memory map containing a 13 byte data structure. An additional  
Transmit Buffer Priority Register (TBPR) is defined for the transmit  
buffers.  
Addr  
xxb0  
xxb1  
xxb2  
xxb3  
xxb4  
xxb5  
xxb6  
xxb7  
xxb8  
xxb9  
xxbA  
xxbB  
xxbC  
xxbD  
xxbE  
xxbF  
Register Name  
Identifier Register 0  
Identifier Register 1  
Identifier Register 2  
Identifier Register 3  
Data Segment Register 0  
Data Segment Register 1  
Data Segment Register 2  
Data Segment Register 3  
Data Segment Register 4  
Data Segment Register 5  
Data Segment Register 6  
Data Segment Register 7  
Data Length Register  
Transmit Buffer Priority Register  
unused  
(1)  
unused  
Figure 10. Message Buffer organisation  
1. Not Applicable for Receive Buffers  
Message Buffer  
outline  
Figure 11 shows the common 13 byte data structure of receive and  
transmit buffers for extended identifiers. The mapping of standard  
identifiers into the IDR registers is shown in Figure 12. All bits of the 13  
byte data structure are undefined out of reset.  
25-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
375  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Identifier registers  
(IDRn)  
The identifiers consist of either 11 bits (ID10–ID0) for the standard, or  
29 bits (ID28–ID0) for the extended format. ID10/28 is the most  
significant bit and is transmitted first on the bus during the arbitration  
procedure. The priority of an identifier is defined to be highest for the  
smallest binary number.  
ADDR  
REGISTER  
R/W BIT 7  
BIT 6  
BIT 5  
BIT 4  
BIT 3  
BIT 2  
BIT 1  
BIT 0  
R
$xxb0  
IDR0  
IDR1  
ID28  
W
ID27  
ID26  
ID25  
ID24  
ID23  
ID22  
ID21  
R
$xxb1  
$xxb2  
$xxb3  
$xxb4  
$xxb5  
$xxb6  
$xxb7  
$xxb8  
$xxb9  
$xxbA  
$xxbB  
$xxbC  
ID20  
W
ID19  
ID13  
ID5  
ID18  
ID12  
ID4  
SRR (1) IDE (1)  
ID17  
ID9  
ID16  
ID8  
ID15  
ID7  
R
IDR2  
ID14  
W
ID11  
ID3  
ID10  
ID2  
R
IDR3  
ID6  
W
ID1  
ID0  
RTR  
DB0  
DB0  
DB0  
DB0  
DB0  
DB0  
DB0  
DB0  
DLC0  
R
DSR0  
DSR1  
DSR2  
DSR3  
DSR4  
DSR5  
DSR6  
DSR7  
DLR  
DB7  
W
DB6  
DB6  
DB6  
DB6  
DB6  
DB6  
DB6  
DB6  
DB5  
DB5  
DB5  
DB5  
DB5  
DB5  
DB5  
DB5  
DB4  
DB4  
DB4  
DB4  
DB4  
DB4  
DB4  
DB4  
DB3  
DB3  
DB3  
DB3  
DB3  
DB3  
DB3  
DB3  
DLC3  
DB2  
DB2  
DB2  
DB2  
DB2  
DB2  
DB2  
DB2  
DLC2  
DB1  
DB1  
DB1  
DB1  
DB1  
DB1  
DB1  
DB1  
DLC1  
R
DB7  
W
R
DB7  
W
R
DB7  
W
R
DB7  
W
R
DB7  
W
R
DB7  
W
R
DB7  
W
R
W
Figure 11. Receive/Transmit Message Buffer extended identifier  
26-can  
MC68HC08AZ0  
376  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of message storage  
SRR — Substitute Remote Request  
This fixed recessive bit is used only in extended format. It must be set  
to 1 by the user for transmission buffers and will be stored as received  
on the CAN bus for receive buffers.  
IDE — ID Extended  
This flag indicates whether the extended or standard identifier format  
is applied in this buffer. In case of a receive buffer the flag is set as  
being received and indicates to the CPU how to process the buffer  
identifier registers. In case of a transmit buffer the flag indicates to the  
msCAN08 what type of identifier to send.  
1 = Extended format (29 bit)  
0 = Standard format (11 bit)  
RTR — Remote transmission request  
This flag reflects the status of the Remote Transmission Request bit  
in the CAN frame. In case of a receive buffer it indicates the status of  
the received frame and allows to support the transmission of an  
answering frame in software. In case of a transmit buffer this flag  
defines the setting of the RTR bit to be sent.  
1 = Remote frame  
0 = Data frame  
ADDR  
REGISTER  
R/W BIT 7  
BIT 6  
BIT 5  
BIT 4  
BIT 3  
BIT 2  
BIT 1  
BIT 0  
R
$xxb0  
IDR0  
ID10  
W
ID9  
ID8  
ID7  
ID6  
ID5  
ID4  
ID3  
R
$xxb1  
$xxb2  
$xxb3  
IDR1  
IDR2  
IDR3  
ID2  
W
ID1  
ID0  
RTR  
IDE(0)  
R
W
R
W
Figure 12. Standard identifier mapping registers  
27-can  
MC68HC08AZ0  
377  
MOTOROLA  
msCAN08 Controller (msCAN08)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Data length  
register (DLR)  
This register keeps the data length field of the CAN frame.  
DLC3–DLC0 — Data length code bits  
The data length code contains the number of bytes (data byte count)  
of the respective message. At transmission of a remote frame, the  
data length code is transmitted as programmed while the number of  
transmitted bytes is always 0. The data byte count ranges from 0 to 8  
for a data frame. Table 4 shows the effect of setting the DLC bits.  
Table 4. Data length codes  
Data length code  
Data  
byte  
count  
DLC3  
DLC2  
DLC1  
DLC0  
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
2
3
4
5
6
7
8
Data segment  
registers (DSRn)  
The eight data segment registers contain the data to be transmitted or  
being received. The number of bytes to be transmitted or being received  
is determined by the data length code in the corresponding DLR.  
28-can  
MC68HC08AZ0  
378  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of message storage  
Transmit buffer  
priority registers  
(TBPR)  
BIT 7  
PRIO7  
U
BIT 6  
PRIO5  
U
BIT 5  
PRIO5  
U
BIT 4  
PRIO4  
U
BIT 3  
PRIO3  
U
BIT 2  
PRIO2  
U
BIT 1  
PRIO1  
U
BIT 0  
PRIO0  
U
TBPR  
$xxbD  
R
W
RESET  
Figure 13.Transmit buffer priority register (TBPR)  
PRIO7–PRIO0— Local priority  
This field defines the local priority of the associated message buffer.  
The local priority is used for the internal prioritization process of the  
msCAN08 and is defined to be highest for the smallest binary number.  
The msCAN08 implements the following internal prioritization  
mechanism:  
• All transmission buffers with a cleared TXE flag participate in the  
prioritization right before the SOF (Start of Frame) is sent.  
• The transmission buffer with the lowest local priority field wins the  
prioritization.  
• In case of more than one buffer having the same lowest priority the  
message buffer with the lower index number wins.  
CAUTION: To ensure data integrity, no registers of the transmit buffers shall be  
written while the associated TXE flag is cleared. Also, no registers of the  
receive buffer shall be read while the RXF flag is cleared.  
29-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
379  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
ProgrammerÕs model of control registers  
Overview  
The programmer’s model has been laid out for maximum simplicity and  
efficiency. The Figure 14 gives an overview on the control register block  
of the msCAN08:  
ADDR  
REGISTER  
R/W BIT 7  
BIT 6  
BIT 5  
BIT 4  
BIT 3  
TLNKEN  
0
BIT 2  
BIT 1  
BIT 0  
R
W
R
0
0
0
SYNCH  
SLPAK  
$xx00  
$xx01  
CMCR0  
SLPRQ SFTRES  
0
0
0
0
CMCR1  
LOOPB WUPM CLKSRC  
BRP2 BRP1 BRP0  
*
W
R
$xx02  
$xx03  
$xx04  
CBTR0  
CBTR1  
CRFLG  
SJW1  
SJW0  
BRP5  
BRP4  
BRP3  
W
R
W
SAMP TSEG22 TSEG21 TSEG20 TSEG13 TSEG12 TSEG11 TSEG10  
WUPIF RWRNIF TWRNIF RERRIF TERRIF BOFFIF OVRIF RXF  
WUPIE RWRNIE TWRNIE RERRIE TERRIE BOFFIE OVRIE RXFIE  
*
R
W
R
$xx05  
$xx06  
$xx07  
$xx08  
CRIER  
CTFLG  
CTCR  
W
R
0
0
0
ABTAK2 ABTAK1 ABTAK0  
0
0
0
TXE2  
TXEIE2 TXEIE1 TXEIE0  
IDHIT1 IDHIT0  
TXE1  
TXE0  
W
R
ABTRQ2 ABTRQ1 ABTRQ0  
W
R
0
0
CIDAC  
reserved  
CRXERR  
IDAM1 IDAM0  
*
W
$xx09-$  
xx0D  
R
W
R
W
R
$xx0E  
$xx0F  
RXERR7 RXERR6 RXERR5 RXERR4 RXERR3 RXERR2 RXERR1 RXERR0  
TXERR7 TXERR6 TXERR5 TXERR4 TXERR3 TXERR2 TXERR1 TXERR0  
CTXERR  
W
R
$xx10  
$xx11  
$xx12  
$xx13  
CIDAR0  
CIDAR1  
CIDAR2  
CIDAR3  
AC7  
AC7  
AC7  
AC7  
AC6  
AC6  
AC6  
AC6  
AC5  
AC5  
AC5  
AC5  
AC4  
AC4  
AC4  
AC4  
AC3  
AC3  
AC3  
AC3  
AC2  
AC2  
AC2  
AC2  
AC1  
AC1  
AC1  
AC1  
AC0  
AC0  
AC0  
AC0  
*
W
R
*
W
R
W
*
R
*
W
= Unimplemented  
Figure 14. MSCAN08 Control Register Structure  
30-can  
MC68HC08AZ0  
380  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of control registers  
ADDR  
REGISTER  
R/W BIT 7  
BIT 6  
BIT 5  
BIT 4  
BIT 3  
BIT 2  
BIT 1  
BIT 0  
R
W
$xx14  
CIDMR0  
AM7  
AM7  
AM7  
AM7  
AM6  
AM5  
AM4  
AM3  
AM2  
AM1  
AM0  
*
R
$xx15  
$xx16  
$xx17  
CIDMR1  
CIDMR2  
CIDMR3  
AM6  
AM6  
AM6  
AM5  
AM5  
AM5  
AM4  
AM4  
AM4  
AM3  
AM3  
AM3  
AM2  
AM2  
AM2  
AM1  
AM1  
AM1  
AM0  
AM0  
AM0  
*
W
R
*
W
R
*
W
= Unimplemented  
Figure 14. MSCAN08 Control Register Structure (Continued)  
msCAN08 module  
control register  
(CMCR0)  
.
BIT 7  
0
BIT 6  
0
BIT 5  
0
BIT 4  
BIT 3  
TLNKEN  
0
BIT 2  
BIT 1  
SLPRQ  
0
BIT 0  
SFTRES  
1
CMCR0  
$xx00  
R
SYNCH  
SLPAK  
W
RESET  
0
0
0
0
0
= Unimplemented  
Figure 15. Module control register 0 (CMCR0)  
SYNCH — Synchronized status  
This bit indicates whether the msCAN08 is synchronized to the CAN  
bus and as such can participate in the communication process.  
1 = msCAN08 is synchronized to the CAN bus  
0 = msCAN08 is not synchronized to the CAN bus  
TLNKEN — Timer enable  
This flag is used to establish a link between the msCAN08 and the  
on-chip timer (see Timer link on page 370).  
1 = The msCAN08 timer signal output is connected to the timer.  
0 = No connection.  
31-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
381  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
SLPAK — Sleep mode acknowledge  
This flag indicates whether the msCAN08 is in module internal sleep  
mode. It shall be used as a handshake for the sleep mode request  
(see msCAN08 internal sleep mode on page 368).  
1 = Sleep – The msCAN08 is in internal sleep mode.  
0 = Wake-up – The msCAN08 will function normally.  
SLPRQ — Sleep request, go to internal sleep mode  
This flag allows to request the msCAN08 to go into an internal  
power-saving mode (see msCAN08 internal sleep mode on page  
368).  
1 = Sleep – The msCAN08 will go into internal sleep mode if and  
as long as there is no activity on the bus.  
0 = Wake-up – The msCAN08 will function normally. If SLPRQ is  
cleared by the CPU then the msCAN08 will wake up, but will  
not issue a wake-up interrupt.  
SFTRES — Soft reset  
When this bit is set by the CPU, the msCAN08 immediately enters the  
soft reset state. Any ongoing transmission or reception is aborted and  
synchronization to the bus is lost.  
The following registers will go into the same state as out of hard reset:  
CMCR0, CRFLG, CRIER, CTFLG, CTCR.  
The registers CMCR1, CBTR0, CBTR1, CIDAC, CIDAR0-3,  
CIDMR0-3 can only be written by the CPU when the msCAN08 is in  
soft reset state. The values of the error counters are not affected by  
soft reset.  
When this bit is cleared by the CPU, the msCAN08 will try to  
synchronize to the CAN bus: If the msCAN08 is not in bus-off state it  
will be synchronized after 11 recessive bits on the bus; if the  
msCAN08 is in bus-off state it continues to wait for 128 occurrences  
of 11 recessive bits.  
1 = msCAN08 in soft reset state.  
0 = Normal operation  
32-can  
MC68HC08AZ0  
382  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of control registers  
msCAN08 module  
control register  
(CMCR1)  
.
BIT 7  
0
BIT 6  
0
BIT 5  
0
BIT 4  
0
BIT 3  
0
BIT 2  
LOOPB  
0
BIT 1  
WUPM  
0
BIT 0  
CLKSRC  
0
CMCR1  
$xx01  
R
W
RESET  
0
0
0
0
0
= Unimplemented  
Figure 16. Module control register 1 (CMCR1)  
LOOPB — Loop back self test mode  
When this bit is set the msCAN08 performs an internal loop back  
which can be used for self test operation: the bit stream output of the  
transmitter is fed back to the receiver. The RxCAN input pin is ignored  
and the TxCAN output goes to the recessive state (1). Note that in this  
state the msCAN08 ignores the ACK bit to insure proper reception of  
its own message and will treat messages being received while in  
transmission as received messages from remote nodes.  
1 = Activate loop back self test mode  
0 = Normal operation  
WUPM — Wake-up mode  
This flag defines whether the integrated low-pass filter is applied to  
protect the msCAN08 from spurious wake-ups (see Programmable  
wake-up function on page 370).  
1 = msCAN08 will wake up the CPU only in case of dominant pulse  
on the bus which has a length of at least approximately T  
.
wup  
0 = msCAN08 will wake up the CPU after any recessive to  
dominant edge on the CAN bus.  
CLKSRC — Clock source  
This flag defines which clock source the msCAN08 module is driven  
from (see Clock system on page 371).  
1 = THE msCAN08 clock source is CGMOUT (see Figure 7).  
0 = The msCAN08 clock source is CGMXCLK/2 (see Figure 7).  
NOTE: The CMCR1 register can only be written if the SFTRES bit in the  
msCAN08 Module Control Register is set  
33-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
383  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
msCAN08 bus  
timing register 0  
(CBTR0)  
BIT 7  
SJW1  
0
BIT 6  
SJW0  
0
BIT 5  
BRP5  
0
BIT 4  
BRP4  
0
BIT 3  
BRP3  
0
BIT 2  
BRP2  
0
BIT 1  
BRP1  
0
BIT 0  
BRP0  
0
CBTR0  
$xx02  
R
W
RESET  
Figure 17. Bus timing register 0  
SJW1, SJW0 — Synchronization jump width  
The synchronization jump width defines the maximum number of time  
quanta (Tq) clock cycles by which a bit may be shortened, or  
lengthened, to achieve resynchronization on data transitions on the  
bus (see Table 5).  
Table 5. Synchronization jump width  
SJW1  
SJW0  
Synchronization jump width  
1 Tq clock cycle  
0
0
1
1
0
1
0
1
2 Tq clock cycles  
3 Tq clock cycles  
4 Tq clock cycles  
BRP5–BRP0 — Baud Rate Prescaler  
These bits determine the time quanta (Tq) clock, which is used  
to build up the individual bit timing, according to Table 6.  
Table 6. Baud rate prescaler  
Prescaler  
value (P)  
BRP5  
BRP4  
BRP3  
BRP2  
BRP1  
BRP0  
0
0
0
0
:
0
0
0
0
:
0
0
0
0
:
0
0
0
0
:
0
0
1
1
:
0
1
0
1
:
1
2
3
4
:
:
:
:
:
:
:
:
1
1
1
1
1
1
64  
34-can  
MC68HC08AZ0  
384  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of control registers  
NOTE: The CBTR0 register can only be written if the SFTRES bit in the  
MSCAN08 Module Control Register is set.  
msCAN08 bus  
.
timing register 1  
(CBTR1)  
BIT 7  
SAMP  
0
BIT 6  
BIT 5  
BIT 4  
BIT 3  
BIT 2  
BIT 1  
BIT 0  
CBTR1  
$xx03  
R
TSEG22 TSEG21 TSEG20 TSEG13 TSEG12 TSEG11 TSEG10  
W
RESET  
0
0
0
0
0
0
0
Figure 18. Bus timing register 1  
SAMP — Sampling  
This bit determines the number of samples of the serial bus to be  
taken per bit time. If set three samples per bit are taken, the regular  
one (sample point) and two preceding samples, using a majority rule.  
For higher bit rates SAMP should be cleared, which means that only  
one sample will be taken per bit.  
1 = Three samples per bit.  
0 = One sample per bit.  
TSEG22–TSEG10 — Time segment  
Time segments within the bit time fix the number of clock cycles per  
bit time, and the location of the sample point.  
Time segment 1 (TSEG1) and time segment 2 (TSEG2) are  
programmable as shown in Table 8.  
The bit time is determined by the oscillator frequency, the baud rate  
prescaler, and the number of time quanta (Tq) clock cycles per bit (as  
shown above).  
NOTE: The CBTR1 register can only be written if the SFTRES bit in the  
msCAN08 Module Control Register is set.  
35-can  
MC68HC08AZ0  
385  
MOTOROLA  
msCAN08 Controller (msCAN08)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Table 7.Time segment syntax  
System expects transitions to occur on  
SYNC_SEG  
the bus during this period.  
A node in transmit mode will transfer a  
new value to the CAN bus at this point.  
Transmit point  
A node in receive mode will sample the  
bus at this point. If the three samples per  
bit option is selected then this point  
marks the position of the third sample.  
Sample point  
.
Table 8.Time segment values  
TSEG TSEG TSEG TSEG  
TSEG TSEG TSEG  
Time segment 1  
Time segment 2  
13  
0
0
0
0
.
12  
0
0
0
0
.
11  
0
0
1
1
.
10  
0
1
0
1
.
22  
0
0
.
21  
0
0
.
20  
0
1
.
1 Tq clock cycle  
2 Tq clock cycles  
3 Tq clock cycles  
4 Tq clock cycles  
.
1 Tq clock cycle  
2 Tq clock cycles  
.
.
.
.
.
1
1
1
8 Tq clock cycles  
.
.
.
.
.
1
1
1
1
16 Tq clock cycles  
msCAN08receiver  
flag register  
(CRFLG)  
All bits of this register are read and clear only. A flag can be cleared by  
writing a 1 to the corresponding bit position. A flag can only be cleared  
when the condition which caused the setting is no more valid. Writing a  
0 has no effect on the flag setting. Every flag has an associated interrupt  
enable flag in the CRIER register. A hard or soft reset will clear the  
register.  
BIT 7  
WUPIF  
0
BIT 6  
BIT 5  
BIT 4  
BIT 3  
TERRIF  
0
BIT 2  
BOFFIF  
0
BIT 1  
OVRIF  
0
BIT 0  
RXF  
0
CRFLG  
$xx04  
R
RWRNIF TWRNIF RERRIF  
W
RESET  
0
0
0
Figure 19. Receiver flag register  
36-can  
MC68HC08AZ0  
386  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of control registers  
WUPIF — Wake-up interrupt flag  
If the msCAN08 detects bus activity whilst it is asleep, it clears the  
SLPAK bit in the CMCR0 register; the WUPIF bit will then be set. If  
not masked, a Wake-Up interrupt is pending while this flag is set.  
1 = msCAN08 has detected activity on the bus and requested  
wake-up.  
0 = No wake-up activity has been observed while in sleep mode.  
RWRNIF — Receiver warning interrupt flag  
This bit will be set when the msCAN08 went into warning status due  
to the Receive Error counter being in the range of 96 to 127. If not  
masked, an Error interrupt is pending while this flag is set.  
1 = msCAN08 went into receiver warning status.  
0 = No receiver warning status has been reached.  
TWRNIF — Transmitter warning interrupt flag  
This bit will be set when the msCAN08 went into warning status due  
to the Transmit Error counter being in the range of 96 to 127. If not  
masked, an Error interrupt is pending while this flag is set.  
1 = msCAN08 went into transmitter warning status.  
0 = No transmitter warning status has been reached.  
RERRIF — Receiver error Passive Interrupt Flag  
This bit will be set when the msCAN08 went into error passive status  
due to the Receive Error counter exceeded 127. If not masked, an  
Error interrupt is pending while this flag is set.  
1 = msCAN08 went into receiver error passive status.  
0 = No receiver error passive status has been reached.  
TERRIF — Transmitter Error Passive Interrupt Flag  
This bit will be set when the msCAN08 went into error passive status  
due to the Transmit Error counter exceeded 127. If not masked, an  
Error interrupt is pending while this flag is set.  
1 = msCAN08 went into transmitter error passive status.  
0 = No transmitter error passive status has been reached.  
37-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
387  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
BOFFIF — Bus-Off Interrupt Flag  
This bit will be set when the msCAN08 went into bus-off status, due  
to the Transmit Error counter exceeded 255. If not masked, an Error  
interrupt is pending while this flag is set.  
1 = msCAN08 went into bus-off status.  
0 = No bus-off status has been reached.  
OVRIF — Overrun Interrupt Flag  
This bit will be set when a data overrun condition occurred. If not  
masked, an Error interrupt is pending while this flag is set.  
1 = A data overrun has been detected.  
0 = No data overrun has occurred.  
RXF — Receive Buffer Full  
The RXF flag is set by the msCAN08 when a new message is  
available in the foreground receive buffer. This flag indicates whether  
the buffer is loaded with a correctly received message. After the CPU  
has read that message from the receive buffer the RXF flag must be  
handshaken to release the buffer. A set RXF flag prohibits the  
exchange of the background receive buffer into the foreground buffer.  
In that case the msCAN08 will signal an overload condition. If not  
masked, a Receive interrupt is pending while this flag is set.  
1 = The receive buffer is full. A new message is available.  
0 = The receive buffer is released (not full).  
NOTE: The CRFLG register is held in the reset state when the SFTRES bit in  
CMCR0 is set.  
38-can  
MC68HC08AZ0  
388  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of control registers  
msCAN08  
Receiver Interrupt  
Enable Register  
(CRIER)  
BIT 7  
WUPIE  
0
BIT 6  
BIT 5  
BIT 4  
BIT 3  
BIT 2  
BOFFIE  
0
BIT 1  
OVRIE  
0
BIT 0  
RXFIE  
0
CRIER  
$xx05  
R
RWRNIE TWRNIE RERRIE TERRIE  
W
RESET  
0
0
0
0
Figure 20. Receiver Interrupt Enable Register  
WUPIE — Wake-up Interrupt Enable  
1 = A wake-up event will result in a wake-up interrupt.  
0 = No interrupt will be generated from this event.  
RWRNIE — Receiver Warning Interrupt Enable  
1 = A receiver warning status event will result in an error interrupt.  
0 = No interrupt will be generated from this event.  
TWRNIE — Transmitter Warning Interrupt Enable  
1 = A transmitter warning status event will result in an error  
interrupt.  
0 = No interrupt will be generated from this event.  
RERRIE — Receiver Error Passive Interrupt Enable  
1 = A receiver error passive status event will result in an error  
interrupt.  
0 = No interrupt will be generated from this event.  
TERRIE — Transmitter Error Passive Interrupt Enable  
1 = A transmitter error passive status event will result in an error  
interrupt.  
0 = No interrupt will be generated from this event.  
BOFFIE — Bus-Off Interrupt Enable  
1 = A bus-off event will result in an error interrupt.  
0 = No interrupt will be generated from this event.  
OVRIE — Overrun Interrupt Enable  
1 = An overrun event will result in an error interrupt.  
0 = No interrupt will be generated from this event.  
39-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
389  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
RXFIE — Receiver Full Interrupt Enable  
1 = A receive buffer full (successful message reception) event will  
result in a receive interrupt.  
0 = No interrupt will be generated from this event.  
NOTE: The CRIER register is held in the reset state when the SFTRES bit in  
CMCR0 is set.  
msCAN08  
All bits of this register are read and clear only. A flag can be cleared by  
Transmitter Flag  
Register (CTFLG)  
writing a 1 to the corresponding bit position. Writing a 0 has no effect on  
the flag setting. Every flag has an associated interrupt enable flag in the  
CTCR register. A hard or soft reset will clear the register.  
BIT 7  
0
BIT 6  
BIT 5  
BIT 4  
BIT 3  
0
BIT 2  
TXE2  
1
BIT 1  
TXE1  
1
BIT 0  
TXE0  
1
CTFLG  
$xx06  
R
W
ABTAK2 ABTAK1 ABTAK0  
RESET  
0
0
0
0
0
= Unimplemented  
Figure 21. Transmitter Flag Register  
ABTAK2–ABTAK0 — Abort Acknowledge  
This flag acknowledges that a message has been aborted due to a  
pending abort request from the CPU. After a particular message  
buffer has been flagged empty, this flag can be used by the  
application software to identify whether the message has been  
aborted successfully or has been sent in the meantime. The flag is  
reset implicitly whenever the associated TXE flag is set to 0.  
1 = The message has been aborted.  
0 = The massage has not been aborted, thus has been sent out.  
TXE2–TXE0 —Transmitter Buffer Empty  
This flag indicates that the associated transmit message buffer is  
empty, thus not scheduled for transmission. The CPU must  
handshake (clear) the flag after a message has been set up in the  
transmit buffer and is due for transmission. The msCAN08 will set the  
flag after the message has been sent successfully. The flag will also  
be set by the msCAN08 when the transmission request was  
40-can  
MC68HC08AZ0  
390  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of control registers  
successfully aborted due to a pending abort request (see msCAN08  
Transmitter Control Register (CTCR) on page 391). If not masked, a  
Transmit interrupt is pending while this flag is set.  
A reset of this flag will also reset the Abort Acknowledge (ABTAK,  
see above) and the Abort Request (ABTRQ) (see msCAN08 Trans-  
mitter Control Register (CTCR) on page 391), flags of the particular  
buffer.  
1 = The associated message buffer is empty (not scheduled).  
0 = The associated message buffer is full (loaded with a message  
due for transmission).  
NOTE: The CTFLG register is held in the reset state when the SFTRES bit in  
CMCR0 is set.  
msCAN08  
TransmitterControl  
Register (CTCR)  
BIT 7  
0
BIT 6  
BIT 5  
BIT 4  
BIT 3  
0
BIT 2  
TXEIE2  
0
BIT 1  
TXEIE1  
0
BIT 0  
TXEIE0  
0
CTCR  
$xx07  
R
ABTRQ2 ABTRQ1 ABTRQ0  
W
RESET  
0
0
0
0
0
= Unimplemented  
Table 9.Transmitter Control Register  
ABTRQ2–ABTRQ0 — Abort Request  
The CPU sets this bit to request that an already scheduled message  
buffer (TXE = 0) shall be aborted. The msCAN08 will grant the  
request when the message is not already under transmission. When  
a message is aborted the associated TXE and the Abort  
Acknowledge flag ABTAK) (see msCAN08 Transmitter Flag Register  
(CTFLG) on page 390), will be set and an TXE interrupt will occur if  
enabled. The CPU can not reset ABTRQx. ABTRQx is reset implicitly  
whenever the associated TXE flag is set.  
1 = Abort request pending.  
0 = No abort request.  
41-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
391  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
TXEIE2–TXEIE0 — Transmitter Empty Interrupt Enable  
1 = A transmitter empty (transmit buffer available for transmission)  
event will result in a transmitter empty interrupt.  
0 = No interrupt will be generated from this event.  
NOTE: The CTCR register is held in the reset state when the SFTRES bit in  
CMCR0 is set.  
msCAN08  
Identifier  
Acceptance  
Control Register  
(CIDAC)  
BIT 7  
0
BIT 6  
0
BIT 5  
IDAM1  
0
BIT 4  
IDAM0  
0
BIT 3  
0
BIT 2  
0
BIT 1  
BIT 0  
CIDAC  
$xx08  
R
W
IDHIT1  
IDHIT0  
RESET  
0
0
0
0
0
0
= Unimplemented  
Figure 22. Identifier Acceptance Control Register  
IDAM1–IDAM0— Identifier Acceptance Mode  
The CPU sets these flags to define the identifier acceptance filter  
organization (see Identifier acceptance filter on page 360). Table 10  
summarizes the different settings. In “Filter Closed” mode no  
messages will be accepted such that the foreground buffer will never  
be reloaded.  
Table 10. Identifier Acceptance Mode Settings  
IDAM1  
IDAM0  
Identifier Acceptance Mode  
Single 32 bit Acceptance Filter  
Two 16 bit Acceptance Filter  
Four 8 bit Acceptance Filters  
Filter Closed  
0
0
1
1
0
1
0
1
42-can  
MC68HC08AZ0  
392  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of control registers  
IDHIT1–IDHIT0— Identifier Acceptance Hit Indicator  
The msCAN08 sets these flags to indicate an identifier acceptance hit  
(see Identifier acceptance filter on page 360). Table 11 summarizes  
the different settings.  
Table 11. Identifier Acceptance Hit Indication  
IDHIT1  
IDHIT0  
Identifier Acceptance Hit  
Filter 0 Hit  
0
0
1
1
0
1
0
1
Filter 1 Hit  
Filter 2 Hit  
Filter 3 Hit  
The IDHIT indicators are always related to the message in the  
foreground buffer. When a message gets copied from the background to  
the foreground buffer the indicators are updated as well.  
NOTE: The CIDAC register can only be written if the SFTRES bit in the  
msCAN08 Module Control Register is set.  
msCAN08Receive  
Error Counter  
(CRXERR)  
BIT 7  
BIT 6  
BIT 5  
BIT 4  
BIT 3  
BIT 2  
BIT 1  
BIT 0  
CRXERR R RXERR7 RXERR6 RXERR5 RXERR4 RXERR3 RXERR2 RXERR1 RXERR0  
$xx0E  
W
RESET  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 23. Receive Error Counter  
This register reflects the status of the msCAN08 receive error counter.  
The register is read only.  
43-can  
MC68HC08AZ0  
MOTOROLA  
msCAN08 Controller (msCAN08)  
393  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
msCAN08Transmit  
Error Counter  
(CTXERR)  
BIT 7  
BIT 6  
BIT 5  
BIT 4  
BIT 3  
BIT 2  
BIT 1  
BIT 0  
CTXERR R TXERR7 TXERR6 TXERR5 TXERR4 TXERR3 TXERR2 TXERR1 TXERR0  
$xx0F  
W
RESET  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 24. Transmit Error Counter  
This register reflects the status of the msCAN08 transmit error counter.  
The register is read only.  
NOTE: Both error counters may only be read when in Sleep or SOft Reset  
Mode.  
msCAN08  
Identifier  
On reception each message is written into the background receive  
buffer. The CPU is only signalled to read the message however, if it  
Acceptance  
Registers  
(CIDAR0-3)  
passes the criteria in the identifier acceptance and identifier mask  
registers (accepted); otherwise, the message will be overwritten by the  
next message (dropped).  
The acceptance registers of the msCAN08 are applied on the IDR0 to  
IDR3 registers of incoming messages in a bit by bit manner.  
For extended identifiers all four acceptance and mask registers are  
applied. For standard identifiers only the first two (IDAR0, IDAR1) are  
applied. In the latter case it is required to program the mask register  
CIDMR1 in the three last bits (AC2 - AC0) to ‘don’t care’.  
44-can  
MC68HC08AZ0  
394  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
Programmer’s model of control registers  
BIT 7  
AC7  
BIT 6  
AC6  
BIT 5  
AC5  
BIT 4  
AC4  
BIT 3  
AC3  
BIT 2  
AC2  
BIT 1  
AC1  
BIT 0  
AC0  
R
W
R
CIDAR0  
$xx10  
CIDAR1  
$xx11  
AC7  
AC7  
AC6  
AC6  
AC6  
AC5  
AC5  
AC5  
AC4  
AC4  
AC3  
AC3  
AC2  
AC2  
AC1  
AC1  
AC0  
AC0  
W
R
CIDAR2  
$xx12  
W
R
CIDAR3  
$xx13  
AC7  
U
AC4  
U
AC3  
U
AC2  
U
AC1  
U
AC0  
U
W
RESET  
U
U
U
= Unaffected  
Figure 25. Identifier Acceptance Registers  
AC7–AC0 — Acceptance Code Bits  
AC7–AC0 comprise a user defined sequence of bits with which the  
corresponding bits of the related identifier register (IDRn) of the  
receive message buffer are compared. The result of this comparison  
is then masked with the corresponding identifier mask register.  
NOTE: The CIDAR0-3 registers can only be written if the SFTRES bit in the  
msCAN08 Module Control Register is set  
msCAN08  
The identifier mask register specifies which of the corresponding bits in  
Identifier Mask  
Registers  
the identifier acceptance register are relevant for acceptance filtering.  
(CIDMR0-3)  
BIT 7  
AM7  
BIT 6  
AM6  
BIT 5  
AM5  
BIT 4  
AM4  
BIT 3  
AM3  
BIT 2  
AM2  
BIT 1  
AM1  
BIT 0  
AM0  
R
W
R
CIDMR0  
$xx14  
CIDMR1  
$xx15  
AM7  
AM7  
AM6  
AM6  
AM6  
AM5  
AM5  
AM5  
AM4  
AM4  
AM3  
AM3  
AM2  
AM2  
AM1  
AM1  
AM0  
AM0  
W
R
CIDMR2  
$xx16  
W
R
CIDMR3  
$xx17  
AM7  
U
AM4  
U
AM3  
U
AM2  
U
AM1  
U
AM0  
U
W
RESET  
U
U
U
= Unaffected  
Figure 26. Identifier Mask Registers  
45-can  
MC68HC08AZ0  
395  
MOTOROLA  
msCAN08 Controller (msCAN08)  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
msCAN08 Controller (msCAN08)  
AM7–AM0 — Acceptance Mask Bits  
If a particular bit in this register is cleared this indicates that the  
corresponding bit in the identifier acceptance register must be the  
same as its identifier bit, before a match will be detected. The  
message will be accepted if all such bits match. If a bit is set, it  
indicates that the state of the corresponding bit in the identifier  
acceptance register will not affect whether or not the message is  
accepted.  
Bit description:  
1 = Ignore corresponding acceptance code register bit.  
0 = Match corresponding acceptance code register and identifier  
bits.  
NOTE: The CIDMR0-3 registers can only be written if the SFTRES bit in the  
msCAN08 Module Control Register is set  
46-can  
MC68HC08AZ0  
396  
msCAN08 Controller (msCAN08)  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Specifications  
Contents  
Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398  
Functional Operating Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399  
Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399  
5.0 Volt DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 400  
Control Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401  
ADC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402  
5.0 vdc ± 0.5v Serial Peripheral Interface (SPI) Timing . . . . . . . . . . 403  
CGM Operating Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406  
CGM Component Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406  
CGM Acquisition/Lock Time Information. . . . . . . . . . . . . . . . . . . . . . 407  
Timer Module Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408  
Memory Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408  
EBI Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408  
Mechanical Specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413  
100-pin Quad Flat Pack (QFP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 413  
1-specs  
MC68HC08AZ0  
MOTOROLA  
Specifications  
397  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
Maximum Ratings  
Maximum ratings are the extreme limits to which the MCU can be  
exposed without permanently damaging it.  
NOTE: This device is not guaranteed to operate at the maximum ratings. Refer  
to 5.0 Volt DC Electrical Characteristics on page 400 for guaranteed  
operating conditions.  
Rating  
Supply Voltage  
Symbol  
Value  
Unit  
V
V
–0.3 to +6.0  
DD  
Input Voltage  
V
V
–0.3 to V +0.3  
V
IN  
SS  
DD  
Maximum Current Per Pin  
I
± 25  
mA  
Excluding V and V  
DD  
SS  
Storage Temperature  
T
–55 to +150  
100  
°C  
mA  
mA  
V
STG  
Maximum Current out of V  
I
SS  
MVSS  
MVDD  
Maximum Current into V  
Reset IRQ Input Voltage  
I
100  
DD  
V
V
+2 to V + 4  
DD DD  
HI  
NOTE: Voltages are referenced to V  
.
SS  
NOTE: This device contains circuitry to protect the inputs against damage due  
to high static voltages or electric fields; however, it is advised that normal  
precautions be taken to avoid application of any voltage higher than  
maximum-rated voltages to this high-impedance circuit. For proper  
operation, it is recommended that V and V  
be constrained to the  
IN  
OUT  
range V (V or V  
) V . Reliability of operation is enhanced if  
DD  
SS  
IN  
OUT  
unused inputs are connected to an appropriate logic voltage level (for  
example, either V or V ).  
SS  
DD  
2-specs  
MC68HC08AZ0  
398  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Functional Operating Range  
Functional Operating Range  
Rating  
Symbol  
Value  
–40 to T  
Unit  
°C  
(1)  
Operating Temperature Range  
Operating Voltage Range  
T
A
A (max)  
V
5.0 ± 0.5v  
V
DD  
1. T  
= 85°C for part suffix CFU  
A (MAX)  
NOTE: For applications which use the LVI, Motorola guarantee the functionality  
of the device down to the LVI trip point (V ).  
LVII  
Thermal Characteristics  
Characteristic  
Thermal Resistance  
Symbol  
Value  
70  
Unit  
°C/W  
W
θ
JA  
QFP (100 Pins)  
I/O Pin Power Dissipation  
P
User Determined  
I/O  
P = (I x V ) + P  
I/O  
D
DD  
DD  
Power Dissipation (see Note 1)  
Constant (see Note 2)  
P
W
D
= K/(T + 273 °C  
J
P x (T + 273 °C)  
D
A
K
W/°C  
°C  
2
+ (P x θ )  
D
JA  
Average Junction Temperature  
NOTES:  
T
T = P x θ  
A D JA  
J
1. Power dissipation is a function of temperature.  
2. K is a constant unique to the device. K can be determined from a known T and measured  
A
P
With this value of K, P , and T can be determined for any value of T .  
D.  
D J A  
3-specs  
MC68HC08AZ0  
399  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
5.0 Volt DC Electrical Characteristics  
Characteristic  
Output High Voltage  
Symbol  
Min  
Max  
Unit  
(I  
(I  
= –2.0 mA) All Ports  
= –5.0 mA) All Ports  
V
V
–0.8  
10  
V
V
LOAD  
LOAD  
DD  
V
OH  
–1.5  
DD  
Total source current  
Output Low Voltage  
I
mA  
OHtot  
(I  
(I  
= 1.6 mA) All Ports  
= 10.0 mA) All Ports  
0.4  
1.5  
15  
V
V
LOAD  
LOAD  
V
OL  
Total sink current  
I
mA  
OLtot  
Input High Voltage  
V
0.7 x V  
V
DD  
V
V
IH  
DD  
All Ports, IRQs, RESET, OSC1  
Input Low Voltage  
V
V
0.3 x V  
DD  
IL  
SS  
All Ports, IRQs, RESET, OSC1  
V
+ V  
Supply Current  
DD  
DDA  
Run (see Note 3)(see Note 10)  
Wait (see Note 4)(see Note 10)  
Stop (see Note 5)  
25 °C  
–40 °C to +85 °C  
30  
14  
mA  
mA  
I
DD  
50  
µA  
µA  
µA  
µA  
100  
400  
500  
25 °C with LVI Enabled  
–40 °C to +85 °C with LVI Enabled  
I/O Ports Hi-Z Leakage Current  
Input Current  
I
± 1  
± 1  
µA  
µA  
L
I
IN  
Capacitance  
Ports (As Input or Output)  
C
C
12  
8
OUT  
pF  
V
IN  
Low-Voltage Reset Inhibit (trip)  
4.0  
V
LVI  
(recover)  
4.4  
200  
800  
POR ReArm Voltage (see Note 6)  
POR Reset Voltage (see Note 7)  
V
0
0
mV  
mV  
V/ms  
V
POR  
V
PORRST  
POR Rise Time Ramp Rate (see Note 8)  
High COP Disable Voltage (see Note 9)  
R
0.02  
POR  
V
V
V
+ 2  
DD  
HI  
DD  
4-specs  
MC68HC08AZ0  
400  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Control Timing  
1.V = 5.0 Vdc ± 0.5v, V = 0 Vdc, TA = –40 °C to T , unless otherwise noted.  
A (MAX)  
DD  
SS  
2.Typical values reflect average measurements at midpoint of voltage range, 25 °C only.  
3.Run (Operating) I measured using external square wave clock source (f = 8.4 MHz). All inputs 0.2 V from rail.  
DD  
OP  
No dc loads. Less than 100 pF on all outputs. C = 20 pF on OSC2. All ports configured as inputs. OSC2 capaci-  
L
tance linearly affects run I . Measured with all modules enabled.  
DD  
4.Wait I measured using external square wave clock source (f = 8.4 MHz). All inputs 0.2 Vdc from rail. No dc  
DD  
OP  
loads. Less than 100 pF on all outputs, C = 20 pF on OSC2. All ports configured as inputs. OSC2 capacitance  
L
linearly affects wait I . Measured with all modules enabled.  
DD  
5.Stop I measured with OSC1 = V  
.
DD  
SS  
6.Maximum is highest voltage that POR is guaranteed.  
7.Maximum is highest voltage that POR is possible.  
8.If minimum V is not reached before the internal POR reset is released, RST must be driven low externally until  
DD  
minimum V is reached.  
DD  
9.See Computer Operating Properly Module (COP) on page 159.  
10.Although I is proportional to bus frequency, a current of several mA is present even at very low frequencies.  
DD  
Control Timing  
Characteristic  
Symbol  
Min  
Max  
8.4  
Unit  
Bus Operating Frequency (4.5–5.5 V — V Only)  
f
MHz  
DD  
BUS  
RESET Pulse Width Low  
t
1.5  
1.5  
Note 3  
10  
t
t
t
RL  
cyc  
cyc  
cyc  
IRQ Interrupt Pulse Width Low (Edge-Triggered)  
IRQ Interrupt Pulse Period  
t
ILHI  
t
ILIL  
EEPROM Programming Time per Byte  
EEPROM Erasing Time per Byte  
EEPROM Erasing Time per Block  
EEPROM Erasing Time per Bulk  
t
ms  
ms  
ms  
ms  
µs  
EEPGM  
t
10  
EBYTE  
t
10  
EBLOCK  
t
t
10  
EBULK  
EEPROM Programming Voltage Discharge Period  
100  
200  
EEFPV  
16-Bit Timer (see Note 2)  
Input Capture Pulse Width (see Note 3)  
Input Capture Period  
t
t
2
t
cyc  
TH, TL  
t
Note 4  
TLTL  
MSCAN Wake-up Filter Pulse Width (see Note 5)  
t
2
5
µs  
WUP  
1.V = 5.0 Vdc ± 0.5v, V = 0 Vdc, TA = –40 °C to T , unless otherwise noted.  
A (MAX)  
DD  
SS  
2.The 2-bit timer prescaler is the limiting factor in determining timer resolution.  
3.Refer to Mode, edge, and level selection on page 296 and supporting note.  
4.The minimum period t  
or t  
should not be less than the number of cycles it takes to execute the capture interrupt  
TLTL  
ILIL  
service routine plus TBD t  
.
cyc  
5. The minimum pulse width to wake up the MSCAN module is guaranteed by design but not tested.  
5-specs  
MC68HC08AZ0  
401  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
ADC Characteristics  
Characteristic  
Resolution  
Min  
Max  
Unit  
Comments  
8
8
Bits  
Absolute Accuracy  
Includes  
Quantization  
–1  
+1  
LSB  
V
(V  
= 0 V, V  
= V = 5 V ± 0.5v)  
REFH  
REFL  
DDA  
Conversion Range (see Note 1)  
Power-Up Time  
V
V
V
= V  
REFL  
REFH  
REFL SSA  
Conversion Time  
Period  
16  
17  
µs  
Input Leakage (see Note 3)  
Ports B and D  
± 1  
µA  
ADC  
Clock  
Cycles  
Includes Sampling  
Time  
Conversion Time  
16  
17  
Monotonicity  
Inherent within Total Error  
Zero Input Reading  
Full-Scale Reading  
00  
01  
FF  
Hex  
Hex  
V
= V  
= V  
IN  
REFL  
FE  
V
IN  
REFH  
ADC  
Clock  
Cycles  
Sample Time (see Note 2)  
5
Input Capacitance  
ADC Internal Clock  
Analog Input Voltage  
8
pF  
Hz  
V
Not Tested  
500 k  
1.048 M  
Tested Only at 1 MHz  
V
V
REFH  
REFL  
1.V = 5.0 Vdc ± 0.5v, V = 0 Vdc, V  
/V  
= 5.0 Vdc ± 0.5v, V  
= 0 Vdc, V  
= 5.0 Vdc ± 0.5v  
DD  
SS  
DDA DDAREF  
SSA  
REFH  
2.Source impedances greater than 10 kadversely affect internal RC charging time during input sampling.  
3.The external system error caused by input leakage current is approximately equal to the product of R  
source and input current.  
6-specs  
MC68HC08AZ0  
402  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
5.0 vdc ± 0.5v Serial Peripheral Interface (SPI) Timing  
5.0 vdc ± 0.5v Serial Peripheral Interface (SPI) Timing  
Num  
Characteristic  
Symbol  
Min  
Max  
Unit  
Operating Frequency (see Note 3)  
Master  
Slave  
f
f
f
/128  
dc  
f /2  
BUS  
MHz  
BUS(M)  
BUS  
f
BUS(S)  
BUS  
Cycle Time  
Master  
Slave  
1
t
t
2
1
128  
t
cyc  
cyc(M)  
cyc(S)  
2
3
Enable Lead Time  
Enable Lag Time  
t
15  
15  
ns  
ns  
Lead  
t
Lag  
Clock (SCK) High Time  
4
5
6
7
Master  
Slave  
t
t
100  
50  
ns  
ns  
ns  
ns  
W(SCKH)M  
W(SCKH)S  
Clock (SCK) Low Time  
Master  
Slave  
t
t
100  
50  
W(SCKL)M  
W(SCKL)S  
Data Setup Time (Inputs)  
Master  
Slave  
t
45  
5
SU(M)  
t
SU(S)  
Data Hold Time (Inputs)  
Master  
Slave  
t
0
15  
H(M)  
t
H(S)  
Access Time, Slave (see Note 4)  
CPHA = 0  
CPHA = 1  
t
0
0
40  
20  
ns  
ns  
ns  
A(CP0)  
t
A(CP1)  
8
9
Slave Disable Time (Hold Time to High-Impedance  
State) (see Note 5)  
t
25  
DIS  
Data Valid Time after Enable Edge (see Note 6)  
Master  
Slave  
10  
11  
t
10  
40  
V(M)  
t
V(S)  
Data Hold Time (Outputs, after Enable Edge)  
Master  
Slave  
t
t
0
5
ns  
HO(M)  
HO(S)  
1. All timing is shown with respect to 30% VDD and 70% VDD, unless otherwise noted; assumes 100 pF load on all SPI  
pins.  
2. Item numbers refer to dimensions in Figure 1 and Figure 2.  
3.  
f
= the currently active bus frequency for the microcontroller.  
BUS  
4. Time to data active from high-impedance state.  
5. Hold time to high-impedance state.  
6. With 100 pF on all SPI pins  
7-specs  
MC68HC08AZ0  
403  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
SS  
INPUT  
SS PIN OF MASTER HELD HIGH  
1
12  
13  
12  
13  
7
5
4
SCK (CPOL = 0)  
OUTPUT  
NOTE  
NOTE  
4
5
12  
SCK (CPOL = 1)  
OUTPUT  
6
MISO  
INPUT  
MSB IN  
BIT 6–1  
LSB IN  
10 (REF)  
MOSI  
11  
MASTER MSB OUT  
10  
11 (REF)  
MASTER LSB OUT  
12  
BIT 6–1  
OUTPUT  
13  
NOTE: This first clock edge is generated internally, but is not seen at the SCK pin.  
a) SPI Master Timing (CPHA = 0)  
SS  
INPUT  
SS PIN OF MASTER HELD HIGH  
1
13  
12  
12  
SCK (CPOL = 0)  
OUTPUT  
5
NOTE  
NOTE  
4
13  
SCK (CPOL = 1)  
OUTPUT  
5
4
6
7
LSB IN  
11  
MISO  
MSB IN  
11  
BIT 6–1  
BIT 6–1  
INPUT  
10 (REF)  
10  
MOSI  
OUTPUT  
MASTER MSB OUT  
MASTER LSB OUT  
12  
13  
NOTE: This last clock edge is generated internally, but is not seen at the SCK pin.  
b) SPI Master Timing (CPHA = 1)  
Figure 1. SPI Master Timing Diagram  
8-specs  
MC68HC08AZ0  
404  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
5.0 vdc ± 0.5v Serial Peripheral Interface (SPI) Timing  
SS  
INPUT  
1
13  
12  
3
SCK (CPOL = 0)  
INPUT  
5
4
4
5
2
SCK (CPOL = 1)  
INPUT  
8
12  
11  
13  
SLAVE LSB OUT  
11  
9
MISO  
INPUT  
SLAVE MSB OUT  
BIT 6–1  
BIT 6–1  
NOTE  
10  
6
7
MOSI  
OUTPUT  
MSB IN  
LSB IN  
NOTE: Not defined but normally MSB of character just received.  
a) SPI Slave Timing (CPHA = 0)  
SS  
INPUT  
1
13  
12  
13  
SCK (CPOL = 0)  
INPUT  
5
4
4
5
2
3
SCK (CPOL = 1)  
INPUT  
10  
SLAVE MSB OUT  
12  
10  
9
8
MISO  
OUTPUT  
NOTE  
BIT 6–1  
BIT 6–1  
SLAVE LSB OUT  
6
7
11  
MOSI  
INPUT  
MSB IN  
LSB IN  
NOTE: Not defined but normally LSB of character previously transmitted.  
a) SPI Slave Timing (CPHA = 1)  
Figure 2. SPI Slave Timing Diagram  
9-specs  
MC68HC08AZ0  
405  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
CGM Operating Conditions  
Characteristic  
Operating Voltage  
Symbol  
Min  
4.5 V  
1
Typ  
Max  
5.5 V  
8
Comments  
VDD  
Crystal Reference Frequency  
f
4.9152 MHz  
RCLK  
Module Crystal Reference  
Frequency  
Same Frequency as  
f
4.9152 MHz  
XCLK  
f
RCLK  
Range Nom. Multiplier (MHz)  
f
4.9152  
4.5–5.5 V, VDD only  
4.5–5.5 V, VDD only  
NOM  
VCO Center-of-Range Frequency  
(MHz)  
f
4.9152  
4.9152  
32.0  
32.0  
VRS  
VCO Operating Frequency (MHZ)  
f
VCLK  
CGM Component Information  
Description  
Symbol  
Min  
Typ  
Max  
Comments  
Consult Crystal  
Manufacturer’s Data  
Crystal Load Capacitance  
C
L
Consult Crystal  
Manufacturer’s Data  
Crystal Fixed Capacitance  
C1  
2 x CL  
Consult Crystal  
Manufacturer’s Data  
Crystal Tuning Capacitance  
C2  
2 x CL  
0.0154  
Filter Capacitor Multiply Factor  
C
F/s V  
FACT  
See External filter  
capacitor pin  
(CGMXFC) on page  
118.  
C
(V  
x
/
)
FACT  
Filter Capacitor  
C
F
DDA  
f
XCLK  
CBYP must provide  
low AC impedance  
from f = f  
/100 to  
XCLK  
Bypass Capacitor  
C
0.1 µF  
BYP  
100 x f  
, so series  
VCLK  
resistance must be  
considered.  
10-specs  
MC68HC08AZ0  
406  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
CGM Acquisition/Lock Time Information  
CGM Acquisition/Lock Time Information  
Description  
Symbol  
Min  
Typ  
(8 x VDDA)/(f  
Max  
Notes  
If C Chosen  
F
Manual Mode Time to Stable  
t
x K  
ACQ)  
ACQ  
XCLK  
Correctly  
If C Chosen  
Correctly  
F
Manual Stable to Lock Time  
Manual Acquisition Time  
t
0
(4 x V  
)/(f x KTRK  
)
AL  
DDA  
XCLK  
t
t
+t  
LOCK  
ACQ AL  
Tracking Mode Entry  
Frequency Tolerance  
D
± 3.6%  
TRK  
Acquisition Mode Entry  
Frequency Tolerance  
D
± 6.3%  
± 7.2%  
UNT  
LOCK Entry Freq. Tolerance  
LOCK Exit Freq. Tolerance  
D
0
± 0.9%  
± 1.8%  
LOCK  
D
± 0.9%  
UNL  
Reference Cycles per  
Acquisition Mode  
Measurement  
n
32  
ACQ  
Reference Cycles per  
Tracking Mode  
n
128  
TRK  
Measurement  
Automatic Mode Time  
to Stable  
If C Chosen  
Correctly  
F
t
n
/f  
(8 x V  
(4 x V  
)/(f  
)/(f  
x K  
x K  
ACQ  
ACQ XCLK  
DDA  
XCLK  
ACQ)  
Automatic Stable to Lock  
Time  
If C Chosen  
F
t
n
/f  
)
TRK  
AL  
TRK XCLK  
DDA  
XCLK  
Correctly  
Automatic Lock Time  
t
0
t
+t  
LOCK  
ACQ AL  
PLL Jitter, Deviation of  
Average Bus Frequency  
over 2 ms  
± (f  
)
N = VCO  
Freq. Mult.  
(GBNT)  
CRYS  
x (.025%)  
x (N/4)  
1.GBNT guaranteed but not tested  
2.V = 5.0 Vdc ± 0.5v, V = 0 Vdc, TA = –40 °C to T , unless otherwise noted.  
DD  
SS  
A (MAX)  
11-specs  
MC68HC08AZ0  
407  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
Timer Module Characteristics  
Characteristic  
Input Capture Pulse Width  
Symbol  
Min  
Max  
Unit  
ns  
t
t
125  
TIH, TIL  
Input Clock Pulse Width  
t
t
(1/f ) + 5  
ns  
TCH, TCL  
OP  
Memory Characteristics  
Characteristic  
RAM Data Retention Voltage  
Symbol  
Min  
0.7  
10  
Max  
Unit  
V
V
RDR  
EEPROM Programming Time per Byte  
EEPROM Erasing Time per Byte  
EEPROM Erasing Time per Block  
EEPROM Erasing Time per Bulk  
EEPROM Programming Voltage Discharge Period  
t
ms  
ms  
ms  
ms  
µs  
EEPGM  
t
10  
EEBYTE  
t
10  
EEBLOCK  
t
10  
EEBULK  
t
100  
EEFPV  
EEPROM Write/Erase Cycles  
@ 10 ms Write Time +85 °C  
10,000  
10  
Cycles  
Years  
EEPROM Data Retention  
After 10,000 Write/Erase Cycles  
EEPROM enable recovery time  
EEPROM stop recovery time  
t
600  
600  
µs  
µs  
EEOFF  
t
EESTOP  
EBI Characteristics  
The following figures show the Read and Write timings for both High  
Performance and Low Noise operating modes of the EBI.  
12-specs  
MC68HC08AZ0  
408  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
EBI Characteristics  
tcyc  
tdhcs  
tdhad  
IT12  
A[15:0]  
CSx  
tad  
tcs  
tdsr  
tdhr  
D[7:0]  
tddrp  
tdhrp  
tddrp  
trp  
REB  
Figure 3 High performance read timings  
tdhcs  
tcyc  
IT12  
A[15:0]  
CSx  
tad  
tdhad  
tcs  
tddwp  
tdhwp  
tddwp  
twp  
WEB  
tdsw  
tddw  
tdhw  
D[7:0]  
Figure 4 High performance write timings  
13-specs  
MC68HC08AZ0  
409  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
To operate at maximum bus frequency i.e 8MHz (125ns) without  
WAIT States:-  
Bus Frq = Memory Access(max) + CSDelay(max) + Data Setup(min)  
==> Memory Access(max) = 125 - 22 -16  
==> Maximum Memory Access Time = 87ns  
With an external memory access time of 120ns the maximum bus  
speed without WAIT States is :-  
Bus Frq = Memory Access(max) + CSDelay(max) + Data Setup(min)  
==> Maximum Bus Frequency = 120 + 22 + 16  
==> Maximum Bus Frequency = 158ns = 6.33MHz  
Characteristic  
Symbol  
Min  
Max  
Unit  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Cycle Time  
t
125  
cyc  
IT12 to Valid External Address  
IT12 to Valid Chip-Select  
External Address Hold Time  
Chip-Select Hold Time  
t
22  
22  
ad  
t
cs  
t
tbd  
tbd  
16  
0
dhad  
t
dhcs  
Read Data Setup Time  
t
dsr  
Read Data Hold Time  
t
dhr  
Valid Address to Read Enable  
Read Enable Pulse Width  
Read Enable Hold Time  
t
tbd  
62  
0
ddrp  
t
rp  
t
dhrp  
Valid Address to Write Enable  
Write Enable Pulse Width  
Write Enable Hold Time  
t
t
tbd  
62  
0
ddwp  
t
wp  
dhwp  
Write Data Delay Time  
t
16  
ddw  
Write Data Setup Time  
t
tbd  
62  
32  
dsw  
dhw  
Write Data Hold Time  
t
Write Data Hold Time (External WAIT states)  
14-specs  
MC68HC08AZ0  
410  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
EBI Characteristics  
tcyc  
tdhcsln  
tdhadln  
IT12  
A[15:0]  
CSx  
tadln  
tcsln  
tdsr  
tdhr  
D[7:0]  
tddrp  
tdhrp  
tddrpln  
trp  
REB  
Figure 5 Low noise mode read timings  
tcyc  
tdhcsln  
tdhadln  
IT12  
A[15:0]  
CSx  
tadln  
tcsln  
twp  
tddwp  
tdhwp  
WEB  
tdsw  
tddw  
tdhw  
D[7:0]  
Figure 6 Low-noise mode write timings  
15-specs  
MC68HC08AZ0  
411  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
Characteristic  
Symbol  
Min  
Max  
Unit  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Cycle Time  
t
125  
cyc  
IT12 to Valid External Address  
IT12 to Valid Chip-Select  
External Address Hold Time  
Chip-Select Hold Time  
t
32  
32  
adln  
t
csln  
t
tbd  
tbd  
16  
0
dhadln  
t
dhcsln  
Read Data Setup Time  
t
dsr  
Read Data Hold Time  
t
dhr  
Valid Address to Read Enable  
Read Enable Pulse Width  
Read Enable Hold Time  
Valid Address to Write Enable  
Write Enable Pulse Width  
Write Enable Hold Time  
Write Data Delay Time  
t
tbd  
62  
0
ddrpln  
t
rp  
t
dhrp  
t
tbd  
62  
0
ddwp  
t
wp  
t
dhwp  
t
16  
ddw  
Write Data Setup Time  
t
tbd  
62  
32  
dsw  
dhw  
Write Data Hold Time  
t
Write Data Hold Time (External WAIT states)  
t
dhws  
To operate at maximum bus frequency i.e 8MHz (125ns) without  
WAIT States :-  
Bus Frq = Memory Access(max) + CS Delay(max) + Data Setup(min)  
==> Memory Access(max) = 125 - 32 -16  
==> Maximum Memory Access Time = 77ns  
Also, with an external memory access time of 120ns the  
maximum bus speed (without WAIT States) is :-  
Bus Frq = Memory Access(max) + CSDelay(max) + Data Setup(min)  
==> Maximum Bus Frequency = 120 + 32+ 16  
==> Maximum Bus Frequency = 168ns = 5.9MHz  
16-specs  
MC68HC08AZ0  
412  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Mechanical Specifications  
Mechanical Specifications  
100-pin Quad Flat Pack (QFP)  
Figure 7. 100-pin QFP  
17-specs  
MC68HC08AZ0  
413  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SpeciÞcations  
18-specs  
MC68HC08AZ0  
414  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
Glossary  
A — See “accumulator (A).”  
accumulator (A) — An 8-bit general-purpose register in the CPU08. The CPU08 uses the  
accumulator to hold operands and results of arithmetic and logic operations.  
acquisition mode — A mode of PLL operation during startup before the PLL locks on a  
frequency. Also see "tracking mode."  
address bus — The set of wires that the CPU or DMA uses to read and write memory locations.  
addressing mode — The way that the CPU determines the operand address for an instruction.  
The M68HC08 CPU has 16 addressing modes.  
ALU — See “arithmetic logic unit (ALU).”  
arithmetic logic unit (ALU) — The portion of the CPU that contains the logic circuitry to perform  
arithmetic, logic, and manipulation operations on operands.  
asynchronous — Refers to logic circuits and operations that are not synchronized by a common  
reference signal.  
baud rate — The total number of bits transmitted per unit of time.  
BCD — See “binary-coded decimal (BCD).”  
binary — Relating to the base 2 number system.  
binary number system — The base 2 number system, having two digits, 0 and 1. Binary  
arithmetic is convenient in digital circuit design because digital circuits have two  
permissible voltage levels, low and high. The binary digits 0 and 1 can be interpreted to  
correspond to the two digital voltage levels.  
binary-coded decimal (BCD) — A notation that uses 4-bit binary numbers to represent the 10  
decimal digits and that retains the same positional structure of a decimal number. For  
example,  
234 (decimal) = 0010 0011 0100 (BCD)  
MC68HC08AZ0  
MOTOROLA  
Glossary  
415  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
bit — A binary digit. A bit has a value of either logic 0 or logic 1.  
branch instruction — An instruction that causes the CPU to continue processing at a memory  
location other than the next sequential address.  
break module — A module in the M68HC08 Family. The break module allows software to halt  
program execution at a programmable point in order to enter a background routine.  
breakpoint — A number written into the break address registers of the break module. When a  
number appears on the internal address bus that is the same as the number in the break  
address registers, the CPU executes the software interrupt instruction (SWI).  
break interrupt — A software interrupt caused by the appearance on the internal address bus  
of the same value that is written in the break address registers.  
bus — A set of wires that transfers logic signals.  
bus clock — The bus clock is derived from the CGMOUT output from the CGM. The bus clock  
frequency, f , is equal to the frequency of the oscillator output, CGMXCLK, divided by  
op  
four.  
byte — A set of eight bits.  
C — The carry/borrow bit in the condition code register. The CPU08 sets the carry/borrow bit  
when an addition operation produces a carry out of bit 7 of the accumulator or when a  
subtraction operation requires a borrow. Some logical operations and data manipulation  
instructions also clear or set the carry/borrow bit (as in bit test and branch instructions and  
shifts and rotates).  
CCR — See “condition code register.”  
central processor unit (CPU) — The primary functioning unit of any computer system. The  
CPU controls the execution of instructions.  
CGM — See “clock generator module (CGM).”  
clear — To change a bit from logic 1 to logic 0; the opposite of set.  
clock — A square wave signal used to synchronize events in a computer.  
MC68HC08AZ0  
416  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
clock generator module (CGM) — A module in the M68HC08 Family. The CGM generates a  
base clock signal from which the system clocks are derived. The CGM may include a  
crystal oscillator circuit and or phase-locked loop (PLL) circuit.  
comparator — A device that compares the magnitude of two inputs. A digital comparator defines  
the equality or relative differences between two binary numbers.  
computer operating properly module (COP) — A counter module in the M68HC08 Family that  
resets the MCU if allowed to overflow.  
condition code register (CCR) — An 8-bit register in the CPU08 that contains the interrupt  
mask bit and five bits that indicate the results of the instruction just executed.  
control bit — One bit of a register manipulated by software to control the operation of the  
module.  
control unit — One of two major units of the CPU. The control unit contains logic functions that  
synchronize the machine and direct various operations. The control unit decodes  
instructions and generates the internal control signals that perform the requested  
operations. The outputs of the control unit drive the execution unit, which contains the  
arithmetic logic unit (ALU), CPU registers, and bus interface.  
COP — See "computer operating properly module (COP)."  
counter clock — The input clock to the TIM counter. This clock is the output of the TIM  
prescaler.  
CPU — See “central processor unit (CPU).”  
CPU08 — The central processor unit of the M68HC08 Family.  
CPU clock — The CPU clock is derived from the CGMOUT output from the CGM. The CPU  
clock frequency is equal to the frequency of the oscillator output, CGMXCLK, divided by  
four.  
CPU cycles — A CPU cycle is one period of the internal bus clock, normally derived by dividing  
a crystal oscillator source by two or more so the high and low times will be equal. The  
length of time required to execute an instruction is measured in CPU clock cycles.  
MC68HC08AZ0  
MOTOROLA  
Glossary  
417  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
CPU registers — Memory locations that are wired directly into the CPU logic instead of being  
part of the addressable memory map. The CPU always has direct access to the  
information in these registers. The CPU registers in an M68HC08 are:  
• A (8-bit accumulator)  
• H:X (16-bit index register)  
• SP (16-bit stack pointer)  
• PC (16-bit program counter)  
• CCR (condition code register containing the V, H, I, N, Z, and C bits)  
CSIC — customer-specified integrated circuit  
cycle time — The period of the operating frequency: tCYC = 1/fOP.  
decimal number system — Base 10 numbering system that uses the digits zero through nine.  
direct memory access module (DMA) — A M68HC08 Family module that can perform data  
transfers between any two CPU-addressable locations without CPU intervention. For  
transmitting or receiving blocks of data to or from peripherals, DMA transfers are faster  
and more code-efficient than CPU interrupts.  
DMA — See "direct memory access module (DMA)."  
DMA service request — A signal from a peripheral to the DMA module that enables the DMA  
module to transfer data.  
duty cycle — A ratio of the amount of time the signal is on versus the time it is off. Duty cycle is  
usually represented by a percentage.  
EEPROM — Electrically erasable, programmable, read-only memory. A nonvolatile type of  
memory that can be electrically reprogrammed.  
EPROM — Erasable, programmable, read-only memory. A nonvolatile type of memory that can  
be erased by exposure to an ultraviolet light source and then reprogrammed.  
exception — An event such as an interrupt or a reset that stops the sequential execution of the  
instructions in the main program.  
MC68HC08AZ0  
418  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
external interrupt module (IRQ) — A module in the M68HC08 Family with both dedicated  
external interrupt pins and port pins that can be enabled as interrupt pins.  
fetch — To copy data from a memory location into the accumulator.  
firmware — Instructions and data programmed into nonvolatile memory.  
free-running counter — A device that counts from zero to a predetermined number, then rolls  
over to zero and begins counting again.  
full-duplex transmission — Communication on a channel in which data can be sent and  
received simultaneously.  
H — The upper byte of the 16-bit index register (H:X) in the CPU08.  
H — The half-carry bit in the condition code register of the CPU08. This bit indicates a carry from  
the low-order four bits of the accumulator value to the high-order four bits. The half-carry  
bit is required for binary-coded decimal arithmetic operations. The decimal adjust  
accumulator (DAA) instruction uses the state of the H and C bits to determine the  
appropriate correction factor.  
hexadecimal — Base 16 numbering system that uses the digits 0 through 9 and the letters A  
through F.  
high byte — The most significant eight bits of a word.  
illegal address — An address not within the memory map  
illegal opcode — A nonexistent opcode.  
I — The interrupt mask bit in the condition code register of the CPU08. When I is set, all interrupts  
are disabled.  
index register (H:X) — A 16-bit register in the CPU08. The upper byte of H:X is called H. The  
lower byte is called X. In the indexed addressing modes, the CPU uses the contents of  
H:X to determine the effective address of the operand. H:X can also serve as a temporary  
data storage location.  
input/output (I/O) — Input/output interfaces between a computer system and the external world.  
A CPU reads an input to sense the level of an external signal and writes to an output to  
change the level on an external signal.  
MC68HC08AZ0  
MOTOROLA  
Glossary  
419  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
instructions — Operations that a CPU can perform. Instructions are expressed by programmers  
as assembly language mnemonics. A CPU interprets an opcode and its associated  
operand(s) and instruction.  
interrupt — A temporary break in the sequential execution of a program to respond to signals  
from peripheral devices by executing a subroutine.  
interrupt request — A signal from a peripheral to the CPU intended to cause the CPU to  
execute a subroutine.  
I/O — See “input/output (I/0).”  
IRQ — See "external interrupt module (IRQ)."  
jitter — Short-term signal instability.  
latch — A circuit that retains the voltage level (logic 1 or logic 0) written to it for as long as power  
is applied to the circuit.  
latency — The time lag between instruction completion and data movement.  
least significant bit (LSB) — The rightmost digit of a binary number.  
logic 1 — A voltage level approximately equal to the input power voltage (VDD).  
logic 0 — A voltage level approximately equal to the ground voltage (VSS).  
low byte — The least significant eight bits of a word.  
low voltage inhibit module (LVI) — A module in the M68HC08 Family that monitors power  
supply voltage.  
LVI — See "low voltage inhibit module (LVI)."  
M68HC08 — A Motorola family of 8-bit MCUs.  
mark/space — The logic 1/logic 0 convention used in formatting data in serial communication.  
mask — 1. A logic circuit that forces a bit or group of bits to a desired state. 2. A photomask used  
in integrated circuit fabrication to transfer an image onto silicon.  
MC68HC08AZ0  
420  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
mask option — A optional microcontroller feature that the customer chooses to enable or  
disable.  
mask option register (MOR) — An EPROM location containing bits that enable or disable  
certain MCU features.  
MCU — Microcontroller unit. See “microcontroller.”  
memory location — Each M68HC08 memory location holds one byte of data and has a unique  
address. To store information in a memory location, the CPU places the address of the  
location on the address bus, the data information on the data bus, and asserts the write  
signal. To read information from a memory location, the CPU places the address of the  
location on the address bus and asserts the read signal. In response to the read signal,  
the selected memory location places its data onto the data bus.  
memory map — A pictorial representation of all memory locations in a computer system.  
microcontroller — Microcontroller unit (MCU). A complete computer system, including a CPU,  
memory, a clock oscillator, and input/output (I/O) on a single integrated circuit.  
modulo counter — A counter that can be programmed to count to any number from zero to its  
maximum possible modulus.  
monitor ROM — A section of ROM that can execute commands from a host computer for testing  
purposes.  
MOR — See "mask option register (MOR)."  
most significant bit (MSB) — The leftmost digit of a binary number.  
multiplexer — A device that can select one of a number of inputs and pass the logic level of that  
input on to the output.  
N — The negative bit in the condition code register of the CPU08. The CPU sets the negative bit  
when an arithmetic operation, logical operation, or data manipulation produces a negative  
result.  
nibble — A set of four bits (half of a byte).  
object code — The output from an assembler or compiler that is itself executable machine code,  
or is suitable for processing to produce executable machine code.  
MC68HC08AZ0  
MOTOROLA  
Glossary  
421  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
opcode — A binary code that instructs the CPU to perform an operation.  
open-drain — An output that has no pullup transistor. An external pullup device can be  
connected to the power supply to provide the logic 1 output voltage.  
operand — Data on which an operation is performed. Usually a statement consists of an  
operator and an operand. For example, the operator may be an add instruction, and the  
operand may be the quantity to be added.  
oscillator — A circuit that produces a constant frequency square wave that is used by the  
computer as a timing and sequencing reference.  
OTPROM — One-time programmable read-only memory. A nonvolatile type of memory that  
cannot be reprogrammed.  
overflow — A quantity that is too large to be contained in one byte or one word.  
page zero — The first 256 bytes of memory (addresses $0000–$00FF).  
parity — An error-checking scheme that counts the number of logic 1s in each byte transmitted.  
In a system that uses odd parity, every byte is expected to have an odd number of logic  
1s. In an even parity system, every byte should have an even number of logic 1s. In the  
transmitter, a parity generator appends an extra bit to each byte to make the number of  
logic 1s odd for odd parity or even for even parity. A parity checker in the receiver counts  
the number of logic 1s in each byte. The parity checker generates an error signal if it finds  
a byte with an incorrect number of logic 1s.  
PC — See “program counter (PC).”  
peripheral — A circuit not under direct CPU control.  
phase-locked loop (PLL) — A oscillator circuit in which the frequency of the oscillator is  
synchronized to a reference signal.  
PLL — See "phase-locked loop (PLL)."  
pointer — Pointer register. An index register is sometimes called a pointer register because its  
contents are used in the calculation of the address of an operand, and therefore points to  
the operand.  
polarity — The two opposite logic levels, logic 1 and logic 0, which correspond to two different  
voltage levels, VDD and VSS.  
polling — Periodically reading a status bit to monitor the condition of a peripheral device.  
MC68HC08AZ0  
422  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
port — A set of wires for communicating with off-chip devices.  
prescaler — A circuit that generates an output signal related to the input signal by a fractional  
scale factor such as 1/2, 1/8, 1/10 etc.  
program — A set of computer instructions that cause a computer to perform a desired operation  
or operations.  
program counter (PC) — A 16-bit register in the CPU08. The PC register holds the address of  
the next instruction or operand that the CPU will use.  
pull — An instruction that copies into the accumulator the contents of a stack RAM location. The  
stack RAM address is in the stack pointer.  
pullup — A transistor in the output of a logic gate that connects the output to the logic 1 voltage  
of the power supply.  
pulse-width — The amount of time a signal is on as opposed to being in its off state.  
pulse-width modulation (PWM) — Controlled variation (modulation) of the pulse width of a  
signal with a constant frequency.  
push — An instruction that copies the contents of the accumulator to the stack RAM. The stack  
RAM address is in the stack pointer.  
PWM period — The time required for one complete cycle of a PWM waveform.  
RAM — Random access memory. All RAM locations can be read or written by the CPU. The  
contents of a RAM memory location remain valid until the CPU writes a different value or  
until power is turned off.  
RC circuit — A circuit consisting of capacitors and resistors having a defined time constant.  
read — To copy the contents of a memory location to the accumulator.  
register — A circuit that stores a group of bits.  
reserved memory location — A memory location that is used only in special factory test modes.  
Writing to a reserved location has no effect. Reading a reserved location returns an  
unpredictable value.  
reset — To force a device to a known condition.  
MC68HC08AZ0  
MOTOROLA  
Glossary  
423  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
ROM — Read-only memory. A type of memory that can be read but cannot be changed (written).  
The contents of ROM must be specified before manufacturing the MCU.  
SCI — See "serial communication interface module (SCI)."  
serial — Pertaining to sequential transmission over a single line.  
serial communications interface module (SCI) — A module in the M68HC08 Family that  
supports asynchronous communication.  
serial peripheral interface module (SPI) — A module in the M68HC08 Family that supports  
synchronous communication.  
set — To change a bit from logic 0 to logic 1; opposite of clear.  
shift register — A chain of circuits that can retain the logic levels (logic 1 or logic 0) written to  
them and that can shift the logic levels to the right or left through adjacent circuits in the  
chain.  
signed — A binary number notation that accommodates both positive and negative numbers.  
The most significant bit is used to indicate whether the number is positive or negative,  
normally logic 0 for positive and logic 1 for negative. The other seven bits indicate the  
magnitude of the number.  
software — Instructions and data that control the operation of a microcontroller.  
software interrupt (SWI) — An instruction that causes an interrupt and its associated vector  
fetch.  
SPI — See "serial peripheral interface module (SPI)."  
stack — A portion of RAM reserved for storage of CPU register contents and subroutine return  
addresses.  
stack pointer (SP) — A 16-bit register in the CPU08 containing the address of the next available  
storage location on the stack.  
start bit — A bit that signals the beginning of an asynchronous serial transmission.  
status bit — A register bit that indicates the condition of a device.  
stop bit — A bit that signals the end of an asynchronous serial transmission.  
MC68HC08AZ0  
424  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
subroutine — A sequence of instructions to be used more than once in the course of a program.  
The last instruction in a subroutine is a return from subroutine (RTS) instruction. At each  
place in the main program where the subroutine instructions are needed, a jump or branch  
to subroutine (JSR or BSR) instruction is used to call the subroutine. The CPU leaves the  
flow of the main program to execute the instructions in the subroutine. When the RTS  
instruction is executed, the CPU returns to the main program where it left off.  
synchronous — Refers to logic circuits and operations that are synchronized by a common  
reference signal.  
TIM — See "timer interface module (TIM)."  
timer interface module (TIM) — A module used to relate events in a system to a point in time.  
timer — A module used to relate events in a system to a point in time.  
toggle — To change the state of an output from a logic 0 to a logic 1 or from a logic 1 to a logic 0.  
tracking mode — Mode of low-jitter PLL operation during which the PLL is locked on a  
frequency. Also see "acquisition mode."  
two’s complement — A means of performing binary subtraction using addition techniques. The  
most significant bit of a two’s complement number indicates the sign of the number (1  
indicates negative). The two’s complement negative of a number is obtained by inverting  
each bit in the number and then adding 1 to the result.  
unbuffered — Utilizes only one register for data; new data overwrites current data.  
unimplemented memory location — A memory location that is not used. Writing to an  
unimplemented location has no effect. Reading an unimplemented location returns an  
unpredictable value. Executing an opcode at an unimplemented location causes an illegal  
address reset.  
V —The overflow bit in the condition code register of the CPU08. The CPU08 sets the V bit when  
a two's complement overflow occurs. The signed branch instructions BGT, BGE, BLE,  
and BLT use the overflow bit.  
variable — A value that changes during the course of program execution.  
VCO — See "voltage-controlled oscillator."  
MC68HC08AZ0  
MOTOROLA  
Glossary  
425  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
vector — A memory location that contains the address of the beginning of a subroutine written  
to service an interrupt or reset.  
voltage-controlled oscillator (VCO) — A circuit that produces an oscillating output signal of a  
frequency that is controlled by a dc voltage applied to a control input.  
waveform — A graphical representation in which the amplitude of a wave is plotted against time.  
wired-OR — Connection of circuit outputs so that if any output is high, the connection point is  
high.  
word — A set of two bytes (16 bits).  
write — The transfer of a byte of data from the CPU to a memory location.  
X — The lower byte of the index register (H:X) in the CPU08.  
Z — The zero bit in the condition code register of the CPU08. The CPU08 sets the zero bit when  
an arithmetic operation, logical operation, or data manipulation produces a result of $00.  
MC68HC08AZ0  
426  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
Index  
A
SBFCR . . . . . . . . . . . . . . . . . . . . . . . .106  
accumulator (A). . . . . . . . . . . . . . . . . . . . . .69 BCFE bit (break clear flag enable bit). . . 106,  
ACK1 bit (IRQ interrupt request acknowledge  
bit). . . . . . . . . . . . . . . . . .172, 175177 BCS  
ACKK  
176, 198  
PCTL . . . . . . . . . . . . . . . . . . . . . . . . . .122  
Keyboard acknowledge bit. . . . . . . . . .324 BIH instruction. . . . . . . . . . . . . . . . . . . . . .175  
ACQ  
BIL instruction . . . . . . . . . . . . . . . . . . . . . .175  
PBWC . . . . . . . . . . . . . . . . . . . . . . . . .124 BKF bit (SCI break flag bit) . . . . . . . . . . . .212  
ADC  
analog ground pin (AVSS/VREFL). . . .312 block diagram  
analog power pin (VDDAREF). . . . . . .312 CGM . . . . . . . . . . . . . . . . . . . . . . . . . .110  
BKPT signal . . . . . . . . . . . . . . . . . . . . . . .140  
continuous conversion . . . . . . . . . . . . .311 break character. . . . . . . . . . . . . . . . .186, 209  
conversion time . . . . . . . . . . . . . . . . . .310 break interrupt. . . . . . . . . . . . . . . . . . . .96, 99  
interrupts . . . . . . . . . . . . . . . . . . . . . . .311  
port I/O pins . . . . . . . . . . . . . . . . . . . . .310  
voltage conversion. . . . . . . . . . . . . . . .310  
voltage in (ADVIN) . . . . . . . . . . . . . . . .312  
voltage reference pin (VREFH) . . . . . .312  
ADC characteristics. . . . . . . . . . . . . . . . . .402  
ADC clock register (ADCLKR). . . . . . . . . .316  
ADC data register (ADR). . . . . . . . . . . . . .316  
ADC status and control register (ADSCR) 313  
ADCO - ADC  
causes . . . . . . . . . . . . . . . . . . . . . . . . .140  
during wait mode . . . . . . . . . . . . . . . . .101  
effects on COP . . . . . . . . . . . . . .142, 164  
effects on CPU . . . . . . . . . . . . . . .74, 142  
effects on DMA . . . . . . . . . . . . . . . . . .142  
effects on PIT . . . . . . . . . . . . . . . . . . .302  
effects on SPI . . . . . . . . . . . . . . . . . . .239  
effects on TIM . . . . . . . . . . . . . . .142, 288  
effects on TIMA . . . . . . . . . . . . . . . . . .264  
flag protection during. . . . . . . . . . . . . .100  
continuous conversion . . . . . . . . . . . . .314 break module  
ADICLK break address registers (BRKH/L). . . 140,  
ADC input clock select. . . . . . . . . . . . .317  
AIEN - ADC  
interrupt enable . . . . . . . . . . . . . . . . . .314  
142143  
break status and control register (BRK-  
SCR). . . . . . . . . . . . . . . . .140, 143  
arithmetic/logic unit (ALU) . . . . . . . . . . . . . .73 break signal. . . . . . . . . . . . . . . . . . . . . . . .152  
AUTO BRKA bit (break active bit) . . . . . . . .140, 143  
PBWC . . . . . . . . . . . . . . . . . . . . . . . . .123 BRKE bit (break enable bit) . . . . . . . . . . .143  
bus frequency . . . . . . . . . . . . . . . . . . . . . . .68  
B
bus timing . . . . . . . . . . . . . . . . . . . . . . . . . .89  
baud rate  
SCI module . . . . . . . . . . . . . . . . . . . . .214  
BCFE  
C
C bit  
MC68HC08AZ0  
MOTOROLA  
Index  
427  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
CCR . . . . . . . . . . . . . . . . . . . . . . . . . . . .73  
CCR  
Conversions complete/interrupt DMA se-  
lect . . . . . . . . . . . . . . . . . . . . . .313  
C bit (carry/borrow flag) . . . . . . . . . . . . .73 condition code register (CCR). . . . . . .71, 173  
H bit (half-carry flag) . . . . . . . . . . . . . . .72 control timing. . . . . . . . . . . . . . . . . . . . . . .401  
I bit (interrupt mask). . . . . . . . . . . . . . . .72 COP bit (computer operating properly reset  
N bit (negative flag) . . . . . . . . . . . . . . . .73  
bit) . . . . . . . . . . . . . . . . . . . . . . . . .161  
V bit (overflow flag) . . . . . . . . . . . . . . . .72 COP control register (COPCTL) . . . .162163  
Z bit (zero flag). . . . . . . . . . . . . . . . . . . .73 COP counter . . . . . . . . . . . . . . .159, 161164  
CGM  
base clock output (CGMOUT) . . . . . . .119 COPD  
clock signals. . . . . . . . . . . . . . . . . . . . . .88 MORA . . . . . . . . . . . . . . . . . . . . . . . . .138  
CPU interrupt (CGMINT) . . . . . . . . . . .119 COPRS  
COP timeout period . . . . . . . . . . . . .161, 164  
crystal oscillator circuit. . . . . . . . . . . . .111  
MORA . . . . . . . . . . . . . . . . . . . . . . . . .137  
external connections . . . . . . . . . . . . . .117 CPHA bit (SPI clock phase bit) .226, 241, 244  
interrupts . . . . . . . . . . . . . . . . . . . . . . .127 CPOL bit (SPI clock polarity bit) . . . . . . . .244  
phase-locked loop (PLL) circuit . . . . . .111 CPU interrupt  
PLL bandwidth control register (PBWC). . .  
113, 123  
software. . . . . . . . . . . . . . . . . . . . .74, 150  
CPU interrupt requests  
PLL control register (PCTL) . . . . . . . . .121  
SCI. . . . . . . . . . . . . . . .185, 194, 197, 208  
PLL programming register (PPG) . . . .125 CPU interrupts  
CGM acquisition/lock time information . . .407  
CGM component information . . . . . . . . . .406  
CGM operating conditions. . . . . . . . . . . . .406  
CGMRCLK signal . . . . . . . . . . . . . . . . . . .111  
CGMRDV signal . . . . . . . . . . . . . . . . . . . .112  
CGMVDV signal . . . . . . . . . . . . . . . . . . . .112  
CGMXCLK signal . . . . . . . . . . . . . . .161162  
duty cycle. . . . . . . . . . . . . . . . . . . . . . .119  
hardware . . . . . . . . . . . . . . . . . . . . .96, 98  
PLL . . . . . . . . . . . . . . . . . . . . . . . . . . .113  
software. . . . . . . . . . . . . . . . . . .96, 9899  
SPI. . . . . . . . . . . . . . . . . . . .235, 238, 246  
TIM . . . . . . . . . . . . . . . . . . . . . . . . . . .271  
TIM input capture. . . . . . . . . . . . . . . . .256  
TIM output compare . . . . . . . . . . . . . .256  
TIMA overflow . . . . . . . . . . . . . . . . . . .263  
CGMXFC pin. . . . . . . . . . . . . . . . . . . . . . . .15 CPU registers  
CGND/EV pin . . . . . . . . . . . . . . . . . . . . .242  
CHxF bits (TIM channel interrupt flag bits). . . .  
271, 295  
CHxIE bits (TIM channel interrupt enable bits)  
271, 295  
H register. . . . . . . . . . . . . . . . . . . . . . . .35  
stack pointer . . . . . . . . . . . . . . . . . . . . .35  
crosstalk . . . . . . . . . . . . . . . . . . . . . . . . . .117  
crystal . . . . . . . . . . . . . . . . . . . . . . . .161162  
crystal amplifier input pin  
ss  
CHxMAX bits (TIM maximum duty cycle bits) .  
274, 297  
(OSC1) . . . . . . . . . . . . . . . . . . . . . . . .118  
crystal amplifier output pin  
CLI instruction . . . . . . . . . . . . . . . . . . . . . . .72  
(OSC2) . . . . . . . . . . . . . . . . . . . . . . . .118  
clock generator module (CGM) . . . . .108134 crystal output frequency signal (CGMXCLK) .  
block diagram. . . . . . . . . . . . . . . . . . . .110 119  
clock start-up  
from POR. . . . . . . . . . . . . . . . . . . . . . . .89  
clock start-up from LVI reset . . . . . . . . . . . .89 DC electrical characteristics . . . . . . . . . . .400  
D
COCO/IDMAS  
DMA service requests  
MC68HC08AZ0  
428  
Index  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
SCI. . . . . . . . . . . . . . . . . . . .185, 203, 208 flag protection in break mode . . . . . . . . . .100  
SPI . . . . . . . . . . . . . . . . . . . . . . . .235, 246 fNOM (nominal center-of-range frequency) .112  
DMARE bit (SCI DMA receive enable bit)194,  
206, 209  
f
(PLL reference clock frequency). . . . .115  
rclk  
fRCLK (PLL reference clock frequency). . . .112  
DMATE bit (SCI DMA transfer enable bit)187, fRDV (PLL final reference frequency) . . . . .112  
207208  
functional operating range . . . . . . . . . . . .399  
fVCLK (VCO output frequency) . . . . . . . . . .112  
fVRS (VCO programmed center-of-range fre-  
quency) . . . . . . . . . . . . .112, 115, 126  
E
EEACR  
EEPROM array configuration register . .64  
EECR  
EEPROM control register. . . . . . . . . . . .62 H bit  
EENVR  
H
CCR. . . . . . . . . . . . . . . . . . . . . . . . . . . .72  
EEPROM non-volatile register. . . . . . . .64  
EEPROM. . . . . . . . . . . . . . . . . . . . . . . .5665  
block protection . . . . . . . . . . . . . . . . . . .60 I bit  
configuration . . . . . . . . . . . . . . . . . . . . .60  
I
CCR. . . . . . . . . . . . . . . . . . . . . . . . . . . .72  
EEACR. . . . . . . . . . . . . . . . . . . . . . . . . .64 I bit (interrupt mask) . . . . . . . . . . . . .173, 177  
EECR. . . . . . . . . . . . . . . . . . . . . . . . . . .62 I/O port register summary . . . . . . . . . . . . .328  
EENVR. . . . . . . . . . . . . . . . . . . . . . . . . .64 I/O registers  
erasing . . . . . . . . . . . . . . . . . . . . . . . . . .58  
locations . . . . . . . . . . . . . . . . . . . . . . . .24  
programming . . . . . . . . . . . . . . . . . . . . .57 IAB (internal address bus) . . . . . . . . . . . .140  
size. . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 IBUS . . . . . . . . . . . . . . . . . . . . . . . . . . .89, 95  
EESEC  
IDLE bit (SCI receiver idle bit). . . . . .194, 209  
MORB . . . . . . . . . . . . . . . . . . . . . . . . .138 idle character . . . . . . . . . . . . . . . . . . . . . .187  
electrostatic damage . . . . . . . . . . . . . . . . .328 ILAD  
ELSxA/B bits (TIM edge/level select bits) 272,  
296  
ENSCI bit (enable SCI bit). . . . . . . . .185, 200  
SRSR. . . . . . . . . . . . . . . . . . . . . . . . . .106  
ILIE bit (SCI idle line interrupt enable bit) 194,  
204  
EPROM/OTPROM security. . . . . . . . . . . .137 ILOP  
external crystal . . . . . . . . . . . . . . . . . . . . .103  
SRSR. . . . . . . . . . . . . . . . . . . . . . . . . .106  
external filter capacitor . . . . . . . . . . .118, 131 ILOP bit (illegal opcode reset bit) . . . . . . .106  
external filter capacitor pin (CGMXFC) . . .118 ILTY bit (SCI idle line type bit) . . . . . . . . .201  
external pin reset. . . . . . . . . . . . . . . . . . . . .90 IMASK1 bit (IRQ interrupt mask bit) .173, 177  
IMASKK  
F
Keyboard interrupt mask bit. . . . . . . . .324  
fBUS (bus frequency). . . . . . . . . . . . . . . . . .115 index register (H:X). . . . . . . . . . . . . . . .70, 98  
FE bit (SCI framing error bit) . . . . . . . . . . .195 input capture . . . . . . . . . . . . . . .256, 281, 298  
FE bit (SCI receiver framing error bit) . . . .211 interrupt  
FEIE bit (SCI framing error interrupt enable bit)  
195  
FEIE bit (SCI receiver framing error interrupt  
external interrupt pin (IRQ) . . . . . . . . . .15  
interrupt status and control register (ISCR) . .  
172  
enable bit). . . . . . . . . . . . . . . . . . . .207 interrupts  
MC68HC08AZ0  
429  
MOTOROLA  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
ADC . . . . . . . . . . . . . . . . . . . . . . . . . . .311  
CGM. . . . . . . . . . . . . . . . . . . . . . . . . . .127 M bit (SCI mode (character length) bit). . 184,  
msCAN08. . . . . . . . . . . . . . . . . . . . . . .361 186, 200  
IRQ latch . . . . . . . . . . . . . . . . . . . . . . . . . .172 mask option  
M
IRQ pin . . . . . . . . . . . . . . . . . . . . . . . . . . .171  
IRQ status and control register (ISCR) . . .176  
register A (MORA). . . . . . . . . . . . . . . .136  
register B (MORB). . . . . . . . . . . . . . . .138  
IRQ/VPP pin . . . . . . . . . . . . . . . . .15, 171, 175 mask option register (MOR) . . . . . . .164, 167  
triggering sensitivity . . . . . . . . . . . . . . .172 maximum ratings. . . . . . . . . . . . . . . . . . . .398  
IRQ1/VPP pin . . . . . . . . . . . . . . . . . . . . . . .163 memory characterisitcs. . . . . . . . . . . . . . .408  
IRST signal . . . . . . . . . . . . . . . . . . . . . . . . .90 memory map  
msCAN08 . . . . . . . . . . . . . . . . . . . . . .374  
K
MODE1 bit (IRQ edge/level select bit) . . 172,  
175, 177  
KB  
I/O register summary . . . . . . . . . . . . . .321 MODEK  
KBIE4-KBIE0 Keyboard triggering sensitivity bit . . . .324  
Keyboard interrupt enable bits. . . . . . .324 MODF bit (SPI mode fault bit). . . . . . . . . .247  
keyboard interrupt control register (KBICR). . .  
monitor commands  
323  
IREAD . . . . . . . . . . . . . . . . . . . . . . . . .154  
IWRITE . . . . . . . . . . . . . . . . . . . . . . . .154  
READ. . . . . . . . . . . . . . . . . . . . . . . . . .153  
READSP . . . . . . . . . . . . . . . . . . . . . . .155  
RUN. . . . . . . . . . . . . . . . . . . . . . . . . . .155  
WRITE. . . . . . . . . . . . . . . . . . . . . . . . .153  
monitor mode . . . . . . . . . . . . . . . . . .142, 163  
alternate vector addresses . . . . . . . . .150  
baud rate . . . . . . . . . . . . . . . . . . . . . . .148  
commands. . . . . . . . . . . . . . . . . . . . . .148  
echoing . . . . . . . . . . . . . . . . . . . . . . . .152  
EPROM/OTPROM programming . . . .148  
monitor ROM  
Keyboard interrupt enable register (KBIER) . .  
324  
KEYF  
Keyboard flag bit . . . . . . . . . . . . . . . . .323  
L
L (VCO linear range multiplier) . . . . . . . . .115  
literature distribution centers . . . . . . . . . . .437  
LOCK  
PBWC . . . . . . . . . . . . . . . . . . . . . . . . .123  
LOOPS bit (SCI loop mode select bit). . . .200  
LVI  
SRSR. . . . . . . . . . . . . . . . . . . . . . . . . .106  
size . . . . . . . . . . . . . . . . . . . . . . . . . . . .23  
LVI module . . . . . . . . . . . . . . . . . . . . . . . .169 MORA  
LVI status register (LVISR) . . . . . . . .166, 168  
LVI trip voltage . . . . . . . . . . . . . . . . . . . . .165  
LVIOUT bit (LVI output bit) . . . . . . . .166, 168  
LVIPWR  
MORA . . . . . . . . . . . . . . . . . . . . . . . . .137  
LVIPWR bit (LVI power enable bit) . . . . . .169  
LVIRST  
COP disable bit (COPD) . . . . . . . . . . .138  
COP rate select (COPRS). . . . . . . . . .137  
LVI power enable bit (LVIPWR). . . . . .137  
LVI reset enable bit (LVIRST) . . . . . . .137  
ROM security bit (SEC) . . . . . . . .136137  
short stop recovery bit (SSREC) . . . . .137  
STOP enable bit (STOP). . . . . . . . . . .138  
MORA . . . . . . . . . . . . . . . . . . . . . . . . .137 MORB  
LVIRST bit ( LVI reset bit) . . . . . . . . . . . . .166  
EEPROM security enable bit (EESEC)138  
LVIRST bit (LVI reset enable bit). . . . . . . .169 msCAN08  
bus timing register 0 (CBTR0). . . . . . .384  
MC68HC08AZ0  
430  
Index  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
bus timing register 1 (CBTR1) . . . . . . .385  
clock system . . . . . . . . . . . . . . . . . . . .371 NEIE bit (SCI receiver noise error interrupt en-  
control register structure . . . . . . . . . . .380 able bit) . . . . . . . . . . . . . . . . . . . . .207  
194, 210  
CPU WAIT mode . . . . . . . . . . . . . . . . .370 NF bit (SCI noise flag bit) . . . . . . . . .194, 210  
Data length register (DLR). . . . . . . . . .378  
Data segment registers (DSRn). . . . . .378  
O
external pins. . . . . . . . . . . . . . . . . . . . .354 OR bit (SCI receiver overrun bit). . . .194, 210  
Identifier Acceptance Control Register (CI- ordering information  
DAC) . . . . . . . . . . . . . . . . . . . . .392  
identifier acceptance filter . . . . . . . . . .360  
Identifier Acceptance Registers  
literature distribution centers . . . . . . . .437  
Mfax. . . . . . . . . . . . . . . . . . . . . . . . . . .438  
Web server . . . . . . . . . . . . . . . . . . . . .438  
Web site. . . . . . . . . . . . . . . . . . . . . . . .438  
(CIDAR0-3) . . . . . . . . . . . . . . . .394  
Identifier Mask Registers (CIDMR0-3).395 ORIE bit (SCI overrun interrupt enable bit). . .  
identifier registers (IDRn). . . . . . . . . . .376 194  
internal sleep mode . . . . . . . . . . . . . . .368 ORIE bit (SCI receiver overrun interrupt en-  
interrupt acknowledge . . . . . . . . . . . . .364 able bit) . . . . . . . . . . . . . . . . . . . . .207  
interrupt vectors . . . . . . . . . . . . . . . . . .364 OSC1 pin . . . . . . . . . . . . . . . . . . . . . .14, 118  
interrupts . . . . . . . . . . . . . . . . . . . . . . .361 OSC2 pin . . . . . . . . . . . . . . . . . . . . . . . . . .14  
memory map . . . . . . . . . . . . . . . . . . . .374 oscillator . . . . . . . . . . . . . . . . . . . . . . . . . .162  
message buffer organization . . . . . . . .358 oscillator enable signal (SIMOSCEN). . . .119  
message buffer outline. . . . . . . . . . . . .375 oscillator pins  
message storage . . . . . . . . . . . . . . . . .355 OSC1. . . . . . . . . . . . . . . . . . . . . . . . . . .14  
module control register (CMCR0) . . . .381 output compare. . . . . . . . . . . . .256, 281, 298  
module control register (CMCR1) . . . .383  
programmable wake-up function . . . . .370  
buffered . . . . . . . . . . . . . . . . . . . .257, 282  
unbuffered . . . . . . . . . . . . . . . . . .256, 281  
Receive Error Counter (CRXERR). . . .393 OVRF bit (SPI overflow bit). . . . . . . . . . . .247  
receive structures. . . . . . . . . . . . . . . . .356  
receiver flag register (CRFLG). . . . . . .386  
receiver interrupt enable register (CRIER).  
389  
P
page zero . . . . . . . . . . . . . . . . . . . . . . . . . .71  
parity  
Transmit buffer priority registers (TBPR) . .  
379  
SCI module . . . . . . . . . . . . . . . . .195, 199  
PBWC  
Transmit Error Counter (CTXERR) . . .394  
transmit structures . . . . . . . . . . . . . . . .359  
Transmitter Control Register (CTCR) .391  
Transmitter Flag Register (CTFLG) . . .390  
MSxA/B bits (TIM mode select bits) 272,274,  
295, 298  
acquisition mode bit (ACQ) . . . . . . . . .124  
automatic bandwidth control bit (AUTO) . .  
123  
crystal loss detect bit (XLD). . . . . . . . .124  
lock indicator bit (LOCK) . . . . . . . . . . .123  
PCTL  
base clock select bit (BCS) . . . . . . . . .122  
PLL interrupt enable bit (PLLIE) . . . . .121  
PLL interrupt flag bit (PLLF)  
PLLF  
N
N bit  
CCR . . . . . . . . . . . . . . . . . . . . . . . . . . . .73  
NEIE bit (SCI noise error interrupt enable bit).  
PCTL121  
MC68HC08AZ0  
431  
MOTOROLA  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
PLL on bit (PLLON) . . . . . . . . . . . . . . .122  
PE bit (SCI parity error bit) . . . . . . . . . . . .195  
pin functions . . . . . . . . . . . . . . . . . . . .333  
port B data register (PTB) . . . . . . . . . .331  
PE bit (SCI receiver parity error bit) . . . . .211 port C . . . . . . . . . . . . . . . . . . . . .16, 334336  
PEIE bit (SCI parity error interrupt enable bit).  
195  
PEIE bit (SCI receiver parity error interrupt en-  
able bit). . . . . . . . . . . . . . . . . . . . . .207  
data direction register C (DDRC). . . . .335  
I/O circuit . . . . . . . . . . . . . . . . . . . . . . .336  
pin functions . . . . . . . . . . . . . . . . . . . .336  
port C data register (PTC) . . . . . . . . . .334  
PEN bit (SCI parity enable bit) . . . . . . . . .201 port D . . . . . . . . . . . . . . . . . . . . .16, 337338  
phase-locked loop (PLL) . . . . . . . . . .111117  
acquisition mode . . . . . . . . .111, 113, 130  
acquisition time . . . . . . . . . . . . . . . . . .130  
automatic bandwidth mode . . . . . . . . .113  
data direction register D (DDRD). . . . .338  
I/O circuit . . . . . . . . . . . . . . . . . . . . . . .339  
pin functions . . . . . . . . . . . . . . . . . . . .339  
port D data register (PTD) . . . . . . . . . .337  
lock detector. . . . . . . . . . . . . . . . . . . . .112 port E . . . . . . . . . . . . . . . . . . . . .16, 340342  
loop filter . . . . . . . . . . . . . . . . . . . . . . .112  
manual bandwidth mode . . . . . . . . . . .123  
phase detector. . . . . . . . . . . . . . . . . . .112  
programming . . . . . . . . . . . . . . . . . . . .115  
data direction register E (DDRE). . . . .342  
I/O circuit . . . . . . . . . . . . . . . . . . . . . . .343  
pin functions . . . . . . . . . . . . . . . . . . . .343  
port E data register (PTE) . . . . . . . . . .340  
tracking mode . . . . . . . . . . . . . . .111, 113 port F. . . . . . . . . . . . . . . . . . . . . .16, 344346  
voltage-controlled oscillator (VCO) . . .113  
PIE bit (PIT overflow interrupt enable bit) .304  
PIN  
SRSR. . . . . . . . . . . . . . . . . . . . . . . . . .106  
PIN bit  
set timing . . . . . . . . . . . . . . . . . . . . . . . .90  
PIN bit (external reset bit) . . . . . . . . . . . . .106  
PIT counter . . . . . . . . . . . . . . . . . . . .300, 302  
data direction register F (DDRF) . . . . .345  
I/O circuit . . . . . . . . . . . . . . . . . . . . . . .346  
pin functions . . . . . . . . . . . . . . . . . . . .346  
port F data register (PTF) . . . . . . . . . .344  
port G . . . . . . . . . . . . . . . . . . . . .16, 347, 349  
data direction register G (DDRG) . . . .347  
I/O circuit . . . . . . . . . . . . . . . . . . . . . . .348  
port G data register (PTG). . . . . . . . . .347  
PLL analog power pin (VDDA). . . . . . . . . . .119 port H . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17  
PLLIE  
PCTL . . . . . . . . . . . . . . . . . . . . . . . . . .121  
PLLON  
data direction register H (DDRH). . . . .349  
I/O circuit . . . . . . . . . . . . . . . . . . . . . . .350  
port H data register (PTH) . . . . . . . . . .349  
PCTL . . . . . . . . . . . . . . . . . . . . . . . . . .122 power supply  
POF bit (PIT overflow flag bit) . . . . . . . . . .304  
POR  
bypassing . . . . . . . . . . . . . . . . . . . . . . .14  
pins . . . . . . . . . . . . . . . . . . . . . . . . . . . .14  
SRSR. . . . . . . . . . . . . . . . . . . . . . . . . .105 PPG  
PORRST signal. . . . . . . . . . . . . . . . . . . . . .95  
port A. . . . . . . . . . . . . . . . . . . . . .15, 329330  
multiplier select bits (MUL[7:4]) . . . . . .125  
VCO range select bits (VRS[7:4]) . . . .126  
data direction register A (DDRA) . . . . .329 program counter (PC) . . . . . . . . .71, 142, 175  
I/O Circuit. . . . . . . . . . . . . . . . . . . . . . .330 programmable interrupt timer  
pin functions. . . . . . . . . . . . . . . . . . . . .330 status and control register (PSC) . . . .303  
port A data register (PTA) . . . . . . . . . .329 programmable interrupt timer (PIT)  
port B. . . . . . . . . . . . . . . . . . . . . .16, 331333  
data direction register B (DDRB) . . . . .332  
counter modulo registers (PMODH/L) .306  
counter registers (PCNTH:PCNTL) . . .305  
I/O circuit . . . . . . . . . . . . . . . . . . . . . . .332 protocol violation protection . . . . . . . . . . .366  
MC68HC08AZ0  
432  
Index  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
PRST bit (PIT reset bit) . . . . . . . . . . . . . . .304  
bits) . . . . . . . . . . . . . . . . . . . . . . . .213  
PS[2:0] bits (TIM prescaler select bits) . . 253, SCRF bit (SCI receiver full bit) . . . . . . . . .209  
268, 292  
SCRIE bit (SCI receiver interrupt enable bit) .  
PSHH instruction. . . . . . . . . . . . . . . . . . . . .72  
194, 209  
PSTOP bit (PIT stop bit) . . . . . . . . . . . . . .304 SCTE bit (SCI transmitter empty bit)185,187,  
PTY bit (SCI parity bit). . . . . . . . . . . . . . . .201 200, 203, 208  
PULH instruction . . . . . . . . . . . . . . . . . . . . .72 SCTIE bit (SCI transmitter interrupt enable bit)  
pulse-width modulation (PWM) . . . . . . . . .282 185, 187, 203, 208  
duty cycle. . .259, 262, 274, 283, 286, 297 serial communications interface module (SCI)  
initialization . . . . . . . . . . . . . . . . .261, 285  
baud rate . . . . . . . . . . . . . . . . . . . . . . .180  
baud rate register (SCBR). . . . . . . . . .213  
character format . . . . . . . . . . . . . . . . .202  
control register 1 (SCC1). . .184186, 199  
control register 2 (SCC2). . 185186,202,  
208  
R
R8 bit (SCI received bit 8) . . . . . . . . . . . . .206  
RAM . . . . . . . . . . . . . . . . . . . . . . . . . . .3536  
size. . . . . . . . . . . . . . . . . . . . . . . . . .10, 23  
stack RAM . . . . . . . . . . . . . . . . . . . . . . .71  
RE bit (SCI receiver enable bit). . . . . . . . .204  
reset  
COP . . . . . . . . . . . . . . . . . . . .93, 159, 164  
external . . . . . . . . . . . . . . . . . . . . . . . . .91  
external reset pin (RST). . . . . . . . . . . . .14  
illegal address . . . . . . . . . . . . . . . .94, 106  
illegal opcode. . . . . . . . . . . . . . . . .94, 106  
internal . . . . . . . . . . . . . . . . . . . . . . . . .162  
low-voltage inhibit (LVI) . . . . . . . . . . . . .94  
power-on . . . . . . . . . . . . . . . . . . . .92, 162  
RPF bit (SCI reception in progress flag bit) . . .  
212  
control register 3 (SCC3). . 184, 187, 194,  
205, 208  
data register (SCDR). . . . . .185, 209, 213  
error conditions . . . . . . . . . . . . . . . . . .194  
framing error . . . . . . . . . . . . . . . .193, 211  
I/O pins . . . . . . . . . . . . . . . . . . . . . . . .198  
noise error . . . . . . . . . . . . . . . . . . . . . .210  
overrun error . . . . . . . . . . . . . . . . . . . .207  
parity error . . . . . . . . . . . . . . . . . . . . . .195  
status register 1 (SCS1) . . . . . . .185, 208  
status register 2 (SCS2) . . . . . . . . . . .212  
serial peripheral interface module (SPI)  
baud rate . . . . . . . . . . . . . . . . . . . . . . .246  
control register (SPCR) . . . . . . . . . . . .243  
data register (SPDR) . . . . . . . . . . . . . .249  
I/O pins . . . . . . . . . . . . . . . . . . . . . . . .240  
in stop mode . . . . . . . . . . . . . . . . . . . .238  
mode fault error . . . . . . . . . . . . . . . . . .247  
overflow error. . . . . . . . . . . . . . . . . . . .247  
slave select pin . . . . . . . . . . . . . . . . . .246  
status and control register (SPSCR) . .246  
RST pin . . . . . . . . . . . . . . . . . . . . . . . . . . .161  
during POR timeout . . . . . . . . . . . . . . . .89  
RTI instruction . . . . . . . . . . . . . . . .72, 74, 140  
RWU bit (SCI receiver wake-up bit) . . . . .205  
S
SBFCR  
break clear flag enable bit (BCFE). . . .106  
SBK bit (SCI send break bit) . . . . . . .186, 205 SIM counter  
SBSR power-on reset. . . . . . . . . . . . . . . . . . . .95  
SIM break STOP/WAIT statur bit (SBSW).  
104  
reset states . . . . . . . . . . . . . . . . . . . . . .95  
stop mode recovery. . . . . . . . . . . . . . . .95  
SIMOSCEN signal . . . . . . . . . . . . . . . . . .111  
SBSW  
SBSR . . . . . . . . . . . . . . . . . . . . . . . . . .104 SPE bit (SPI enable bit) . . . . . . . . . . . . . .245  
SCP1–SCP0 bits (SCI baud rate prescaler  
SPI timing . . . . . . . . . . . . . . . . . . . . . . . . .403  
MC68HC08AZ0  
MOTOROLA  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
433  
Freescale Semiconductor, Inc.  
Index  
SPMSTR bit (SPI master mode bit). .240, 244  
SPR1[1:0] bits (SPI baud rate select bits).248  
SPRF bit (SPI receiver full bit). . . . . . . . . .246  
SPRIE bit (SPI receiver interrupt enable bit) . .  
243  
WAIT mode . . . . . . . . . . . . . . . . . . . . .101  
T
T8 bit (SCI transmitted bit 8). . . . . . . . . . .206  
T8 bit (transmitted SCI bit 8). . . . . . . . . . .184  
SPTE bit (SPI transmitter empty bit) . . . . .247 TCIE bit (SCI transmission complete interrupt  
SPTIE bit (SPI transmitter interrupt enable bit)  
245  
enable bit) . . . . . . . . . . . . . . .203, 209  
TE bit (SCI transmitter enable bit). . . . . . .204  
SPWOM bit (SPI wired-OR mode bit)240, 244 TE bit (transmitter enable bit) . . . . . . . . . .185  
SRSR  
computer operating properly reset bit  
thermal characteristics . . . . . . . . . . . . . . .399  
TIMA counter . . . . . . . . . . . . . . . . . . . . . .264  
(COP) . . . . . . . . . . . . . . . . . . . .106 timer interface module (TIM). . . . . . .277298  
external reset bit (PIN). . . . . . . . . . . . .106  
illegal address reset bit (ILAD). . . . . . .106  
channel registers (TCH0H/L–TCH3H/L) . .  
298  
illegal opcode reset bit (ILOP) . . . . . . .106 timer interface module (TIMA)  
low-voltage inhibit reset bit (LVI) . . . . .106  
power-on reset bit (POR). . . . . . . . . . .105  
channel registers (TACH0H/L–TACH3H/L)  
274  
SSREC  
channel status and control registers  
(TASC0–TASC3) . . . . . . . . . . .270  
clock input pin (PTD3/TACLK). . . . . . .265  
counter modulo registers  
(TAMODH:TAMODL) . . . . . . . .269  
counter registers (TACNTH/L). . .268269  
prescaler . . . . . . . . . . . . . . . . . . . . . . .253  
status and control register (TASC) . . .266  
MORA . . . . . . . . . . . . . . . . . . . . . . . . .137  
stack pointer . . . . . . . . . . . . . . . . . . . . . . . .35  
stack pointer (SP) . . . . . . . . . . . . . . . . . . . .70  
stack RAM. . . . . . . . . . . . . . . . . . . . . . .35, 71  
start bit. . . . . . . . . . . . . . . . . . . . . . . .152, 185  
SCI data. . . . . . . . . . . . . . . . . . . . . . . .201  
stop bit. . . . . . . . . . . . . . . . . . . . . . . . . . . .185  
SCI data. . . . . . . . . . . . . . . . . . . .195, 200 timer interface module (TIMB)  
STOP bit (STOP enable bit) . . . . . . . . . . .164  
STOP instruction . . . 103, 128, 145, 162, 164,  
169, 197, 238, 301  
STOP mode. . . . . . . . . . . . . . . . . . . . . . . .311  
entry timing . . . . . . . . . . . . . . . . . . . . .103  
recovery from interrupt break. . . . . . . .103  
stop mode . . . . . . . . .145, 161, 169, 212, 301  
recovery time . . . . . . . . . . . . . . . . . . . . .89  
SWI instruction . . . . . . . . . . .74, 98, 142, 150  
system inegration module (SIM)  
channel registers (TBCH0H/L–TBCH3H/L)  
298  
channel status and control registers  
(TBSC0–TBSC1) . . . . . . . . . . .294  
clock input pin (PTD3/TBCLK). . . . . . .289  
clock input pin (PTD4/TBCLK). . . . . . .279  
counter modulo registers (TBMODH/L). . .  
293  
counter modulo registers (TBMODH:TB-  
MODL) . . . . . . . . . . . . . . . . . . .293  
counter registers (TBCNTH/L). . .292293  
counter registers (TBCNTH:TBCNTL).292  
status and control register (TBSC). . . . . . .  
290291  
STOP mode . . . . . . . . . . . . . . . . . . . . .102  
system integration module (SIM). . . . .86106  
break flag control register (SBFCR). . .106  
break status register (SBSR) . . . . . . . .104  
exception control . . . . . . . . . . . . . . . . . .96 timer module characteristics . . . . . . . . . . .408  
reset status register (SRSR) . . . .105, 161 TOF bit (TIM overflow flag bit) . . . . .267, 291  
SIM counter . . . . . . . . . . . . . .95, 161162 TOIE bit (TIM overflow interrupt enable bit) . .  
MC68HC08AZ0  
434  
Index  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
267, 291  
TOVx bits (TIM toggle on overflow bits) . 273,  
297  
TRST bit (TIM reset bit). . . . . . .267, 272, 292  
TSTOP bit (TIM stop bit) . . . . . .267, 272, 291  
TXINV bit. . . . . . . . . . . . . . . . . . . . . . . . . .200  
TXINV bit (SCI transmit inversion bit)187, 200  
U
user vectors  
addresses . . . . . . . . . . . . . . . . . . . . . . .32  
V
V bit  
CCR . . . . . . . . . . . . . . . . . . . . . . . . . . . .72  
VDD pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . .14  
VDDA pin . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
VRS[7:4]  
PPG . . . . . . . . . . . . . . . . . . . . . . . . . . .126  
VSS pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . .14  
W
WAIT instruction101, 128, 145, 164, 169, 197,  
238, 263, 287, 301  
WAIT mode . . . . . . . . . . . . . . . . . . . .128, 311  
wait mode 145, 164, 169, 197, 238, 263, 287,  
301  
WAKE bit (SCI wake-up condition bit). . . .201  
Web server . . . . . . . . . . . . . . . . . . . . . . . .438  
Web site . . . . . . . . . . . . . . . . . . . . . . . . . .438  
X
XLD  
PBWC . . . . . . . . . . . . . . . . . . . . . . . . .124  
Z
Z bit  
CCR . . . . . . . . . . . . . . . . . . . . . . . . . . . .73  
MC68HC08AZ0  
435  
MOTOROLA  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Index  
MC68HC08AZ0  
436  
Index  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Literature Updates  
Literature Updates  
This document contains the latest data available at publication time. For  
updates, contact one of the centers listed below:  
Literature Distribution Centers  
Order literature by mail or phone.  
USA/Europe  
Japan  
Motorola Literature Distribution  
P.O. Box 5405  
Denver, Colorado, 80217  
Phone 1-303-675-2140  
Nippon Motorola Ltd.  
Tatsumi-SPD-JLDC  
Toshikatsu Otsuki  
6F Seibu-Butsuryu Center  
3-14-2 Tatsumi Koto-Ku  
Tokyo 135, Japan  
Phone 03-3521-8315  
MC68HC08AZ0  
399  
MOTOROLA  
Literature Updates  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Literature Updates  
Hong Kong  
Motorola Semiconductors H.K. Ltd.  
8B Tai Ping Industrial Park  
51 Ting Kok Road  
Tai Po, N.T., Hong Kong  
Phone 852-26629298  
Customer Focus Center  
1-800-521-6274  
Microcontroller DivisionÕs Web Site  
Directly access the Microcontroller Division’s web site with the following  
URL:  
http://mcu.motsps.com/  
MC68HC08AZ0  
400  
Literature Updates  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MC68HC08AZ0 TECHNICAL DATA  
CUSTOMER RESPONSE SURVEY  
To make M68HC08 documentation as clear, complete, and easy to use as possible, we need your  
comments. Please complete this form and return it by mail, or FAX it to 512-891-3236.  
1. How do you rate the quality of this document?  
High  
Low  
High  
Low  
Organization  
Readability  
Accuracy  
Tables  
Table of contents  
Page size/binding  
Overall impression  
Figures  
Comments:  
2. What is your intended use for this document?  
Device selection for new application  
System design  
Other  
Please specify:  
Training  
3. Does this document help you to perform your job?  
Yes  
No  
Comments:  
4. Are you able to easily find the information you need?  
Yes No  
Comments:  
5. Does each section of the document provide you with enough information?  
Yes No  
Yes  
No  
Introduction  
Memory  
SPI Module  
TIMA  
TIMB  
RAM  
EBI  
PIT  
EEPROM  
ADC  
CPU  
Keyboard Interrupt Module  
I/O Ports  
System Integration Module  
Clock Generator Module  
Mask Options  
Break Module  
MSCAN08 Controller  
Specifications  
Appendix A  
Monitor ROM  
COP Module  
LVI Module  
IRQ Module  
SCI Module  
6.What would you like us to do to improve this document?  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Motorola  
6501 William Cannon Drive West  
Mail Stop OE17  
Austin, Texas 78735-8598  
Attn: HC08 Publications Department  
Microcontroller Division  
Second: fold back along this line  
F:cuaghslintrmove  
Please supply the following information (optional).  
Name: ___________________________________________________  
Company Name: ___________________________________________  
Title: ____________________________________________________  
Address: _________________________________________________  
City: _____________________________State: _____Zip:__________  
Phone Number: ____________________________________________  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
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 and actual performance may vary over time. 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  
0
1
2
3
4
5
negligent regarding the design or manufacture of the part. Motorola and  
Opportunity/Affirmative Action Employer.  
are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal  
How to reach us:  
USA/EUROPE: Motorola Literature Distribution; P.O. Box 5405, Denver, Colorado 80217. 1-303-675-2140  
Mfax: RMFAX0@email.sps.mot.com – TOUCHTONE 1- 602-244-6609, http://sps.motorola.com/mfax  
US & CANADA ONLY: http://sps.motorola.com/mfax  
HOME PAGE: http://motorola.com/sps/  
JAPAN: Motorola Japan Ltd.; SPS, Technial Information Center, 3-20-1, Minami-Azabu, Minato-ku, Tokyo 106-8573 Japan.  
81-3-3440-3569  
ASIA/PACIFIC: Motorola Semiconductors H.K. Ltd.; Silicon Harbour Centre, 2 Dai King Street, Tai Po Industrial Estate,  
Tai Po, N.T., Hong Kong. 852-266668334  
CUSTOMER FOCUS CENTER: 1-800-521-6274  
Mfax is a trademark of Motorola, Inc.  
© Motorola, Inc., 2000  
MC68HC08AZ0/D  
For More Information On This Product,  
Go to: www.freescale.com  

相关型号:

MC68HC08AZ16

HCMOS Microcontroller Unit
MOTOROLA

MC68HC08AZ24

HCMOS Microcontroller Unit
MOTOROLA

MC68HC08AZ32

Advance Information
FREESCALE

MC68HC08AZ32

HCMOS Microcontroller Unit
MOTOROLA

MC68HC08AZ32A

HCMOS Microcontroller Unit
MOTOROLA

MC68HC08AZ32A

Microcontrollers
FREESCALE

MC68HC08AZ32ACFU

HCMOS Microcontroller Unit
MOTOROLA

MC68HC08AZ32ACFU

Microcontrollers
FREESCALE

MC68HC08AZ32ACFUE

8-BIT, EEPROM, 8.4MHz, MICROCONTROLLER, PQFP64, 14 X 14 MM, ROHS COMPLIANT, QFP-64
NXP

MC68HC08AZ32AMFU

HCMOS Microcontroller Unit
MOTOROLA

MC68HC08AZ32AMFU

Microcontrollers
FREESCALE

MC68HC08AZ32AMFU

IC,MICROCONTROLLER,8-BIT,68HC08 CPU,CMOS,QFP,64PIN,PLASTIC
NXP