第1章 绪论 1
1.1 单片微型计算机 1
1.1.1 单片机的基本知识 1
1.1.2 单片机的发展概况 1
1.2 单片机的应用 5
1.2.1 测控系统中的应用 5
1.2.2 智能仪表中的应用 5
思考与练习 6
1.2.4 在智能计算机外设中的应用 6
1.2.3 智能产品 6
第2章 MCS-51单片机结构 7
2.1 MCS-51单片机内部结构 7
2.1.1 MCS-51单片机组成 7
2.1.2 MCS-51单片机存储器结构 13
2.2 单片机的外部结构 20
2.2.1 MCS-51单片机引脚功能 20
2.2.2 复位和复位电路 22
2.2.3 单片机最小系统 23
2.3 单片机最小系统的应用 25
思考与练习 32
第3章 开发工具介绍 34
3.1 仿真软件 34
3.2 Keil C51仿真软件的使用 34
3.2.1 μVision2的下拉菜单 35
3.2.2 μVision2中的调试器 40
3.2.3 Debug状态下窗口分配与菜单操作 41
3.2.4 通过Debug菜单进行程序代码调试 49
3.2.5 通过“Peripherals”菜单观察仿真结果 54
3.2.6 调试方法介绍 56
3.2.7 调试举例 57
3.3 硬件在线仿真开发系统的使用 65
3.3.1 QTH系列的单片机仿真器 66
3.3.2 ISP单片机硬件仿真器 70
3.3.3 其他开发方法 71
3.4 实验系统的使用 72
3.4.1 实验系统简介 72
3.4.2 实验教学模式 73
3.4.3 实验系统的使用方法 74
3.5 编程器的使用 77
3.6 单片机网站 79
思考与练习 80
第4章 C语言基本语法 81
4.1 C语言的标识符和关键字 81
4.2 数据类型 83
4.2.1 常量 84
4.2.2 变量 85
4.2.3 变量的存储种类 89
4.2.4 变量及其存储模式 95
4.3 用typedef重新定义数据类型 99
4.4 运算符与表达式 100
4.5 C程序设计的基本语句 115
4.5.1 表达式语句 115
4.5.2 复合语句 115
4.5.3 条件语句 116
4.5.4 开关语句 117
4.5.5 循环语句 119
4.5.6 返回语句 123
思考与练习 124
第5章 函数 125
5.1 函数的定义 125
5.2 函数的调用 128
5.2.1 函数的调用形式 128
5.2.2 被调用函数的说明 129
5.2.3 函数的参数和函数的返回值 130
5.3 函数的递归调用与再入函数 132
5.2.4 实际参数的传递方式 132
5.4 中断服务函数与寄存器组定义 134
5.5 常用C51库函数 136
5.6 预处理器 140
5.6.1 宏定义 140
5.6.2 文件包含 143
5.6.3 其他预处理命令 144
思考与练习 144
6.1.1 一维数组 145
6.1 数组 145
第6章 数据与指针 145
6.1.2 二维数组 148
6.1.3 字符数组 149
6.1.4 查表 150
6.1.5 数组与存储空间 151
6.2 指针 151
6.2.1 指针的基本概念 151
6.2.2 数组指针和指向数组的指针变量 155
6.2.4 关于Keil C51的指针类型 159
6.2.3 指向多维数组的指针和指针变量 159
思考与练习 161
第7章 C语言程序设计 162
7.1 循环程序 162
7.2 单片机I/O口控制程序 164
7.3 其他程序 175
思考与练习 178
第8章 定时器/计数器 180
8.1 定时器/计数器的结构 180
8.2 工作方式 182
8.3 定时器/计数器的初始化 183
8.4 应用举例 186
思考与练习 198
第9章 中断系统 199
9.1 中断请求源和中断请求标志 199
9.2 中断控制 201
9.3 中断响应 203
9.4 外部中断触发方式 204
9.5 多个外部中断源系统设计 205
9.6 MCS-51对中断请求的撤除 206
9.7 MCS-51中断系统的初始化 208
9.8 应用举例 209
思考与练习 216
第10章 串行接口 217
10.1 串行口控制寄存器 217
10.2 串行接口工作方式 218
10.3 波特率 221
10.4 串行接口应用举例 222
思考与练习 242
第11章 MCS-51系统扩展技术 243
11.1 程序存储器的扩展技术 243
11.1.1 访问外部程序存储器的时序 243
11.1.2 EPROM接口设计 244
11.1.3 E2PROM接口设计 246
11.2 数据存储器的扩展设计 250
11.2.1 MCS-51访问外部RAM的定时波形 250
11.2.2 数据存储器的扩展设计 251
11.2.3 RAM的断电保护 252
11.3 I/O口扩展设计 253
11.3.1 8255可编程并行接口芯片 254
11.3.2 带有I/O接口、计时器和静态RAM的8155芯片 259
11.4 显示器接口扩展技术 264
11.5 键盘接口设计 268
11.5.1 键盘工作原理 268
11.5.2 键盘接口设计 269
11.6 模/数(A/D)和数/模(D/A)转换器电路接口设计 273
11.6.1 D/A转换器与8031的接口设计 274
11.6.2 A/D转换器与8031的接口设计 278
11.6.3 采样、保持和滤波 282
思考与练习 283
第12章 单片机产品设计 285
12.1 产品设计概述 285
12.1.1 单片机产品设计 285
12.1.2 单片机产品设计与调试的一般原则 285
12.2 传感器接口电路 288
12.2.1 传感器概述 288
12.2.2 传感器接口电路 289
12.3 单片机产品的抗干扰技术 291
12.3.1 干扰源及其传播途径 291
12.3.2 电源产品的抗干扰措施 293
12.3.3 地线系统 295
12.3.4 A/D和D/A转换器的抗干扰措施 297
12.3.5 长线传输干扰的排除 298
12.3.6 几种元器件的抗干扰措施 299
12.4 8位A/D,D/A转换产品的设计实例 301
思考与练习 312