第一章 Motorola单片机简介 1
1.1 发展概述 1
1.2 Motorola单片机的结构特点 2
1.2.1 存贮器组织 2
1.2.2 CPU结构 2
1.2.3 中断处理 2
1.2.4 并行I/O口 3
1.2.5 定时器系统 3
1.2.6 串行口 3
1.2.7 其他I/O功能 4
1.3 Motorola单片机系列 4
1.3.1 低档8位单片机 4
1.3.2 高档8位单片机M68HC11 5
1.3.3 Motorola模块化单片机 13
第二章 M68HC11基本结构 19
2.1 MC68HC11A8结构和功能 19
2.2 引脚功能和说明 22
2.2.1 电源脚(VDD和VSS) 22
2.2.2 方式选择脚(MODB/VSTBY和MODA/LIR) 22
2.2.3 晶振和时钟脚(EXTAL、XTAL和E) 24
2.2.4 复位脚(RESET) 25
2.2.5 中断脚(XIRQ、IRQ) 26
2.2.6 A/D参考电压输入和PE口脚(VREFL、VREFH、PE7~PE0) 27
2.2.7 定时器和PA口脚(PA7~PA0) 28
2.2.8 串行口和PD口脚(PD0~PD5) 28
2.2.9 PB、PC口、STRA和STRB脚 28
2.2.10 使用注意事项 29
2.3 存贮器组织 30
第三章 M68HC11指令系统 36
3.1 CPU结构 36
3.1.1 累加器(A、B和D) 37
3.1.2 变址寄存器(X和Y) 37
3.1.3 堆栈指针(SP) 37
3.1.4 程序计数器(PC) 38
3.1.5 条件码寄存器(CCR) 38
3.2 寻址方式 39
3.2.1 立即(IMM) 39
3.2.2 扩展(EXT) 40
3.2.3 直接(DIR) 40
3.2.4 变址(INDX,INDY) 41
3.2.5 隐含(INH) 42
3.2.6 相对(REL) 42
3.3 指令系统? 43
3.3.1 数据传送指令 43
3.3.2 算术运算指令 47
3.3.3 逻辑运算指令 52
3.3.4 移位指令 54
3.3.5 转移指令 55
3.3.6 子程序和返回指令 56
3.3.7 位操作指令 57
3.3.8 控制指令 58
第四章 M68HC11程序设计 61
4.1 交叉汇编使用方法 61
4.1.1 汇编源程序格式 61
4.1.2 汇编伪指令 63
4.1.3 交叉汇编使用方法 65
4.2 算术运算程序设计 67
4.2.1 多字节加减法 67
4.2.2 多字节无符号乘法 69
4.2.3 多字节无符号除法 71
4.2.4 补码乘法 73
4.2.5 补码除法 76
4.2.6 十进制加法运算 78
4.2.7 十进制减法运算 79
4.3 数制转换 79
4.3.1 整数十翻二 79
4.3.2 小数十翻二 81
4.3.3 整数二翻十 82
4.3.4 小数二翻十 82
4.3.5 二进制数至ASCII码转换 83
4.4 查表和散转 84
4.4.1 简单查表 84
4.4.2 线性插值查表 84
4.4.3 数组访问方法 87
4.4.4 简单散转 88
4.4.5 查表散转 89
4.4.6 命令字符串查表 90
4.5 数据处理 92
4.5.1 算术平均值法 92
4.5.2 防脉冲干扰平均值法 93
4.5.3 低通数字滤波 95
第五章 M68HC11系统设置和工作方式 97
5.1 硬件方式选择 97
5.1.1 硬件方式选择脚 97
5.1.2 HPRIO寄存器中的方式控制位 98
5.2 系统设置 98
5.2.1 系统设置工作方式 99
5.2.2 CONFIG寄存器 99
5.3 受保护的寄存器位 101
5.3.1 INIT寄存器 101
5.3.2 TMSK2寄存器 102
5.3.3 OPTION寄存器 102
5.3.4 BPBOT寄存器 104
5.4 正常MCU工作方式 104
5.4.1 单片方式 104
5.4.2 扩展方式 105
5.5 特殊MCU工作方式 105
5.5.1 TEST1寄存器 106
5.5.2 BAUD寄存器的测试控制位 107
5.5.3 特殊测试方式 107
5.5.4 特殊自引导方式 108
第六章 M68HC11片内存贮器 110
6.1 片内ROM 110
6.2 片内RAM 111
6.3 片内EEPROM 112
6.3.1 地址和组织 113
6.3.2 总线速度低于2MHz的EEPROM操作 113
6.3.3 PPROG寄存器 113
6.3.4 编程和擦除方法 115
6.3.5 EEPROM加密 117
6.3.6 EEPROM使用方法 118
6.3.7 EEPROM保护和BPROT寄存器 120
6.4 片内EPROM 121
6.4.1 MC68HC711E9的EPROM 121
6.4.2 MC68HC711D3的EPROM 123
6.4.3 MC68HC711J6的EPROM 124
6.4.4 MC68HC711G5的EPROM 126
第七章 M68HC11复位和中断 128
7.1 复位状态 128
7.2 复位源 130
7.2.1 上电复位(POR) 130
7.2.2 COP监视定时器复位 131
7.2.3 时钟监视器复位 132
7.2.4 外部复位 132
7.3 中断 134
7.3.1 中断源和中断向量 134
7.3.2 不可屏蔽中断 135
7.3.3 可屏蔽中断 136
7.3.4 中断优先级和HPRIO寄存器 138
7.3.5 中断响应过程 143
7.4 低功耗工作方式 144
7.4.1 WAIT方式 144
7.4.2 STOP方式 145
第八章 M68HC11并行I/O口 146
8.1 MC68HC11E×/A×并行I/O口 146
8.1.1 PA口 147
8.1.2 PB口 147
8.1.3 PC口 147
8.1.4 PD口 148
8.1.5 PE口 148
8.2 并行I/O和控制寄存器 148
8.3 简单选通I/O 149
8.3.1 选通输入PC口 149
8.3.2 选通输出PB口 150
8.4 全应答并行I/O 150
8.4.1 输入应答规程 150
8.4.2 输出应答规程 150
8.5 并行I/O控制 151
8.5.1 并行I/O控制寄存器(P1OC) 151
8.5.2 STRA和STRB使用方法 152
8.6 其他M68HC11并行I/O口 153
8.6.1 MC68HC11D×并行I/O口 153
8.6.2 MC68HC11F1并行I/O口 153
8.6.3 MC68HC11L6并行I/O口 154
8.6.4 MC68HC711J6并行I/O口 154
8.6.5 MC68HC11G×并行I/O口 155
第九章 同步串行外围接口(SPI) 156
9.1 SPI结构 156
9.1.1 SPI传送格式 156
9.1.2 SPI结构 157
9.1.3 SPI引脚 158
9.2 SPI寄存器 159
9.2.1 PD数据方向控制寄存器(DDRD) 159
9.2 2 SPI控制寄存器(SPOR) 160
9.2.3 SPI状态寄存器(SPSR) 161
9.2.4 串行外围数据I/O寄存器(SPDR) 162
9.3 SPI接口扩展芯片 162
9.4 SPI使用方法 165
9.4.1 硬件连接方法 165
9.4.2 软件编制方法 166
9.4.3 SPI使用举例 167
9.4.4 软件SPI使用方法 170
第十章 异步串行通讯接口(SCI) 172
10.1 SCI功能 172
10.1.1 SCI基本特性 172
10.1.2 数据格式 172
10.2 SCI结构 173
10.2.1 SCI发送器 173
10.2.2 SCI接收器 174
10.3 SCI寄存器和控制位 176
10.3.1 与PD口有关的控制位 176
10.3.2 波特率控制寄存器(BAUD) 177
10.3.3 SCI控制寄存器1(SCCR1) 179
10.3.4 SCI控制寄存器2(SCCR2) 179
10.3.5 SCI状态寄存器(SCSR) 181
10.3.6 SCI数据寄存器(SCDR) 183
10.4 多机通讯规程 183
10.4.1 空闲线唤醒方式 183
10.4.2 地址位唤醒方式 184
10.5 SCI使用方法 184
10.5.1 硬件连接方法 184
10.5.2 软件编制方法 188
第十一章 M68HC11定时器、实时中断和脉冲累加器 191
11.1 定时器结构 191
11.1.1 定时器框图 191
11.1.2 计数器和溢出中断 191
11.1.3 输入捕捉 193
11.1.4 输出比较 193
11.2 定时器寄存器 194
11.2.1 定时器数据寄存器 194
11.2.2 定时器控制寄存器 195
11.2.3 定时器中断和状态寄存器 196
11.3 输入捕捉功能及使用方法 199
11.3.1 测量周期和频率 199
11.3.2 测量脉冲宽度 201
11.3.3 测量窄脉冲宽度 202
11.3.4 测量长的脉冲周期 202
11.3.5 其他使用方法 204
11.4 输出比较功能及使用方法 205
11.4.1 方波发生器 205
11.4.2 脉冲宽度调制输出 206
11.4.3 OC1的使用方法 207
11.4.4 实时时钟 210
11.5 实时中断 213
11.6 脉冲累加器 214
11.6.1 脉冲累加器的结构 214
11.6.2 脉冲累加器的寄存器 215
11.6.3 事件计数方式 216
11.6.4 门控计时累加方式 218
11.6.5 PAI脚其他使用方法 219
11.7 MC68HC11G×定时器系统 219
11.7.1 主定时器系统 220
11.7.2 脉冲宽度调制定时器 224
11.7.3 事件计数器 229
第十二章 M68HC11的A/D转换器 237
12.1 M68HC11的A/D转换器简介 237
12.1.1 A/D转换原理 237
12.1.2 A/D转换操作 237
12.1.3 A/D转换时序 238
12.1.4 A/D转换电源发生器的RC振荡器 238
12.2 A/D转换寄存器 239
12.2.1 A/D转换控制/状态寄存器(ADCTL) 239
12.2.2 A/D转换结果寄存器 240
12.3 A/D转换输入引脚 240
12.4 省电方式下的A/D转换 241
12.5 M68HC11的A/D转换使用方法 241
12.5.1 具有滤波功能的A/D转换 241
12.5.2 定时A/D转换的采样 243
12.5.3 提高A/D转换的分辨率的方法 245
12.6 MC68HC11G×A/D转换器 248
12.6.1 简介 248
12.6.2 A/D转换操作 248
12.6.3 A/D寄存器和通道选择 249
第十三章 M68HC11系统扩展方法 252
13.1 M68HC11总线时序 252
13.1.1 多路扩展总线 252
13.1.2 非多路扩展总线 253
13.2 M68HC11系统扩展方法 254
13.2.1 最小扩展系统 254
13.2.2 基本扩展系统 255
13.2.3 大容量RAM扩展系统 255
13.2.4 有片内程序存贮器的扩展系统 258
13.3 MC68HC11F1扩展方法 258
13.3.1 片选功能 259
13.3.2 MC68HC11F1扩展系统 263
13.4 MC68HC11G×/J×扩展方法 263
13.4.1 MC68HC11G×扩展方法 264
13.4.2 MC68HC711J6扩展方法 264
13.5 I/O扩展芯片 265
13.5.1 M68HC11专用并行I/O扩展芯片 265
13.5.2 M68HC11通用I/O扩展芯片 274
第十四章 M68HC11技术手册 280
14.1 MC68HC11A8/A7/A1/A0 280
14.2 MC68HC11E9/E8/E1/E0 302
14.3 MC68HC711E9 307
14.4 MC68HC811E2 308
14.5 MC68HC11F1 314
14.6 MC68HC11D3/D0 320
14.7 MC68HC711D3 328
14.8 MC68HC11L6 329
14.9 MC68HC711J6 335
14.10 MC68HC11G5/G7 342
14.11 其他M68HC11简介 358
14.11.1 MC68HC11K4 358
14.11.2 MC68HC11KA4 358
14.11.3 MC68HC11E20 359
14.11.4 MC68HC11M2 359
14.11.5 MC68HC11N4 359
14.11.6 MC68HC11P2 359
第十五章 M68HC11开发和应用 360
15.1 M68HC11开发方法 360
15.1.1 M68HC11应用系统设计方法 360
15.1.2 M68HC11开发工具 369
15.2 MC68HC811E2在双向直流电机控制中的应用 374
15.2.1 无环流双重变流器及其控制原理 374
15.2.2 控制系统的硬件设计 375
15.2.3 控制系统的软件设计 377
15.2.4 系统功能扩展 378
15.3 MC68HC711D3在三相交流功率计中的应用 379
15.3.1 三相交流功率计简介 379
15.3.2 硬件结构 379
15.3.3 软件结构 382
附录 M68HC11指令表 385
参考文献 398