Freescale SC116009, SC116008 User Manual

HCS08
微控制器
freescale.com
SC116009 SC116008
数据手册
SC116009ZHS
1 2009 年 1 月
SC116009 系列微控制器特性
8 HCS08 中央处理器 (CPU
• 40 MHz HCS08 CPU ( 中央处理器 )
• 20 MHz 内部总线
• HC08 指令集,带附加的 BGND 指令
开发支持
后台调试系统
断点功能,在在线调试 (在片上调试模块中另加
两个断点)过程中允许进行单断点设置
片上在线仿真 (ICE) 调试模块包含两个比较器和九 个触发模式。 8 个深度 FIFO,存储流更改地址及 纯事件数据。支持标签和强制断点。
支持最多 32 个中断 / 复位源
存储器
高达 60 KB 的片上 Flash 存储器,带安全选项
高达 2 KB 的片上 RAM
时钟源
可选时钟源包括晶振、谐振器、外部时钟或内部 生成的时钟,可利用 NVM 中存储的信息调整 ICG 模块产生的内部时钟的精确度。
系统保护
可配置的监视微控制器正常操作的看门狗 (COP) 复位,可以选择独立的 1kHz 内部时钟或总线时钟 作为 COP 时钟源
低压检测复位或中断
非法操作码检测复位
循环冗余校验 (CRC)模块,支持对存储器的快 速循环冗余校验
省电模式
等待模式加两个停止模式
外围设备
ADC最多 16 路、 8 位模数转换器,带自动比 较功能
SCI两个串行通信接口模块,带可选 13 LIN Break。支持 LIN 2.0 协议和 SAE J2602 ;主扩展
中断生成;从扩展中断检测
SPI串行外围接口模块
定时器最多两个 2 路和一个 6 路 16 位定时器 /
脉宽调制器 (TPM) 模块: 每个通路上可以选择输 入捕获,输出对比和边沿对齐 PWM 功能。每个 定时器模块可以配置为所有通路都设置缓冲、中 心对齐 PWM (CPWM)
输入 / 输出
最多 54 个通用输入 / 输出 (I/O) 引脚
当用作输入时,端口上拉电阻软件可选
当用作输出时,端口斜率控制软件可选
当用作输出时,端口驱动强度软件可选
• RESET
• RESET
阻,降低客户系统成本
引脚主复位和加电复位 (POR)
IRQ BKGD/MS 引脚上的内部上拉电
封装
• 64 引脚小尺寸四方扁平封装 (LQFP)
• 44 引脚小尺寸四方扁平封装 (LQFP)
SC116009 系列 微控制器 数据手册
包括 SC116009
SC116008
SC116009ZHS
1
版本修订记录
我们在网上提供这些文档的最新版本。印刷文档可能是之前的版本。请访问以下网站,确认您获得了最 新信息:
http://freescale.com.cn/
下表列出了本手册的各个版本以及更新。为了您的方便,指示的页码链接到相应位置。
版本编号 修订日期 更改说明
1 2009 1 9 正式发布。
Freescale™ 及飞思卡尔标识是飞思卡尔半导体公司的商标。 © Freescale Semiconductor, Inc., 2009. 保留所有权力。
SC116009 系列微控制器数据手册 , 第 1 版
6 飞思卡尔半导体
章节号 标题
1 章 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
7
2 章 引脚和连接. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 章 操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
4 章 存储器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
5 章 复位、中断和系统配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6 章 并行输入 / 输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7 章 中央处理单元 (
8 章 内部时钟发生器 (S08ICGV4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 章 模数转换器 (S08ADC10V1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 章 串行通信接口 (S08SCIV4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11 章 串行外设接口 (S08SPIV3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12 章 定时器 /PWM (S08TPMV3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
S08CPUV2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
103
129
153
171
185
13 开发支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1
9
3
3
7
07
附录 A 电气特性和时序规范 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
附录 B 订购信息和机械图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
SC116009 系列微控制器数据手册 , 第 1
飞思卡尔半导体 7
25
49
SC116009 系列微控制器数据手册 , 1
8 飞思卡尔半导体
手册目录
章节号 标题 页码
1
介绍
1.1 概述 .................................................................................................................................17
1.2 MCU 结构图 .....................................................................................................................17
1.3 系统时钟分配 ...................................................................................................................19
2
引脚和连接
2.1 介绍 .................................................................................................................................21
2.2 器件引脚分配 ...................................................................................................................21
2.3 推荐的系统连接 ...............................................................................................................23
2.3.1 电源 (VDD, VSS, V
2.3.2 振荡器 (XTAL, EXTAL) ........................................................................................25
2.3.3 RESET 引脚 ........................................................................................................25
2.3.4 后台 / 模式选择 (BKGD/MS) ...............................................................................25
2.3.5 ADC 参考引脚 (V
2.3.6 外部中断引脚 (IRQ) ............................................................................................26
2.3.7 通用 I/O 和外设端口 ............................................................................................26
REFH
DDAD
, V
, V
) ..........................................................................25
SSAD
) ...........................................................................26
REFL
3
操作模式
3.1 介绍 .................................................................................................................................29
3.2 特性 .................................................................................................................................29
3.3 运行模式 ..........................................................................................................................29
3.4 激活后台模式 ...................................................................................................................29
3.5 等待模式 ..........................................................................................................................30
3.6 停止模式 ..........................................................................................................................30
3.6.1 停止 2 模式 ..........................................................................................................30
3.6.2 停止 3 模式 ..........................................................................................................31
3.6.3 在停止模式中使能激活 BDM ...............................................................................31
3.6.4 在停止模式中使能 LVD .......................................................................................32
3.6.5 停止模式下的片上外围模块 .................................................................................3
4 章 存储器
4.1 SC116009 系列存储器映射 ..............................................................................................33
4.1.1 复位和中断向量分配 ...........................................................................................34
4.2 寄存器地址和位分配 ........................................................................................................35
4.3 RAM .................................................................................................................................41
2
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 9
4.4 Flash ................................................................................................................................42
4.4.1 特性 .....................................................................................................................42
4.4.2 编程和擦除时间 ...................................................................................................42
4.4.3 编程和擦除命令的执行 ........................................................................................43
4.4.4 突发编程执行 ......................................................................................................44
4.4.5 访问错误 .............................................................................................................45
4.4.6 Flash 块保护 .......................................................................................................46
4.4.7 向量重定向 ..........................................................................................................46
4.5 安全性 ..............................................................................................................................46
4.6 Flash 寄存器和控制位 ......................................................................................................47
4.6.1 Flash 时钟分频寄存器 (FCDIV) ...........................................................................47
4.6.2 Flash 选项寄存器 (FOPT NVOPT) .............................................................48
4.6.3 Flash 配置寄存器 (FCNFG) ............................................................................49
4.6.4 Flash 保护寄存器 (FPROT NVPROT) ........................................................50
4.6.5 Flash 状态寄存器 (FSTAT) ..............................................................................50
4.6.6 Flash 命令寄存器 (FCMD) ..............................................................................51
5
复位、中断和系统配置
5.1 介绍 .................................................................................................................................53
5.2 特性 .................................................................................................................................53
5.3 MCU 复位 ........................................................................................................................53
5.4 计算机正常操作 (COP) 看门狗 ........................................................................................54
5.5 中断 .................................................................................................................................55
5.5.1 中断堆栈帧 ..........................................................................................................55
5.5.2 外部中断请求 (IRQ)引脚 ................................................................................56
5.5.3 中断向量、源和本地掩码 ....................................................................................57
5.6 低电压检测 (LVD) 系统 ....................................................................................................59
5.6.1 加电复位操作 ......................................................................................................59
5.6.2 LVD 复位操作 ......................................................................................................59
5.6.3 LVD 中断操作 ......................................................................................................59
5.6.4 低压告警 (LVW) ..................................................................................................59
5.7 MCLK 输出 ......................................................................................................................59
5.8 复位、中断及系统控制寄存器和控制位 ...........................................................................59
5.8.1 中断引脚请求状态和控制寄存器 (IRQSC) ...........................................................60
5.8.2 系统复位状态寄存器 (SRS) .................................................................................60
5.8.3 系统后台调试强制复位寄存器 (SBDFR) .............................................................61
5.8.4 系统选项寄存器 (SOPT) .....................................................................................62
5.8.5 系统 MCLK 控制寄存器 (SMCLK) .......................................................................63
5.8.6 系统器件识别寄存器 (SDIDH, SDIDL) ................................................................63
5.8.7 系统电源管理状态和控制寄存器 1 (SPMSC1) ....................................................64
5.8.8 系统电源管理状态和控制寄存器 2 (SPMSC2) ....................................................65
5.8.9 系统选项寄存器 2 (SOPT2) ................................................................................66
SC116009 系列微控制器数据手册 , 1
10 飞思卡尔半导体
6
并行输入 / 输出
6.1 介绍 .................................................................................................................................67
6.2 引脚描述 ..........................................................................................................................67
6.3 并行 I/O 控制 ....................................................................................................................67
6.4 引脚控制 ..........................................................................................................................68
6.4.1 内部上拉使能 ......................................................................................................68
6.4.2 输出斜率控制使能 ...............................................................................................69
6.4.3 输出驱动强度选择 ...............................................................................................69
6.5 停止模式中的引脚行为 .....................................................................................................69
6.6 并行 I/O 和引脚控制寄存器 ..............................................................................................69
6.6.1 A 端口 I/O 寄存器 (PTAD PTADD) ..................................................................69
6.6.2 端口 A 引脚控制寄存器 (PTAPE, PTASE, PTADS) .............................................70
6.6.3 B 端口 I/O 寄存器 (PTBD 和 PTBDD) .................................................................71
6.6.4 B 端口引脚 控制寄存器 (PTBPE, PTBSE, PTBDS) ............................................72
6.6.5 C 端口 I/O 寄存器 (PTCD 和 PTCDD) .................................................................74
6.6.6 C 端口引脚控制寄存器 (PTCPE, PTCSE, PTCDS) ............................................ 75
6.6.7 D 端口 I/O 寄存器 (PTDD PTDDD) ................................................................76
6.6.8 D 端口引脚 控制 寄存器 (PTDPE, PTDSE, PTDDS) ..........................................77
6.6.9 端口 E I/O 寄存器 (PTED PTEDD) .................................................................78
6.6.10 E 端口引脚控制寄存器 (PTEPE, PTESE, PTEDS) .............................................78
6.6.11 F 端口 I/O 寄存器 (PTFD PTFDD) ..................................................................79
6.6.12 F 端口引脚控制寄存器 (PTFPE, PTFSE, PTFDS) .............................................. 80
6.6.13 G 端口 I/O 寄存器 (PTGD PTGDD) ................................................................81
6.6.14 G 端口引脚 控制寄存器 (PTGPE, PTGSE, PTGDS) ...........................................82
7
中央处理单元 (S08CPUV2
7.1 概述 .................................................................................................................................85
7.1.1 特性 .....................................................................................................................85
7.2 编程模型和 CPU 寄存器 ..................................................................................................85
7.2.1 累加器 (A) ...........................................................................................................86
7.2.2 变址寄存器 (H:X) .............................................................................................86
7.2.3 堆栈指针 (SP) .................................................................................................86
7.2.4 程序计数器 (PC) ..............................................................................................87
7.2.5 条件码寄存器 (CCR) ...........................................................................................87
7.3 寻址模式 ..........................................................................................................................88
7.3.1 固有寻址模式 (INH) .........................................................................................88
7.3.2 相对寻址模式 (REL) .................................
7.3.3 立即寻址模式 (IMM) ............................................................................................88
7.3.4 直接寻址模式 (DIR) .............................................................................................88
7.3.5 扩展寻址模式 (EXT) ............................................................................................88
7.3.6 变址寻址模式 ......................................................................................................88
7.4 特殊操作 ..........................................................................................................................89
7.4.1 复位序列 .............................................................................................................89
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 11
.......................................................88
7.4.2 中断序列 .............................................................................................................89
7.4.3 等待模式 .............................................................................................................90
7.4.4 停止模式 .............................................................................................................90
7.4.5 背景模式 .............................................................................................................90
7.5 HCS08 指令设置摘要 .......................................................................................................91
8
内部时钟发生器 (S08ICGV4)
8.1 介绍 ...............................................................................................................................103
8.2 概述 ...............................................................................................................................106
8.2.1 特性 ...................................................................................................................106
8.2.2 操作模式 ...........................................................................................................106
8.2.3 功能结构图 ........................................................................................................107
8.3 外部信号描述 .................................................................................................................108
8.3.1 EXTAL— 外部参考时钟 / 振荡器输入 ................................................................108
8.3.2 XTAL—振荡器输出 ...........................................................................................108
8.3.3 外部时钟连接 ....................................................................................................108
8.3.4 外部晶振 / 谐振器连接 .......................................................................................108
8.4 寄存器定义 .....................................................................................................................109
8.4.1 ICG 控制寄存器 1 (ICGC1) ...........................................................................109
8.4.2 ICG 控制寄存器 2 (ICGC2) ........................................................................... 110
8.4.3 ICG 状态寄存器 1 (ICGS1) ............................................................................ 111
8.4.4 ICG 状态寄存器 2 (ICGS2) ............................................................................ 112
8.4.5 ICG 滤波器寄存器 (ICGFLTUICGFLTL) ................................................... 113
8.4.6 ICG 调整寄存器 (ICGTRM) ........................................................................... 114
8.5 功能描述 ........................................................................................................................ 114
8.5.1 OFF 模式 .......................................................................................................... 114
8.5.2 自时钟模式 (SCM) ......................................................................................... 115
8.5.3 FLL 内部时钟模式 (FEI) ................................................................................ 116
8.5.4 FLL 内部未锁定 ................................................................................................. 116
8.5.5 FLL 内部锁定 .................................................................................................... 117
8.5.6 FLL 旁路外部时钟模式 (FBE) ........................................................................ 117
8.5.7 FLL 外部时钟模式 (FEE) ............................................................................... 117
8.5.8 FLL 锁定和失锁检测 ......................................................................................... 117
8.5.9 FLL 时钟丢失检测 ............................................................................................. 118
8.5.10 时钟模式必要条件 ............................................................................................. 119
8.5.11 固定频率时钟 ....................................................................................................120
8.5.12 高增益振荡器 ....................................................................................................120
8.6 初始化 / 应用信息 ...........................................................................................................120
8.6.1 概述 ...................................................................................................................120
8.6.2 例 1:外部晶振 = 32 kHz,总线频率 = 4.19 MHz ............................................122
8.6.3 例 2:外部晶振 = 4 MHz,总线频率 = 20 MHz ................................................123
8.6.4 例 3:无外部晶振,总线频率 = 5.4 MHz ..........................................................125
8.6.5 例 4:内部时钟产生器调整 ...............................................................................126
SC116009 系列微控制器数据手册 , 1
12 飞思卡尔半导体
9
模数转换器 (S08ADC10V1)
9.2 通道分配 ........................................................................................................................129
9.2.1 替代时钟 ...........................................................................................................130
9.2.2 硬件触发 ...........................................................................................................130
9.2.3 温度传感器 ........................................................................................................130
9.2.4 特点 ...................................................................................................................133
9.2.5 框图 ...................................................................................................................133
9.3 外部信号描述 .................................................................................................................134
9.3.1 模拟电源 (V
9.3.2 模拟地 (V
SSAD
9.3.3 参考高电压 (V
9.3.4 参考低电压 (V
9.3.5 模拟通道输入 (ADx) ......................................................................................135
9.4 寄存器定义 .....................................................................................................................135
9.4.1 状态和控制寄存器 1 (ADCSC1) ....................................................................135
9.4.2 状态和控制寄存器 2 (ADCSC2) ....................................................................137
9.4.3 数据高结果寄存器 (ADCRH) .........................................................................138
9.4.4 数据低结果寄存器 (ADCRL) ..........................................................................138
9.4.5 比较值高寄存器 (ADCCVH) ..........................................................................138
9.4.6 比较值低寄存器 (ADCCVL) ...........................................................................139
9.4.7 配置寄存器 (ADCCFG) .................................................................................139
9.4.8 引脚控制 1 寄存器 (APCTL1) ........................................................................140
9.4.9 引脚控制 2 寄存器 (APCTL2) ........................................................................141
9.4.10 引脚控制 3 寄存器 (APCTL3) ........................................................................142
9.5 功能描述 ........................................................................................................................143
9.5.1 时钟选择和分频控制 .........................................................................................143
9.5.2 输入选择和引脚控制 .........................................................................................144
9.5.3 硬件触发 ...........................................................................................................144
9.5.4 转换控制 ...........................................................................................................144
9.5.5 自动比较功能 ....................................................................................................146
9.5.6 MCU 等待模式操作 ...........................................................................................146
9.5.7 MCU stop3 模式操作 ........................................................................................146
9.5.8 MCU stop1 和 stop2 模式操作 ..........................................................................147
9.6 初始化信息 .....................................................................................................................1
9.6.1 ADC 模块初始化举例 ........................................................................................147
9.7 应用信息 ........................................................................................................................149
9.7.1 外部引脚和安排 .................................................................................................149
9.7.2 错误源 ...............................................................................................................150
..........................................................................................134
DDAD
.............................................................................................135
......................................................................................135
REFH
.......................................................................................135
REFL
47
10
串行通信接口 (S08SCIV4)
10.1 介绍 ...............................................................................................................................153
10.1.1 特性 ...................................................................................................................155
10.1.2 操作模式 ...........................................................................................................155
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 13
10.1.3 框图 ...................................................................................................................155
10.2 寄存器定义 .....................................................................................................................158
10.2.1 SCI 波特率寄存器 (SCIxBDHSCIxBDL) ...................................................158
10.2.2 SCI 控制寄存器 1 (SCIxC1) ..........................................................................159
10.2.3 SCI 控制寄存器 2 (SCIxC2) ..........................................................................160
10.2.4 SCI 状态寄存器 1 (SCIxS1) ...........................................................................161
10.2.5 SCI 状态寄存器 2 (SCIxS2) ...........................................................................162
10.2.6 SCI 控制寄存器 3 (SCIxC3) ..........................................................................163
10.2.7 SCI 数据寄存器 (SCIxD) ...............................................................................164
10.3 功能描述 ........................................................................................................................164
10.3.1 波特率产生 ........................................................................................................165
10.3.2 发送功能描述 ....................................................................................................165
10.3.3 接收功能描述 ....................................................................................................166
10.3.4 中断和状态标志 .................................................................................................167
10.3.5 其他 SCI 功能 ....................................................................................................168
11
串行外设接口 (S08SPIV3)
11.1 引言 ...............................................................................................................................171
11.1.1 特性 ...................................................................................................................173
11.1.2 模块结构图 ........................................................................................................173
11.1.3 SPI 波特率发生器 .............................................................................................175
11.2 外部信号描述 .................................................................................................................175
11.2.1 SPSCK SPI 串行时钟 ...................................................................................175
11.2.2 MOSI — 主出从入引脚 .....................................................................................175
11.2.3 MISO — 主入从出引脚 .....................................................................................175
11.2.4 SS 从机选择引脚 ..........................................................................................175
11.3 操作模式 ........................................................................................................................176
11.3.1 停止模式中的 SPI .............................................................................................176
11.4 寄存器定义 .....................................................................................................................176
11.4.1 SPI 控制寄存器 1 (SPIC1) .............................................................................176
11.4.2 SPI 控制寄存器 2 (SPIC2) .............................................................................177
11.4.3 SPI 比特率寄存器 (SPIBR) ...........................................................................178
11.4.4 SPI 状态寄存器 (SPIS) ..................................................................................179
11.4.5 SPI 数据寄存器 (SPID) .................................................................................180
11.5 功能描述 ........................................................................................................................180
11.5.1 SPI 时钟格式 .....................................................................................................1
11.5.2 SPI 中断 ............................................................................................................183
11.5.3 模式故障检测 ....................................................................................................184
81
12
定时器 /PWM (S08TPMV3)
12.1 引言 ...............................................................................................................................185
12.2 功能 ...............................................................................................................................185
12.3 TPMV3 与先前版本的差异 .............................................................................................187
SC116009 系列微控制器数据手册 , 1
14 飞思卡尔半导体
12.3.1 TPMV1 进行移植 ..........................................................................................188
12.3.2 特性 ...................................................................................................................190
12.3.3 操作模式 ...........................................................................................................190
12.3.4 结构框图 ...........................................................................................................191
12.4 信号描述 ........................................................................................................................193
12.4.1 信号详细描述 ....................................................................................................193
12.5 寄存器定义 .....................................................................................................................195
12.5.1 TPM 状态和控制寄存器 (TPMxSC) ...............................................................195
12.5.2 TPM 计数器寄存器 (TPMxCNTH:TPMxCNHTL) ...........................................197
12.5.3 TPM 计数器模寄存器 (TPMxMODH:TPMxMODL) ........................................197
12.5.4 TPM 通道 n 状态和控制寄存器 (TPMxCnSC) ...............................................198
12.5.5 TPM 通道值寄存器 (TPMxCnVH : TPMxCnVL) ............................................200
12.6 功能描述 ........................................................................................................................201
12.6.1 计数器 ...............................................................................................................201
12.6.2 通道模式选择 ....................................................................................................202
12.7 复位概述 ........................................................................................................................204
12.7.1 概要 ...................................................................................................................204
12.7.2 复位操作 ...........................................................................................................205
12.8 中断 ...............................................................................................................................205
12.8.1 概述 ...................................................................................................................205
12.8.2 中断操作描述 ....................................................................................................205
13
开发支持
13.1 介绍 ...............................................................................................................................207
13.1.1 特性 ...................................................................................................................208
13.2 后台调试控制器 (BDC) ..................................................................................................208
13.2.1 BKGD 引脚描述 ................................................................................................209
13.2.2 通信详细介绍 ....................................................................................................209
13.2.3 BDC 命令 .......................................................................................................... 211
13.2.4 BDC 硬件断点 ...................................................................................................214
13.3 片上调试系统 (DBG) ......................................................................................................214
13.3.1 比较器 A 和 B ....................................................................................................215
13.3.2 总线捕获信息和 FIFO 操作 ...............................................................................215
13.3.3 流变化信息 ........................................................................................................216
13.3.4 标记 vs. 强制断点和触发器 ...............................................................................2
13.3.5 触发模式 ...........................................................................................................216
13.3.6 硬件断点 ...........................................................................................................217
13.4 寄存器定义 .....................................................................................................................217
13.4.1 BDC 寄存器和控制位 ........................................................................................217
13.4.2 系统后台调试强制复位寄存器 (SBDFR) ...........................................................219
13.4.3 DBG 寄存器和控制位 ........................................................................................220
16
附录 A
电气特性和时序规范
SC116009 系列微控制器数据手册 , 第 1
飞思卡尔半导体 15
A.1 引言................................................................................................................................................225
A.2 参数分类........................................................................................................................................225
A.3 绝对最大额定值............................................................................................................................226
A.4 热特性............................................................................................................................................227
A.5 ESD 保护和抗闭锁方法...............................................................................................................228
A.6 DC 特性 .........................................................................................................................................229
A.7 电源电流特性................................................................................................................................232
A.8 ADC 特性 ......................................................................................................................................235
A.9 内部时钟发生模块特性................................................................................................................238
A.9.1 ICG 频率规范 .................................................................................................................238
A.10 AC 特性 .........................................................................................................................................241
A.10.1 控制时序 .........................................................................................................................241
A.10.2 定时器 /PWM (TPM) 模块时钟 ....................................................................................242
A.11 SPI 特性 ........................................................................................................................................243
A.12 Flash 规范.....................................................................................................................................246
A.13 EMC 性能......................................................................................................................................248
A.13.1 瞬态传导抗扰度 .............................................................................................................248
附录 B
订购信息和机械图
B.1 订购信息 ........................................................................................................................................249
B.2 可订购部件编号体系 ....................................................................................................................249
B.3 机械图 ............................................................................................................................................249
SC116009 系列微控制器数据手册 , 1
16 飞思卡尔半导体

1 章 介绍

1.1 概述

SC116009 系列 MCU 是低成本、高性能 HCS08 系列 8 位微控制器 (MCU)的成员。这个系列的所有
MCU 都采用增强型 HCS08 内核,提供各种模块、存储器大小、存储器类型及封装类型。1-1 列出了存储 器大小及封装类型。
1-1. SC116009 系列中包含的器件
器件
SC116009 63,280 SC116008 32,768
Flash RAM
1-2 为 SC116009 系列 MCU 提供的特性。
1-2. SC116009 系列各封装提供的外围设备
特性 64 引脚 44 引脚
ADC IRQ SCI1 SCI2 SPI1 TPM1 TPM1CLK TPM2 TPM2CLK TPM3 TPMCLK
I/O 引脚
1
TPMCLKTPM1CLK TPM2CLK 可通过软件配置; 复位后, TPM1CLKTPM2CLK TPMCLK 分别提供给 TPM1TPM2 TPM3。请参阅 TPM 章节,了解 TPMxCLK 信号的功能描述。
1
1
1
封装
2048
SC116009/32
16 8
有 有 有 有
6 4
有无
2
有无
2
54 34
64 LQFP 44 LQFP

1.2 MCU 结构图

下面为 SC116009 系列 MCU 的模块结构图。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 17
1 章 介绍
PTD3/AD1P11
PTC1
PTC0
V
SS
V
DD
PTE3/TPM1CH1 PTE2/TPM1CH0
PTA[7:0]
PTE0/TxD1
PTE1/RxD1
PTD2/AD1P10 PTD1/AD1P9 PTD0/AD1P8
PTC5/RxD2 PTC4 PTC3/TxD2 PTC2/MCLK
端口 A
端口 C
端口 D
端口 E
用户 Flash
用户 RAM
63,280 字节
HCS08 内核
CPUBDC
注意:
1
通过上拉电阻,输入端口引脚可以由软件配置。
2
如果 IRQ 使能 (IRQPE = 1),引脚包含软件可配置的上拉 / 下拉电阻。 如果选择上升边沿检测,则下拉使能 (IRQEDG =
1)
3
引脚包含集成上拉电阻。
4
PTD3PTD2、 PTD7 和 PTG4 既包含上拉也包含下拉电阻。
5
TPMCLK、TPM1CLK TPM2CLK 可通过软件配置; 复位后,TPM1CLK、TPM2CLK TPMCLK 分别提供给 TPM1 TPM2 TPM3
端口 B
PTE5/MISO1 PTE4/SS1
PTE6/MOSI1
PTE7/SPSCK1
HCS08 系统控制
复位和中断
操作模式
功率管理
稳压器
COP
IRQ LVD
低功率振荡器
内部时钟
发生器 (ICG)
RESET
V
SSAD
V
DDAD
V
REFH
PTG4
PTG2
PTG3
端口 G
2048 字节
BKGD/MS
PTF0/TPM1CH2
PTF1/TPM1CH3
端口 F
PTF5/TPM2CH1 PTF4/TPM2CH0
PTF[7:6]
PTG0
PTG1
V
REFL
PTG5/XTAL
PTG6/EXTAL
IRQ/TPMCLK
RxD2
TxD2
AD1P[15:8]
8
AD1P[7:0]
TPM2CH1
SPSCK1
SS1
MISO1
MOSI1
TPM1CH1 TPM1CH0
RxD1 TxD1
EXTAL XTAL
8
PTB1/TPM3CH1/AD1P1 PTB0/TPM3CH0/AD1P0
TPM2CH0
TPM1CH[5:2]
TPM3CH1
TPM3CH0
TPMCLK
8
PTB[7:2]/AD1P[7:2]
6
PTC6
PTF2/TPM1CH4
PTD4/TPM2CLK/AD1P12
PTD5/AD1P13
PTD6/TPM1CLK/AD1P14
PTD7/AD1P15
TPM2CLK
TPM1CLK
PTF3/TPM1CH5
32,768 字节
串行外设
接口模块 (SPI1)
ICE 调试 模块 (DBG)
2 路定时器 /PWM
模块 (TPM2)
转换器 (ADC1)
6 路定时器 /PWM
模块 (TPM1)
8 位模数
接口模块 (SCI1)
串行通信
接口模块 (SCI2)
串行通信
2 路定时器 /PWM
模块 (TPM3)
18 飞思卡尔半导体
1-1. SC116009 系列结构图
SC116009 系列微控制器数据手册 , 1
1-3 列出了片上模块的版本。
TPM1 TPM2 SCI1 SCI2
BDC
CPU
ADC1
RAM Flash
ICG
ICGOUT
÷2
FFE
系统控制逻辑
BUSCLK
ICGLCLK
1
XCLK
2
ICGERCLK
÷2
TPM3
COP
1 kHz
TPM1CLK
TPM2CLK
TPMCLK
SPI
1
ICGLCLK SC116009 系列 BDC 的可选时钟源。
2
固定频率时钟。
模数转换器
内部时钟发生器
串行通信接口
串行外设接口
定时器和脉宽调制器
中央处理单元
调试模块

1.3 系统时钟分配

1-3. . 片上模块的版本
模块 版本
ADC
ICG
SCI
SPI
TPM
CPU
DBG
1 章 介绍
1
4
4
3
3
2
2
MCU 中的某些模块具有多个时钟源可供选择。1-2 是一个简化的时钟连接图。 ICG 提供以下时钟
源:
• ICGOUT ICG 模块的输出。 可以是下面任一项:
1-2. 系统时钟分配图
外部晶体振荡器
外部时钟源
锁频环子模块中数控振荡器 (DCO)的输出
ICG 的控制位决定连接的时钟源。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 19
1 章 介绍
• FFE ICG 中生成的控制信号。如果 ICGOUT 的频率 > 4 × ICGERCLK 的频率 , 该信号为逻辑 1 ,固 定频率时钟将为 ICGERCLK/2。否则,固定频率时钟将为 BUSCLK
• ICGLCLK 开发工具可以选择这个内部自时钟源 (~ 8 MHz) 来加快系统 (总线时钟比较慢)中的 BDC 通信。
• ICGERCLK 外部参考时钟可以作为实时中断时钟源。它也可以用作 ADC 模块的 ALTCLK 输入。
SC116009 系列微控制器数据手册 , 1
20 飞思卡尔半导体

2 章 引脚和连接

2.1 介绍

本章描述连接到封装引脚的信号,包括引脚布局图、信号属性表,并对信号进行了详细阐述。

2.2 器件引脚分配

2-1 为 SC116009 系列的 64 引脚封装图。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 21
2 章 引脚和连接
PTF2/TPM1CH4
1
2
3
4
5
6
7
8
RESET
PTF0/TPM1CH2
PTF3/TPM1CH5
PTF4/TPM2CH0
PTC6
PTF7
PTG2
PTG1
PTG0
V
DD
V
SS
PTE7/SPSCK1
PTE6/MOSI1
PTB7/AD1P7
PTD0/AD1P8
PTD1/AD1P9
V
DDAD
V
SSAD
PTB1/TPM3CH1/AD1P1
PTB6/AD1P6
PTD5/AD1P13
V
REFH
PTC5/RxD2
PTG5/XTAL
BKGD/MS
V
REFL
PTG3
PTD6/TPM1CLK/AD1P14
PTD7/AD1P15
43
42
41
40
39
38
18 19 20 21 22
23
505152535455
17
32
33
49
48
64
9
PTF5/TPM2CH1
10
PTF6
11
PTE0/TxD1
16
PTE3/TPM1CH1
PTA024PTA125PTA2
26
PTA3
27
PTB5/AD1P5
37
PTB4/AD1P4
36
PTB3/AD1P3
35
PTB2/AD1P2
34
PTG6/EXTAL
56
V
SS
57
PTC0
58
PTC1
59
PTF1/TPM1CH3
12
PTE1/RxD1
13
14
15
PTE2/TPM1CH0
PTA4
28 29 30 31
PTD2/AD1P10
44
45
46
PTD3/AD1P11
47
PTC3/TxD2
63 62 61
PTC2/MCLK
60
PTC4
IRQ/TPMCLK
PTE4/SS1
PTE5/MISO1
PTA5
PTA6
PTB0/TPM3CH0/AD1P0
PTA7
PTD4/TPM2CLK/AD1P12
PTG4
64 引脚 LQFP
2-2 SC116009 系列微控制器 44 引脚 LQFP 封装图
2-1. SC116009 系列 64 引脚 LQFP 封装
22 飞思卡尔半导体
SC116009 系列微控制器数据手册 , 第 1
2 章 引脚和连接
PTF4/TPM2CH0
1
2
3
4
5
6
7
8
RESET
PTF0/TPM1CH2
PTG2
PTG1
PTG0
V
DD
V
SS
PTE7/SPSCK1
PTE6/MOSI1
PTD0/AD1P8
PTD1/AD1P9
V
DDAD
V
SSAD
PTB1/TPM3CH1/AD1P1
V
REFH
PTC5/RxD2
PTG5/XTAL
BKGD/MS
V
REFL
PTG3
31
30
29
28
27
26
13 14 15 16 17
18
34
35
12
22
23
33
44
9
PTF5/TPM2CH1
10
PTE0/TxD1
11
PTE3/TPM1CH1
PTA019PTA1
20 21
PTB3/AD1P3
PTB2/AD1P2
PTG6/EXTAL
36
V
SS
37
PTC0
38
PTC1
39
PTF1/TPM1CH3
PTE1/RxD1
PTE2/TPM1CH0
PTD2/AD1P10
32
PTD3/AD1P11
PTC3/TxD2
43 42 41
PTC2/MCLK
40
PTC4
IRQ/TPMCLK
PTE4/SS1
PTE5/MISO1
PTB0/TPM3CH0/AD1P0
44- 引脚 LQFP
25
24
2-2. SC116009 系列 44 引脚 LQFP 封装

2.3 推荐的系统连接

图 2-3 给出了采用 SC116009 系列的应用系统的通用引脚连接
飞思卡尔半导体 23
SC116009 系列微控制器数据手册 , 第 1
2 章 引脚和连接
V
DD
VSS (x2)
XTAL
EXTAL
BKGD/MS
RESET
可选 人工 复位
端口
A
V
DD
1
BACKGROUND HEADER
C2
C1
X1
R
F
R
S
C
BY
0.1 μF
C
BLK
10 μF
+
5 V
+
系统 电源
I/O 和与应用
系统连接的
外设接口
PTA0
PTA1
PTA2
PTA3
PTA4
PTA5
PTA6
PTA7
V
DD
端口
B
PTB0/AD1P0
PTB1/AD1P1
PTB2/AD1P2
PTB3/AD1P3
PTB4/AD1P4
PTB5/AD1P5
PTB6/AD1P6
PTB7/AD1P7
端口
C
PTC0
PTC1
PTC2/MCLK
PTC3/TxD2
PTC4
PTC5/RxD2
PTC6
端口
D
PTD0/AD1P8
PTD1/AD1P9
PTD2/AD1P10
PTD3/AD1P11
PTD4/TPM2CLK/AD1P12
PTD5/AD1P13
PTD6/TPM1CLK/AD1P14
PTD7/AD1P15
端口
E
PTE0/TxD1
PTE1/RxD1
PTE2/TPM1CH0
PTE3/TPM1CH1
PTE4/SS1
PTE5/MISO1
PTE6/MOSI1
PTE7/SPSCK1
端口
G
PTG0
PTG1
PTG2 PTG3
PTG4
端口
F
PTF0/TPM1CH2
PTF1/TPM1CH3
PTF2/TPM1CH4
PTF3/TPM1CH5
PTF4/TPM2CH0
PTF5/TPM2CH1
PTF6
PTF7
IRQ
异步 中断
输入
注意 :
1
如果使用内部时钟,则不需 要。
2
这些引脚与 PTG5 PTG6 相同。
3
建议对 EMC 敏感的应用在 RESET IRQ 引脚使用 RC 过滤器。
1
SC116009
V
DDAD
V
SSAD
C
BYAD
0.1 μF
V
REFL
V
REFH
PTG5/XTAL
PTG6/EXTAL
2
2
V
DD
4.7 kΩ–
0.1 μF
V
DD
4.7 kΩ–10 kΩ
0.1 μF
10 kΩ
1
24 飞思卡尔半导体
2-3. 基本系统连接
SC116009 系列微控制器数据手册 , 1
2 引脚和连接
2.3.1 电源 (VDD, VSS, V
DDAD
, V
SSAD
)
VDD VSS MCU 的主电源引脚。该电压源为所有 I/O 缓冲电路以及内部稳压器供电。内部稳压器向
CPU MCU 的其它内部电路提供稳压后的低电压源。
通常,应用系统在电源引脚上需要安装两个独立的电容,其中一个为大容量电解电容 (如 10 μF 钽电
容),为整个系统提供大容量电荷存储,同时应在离 V
0.1 μF 的陶瓷旁路电容,来抑制高频噪音。 SC116009 还多一个 V 面或者通过一个低阻抗连接到主 V
V
DDAD
V
MCU 的模拟电源引脚。该电源为 ADC 模块供电。 必须在离该模拟电源引脚尽可能近
SSAD
引脚
SS
DD
V
电源引脚尽可能近的地方安装一个
SS
引脚。 这个引脚 应该连接到系统接地平
SS
的地方连接一个 0.1 μF 陶瓷旁路电容来抑制高频噪声。

2.3.2 振荡器 (XTAL, EXTAL)

复位后, MCU 使用内部生成的时钟 (自时钟模式 — f
self-reset
的时钟源在复位启动时使用,可以作为停止恢复的时钟源,来避免较长的晶体启动延迟。 该 MCU 还包含一个 可调整的内部时钟发生器 (ICG) 模块,可以用它来运行 MCU 有关 ICG 的更多信息,请参见 8 章 内部时
钟发生器 (S08ICGV4)
MCU 中的振荡器是 Pierce 振荡器,通过 ICGC1 寄存器的 RANGE 位设置, 可以提供两个频率范围给晶
体或陶瓷谐振器选择。 EXTAL 输入引脚连接的是一个外部振荡器,而不是晶体或陶瓷谐振器。
下面的讨论参考2-3R
( 如果使用 ) 和 RF 应该采用无感电阻,例如碳复合材料的电阻。线绕电阻和
S
金属膜电阻的电感太大。 C1 C2 应该采用专用于高频的高质量陶瓷电容。
) ,相当于 8 MHz 晶体振荡频率。这个频率
用来提供旁路,使 EXTAL 输入在晶振启动时保持在其线性范围内,它的值一般来说不太关键。 典型系
R
F
统使用 1 MΩ 10 MΩ 范围内的 R
值太高,对湿度就敏感,值太低,会减少增益,在极端情况下甚至会
F
阻止启动。
C1 C2 一般在 5 pF 25 pF 范围内,要选择符合特定晶体或陶瓷谐振器要求的值。在确定 C1 C2 值时,一定要考虑印刷电路板 (PCB)电容和 MCU 引脚电容。晶振生产商一般规定一个负载电容,它是 C1 C2 的系列组合,C1 C2 的大小通常相同。 首次逼近时,采用 10 pF 作为引脚 和 PCB 组合电容的估算值 接入每个振荡器引脚 (EXTAL 和 XTAL)。

2.3.3 RESET 引脚

RESET 是一个专用的引脚,内置一个上拉电阻。它有输入滞后,包含一个高电流输出驱动, 无输出斜率 控制。内部加电复位和低压复位电路一般都不需要外部复位电路。 这个引脚通常连接到标准的 6 引脚后台调 试连接器,这样开发系统可以直接复位 MCU 系统。 如果需要,可以添加一个人工外部复位,即提供一个简单 的接地开关 (拉低复位引脚的电平,强制进行复位)。
只要发起复位 ( 无论是来自外部信号还是来自内部系统 ), 复位引脚的电平就下降 34 个周期的 f
self-reset
复位电路解晰复位的原因并将之记录在系统控制复位状态寄存器 (SRS)的相应位。
对 EMC 敏感的应用,建议在复位引脚上加一个外部 RC 过滤器。参见 图 2-3 的示例。

2.3.4 后台 / 模式选择 (BKGD/MS)

在复位时, BKGD/MS 引脚充当模式选择引脚。复位完成后,该引脚立即作为后台引脚 ,可以用于后台 调试通信。当作为后台 / 模式模式选择引脚时, 该引脚包括一个内部上拉电阻,有输入滞后,且无输出斜率控
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 25
2 章 引脚和连接
制。当引脚作为
后台
引脚时,它包括一个高电流输出驱动。 当该引脚作为
模式选择
引脚 时,它只有输入,因
此不包含标准的输出驱动。
如果该引脚没有连接任何东西, MCU 将在复位的上升边沿进入正常的操作模式 。如果有一个调试系统连 接到这个 6 引脚标准后台调试头,它可以在复用上升边沿使保持 BKGD/MS 在低电平,强制 MCU 进入激活后 台模式。
BKGD 引脚主要用于后台调试控制器 (BDC) 通信,采用定制的协议。这个协议每位时采用 16 个周期的目 标 MCU 的 BDC 时钟 。目 标 MCU 的 BDC 时钟可以与总线时钟速率一样快,这样就不会有任何大电容连接到 BKGD/MS 引脚,来干扰后台串行通信。
尽管 BKGD 引脚 是一个伪开路引脚,后台调试通信协议提供短暂的、主动驱动的高速脉冲,确保快速的 上升时间。 电缆的小电容和内部上拉电阻的绝对值几乎不影响 BKGD 引脚的上升和下降时间。
2.3.5 ADC 参考引脚 (V
V
REFH
V
引脚分别为 ADC 模块的电压参考高输入和电压参考低输入。
REFL
REFH
, V
REFL
)

2.3.6 外部中断引脚 (IRQ)

IRQ 引脚是 IRQ 中断的输入源,也是 BIH BIL 指令的输入。如果未使能 IRQ 功能,这个引脚仍配置为 TPMCLK ( 参见 TPM 章节 )。
EMC 敏感的应用中,建议在 IRQ 引脚上添加一个外部 RC 过滤器。参见 图 2-3 的示例。

2.3.7 通用 I/O 和外设端口

剩余的引脚被通用 I/O 和片上外设功能,如定时器和串行 I/O 系统共用。 复位后,所有这些引脚立即配置 为高阻抗通用输入,且内部上拉电阻关闭。
注意
为了避免浮动输入引脚消耗额外的电流,应用程序中的复位初始化例程必须使能片 上上拉电阻或者更改未使用的引脚到输出的方向,使引脚不浮空。
不是所有封装都提供所有的通用 I/O 引脚。为了避免浮空输入引脚消耗额外的电 流,应用程序中用户的复位初始化例程必须使能片上上拉电阻或者更改未使用的引 脚到输出的方向,使引脚不浮空。
有关控制这些引脚作为通用 I/O 引脚的更多信息,参见6 章 并行输入 / 输出
当片上外围系统控制引脚时,数据方向控制位仍决定从端口数据寄存器中读什么,而外围模块则通过控 制引脚输出缓冲的使能来控制引脚方向。 参见6 章 并行输入 / 输出了解更详细的信息。
只要引脚作为输入,每个输入引脚的上拉使能位控制片上上拉电阻是否使能,即使引脚是受片上外围模 块控制。当 IRQ 配置为 IRQ 输入,且设置为检测上升边沿时,上拉使能控制位使能下拉电阻,而不是上拉电 阻。
注意
如果先激活替代功能,则可能会给模块一个伪边沿。用户软件必须在激活中断前清 除所有相关的标记。2-1 列出了多个模块使能时的优先级。最高优先级模块对引 脚有控制权。在使能了较低优先级的功能后,再选择较高优先级引脚功能,会造成 较低优先级模块得到伪边沿。建议在启动另一个模块前关闭所有共享此引脚的模 块。
SC116009 系列微控制器数据手册 , 第 1
26 飞思卡尔半导体
引脚编
<-- 最低 优先级 --> 最高
64 44
端口引脚
Alt 1 Alt 2
11PTC4
22IRQ TPMCLK
1
3 3 RESET
4 4 PTF0 TPM1CH2
5 5 PTF1 TPM1CH3
6 — PTF2 TPM1CH4
7 — PTF3 TPM1CH5
8 6 PTF4 TPM2CH0
9—PTC6
10 — PTF7
11 7 PTF5 TPM2CH1
12 — PTF6
13 8 PTE0 TxD1
14 9 PTE1 RxD1
15 10 PTE2 TPM1CH0
16 11 PTE3 TPM1CH1
17 12 PTE4 SS1
18 13 PTE5 MISO1
19 14 PTE6 MOSI1
20 15 PTE7 SPSCK1
21 16 V
SS
22 17 V
DD
23 18 PTG0
24 19 PTG1
25 20 PTG2
26 21 PTA0
27 22 PTA1
28 — PTA2
29 — PTA3
30 — PTA4
31 — PTA5
32 — PTA6
33 — PTA7
34 23 PTB0 TPM3CH0 AD1P0
35 24 PTB1 TPM3CH1 AD1P1
36 25 PTB2 AD1P2
37 26 PTB3 AD1P3
38 — PTB4 AD1P4
39 — PTB5 AD1P5
40 — PTB6 AD1P6
41 — PTB7 AD1P7
42 27 PTD0 AD1P8
43 28 PTD1 AD1P9
44 29 V
DDAD
45 30 V
SSAD
46 31 PTD2 AD1P10
47 32 PTD3 AD1P11
48 33 PTG3
49 — PTG4
50 — PTD4 TPM2CLK AD1P12
51 — PTD5 AD1P13
52 — PTD6 TPM1CLK AD1P14
53 — PTD7 AD1P15
54 34 V
REFH
55 35 V
REFL
56 36 BKGD MS
57 37 PTG5 XTAL
58 38 PTG6 EXTAL
59 39 V
SS
60 40 PTC0
61 41 PTC1
62 42 PTC2 MCLK
63 43 PTC3 TxD2
引脚编
<-- 最低 优先级 --> 最高
64 44
端口引脚
Alt 1 Alt 2
2-1. 引脚提供情况 (按封装引脚计数)
2 章 引脚和连接
1. TPMCLKTPM1CLK TPM2CLK 可通过软件配置; 复位后, TPM1CLKTPM2CLK TPMCLK 分别提供给 TPM1
TPM2 TPM3
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 27
2 引脚和连接
SC116009 系列微控制器数据手册 , 1
28 飞思卡尔半导体

3 章 操作模式

3.1 介绍

本章介绍 SC116009 系列的操作模式,包括如何进入每个模式,如何从每个模式中退出,以及在每个模 式中的功能。

3.2 特性

用于代码开发的激活后台模式
等待模式:
• CPU 关闭以省电
系统时钟正常运行
稳压功能正常运行
停止模式:
系统时钟停止;稳压器处于待机状态
停止 2: 内部电路的部分电源关闭; 保留 RAM 内容
停止 3: 所有内部电路都接通电源,以进行快速恢复;

3.3 运行模式

这是 SC116009 系列的正常操作模式。如果 BKGD/MS 引脚处于复位上升边沿的高电平位置,则进入这 个模式。在这种模式下, CPU 从内部存储器执行代码,从地址 0xFFFE: 0xFFFF 开始。

3.4 激活后台模式

激活后台模式功能通过 HCS08 内核中的后台调试控制器 (BDC)进行管理。在软件开发过程中, BDC 与片上 ICE 调试模块 (DBG)一起用于分析 MCU 的 操作。
通过以下五种方式可以进入后台模式:
• BKGD/MS 引脚在上升边沿的低电平时
通过 BKGD 引脚收到 BACKGROUND 指令时
执行 BGND 指令时
遇到 BDC 断点时
遇到 DBG 断点时
进入激活后台模式后, CPU 保持挂起状态,等待串行后台指令而不是执行来自用户应用程序的指令。
后台指令有两种类型:
非侵入式指令: 用户程序运行时可以发出的指令,在 MCU 处于运行模式时通过 BKGD 引脚发出。它 们也可以在 MCU 处于激活后台模式时执行。非入侵式指令包括:
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 29
3 章 操作模式
存储器访问指令
带状态的存储器访问指令
• BDC 寄存器访问指令
• BACKGROUND 指令
激活后台指令: 只有当 MCU 处于激活后台模式时才执行的指令。激活后台指令包含执行以下操作的
命令:
读或写 CPU 寄存器
在特定时间跟踪一个用户程序指令
退出激活后台模式,返回用户应用程序 (GO

3.5 等待模式

执行 WAIT 指令可以进入等待模式。在执行 WAIT 指令后, CPU 进入无时钟的低功耗状态。 CPU 进入等 待模式后, CCR (条件代码寄存器)中的 I 位被清除,启动中断操作。发生中断请求后,CPU 退出等待模式 并恢复处理,先开始执行堆叠操作,进入中断服务例程。
MCU 处于等待模式时,后台调试命令的使用受到一些限制。 MCU 处于等待模式时,只有 BACKGROUND 指令和带状态存储器访问指令可用。带状态存储器访问指令虽然禁止存储器访问,但它们会
上报错误,指示 MCU 处于停止或等待模式。可以使用后台命令将 MCU 从等待模式中唤醒进入激活后台模 式。

3.6 停止模式

当系统选项寄存器中设置了 STOPE 位,在执行 STOP 指令时,进入停止模式 (共两个停止模式)。在 停止模式中,所有内部时钟都暂停。如果在 CPU 执行 STOP 指令时, STOPE 位没有设置,则 MCU 不能进 入任何一个停止模式,并且强制执行非法操作代码复位。 在 SPMSC2 中设置相应位可以选择停止模式。
一些用于低电压 (1.8 V 至 3.6 V) 操作的 HCS08 器件还包含停止 1 模式。SC116009 系列 的器件在 2.7 V 至 5.5 V 范围内操作,不包含停止 1 模式。
3-1 总结了每个停止模式中 MCU 的行为。
3-1. 停止模式行为
模式
停止 21
停止 30
1
晶体振荡器可以设置在停止 3 模式中运行。参见 ICG 寄存器。
PPDC

3.6.1 停止 2 模式

停止 2 模式的待机功耗非常低,而且它保持 RAM 的内容以及所有 I/O 引脚的电流状态。 要进入停止 2 模 式,用户必须执行 STOP 指令,选择停止 2 (PPDC = 1) 的,使能停止模式 (STOPE = 1) 此外,在停止模式 操作时,LVD 必须关闭 (LVDSE = LVDE = 1)。 如果在停止模式中 LVD 使能, 则在执行 STOP 指令时 MCU 进 入停止 3 模式,无论 PPDC 处于何状态。
CPU, 数字外
设, Flash
关闭 待机 关闭 关闭 待机 状态保持
待机 待机 关闭
RAM ICG ADC
1
可选打开 待机 状态保持
稳压器 I/O 引脚
SC116009 系列微控制器数据手册 , 1
30 飞思卡尔半导体
3 章 操作模式
在进入停止 2 模式之 前,用户必须将 I/O 端口寄存器的内容,以及任何其它存储器映射的寄存器的内容
(如果需要在退出停止 2 模式后恢复),保存到 RAM 中的位置。在退出停止 2 模式时,这些值可以在引脚锁
存打开之前通过用户软件恢复。
MCU 处于停止 2 模式时,除 RAM 外,所有通过稳压器供电的内部电路都被关闭。稳压器与 ADC 一 样处于低功率的待机状态。在进入停止 2 模式时, I/O 引脚的状态被锁存。 状态在停止 2 模式中和退出停止 2 模式后保持不变,直到写 1 SPMSC2 中的 PPDACK
通过确认唤醒引脚: RESET
IRQ 可以退出停止 2 模式。 MCU 处于停止 2 模式时, IRQ 总是激活低输
入,无论进入停止 2 模式之前它是如何设置的。
从停止 2 模式唤醒时,除了 引脚状态仍被锁存, MCU 的启动与加电复位 (POR) 相似。 CPU 将取复位向 量。系统及所有外设将处于其默认复位状态,必须初始化。
从停止 2 模式唤醒后, SPMSC2 中的 PPDF 位被设置。这个标记可以用来引导用户代码运行停止 2 恢复 例程。 PPDF 保留设置, I/O 引脚状态仍被锁存,直到写逻辑 1 SPMSC2 中的 PPDACK
要保持 (已配置为通用 I/O 的)引脚的 I/O 状态,在写入 PPDACK 位之前,用户必须将 I/O 端口寄存器 的内容 (已经保存在 RAM 中)恢复到端口寄存器。如果在写入 PPDACK 之前,端口 寄存器没有从 RAM 恢 复,则在 I/O 引脚锁存打开时,寄存器位将回到其复位状态, I/O 引脚将切换到其复位状态。
对于配置为外围 I/O 的引脚,在写入 PPDACK 位之前,用户必须重新配置与该引脚接口的外围模块。 果在写入 PPDACK 位之前,外围模块未使能,则当 I/O 锁存打开时,引脚将由其相关的端口控制寄存器控 制。

3.6.2 停止 3 模式

要进入停止 3 模式,用户必须执行 STOP 指令,选择停止 3 模式 (PPDC = 0),使能停止模式 (STOPE =
1)。在进入停止 3 模式时, MCU 中的所有时钟,包括振荡器本身都暂停。 ICG 与稳压器和 ADC 一样进入待
机状态。所有内部寄存器和逻辑的状态,以及 RAM 内容均保持不变。和停止 2 模式不同, I/O 引脚状态不锁 存于引脚,相反,它们的状态跟随驱动引脚保持状态的内部逻辑的状态而定。
通过确认 RESET
,或异步中断引脚可以退出停止 3 模式。异步中断引脚为 IRQ 引脚。 通过 SCI 接收器中
断, ADC LVI 也可以退出停止 3 模式。
如果通过确认 RESET
引脚退出停止 3 模式, MCU 将复位,获取复位向量后,操作将恢复。 如果通过异
步中断或者实时中断退出, MCU 将获取相应的中断向量。

3.6.3 在停止模式中使能激活 BDM

如果设置了 BDCSCR 中的 ENBDM 位,将启用从运行模式进入激活后台模式的操作。 第 13 章 开发支持 中描述了该寄存器。如果 CPU 执行 STOP 指令时,设置 ENBDM 位,则当 MCU 进入停止模式时,用于后台 调试逻辑的系统时钟仍保持激活状态。这样,仍然可以进行后台调试通信。此外,稳压器不进入低功率待机状 态,而是保持正常工作。如果用户想通过设置 ENBDM 进入停止 2 模式,则 MCU 将进入停止 3 模式。
停止模式下大多数后台指令不可用。带状态存储器访问指令禁止存储器访问,但它们会上报错误,指示 MCU 处于停止或等待模式。如果 ENBDM 位已设置,可以使用 BACKGROUND 命令将 MCU 从停止模式中唤 醒进入激活后台模式。进入后台调试模式后,所有后台命令都可以使用。3-2 总结了使能 “进入后台调试 模式”时 MCU 的行动。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 31
3 章 操作模式
3-2. BDM 使能的停止模式行为
模式
停止 3x
PPDC
CPU,数字外
设, Flash
待机 待机 激活 可选打开 激活 保持状态
RAM ICG ADC
稳压器 I/O 引脚

3.6.4 在停止模式中使能 LVD

在电源电压下降到 LVD 电压以下时, LVD 系统可以生成中断或复位。在 CPU 执行 STOP 指令时,如果 LVD 在停止模式下使能 (通过设置 SPMSC1 中的 LV D E LVDSE 位),那么稳压器在停止模式下将继续保
持激活状态。如果用户想通过启动 LVD 进入停止 2 模式,则 MCU 将进入停止 3 模式。3-3 总结了 LVD 使 能时, MCU 在停止模式的行为。
3-3. LVD Enabled Stop Mode Behavior
CPU, Digital
模式
PPDC
Peripherals,
RAM ICG ADC
稳压器 I/O 引脚
Flash
停止 3x
待机 待机 关闭 可选打开 激活 保持状态

3.6.5 停止模式下的片上外围模块

当 MCU 进入停止模式时,内部外围模块的系统时钟停止运行。即使在异常情况下 (ENBDM = 1),后台 调试逻辑的时钟继续工作,外围系统的时钟也暂停以降低功耗。有关停止模式下系统行为的详细信息,请参 见 3.6.1 停止 2 模式3.6.2 停止 3 模式
3-4. 停止模式行为
模式
外设
停止 2 停止 3
CPU
RAM
Flash
并行端口寄存器 关闭 待机
ADC
ICG
SCI
SPI
TPM
系统稳压器 待机 待机
I/O 引脚 状态保持 状态保持
1
要求启动异步 ADC 时钟和 LV D,否则为待机。
2
ICGC1 中的 OSCSTEN 被设置,否则为待机。
关闭 待机
待机 待机
关闭 待机
关闭 可选打开
关闭 可选打开
关闭 待机
关闭 待机
关闭 待机
1
2
SC116009 系列微控制器数据手册 , 1
32 飞思卡尔半导体
4
直接页面寄存器
RAM
Flash
高位页面寄存器
2048 字节
3984 字节
$0000
$006F $0070
$086F
$1800
$17FF
$185F
$FFFF
$0870
SC116009
Flash
59,296 字节
$1860
SC116008
直接页面寄存器
RAM
预留
高位页面寄存器
2048 字节
3984 字节
$0000
$006F $0070
$086F
$1800
$17FF
$185F
$FFFF
$0870
Flash
32,768 字节
$1860
预留
26,528 字节
$7FFF $8000
存储器

4.1 SC116009 系列存储器映射

图 4-1 所示, SC116009 系列 MCU 中的片上存储器包括 RAM、非易失性数据存储的 Flash 存储器、 I/O 和控制 / 状态寄存器。这些寄存器可分为以下三类:
直接页面寄存器 ($0000 $006F)
高位页面寄存器 ($1800 $185F)
非易失性寄存器 ($FFB0 $FFBF)
4-1. SC116009 系列存储器映射
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 33
4 存储器

4.1.1 复位和中断向量分配

4-1 为复位和中断向量的地址分配情况。 该表中使用的向量名称为飞思卡尔半导体提供的 系列同等文
件中使用的标签。有关复位、中断、中断优先级和本地中断掩码控制的更多信息,请参见 第 5 章 复位、中断
和系统配置
4-1. 复位和中断向量
地址
( / )
0xFFC0:FFC1
0xFFC4:FFC5
0xFFC6:FFC7
0xFFC8:FFC9
0xFFCA:FFCB
0xFFCC:FFCD
0xFFCE:FFCF
0xFFD0:FFD1
0xFFD2:FFD3
0xFFD4:FFD5
0xFFD6:FFD7
0xFFD8:FFD9
0xFFDA:FFDB
0xFFDC:FFDD
0xFFDE:FFDF
0xFFE0:FFE1 SPI1 Vspi1
0xFFE2:FFE3
0xFFE4:FFE5
0xFFE6:FFE7
0xFFE8:FFE9
0xFFEA:FFEB
0xFFEC:FFED
0xFFEE:FFEF
0xFFF0:FFF1
0xFFF2:FFF3
0xFFF4:FFF5
0xFFF6:FFF7 ICG Vicg
0xFFF8:FFF9
0xFFFA:FFFB IRQ Virq
0xFFFC:FFFD SWI Vswi
0xFFFE:FFFF
向量 向量名称
未使用的向量空间
( 提供给用户程序 )
TPM3 溢出
TPM3 通路 1
TPM3 通路 0
未使用的向量空间
未使用的向量空间
ADC1 转换
未使用的向量空间
SCI2 发送
SCI2 接收
SCI2 错误
SCI1 发送
SCI1 接收
SCI1 错误
TPM2 溢出
TPM2 通路 1
TPM2 通路 0
TPM1 溢出
TPM1 通路 5
TPM1 通路 4
TPM1 通路 3
TPM1 通路 2
TPM1 通路 1
TPM1 通路 0
低电压检测
复位 V 复位
Vtpm3ovf
Vtpm3ch1
Vtpm3ch0
Vad c1
Vsci2tx
Vsci2rx
Vsci2err
Vsci1tx
Vsci1rx
Vsci1err
Vtpm2ovf
Vtpm2ch1
Vtpm2ch0
Vtpm1ovf
Vtpm1ch5
Vtpm1ch4
Vtpm1ch3
Vtp
1ch2
m
Vtpm1ch1
Vtpm1ch0
Vlvd
SC116009 系列微控制器数据手册 , 1
34 飞思卡尔半导体
4 存储器

4.2 寄存器地址和位分配

SC116009 系列产品中的寄存器分为以下三个组:
直接页面寄存器,位于存储器映射的前 11 2 个位置上。因此通过高效的直接寻址模式指令就可以访问 它们。
高位页面寄存器,不经常使用,因此在存储器映象中位于 0x1800 以上,为直接页面中经常使用的寄 存器和变量留出了更多空间。
非易失性寄存器区域包含 16 个位置,位于 Flash 中的 $FFB0–$FFBF 非易失性寄存器位置包含:
三个值,在复位时加载到工作寄存器
一个 8 字节后门比较密钥,可选地允许用户接入安全的存储器
由于非易失性寄存器位置为 Flash 存储器,它们必须象其它 Flash 存储器一样被擦除和编程。
直接页面寄存器可以通过高效的直接寻址模式指令访问。 可以通过位操作指令访问直接页面寄存器中的任
何位。4-2 总结了所有用户可访问的直接页面寄存器和控制位。
4-2 中的直接页面寄存器可以用更高效的直接寻址模式 (这种模式只需要较低字节)。因此,第一栏中
地址的较低字节用粗体显示。4-3 和 表 4-4 整个第一栏都用粗体显示。4-24-3 4-4 中,第二栏 的寄存器名称都用粗体显示,以区别右边的位名称。与所列出的位不相关的单元格用阴影显示。带 0 的阴影 单元格表示这个未使用的位始终读为 0。带破折号的阴影单元格指示未使用的或预留的位可以读为 1 0
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 35
4 章 存储器
表 4-2. 直接页面寄存器一览 ( 第 1 页,共 3 页 )
地址 寄存器名称
0x0000 PTAD 0x0001 PTADD 0x0002 PTBD 0x0003 PTBDD 0x0004 PTCD 0x0005 PTCDD 0x0006 PTDD 0x0007 PTDDD 0x0008 PTED 0x0009 PTEDD 0x000A PTFD 0x000B PTFDD 0x000C PTGD 0x000D PTGDD 0x000E
0x000F
保留
0x0010 ADC1SC1 0x0011 ADC1SC2 0x0012 ADC1RH 0x0013 ADC1RL 0x0014 ADC1CVH 0x0015 ADC1CVL 0x0016 ADC1CFG 0x0017 APCTL1 0x0018 APCTL2 0x0019
0x001B
保留
0x001C IRQSC 0x001D
保留
0x001F 0x0020 TPM1SC 0x0021 TPM1CNTH 0x0022 TPM1CNTL 0x0023 TPM1MODH 0x0024 TPM1MODL 0x0025 TPM1C0SC 0x0026 TPM1C0VH 0x0027 TPM1C0VL 0x0028 TPM1C1SC 0x0029 TPM1C1VH
Bit 7654321Bit 0
PTAD7 PTAD6 PTAD5 PTAD4 PTAD3 PTAD2 PTAD1 PTAD0
PTADD7 PTADD6 PTADD5 PTADD4 PTADD3 PTADD2 PTADD1 PTADD0
PTBD7 PTBD6 PTBD5 PTBD4 PTBD3 PTBD2 PTBD1 PTBD0
PTBDD7 PTBDD6 PTBDD5 PTBDD4 PTBDD3 PTBDD2 PTBDD1 PTBDD0
0 PTCD6 PTCD5 PTCD4 PTCD3 PTCD2 PTCD1 PTCD0
0 PTCDD6 PTCDD5 PTCDD4 PTCDD3 PTCDD2 PTCDD1 PTCDD0
PTDD7 PTDD6 PTDD5 PTDD4 PTDD3 PTDD2 PTDD1 PTDD0
PTDDD7 PTDDD6 PTDDD5 PTDDD4 PTDDD3 PTDDD2 PTDDD1 PTDDD0
PTED7 PTED6 PTED5 PTED4 PTED3 PTED2 PTED1 PTED0
PTEDD7 PTEDD6 PTEDD5 PTEDD4 PTEDD3 PTEDD2 PTEDD1 PTEDD0
PTFD7 PTFD6 PTFD5 PTFD4 PTFD3 PTFD2 PTFD1 PTFD0
PTFDD7 PTFDD6 PTFDD5 PTFDD4 PTFDD3 PTFDD2 PTFDD1 PTFDD0
0 PTGD6 PTGD5 PTGD4 PTGD3 PTGD2 PTGD1 PTGD0
0 PTGDD6 PTGDD5 PTGDD4 PTGDD3 PTGDD2 PTGDD1 PTGDD0
— —
COCO AIEN ADCO ADCH
ADACT ADTRG ACFE ACFGT 0 0 R R
0 0 0 0 0 0 ADR9 ADR8
ADR7 ADR6 ADR5 ADR4 ADR3 ADR2 ADR1 ADR0
0 0 0 0 0 0 ADCV9 ADCV8
ADCV7 ADCV6 ADCV5 ADCV4 ADCV3 ADCV2 ADCV1 ADCV0
ADLPC ADIV ADLSMP MODE ADICLK
ADPC7 ADPC6 ADPC5 ADPC4 ADPC3 ADPC2 ADPC1 ADPC0
ADPC15 ADPC14 ADPC13 ADPC12 ADPC11 ADPC10 ADPC9 ADPC8
— —
0 IRQPDD IRQEDG IRQPE IRQF IRQACK IRQIE IRQMOD
— —
TOF TOIE CPWMS CLKSB CLKSA PS2 PS1 PS0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
CH0F CH0IE MS0B MS0A ELS0B ELS0A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
CH1F CH1IE MS1B MS1A ELS1B ELS1A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
SC116009 系列微控制器数据手册 , 1
36 飞思卡尔半导体
表 4-2. 直接页面寄存器一览 ( 第 2 页,共 3 页 )
4 章 存储器
地址 寄存器名称
0x002A TPM1C1VL 0x002B TPM1C2SC 0x002C TPM1C2VH 0x002D TPM1C2VL 0x002E TPM1C3SC 0x002F TPM1C3VH 0x0030 TPM1C3VL
0x0031 TPM1C4SC
0x0032 TPM1C4VH
0x0033 TPM1C4VL
0x0034 TPM1C5SC
0x0035 TPM1C5VH
0x0036 TPM1C5VL 0x0037
保留
0x0038 SCI1BDH 0x0039 SCI1BDL 0x003A SCI1C1 0x003B SCI1C2 0x003C SCI1S1 0x003D SCI1S2 0x003E SCI1C3 0x003F SCI1D 0x0040 SCI2BDH 0x0041 SCI2BDL 0x0042 SCI2C1 0x0043 SCI2C2 0x0044 SCI2S1 0x0045 SCI2S2 0x0046 SCI2C3 0x0047 SCI2D 0x0048 ICGC1 0x0049 ICGC2 0x004A ICGS1 0x004B ICGS2 0x004C ICGFLTU 0x004D ICGFLTL 0x004E ICGTRM 0x004F
保留
0x0050 SPI1C1 0x0051 SPI1C2
Bit 7654321Bit 0
Bit 7654321Bit 0
CH2F CH2IE MS2B MS2A ELS2B ELS2A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
CH3F CH3IE MS3B MS3A ELS3B ELS3A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
CH4F CH4IE MS4B MS4A ELS4B ELS4A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
CH3F CH5IE MS5B MS5A ELS5B ELS5A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
LBKDIE RXEDGIE 0 SBR12 SBR11 SBR10 SBR9 SBR8
SBR7 SBR6 SBR5 SBR4 SBR3 SBR2 SBR1 SBR0
LOOPS SCISWAI RSRC M WAKE ILT PE PT
TIE TCIE RIE ILIE TE RE RWU SBK
TDRE TC RDRF IDLE OR NF FE PF
LBKDIF RXEDGIF 0 RXINV RWUID BRK13 LBKDE RAF
R8 T8 TXDIR TXINV ORIE NEIE FEIE PEIE
Bit 7654321Bit 0
LBKDIE RXEDGIE 0 SBR12 SBR11 SBR10 SBR9 SBR8
SBR7 SBR6 SBR5 SBR4 SBR3 SBR2 SBR1 SBR0
LOOPS SCISWAI RSRC M WAKE ILT PE PT
TIE TCIE RIE ILIE TE RE RWU SBK
TDRE TC RDRF IDLE OR NF FE PF
LBKDIF RXEDGIF 0 RXINV RWUID BRK13 LBKDE RAF
R8 T8 TXDIR TXINV ORIE NEIE FEIE PEIE
Bit 7654321Bit 0
HGO RANGE REFS CLKS OSCSTEN LOCD 0
LOLRE MFD LOCRE RFD
CLKST REFST LOLS LOCK LOCS ERCS ICGIF
0 0 0 0 0 0 0 DCOS
0 0 0 0FLT
FLT
TRIM
SPIE SPE SPTIE MSTR CPOL CPHA SSOE LSBFE
0 0 0 MODFEN BIDIROE 0 SPISWAI SPC0
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 37
4 章 存储器
表 4-2. 直接页面寄存器一览 ( 第 3 页,共 3 页 )
地址 寄存器名称
0x0052 SPI1BR 0x0053 SPI1S 0x0054
保留
0x0055 SPI1D 0x0057
0x005F
保留
0x0060 TPM2SC 0x0061 TPM2CNTH 0x0062 TPM2CNTL 0x0063 TPM2MODH 0x0064 TPM2MODL 0x0065 TPM2C0SC 0x0066 TPM2C0VH 0x0067 TPM2C0VL 0x0068 TPM2C1SC 0x0069 TPM2C1VH 0x006A TPM2C1VL 0x006B
0x006F
保留
Bit 7654321Bit 0
0 SPPR2 SPPR1 SPPR0 0 SPR2 SPR1 SPR0
SPRF 0SPTEFMODF 0 0 0 0
0 0 0 0 0 0 0 0
Bit 7654321Bit 0
— —
TOF TOIE CPWMS CLKSB CLKSA PS2 PS1 PS0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
CH0F CH0IE MS0B MS0A ELS0B ELS0A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
CH1F CH1IE MS1B MS1A ELS1B ELS1A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
4-3 中显示的高位页面寄存器的访问频率比 I/O 和控制寄存器的低的多,因此,它们位于直接可寻址的
存储器空间之外,从 0x1800 开始。
SC116009 系列微控制器数据手册 , 1
38 飞思卡尔半导体
表 4-3. 高位页面寄存器一览 ( 第 1 页,共 2 页 )
4 章 存储器
地址 寄存器名称
0x1800 SRS 0x1801 SBDFR 0x1802 SOPT 0x1803 SMCLK 0x1804 –
0x1805
保留
0x1806 SDIDH 0x1807 SDIDL 0x1808
保留
0x1809 SPMSC1 0x180A SPMSC2 0x180B
保留
0x180C SOPT2 0x180D–
0x180F
保留
0x1810 DBGCAH 0x1811 DBGCAL 0x1812 DBGCBH 0x1813 DBGCBL 0x1814 DBGFH 0x1815 DBGFL 0x1816 DBGC 0x1817 DBGT 0x1818 DBGS 0x1819–
0x181F
保留
0x1820 FCDIV 0x1821 FOPT 0x1822
保留
0x1823 FCNFG 0x1824 FPROT 0x1825 FSTAT 0x1826 FCMD 0x1827–
0x182F
保留
0x1830 TPM3SC 0x1831 TPM3CNTH 0x1832 TPM3CNTL 0x1833 TPM3MODH 0x1834 TPM3MODL
Bit 7654321Bit 0
POR PIN COP ILOP 0ICGLVD0
0 0 0 0 0 0 0BDFR
COPE COPT STOPE 0 0
0 0 0MPE0 MCSEL
— —
REV3 REV2 REV1 REV0 ID11 ID10 ID9 ID8
ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0
LVDF LVDACK LVDIE LVDRE LVDSE LVDE 0
LVWF LVWACK LVDV LVWV PPDF PPDACK PPDC
COPCLKS
— —
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
DBGEN ARM TAG BRKEN RWA RWAEN RWB RWBEN
TRGSEL BEGIN 0 0 TRG3 TRG2 TRG1 TRG0
AF BF ARMF 0 CNT3 CNT2 CNT1 CNT0
— —
DIVLD PRDIV8 DIV5 DIV4 DIV3 DIV2 DIV1 DIV0
KEYEN FNORED 0 0 0 0 SEC01 SEC00
0 0 KEYACC 0 0 0 0 0
FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1 FPDIS
FCBEF FCCF FPVIOL FACCERR 0 FBLANK 0 0
FCMD7 FCMD6 FCMD5 FCMD4 FCMD3 FCMD2 FCMD1 FCMD0
— —
TOF TOIE CPWMS CLKSB CLKSA PS2 PS1 PS0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
TPMCCFG
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
1
BGBE
— —
— —
— —
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 39
4 章 存储器
表 4-3. 高位页面寄存器一览 ( 第 2 页,共 2 页 )
地址 寄存器名称
0x1835 TPM3C0SC 0x1836 TPM3C0VH 0x1837 TPM3C0VL 0x1838 TPM3C1SC 0x1839 TPM3C1VH 0x183A TPM3C1VL 0x183B
0x183F
保留
0x1840 PTAPE 0x1841 PTASE 0x1842 PTADS 0x1843
保留
0x1844 PTBPE 0x1845 PTBSE 0x1846 PTBDS 0x1847
保留
0x1848 PTCPE 0x1849 PTCSE 0x184A PTCDS 0x184B
保留
0x184C PTDPE 0x184D PTDSE 0x184E PTDDS 0x184F
保留
0x1850 PTEPE 0x1851 PTESE 0x1852 PTEDS 0x1853
保留
0x1854 PTFPE 0x1855 PTFSE 0x1856 PTFDS 0x1857
保留
0x1858 PTGPE 0x1859 PTGSE 0x185A PTGDS 0x185B–
0x185F
1
这个预留位必须总是为 0
保留
Bit 7654321Bit 0
CH0F CH0IE MS0B MS0A ELS0B ELS0A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
CH1F CH1IE MS1B MS1A ELS1B ELS1A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
Bit 7654321Bit 0
— —
PTAPE7 PTAPE6 PTAPE5 PTAPE4 PTAPE3 PTAPE2 PTAPE1 PTAPE0
PTASE7 PTASE6 PTASE5 PTASE4 PTASE3 PTASE2 PTASE1 PTASE0
PTADS7 PTADS6 PTADS5 PTADS4 PTADS3 PTADS2 PTADS1 PTADS0
PTBPE7 PTBPE6 PTBPE5 PTBPE4 PTBPE3 PTBPE2 PTBPE1 PTBPE0
PTBSE7 PTBSE6 PTBSE5 PTBSE4 PTBSE3 PTBSE2 PTBSE1 PTBSE0
PTBDS7 PTBDS6 PTBDS5 PTBDS4 PTBDS3 PTBDS2 PTBDS1 PTBDS0
0 PTCPE6 PTCPE5 PTCPE4 PTCPE3 PTCPE2 PTCPE1 PTCPE0
0 PTCSE6 PTCSE5 PTCSE4 PTCSE3 PTCSE2 PTCSE1 PTCSE0
0 PTCDS6 PTCDS5 PTCDS4 PTCDS3 PTCDS2 PTCDS1 PTCDS0
PTDPE7 PTDPE6 PTDPE5 PTDPE4 PTDPE3 PTDPE2 PTDPE1 PTDPE0
PTDSE7 PTDSE6 PTDSE5 PTDSE4 PTDSE3 PTDSE2 PTDSE1 PTDSE0
PTDDS7 PTDDS6 PTDDS5 PTDDS4 PTDDS3 PTDDS2 PTDDS1 PTDDS0
PTEPE7 PTEPE6 PTEPE5 PTEPE4 PTEPE3 PTEPE2 PTEPE1 PTEPE0
PTESE7 PTESE6 PTESE5 PTESE4 PTESE3 PTESE2 PTESE1 PTESE0
PTEDS7 PTEDS6 PTEDS5 PTEDS4 PTEDS3 PTEDS2 PTEDS1 PTEDS0
PTFPE7 PTFPE6 PTFPE5 PTFPE4 PTFPE3 PTFPE2 PTFPE1 PTFPE0
PTFSE7 PTFSE6 PTFSE5 PTFSE4 PTFSE3 PTFSE2 PTFSE1 PTFSE0
PTFDS7 PTFDS6 PTFDS5 PTFDS4 PTFDS3 PTFDS2 PTFDS1 PTFDS0
0 PTGPE6 PTGPE5 PTGPE4 PTGPE3 PTGPE2 PTGPE1 PTGPE0
0 PTGSE6 PTGSE5 PTGSE4 PTGSE3 PTGSE2 PTGSE1 PTGSE0
0 PTGDS6 PTGDS5 PTGDS4 PTGDS3 PTGDS2 PTGDS1 PTGDS0
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
— —
SC116009 系列微控制器数据手册 , 1
40 飞思卡尔半导体
4 章 存储器
4-4 中显示的非易失性 Flash 寄存器,位于 Flash 存储器中。 这些寄存器中包括一个 8 字节后门密钥,
可选地用于访问安全的存储器资源。 在复位过程中, Flash 存储器的非易失性寄存器区中的 NVPROT NVOPT 内容会转移到高位页面寄存器中相应的 FPROT FOPT 寄存器,以控制安全和块保护选项。
4-4. 非易失性寄存器一览
地址 寄存器名称
$FFB0 – $FFB7
$FFB8 – $FFBB
$FFBC 保留用于存储
$FFBD NVPROT $FFBE 保留用于存储
$FFBF NVOPT
NVBACKKEY
保留
250 kHz ICGTRM
243 kHz ICGTRM
Bit 7654321Bit 0
8-Byte Comparison Key
FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1 FPDIS
KEYEN FNORED 0 0 0 0 SEC01 SEC00
如果密钥使能 (KEYEN)位为 1,那么可用 8 字节对比密钥来临时摆脱存储器安全的限制。这种密钥机 制只能通过在安全的存储器中运行的用户代码来使用。(安全密钥不能通过后台调试指令直接进入。)这个安 全密钥可通过将 KEYEN 位设为 0 来关闭。如果这个安全密钥关闭,那么摆脱安全限制的唯一方式是完全擦除 Flash (通常通过后台调试接口)并确认 Flash 为空。为了避免在下一次复位后返回到安全模式,应该将安全 位(SEC01:SEC00)设置为非安全状态 (10

4.3 RAM

SC116009 系列 包含静态 RAMRAM 0x0100 以下的位置可以通过更高效的直接寻址模式访问,而这 一区域中的任何单个位可以通过位操作指令 (BCLRBSETBRCLR BRSET)访问。优先将最常访问的 编程变量放在 RAM 的这个区域中。
MCU 处于低功率等待、停止 2 或停止 3 模式时, RAM 会保留数据。加电启动时, RAM 中的内容不会 初始化。如果电源电压没有降到保留 RAM 的最低值以下,则任何复位对 RAM 数据不会产生影响。
为了实现与 M68HC05 MCU 的兼容性, HCS08 将堆栈指针复位到 0x00FF。在 SC116009 系列中,最好 将堆栈指针重新初始化到 RAM 顶部,这样,访问频率比较高的 RAM 变量和位可寻址程序变量可以使用直接 页面 RAM。将下面这个两指令序列包含在你的复位初始化例程 (其中的 RamLast 等于飞思卡尔半导体等同 文件中 RAM 的最高地址)中。
LDHX #RamLast+1 ;point one past RAM TXS ;SP<-(H:X-1)
当安全性启动时, RAM 被认为是一种安全的存储器资源,不能通过 BDM 或从非安全存储器中执行代码 来访问。有关安全特性的更多描述, 请参见 4.5 安全性
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 41
4 存储器

4.4 Flash

Flash 存储器主要用作存储程序。 在线编程允许在最终组装完应用程序产品后将操作程序加载到 Flash 储器中。可以通过单线后台调式接口编程整个阵列。由于 Flash 擦除和编程操作都不需要专用电压,通过其它 软件控制的通信路径可以实现应用中编程。有关在线编程和在应用中编程的更多讨论,请参阅 《HCS08 系列 参考手册》,第 1 卷,飞思卡尔半导体文档订购号 HCS08RMv1

4.4.1 特性

Flash 存储器的特性包括:
• Flash 大小
• SC116009 61268 字节 (120 页 ,每页 512 字节 )
• SC116008 32768 字节 (64 页,每页 512 字节 )
单电源编程和擦除
命令介面,实现快速编程和擦除操作
典型电压和温度下高达 100,000 编程 / 擦除循环
灵活的块保护
• Flash RAM 的安全特性
对于低频率读操作自动降低功率

4.4.2 编程和擦除时间

在接受任何编程或擦除命令前,必须写入 Flash 时钟分频寄存器 (FCDIV) ,将 Flash 模块的内部时钟设置 为 150 kHz 200 kHz 之间的频率 (f 能写入一次,因此通常是在复位初始化过程中进行写。如果 FSTAT 中的 FACCERR 被设置,即访问错误标 记,则不能写入 FCDIV。用户必须确保在写入 FCDIV 寄存器之前没有设置 FACCERR。命令处理器以所得时 钟 (1/f
) 的一个周期来对编程和擦除脉冲定时。命令处理器用整数个定时脉冲来完成编程或擦除命令。
FCLK
4-5 给出了编程和擦除时间。总线时钟频率和 FCDIV 决定 FCLK 的频率 (f
t
FCLK
= 1/f
。显示的时间为多个 FCLK 循环,作为 t
FCLK
包括命令状态机的开销及使能和关闭编程和擦除电压的时间。
参数 r FCLK周期 FCLK = 200 kHz 时的时间
字节编程
字节编程 ( 突发 )
页面擦除
完全擦除
1
不包括开始 / 结束开销
( 参见 4.6.1 节 Flash 时钟分频寄存器 (FCDIV))。这个寄存器只
FCLK
)。一个 FCLK 周期为
FCLK
= 5s 时的一个绝对时间 。显示的编程和擦除时间
FCLK
4-5. 编程和擦除时间
945 μs
4
4000 20 ms
20,000 100 ms
20 μs
1
SC116009 系列微控制器数据手册 , 1
42 飞思卡尔半导体
4 存储器

4.4.3 编程和擦除命令的执行

FCDIV 寄存器必须初始化,而且在开始执行命令之前,复位和错误标记都要清除。命令执行步骤如下:
1. 将一个数据值写入到 Flash 阵列中的一个地址中。写入的地址和数据信息被锁存在 Flash 接口中。写
入操作是任何命令序列要求的第一步。对于擦除和空白检查命令,这些数据的值并不重要。对于页面 擦除命令,地址可以是要擦除的 Flash 512 字节页面中的任何地址。对于完全擦除和空白检查命 令,地址可以是 Flash 存储器中的任何地址。整个 512 字节页面是可被擦除的最小 Flash 单元块。在 60 K 版本中,有两种情况的用户可访问单元块大小低于 512 字节,第一种情况是 RAM 后的第一个页 面,第二种情况是高位页面寄存器后的第一个页面。这些页面分别与 RAM 和高位页面寄存器重叠。
注意
成功进行擦除操作后,在 Flash 中编程任何字节的次数不要超过一次。不允许对已 经编程的字节进行重新编程,除非先擦除该字节所在的页面,或完全擦除整个
Flash。不先擦除就编程会扰乱 Flash 中存储的数据。
2. 将命令代码写入到 FCMD 中。五个有效的命令分别是空白检查 ( 0x05)、字节编程 (0x20)、突发 编程 (0x25)、页面擦除 (0x40)和完全擦除 ( 0x41)。 命令代码锁存在命令缓冲器中。
3. FSTAT 中的 FCBEF 位写为 1,清除 FCBEF,并发起 命令 (包括它的地址和数据信息)。
在写入存储器阵列后,写入 1 清除 FCBEF 和发起完整的命令之前,可以通过写 0 FCBEF 手动取消部 分命令序列。 以这种方式取消一个命令,会置 FACCERR 访问错误标记,在启动新的命令前必须清除这个标 记。
必须严格遵守监控流程,否则命令不会被接受。这样,可以降低 Flash 存储器内容被意外修改的可能性。 FCCF (命令完成标记)指示命令完成的时间。清除 FCBEF ,可以完成命令序列,并发起该命令。4-2 执行所有命令 (突发编程除外)的流程图。 在使用任何 Flash 命令前, FCDIV 寄存器必须初始化,在复位以 后只能执行一次。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 43
4 章 存储器
开始
写入 Flash
缓存地址和数据
将命令写入到 FCMD
FPVIO OR
1 写入到 FCBEF
发起命令
并清除 FCBEF (2)
1
0
FCCF ?
出错退出
完成
(2)
在检查 FCBEF FCCF 之前等
0
FACCERR ?
清除错误
FACCERR ?
写入到 FCDIV
(1)
(1) 复位后,只需要一次
待至少四个总线周期
4-2. Flash 编程和擦除流程图

4.4.4 突发编程执行

突发编程命令用来对数据的连续字节进行编程,所用的时间比标准编程命令更短。这是因为编程操作之 间不需要关闭 Flash 阵列的高电压。通常情况下,在发出编程或擦除命令后,必须使能一个与 Flash 相关的内 部电荷泵,为阵列提供高电压。命令完成后,该电荷泵会关闭。发出突发编程命令后,如果满足以下两个条 件,电荷泵会开启而且在突发编程操作完成后将保持开启状态:
1. 下一个突发编程命令在当前编程操作完成前已排队。
2. 下一个顺序地址选择与已编程的当前字节相同的物理行上的一个字节。 Flash 存储器的一行包括 64
字节。地址 A5 A0 选择一行中的一个字节。当地址 A5 A0 都为零时,就开始一个新行。
在突发模式下对一系列已经编程的连续字节的第一个字节进行编程,所需要的时间与在标准模式下相同。 如果达到上述两个条件,后面的字节将在突发编程时间内编程。如果下一个地址是新的一行的开始,那么该字 节的编程时间将是标准时间而不是突发时间。这是因为阵列的高电压必须先关闭然后重新开启。如果在当前命 令完成前,队列中没有任何新的突发命令,那么电荷泵将关闭,高电压将从阵列上断开。
44 飞思卡尔半导体
SC116009 系列微控制器数据手册 , 第 1
4 章 存储器
1
0
FCBEF ?
开始
写入 Flash
缓存地址和数据
将命令写入到 FCMD
FPVIO 或者
1 写入到 FCBEF
发起命令
清除 FCBEF
2
新的突发命令 ?
1
0
FCCF ?
出错退出
完成
2 在检查 FCBEF FCCF 之前,等
待至少四个总线周期。
1
0
FACCERR ?
清除错误
FACCERR ?
写入 FCDIV
1
1 复位后,只需要一次。
4-3. Flash 突发编程流程图

4.4.5 访问错误

当违反命令执行协议时会出现访问错误。
下列行为将导致 FSTAT 中的访问出错标识位 (FACCERR)被置位。只有当 FACCERR 被清零 (通过1 FSTAT 的 FACCERR 位)后,才能处理命令
在写入 FCDIV 寄存器来设置内部 Flash 时钟频率前,写入 Flash 地址。
在没有设置 FCBEF 的情况下写入 Flash 地址 (命令缓冲器清空之前不能开始新的命令)。
在发出前一个命令之前第 2 次写入 Flash 地址 (每个命令只能向 Flash 中写入一次)。
发出前一个命令之前第 2 次写入 FCMD (每个命令只能向 FCMD 中写入一次)。
在写入 Flash 地址后写入 FCMD 以外的任何 Flash 控制寄存器。
FCMD 写入 5 个允许的代码 (0x05, 0x20, 0x25, 0x40, 0x41, or 0x47)以外的任何命令代码
飞思卡尔半导体 45
SC116009 系列微控制器数据手册 , 第 1
4 章 存储器
FCMD 写入命令之后写除 FSTAT 外的任何 Flash 控制寄存器 (以清除 FCBEF 并发起命令)。
• MCU 在某个编程或擦除命令执行过程中进入停止模式 (命令被终止)。
• MCU 受到安全保护时通过后台调试命令写入字节编程、突发编程、页面擦除命令码 (0x20, 0x25, 0x40)。( MCU 安全时,后台调试控制器只能执行空白检查和完全擦除命令。)
0 写入到 FCBEF 中,取消部分命令。

4.4.6 Flash 块保护

块保护特性可以防止指定地址范围内的 Flash 存储器发生编程或擦除修改。只要任何 Flash 块受保护时, 全部擦除去活。 SC116009 系列允许 Flash 末端和 / 或整个 Flash 存储器的存储器块实施块保护。 去活控制位3 位控制字段用于设置块的大小。另有一个单独的控制位用于对整个 Flash 存储器阵列实施块保护。所有 这七个控制位都位于 FPROT 寄存器中 (参见 4.6.4 Flash 保护寄存器 (FPROT NVPROT))。
在复位时, NVPROT 位置的内容会加载到高位页面寄存器 (FPROT),这个内容位于 Flash 的非易失性 寄存器块中。 应用软件不能直接更改 FPROT,因此失控程序不会更改块保护设置。如果包含 NVPROT 的 Flash 的最后 512 字节受到保护,应用程序就无法更改块保护设置 (不管是有意的还是无意的)。若要擦除受 保护的 Flash 可通过后台调试命令写入 FPROT 控制位 。
块保护的一个用途是保护 Flash 存储器用于 bootloader 程序的区域。 Bootloader 程序可以擦除 Flash 存 储器的其他部分,并重新编程。由于 bootloader 受到保护,即使在擦除和编程操作中 MCU 电源中断,它也不 会受到影响。

4.4.7 向量重定向

块保护启动时,复位和中断向量将受到保护。向量重定向使用户可以修改中断向量信息而不需要对
bootloader 和复位向量空间进行解除保护。将位于地址 0xFFBF NVOPT 寄存器中的 FNORED 位设置为 0,可以启动向量重定向。 要使重定向发生,必须对地址 $FFBD 上的 NVPROT 寄存器进行编程,使至少部分
但不是全部的 Flash 存储器具备块保护。所有中断向量 (存储器位置为 $FFC0–$FFFD)都被重定向,但是 复位向量 ($FFFE:FFFF)不重定向。当被保护的超过 32K 时,不能使能向量重定位。
例如,如果 Flash 512 个字节受到保护,那么受保护的地址区域为 $FE00 $FFFF。中断向量
($FFC0–$FFFD) 被重定向到位置 $FDC0–$FDFD。现在,如果以 SPI 中断为例,那么,用于向量的值是 $FDE0:FDE1 中的值,而不是 $FFE0:FFE1 中的值。这样,用户就可以利用新的程序代码,包括新的中断向 量值对 Flash 的未保护部分进行重新编程,同时使受保护区域,包括缺省向量位置不发生改变。

4.5 安全性

SC116009 系列包含防止非法访问 Flash RAM 存储器内容的电路。使能了安全功能后,Flash RAM 被看作是安全的资源。直接页面寄存器、高位页面寄存器和后台调试控制器被看作是不安全的资源。安全存储 器中执行的程序可以正常访问 MCU 所有存储器的位置和资源。非安全存储器空间执行的程序或通过后台调试 接口来访问安全存储器位置的任何尝试都将被阻拦 (写入操作被忽略,而读取操作则全部返回 0)。
安全性的使能和关闭由 FOPT 寄存器中的两个非易失性寄存器位 (SEC01:SEC00]) 的状态确定。在复位 过程中,非易失性位置 NVOPT 的内容从 Flash 中拷贝到高位页面寄存器空间内的工作 FOPT 寄存器上。用户 可以通过编程 NVOPT 位置来使能安全性。这可以在对 Flash 进行编程的同时完成。如果是 1:0 状态,则安全 性关闭;而另外 3 种组合都会使能安全性。请注意,擦除状态时 (1:1) MCU 是安全的。在开发过程中,只 要 Flash 被擦除,最好立即将 NVOPT 中的 SEC0 位设置为 0 ,这样 SEC01:SEC00 = 1:0。这将使 MCU 在 后续的复位后仍处于非安全状态。
SC116009 系列微控制器数据手册 , 1
46 飞思卡尔半导体
4 章 存储器
MCU 处于安全状态时不能使能片上调试模块。单独的后台调试控制器仍可用于后台存储器访问命令,但 MCU 不能进入激活后台模式,除非在复位的上升沿使 BKGD 保持低电平。
用户可以选择通过一个 8 字节后门安全密钥来设置允许或不允许安全解锁机制。如果 NVOPT/ FOPT 中 的非易失性 KEYEN 位为 0,那么后门密钥关闭,只有通过完全擦除所有 Flash 位置才能解除安全性。如果
KEYEN 为 1,那么安全的用户程序可以通过以下方式来临时关闭安全性:
1. FCNFG 寄存器中的 KEYACC 置于 1。这将使 Flash 模块将写入后门对比密钥位置 (NVBACKKEY NVBACKKEY+7) 的操作解释为与密钥进行比较的值,而不是 Flash 编程或擦除命令的第一步。
2. 将用户输入的密钥值写入到 NVBACKKEY NVBACKKEY+7 位置上。这些写入操作必须按顺序进
行,以 NVBACKKEY 的值开始,以 NVBACKKEY+7 的值结束。这些写入操作中不能使用 STHX,因 为这些写入不能在相邻的总线周期上完成。用户软件一般通过通信接口 (如串行 I/O)从 MCU 系统外 部获取密钥代码。
3. FCNFG 寄存器中的 KEYACC 置于 0。如果写入的 8 字节密钥与 Flash 位置上保存的密钥相匹配, 那么 SEC01:SEC00 被自动修改为 1:0,同时安全性将关闭,直到下一次复位。
安全密钥只能从 RAM 写入,因此在没有安全的用户程序配合的情况下不能通过后台命令输入。若
KEYACC 位被置位,不能读 Flash
后门对比密钥 (NVBACKKEY NVBACKKEY+7) 保存在非易失性寄存器空间内的 Flash 存储器位置中, 因此用户可以准确地编程这些位置,就象编程任何其他 Flash 存储器位置一样。非易失性寄存器与复位和中断 向量均在同一个 512 字节 Flash 块中,因此对这一空间进行块保护同时也可以保护后门对比密钥。块保护不 能通过用户应用程序修改,因此,如果向量空间受到块保护,后门安全密钥机制就不能永久性地修改块保护、 安全设置以及后门密钥。
根据以下步骤,可以通过后台调试接口关闭安全性:
1. 通过写入 FPROT 来关闭所有块保护。 FPROT 只能通过后台调试命令写入而不能通过应用软件写入。
2. 如有必要,完全擦除 Fl
3. Fl
ash 进行空白检查。如果 Flash 完全擦除,那么在下一次复位前安全性一直处于关闭状态。
ash
为了避免在下一次复位后返回到安全模式,对 NVOPT 进行编程使 SEC01:SEC00 = 1:0

4.6 Flash 寄存器和控制位

Flash 模块在高位页面寄存器空间内有 9 个 8 位寄存器,其中三个位于 Flash 存储器的非易失性寄存器空 间,在复位时复制为三个对应的高位页面控制寄存器。 Flash 存储器中还有一个 8 字节对比密钥。 对于 所有 Flash 寄存器的绝对地址分配情况,请参见 表 4-3表 4-4。本章节中的寄存器和控制位只提到了名称。通常 要用飞思卡尔半导体提供的等同或头文件来将这些名称转换为相应的绝对地址。

4.6.1 Flash 时钟分频寄存器 (FCDIV)

该寄存器的第 7 位是一个只读状态标记。 6 0 位可以在任何时候读取,但只能写入一次。在开始任何擦 除或编程操作之前,写入该寄存器,将非易失性存储器系统的时钟频率设置在可接受的限度内。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 47
4 章 存储器
76543210
RDIVLD
W
PRDIV8 DIV5 DIV4 DIV3 DIV2 DIV1 DIV0
复位
00000000
= 保留或未使用
4-4. Flash 时钟分频寄存器 (FCDIV)
4-6. FCDIV 字段描述
字段 描述
7
DIVLD
6
PRDIV8
5
DIV[5:0]
除数加载状态标记设置后,这个只读状态标识 FCDIV 寄存器自复位后已经被写入。复位会清除该位,第一次 写入该寄存器的操作将导致该位被设置,不管写入什么数据。
0FCDIV 自复位后没有被写入; Flash 的擦除和编程操作关闭。 1FCDIV自复位后已写入; Flash 的擦除和编程操作已使能。
预分频 (分频) Flash 时钟除以 8
0 输入到 Flash 时钟分频器的时钟为总线频率时钟。 1 输入到 Flash 时钟分频器的时钟为总线频率时钟除以 8
Flash 时钟分频器除数 — 时钟分频器用 6 DIV5:DIV0 字段中的值加 1 除总线频率时钟 (如果 PRDIV8 = 1 则用总线频率时钟除以 8)。得出的内部 Flash 时钟的频率必须在 200 kHz 到 150 kHz 的范围内,这样才能使 Flash 正常运行。 编程 / 擦除定时脉冲为这个内部 Flash 时钟的一个周期,这相当于 5 ms 到 6.7 ms。 自动编程 逻辑使用整数个这些脉冲来完成擦除或编程操作。请参见 公式 4-1 公式 4-24-7 PRDIV8 和 DIV5:DIV0 的相应值。
如果 PRDIV8 = 0 — f
如果 PRDIV8 = 1 — f
FCLK
FCLK
= f
= f
÷ ([DIV5:DIV0] + 1)
Bus
÷ (8 × ([DIV5:DIV0] + 1))
Bus
显示了所选总线频率的
公式
4-1
公式
4-2
4-7. Flash 时钟分频器设置
f
Bus
20 MHz 1 12 192.3 kHz 5.2 μs
10 MHz 0 49 200 kHz 5 μs
8 MHz 0 39 200 kHz 5 μs
4 MHz 0 19 200 kHz 5 μs
2 MHz 0 9 200 kHz 5 μs
1 MHz 0 4 200 kHz 5 μs
200 kHz 0 0 200 kHz 5 μs
150 kHz 0 0 150 kHz 6.7 μs
PRDIV8
( 二进制 )
DIV5:DIV0
( 十进制 )
f
FCLK
编程 / 擦除定时脉冲
( 最小 5 μs, 最大 6.7 μs)

4.6.2 Flash 选项寄存器 (FOPT NVOPT

在复位过程中,非易失性位置 NVOPT 的内容从 Flash 拷贝到 FOPT 中。第 5 位至第 2 位不使用,读为 0。这个寄存器可以在任何时候读取,但写入无任何意义或影响。若想修改这个寄存器中的值,可对 Flash NVOPT 位置进 Flash 擦除和重新编程,然后发出新的 MCU 复位命令。
SC116009 系列微控制器数据手册 , 1
48 飞思卡尔半导体
4 章 存储器
76543210
R
KEYEN FNORED
W
0000
SEC01 SEC00
复位
= 保留或未使用
在复位期间,这个寄存器从非易失性置 NVOPT 中加载 。 .
4-5. Flash 选项寄存器 (FOPT
4-8. FOPT 字段描述
字段 描述
7
KEYEN
6
FNORED
1:0
SEC0[1:0]
后门密钥机制使能该位设置为 0 时,不能使用后门密钥机制来关闭安全性。后门密钥机制只能从用户 (安全 的)固件上访问。 不能用 BDM 命令来写入可能会打开后门密钥的密钥对比值。有关后门密钥机制的更多信息, 请参见 4.5 安全性
0 不允许后门密钥访问。 1 如果用户固件写入一个与非易失性后门密钥 (从 NVBACKKEY NVBACKKEY+7 按顺序)相匹配的 8
节的值,安全性在下一次 MCU 复位前会暂时关闭。
向量重定向关闭该位为 1 时向量重定向关闭。
0 向量重定向使能。 1 向量重定向关闭
安全状态代码 这个 2 位字段决定 MCU 的安全状态,如下所示。 MCU 处于安全状态时, RAM 和 Flash 中的 内容不能通过指令从不安全的源 (包括后台调试接口)访问。有关安全性的详细信息,请参见 4.5 安全性
00 安全 01 安全 10 不安全 11 安全
在成功输入后门密钥或成功进行 Flash 空白校验后, SEC0[1:0] 改为 10

4.6.3 Flash 配置寄存器 (FCNFG

5 位可以随时读写。 其余总是可读,但不能写。
76543210
R0 0
W
复位
00000000
= 保留或未使用
KEYACC
4-6. Flash 配置寄存器 (FCNFG
4-9. FCNFG 字段描述
字段 描述
5
KEYACC
飞思卡尔半导体 49
使能访问密钥的写入 — 该位启用后门对比密钥的写入。有关后门密钥机制的更多信息,请参见 4.5 节 安全性
0 写入 0xFFB0-0xFFB7 被解释为 Flash 编程或擦除命令的开始。 1 写入 NVBACKKEY (0xFFB0-0xFFB7) 被解释为对比密钥写入。 Flash 后返回无效数据。
SC116009 系列微控制器数据手册 , 1
00000
4 存储器

4.6.4 Flash 保护寄存器 (FPROT NVPROT

在复位过程中,非易失性位置 NVOPT 的内容从 Flash 拷贝到 FPROT 中。这个寄存器可以在任何时候读 取,但写入无任何意义或影响。后台调试命令可以写入 FPROT
76543210
R FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1 FPDIS
W
(1 )
(1)(1)(1)(1)(1)(1)(1)
复位
1
可以使用后台命令更改 FPROT 中这些位的内容。
在复位期间,这个寄存器从非易失性位置 NVOPT 中加载
4-7. Flash 保护寄存器 (FPROT
4-10. FPROT 寄存器字段描述
字段 描述
7:1
FPS[7:1]
0
FPDIS
Flash
保护选择位 FPDIS = 0 时,这个 7 位字段决定位于 Flash 高端地址末尾的未保护 Flash 位置的结束地
址。受保护的 Flash 位置不能被擦除或编程。
保护关闭
Flash
0 FPS[7:1] 指定的 Flash 块具备块保护 (不允许编程和擦除)。 1 Flash 块无保护。

4.6.5 Flash 状态寄存器 (FSTAT

31 0 位总是读为 0,写操作没有意义或影响。剩下的五位是状态位,随时可读。写入这些位有特殊 意义,将在位描述中讨论。
76543210
R
FCBEF
W
FCCF
FPVIOL FACCERR
0FBLANK0 0
复位
11000000
= 保留或未使用
4-8. Flash 状态寄存器 (FSTAT
SC116009 系列微控制器数据手册 , 1
50 飞思卡尔半导体
4-11. FSTAT 字段描述
字段 描述
4 章 存储器
7
FCBEF
6
FCCF
5
FPVIOL
4
FACCERR
2
FBLANK
Flash
命令缓冲器空标记 — FCBEF 位用于发出命令。它还指示命令缓冲器是空的,这样可以在执行突发编程
时执行新的命令序列。 写入 1 或当突发编程命令转移到阵列进行编程时,可以清除 FCBEF 位。只有突发编程命 令可以被缓存。
0 命令缓冲器满 (不能容纳额外的命令)。 1 命令缓冲器可写入新的突发编程命令。
Flash 命令完成标记命令缓冲器为空而且无命令在处理时自动置 FCCF 开始执行新命令时自动清除 FCCF
(将 1 写到 FCBEF 中以注册一个命令)。 写入 FCCF 没有任何意义或影响。
0 命令正在执行过程中。 1 所有命令都已完成。
保护破坏标记 — 当 FCBEF 被清除以注册一个试图擦除或编程受保护的块中的位置时, FPVIOL 自动设置 (错 误的命令会被忽略)。 将 FPVIOL 置 1 可清除 FPVIOL 。
0 无保护破坏。 1 有擦除或编程受保护位置的企图。
访问错误标记 — FACCERR 在以下情况下自动设置:没有严格遵守正确的命令序列 (错误的命令将被忽略), FCDIV 寄存器初始化之前企图进行编程或擦除操作,或在命令正在执行时 MCU 进入停止模式。欲了解哪些行为
被认为是访问错误的详细信息,请参4.4.5 访问错误通过 FACCERR 1 清除 FACCERR0 写入 FACCERR 没有意义或影响。
0 无访问错误。 1 发生了访问错误。
确认为全空(被擦除)标记 — FBLANK 在空白检查命令完成后自动设置为 1 (如果整个 Flash 阵列被确
Flash
认已擦除)。 FBLANK 通过清除 FCBEF 以写入新的有效命令来清除。写入 FBLANK 没有任何意义或影响。 0 在空白检查命令执行完成而且 FCCF = 1 的情况下, FBLANK = 0 指示 Flash 阵列未被完全擦除。 1 在空白检查命令执行完成而且 FCCF = 1 的情况下, FBLANK = 1 指示 Flash EEPROM 阵列已完全擦除
(全 $FF)。

4.6.6 Flash 命令寄存器 (FCMD

4-13 所示,正常用户模式下只能识别 5 种命令代码。有关 Flash 编程和擦除操作的详细讨论,请参 见 4.4.3 节 编程和擦除命令的执行
76543210
R00000000
W FCMD7 FCMD6 FCMD5 FCMD4 FCMD3 FCMD2 FCMD1 FCMD0
复位
字段 描述
7:0
FCMD[7:0]
00000000
4-9. Flash 命令寄存器 (FCMD
4-12. FCMD 字段描述
FCMD[7:0] 的描述参见表 4-13
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 51
4 章 存储器
4-13. Flash 命令
命令
空白检查
字节编程 字节编程 突发模式 $25 mBurstProg
页面擦除 (512 字节 / 页) $40 mPageErase
完全擦除 (所有 Flash $41 mMassErase
FCMD
$05 mBlank
$20 mByteProg
等同文件标签
所有其它命令代码都为非法代码,生成访问错误。
进行完全擦除操作后没有必要再执行空白检查命令。只有作为安全解锁机制的一部分时才需要空白检查。
SC116009 系列微控制器数据手册 , 1
52 飞思卡尔半导体

5 章 复位、中断和系统配置

5.1 介绍

本章讨论了 系列中的基本复位和中断机制,以及各种复位和中断源。外围模块的某些中断源在本参考手 册的其他章节中有更详细的讨论。本节收集了所有复位和中断源的基本信息,以便参考。而有些复位和中断 源,包括计算机正常操作 (COP)的看门狗,它们本身不是片上外围系统,但是系统控制逻辑的一部分。

5.2 特性

复位和中断特性包括:
多源复位,实现灵活的系统配置和可靠操作
加电检测 (POR)
低压检测 (LVD),使能
外部 RESET 引脚
• COP 看门狗使能,及两个超时选择
非法操作代码
来自后台调试主机的串行命令
复位状态寄存器 (SRS) ,指示最新复位的源
每个模块的单独中断向量 (减少轮询开销) ( 参见 表 5-11)

5.3 MCU 复位

复位 MCU 是一个从已知初始状况启动处理的方法。复位期间,大部分控制和状态寄存器强制使用初始 值,并从复位向量 (0xFFFE:0xFFFF) 加载程序计数器。片上外围模块关闭, I/O 引脚初始配置为上拉电阻被关 闭的通用高阻抗输入。条件代码寄存器 (CCR) 中的 I 位被设置,用来阻拦可屏蔽中断,以便用户程序对堆栈指 针 (SP) 和系统控制设置进行初始化。 SP 在复位时强制设为 0x00FF
SC116009 系列有多个复位源:
加电复位 (POR
低电压检测 (LV D
计算机正常操作 (COP) 定时器
非法操作代码检测
后台调试强制复位
外部复位引脚 (RESET
时钟发生器时钟丢失和时钟丢失复位
上述复位源 (后台调试强制复位除外)在系统复位状态寄存器 (SRS) 中都有一个相关位。只要 MCU 进 入复位,内部时钟发生器 (ICG) 模块就切换到自时钟模式,并选择频率为 f
飞思卡尔半导体 53
)
SC116009 系列微控制器数据手册 , 1
Self_reset
。内部总线频率为 ICG
5 章 复位、中断和系统配置
率的一半时,复位引脚的电平降低 34 个总线周期。 完成 34 个总线周期后,该引脚被释放,并由内部上拉电 阻上拉,直到它在外部保持低电平。该引脚释放,再经过 38 个总线周期后,对它进行采样,确定 MCU 复位 是否由复位引脚造成。

5.4 计算机正常操作 (COP) 看门狗

当应用系统软件不能正常执行时, COP 看门狗将强制进行系统复位。为了防止从 COP 定时器 (当 COP 定时器使能时)发起系统复位,应用软件必须定期复位 COP 计数器。如果应用程序在超时前未能复位 COP 计数器,这时会生成一个系统复位,强迫系统回到已知起点。
任何复位后, SOPT 中的 COPE 位都会置位来激活 COP 看门狗 (更多信息请参见 5.8.4 节 系统选项寄
存器 (SOPT))。 如果应用中没有使用 COP 看门狗,可以通过清除 SOPT 的 COPT 位进行禁止。在 SRS 地址
中写入任何值,可复位 COP 计数器。 写入不会影响只读 SRS 中的数据。写入这个地址的操作将被解码,然 后发送复位信号给 COP 计数器。
SOPT2 中的 COPCLKS (更多信息请参见 5.8.9 系统选项寄存器 2 (SOPT2))设置供 COP 定时器 使用的时钟源。 时钟源可以是总线时钟或 1 kHz 内部时钟源。对任一个时钟源来说,都有由 SOPT 中的 COPT 控制的相关长和短超时。5-1 列举了 COPCLKS COPT 位的控制功能。COP 看门狗默认总线时钟 源,长超时 (218 周期)。
5-1. COP 配置选项
控制位
COPCLKS COPT
00
01
10
11
1
栏中显示的值基于 LPO 的频率为 1kHz
时钟源
~1 kHz
~1 kHz
Bus
Bus
COP 溢出计数
5
2
周期 (32 ms)
8
2
周期 (256 ms)
13
2
周期
18
2
周期
1
1
即使应用程序使用复位默认的 COPT COPCLKS 和 COPW 位的设置,用户也必须在复位初始化过程中 写入只可写入一次的 SOPT1 SOPT2 寄存器上,以便锁存该设置。如果应用程序丢失,使用这种方式可以 防止意外修改。初始写入 SOPT SOPT2 会复位 COP 计数器。
写入服务 (清除) COP 计数器的 SRS
,这个操作不能放在中断服务程序 (ISR)中,因为即使是在主
应用程序不能正常执行时,仍然可以定期执行 ISR
MCU 处于后台调试模式时, COP 计数器不会计数。
当选择总线时钟源时,系统如果处于停止模式, COP 计数器不会计数。当 MCU 退出停止模式时, COP 计数器立即恢复计数。
如果选择 1 kHz 时钟源,那么一旦进入停止模式, COP 计数器就会被重新初始化为 0,并在 MCU 退出停 止模式时从 0 开始计数。
SC116009 系列微控制器数据手册 , 1
54 飞思卡尔半导体
5 复位、中断和系统配置

5.5 中断

中断可保存当前 CPU 状态和寄存器,执行中断服务例程 (ISR),然后恢复 CPU 状态,使处理恢复到中断 前的位置。与软件中断 (SWI)不同 (SWI 由程序指令触发),中断是由诸如 IRQ 引脚边沿或定时器溢出等 硬件事件触发。调试模块在特定情况下也会产生 SWI
如果一个使能的中断源内发生事件,将会设置相关的只读状态标记。但 CPU 不会响应,除非 / 直到本地 中断使能设置为逻辑 1CCR 中的 I 位为 0 ,允许中断。 CCR 中的全局中断屏蔽(I 位)在复位后首次设置, 会屏蔽所有可屏蔽的中断源。在清除 I 位之前,用户程序初始化堆栈指针,执行其他系统设置,允许 CPU 响 应中断。
CPU 接收到符合条件的中断请求时,它会在响应中断前先完成当前指令。中断顺序与 SWI 指令的逐个 周期顺序相同,这个顺序是:
CPU 寄存器保存在堆栈上
CCR 中设置 I 位,屏蔽进一步的中断
为当前挂起的最高优先级中断获取中断向量
填充指令队列,程序信息的前 3 个字节从获取中断向量位置的地址开始
CPU 响应中断时, I 位会自动设置,以避免出现又一个中断来中断 ISR 自身 (这称为中断嵌套)。通 常,当 CCR 从进入 ISR 时堆栈的值恢复时, I 位就恢复为 0。在极个别情况中, I 位可以在 ISR 内部清除 (在 清除生成中断的状态标记后),所以无需等待第一个业务例程完成,就可以执行另一个中断。该操作可能导致 一些难以调试的细微程序错误,只建议经验丰富的程序员使用。
中断服务例程以中断恢复 (RTI)指令作为结束。 RTI 指令从堆栈中读取先前保存的信息,将 CCR、 A、 X 和 PC 寄存器恢复为中断前的值。
注意
为了实现与 M68HC08 器件的兼容, H 寄存器不能自动保存和恢复。建议在中断服 务例程 (ISR)开始时就将 H 推到堆栈上,并在使用 RTI ISR 中恢复之前立即 恢复它。
I 位被清除时如果有两个以上挂起的中断,则首先处理优先级最高的源 (参见 表 5-2)。

5.5.1 中断堆栈帧

5-1 显示了堆栈帧的内容和结构。在中断前,堆栈指针 (SP)指向堆栈的下一个可用字节。 CPU 寄存
器的当前值保存在堆栈中,以程序计数器 (PCL)的低阶字节开始,以 CCR 结束。堆栈操作后, SP 指向堆 栈的下一个可用位置,该堆栈是比保存 CCR 的地址小 1 的地址。 堆栈的 PC 值是主程序 (如果不发生中断, 则执行主程序)的指令地址。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 55
5 章 复位、中断和系统配置
条件代码寄存器
累加器
索引寄存器 ( 低位字节 )
程序计数器 高
* 索引寄存器的高位字节 (H) 不自动进行堆栈。
*
程序计数器
²
70
出堆栈顺序
堆栈顺序
5
4
3
2
1
1
2
3
4
5
指向更低位地址
指向更高位地址
中断前的 SP
中断 堆栈后的 SP
5-1. 中断堆栈帧
执行 RTI 指令时,这些值以相反顺序从堆栈中恢复。其中一个步骤是, CPU 读取程序信息的 3 个字节
(始于从堆栈中恢复的 PC 地址),填充指令管道。
ISR 返回前,必须应答 (清除)导致中断的状态标记。通常,该标记应该在 ISR 开始时被清除,这样 如果同一个源生成另外一个中断,就可以注册这个中断,在当前 ISR 完成后再处理这个中断。

5.5.2 外部中断请求 (IRQ)引脚

外部中断由 IRQ 状态和控制寄存器 (IRQSC)管理。当 IRQ 功能开启后,同步逻辑监控引脚是否发生边 沿触发或边沿及电平触发事件。当 MCU 处于停止模式且系统时钟关闭时,将使用独立的异步路径,这样 IRQ
(如果使能)就可以唤醒 MCU
5.5.2.1 引脚配置选项
IRQSC 寄存器中的 IRQ 引脚使能 (IRQPE)控制位必须为 1,这样 IRQ 引脚才能作为中断请求 (IRQ) 输入。作为 IRQ 输入,用户可以选择被检测的边沿或电平 (IRQEDG)的极性,引脚是否检测到仅边沿触发 或是检测到边沿和电平触发 (IRQMOD),或者是否一个事件导致了中断还是只设置了通过软件可以轮询的
IRQF 标记。
IRQ 引脚使能后,默认使用内部上拉 / 下拉电阻 (IRQPDD = 0),器件究竟是上拉还是下拉取决于所选
的极性。如果用户希望使用外部上拉或下拉,可以在 IRQPDD 中写入 1,以关闭内部器件。
当把 IRQ 引脚配置为 IRQ 输入时,可以使用 BIH BIL 指令来检测 IRQ 引脚上的电平。
注意
56 飞思卡尔半导体
上拉 IRQ 引脚上测量到的电压可能只有 VDD – 0.7 V。与该引脚相连的内部门 一直拉到 V
当使能 IRQ 引脚供使用时, IRQF 将被设置,并且必须在使能中断前清除。如
。所有使能了上拉电阻的其它引脚都将有未加载的 VDD测量。
DD
果在 5V 系统中,将这个引脚配置为下降边沿和电平敏感,有必要在清除这个 标记和使能中断之间等待至少 6 个周期。
SC116009 系列微控制器数据手册 , 第 1
5 章 复位、中断和系统配置
5.5.2.2 边沿和电平灵敏度
IRQMOD 控制位重新配置检测逻辑,这样它就能检测边沿事件和引脚电平。在边沿检测模式中,当检测 到边沿时 (IRQ 引脚从无效改为有效电平时), IRQF 状态标记就被设置,但只要 IRQ 引脚处于有效电平,就 会连续设置该标记 (并且不能清除)。

5.5.3 中断向量、源和本地掩码

5-2 列出了所有中断源。较高优先级的源位于表格下方。中断服务例程地址的高阶字节位于向量地址栏
的第一个地址,中断服务例程地址的低阶字节位于下一个高阶地址。
当出现中断时,相关标记位被设置。如果相关的本地中断使能位是 1,中断请求会发送到 CPU。在 CPU 中,如果全局中断屏蔽(CCR 中的 I 位)为 0 CPU 将完成当前指令;堆栈 PCLPCH X、 A 和 CCR CPU 寄存器;并设置 I 位;然后为挂起的最高优先级中断获取中断向量。然后继续处理中断服务例程
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 57
5 章 复位、中断和系统配置
5-2. 向量摘要
向量优先级向量
编号
Higher
29 –310xFFC0/FFC1 –
28 0xFFC6/FFC7 Vtpm3ovf
27 0xFFC8/FFC9 Vtpm3ch1
26 0xFFCA/FFCB Vtpm3ch0 25 0xFFCC/FFCD 未使用的向量空间
24 0xFFCE/FFCF 未使用的向量空间 23 0xFFD0/FFD1 Vadc1 ADC1 COCO AIEN ADC1 22 0xFFD2/FFD3 未使用的向量空间 21 0xFFD4/FFD5 Vsci2tx SCI2 TDRE, TC TIE, TCIE 20 0xFFD6/FFD7 Vsci2rx SCI2 IDLE, RDRF,
19 0xFFD8/FFD9 Vsci2err SCI2 OR, NF, FE, PF ORIE, NFIE, FEIE,
18 0xFFDA/FFDB Vsci1tx SCI1 TDRE
17 0xFFDC/FFDD Vsci1rx SCI1 IDLE, RDRF,
16 0xFFDE/FFDF Vsci1err SCI1 OR, NF, FE, PF ORIE, NFIE, FEIE,
15 0xFFE0/FFE1 Vspi1 SPI1 SPIF, MODF,
14 0xFFE2/FFE3 Vtpm2ovf TPM2 TOF TOIE 13 0xFFE4/FFE5 Vtpm2ch1 TPM2 CH1F CH1IE 12 0xFFE6/FFE7 Vtpm2ch0 TPM2 CH0F CH0IE 11 0xFFE8/FFE9 Vtpm1ovf TPM1 TOF TOIE 10 0xFFEA/FFEB Vtpm1ch5 TPM1 CH5F CH5IE
9 0xFFEC/FFED Vtpm1ch4 TPM1 CH4F CH4IE 8 0xFFEE/FFEF Vtpm1ch3 TPM1 CH3F CH3IE 7 0xFFF0/FFF1 Vtpm1ch2 TPM1 CH2F CH2IE 6 0xFFF2/FFF3 Vtpm1ch1 TPM1 CH1F CH1IE 5 4 0xFFF6/FFF7 Vicg ICG ICGIF
3 0xFFF8/FFF9 Vlvd System
2 0xFFFA/FFFB Virq IRQ IRQF IRQIE 1 0xFFFC/FFFD Vswi Core SWI Instruction — 0 0xFFFE/FFFF
地址
( / )
0xFFC4/0xFFC5
xFFF4/FFF5 Vtpm1ch0 TPM1 CH0F CH0IE
0
向量名称 模块 使能 描述
未使用的向量空间
( 提供给用户程序 )
TPM3 TOF TOIE
TPM3 CH1F CH1IE
TPM3 CH0F CH0IF
ILIE, RIE, LBKDIE,
V 复位
control
System
control
LDBKDIF, RXEDGIF
TC
LDBKDIF, RXEDGIF
SPTEF
(LOLS/LOCS)
LVDF LVDIE
COP
LVD
RESET
Illegal opcode
引脚
RXEDGIE
ILIE, RIE, LBKDIE,
RXEDGIE
SPIE, SPIE, SPTIE SPI1
LOLRE/LOCRE ICG
PFIE
TIE
TCIE
PFIE
COPE
LVDRE
— —
TPM3 溢出 TPM3 通路 1 TPM3 通路 0
SCI2 发送 SCI2 接收
SCI2 错误
SCI1 发送
SCI1 接收
SCI1 错误
TPM2 溢出 TPM2 通路 1 TPM2 通路 0
TPM1 溢出 TPM1 通路 5 TPM1 通路 4 TPM1 通路 3 TPM1 通路 2 TPM1 通路 1 TPM1 通路 0
低压检测
IRQ 引脚 软件中断
看门狗定时器
低压检测 外部引脚
非法操作代码
SC116009 系列微控制器数据手册 , 1
58 飞思卡尔半导体
5 复位、中断和系统配置

5.6 低电压检测 (LVD) 系统

SC116009 系列 具有防止低电压的系统,在电源电压不稳时能够保护存储器内容和控制 MCU 系统状态。 该系统由加电复位 (POR)电路和 LVD 电路组成,其中 LVD 电路带用户可选择的跳变电压,高压 (V 低压 (V
)。当 SPMSC1 中的 LV DE 为高 并且 SPMSC2 中的 LV D V 选择了跳变电压, LVD 电路使能。进入
LVD L
停止模式时,LVD 关闭,除非设置了 LV D SE 位。如果同时设置了 LVDSE LVDE,那 么 MCU 不能进入停止 2 ,而且 使能 LVD 的停止 3 模式将更耗电

5.6.1 加电复位操作

LVD H
)
当首次接通 MCU 的电源时,或当电源电压低于 V LVD 电路让 MCU 保持复位状态,直到电源电压高于 V
时, POR 电路会发起复位。随着电源电压升高,
POR
POR 后, SRS 中 POR 位和 LV D 位同时被设
LVD L
置。

5.6.2 LVD 复位操作

配置 LVD (设置 LV D RE 1),使其在检测到低电压情况时发起复位。在发生 LVD 复位后, LVD 系统 会让 MCU 保持复位状态,直到电源电压高于 LVDV 确定的阈值。LVD 复位或 POR 后都会在 SRS 寄存器中设LVD 位。

5.6.3 LVD 中断操作

当检测到低压情况,且 LVD 电路配置给中断操作 (LVDE 设置, LVDIE 设置, LVDRE 清除 ),则 LVDF 设置,发生 LVD 中断。

5.6.4 低压告警 (LVW)

LVD 系统有一个低压提醒标记,提示电源电压正接近但仍高于 LVD 电压。 LV W 没有相关的中断。 LVW 有两个用户可选择的跳变电压,一个是 高 (V
),一个为低 (V
LVW H
设置。建议不要将 LVW 跳变电压设置为与 LVD 跳变电压相等。 LV W 的典型作用是选择 V
)。跳变电压通过 SPMSC2 中的 LVWV
LVWL
V
LVW H
LVD L

5.7 MCLK 输出

PTC2 引脚复用于 MCLK 时钟输出。设置引脚的使能位 MPE,会造成 PTC2 引脚输出分频后的内部 MCU 总线时钟。分频比率由 MCSEL 位决定。若设置了 MPE,无论 PTC2 引脚的端口数据方向控制位的状态如 何,该引脚都被强制作为输出引脚工作。如果 MCSEL 位均为 0,则该引脚驱向低电平位置。引脚的斜率和驱 动强度分别由 PTCSE2 PTCDS2 控制。如果斜率控制功能被打开,最大时钟输出频率将会受到限制。如需 了解斜率使能时的引脚上升和下降时间,请参见电气技术规范。

5.8 复位、中断及系统控制寄存器和控制位

直接页面寄存器空间里的一个 8 位寄存器和高位页面寄存器空间的八个 8 位寄存器都与复位和中断系统 相关。
欲了解各寄存器的绝对地址分配,请参见本文档第 4 章 存储器中的直接页面寄存器一览。本小节只提及 寄存器和控制位的名称。可以参阅飞思卡尔提供的等同或头文件将这些名称转换为相应的绝对地址。
SOPT 和 SPMSC2 寄存器中的某些控制位与操作模式有关。本小节仅对这些位进行简要描述,详细的描 述参见 第 3 章 操作模式
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 59
5 复位、中断和系统配置

5.8.1 中断引脚请求状态和控制寄存器 (IRQSC)

这个直接页面寄存器包括状态和控制位,用来配置 IRQ 功能、报告状态和应答 IRQ 事件。
76543210
R0
IRQPDD IRQEDG IRQPE
W
IRQF 0
IRQACK
IRQIE IRQMOD
复位
00000000
= 保留或未使用
5-2. 中断请求状态和控制寄存器 (IRQSC)
5-3. IRQSC 寄存器字段描述
字段 描述
6
IRQPDD
5
IRQEDG
4
IRQPE
3
IRQF
2
IRQACK
1
IRQIE
0
IRQMOD
中断请求 (IRQ) 上拉电阻关闭 — IRQ 引脚使能时 (IRQPE = 1) ,这个读 / 写控制位用来关闭内部上拉电阻,允许 使用外部器件。
0 如果 IRQPE = 1, IRQ 上拉电阻使能。 1 如果 IRQPE = 1, IRQ 上拉电阻关闭。
中断请求 (IRQ) 边沿选择这个读 / 写控制位用来选择用于 IRQF 设置的 IRQ 引脚上的边沿或电平极性。 IRQMOD 控制位决定 IRQ 引脚对边沿和电平都敏感还是只对边沿敏感。当 IRQ 引脚作为 IRQ 输入使能且用来
检测上升边沿时,这个可选上拉电阻重新配置为可选下拉电阻。
0IRQ 是下降边沿,或者下降边沿 / 对低电平敏感。 1IRQ 是上升边沿,或者上升边沿 / 对高电平敏感。
IRQ 引脚使能这个读写控制位启用 IRQ 引脚。当设置了该位时, IRQ 引脚可以用作中断请求。而且,当设置 这个位时,可以根据 IRQMOD 位的状态,使能内部上拉或内部下拉电阻。
0IRQ 引脚功能关闭。 1IRQ 引脚功能使能。
IRQ 标记当发生了中断请求事件,该只读状态位对此进行标识。 0 IRQ 请求。 1 检测到 IRQ 事件。
IRQ 应答这个只写位用来应答中断请求事件 (写入 1 清除 IRQF)。写入 0 则没有任何意义或影响。读总是 返回逻辑 0。如果选择了边沿和电平检测 (IRQM
IRQ 中断使能这个读 / 写控制位决定 IRQ 事件是否生成一个硬件中断请求。 0 关闭来自 IRQF 的硬件中断请求 (使用轮询)。 1 IRQF = 1 时请求硬件中断。
IRQ 检测模式 — 这个读 / 写控制位选择仅边沿检测还是边沿和电平检测。 IRQEDG 控制位决定边沿和电平的极 性作为检测到中断请求事件的判断依据。如需了解更多信息,请参见 5.5.2.2 节 边沿和电平灵敏度
0 仅下降边沿或上升边沿的 IRQ 事件。 1 下降和低电平或上升边沿和高电平 IRQ 事件。
OD =
1), 当 IRQ 引脚仍保持有效电平时,不能清除 IRQF

5.8.2 系统复位状态寄存器 (SRS)

这个寄存器的只读状态标记用于指示最近复位的源。将 1 写入 SBDFR 寄存器中的 BDFR 时,调试主机 强制完成复位,SRS 中不设置任何状态位。在寄存器地址中写入任意值都会清除 COP 看门狗定时器,但不会 对寄存器内容造成影响。这些位的复位状态取决于导致 MCU 复位的原因。
SC116009 系列微控制器数据手册 , 1
60 飞思卡尔半导体
5 章 复位、中断和系统配置
76543210
R POR PIN COP ILOP
W
写为任何值到 SIRMRS 地址,清除 COP 看门狗定时器。
预留
ICG LVD 0
POR10000010
LVR:
任何其它
U0000010
0
(1 )
(1) (1)
0
复位 :
U = 不受复位影响
1
复位时激活的任何复位源会造成设置相应的位;复位时未激活的源对应的位将被清除。
5-3. 系统复位状态 (SRS)
5-4. SRS 寄存器字段描述
字段 描述
7
POR
加电复位复位由加电检测逻辑造成。由于此时内部电源电压在上升,所以还要设置低电压复位 (LVD)状态 位,指示已发生复位,而内部电源低于 LVD 阈值。 .
0 POR 造成的复位。 1POR 造成的复位。
6
PIN
外部复位引脚复位由外部复位引脚上的激活低电平造成。 0 非外部复位引脚造成的复位。 1 外部复位引脚造成的复位。
5
COP
计算机正常操作 (COP) 看门狗 — 复位由 COP 看门狗定时器超时导致。该复位源可以通过设置 COPE = 0 来阻 拦。
0 COP 超时造成的复位。 1 COP 超时造成的复位。
4
LOP
非法操作码因试图执行未定义的或非法操作码导致复位。如果 SOPT 寄存器中 STOPE = 0,停止被关闭,此 时, STOP 指令则被视为非法指令。如果 BDCSC 寄存器中 ENBDM = 0 关闭主动后台模式, BGND 指令则视 为非法指令。
0 不是因非法操作码造成的复位。 1 非法操作码造成的复位。
2
ICG
非法时钟生成模块复位 — ICG 模块复位造成复位。 0 不是由 ICG 模块造成的复位。 1ICG模块造成的复位。
1
LVD
低电压检测如果设置了 LVDRE LVDSE 位,且电源降到 LVD 跳接电压以下,就会发生 LV D 复位。该位也 可以由 POR 设置。
0 不是因 LVD 跳接电压或 POR 造成的复位。
VD 跳接电压或 POR 造成的复位。
1L
(1)
00

5.8.3 系统后台调试强制复位寄存器 (SBDFR)

这个寄存器只包括一个只写控制位。必须用串行后台命令,如 WRITE_BYTE 来写入 SBDFR。忽略从用 户程序写入寄存器的尝试。读总是返回 0x00
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 61
5 章 复位、中断和系统配置
76543210
R00000000
W BDFR
1
复位
1
只能通过串行后台调试命令,不能通过用户程序写入 BDFR
00000000
= 保留或未使用
5-4. 系统后台调试强制复位寄存器 (SBDFR)
5-5. SBDFR 寄存器字段描述
字段 描述
0
BDFR
后台调试强制复位可以使用串行后台命令,如 WRITE_BYTE ,使外部调试主机对目标系统进行强制复位。 在该位中写入逻辑 1 ,强制进行 MCU 复位。该位不能从用户程序中写入。

5.8.4 系统选项寄存器 (SOPT)

这个寄存器可随时读。 3 2 位未使用,总读为 0。这是单次写入有效的寄存器,因此只有复位后的第一 次写入才有效。任何后续 SOPT 写入尝试 (有意或无意)都将被忽略,以避免对这些敏感的设置造成意外修 改。 SOPT 应在用户复位初始化程序期间写入,设置期望的控制,即使期望的设置与复位设置相同。
76543210
R
COPE COPT STOPE
W
00
复位
11010011
= 保留或未使用
5-5. 系统选项寄存器 (SOPT)
5-6. SOPT 寄存器字段描述
字段 描述
7
COPE
6
COPT
5
STOPE
COP 看门狗使能复位后,这个单次写入有效位缺省为 1 0COP 看门狗定时器关闭
1COP 看门狗定时器使能 ( 超时时强制复位 )。
COP 看门狗超时 复位后,这个单次写入有效位缺省为 1 0 选择短超时周期。 .
1 选择长超时周期。
停止模式使能 — 这个单次写入有效的位复位后,默认为 0,用来禁止停止模式。如果停止模式禁止期间,用户 程序试图执行 STOP 指令,则会强制进行非法操作码复位。
0 停止模式禁止。 1 停止模式使能。
SC116009 系列微控制器数据手册 , 1
62 飞思卡尔半导体

5.8.5 系统 MCLK 控制寄存器 (SMCLK)

这个寄存器用来控制 MCLK 时钟输出。
76543210
R000
W
MPE
5 章 复位、中断和系统配置
0
MCSEL
复位
00000000
= 保留或未使用
5-6. 系统 MCLK 控制寄存器 (SMCLK)
5-7. SMCLK 寄存器字段描述
字段 描述
4
MPE
2:0
MCSEL
MCLK 引脚使能这个位用来使能 MCLK 功能。 0MCLK输出关闭。 1PTC2 引脚上 MCLK 输出使能。
MCLK 除数选项MCSEL 位不为全零时,这些位用来根据以下公式选择 MCLK 的除数。如果 MCSEL 位为 全零,且 MPE 已设置,则该引脚驱向低电平位置。参见 公式 5-1
MCLK 频率 = 总线时钟频率 ÷ (2 * MCSEL)

5.8.6 系统器件识别寄存器 (SDIDH, SDIDL)

这个只读寄存器允许主机开发系统确定 HCS08 MCU 类型和修订编号 。这样,开发软件可以识别特定 的存储器块、寄存器和控制位在目标 MCU 中的位置。
76543210
R ID11 ID10 ID9 ID8
公式
5-1
W
复位
———— 0 0 0 0
= 保留或未使用
图 5-7. 系统器件识别寄存器 — 高 (SDIDH)
5-8. SDIDH 寄存器字段描述
字段
7:4
预留
3:0
ID[11:8]
飞思卡尔半导体 63
7:4 位预留。读这些位会导致不确定的值 ; 写入操作不产生影响。
部件标识号 — HCS08 系列中的每个部件都有唯一的标识号。 SC116009 系列采用硬编码方式,值为 0x001D。 同时参见5-10 中的 ID 位。
SC116009 系列微控制器数据手册 , 1
Description
5 复位、中断和系统配置
76543210
R ID7 ID6 ID5 D4 ID3 ID2 ID1 ID0
W
复位
00011101
= 保留或未使用
5-8. 系统器件识别寄存器 (SDIDL)
5-9. SDIDL 寄存器字段描述
字段 描述
7:0
ID[7:0]
部件标识号 — HCS08 系列中的每个部件都有唯一的标识号。 SC116009 系列采用硬编码方式,值为 0x001D。 同时参见表 5-11 中的 ID 位。

5.8.7 系统电源管理状态和控制寄存器 1 (SPMSC1)

7654321
RLVDF 0
LVDI E LVDRE
W LVDACK
复位
00011100
= 保留或未使用
1
Bit 1 为预留位,必须写为 0。
2
复位后,这个位只能写入一次。其它写入操作被忽略。
(2 )
LVDS E
(2)
LVDE
(2)
1
0
BGBE
5-9. 系统电源管理状态和控制寄存器 1 (SPMSC1)
5-10. SPMSC1 寄存器字段 描述
字段 描述
7
低压检测标志如果 LVDE = 1, 这个只读状态位指示低压检测事件。
LVDF
6
低压检测应答这个只写位用来应答低压检测错误 (写 1,清除 LVD F)。读操作总返回 0
LVDACK
5
LVDI E
低压检测中断使能这个读 / 写位使能 LVDF 的硬件中断请求。 0 关闭硬件中断 ( 采用轮询 )
1 LVDF = 1 ,请求硬件中断。
4
LVDRE
低压检测复位使能 这个读 / 写位支持 LVD F 事件生成硬件复位 (假设 LVD E = 1 )。 0 LVD 事件不生成硬件复位。 1 LVD F = 1 时,强制 MCU 复位。
3
LVDS E
低压检测停止使能如果 LVD E = 1,这个读 / 写位决定当 MCU 处于停止模式时是否低压检测。 0 停止模式期间低压检测关闭。 1 停止模式期间低压检测使能。
SC116009 系列微控制器数据手册 , 1
64 飞思卡尔半导体
5-10. SPMSC1 寄存器字段 描述
字段 描述
5 章 复位、中断和系统配置
2
LVDE
低压检测使能这个读 / 写位支持低压检测逻辑,并且限定该寄存器中的其他位的操作。 0 LVD 逻辑关闭。 1 LVD 逻辑使能。
0
BGBE
带隙缓冲器使能 BGBE 位使能内部缓冲器,提供带隙电压参考,可供 ADC 模块在其一个内部通路上使用。 0 带隙缓冲器关闭。 1 带隙缓冲器使能。

5.8.8 系统电源管理状态和控制寄存器 2 (SPMSC2)

该寄存器用来报告低电压告警的状态,配置 MCU 的停止模式行为。
76543210
RLVWF 0
W
加电复位
LV D 复位 0
任何其它
复位
:
(3 )
0
(2)
(2)
0
LVWACK PPDACK
0000000
0UU0000
0UU0000
= 保留或未使用 U = 不受复位影响
1
POR 后这个位只能写入一次,后续写入均忽略。
2
复位后,这个位只能写入一次,后续写入均忽略。
3
V
转换低于跳变点或者复位后 V
Supply
LVDV
Supply
1
已经低于 V
LVWV
时, 置位 LV WF
LVW
PPDF 0
PPDC
2
5-10. 系统电源管理状态和控制寄存器 2 (SPMSC2)
5-11. SPMSC2 寄存器字段描述
字段 描述
7
LVW F
低压告警标志 — LVWF 位指示低压警告状态。 0 低压告警未出现。 1 低压告警已出现或出现过。
6
LVWACK
5
LVDV
4
LVWV
3
PPDF
低压告警应答 — LVWACK 位是低压告警应答 如果没有出现低压告警,写 1 LV WAC K,将清 0 LVWF。
低压检测电压选择 — LVDV 位选择 LVD 跳变点电压 (V
0 选择低跳变点 (V 1 选择高跳变点 (V
LVD LVD
= V = V
LVD L LVD H
)
)
低压告警电压选择 — LVWV 位选择 LVW 跳变点电压 (V 0 选择低跳变点 (V 1 选择高跳变点 (V
LVW
LVW
= V
= V
LVW L
LVW H
) )
LVD
LVw
)
)
局部功率下降标志 — PPDF 位标识 MCU 已退出停止 2 模式。 0 非停止 2 模式恢复。
1 停止 2 模式恢复。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 65
5 章 复位、中断和系统配置
表 5-11. SPMSC2 寄存器字段描述 ( 续 )
字段 描述
2
PPDACK
0
PPDC
局部功率下降应答PPDACK 位写为 1,清除 PPDF 位。
局部功率下降控制这个单次写入有效的 PPDC 位控制选择停上 2 还是停止 3 模式。
0 使能停止 3 模式。 1 停止 2,部分功率下降,模式使能

5.8.9 系统选项寄存器 2 (SOPT2)

这个高页寄存器包含配置 SC116009 系列特定功能的位
76543210
R
COPCLKS
W
复位
1
复位后,这个位只能写入一次。后续写入将忽略。
1
10001000
字段 描述
000
= 保留或未使用
5-11. 系统选项寄存器 2 (SOPT2)
5-12. SOPT2 寄存器字段描述
TPMCCFG
000
7
COPCLKS
3
TPMCCFG
COP 看门狗时钟选择这个单次写入有效的位选择 COP 看门狗时钟源。 0 采用内部 1 kHz 时钟作为 COP 的时钟源。 1 采用总线时钟作为 COP 的时钟源。
TPM 时钟配置配置定时器 / 脉宽调制器时钟信号。 0 通过 IRQ 引脚,提供 TPMCLK TPM1 TPM2 TPM3,不提供 TPMCLK1 TPMCLK2
1 分别提供 TPM1CLKTPM2CLK TPMCLK TPM1、 TPM2 和 TPM3。
SC116009 系列微控制器数据手册 , 1
66 飞思卡尔半导体

6 章 并行输入 / 输出

6.1 介绍

本章介绍与并行输入 / 输出 (I/O)相关的软件控制。 SC116009 系列有 7 个 I/O 端口,总共包含 54 个通 用 I/O 引脚。有关这些引脚的逻辑和硬件方面的更多信息,请参见 第 2 章 引脚和连接
这些引脚大多和片上外围设备,如定时器系统、通信系统和键盘中断等复用。当这些模块没有控制端口 引脚时,它们回复到通用 I/O 控制。
注意
不是所有封装都具有全部通用输入 / 输出引脚。为了避免从输入浮空引脚消耗过多 电流,应用程序中的用户复位初始化程序必须要么使能片上上拉电阻,要么将未连 接引脚的方向更改为输出,使引脚不会浮空。

6.2 引脚描述

SC116009 系列在七个端口 (PTA 到 PTG) 提供 54 个并行 I/O 引脚。不是所有封装都具有全部引脚。各种 封装提供的并行 I/O 引脚的信息,请参见 第 2 章 引脚和连接。 所有这些引脚当没有被其他片上外设系统使用 时可用作通用输入输出。
复位后,复用的外围功能关闭,这样这些引脚被并行 I/O 控制。所有并行 I/O 配置为输入 (PTxDDn = 0)。每个引脚的引脚控制功能配置如下:斜率控制使能 (PTxSEn = 1)、选择低驱动强度 (PTxDSn = 0)、 内部上拉关闭 (PTxPEn = 0)。

6.3 并行 I/O 控制

通过端口数据寄存器读 / 写并行 I/O。输入输出方向由端口数据方向寄存器控制。下面的结构图举例了一 个引脚的并行 I/O 端口功能。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 67
6 章 并行输入 / 输出
QD
QD
1
0
端口读
PTxDDn
PTxDn
输出使能
输出数据
输入数据
同步器
数据
BUSCLK
6-1. 并行 I/O 结构图
数据方向控制位决定是否使能引脚输出驱动。它们还控制端口数据寄存器读什么。每个端口引脚都有一 个数据方向寄存器位。 PTxDDn = 0 时,相应的引脚是输入, PTxD 读操作返回引脚值。 PTxDDn = 1 时,相 应的引脚为输出,PTxD 的读操作返回最后一次写入到端口数据寄存器的值 。外围模块或系统功能控制一个端 口引脚时,数据方向寄存器位仍然控制读端口数据寄存器时返回的内容,即使外围系统控制实际的引脚方向。
当一个引脚的复用模拟功能使能时,所有数字引脚功能均关闭。对于启用了共享模拟功能的任何位,读 端口数据寄存器返回 0。一般而言,一个引脚若复用数字和模拟功能,模拟功能优先,这样,如果数字和模拟 都使能时,模拟功能控制这个引脚。
建议在改变端口引脚方向成为输出之前写端口数据寄存器。这确保引脚不会因为旧的数据值碰巧在端口 数据寄存器中而临时驱动。

6.4 引脚控制

引脚控制寄存器位于存储器的高位页面寄存器块中。这些寄存器用来控制 I/O 引脚的上拉、斜率和驱动强 度。这个引脚控制寄存器的操作独立于并行 I/O 寄存器。

6.4.1 内部上拉使能

在一个上拉使能寄存器 (PTxPEn) 中设置相应的位,可以使能内部上拉电阻。如果并行 I/O 控制逻辑或任 何复用的外围功能配置该引脚为输出,上拉电阻关闭,而不管相应的上拉使能寄存器位的状态。如果引脚由模 拟功能控制,上拉电阻也关闭。
68 飞思卡尔半导体
SC116009 系列微控制器数据手册 , 第 1
6 章 并行输入 / 输出

6.4.2 输出斜率控制使能

在其中一个斜率控制寄存器 (PTxSEn) 中设置相应的位,可以使能斜率控制。使能后,斜率控制限制输出 可以转变的速率,这样可以减少 EMC 辐射。斜率控制不影响配置为输入的引脚。

6.4.3 输出驱动强度选择

在一个驱动强度选择寄存器 (PTxDSn) 中设置相应的位,可以选择一个输出引脚,拥有高输出驱动强度。 选择高驱动强度时,引脚可以拉和灌更大的电流。即使每个 I/O 引脚可以选择为高驱,用户也必须保证不超过 芯片的总拉电流和灌电流限制。驱动强度选择会影响 I/O 引脚的 DC 行为,但是,也会影响 AC 操作。高驱允 许引脚以与低驱引脚相同的交换速度,将更大的载荷变为更小的载荷。正是因为如此, 将引脚使能为高驱,可 能会影响 EMC 辐射。

6.5 停止模式中的引脚行为

根据进入的不同停止模式,执行 STOP 指令, I/O 会有不同的功能。下面阐述了不同停止模式的引脚行 为:
停止 2 模式是局部断电模式,I/O 寄存器保持执行 STOP 指令前的状态。在执行 STOP 指令,使 MCU 进入停止 2 模式前,应将 CPU 寄存器状态和 I/O 寄存器状态保存在 RAM 中。从停止 2 模式恢复时, 用户访问任何 I/O 前,都应检查 SPMSC2 寄存器里的 PPDF 位状态。如果 PPDF 位为 0 I/O 必须初 始化,如同发生过上电复位那样。如果 PPDF 位为 1I/O 数据之前存储在 RAM 中,在执行 STOP 指 令前,外围设备可能要求初始化,并恢复到停止前的情况。然后用户必须向 SPMSC2 寄存器中的
PPDACK 位写入 1。现在,再次允许用户应用程序访问 I/O
停止 3 模式下,所有 I/O 都保留,因为内部逻辑电路处于通电状态。恢复后,用户可以使用正常的 I/O
功能。

6.6 并行 I/O 和引脚控制寄存器

本小节介绍了与并行 I/O 端口和引脚控制功能相关的寄存器信息。这些并行 I/O 寄存器位于存储器映射的
0 页面中。引脚控制寄存器位于存储器寄存器段的高位页面。
请参阅 第 4 章 存储器中的表格,了解 I/O 及其引脚控制寄存器的绝对地址分配信息。本小节只提到寄存
器和控制位的名称,请参阅飞思卡尔提供的等同或头文件,将这些名称转换为相应的绝对地址。

6.6.1 A 端口 I/O 寄存器 (PTAD PTADD)

A 端口并行 I/O 功能受下列的寄存器控制。
76543210
R
PTAD7 PTAD6 PTAD5 PTAD4 PTAD3 PTAD2 PTAD1 PTAD0
W
复位
00000000
6-2. A 端口数据寄存器 (PTAD)
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 69
6 章 并行输入 / 输出
6-1. PTAD 寄存器字段描述
字段 描述
7:0
PTADn
R
W
复位
A 端口数据寄存器位 — 对于配置为输入的 A 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 A 端口 引脚,读数返回最后一次写入寄存器的值。 写入值被锁存在本寄存器的所有位中。对于配置为输出的 A 端口引脚,逻辑电平驱动相应的 MCU 引脚。 复位强制 PTAD 都为 0,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高抗 阻输入。
76543210
PTADD7 PTADD6 PTADD5 PTADD4 PTADD3 PTADD2 PTADD1 PTADD0
00000000
6-3. A 端口数据方向寄存器 (PTADD)
6-2. PTADD 寄存器字段描述
字段 描述
7, 2:0
PTADDn
A 端口数据方向位 这些读 / 写位控制着 A 端口引脚的方向以及 PTAD 读取的内容。 0 输入 (输出驱动关闭),读数返回引脚值。 1 A 端口位 n 输出驱动使能, PTAD 读数返回 PTADn 内容。

6.6.2 端口 A 引脚控制寄存器 (PTAPE, PTASE, PTADS)

除了 I/O 控制外, 端口 A 引脚还受下列寄存器控制。
76543210
R
PTAPE7 PTAPE6 PTAPE5 PTAPE4 PTAPE3 PTAPE2 PTAPE1 PTAPE0
W
复位
00000000
6-4. A 端口内部上拉使能寄存器 (PTAPE)
6-3. PTAPE 寄存器字段描述
字段 描述
7:0
PTAPEn
A 端口内部上拉使能位 — 对于 PTA 引脚,这些控制位决定相关 PTA 引脚的内部上拉电阻是否使能。对于配置为
输出的 A 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 A 端口位 n 内部上拉电阻关闭。 1 A 端口位 n 内部上拉电阻使能。
SC116009 系列微控制器数据手册 , 1
70 飞思卡尔半导体
6 章 并行输入 / 输出
76543210
R
PTASE7 PTASE6 PTASE5 PTASE4 PTASE3 PTASE2 PTASE1 PTASE0
W
复位
00000000
6-5. A 端口斜率控制使能寄存器 (PTASE)
6-4. PTASE 寄存器字段描述
字段 描述
7:0
PTASEn
R
W
复位
A 端口输出斜率使能位 — 这些控制位决定是否为相关 PTA 引脚使能输出斜率控制。对于配置为输入的 A 端口引
脚,这些位不会产生任何影响。
0 A 端口位 n 输出斜率控制关闭。 1 A 端口位 n 输出斜率控制使能。
76543210
PTADS7 PTADS6 PTADS5 PTADS4 PTADS3 PTADS2 PTADS1 PTADS0
00000000
6-6. A 端口驱动强度选择寄存器 (PTADS)
6-5. PTADS 寄存器字段描述
字段 描述
7:0
PTADSn
A 端口输出驱动强度选择位 这些控制位为 PTA 引脚设置低 / 高输出驱动。 0 A 端口位 n 低输出驱动使能。 1 A 端口位 n 高输出驱动使能。

6.6.3 B 端口 I/O 寄存器 (PTBD PTBDD)

B 端口并行 I/O 功能由下列寄存器控制。
76543210
R
PTBD7 PTBD6 PTBD5 PTBD4 PTBD3 PTBD2 PTBD1 PTBD0
W
复位
飞思卡尔半导体 71
00000000
6-7. B 端口数据寄存器 (PTBD)
SC116009 系列微控制器数据手册 , 1
6 章 并行输入 / 输出
6-6. PTBD 寄存器字段描述
字段 描述
7:0
PTBD[7:0]
R
W
复位
B 端口数据寄存器位 — 对于配置为输入的 B 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 B 端口 引脚,读数返回最后一次写入寄存器的值。 写入值被锁存在本寄存器的所有位中。对于配置为输出的 B 端口引脚,逻辑电平驱动相应的 MCU 引脚。 复位强制 PTBD 都为 0,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高抗 阻输入。
76543210
PTBDD7 PTBDD6 PTBDD5 PTBDD4 PTBDD3 PTBDD2 PTBDD1 PTBDD0
00000000
6-8. B 端口数据方向寄存器 (PTBDD)
6-7. PTBDD 寄存器字段描述
字段 描述
7:0
PTBDD[7:0]
B 端口数据方向位 这些读 / 写位控制着 B 端口引脚的方向以及 PTBD 读取的内容。 0 输入 (输出驱动关闭),读数返回引脚值。 1 B 端口位 n 输出驱动使能, PTBD 读数返回 PTBDn 内容。

6.6.4 B 端口引脚 控制寄存器 (PTBPE, PTBSE, PTBDS)

除了 I/O 控制外, B 端口引脚还由下列寄存器控制。
76543210
R
PTBPE7 PTBPE6 PTBPE5 PTBPE4 PTBPE3 PTBPE2 PTBPE1 PTBPE0
W
复位
00000000
6-9. B 端口内部上拉使能寄存器 (PTBPE)
6-8. PTBPE 寄存器字段描述
字段 描述
7:0
PTBPE[7:0]
B 端口内部上拉使能位 — 对于 PTB 引脚,这些控制位决定相关 PTB 引脚的内部上拉电阻是否使能。对于配置
为输出的 B 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 B 端口位 n 内部上拉电阻关闭。 1 B 端口位 n 内部上拉电阻使能。
SC116009 系列微控制器数据手册 , 1
72 飞思卡尔半导体
6 章 并行输入 / 输出
76543210
R
PTBSE7 PTBSE6 PTBSE5 PTBSE4 PTBSE3 PTBSE2 PTBSE1 PTBSE0
W
复位
00000000
6-10. B 端口斜率控制使能寄存器 (PTBSE)
6-9. PTBSE 寄存器字段描述
字段 描述
7:0
PTBSE[7:0]
R
W
复位
B 端口输出斜率使能位 — 这些控制位决定是否为相关 PTB 引脚使能输出斜率控制。对于配置为输入的 B 端口引
脚,这些位不会产生任何影响。
0 B 端口位 n 输出斜率控制关闭。 1 B 端口位 n 输出斜率控制使能。
76543210
PTBDS7 PTBDS6 PTBDS5 PTBDS4 PTBDS3 PTBDS2 PTBDS1 PTBDS0
00000000
6-11. B 端口驱动强度选择寄存器 (PTBDS)
6-10. PTBDS 寄存器字段描述
字段 描述
7:0
PTBDS[7:0]
B 端口输出驱动强度选择位 这些控制位为 PTB 引脚设置低 / 高输出驱动。 0 B 端口位 n 低输出驱动使能。 1 B 端口位 n 高输出驱动使能。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 73
6 并行输入 / 输出

6.6.5 C 端口 I/O 寄存器 (PTCD PTCDD)

C 端口并行 I/O 功能受下列的寄存器控制。
76543210
R0
W
PTCD6 PTCD5 PTCD4 PTCD3 PTCD2 PTCD1 PTCD0
复位
00000000
6-12. C 端口数据寄存器 (PTCD)
6-11. PTCD 寄存器字段描述
字段 描述
6:0
PTCD[6:0]
R0
W
复位
C 端口数据寄存器位 — 对于配置为输入的 C 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 C 端口 引脚,读数返回最后一次写入寄存器的值。 写入值被锁存在本寄存器的所有位中。对于配置为输出的 C 端口引脚,逻辑电平驱动相应的 MCU 引脚。 复位强制 PTCD 都为 0,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高 抗阻输入。
76543210
PTCDD6 PTCDD5 PTCDD4 PTCDD3 PTCDD2 PTCDD1 PTCDD0
00000000
6-13. C 端口数据方向寄存器 (PTCDD)
6-12. PTCDD 寄存器字段描述
字段 描述
6:0
PTCDD[6:0]
74 飞思卡尔半导体
C 端口数据方向位 这些读 / 写位控制着 C 端口引脚的方向以及 PTCD 读取的内容。 0 输入 (输出驱动关闭),读数返回引脚值。 1 C 端口位 n 输出驱动使能, PTCD 读数返回 PTCDn 内容。
SC116009 系列微控制器数据手册 , 1

6.6.6 C 端口引脚控制寄存器 (PTCPE, PTCSE, PTCDS)

除了 I/O 控制外, C 端口引脚还由下列寄存器控制。
76543210
R0
PTCPE6 PTCPE5 PTCPE4 PTCPE3 PTCPE2 PTCPE1 PTCPE0
W
6 章 并行输入 / 输出
复位
00000000
6-14. C 端口内部上拉使能寄存器 (PTCPE)
6-13. PTCPE 寄存器字段描述
字段
6:0
PTCPE[6:0]
C 端口内部上拉使能位 — 对于 PTC 引脚,这些控制位决定相关 PTC 引脚的内部上拉电阻是否使能。对于配置
为输出的 C 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 C 端口位 n 内部上拉电阻关闭。 1 C 端口位 n 内部上拉电阻使能。
76543210
R0
PTCSE6 PTCSE5 PTCSE4 PTCSE3 PTCSE2 PTCSE1 PTCSE0
W
复位
00000000
6-15. C 端口斜率控制使能寄存器 (PTCSE)
ºƒ¥Êý˜Þ÷¹ŒÐËþˆ
6-14. PTCSE 寄存器字段描述
字段 描述
6:0
PTCSE[6:0]
C 端口输出斜率使能位 — 这些控制位决定是否为相关 PTC 引脚使能输出斜率控制。对于配置为输入的 C 端口
引脚,这些位不会产生任何影响。
0 C 端口位 n 输出斜率控制关闭。 1 C 端口位 n 输出斜率控制使能。
Description
76543210
R0
PTCDS6 PTCDS5 PTCDS4 PTCDS3 PTCDS2 PTCDS1 PTCDS0
W
复位
00000000
6-16. C 端口驱动强度选择寄存器 (PTCDS)
6-15. PTCDS 寄存器字段描述
字段 描述
6:0
PTCDS[6:0]
C 端口输出驱动强度选择位 这些控制位为 PTC 引脚设置低 / 高输出驱动。 0 C 端口位 n 低输出驱动使能。 1 C 端口位 n 高输出驱动使能。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 75
6 并行输入 / 输出

6.6.7 D 端口 I/O 寄存器 (PTDD PTDDD)

D 端口并行 I/O 功能由下列寄存器控制。
76543210
R
PTDD7 PTDD6 PTDD5 PTDD4 PTDD3 PTDD2 PTDD1 PTDD0
W
复位
00000000
6-17. D 端口数据寄存器 (PTDD)
6-16. PTDD 寄存器字段描述
字段 描述
7:0
PTDD[7:0]
R
W
复位
D 端口数据寄存器位 — 对于配置为输入的 D 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 D 端口 引脚,读数返回最后一次写入寄存器的值。 写入值被锁存在本寄存器的所有位中。对于配置为输出的 D 端口引脚,逻辑电平驱动相应的 MCU 引脚。 复位强制 PTDD 都为 0,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高 抗阻输入。
76543210
PTDDD7 PTDDD6 PTDDD5 PTDDD4 PTDDD3 PTDDD2 PTDDD1 PTDDD0
00000000
6-18. D 端口数据方向寄存器 (PTDDD)
6-17. PTDDD 寄存器字段描述
字段 描述
7:0
PTDDD[7:0]
76 飞思卡尔半导体
D 端口数据方向位 这些读 / 写位控制着 D 端口引脚的方向以及 PTDD 读取的内容。 0 输入 (输出驱动关闭),读数返回引脚值。 1 D 端口位 n 输出驱动使能, PTDD 读数返回 PTDDn 内容。
SC116009 系列微控制器数据手册 , 1

6.6.8 D 端口引脚 控制 寄存器 (PTDPE, PTDSE, PTDDS)

除了 I/O 控制外, D 端口引脚还受下列寄存器控制。
76543210
R
PTDPE7 PTDPE6 PTDPE5 PTDPE4 PTDPE3 PTDPE2 PTDPE1 PTDPE0
W
6 章 并行输入 / 输出
复位
00000000
6-19. D 端口内部上拉使能寄存器 (PTDPE)
6-18. PTDPE 寄存器字段描述
字段 描述
7:0
PTDPE[7:0]
D 端口内部上拉使能位 — 对于 PTD 引脚,这些控制位决定相关 PTD 引脚的内部上拉电阻是否使能。对于配置
为输出的 D 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 D 端口位 n 内部上拉电阻关闭。 1 D 端口位 n 内部上拉电阻使能。
ºƒ¥Êý˜Þ÷¹ŒÐËþˆ
76543210
R
PTDSE7 PTDSE6 PTDSE5 PTDSE4 PTDSE3 PTDSE2 PTDSE1 PTDSE0
W
复位
00000000
6-20. D 端口斜率控制使能寄存器 (PTDSE)
6-19. PTDSE 寄存器字段描述
字段 描述
7:0
PTDSE[7:0]
D 端口输出斜率使能位 — 这些控制位决定是否为相关 PTD 引脚使能输出斜率控制。对于配置为输入的 D 端口
引脚,这些位不会产生任何影响。
0 D 端口位 n 输出斜率控制关闭。 1 D 端口位 n 输出斜率控制使能。
76543210
R
PTDDS7 PTDDS6 PTDDS5 PTDDS4 PTDDS3 PTDDS2 PTDDS1 PTDDS0
W
复位
00000000
6-21. D 端口驱动强度选择寄存器 (PTDDS)
6-20. PTDDS 寄存器字段描述
字段 描述
7:0
PTDDS[7:0]
D 端口输出驱动强度选择位 这些控制位为 PTD 引脚设置低 / 高输出驱动。 0 D 端口位 n 低输出驱动使能。 1 D 端口位 n 高输出驱动使能。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 77
6 并行输入 / 输出

6.6.9 端口 E I/O 寄存器 (PTED PTEDD)

端口 E 并行 I/O 功能受下列寄存器控制。
76543210
R
PTED7 PTED6 PTED5 PTED4 PTED3 PTED2 PTED1 PTED0
W
复位
00000000
6-22. E 端口数据寄存器 (PTED)
6-21. PTED 寄存器字段描述
字段 描述
7:0
PTED[7:0]
R
W
复位
E 端口数据寄存器位 — 对于配置为输入的 E 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 E 端口 引脚,读数返回最后一次写入寄存器的值。 写入值被锁存在本寄存器的所有位中。对于配置为输出的 E 端口引脚,逻辑电平驱动相应的 MCU 引脚。 复位强制 PTED 都为 0,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高抗 阻输入。
76543210
PTEDD7 PTEDD6 PTEDD5 PTEDD4 PTEDD3 PTEDD2 PTEDD1 PTEDD0
00000000
6-23. E 端口数据方向寄存器 (PTEDD)
6-22. PTEDD 寄存器字段描述
字段 描述
7:0
PTEDD[7:0]
E 端口数据方向位 这些读 / 写位控制着 E 端口引脚的方向以及 PTED 读取的内容。 0 输入 (输出驱动关闭),读数返回引脚值。 1 E 端口位 n 输出驱动使能, PTED 读数返回 PTEDn 内容。

6.6.10 E 端口引脚控制寄存器 (PTEPE, PTESE, PTEDS)

除了 I/O 控制外, E 端口引脚还受下列寄存器控制。
76543210
R
PTEPE7 PTEPE6 PTEPE5 PTEPE4 PTEPE3 PTEPE2 PTEPE1 PTEPE0
W
复位
78 飞思卡尔半导体
00000000
6-24. E 端口内部上拉使能寄存器 (PTEPE)
SC116009 系列微控制器数据手册 , 1
6-23. PTEPE 寄存器字段描述
字段 描述
6 章 并行输入 / 输出
7:0
PTEPE[7:0]
R
W
复位
E 端口内部上拉使能位 — 对于 PTE 引脚,这些控制位决定相关 PTE 引脚的内部上拉电阻是否使能。对于配置
为输出的 E 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 E 端口位 n 内部上拉电阻关闭。 1 E 端口位 n 内部上拉电阻使能。
76543210
PTESE7 PTESE6 PTESE5 PTESE4 PTESE3 PTESE2 PTESE1 PTESE0
00000000
6-25. E 端口斜率控制使能寄存器 (PTESE)
6-24. PTESE 寄存器字段描述
字段 描述
7:0
PTESE[7:0]
R
W
E 端口输出斜率使能位 — 这些控制位决定是否为相关 PTE 引脚使能输出斜率控制。对于配置为输入的 E 端口引
脚,这些位不会产生任何影响。
0 E 端口位 n 输出斜率控制关闭。 1 E 端口位 n 输出斜率控制使能。
76543210
PTEDS7 PTEDS6 PTEDS5 PTEDS4 PTEDS3 PTEDS2 PTEDS1 PTEDS0
复位
00000000
6-26. E 端口驱动强度选择寄存器 (PTEDS)
6-25. PTEDS 寄存器字段描述
字段 描述
7:0
PTEDS[7:0]
E 端口输出驱动强度选择位 这些控制位为 PTE 引脚设置低 / 高输出驱动。 0 E 端口位 n 低输出驱动使能。 1 E 端口位 n 高输出驱动使能。

6.6.11 F 端口 I/O 寄存器 (PTFD PTFDD)

F 端口并行 I/O 功能受下列寄存器控制。
76543210
R
PTFD7 PTFD6 PTFD5 PTFD4 PTFD3 PTFD2 PTFD1 PTFD0
W
复位
飞思卡尔半导体 79
00000000
6-27. F 端口数据寄存器 (PTFD)
SC116009 系列微控制器数据手册 , 1
6 章 并行输入 / 输出
6-26. PTFD 寄存器字段描述
字段 描述
7:0
PTFDn
R
W
复位
F 端口数据寄存器位 — 对于配置为输入的 F 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 F 端口 引脚,读数返回最后一次写入寄存器的值。 写入值被锁存在本寄存器的所有位中。对于配置为输出的 F 端口引脚,逻辑电平驱动相应的 MCU 引脚。 复位强制 PTFD 都为 0,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高抗 阻输入。
76543210
PTFDD7 PTFDD6 PTFDD5 PTFDD4 PTFDD3 PTFDD2 PTFDD1 PTFDD0
00000000
6-28. F 端口数据方向寄存器 (PTFDD)
6-27. PTFDD 寄存器字段描述
字段 描述
7:0
PTFDDn
F 端口数据方向位 这些读 / 写位控制着 F 端口引脚的方向以及 PTFD 读取的内容。 0 输入 (输出驱动关闭),读数返回引脚值。 1 F 端口位 n 输出驱动使能, PTFD 读数返回 PTFDn 内容。

6.6.12 F 端口引脚控制寄存器 (PTFPE, PTFSE, PTFDS)

除了 I/O 控制外, F 端口引脚受下列的寄存器控制。
76543210
R
PTFPE7 PTFPE6 PTFPE5 PTFPE4 PTFPE3 PTFPE2 PTFPE1 PTFPE0
W
复位
00000000
6-29. F 端口内部上拉使能寄存器 (PTFPE)
6-28. PTFPE 寄存器字段描述
字段 描述
7:0
PTFPEn
F 端口内部上拉使能位 — 对于 PTF 引脚,这些控制位决定相关 PTF 引脚的内部上拉电阻是否使能。对于配置为
输出的 F 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 F 端口位 n 内部上拉电阻关闭。 1 F 端口位 n 内部上拉电阻使能。
SC116009 系列微控制器数据手册 , 1
80 飞思卡尔半导体
6 章 并行输入 / 输出
76543210
R
PTFSE7 PTFSE6 PTFSE5 PTFSE4 PTFSE3 PTFSE2 PTFSE1 PTFSE0
W
复位
00000000
6-30. F 端口斜率控制使能寄存器 (PTFSE)
6-29. PTFSE 寄存器字段描述
字段 描述
7:0
PTFSEn
R
W
复位
F 端口输出斜率使能位 — 这些控制位决定是否为相关 PTF 引脚使能输出斜率控制。对于配置为输入的 F 端口引
脚,这些位不会产生任何影响。
0 F 端口位 n 输出斜率控制关闭。 1 F 端口位 n 输出斜率控制使能。
76543210
PTFDS7 PTFDS6 PTFDS5 PTFDS4 PTFDS3 PTFDS2 PTFDS1 PTFDS0
00000000
6-31. F 端口寄存器驱动强度选择 (PTFDS)
6-30. PTFDS 寄存器字段描述
字段 描述
7:0
PTFDSn
F 端口输出驱动强度选择位 这些控制位为 PTF 引脚设置低 / 高输出驱动。 0 F 端口位 n 低输出驱动使能。 1 F 端口位 n 高输出驱动使能。

6.6.13 G 端口 I/O 寄存器 (PTGD PTGDD)

G 端口并行 I/O 功能受下列寄存器控制。
76543210
R0
W
复位
飞思卡尔半导体 81
00000000
PTGD6 PTGD5 PTGD4 PTGD3 PTGD2 PTGD1 PTGD0
6-32. G 端口数据寄存器 (PTGD)
SC116009 系列微控制器数据手册 , 1
6 章 并行输入 / 输出
6-31. PTGD 寄存器字段描述
字段 描述
6:0
PTGD[6:0]
R0
W
复位
G 端口数据寄存器位 — 对于配置为输入的 G 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 G 端 口引脚,读数返回最后一次写入寄存器的值。 写入值被锁存在本寄存器的所有位中。对于配置为输出的 G 端口引脚,逻辑电平驱动相应的 MCU 引脚。 复位强制 PTGD 都为 0,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高 抗阻输入。
76543210
PTGDD6 PTGDD5 PTGDD4 PTGDD3 PTGDD2 PTGDD1 PTGDD0
00000000
6-33. G 端口数据方向寄存器 (PTGDD)
6-32. PTGDD 寄存器字段描述
字段 描述
6:0
PTGDD[6:0]
G 端口数据方向位 这些读 / 写位控制着 G 端口引脚的方向以及 PTGD 读取的内容。 0 输入 (输出驱动关闭),读数返回引脚值。 1 G 端口位 n 输出驱动使能, PTGD 读数返回 PTGDn 内容。

6.6.14 G 端口引脚 控制寄存器 (PTGPE, PTGSE, PTGDS)

除了 I/O 控制外, G 端口引脚还受下列寄存器控制。
76543210
R0
W
复位
00000000
PTGPE6 PTGPE5 PTGPE4 PTGPE3 PTGPE2 PTGPE1 PTGPE0
6-34. G 端口内部上拉使能寄存器 (PTGPE)
6-33. PTGPE 寄存器字段描述
字段 描述
6:0
PTGPE[6:0]
G 端口内部上拉使能位 — 对于 PTG 引脚,这些控制位决定相关 PTG 引脚的内部上拉电阻是否使能。对于配置
为输出的 G 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 G 端口位 n 内部上拉电阻关闭。 1 G 端口位 n 内部上拉电阻使能。
SC116009 系列微控制器数据手册 , 1
82 飞思卡尔半导体
76543210
R0
W
6 章 并行输入 / 输出
PTGSE6 PTGSE5 PTGSE4 PTGSE3 PTGSE2 PTGSE1 PTGSE0
复位
00000000
6-35. G 端口斜率控制使能寄存器 (PTGSE)
6-34. PTGSE 寄存器字段描述
字段 描述
6:0
PTGSE[6:0]
R0
W
复位
G 端口输出斜率使能位 — 这些控制位决定是否为相关 PTG 引脚使能输出斜率控制。对于配置为输入的 G 端口
引脚,这些位不会产生任何影响。
0 G 端口位 n 输出斜率控制关闭。 1 G 端口位 n 输出斜率控制使能。
76543210
PTGDS6 PTGDS5 PTGDS4 PTGDS3 PTGDS2 PTGDS1 PTGDS0
00000000
6-36. G 端口驱动强度选择寄存器 (PTGDS)
6-35. PTGDS 寄存器字段描述
字段 描述
6:0
PTGDS[6:0]
G 端口输出驱动强度选择位 这些控制位为 PTG 引脚设置低 / 高输出驱动。 0 G 端口位 n 低输出驱动使能。 1 G 端口位 n 高输出驱动使能。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 83
6 并行输入 / 输出
SC116009 系列微控制器数据手册 , 1
84 飞思卡尔半导体

7 章 中央处理单元 (S08CPUV2

7.1 概述

本节介绍了 HCS08 系列 CPU 的寄存器、寻址方式和指令集。更详细的信息请参考 《HCS08 Family
Reference Manual》,该文件序号为 HCS08RMV1/D。
HCS08 CPU M68HC08 CPU 的源和目标代码完全兼容。新增的指令和增强寻址模式提高了 C 编译器
的效率,并且支持新的后台调试系统以代替早期 68HC08 的监控模式。

7.1.1 特性

HCS08 CPU 具有以下特性:
目标代码完全兼容 M68HC05 M68HC08 家族
所有寄存器和存储器映射到一个独立的 64 KB 的地址空间
• 16 位堆栈指针 (64 K 字节地址空间内任意大小、任意地址的堆栈)
• 16 位变址寄存器 (H:X)支持强大的索引地址模式
• 8 位累加器 (A)
许多指令把 X 作为第二个通用 8 位寄存器
• 7 种寻址模式:
固有寻址模式 — 操作数存于内部寄存器
相对寻址模式 — 8 位有符号偏移量的分支地址
立即寻址模式 — 操作数位于下一个目标代码
直接寻址模式 — 操作数位于 0x0000 0x00FF 之间
扩展寻址模式 — 操作数位于 64K 字节地址空间内
• H:X 相对变址寻址模式 — 提供包括自动增量在内的 5 种子模式
• SP 相对变址寻址模式 — 大大提高 C 语言编译的效率
提供四种寻址模式组合的寄存器 - 寄存器数据转移指令
溢出、半进位、负、零和进位状况码支持根据带符号、无符号、 BCD 码操作的结果进行条件转移
高效率的位操作指令
快速 8 位乘 8 位和 16 位除 8 位指令
• ST
OP 和 WA
IT 指令调用低功耗运行模式

7.2 编程模型和 CPU 寄存器

7-1 5 CPU 寄存器,微处理器的存储器不包括 CPU 寄存器。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 85
7 章 中央处理单元 (S08CPUV2
SP
PC
状况码寄存器
进位标识 零标识 负标识 中断屏蔽位 半进位标识 ( 来自第三位 )
2 进制补码溢出标识
H X
0
0
0
7
15
15
70
A
变址寄存器 ( 低 )变址寄存器 ( 高 )
堆栈指针
87
程序计数器
16 位变址寄存器 H:X
CCR
CV11HI NZ
累加器

7.2.1 累加器 (A)

7-1. CPU 寄存器
这个累加器 (A) 是通用的 8 位寄存器。一个操作数经过累加器输入到算术逻辑单元 ( ALU ),在算术和 逻辑运算后, ALU 的结果通常存放入 A 累加器。累加器可以用不同的寻址模式指定地址从存储器中装载数 据,或者累加器 A 中的数据可以根据不同的寻址模式指定的地址装入到存储器中。
复位对累加器中的数据无影响。

7.2.2 变址寄存器 (H:X

这个 16 位寄存器实际上是由两个 8 位寄存器 (H,X)组成,常一起作为一个 16 位地址指针。其中, H 装地址的高字节, X 装地址的低字节。所有变址寻址方式指令用 H:X 中的 16 位的值作为索引参考指针。但 是,为了和早期 M68HC05 系列兼容,部分指令只能在低 8 位(X)上运行。
许多指令把 X 作为第二个通用 8 位寄存器来存储 8 位数据。 X 可以被清零,增加,递减,取反,移位, 循环移位。在算术逻辑操作时,转移指令用于 X 与累加器 A 进行数据交换。
为了和早期 M68HC05 系列兼容, H 在复位时被设为 0X00。复位对 X 无影响。

7.2.3 堆栈指针 (SP

RAM 64K 字节空间内的任意地址,它可以与所提供的 RAM 大小相同。堆栈可以自动保存子程序调用的返 回地址,中断操作中的返回地址和 CPU 寄存器值,以及本地变量。 AIS Add Immediate to Stack pointer) 指令赋予一个 8 位有符号立即数给 SP。这种方法经常被用于为本地堆栈变量在堆栈中分配或回收空间。
值改为 RAM 最后地址值 (最高地址),来释放直接页上的 RAM( 片上寄存器结束处一直到 0x00FF)。
用在 HCS08 程序中。
在一个自动后进先出 (LIFO) 堆栈中,该 16 位地址指针寄存器指向下一个可用地址。堆栈可以映射到有
为了兼容早期的 M68HC05 系列, SP 复位后被设为 0xFF。在复位初始化时, HCS08 程序通常将 SP
RSP (复位堆栈指针)是与 M68HC05 系列兼容的指令,因为它仅影响堆栈指针的低位地址,所以很少
SC116009 系列微控制器数据手册 , 1
86 飞思卡尔半导体
7 章 中央处理单元 (S08CPUV2
条件码寄存器
进位标识 零标识 负标识 中断屏蔽位 半进位标识 ( 来自第三位 ) 溢出标识
70
CCR
CV11H I NZ

7.2.4 程序计数器 (PC

程序计数器是一个 16 位寄存器,包含下一条指令或待取操作数的地址。
通常在程序执行期间,程序计数器在每次数据或指令被取出时会自动增加到存储器的下个连续位置。跳 转、转移、中断和返回操作向程序计数器装载一个地址而不是下个连续位置。这就是流程的改变。
复位时,程序计数器从 0XFFFE 0XFFF 处装载复位向量。向量存储位置的第一个指令将在退出复位状 态后被执行。

7.2.5 条件码寄存器 (CCR)

8 位条件码寄存器包含中断屏蔽位 I 5 个标识最近执行指令结果的状态标志位。第 6 位和第 5 位恒为逻 辑 1。下图简要描述了 CCR 每个位的信息及功能。关于如何使用指令设置 CCR 的每个位,请参阅 HCS08 系 列参考手册,第 1 卷,其文档号为 HCS08RMv1
7-2. 条形码寄存器 (CCR
7-1. CCR 寄存器位功能描述
位置 描述
7 V
4
H
3
I
2
N
二进制补码溢出标志位—当二进制补码溢出时, CPU 将设置溢出标志位。有符号指令 BGTBGE BLEBLT 使用溢出标志。 0 无溢出 1 溢出
半进位标志 执行加法指令 (ADD)和带进位加法指令 (ADC)时,如果累加器第 3 和第 4 位有进位, CPU 设置半进位标志。半进位标志在 BCD 码算术运算中很有用。 DAA 指令用 H 和 C 的状态来自动调整 前面 ADD 或者 ADC 的结果,修正结果得到有效的 BCD 值。 0 第 3 位和第 4 位之间无进位 1 第 3 位和第 4 位之间进位
中断屏蔽位 — 当中断屏蔽位被置位时,禁止 CPU 中断。当中断屏蔽位被清除,开放 CPU 中断。当中断 发生时,在第一个中断服务例程被执行之前, CPU 寄存器值被保存到堆栈后中断屏蔽被自动设置。在任 何指令正在清 I (CLI、 TAP)时,中断不被认可。这确保了 CLI 或 TAP 的下一个指令执行时不被干扰。
0 允许中断 1 禁止中断
负标志—CPU 运算时,如果产生负结果则将负标志置 1,设置位 7 的结果。如果装载或存储值的较多重要 位为 1 的话,简单的装载或存储 8 位或 16 位值也会引起 N 1
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 87
7 章 中央处理单元 (S08CPUV2
表 7-1. CCR 寄存器位功能描述 ( 续 )
1 Z
0
C
零标志—CPU 进行运算过程中,如果数据或运算结果为零,零标志置 1,否者置零。 0 无零结果 1 有零结果
进位 / 借位标志—当进行加法时,在最高位 D7 上有进位;或在进行减法运算时需要向更高位借位,则 CPU 将进位 / 借位标志 C 置 1。一些指令如位测试,跳转,移位指令等也会影响该标志。 0 无进位 / 借位 1 有进位 / 借位

7.3 寻址模式

寻址模式决定 CPU 存取数据和操作数的方法。在 HCS08 系列芯片中,所有的存储器、状态和控制寄存 器和 I/O 口共享一个 64K 字节线性地址空间,所以一个 16 位二进制地址可以唯一确定一个存储位置。这样, 访问 RAM 变量的指令同时也能访问 I/O 和控制寄存器或非易失性程序空间。
某些指令的寻址方式不止一种。例如, MOVE 指令用一种寻址方式来指定源操作数,又用另一种寻址方 式来确定目标地址。 BRCLRBRSETCBEQDBNZ 等指令用一种寻址方式来确定一个操作数地址,并进 行测试,如果假设条件为真时,就用相对寻址方式来确定分支的目标地址。对于 BRCLRBRSETCBEQDBNZ,列在指令设置表上的寻址方式用于定位需要测试的操作数,相对寻址方式用来定位分支目标地址。

7.3.1 固有寻址模式 (INH

固有寻址模式所需的操作数已经存于 CPU 寄存器中,所以 CPU 不需要访问存储器来获取操作数。

7.3.2 相对寻址模式 (REL

相对寻址模式用于确定分支指令的目的地址。 8 位有符号的偏移值在存储器中位于操作码之后。在执行指 令时,如果分支条件为真,有符号偏移值扩展为 16 位有符号值且加到当前程序计数器,这样程序转移到分支 目标地址处运行。

7.3.3 立即寻址模式 (IMM)

立即寻址模式中,用以完成指令的操作数包含在目标代码内,并紧跟着指令操作码存放在存储器中。在 16 位立即操作数情况下,高位字节存放在操作码之后的第一个存储位置,低位字节存放在下个存储位置。

7.3.4 直接寻址模式 (DIR)

直接寻址模式中,指令包含的地址低 8 位存放在直接页 (0x0000-0x00FF)。在执行指令时,通过连接 0x00 作为高位地址和指令的直接地址得到一个 16 位地址以获取目标操作数。这比给操作数分配一个完整的 16 位地址要更快,存取效率更高。

7.3.5 扩展寻址模式 (EXT)

在扩展寻址模式中,操作数的 16 位地址位于操作码后的两字节 (高位在先)。

7.3.6 变址寻址模式

变址寻址模式包含七种,其中五种使用 16 H:X 变址寄存器,另两种使用堆栈作为基值参考。
SC116009 系列微控制器数据手册 , 1
88 飞思卡尔半导体
7 中央处理单元 (S08CPUV2
7.3.6.1 无偏移量变址模式 (IX)
在这种变址模式中,变址寄存器 H:X 的内容被用于访问操作数的地址。
7.3.6.2 无偏移量变址、变址自动加 1 寻址模式 (IX+)
在这种变址模式中, H:X 变址寄存器存储指令的操作数。当取出地址后, H:X 寄存器自动加 1(H:X=H:X+0x0001)。这种寻址模式只应用于 CBEQ MOV 指令。
7.3.6.3 8 位偏移量变址模式 (IX1)
在这种变址模式中,一个无符号的 8 位偏移量与 H:X 寄存器相加,得到要访问的操作数地址。
7.3.6.4 8 位偏移量变址、变址自动加 1 寻址模式 (IX1+)
在这种变址模式中,一个无符号的 8 位偏移量与 H:X 寄存器相加,得到要访问的操作数地址。在操作数 被取出后变址寄存器自动加 1CBEQ 是唯一使用这种寻址模式的指令。
7.3.6.5 16 位偏移量变址模式 (IX2)
在这种变址模式中,一个无符号的 16 位偏移量与 H:X 寄存器相加,得到要访问的操作数地址
7.3.6.6 8 位偏移量堆栈寻址模式 (SP1)
在这种变址模式中,指令集提供一个无符号的 8 位偏移量与堆栈指针 (SP) 中的 16 位值相加,得到要访 问的操作数地址。
7.3.6.7 16 位偏移量堆栈寻址模式 (SP2)
在这种变址模式中,无符号的 16 位偏移量与堆栈指针 (SP) 中的 16 位值相加,得到要访问的操作数地 址。

7.4 特殊操作

CPU 可以执行一些操作,这些操作与其他的 CPU 指令相似,只是没有操作码。另外一些指令如 STOP WAIT 直接影响其他 MCU 的电路。本节详细将讲述这些操作。

7.4.1 复位序列

复位可以由上电复位、 COP 看门狗超时、外部复位引脚引起。当复位事件发生时,复位事件强制 CPU 立即停止正在执行的任何事件 (MCU 不会等待指令边界,再响应复位 )。关于 MCU 如何确认复位及其来源的 信息,可参阅复位、中断和系统配置章节。
当用以确定复位源是否来自内部的序列被执行,同时复位引脚不再有强制复位信号时,复位事件被认为 结束。然后, CPU 执行一个 6 周期的序列从 0XFFFE 0XFFFF 处取出复位向量填充到指令队列,为执行程 序作好准备。

7.4.2 中断序列

当中断请求发生时,在响应中断之前 CPU 先完成当前指令。这时程序计数器指向下条指令的开始位置, 这也就是 CPU 中断返回地址。 CPU 对中断的响应是执行与软中断 (SWI)相同的操作序列,除非当中断序 列开始时,由挂起的高优先级中断决定向量获取的地址。
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 89
7 章 中央处理单元 (S08CPUV2
CPU 中断序列如下:
1. 按顺序存储 PCLPCH、 X、 A、 CCR 的内容到堆栈中。
2. 设置 CCR 中的 I 位。
3. 获取中断向量高位。
4. 获取中断向量低位。
5. 延迟一个空闲总线周期。
6. 将 3 字节的程序信息 ( 其首地址由中断向量决定 ) 填入指令队列为执行中断服务例程第一条指令作准
备。
CCR 中的内容被压入堆栈后,在进行中断服务例程时设置 CCR I 位防止响应其它中断。虽然也可以通过 指令在中断服务例程中清 I,但是有可能导致嵌套中断 (不推荐采用这种方法,因为这将增加程序调试和维护 的难度)。
为了和早期的 M68HC05MCU 兼容, H:X 变址寄存器中的 H 不作为中断序列的一部分保存到堆栈中。 用户必须在终端服务例程开始时用 PSHH 指令保存 H 内容,然后在 RTI 返回之前用 PULH 指令将 H 取出。如 果能确定中断服务例程不使用任何与 H 相关的指令或自增寻址方式, H 值也可以不保存。
软中断除了不能被 CCR 中的 I 位屏蔽,其它和硬中断一样。并且,它和程序中的一个指令操作码相关 联,所以它不是异步程序操作。

7.4.3 等待模式

WAIT 指令通过清零 CCR I 位使能中断。然后关闭 CPU 时钟以节省功耗, CPU 维持在低功耗状态直 到被中断或复位唤醒。当中断或复位发生时, CPU 从等待模式被唤醒。此时, CPU 重启内部时钟,并响应中 断以及复位。
CPU 在等待模式时,如果一个串行的后台调试指令通过后台调试界面发送到 MCUCPU 时钟将被重 启并进入能处理其它串行背景指令的活跃背景模式。这样,即使在等待模式中主机开发系统仍能进入目标 MCU

7.4.4 停止模式

通常,在停止模式下,系统的所有时钟包括晶振都被关闭以实现最小功耗。在这样的系统中,需要一个 外部电路来计算时间,用于在指定的时间产生信号唤醒 MCU。和早期的 M68HC05 M68HC08 不同, HCS08 在停止模式中可以设定运行最少时钟。这就允许一个内部周期信号从停止模式中唤醒 MCU
当一个主机调试系统连接到后台调试引脚 (BKGD)且通过后台调试接口串行命令设置 ENBDM 位时
(或者 MCU 在复位时进入活跃的后台调试模式), MCU 进入停止模式时振荡器被强制活跃。在这种情况下,
CPU 在停止模式下通过后台调试接口向 MCU 发送后台调试指令, CPU 时钟将被开启并进入能处理其它串 行背景指令的活跃背景模式。这样,即使在停止模式中主机开发系统仍能进入目标 MCU
从停止模式恢复的方式取决于具体的 HCS08 型号以及振荡器是否在停止模式时停止。详细信息请参阅操 作模式章节。

7.4.5 背景模式

M68HC08 相比, HCS08 新增了 BGND 指令。 BGND 通常用在普通用户程序中,强迫 CPU 停止处理 当前指令进入活跃的背景模式。重新继续运行用户程序的唯一方式是通过复位或主机调试系统的后台调试接口 发出 GOTRACE1 或者 TAGGO 串行命令。
SC116009 系列微控制器数据手册 , 1
90 飞思卡尔半导体
7 章 中央处理单元 (S08CPUV2
C
b0
b7
0
b0
b7
C
可以用后台调试操作码替换目标断点地址操作码来设置软断点。当程序到达断点地址时, CPU 强制进入 活跃背景模式而不是继续用户程序。

7.5 HCS08 指令设置摘要

7-2 包含了 HCS08 所有寻址模式的指令集。本表提供了各操作数的结构、在内部总线周期的执行时
间、以及每个指令在每种寻址模式的循环方式。
表 7-2. 指令集摘要 ( 第 1 页,共 9 页 )
源格式 操作
ADC #opr8i ADC opr8a ADC opr16a ADC oprx16,X ADC oprx8,X ADC ,X ADC oprx16,SP ADC oprx8,SP
ADD #opr8i ADD opr8a ADD opr16a ADD oprx16,X ADD oprx8,X ADD ,X ADD oprx16,SP ADD oprx8,SP
进位加 A (A) + (M) + (C)
无进位加
A (A) + (M)
寻址方式
IMM DIR EXT IX2 IX1 IX SP2 SP1
IMM DIR EXT IX2 IX1 IX SP2 SP1
操作码
A9 B9 C9 D9 E9
F9 9E D9 9E E9
AB
BB
CB
DB
EB
FB 9E DB 9E EB
ii dd hh ll ee ff ff
ee ff ff
ii dd hh ll ee ff ff
ee ff ff
循环细节
总线周期
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
V 1 1 HI N Z C
 1 1  –   
1 1 –   
CCR
AIS #opr8i
AIX #opr8i
AND #opr8i AND opr8a AND opr16a AND oprx16,X AND oprx8,X AND ,X AND oprx16,SP AND oprx8,SP
ASL opr8a ASLA ASLX ASL oprx8,X ASL ,X ASL oprx8,SP
ASR opr8a ASRA ASRX ASR oprx8,X ASR ,X ASR oprx8,SP
BCC rel
将立即数 (有符号)压入堆栈
SP (SP) + (M)
将立即数 (有符号)压入 编制寄存器 (H:X
H:X (H:X) + (M)
逻辑与
& (M)
A (A)
算术左移
( 和 LSL 相同 )
算术右移
进位位清零则转移 ( 如果 C = 0)
IMM A7 ii 2pp – 1 1 – – – – –
IMM AF ii 2pp – 1 1 – – – – –
IMM DIR EX
T IX2 IX1 IX SP2 SP1
DIR INH INH IX1 IX SP1
DIR INH INH IX1 IX SP1
REL 24 rr 3 ppp – 1 1 – – – – –
A4 B4 C4 D4 E4
F4 9E D4 9E E4
38
48
58
68
78 9E 68
37
47
57
67
77 9E 67
ii dd hh ll ee ff ff
ee ff ff
dd
ff
ff
dd
ff
ff
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
p
5 1 1 5 4 6
p
rfw p p rfwpp rfwp prfwpp
0 1 1 – –   –
1 1 ––   
1 1 –   
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 91
7 章 中央处理单元 (S08CPUV2
源格式 操作
BCLR n,opr8a
存储器中位 n 清零 (Mn 0)
表 7-2. 指令集摘要 ( 第 2 页,共 9 页 )
操作码
寻址方式
DIR (b0) DIR (b1) DIR (b2) DIR (b3) DIR (b4) DIR (b5) DIR (b6) DIR (b7)
11
13
15
17
19
1B
1D
1F
dd dd dd dd dd dd dd dd
CCR
循环细节
总线周期
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
V 1 1 HI N Z C
– 1 1 – – – – –
BCS rel
BEQ rel
BGE rel
BGND
BGT rel
BHCC rel
BHCS rel
BHI rel
BHS rel
BIH rel
BIL rel
BIT #opr8i BIT opr8a BIT opr16a BIT oprx16,X BIT oprx8,X BIT ,X BIT oprx16,SP BIT oprx8,SP
进位位置 1 则转移 ( 如果 C = 1) ( BLO 相同 )
相等则转移 ( 如果 Z = 1)
大于等于则转移
(if N ⊕ V = 0) ( 带符号 )
ENBDM = 1 则进入活跃后台调试状态 等待和处理 BDM 指令直到 GO, TRACE1,
TAGGO
大于则转移 ( 如果 Z | (
半进位清零则转移 ( 如果 H = 0)
半进位置 1 则转移 ( 如果 H = 1)
为高则转移 ( 如果 C | Z = 0)
高于或相同则转移 ( 如果 C = 0)
( BCC 相同 )
IRQ 引脚为高则转移 ( 如果 IRQ pin = 1)
IRQ 引脚为低则转移 ( 如果 IRQ pin = 0)
位测
A) & (M)
( (CCR 更新但操作数不变 )
N V) = 0)
( 带符号 )
REL 25 rr 3 ppp – 1 1 – – – – –
REL 27 rr 3 ppp – 1 1 – – – – –
REL 90 rr 3 ppp – 1 1 – – – – –
INH 82 5+ fp...ppp – 1 1 – – – – –
REL 92 rr 3 ppp – 1 1 – – – – –
REL 28 rr 3 ppp – 1 1 – – – – –
REL 29 rr 3 ppp – 1 1 – – – – –
REL 22 rr 3 ppp – 1 1 – – – – –
REL 24 rr 3 ppp – 1 1 – – – – –
REL 2F rr 3 ppp – 1 1 – – – – –
REL 2E rr 3 ppp – 1 1 – – – – –
IMM DIR EXT IX2 IX1 IX SP2 SP1
A5
B5
C5
D5
E5
F5 9E D5 9E E5
ii dd hh ll ee ff ff
ee ff ff
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
0 1 1 – –   –
BLE rel
BLO rel
BLS rel
BLT rel
BMC rel
BMI rel
BMS rel
BNE rel
BPL rel
BRA rel
小于等于则转移 ( 如果 Z | (N ⊕ V) = 1) ( 带符号 )
为低则转移 ( 如果 C = 1) ( 和 BCS 相同 )
为低或相同则转移 ( 如果 C | Z = 1)
小于则转移 ( 如果 N V = 1) ( 带符号
中断屏蔽位清零则转移 ( 如果 I = 0)
负则转移 ( 如果 N = 1)
中断屏蔽位置 1 则转移 ( 如果 I = 1)
不等则转移 ( 如果 Z = 0)
正则转移 ( 如果 N = 0)
一直转移 ( 如果 I = 1)
)
REL 93 rr 3 ppp – 1 1 – – – – –
REL 25 rr 3 ppp – 1 1 – – – – –
REL 23 rr 3 ppp – 1 1 – – – – –
REL 91
REL 2C rr 3 ppp – 1 1 – – – – –
REL 2B rr 3 ppp – 1 1 – – – – –
REL 2D rr 3 ppp – 1 1 – – – – –
REL 26 rr 3 ppp – 1 1 – – – – –
REL 2A rr 3 ppp – 1 1 – – – – –
REL 20 rr 3 ppp – 1 1 – – – – –
rr 3
ppp – 1 1 – – – – –
SC116009 系列微控制器数据手册 , 1
92 飞思卡尔半导体
源格式 操作
BRCLR n,opr8a,rel
BRN rel
BRSET n,opr8a,rel
BSET n,opr8a
存储器中位 n 清零 ( 如果 (Mn) = 0)
从不转移 ( 如果 I = 0)
存储器中位 n 1 则转移 ( 如果 (Mn) = 1)
存储器中位 n 1 (Mn 1)
表 7-2. 指令集摘要 ( 第 3 页,共 9 页 )
操作码
寻址方式
DIR (b0) DIR (b1) DIR (b2) DIR (b3) DIR (b4) DIR (b5) DIR (b6) DIR (b7)
REL 21 rr 3 ppp – 1 1 – – – – –
DIR (b0) DIR (b1) DIR (b2) DIR (b3) DIR (b4) DIR (b5) DIR (b6) DIR (b7)
DIR (b0) DIR (b1) DIR (b2) DIR (b3) DIR (b4) DIR (b5) DIR (b6) DIR (b7)
01
03
05
07
09
0B
0D
0F
00
02
04
06
08
0A
0C
0E
10
12
14
16
18
1A
1C
1E
dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr
dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr
dd dd dd dd dd dd dd dd
7 章 中央处理单元 (S08CPUV2
循环细节
总线周期
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
V 1 1 HI N Z C
– 1 1 –
– 1 1 –
– 1 1 – – – – –
CCR
– – –
– – –
BSR rel
CBEQ opr8a,rel CBEQA #opr8i,rel CBEQX #opr8i,rel CBEQ oprx8,X+,rel CBEQ ,X+,rel CBEQ oprx8,SP,rel
CLC
CLI
CLR opr8a CLRA CLRX CLRH CLR oprx8,X CLR ,X CLR oprx8,SP
转移到子程序
PC (PC) + $0002 push (PCL); SP (SP) – $0001 push (PCH); SP (SP) – $0001 PC (PC) + rel
相等则比较转移 如果 (A) = (M) 则转移
如果 (A) = (M) 则转移 如果 (X) = (M) 则转移 如果 (A) = (M) 如果 (A 如果 (A) = (M) 则转移
清进位位 (C 0)
清中断屏蔽位 (I 0)
清位
M $00 A $00 X $00 H $00 M $00 M $00 M $00
) = (
则转移
M) 则转移
REL AD rr 5 ssppp – 1 1 – – – – –
DIR IMM IMM IX1+ IX+ SP1
INH 98 1p – 1 1 – – – – 0
INH 9A 1p – 1 1 – 0 – – –
DIR INH INH INH IX1 IX SP1
31
41
51
61
71 9E 61
3F
4F
5F
8C
6F
7F 9E 6F
dd rr ii rr ii rr ff rr rr ff rr
dd
ff
ff
5
rpppp
4
pppp
4
pppp
5
rpppp
5
rfppp
6
prpppp
p
5 1 1 1 5 4 6
p
rfw p p p rfwpp rfwp prfwpp
– 1 1 – – – – –
0 1 1 – – 0 1 –
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 93
7 章 中央处理单元 (S08CPUV2
源格式 操作
CMP #opr8i CMP opr8a CMP opr16a CMP oprx16,X CMP oprx8,X CMP ,X CMP oprx16,SP CMP oprx8,SP
COM opr8a COMA COMX COM oprx8,X COM ,X COM oprx8,SP
CPHX opr16a CPHX #opr16i CPHX opr8a CPHX oprx8,SP
CPX #opr8i CPX opr8a CPX opr16a CPX oprx16,X CPX oprx8,X CPX ,X CPX oprx16,SP CPX oprx8,SP
DAA
DBNZ opr8a,rel DBNZA rel DBNZX rel DBNZ oprx8,X,rel DBNZ ,X,rel DBNZ oprx8,SP,rel
存储器与累加器相比 A – M
(CCR 更新但操作数不变 )
求补
)= $FF – (M)
M (M ( 一个数的补 )A (A
X (X
) = $FF – (X)
M (M
) = $FF – (M) ) = $FF – (M)
M (M
) = $FF – (M)
M (M
比较变址寄存器 (H:X) 和存储器 (H:X) – (M:M + $0001)
(CCR 更新但操作数不变 )
比较 X ( 低位变址寄存器 ) 和存储器 X – M
(CCR 更新但操作数不变 )
BCD ADD,ADC 操作后转换累加器内容 到十进制
如果不为零,则 A, X, 或者 M 自减并且转移
( 如果 (result) 0) DBNZX 影响 X 但不影响 H
表 7-2. 指令集摘要 ( 第 4 页,共 9 页 )
操作码
寻址方式
) = $FF – (A)
IMM DIR EXT IX2 IX1 IX SP2 SP1
DIR INH INH IX1 IX SP1
EXT IMM DIR SP1
IMM DIR EXT IX2 IX1 IX SP2 SP1
INH 72 1p U 1 1 –
DIR INH INH IX1 IX SP1
A1
B1
C1
D1
E1
F1 9E D1 9E E1
33
43
53
63
73 9E 63
3E
65
75 9E F3
A3
B3
C3
D3
E3
F3 9E D3 9E E3
3B
4B
5B
6B
7B 9E 6B
ii dd hh ll ee ff ff
ee ff ff
dd
ff
ff
hh ll jj kk dd ff
ii dd hh ll ee ff ff
ee ff ff
dd rr rr rr ff rr rr ff rr
CCR
循环细节
总线周期
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
6
prrfpp
3
ppp
5
rrfpp
6
prrfpp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
V 1 1 HI N Z C
1 1 –
0 1 1 –
  
  1
 1 1 – –   
 1 1 ––   
–   
7
rfwpppp
4
fppp
4
fppp
7
rfwpppp
6
rfwppp
8
prfwpppp
– 1 1 – – – – –
DEC opr8a DECA DECX DEC oprx8,X DEC ,X DEC oprx8,SP
DIV
EOR #opr8i EOR opr8a EOR opr16a EOR oprx16,X EOR oprx8,X EOR ,X EOR oprx16,SP EOR oprx8,SP
自减
M (M) – $01 A (A) – $01 X (X) – $01 M (M) – $01 M (M) – $01 M (M) – $01
A (H:A)÷(X); H 余数
带累加器的存储器异或
A (A M)
DIR INH INH IX1 IX SP1
INH 52 6 fffffp – 1 1 –
IMM DIR EXT IX2 IX1 IX SP2 SP1
3A
4A
5A
6A
7A 9E 6A
A8
B8
C8
D8
E8
F8 9E D8 9E E8
dd
ff
ff
ii dd hh ll ee ff ff
ee ff ff
5 1 1 5 4 6
2 3 4 4 3 3 5 4
p
p
rfw p p rfwpp rfwp prfwpp
pp rpp prpp prpp rpp rfp pprpp prpp
1 1 ––
– –  
0 1 1 –
 
SC116009 系列微控制器数据手册 , 1
94 飞思卡尔半导体
源格式 操作
C
b0
b7
0
b0
b7
C0
INC opr8a INCA INCX INC oprx8,X INC ,X INC oprx8,SP
JMP opr8a JMP opr16a JMP oprx16,X JMP oprx8,X JMP ,X
JSR opr8a JSR opr16a JSR oprx16,X JSR oprx8,X JSR ,X
LDA #opr8i LDA opr8a LDA opr16a LDA oprx16,X LDA oprx8,X LDA ,X LDA oprx16,SP LDA
oprx8,SP
LDHX #opr16i LDHX opr8a LDHX opr16a LDHX ,X LDHX oprx16,X LDHX oprx8,X LDHX oprx8,SP
LDX #opr8i LDX opr8a LDX opr16a LDX oprx16,X LDX oprx8,X LDX ,X LDX oprx16,SP LDX oprx8,SP
LSL opr8a LSLA LSLX LSL oprx8,X LSL ,X LSL oprx8,SP
LSR opr8a LSRA LSRX LSR oprx8,X LSR ,X LSR oprx8,SP
自增
M (M) + $01 A (A) + $01 X (X) + $01 M (M) + $01 M (M) + $01 M (M) + $01
跳转 PC 跳转地址
跳转到子程序
PC (PC) + n (n = 1, 2, or 3) Push (PCL); SP (SP) – $0001 Push (PCH); SP (SP) – $0001 PC Unconditional Address
装入累加器
存储器
A (M)
装入变址寄存器
H:X
H:X ← (M:M + $0001)
从存储器中装入 X (低位变址寄存器) X (M)
逻辑左移
( 和 ASL 相同 )
逻辑右移
表 7-2. 指令集摘要 ( 第 5 页,共 9 页 )
操作码
寻址方式
DIR INH INH IX1 IX SP1
DIR EXT IX2 IX1 IX
DIR EXT IX2 IX1 IX
IMM DIR EXT IX2 IX1 IX SP2 SP1
IMM DIR EXT IX IX2 IX1 SP1
IMM DIR EXT IX2 IX1 IX SP2 SP1
DIR INH INH IX1 IX SP1
DIR INH INH IX1 IX SP1
3C
4C
5C
6C
7C 9E 6C
BC
CC
DC
EC
FC
BD
CD
DD
ED
FD
A6
B6
C6
D6
E6
F6 9E D6 9E E6
45
55
32 9E AE 9E BE 9E CE 9E FE
AE
BE
CE
DE
EE
FE 9E DE 9E EE
38
48
58
68
78 9E 68
34
44
54
64
74 9E 64
dd
ff
ff
dd hh ll ee ff ff
dd hh ll ee ff ff
ii dd hh ll ee ff ff
ee ff ff
jj kk dd hh ll
ee ff ff ff
ii dd hh ll ee ff ff
ee ff ff
dd
ff
ff
dd
ff
ff
7 章 中央处理单元 (S08CPUV2
循环细节
总线周期
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
3
ppp
4
pppp
4
pppp
3
ppp
3
ppp
5
ssppp
6
pssppp
6
pssppp
5
ssppp
5
ssppp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
3
ppp
4
rrpp
5
prrpp
5
prrfp
6
pprrpp
5
prrpp
5
prrpp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
V 1 1 HI N Z C
1 1 – –
– 1 1 – – – – –
– 1 1 – – – – –
0 1 1 –
0 1 1 –
0 1 1 –
1 1 –
 1 1 –– 0  
CCR
 
 
 
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 95
7 章 中央处理单元 (S08CPUV2
C
b0
b7
b0
b7
C
源格式 操作
MOV opr8a,opr8a MOV opr8a,X+ MOV #opr8i,opr8a MOV ,X+,opr8a
移动 (M)
destination
In IX+/DIR and DIR/IX+ Modes, H:X (H:X) + $0001
(M)
表 7-2. 指令集摘要 ( 第 6 页,共 9 页 )
寻址方式
DIR/DIR
source
DIR/IX+ IMM/DIR IX+/DIR
操作码
4E
dd dd
5E
dd
6E
ii dd
7E
dd
CCR
循环细节
总线周期
5
rpwpp
5
rfwpp
4
pwpp
5
rfwpp
V 1 1 HI N Z C
0 1 1 –
 
MUL
NEG opr8a NEGA NEGX NEG oprx8,X NEG ,X NEG oprx8,SP
NOP
NSA
ORA #opr8i ORA opr8a ORA opr16a ORA oprx16,X ORA oprx8,X ORA ,X ORA oprx16,SP ORA oprx8,SP
PSHA
PSHH
PSHX
无符号相乘
X:A (X) × (A)
取负
M – (M) = $00 – (M) ( 二进制补码 )A – (A) = $00 – (A)
X – (X) = $00 – (X) M – (M) = $00 – (M) M – (M) = $00 – (M) M – (M) = $00 – (M)
空操作使用一个总线周期
累加器半位元组交换
A (A[3:0]:A[7:4])
累加器或存储器
A (A) | (M)
把累加器压入堆栈
Push (A); SP (SP) – $0001
H (高位变址寄存器)压入堆栈 Push (H); SP (SP) – $0001
X (低位变址寄存器)压入堆栈 Push (X); SP (SP) – $0001
INH 42 5 ffffp
DIR INH INH IX1 IX SP1
INH 9D 1p – 1 1 – – – – –
INH 62 1p – 1 1 – – – – –
IMM DIR EXT IX2 IX1 IX SP2 SP1
INH 87 2sp – 1 1 – – – – –
INH 8B 2sp – 1 1 – – – – –
INH 89 2sp – 1 1 – – – – –
30
40
50
60
70 9E 60
AA
BA
CA
DA
EA
FA 9E DA 9E EA
dd
ff
ff
ii dd hh ll ee ff ff
ee ff ff
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
– 1 1 0
1 1 ––
0 1 1 –
– – – 0
 
PULA
PULH
PULX
ROL opr8a ROLA ROLX ROL oprx8,X ROL ,X ROL oprx8,SP
ROR opr8a RORA RORX ROR oprx8,X ROR ,X ROR oprx8,SP
累加器出栈
SP ← (SP + $0001); Pull (A)
H (高位变址寄存器)出栈 SP ← (SP + $0001); Pull (H)
X (低位变址寄存器)出栈 SP ← (SP + $0001); Pull (X)
进位循环左移
进位循环右移
INH 86 3ufp – 1 1 – – – – –
INH 8A 3ufp – 1 1 – – – – –
INH 88 3ufp – 1 1 – – – – –
DIR INH INH IX1 IX SP1
DIR INH INH IX1 IX SP1
39
49
59
69
79 9E 69
36
46
56
66
76 9E 66
dd
ff
ff
dd
ff
ff
5 1 1 5 4 6
5 1 1 5 4 6
p
p
rfw p p rfwpp rfwp prfwpp
rfwpp p p rfwpp rfwp prfwpp
 1 1 ––   
 1 1 ––   
SC116009 系列微控制器数据手册 , 1
96 飞思卡尔半导体
源格式 操作
RSP
RTI
堆栈复位 ( 低位 ) SPL $FF
( 不影响高字节 )
中断返回
SP (SP) + $0001; Pull (CCR) SP (SP) + $0001; Pull (A) SP (SP) + $0001; Pull (X) SP (SP) + $0001; Pull (PCH) SP (SP) + $0001; Pull (PCL)
表 7-2. 指令集摘要 ( 第 7 页,共 9 页 )
操作码
寻址方式
INH 9C 1p – 1 1 – – – – –
INH 80 9 uuuuufppp
7 中央处理单元 (S08CPUV2
CCR
循环细节
总线周期
V 1 1 HI N Z C
 1 1     
RTS
SBC #opr8i SBC opr8a SBC opr16a SBC oprx16,X SBC oprx8,X SBC ,X SBC oprx16,SP SBC oprx8,SP
SEC
SEI
STA opr8a STA opr16a STA oprx16,X STA oprx8,X STA ,X STA oprx16,SP STA oprx8,SP
STHX opr8a STHX opr16a STHX oprx8,SP
STOP
STX opr8a STX opr16a STX oprx16,X STX oprx8,X STX ,X STX oprx16,SP STX oprx8,SP
从子程序返回
SP ← SP + $0001; Pull (PCH) SP ← SP + $0001; Pull (PCL)
带进位减
A (A) – (M) – (C)
进位位置位
(C 1)
中断屏蔽位置位
(I 1)
将累加器中内容存储到存储器
M (A)
存储 H:X ( 变址寄存器 ) (M:M + $0001) (H:X)
中断使能 停止处理 参考 MCU 文档
I bit 0; Stop Processing
存储 X (变址寄存器低 8 位)到存储器 M (X)
INH 81 5ufppp – 1 1 – – – – –
IMM DIR EXT IX2 IX1 IX SP2 SP1
INH 99 1p – 1 1 – – – – 1
INH 9B 1p – 1 1 – 1 – – –
DIR EXT IX2 IX1 IX SP2 SP1
DIR EXT SP1
INH 8E 2fp... – 1 1 – 0 – – –
DIR EXT IX2 IX1 IX SP2 SP1
A2
B2
C2
D2
E2
F2 9E D2 9E E2
B7
C7
D7
E7
F7 9E D7 9E E7
35
96 9E FF
BF
CF
DF
EF
FF 9E DF 9E EF
ii dd hh ll ee ff ff
ee ff ff
dd hh ll ee ff ff
ee ff ff
dd hh ll ff
dd hh ll ee ff ff
ee ff ff
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
3
wpp
4
pwpp
4
pwpp
3
wpp
2
wp
5
ppwpp
4
pwpp
4
wwpp
5
pwwpp
5
pwwpp
3
wpp
4
pwpp
4
pwpp
3
wpp
2
wp
5
ppwpp
4
pwpp
1 1 ––
0 1 1 –
0 1 1 –
0 1 1 –
 
 
 
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 97
7 章 中央处理单元 (S08CPUV2
源格式 操作
SUB #opr8i SUB opr8a SUB opr16a SUB oprx16,X SUB oprx8,X SUB ,X SUB oprx16,SP SUB oprx8,SP
SWI
TAP
A ← (A) – (M)
软中断
PC (PC) + $0001 Push (PCL); SP (SP) – $0001 Push (PCH); SP (SP) – $0001 Push (X); SP (SP) – $0001 Push (A); SP (SP) – $0001 Push (CCR); SP (SP) – $0001 I 1;
PCH 高字节中断矢量 PCL 低字节中断矢量
转移累加器到 CCR CCR (A)
表 7-2. 指令集摘要 ( 第 8 页,共 9 页 )
操作码
寻址方式
IMM DIR EXT IX2 IX1 IX SP2 SP1
INH 83 11 sssssvvfppp – 1 1 – 1 – – –
INH 84 1p
A0
B0
C0
D0
E0
F0 9E D0 9E E0
ii dd hh ll ee ff ff
ee ff ff
CCR
循环细节
总线周期
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
V 1 1 HI N Z C
1 1 ––   
 1 1     
TAX
TPA
TST opr8a TSTA TSTX TST oprx8,X TST ,X TST oprx8,SP
TSX
TXA
转移累加器到 X ( 低位变址寄存器 ) X (A)
转移 CCR 到累加器 A (CCR)
测试零或负数
(M) – $00 (A) – $00 (X) – $00 (M) – $00 (M) – $00 (M) – $00
转移 SP 到变址寄存器 . H:X (SP) + $0001
转移 X (低位变址寄存器)到累加器 A (X)
INH 97 1p – 1 1 – – – – –
INH 85 1p – 1 1 – – – – –
DIR INH INH IX1 IX SP1
INH 95 2fp – 1 1 – – – – –
INH 9F 1p – 1 1 – – – – –
3D
4D
5D
6D
7D 9E 6D
dd
ff
ff
4
rfpp
1
p
1
p
4
rfpp
3
rfp
5
prfpp
0 1 1 –
 
SC116009 系列微控制器数据手册 , 1
98 飞思卡尔半导体
源格式 操作
TXS
转移变址寄存器到 SP SP (H:X) – $0001
表 7-2. 指令集摘要 ( 第 9 页,共 9 页 )
操作码
寻址方式
INH 94 2fp – 1 1 – – – – –
7 中央处理单元 (S08CPUV2
CCR
循环细节
总线周期
V 1 1 HI N Z C
WAIT
源格式栏中,除了用斜体表示的表达式外,其它信息必须以相同的格式出现在汇编源文件中。原始的 3 5 个助记符是一种文字表达。所有的
逗号,井号 (#),圆括号,加号 (+)都是文字字符。
n 任何估算 0-7 之间的单整形数的标识或表达式 opr8i — 任何估算 8 位立即数值的标识或表达式 opr16i 任何估算 16 位立即数值的标识或表达式 opr8a — 任何估算 8 位直接页地址 (0x00XX)的标识或表达式。 opr16a 任何估算 16 位地址的标识或表达式。 oprx8 — 任何估算无符号 8 位立即数值的标识或表达式 , 用于变址寻址 oprx16 任何用来估值 16 位立即数值的标识或表达式,用于变址寻址 rel 任何标识或表达式所涉及地址在当前指令末子节目标操作码后的下个地址 -128 127 之间。
操作符 :
A 累加器 CCR 条件码寄存器 H 变址寄存器高 8 M 寄存器
n 任何位
r 操作数 (1 2 字节 )
op
PC 程序计数器 PCH 程序计数器高 8 位 PCL 程序计数器低 8 位
rel 相对程序计数器偏移字节
SP 堆栈指针 SPL 堆栈指针低 8 位 X 变址寄存器低 8 & 布尔与
布尔或 ⊕ 布尔异或
( ) 寄存器或存储器内容显示在圆括号里 +
-
ⅹ乘 ÷除
# 立即值 ¨ 被装入 (读:获得) : 连接
中断使能,等待中断
I bit 0; Halt CPU
地址
INH 8F 2+ fp... – 1 1 – 0 – – –
寻址模式:
DIR 直接寻址模式 EXT 扩展寻址模式 IMM 立即寻址模式 INH 内在寻址模式 IX 无偏移量变址模式 IX 1 8 位偏移量变址模式 IX 2 16 位偏移量变址模式 IX+ 无偏移量变址、变址加 1 寻址模式 IX1+ 8 位偏移量变址、变址加 1 寻址模式 REL 相对寻址模式 SP1 8 位偏移量堆栈寻址模式 SP2 16 位偏移量堆栈寻址模式
循环码 :
f 自由周期。在自由周期, CPU 不需要使用系统总线,
一个自由周期通常是系统总线时钟的一个周期并且 通常是一个只读周期。
p 程序取回;从程序寄存器的下个连续地址读取。 r 8 位操作码 s 把一个字节推入 (写入)堆栈 u
从堆栈弹出 (读出)一个字节
v 0XFFx w 8 位操作码
x 读矢
量 ( 从高字节开始 )
条件寄存器 (CCR)位
V 溢出位 H 半进位位 I 中断屏蔽标识 N 负标识位 Z 零标识 C 进位 / 借位标识
CCR 常用符号 : 设置或清零
不影响 U 未定义
SC116009 系列微控制器数据手册 , 1
飞思卡尔半导体 99
7 章 中央处理单元 (S08CPUV2
Bit-Manipulation Branch Read-Modify-Write Control Register/Memory
00 5
BRSET0
3DIR 01 5
BRCLR0
3DIR 02 5
BRSET1
3DIR 03 5
BRCLR1
3DIR 04 5
BRSET2
3DIR 05 5
BRCLR2
3DIR 06 5
BRSET3
3DIR 07 5
BRCLR3
3DIR 08 5
BRSET4
3DIR 09 5
BRCLR4
3DIR 0A 5
BRSET5
3DIR 0B 5
BRCLR5
3DIR 0C 5
BRSET6
3DIR 0D 5
BRCLR6
3DIR 0E 5
BRSET7
3DIR 0F 5
BRCLR7
3DIR
10 5
BSET0
2DIR 11 5
BCLR0
2DIR 12 5
BSET1
2DIR 13 5
BCLR1
2DIR 14 5
BSET2
2DIR 15 5
BCLR2
2DIR 16 5
BSET3
2DIR 17 5
BCLR3
2DIR 18 5
BSET4
2DIR 19 5
BCLR4
2DIR 1A 5
BSET5
2DIR 1B 5
BCLR5
2DIR 1C 5
BSET6
2DIR 1D 5
BCLR6
2DIR 1E 5
BSET7
2DIR 1F 5
BCLR7
2DIR
20 3
BRA
2REL 21 3
BRN
2REL 22 3
BHI
2REL 23 3
BLS
2REL 24 3
BCC
2REL 25 3
BCS
2REL 26 3
BNE
2REL 27 3
BEQ
2REL 28 3
BHCC
2REL 29 3
BHCS
2REL 2A 3
BPL
2REL 2B 3
BMI
2REL 2C 3
BMC
2REL 2D 3
BMS
2REL 2E 3
BIL
2REL 2F 3
BIH
2REL
30 5
NEG
2DIR 31 5
CBEQ
3DIR 32 5
LDHX
3EXT 33 5
COM
2DIR 34 5
LSR
2DIR 35 4
STHX
2DIR 36 5
ROR
2DIR 37 5
ASR
2DIR 38 5
LSL
2DIR 39 5
ROL
2DIR 3A 5
DEC
2DIR 3B 7
DBNZ
3DIR 3C 5
INC
2DIR 3D 4
TST
2DIR 3E 6
CPHX
3EXT 3F 5
CLR
2DIR
40 1
NEGA
1INH 41 4
CBEQA
3IMM 42 5
MUL
1INH 43 1
COMA
1INH 44 1
LSRA
1INH 45 3
LDHX
3IMM 46 1
RORA
1INH 47 1
ASRA
1INH 48 1
LSLA
1INH 49 1
ROLA
1INH 4A 1
DECA
1INH 4B 4
DBNZA
2INH 4C 1
INCA
1INH 4D 1
TSTA
1INH 4E 5
MOV
3DD 4F 1
CLRA
1INH
7-3. Opcode Map ( 1 页,共 2 页 )
50 1
1INH 51 4
3IMM 52 6
1INH 53 1
1INH 54 1
1INH 55 4
2DIR 56 1
1INH 57 1
1INH 58 1
1INH 59 1
1INH 5A 1
1INH 5B 4
2INH 5C 1
1INH 5D 1
1INH 5E 5
2DIX+ 5F 1
1INH
NEGX
CBEQX
DIV
COMX
LSRX
LDHX
RORX
ASRX
LSLX
ROLX
DECX
DBNZX
INCX
TSTX
MOV
CLRX
60 5
2IX1 61 5
3IX1+ 62 1
1INH 63 5
2IX1 64 5
2IX1 65 3
3IMM 66 5
2IX1 67 5
2IX1 68 5
2IX1 69 5
2IX1 6A 5
2IX1 6B 7
3IX1 6C 5
2IX1 6D 4
2IX1 6E 4
3IMD 6F 5
2IX1
NEG
CBEQ
NSA
COM
LSR
CPHX
ROR
ASR
LSL
ROL
DEC
DBNZ
INC
TST
MOV
CLR
70 4
1IX 71 5
2IX+ 72 1
1INH 73 4
1IX 74 4
1IX 75 5
2DIR 76 4
1IX 77 4
1IX 78 4
1IX 79 4
1IX 7A 4
1IX 7B 6
2IX 7C 4
1IX 7D 3
1IX 7E 5
2IX+D 7F 4
1IX
NEG
CBEQ
DAA
COM
LSR
CPHX
ROR
ASR
LSL
ROL
DEC
DBNZ
INC
TST
MOV
CLR
80 9
RTI
1INH 81 6
RTS
1INH 82 5+
BGND
1INH 83 11
SWI
1INH 84 1
TA P
1INH 85 1
TPA
1INH 86 3
PULA
1INH 87 2
PSHA
1INH 88 3
PULX
1INH 89 2
PSHX
1INH 8A 3
PULH
1INH 8B 2
PSHH
1INH 8C 1
CLRH
1INH
8E 2+
STOP
1INH 8F 2+
WAIT
1INH
90 3
BGE
2REL 91 3
BLT
2REL 92 3
BGT
2REL 93 3
BLE
2REL 94 2
TXS
1INH 95 2
TSX
1INH 96 5
STHX
3EXT 97 1
TA X
1INH 98 1
CLC
1INH 99 1
SEC
1INH 9A 1
CLI
1INH 9B 1
SEI
1INH 9C 1
RSP
1INH 9D 1
NOP
1INH 9E
Page 2
9F 1
TXA
1INH
A0 2
2IMM A1 2
2IMM A2 2
2IMM A3 2
2IMM A4 2
2IMM A5 2
2IMM A6 2
2IMM A7 2
2IMM A8 2
2IMM A9 2
2IMM AA 2
2IMM AB 2
2IMM
AD 5
2REL AE 2
2IMM AF 2
2IMM
SUB
CMP
SBC
CPX
AND
BIT
LDA
AIS
EOR
ADC
ORA
ADD
BSR
LDX
AIX
B0 3
SUB
2DIR B1 3
CMP
2DIR B2 3
SBC
2DIR B3 3
CPX
2DIR B4 3
AND
2DIR B5 3
BIT
2DIR B6 3
LDA
2DIR B7 3
STA
2DIR B8 3
EOR
2DIR B9 3
ADC
2DIR BA 3
ORA
2DIR BB 3
ADD
2DIR BC 3
JMP
2DIR BD 5
JSR
2DIR BE 3
LDX
2DIR BF 3
STX
2DIR
C0 4
SUB
3 EXT C1 4
CMP
3 EXT C2 4
SBC
3 EXT C3 4
CPX
3 EXT C4 4
AND
3 EXT C5 4
BIT
3 EXT C6 4
LDA
3 EXT C7 4
STA
3 EXT C8 4
EOR
3 EXT C9 4
ADC
3 EXT CA 4
ORA
3 EXT CB 4
ADD
3 EXT CC 4
JMP
3 EXT CD 6
JSR
3 EXT CE 4
LDX
3 EXT CF 4
STX
3 EXT
D0 4
3IX2 D1 4
3IX2 D2 4
3IX2 D3 4
3IX2 D4 4
3IX2 D5 4
3IX2 D6 4
3IX2 D7 4
3IX2 D8 4
3IX2 D9 4
3IX2 DA 4
3IX2 DB 4
3IX2 DC 4
3IX2 DD 6
3IX2 DE 4
3IX2 DF 4
3IX2
SUB
CMP
SBC
CPX
AND
BIT
LDA
STA
EOR
ADC
ORA
ADD
JMP
JSR
LDX
STX
E0 3
2IX1 E1 3
2IX1 E2 3
2IX1 E3 3
2IX1 E4 3
2IX1 E5 3
2IX1 E6 3
2IX1 E7 3
2IX1 E8 3
2IX1 E9 3
2IX1 EA 3
2IX1 EB 3
2IX1 EC 3
2IX1 ED 5
2IX1 EE 3
2IX1 EF 3
2IX1
SUB
CMP
SBC
CPX
AND
BIT
LDA
STA
EOR
ADC
ORA
ADD
JMP
JSR
LDX
STX
F0 3
1IX F1 3
1IX F2 3
1IX F3 3
1IX F4 3
1IX F5 3
1IX F6 3
1IX F7 2
1IX F8 3
1IX F9 3
1IX FA 3
1IX FB 3
1IX FC 3
1IX FD 5
1IX FE 3
1IX FF 2
1IX
SUB
CMP
SBC
CPX
AND
BIT
LDA
STA
EOR
ADC
ORA
ADD
JMP
JSR
LDX
STX
INH 隐含寻址 REL 相对寻址 SP1 8 位偏移量堆栈寻址 IMM 立即寻址 IX 无偏移量变址寻址 SP2 16 位偏移量堆栈寻址 DIR 直接寻址 IX1 8 位偏移量变址寻址 IX+ 无偏移量自动加 1 变址寻址 EXT 扩展寻址 IX2 16 位偏移量变址寻址 IX+D 变址-直接-变址加1寻址 DD 直接 - 直接寻址 IMD 立即 - 直接寻址 IX1+ 8 位偏移量自动加 1 变址寻址 DIX+ 直接 - 自动加 1 变址寻址
16 进制表示
操作码
字节数
F0 3
1IX
SUB
HCS08 指令周期
助记寻址方式
SC116009 系列微控制器数据手册 , 1
100 飞思卡尔半导体
Loading...