第1章 计算机基础概述 1
1.1 计算机及系统组成 1
1.1.1 计算机到单片机的发展过程 1
1.1.2 单片机、单板机、PC 3
1.1.3 数制与编码 4
1.1.4 计算机系统组成 12
1.2 单片机与嵌入式系统 16
1.2.1 单片机的特点和应用 17
1.2.2 嵌入式系统 18
1.2.3 单片机应用系统的组成 19
1.3 单片机应用开发资源 21
1.4 一个简单的单片机应用示例 23
1.5 思考与练习 27
第2章 51单片机及硬件结构 28
2.1 51单片机系列 28
2.2 51单片机总体结构 29
2.2.1 51单片机总体结构框图及功能 29
2.2.2 51单片机引脚功能 33
2.3 51单片机存储结构及位处理器 38
2.3.1 51单片机存储器的特点 38
2.3.2 程序存储器 38
2.3.3 数据存储器 40
2.3.4 专用寄存器区(SFR) 42
2.3.5 位处理器 44
2.4 51单片机工作方式 45
2.4.1 复位及复位方式 45
2.4.2 程序执行工作方式 46
2.4.3 节电工作方式 47
2.5 51单片机的时序 48
2.5.1 时钟 48
2.5.2 CPU时序 48
2.6 单片机最小系统组成 51
2.7 思考与习题 53
第3章 Proteus虚拟仿真技术 55
3.1 Proteus安装 55
3.2 Proteus ISIS基本操作 58
3.2.1 Proteus工作区 58
3.2.2 Proteus ISIS主要参数设置 63
3.2.3 Proteus ISIS激励信号源 67
3.2.4 Proteus ISIS VSM虚拟仪器 69
3.3 Proteus原理图编辑及仿真 74
3.3.1 Proteus ISIS原理图编辑 74
3.3.2 Proteus ISIS电路仿真 78
3.4 思考与习题 82
第4章 指令系统、汇编语言及C51程序设计 83
4.1 单片机指令系统 83
4.1.1 指令分类及指令格式 83
4.1.2 寻址方式及寻址空间 84
4.1.3 指令系统及应用示例 88
4.2 汇编语言程序设计基础 101
4.2.1 汇编语言特征 101
4.2.2 伪指令 102
4.2.3 汇编语言程序设计及应用 104
4.3 C51程序设计 110
4.3.1 C51及数据类型 110
4.3.2 C51运算符及表达式 116
4.3.3 C51控制语句 121
4.3.4 数组 126
4.3.5 函数 129
4.3.6 指针 136
4.4 Keil 51单片机集成开发环境 142
4.4.1 单片机应用程序开发过程 142
4.4.2 Keil开发环境的安装 142
4.4.3 Keil工程的建立 143
4.4.4 Keil调试功能 145
4.5 单片机I/O端口应用程序及仿真 147
4.5.1 流水灯 148
4.5.2 键控流水灯 152
4.6 Keil C与Proteus联机调试示例 157
4.6.1 通过插件实现Keil C与Proteus联机调试及示例 157
4.6.2 通过OMF文件实现Keil与Proteus调试及示例 159
4.7 思考与习题 161
第5章 51单片机中断系统及应用 164
5.1 中断的概念 164
5.1.1 中断及中断源 164
5.1.2 中断嵌套及优先级 164
5.2 51单片机中断系统结构及中断控制 165
5.2.1 中断源和中断请求标志 165
5.2.2 中断允许控制 167
5.2.3 中断优先级控制 168
5.3 51单片机中断响应过程 169
5.3.1 中断响应 169
5.3.2 中断处理 170
5.3.3 中断返回 171
5.4 外部中断源扩展 171
5.4.1 中断加查询方式扩展外部中断源 171
5.4.2 利用定时器扩展外部中断源 173
5.5 中断系统应用设计示例及仿真 173
5.5.1 中断系统应用设计 174
5.5.2 中断实现程序(指令)单步操作 174
5.5.3 外部中断应用示例及仿真 175
5.6 思考与习题 183
第6章 51单片机定时器/计数器及应用 185
6.1 定时器/计数器概述 185
6.2 定时器/计数器的控制 186
6.2.1 定时器/计数器工作模式寄存器TMOD 186
6.2.2 定时器/计数器控制寄存器TCON 187
6.3 定时器/计数器的工作模式 187
6.3.1 工作模式0 188
6.3.2 工作模式1 189
6.3.3 工作模式2 190
6.3.4 工作模式3 191
6.4 定时器/计数器应用技术 192
6.4.1 模式0的应用 192
6.4.2 模式1的应用 193
6.4.3 模式2的应用 195
6.4.4 模式3的应用 196
6.5 定时器/计数器应用设计实例及仿真 196
6.5.1 定时器延时控制及仿真 196
6.5.2 定时器实现测量脉冲宽度及仿真 200
6.5.3 10kHz方波发生器及仿真 203
6.5.4 循环加1计数器及仿真 205
6.6 思考与习题 208
第7章 51单片机串行口及应用 209
7.1 通信基础知识 209
7.1.1 并行通信 209
7.1.2 串行通信 209
7.1.3 波特率和发送/接收时钟 212
7.1.4 奇偶校验 212
7.2 常用串行通信总线标准及接口电路 213
7.2.1 RS-232C总线标准及接口电路 213
7.2.2 RS-422/485总线标准及接口电路 215
7.3 51单片机串行口 216
7.3.1 串行口结构 216
7.3.2 串行口控制 217
7.3.3 串行口的工作方式 218
7.3.4 波特率设置 220
7.4 串行口应用技术及设计实例 222
7.4.1 串行口方式0应用设计实例 222
7.4.2 串行口其他方式下的应用设计实例 229
7.4.3 双机通信应用设计实例 235
7.4.4 多机通信设计实例 242
7.5 思考与习题 250
第8章 单片机系统扩展及I/O接口技术 252
8.1 单片机系统扩展概述 252
8.1.1 单片机系统扩展常用接口芯片 252
8.1.2 单片机扩展后的总线结构 253
8.2 程序存储器的扩展 255
8.2.1 常用的程序存储器 255
8.2.2 程序存储器的扩展 259
8.3 数据存储器的扩展 262
8.3.1 常用数据存储器芯片 262
8.3.2 数据存储器的扩展 263
8.4 I/O端口的扩展 266
8.4.1 简单并行I/O口的扩展 266
8.4.2 8155可编程多功能接口芯片及扩展 269
8.5 单片机扩展系统外部地址空间的编址方法 275
8.5.1 单片机扩展系统地址空间编址 275
8.5.2 线选法 276
8.5.3 译码法 277
8.6 单片机I/O接口技术及应用 278
8.6.1 键盘及接口电路 278
8.6.2 LED显示器及接口电路 284
8.6.3 LCD液晶显示器及接口 290
8.6.4 8155扩展键盘与显示器设计实例 296
8.7 A-D、D-A转换器与单片机的接口 299
8.7.1 D-A转换器及应用技术 300
8.7.2 A-D转换器及应用技术 304
8.8 思考与练习 310
第9章 单片机应用系统开发及设计实例 312
9.1 单片机应用系统开发过程 312
9.1.1 总体设计 312
9.1.2 硬件设计 313
9.1.3 软件设计 313
9.1.4 软、硬件仿真调试 313
9.1.5 联机调试 314
9.1.6 程序下载 314
9.1.7 脱机运行 318
9.2 单片机应用系统设计实例 318
9.2.1 智能循迹小车 318
9.2.2 单片机舵机控制系统 322
9.2.3 电子密码锁控制系统 331
9.2.4 LED点阵显示系统 350
9.2.5 直流电机转速控制系统 357
9.3 思考与练习 369
第10章 单片机应用系统抗干扰技术 370
10.1 干扰源 370
10.1.1 干扰源、传播途径及干扰分类 370
10.1.2 串模干扰与共模干扰 371
10.1.3 电网及电路干扰 372
10.2 硬件抗干扰措施 372
10.2.1 串模干扰与共模干扰的抑制 373
10.2.2 输入/输出通道干扰的抑制 374
10.2.3 电网及电路干扰的抑制 378
10.2.4 地线的抗干扰措施 380
10.3 软件抗干扰措施 382
10.3.1 数字量信号软件抗干扰措施 382
10.3.2 CPU软件抗干扰 384
10.3.3 程序运行监视器(WatchDog) 385
10.4 思考与练习 386
附录 387
附录A 51单片机指令表 387
附录B 常用C51库函数 391
附录C ASCII(美国标准信息交换码)码表 393
附录D Proteus中非标准符号与国标的对照表 394
附录E 本书中英文缩写含义及中文对照表 395
附录F Proteus元器件大类对照表 396
参考文献 398