第一章 嵌入式系统与单片机 1
1.1 嵌入式系统 1
1.1.1 嵌入式系统概述 1
1.1.2 嵌入式系统硬件 1
1.1.3 新型嵌入式系统软件 3
1.2 单片机的内部结构 5
1.3 典型的单片机产品 6
1.4 M68HC08系列单片机产品简介 9
1.4.1 片内资源丰富、功能特别强的单片机类 10
1.4.2 体只小、价格低的单片机 11
1.4.3 特殊单片机 12
1.5 单片机的应用——简易的嵌入式系统 14
第二章 M68HC08系列单片机系统结构 16
2.1 总体结构 16
2.1.1 GP32结构框图 16
2.1.2 GP32的封装和引脚说明 18
2.2 中央处理器CPU08 18
2.3 存储空间分配 21
2.3.1 存储映象图 21
2.3.2 Flash存储器 21
2.3.3 RAM存储器 23
2.3.4 I/O寄存器和控制寄存器 23
2.3.5 监控MON 24
2.4 时钟发生器模块CGM 24
2.4.1 晶体振荡器电路 25
2.4.2 锁相环PLL和基时钟选择电路 26
2.4.3 锁相环编程方法 28
2.4.4 锁相环滤波器 29
2.4.5 M68HC08其他类型的时钟模块 29
2.5 复位 30
2.5.1 复位功能 30
2.5.2 复位信号源 30
2.5.3 CPU正常工作监视器COP 31
2.5.4 LVI低电压禁止模块 32
2.6 中断系统 32
2.6.1 中断概念 32
2.6.2 M68HC08中断系统 33
2.6.3 外部中断IRQ 34
2.6.4 键盘中断模块KBI 35
2.7 M68HC08的其他功能模块 36
2.7.1 低功耗方式 36
2.7.2 结构寄存器CONFIGX 37
2.7.3 系统集成模块SIM 38
2.7.4 MON模块 39
2.7.5 断点模块BREAK 39
2.7.6 其他功能模块 39
第二章习题和思考题 40
第三章 M68HC08指令系统 41
3.1 指令格式 41
3.1.1 汇编指令格式 41
3.1.2 常用伪指令 41
3.1.3 符号说明 42
3.2 寻址方式 44
3.3 M68HC08指令系统 46
3.3.1 指令类型 46
3.3.2 数据传送指令 47
3.3.3 算术运算指令 49
3.3.4 逻辑运算指令 54
3.3.5 位操作指令 56
3.3.6 移位指令 56
3.3.7 程序转移和控制类指令 58
第三章习题和思考题 62
第四章 定时系统(TIM、TBM、PWMMC) 64
4.1 定时器接口模块TIM 64
4.1.1 TIM的结构和功能 64
4.1.2 TIM寄存器 67
4.1.3 TIM的输出比较使用方法 70
4.1.4 TIM的输入捕捉使用方法 79
4.2时基模块(TBM) 83
4.2.1 TBM的结构和功能 83
4.2.2 TBM控制寄存器TBCR 83
4.2.3 TBM应用方法 84
4.3用于电机控制的脉宽调制器(PWMMC) 85
4.3.1 PWMMC的结构和功能 85
4.3.2 PWMHC模块寄存器 88
第四章习题和思考题 91
第五章 串行口 93
5.1异步串行通信口(SCI) 93
5.1.1 SCI功能 93
5.1.2 SCI结构 94
5.1.3 SCI寄存器 96
5.1.4多机通信规程 102
5.1.5低功耗工作方式下的SCI 103
5.1.6 SCI 使用方法 104
5.2串行外围接口(SPI) 105
5.2.1 SPI简介 105
5.2.2 SPI结构 106
5.2.3 SPI寄存器 109
5.2.4 SPI使用方法 111
5.3 多主机I2C总线接口 113
5.3.1 I2C总线简介 113
5.3.2 多主机I2C接口特性 114
5.3.3 多主机I2C寄存器 115
5.3.4 多主机I2C使用方法 118
5.4 MSCAN模块 122
5.4.1 CAN简介 123
5.4.2 MSCAN08结构 125
5.4.3 MSCAN08寄存器 129
5.5 通用串行总线(USB)模块 135
5.5.1 USB简介 136
5.5.2 USB模块特性 138
5.5.3 USB模块寄存器 139
5.5.4 USR中断 146
第五章习题和思考题 147
第六章 并行接口和A/D模块 148
6.1 并行接口 148
6.1.1 M68HC08并行接口的功能和结构 148
6.1.2 GP32的并行接口 149
6.1.3 并行接口的应用实例 151
6.2 A/D转换模块 168
6.2.1 GP32的8位A/D模块 168
6.2.2 GP32的A/D模块的应用 170
6.2.3 SR12的10位A/D模块 172
6.3 SR12的模拟电路模块(AM) 176
6.3.1 AM结构和功能 176
6.3.2 AM控制状态寄存器 177
第六章习题和思考题 179
第七章 程序设计和实时多任务操作系统 181
7.1 M68HC08汇编使用方法 181
7.1.1 汇编源程序格式 181
7.1.2 汇编伪指令 183
7.1.3 汇编产生的文件 185
7.2 算术运算程序设计 186
7.2.1 加减法 186
7.2.2 无符号乘法 188
7.2.3 无符号除法 189
7.2.4 补码乘法 191
7.2.5 补码除法 195
7.3 数制转换 196
7.3.1 整数十翻二 196
7.3.2 小数十翻二 198
7.3.3 整数二翻十 200
7.3.4 小数二翻十 201
7.3.5 十六进制数至ASCII码转换 202
7.4 查表和散转程序 203
7.4.1 简单查表 203
7.4.2 线性插值查表 204
7.4.3 简单散转 207
7.4.4 查表散转 208
7.4.5 命令字符串查表 209
7.5 数据处理 211
7.5.1 算术平均值法 211
7.5.2 防脉冲干扰平均值法 212
7.5.3 低通数字滤波 214
7.6 监控ROM 215
7.6.1 监控方式进入方法 215
7.6.2 监控命令 216
7.7 M68HC08 Flash存储器编程 217
7.7.1 编程方法 217
7.7.2 JL3等Flash的编程方法 220
7.8 实时多任务操作系统 221
7.8.1 实时系统和中断处理 221
7.8.2 实时操作系统简介 223
7.8.3 实时任务调度 224
7.8.4 任务通信控制 227
7.8.5 实时时钟 231
7.8.6 输入/输出和中断处理 233
7.8.7 实时多任务操作系统环境下的应用软件设计方法 235
7.8.8 M68HC08实时多任务操作系统设计要点 238
第七章习题和思考题 239
第八章 单片机系统的设计 241
8.1 单片机系统的设计 241
8.1.1 单片机系统的研制过程 241
8.1.2 总体设计 241
8.1.3 硬件设计 243
8.1.4 可靠性设计 243
8.1.5 软件设计 244
8.2 单片机的开发工具 245
8.2.1 单片机开发工具的类型 246
8.2.2 Motorola M68HC08单片机开发工具 246
8.2.3 SEMV-HC08在线仿真器 250
8.3 单片机系统的调试 260
8.3.1 硬件调试 260
8.3.2 软件调试 261
8.3.3 综合调试 262
8.4 多功能编程器——单片机系统设计举例(一) 262
8.4.1 多功能编程器的功能需求 262
8.4.2 硬件设计 263
8.4.3 软件设计 266
8.5 居民小区安全系统——单片机系统设计举例(二) 268
8.5.1 报警器的功能要求 268
8.5.2 报警器硬件设计 268
8.5.3 报警器软件设计 272
第八章习题和思考题 282
第九章 MC68HC08单片机实验 284
9.1 实验设备 284
9.1.1 M68HC08 GP32综合实验板 284
9.1.2 绘图仪实验台 285
9.1.3 其他专用实验设备 285
9.2 软件实验 286
9.2.1 三字节十进制加法实验 286
9.2.2 多字节无符号数加减法实验 287
9.2.3 乘法和除法实验 288
9.2.4 十-二进制数转换实验 289
9.2.5 二-十进制数转换实验 289
9.2.6 查表程序实验 290
9.2.7 压缩BCD码转换成单字节BCD码实验 291
9.2.8 防脉冲干扰平均值法实验 291
9.3 MC68HC908 GP32功能模块实验 292
9.3.1 外部中断实验 293
9.3.2 PLL编程实验 294
9.3.3 并行口输入输出实验 295
9.3.4 软件定时器实验 296
9.3.5 SPI和七段显示器实验 296
9.3.6键盘输入——KBI、TIM、并行口综合实验 298
9.3.7 A/D转换器实验 299
9.3.8 时基模块TBM实验 300
9.3.9 CAP、PWM电机转速测量实验 301
9.3.10 CAP、PWM电机转速控制实验 302
9.3.11 SCI串行通信实验 303
9.4 MC68HC908 GP32系统实验 304