基础篇 MCS-51系列8位机 3
第1章 计算机基础知识 3
1.1 概述 3
1.1.1 计算机 3
1.1.2 微型计算机 4
1.1.3 单片机 4
1.1.4 嵌入式系统 6
1.2 单片机中数的表示方法 6
1.2.1 数制及其转换 6
1.2.2 BCD码 11
1.2.3 ASCII码 12
1.2.4 单片机中数的表示方法 13
1.3 单片机的内部结构 22
1.3.1 中央处理器 22
1.3.2 单片机中的数据运算 23
1.3.3 单片机的存储器 26
1.3.4 单片机的输入/输出(I/O)接口 28
1.4 典型单片机产品 29
1.4.1 单片机的类型和特性 29
1.4.2 典型的单片机产品 31
1.5 单片机的应用和应用系统结构 35
1.5.1 单片机的应用 35
1.5.2 单片机应用系统的结构 37
第2章 51系列单片机系统结构 40
2.1 总体结构 40
2.1.1 51系列单片机一般总体结构 40
2.1.2 89C52的总体结构 46
2.2 存储器组织 49
2.2.1 程序存储器 49
2.2.2 内部RAM数据存储器 51
2.2.3 特殊功能寄存器 53
2.2.4 位地址空间 56
2.2.5 外部RAM和I/O端口 56
2.3 时钟、时钟电路、CPU定时 58
2.3.1 89C52的时钟电路 58
2.3.2 CPU定时 59
2.3.3 89C52的典型时序 60
2.4 复位和复位电路 64
2.4.1 外部复位 64
2.4.2 系统复位 64
2.5 中断系统 66
2.5.1 中断的概念 66
2.5.2 89C52中断系统 69
2.5.3 外部中断触发方式选择 75
第3章 51系列指令系统和程序设计方法 79
3.1 指令格式和常用的伪指令 79
3.1.1 汇编语言指令行格式 80
3.1.2 常用伪指令 82
3.1.3 常用的缩写符号 88
3.2 寻址方式 90
3.2.1 寄存器寻址 90
3.2.2 直接寻址 91
3.2.3 寄存器间接寻址方式 91
3.2.4 立即寻址 92
3.2.5 变址寻址 94
3.2.6 位寻址 94
3.2.7 相对寻址 95
3.3 程序状态字和指令类型 96
3.3.1 程序状态字PSW 96
3.3.2 指令类型 97
3.4 数据传送指令 99
3.4.1 内部数据传送指令 100
3.4.2 累加器A与外部数据存储器传送指令 107
3.4.3 查表指令 108
3.5 算术运算指令 110
3.5.1 加法指令 110
3.5.2 减法指令 116
3.5.3 乘法指令(MUL,Multiplication) 117
3.5.4 除法指令(DIV,Division) 118
3.6 逻辑运算指令 118
3.6.1 累加器A的逻辑操作指令 119
3.6.2 两个操作数的逻辑操作指令 121
3.7 位操作指令 126
3.7.1 位变量传送指令 126
3.7.2 位变量修改指令 127
3.7.3 位变量逻辑操作指令 128
3.8 控制转移指令 129
3.8.1 无条件转移指令 129
3.8.2 条件转移指令(判跳指令) 131
3.8.3 调用和返回指令 137
3.9 程序设计方法 140
3.9.1 程序设计的步骤 140
3.9.2 程序结构 142
3.9.3 循环程序设计方法 150
3.9.4 子程序设计和参数传递方法简介 156
3.1 0 WAVE6000仿真及实例 159
3.1 0.1 WAVE6000仿真软件简介 159
3.1 0.2 仿真实例 166
第4章 51系列单片机的功能模块及其应用 169
4.1 并行口及其应用 169
4.1.1 P1口 169
4.1.2 P3口 172
4.1.3 P2口 173
4.1.4 P0口 174
4.1.5 并行口的负载能力 175
4.2 定时器及其应用 176
4.2.1 定时器的一般结构和工作原理 177
4.2.2 定时器/计数器T0、T1的功能和使用方法 178
4.2.3 定时器T2的功能和使用方法简介 185
4.3 节电方式 188
4.3.1 节电方式操作方法 188
4.3.2 节电方式的应用 189
4.4 89C52 F1ash程序存储器简介 190
提高篇 Freescale-DG128/XS128 16位机 195
第5章 16位单片机DG128基本系统 195
5.1 DG128最小系统 195
5.1.1 HCS12内部结构 195
5.1.2 寄存器组 199
5.1.3 CAN 2.0 A、B软件兼容模块 200
5.1.4 工作模式 200
5.2 DG128系统的硬件 201
5.2.1 时钟电路 209
5.2.2 串行口的RS 232驱动电路 210
5.2.3 电源电路 212
5.2.4 复位电路 212
5.2.5 BDM接口 212
5.2.6 并行口及驱动能力 213
5.2.7 调试显示 213
5.3 MC9S12DG128在智能车控制系统中的应用 214
5.3.1 智能车控制中常用模块 214
5.3.2 基于摄像头的智能车设计 243
第6章 16位单片机MC9SXS128基本系统 258
6.1 MC9S12XS128最小系统 259
6.1.1 CPU的构成 259
6.1.2 CPU的核心寄存器堆 259
6.2 MC9S12XS128基本系统的硬件 260
6.3 MC9S12XS128内部功能模块简介 267
6.3.1 通用输入输出模块 267
6.3.2 定时器(TIM)模块 267
6.3.3 A/D转换模块(ATD) 269
6.3.4 SCI串行通信模块 272
6.3.5 SPI串行通信模块 272
6.3.6 PWM模块 275
6.3.7 FLASH模块 277
6.4 MC9S12XS128在智能车控制系统中的应用 277
6.4.1 智能车控制系统的硬件 277
6.4.2 智能车控制系统的软件 287
第7章 CodeWarrior开发工具 290
7.1 CodeWarrior简介 290
7.1.1 工具条 290
7.1.2 菜单 291
7.1.3 CodeWarrior集成开发环境的设置 294
7.2 显示和定制工程和目标文件 295
7.2.1 工程文件 295
7.2.2 工程窗口 295
7.3 编译 296
7.3.1 在CodeWarrior中选择编译器 296
7.3.2 在CodeWarrior中编译工程 296
7.4 连接 298
7.4.1 连接的类型 299
7.4.2 选择连接器 299
7.4.3 连接工程 299
7.5 定制 299
7.5.1 概述 299
7.5.2 CodeWarrior定制示例 300
7.6 CodeWarrior应用实例 301
7.6.1 建立工程文件 301
7.6.2 编写main.c程序 303
7.6.3 定义存储空间分配 304
7.6.4 应用程序的编译 305
7.6.5 向开发板下载程序 306
7.6.6 运行应用程序 306
扩展篇 应用案例 311
第8章 Freescale嵌入式16位单片机在汽车电子控制系统中的应用案例 311
8.1 汽车电子系统设计特点 311
8.2 设计应用实例 312
8.2.1 Freescale16位单片机在空燃比控制中的应用 312
8.2.2 Freescale16位单片机在点火控制系统中的应用 327
8.2.3 Freescale16位单片机在汽车电子油门系统中的应用 333
8.2.4 Freescale16位单片机在汽车CAN总线系统中的应用 338
参考文献 342