第1章 单片机概述 1
1.1单片机的概念 1
1.2单片机的发展 2
1.2.1单片机的发展历史 2
1.2.2单片机的发展趋势 3
1.2.3常用单片机的分类 3
1.2.4 51系列单片机简介 5
1.3单片机的应用 5
1.3.1单片机的主要特点 5
1.3.2单片机的应用领域 6
1.4单片机应用系统的开发 6
1.4.1单片机应用系统的硬件构成 6
1.4.2单片机应用系统的开发过程 8
1.5单片机应用系统的开发调试模式 8
1.5.1集成开发环境+仿真器+编程器的开发模式 8
1.5.2集成开发环境+ISP/IAP的开发模式 10
1.6本课程的性质和任务 10
习题 11
第2章 51系列单片机的硬件结构 13
2.1内部总体结构 13
2.2引脚的定义与功能 16
2.3存储器的配置 18
2.3.1程序存储器 19
2.3.2外部数据存储器 20
2.3.3内部数据存储器 20
2.3.4特殊功能寄存器 23
2.4输入/输出接口 25
2.4.1P0口 25
2.4.2 P1口 27
2.4.3P2口 27
2.4.4 P3口 27
2.5时钟电路与时序 28
2.5.1时钟电路 28
2.5.2单片机的时序单位 29
2.6复位和复位电路 29
2.7工作方式 30
2.7.1程序执行方式 31
2.7.2掉电保护方式 31
2.7.3 80C51的低功耗方式 31
习题 33
第3章 指令系统与汇编程序设计 35
3.1指令概述 35
3.1.1指令格式 35
3.1.2指令中用到的标识符 37
3.2寻址方式 37
3.2.1立即寻址 38
3.2.2直接寻址 38
3.2.3寄存器寻址 38
3.2.4寄存器间接寻址 39
3.2.5变址寻址 40
3.2.6相对寻址 40
3.2.7位寻址 40
3.3指令系统 41
3.3.1指令系统概述 41
3.3.2数据传送指令 47
3.3.3算术运算指令 50
3.3.4逻辑操作指令 52
3.3.5控制转移指令 54
3.3.6位操作指令 56
3.4伪指令 56
3.5汇编语言程序设计 59
3.5.1编写汇编语言程序的基本格式 59
3.5.2运算程序 61
3.5.3数据的拼拆和转换 64
3.5.4多分支转移程序 67
3.5.5显示程序 68
习题 74
第4章 C51语言程序设计 78
4.1 C51语言简介 78
4.1.1 C51程序结构 78
4.1.2 C51程序的编辑和编译 80
4.2 C51对C语言的扩展 81
4.2.1特殊功能寄存器的定义 81
4.2.2数据类型 83
4.2.3数据存储空间的定义 83
4.2.4绝对地址访问 85
4.2.5函数的使用 86
4.2.6 C51指针 89
4.2.7库函数 90
4.2.8关键字 92
4.3 C51使用技巧 92
4.3.1 C51与汇编程序接口 92
4.3.2 C51程序的优化 97
4.4 C51程序设计方法 98
4.4.1 C51程序设计的基本过程 99
4.4.2问题分析 99
4.4.3方案设计 101
4.4.4编写代码 102
4.4.5代码的调试和测试 103
4.4.6 C51程序设计范例 104
习题 110
第5章 单片机的中断与定时系统 112
5.1中断系统 112
5.1.1中断的基本概念 112
5.1.2中断源及中断请求 113
5.1.3中断系统结构 113
5.1.4中断控制 114
5.1.5中断处理过程 116
5.1.6中断系统的应用 118
5.2定时器/计数器 121
5.2.1定时器/计数器的主要特性 121
5.2.2定时器/计数器T0、 T1的结构 121
5.2.3定时器/计数器的控制寄存器 122
5.2.4定时器/计数器的工作方式 123
5.2.5定时器/计数器的初始化编程及应用 128
5.2.6定时器/计数器T2 132
5.3中断及定时系统综合应用 138
习题 144
第6章 单片机的串行接口及串行通信 147
6.1串行通信基础 147
6.1.1异步串行通信的字符格式 147
6.1.2异步串行通信的信号形式 148
6.1.3串行通信的数据通路形式 148
6.1.4串行通信的数据传输速率 149
6.2串行口的结构与工作原理 149
6.2.1串行口的结构 149
6.2.2串行口的工作原理 150
6.3串行口的控制寄存器 151
6.3.1串行控制寄存器 151
6.3.2电源控制寄存器 152
6.3.3中断允许寄存器 152
6.4单片机串行通信的工作方式 152
6.4.1串行口工作方式0 153
6.4.2串行口工作方式1 155
6.4.3串行口工作方式2和方式3 162
6.5单片机串行通信接口技术 166
6.5.1常用的标准串行通信接口 166
6.5.2单片机串行通信接口 169
6.5.3单片机与PC通信接口 170
6.5.4单片机与计算机通信程序设计 171
习题 175
第7章 单片机的系统扩展 177
7.1 51系列单片机的扩展总线基础 178
7.1.1 51系列单片机扩展总线的结构和组成 178
7.1.2 51系列单片机扩展总线的逻辑关系和时序分析 179
7.1.3总线扩展的地址译码方法 181
7.1.4扩展总线设计接口电路时应该考虑的问题 186
7.2 51存储器的扩展 187
7.2.1存储器基础知识 187
7.2.2程序存储器的扩展 194
7.2.3数据存储器的扩展 197
7.2.4存储器综合扩展举例 198
7.3 51并行I/O接口的扩展 199
7.3.1简单的I/O接口扩展 199
7.3.2采用专用芯片扩展I/O接口 203
7.3.3采用串行控制器扩展并行I/O接口 210
7.4单片机串行扩展总线接口技术 213
7.4.1 SPI串行总线 213
7.4.2 IIC总线 222
习题 232
第8章 单片机的典型外围接口技术 234
8.1人机接口技术 234
8.1.1键盘及接口 234
8.1.2 LED显示器及接口 240
8.1.3 LCD显示器及接口 241
8.2 A/D转换器及接口技术 255
8.2.1 A/D转换器概述 255
8.2.2 ADC0809 A/D转换器芯片 256
8.2.3 ADC0809与51单片机的接口 258
8.2.4 ADC0809的应用——8路巡回检测系统 258
8.3 D/A转换器及接口技术 260
8.3.1 D/A转换器概述 260
8.3.2并行输入D/A转换芯片DAC0832 261
8.3.3 DAC0832与51单片机的接口 263
8.4开关量接口 267
8.4.1通道的隔离 268
8.4.2开关量输入接口 268
8.4.3开关量输出接口 269
习题 271
第9章 单片机应用系统设计与调试 273
9.1单片机应用系统开发过程 273
9.2可行性分析 273
9.2.1可行性分析的主要内容 273
9.2.2研制教学实验板的可行性分析 274
9.3系统方案设计 277
9.3.1系统的主要功能与性能 277
9.3.2硬件结构设计 279
9.3.3软件结构设计 280
9.3.4教学实验板系统设计方案 281
9.4硬件电路设计与制作 285
9.4.1硬件电路设计 285
9.4.2电路参数的计算 286
9.4.3 PCB板制作 286
9.4.4教学实验板的电路设计与制作 286
9.5软件程序设计 289
9.5.1软件设计过程 289
9.5.2优秀应用软件的特点 289
9.6单片机应用系统调试 290
9.6.1调试工具 290
9.6.2硬件调试 291
9.6.3软件调试 293
9.6.4模拟调试 294
9.6.5现场调试 295
9.6.6教学实验板的调试 296
9.6.7小结 305
习题 305
第10章 智能侧滑仪设计实例 307
10.1应用背景简介 307
10.2侧滑检测的原理和侧滑试验台的结构 308
10.2.1侧滑产生的原理 308
10.2.2侧滑检测的基本原理 309
10.2.3侧滑试验台的基本结构 310
10.3智能侧滑仪的主要功能和技术指标要求 311
10.4智能侧滑仪的总体设计 311
10.5智能侧滑仪的硬件电路设计 316
10.6智能侧滑仪的软件设计 323
第11章 μVision3集成开发环境的使用 330
11.1 μVision3简介 330
11.1.1 μVision3的软件组成 331
11.1.2使用μVision3工具的软件开发流程 332
11.1.3 μVision3软件的安装 332
11.1.4 μVision3软件工具的界面 333
11.2 μVision3的界面功能 338
11.2.1在多个文件中查找 338
11.2.2资源浏览器 338
11.2.3自定义工具菜单 340
11.2.4使用SVGS功能 340
11.3使用μVision3创建自己的应用 342
11.3.1启动μVision3并创建一个项目 342
11.3.2新建一个源文件 344
11.3.3为目标设置工具选项 345
11.3.4编译项目并生成HEX文件 346
11.4使用μVision3调试应用程序 348
11.4.1调试模式的设置 349
11.4.2启动调试模式 349
11.4.3常用的调试窗口 350
11.4.4片上资源的仿真 353
11.4.5运行调试图标 354
11.4.6应用程序仿真运行 355
11.5调试技巧 356
11.5.1模拟外部I/O设备 356
11.5.2将单片机的串行端口与PC的串口绑定 357
11.5.3预先设置I/O接口或内存的值 357
11.5.4自定义快捷键 357
习题 358
第12章 单片机实验指导 359
12.1实验板使用说明 359
12.1.1实验板外观图 359
12.1.2实验板元器件分布图 359
12.1.3实验板中跳线、开关和按键的功能 359
12.2实验辅助软件介绍 361
12.2.1在系统编程软件的使用 361
12.2.2 PC串口调试软件的使用 363
12.3实验指导 365
12.3.1实验一 使用μVision集成开发工具设计、调试汇编语言程序 365
12.3.2实验二 使用μVision集成开发工具设计、调试C51语言程序 366
12.3.3实验三 跑马灯实验 368
12.3.4实验四 单片机外部中断实验 369
12.3.5实验五 电子钟实验 370
12.3.6实验六 计数器实验 371
12.3.7实验七 串行通信实验 372
12.3.8实验八A/D转换实验 374
12.3.9实验九D/A转换实验 376
12.3.10实验十 开关量输入实验 377
12.3.11实验十一 矩阵键盘实验 378
参考文献 380