1.1 绪论 1
1.2 单片机概述 1
第1章 MCS-51系列单片机概述 1
4.1.2 汇编语言程序设计的步骤 2
1.2.1 单片机的特点 2
1.2.2 单片机主流系列 3
1.2.3 单片机芯片技术的最新发展 5
1.2.4 单片机的选型标准 7
小结 8
第2章 MCS-51系列单片机的内部结构与时序 9
2.1 MCS-51单片机结构 9
2.1.1 MCS-51单片机的外部引脚及功能 9
2.1.2 MCS-51单片机的内部结构 11
2.2.1 复位方式 19
2.2 MCS-5 1单片机的工作方式 19
2.2.2 程序执行方式 20
2.2.3 省电工作方式 21
2.2.4 EPROM的编程和校验方式 21
2.3 MCS-5 1单片机的工作时序 22
2.3.1 机器周期和指令周期 23
2.3.2 MCS-5 1单片机指令的取指/执行时序 23
2.3.3 访问片外ROM/RAM的指令时序 25
2.3.4 读/写片外RAM指令时序 26
小结 26
第3章 MCS-51系列单片机的指令系统与寻址方式 27
3.1 指令系统概述 27
3.2.4 寄存器间接寻址 28
3.2.3 直接寻址 28
3.2 寻址方式 28
3.2.2 寄存器寻址 28
3.2.1 立即寻址 28
3.2.5 基址寄存器加变址寄存器间接寻址 29
3.2.6 相对寻址 29
3.2.7 位寻址 29
3.3 MCS-51单片机指令系统 30
3.3.1 数据传送类指令 30
3.3.2 算术运算类指令 36
3.3.3 逻辑运算类指令 41
3.3.4 控制程序转移类指令 44
3.3.5 布尔变量操作类指令 48
小结 51
4.1.1 汇编语言的优点 52
第4章 汇编语言程序设计 52
4.1 汇编语言概述 52
4.1.3 评价程序质量的标准 53
4.2 MCS-5 1汇编语言 53
4.2.1 MCS-51伪指令 53
4.2.2 汇编语言程序的格式 55
4.2.3 汇编语言程序的汇编 56
4.3 汇编程序设计 57
4.3.1 分支程序设计 57
4.3.2 循环程序设计 61
4.3.3 数制转换程序设计 63
4.3.4 应用程序中的四则运算 65
小结 66
第5章 实用汇编语言程序设计 67
5.1 子程序的参数传递 67
5.1.1 用累加器和工作寄存器传递参数 67
5.1.2 通过指针寄存器来传递参数 67
5.1.3 通过堆栈传递参数 68
5.1.4 程序段参数传递 71
5.2 查表调用 72
5.3 数据统计和排序 76
5.4 复杂的定点数运算 79
5.4.1 定点数表示法 79
5.4.3 补码表示法 80
5.4.2 原码表示法 80
5.5 浮点数运算 88
5.5.1 浮点数的表示方法 88
5.5.2 规格化浮点数和规格化子程序 89
5.5.3 浮点数的对阶和对阶子程序 94
5.5.4 多字节浮点数的四则运算 96
5.6 常用函数计算 106
5.6.1 正弦函数 106
5.6.2 自然对数 111
5.6.3 开平方子程序 113
5.7 数字滤波 116
5.7.1 程序判断滤波 117
5.7.2 中值滤波 119
5.7.3 算术平均值滤波 121
5.7.4 滑动平均值法 123
5.7.5 防脉冲干扰平均值法 125
5.7.6 RC低通数字滤波 127
5.8 快速傅里叶(FFT)变换 130
5.8.1 快速傅里叶变换的基本原理 130
5.8.2 快速傅里叶变换的实现 134
小结 144
第6章 定时器/计数器与中断系统 145
6.1 定时器/计数器 145
6.1.1 TMOD和TCNO寄存器 145
6.1.2 定时器/计数器的初始化 147
6.1.3 定时器/计数器的工作方式 148
6.1.4 定时器/计数器综合应用举例 153
6.2 中断系统 157
6.2.1 中断系统概述 157
6.2.2 中断处理过程 163
6.2.3 扩充外部中断源 165
小结 169
第7章 存储器的扩展 170
7.1 常用存储器 170
7.1.1 存储器概述 170
7.1.2 易失性存储器 171
7.1.3 非易失性存储器 173
7.2 存储器扩展 189
7.2.1 程序存储器扩展 189
7.2.2 数据存储器扩展 192
7.2.3 超过地址范围的大容量存储器扩展技术 193
小结 195
第8章 MCS-51系列单片机接口技术 196
8.1 接口与单片机应用系统的相互关系 196
8.1.1 单片机应用系统的特点 196
8.1.2 应用系统的典型通道接口及其特点 197
8.1.3 应用系统设计的主要内容 198
8.2 键盘接口设计技术 199
8.2.1 键盘的工作原理 199
8.2.2 独立式按键 202
8.2.3 行列式键盘 203
8.2.4 键盘、显示接口芯片8279结构 209
8.2.5 键盘接口设计实例 216
8.3.1 LED显示及显示接口 218
8.3 显示接口技术 218
8.3.2 LCD显示接口设计 227
8.4 MCS-51 A/D转换器接口技术 242
8.4.1 前向通道的内容和特点 243
8.4.2 A/D转换器的原理和性能参数 247
8.43 A/D转换器接口设计实例 256
8.5 后向通道接口技术 278
8.5.1 D/A转换器接口技术 278
8.5.2 后向通道中的D/A转换技术及其接口芯片 281
8.5.3 典型D/A接口电路及应用实例 288
8.6 CAN总线接口技术 300
8.6.1 现场总线技术和CAN总线概述 300
8.6.2 CAN总线的结构 303
8.6.3 实用CAN总线控制器SJA1000 313
8.6.4 PCA82C250 CAN收发器 323
8.6.5 CAN总线系统智能节点软件设计 325
8.7 单片机综合设计 328
8.7.1 设计的一般步骤 329
8.7.2 硬件和软件的设计 329
8.7.3 单片机设计实例 330
小结 337
第9章 I2C总线技术及其应用 338
9.1 单片机外部总线技术 338
9.1.1 单片机的总线与非总线应用 338
9.1.2 应用系统设计中的串行扩展技术 338
9.1.3 芯片间的串行总线和串行接口 339
9.2 I2C总线的结构与工作原理 341
9.2.1 I2C总线的应用范围及优势 341
9.2.2 I2C总线的历史 342
9.2.3 I2C总线的一般应用特性 343
9.2.4 I2C总线系统中的几个名词、术语 344
9.2.5 I2C总线的基本原理 345
9.2.6 I2C总线上的数据传送格式 347
9.2.7 I2C总线数据传输中的同步和仲裁机制 349
9.2.8 I2C总线的寻址约定 350
9.2.9 I2C总线的扩展 353
9.3 I2C总线实用程序 357
9.3.1 I2C总线接口模拟程序 358
9.3.2 I2C总线模拟传送的通用子程序 359
9.4.1 I2C串行时钟芯片 362
9.4 I2C总线接口实用设计 362
9.4.2 电子识别iButton的串行协议 366
小结 371
第10章 串口通讯及其应用 372
10.1 单片机系统中的相互通道 372
10.1.1 相互通道的特点 372
10.1.2 相互通道的典型结构 372
10.1.3 相互通道接口设计应解决的问题 373
10.2 串行接口及其通信功能 373
10.2.1 串行接口的构成 373
10.2.2 串行接口控制寄存器 374
10.2.3 串行接口的工作方式 374
10.2.4 串行接口的发送与接收 376
10.2.5 相互通道接口标准及其应用 388
10.3 MCS-51串行接口设计实用程序 391
10.3.1 MCS-5 1与调制解调器(MODEM)的连接 391
10.3.2 MCS-5 1与PC上位机通讯程序 393
小结 405
第11章 单片机的调试 406
11.1 开发系统概述 406
11.1.1 主机系统 406
11.1.2 在线仿真器 406
11.1.3 EPROM编程器 407
11.1.4 交叉汇编软件 407
11.2 仿真器的使用方法 408
小结 414
12.1.1 无源滤波器 415
第12章 单片机应用系统中的实用技术 415
12.1 硬件抗干扰技术 415
12.1.2 有源滤波器 416
12.1.3 去耦电路 418
12.1.4 隔离技术 419
12.1.5 接地技术 422
12.1.6 静电放电干扰及其抑制 423
12.1.7 印刷电路抗干扰 424
12.2 软件抗干扰技术 426
12.2.1 指令冗余技术 427
12.2.2 软件陷阱技术 428
12.2.3 程序运行监视系统 431
12.3 低功耗技术 434
12.3.1 硬件技术 435
12.3.2 软件技术 436
12.4 逻辑电平转换技术 437
12.4.1 数字电路接口设计要点 437
12.4.2 TTL、HTL、ECL、CMOS电路逻辑电平转换 438
12.5 ispLSI可编程技术 444
12.5.1 ispLSI器件概述 444
12.5.2 ispLSI器件的结构与原理 445
12.5.3 ispLSI器件的编程 446
12.5.4 ispLSI的器件设计 447
12.5.5 采用ISP器件的数字系统设计 449
小结 450
附录 451
参考文献 454