第1章 微型计算机基础 1
1.1 数制与编码 1
1.1.1 数制及不同数制之间的转换 1
1.1.2 微型计算机中数的表示方法 4
1.1.3 微型计算机中常用编码 5
1.2 微型计算机的基本组成 7
1.3 指令、程序、编程语言 8
1.4 微型计算机的工作过程 9
1.5 微型计算机的应用形态 11
本章小结 11
习题1 12
第2章 80C51单片机的内核 13
2.1 单片机概述 13
2.1.1 单片机的概念 13
2.1.2 常见单片机 13
2.2 80C51单片机资源概述与引脚功能 15
2.2.1 80C51单片机资源与功能概述 15
2.2.2 80C51单片机的封装及信号引脚 15
2.3 80C51单片机的内部结构 17
2.3.1 80C51单片机的内部结构 17
2.3.2 CPU结构 18
2.4 80C51单片机的存储结构 20
2.5 80C51单片机的并行I/O口 24
2.5.1 80C51单片机并行I/O口的结构及操作 24
2.5.2 80C51单片机并行I/O口的使用注意事项 27
2.6 80C51单片机的时钟与复位 29
2.6.1 时钟电路 29
2.6.2 定时单位 29
2.6.3 复位方式与初始化状态 30
本章小结 31
习题2 31
第3章 单片机应用的开发工具 33
3.1 Keil μVision4集成开发环境 33
3.1.1 Keil μVision4集成开发环境概述 33
3.1.2 Keil C集成开发环境下的程序编辑、编译与调试 34
3.2 STC系列单片机的在线编程(ISP) 42
3.2.1 STC系列单片机在线编程(ISP)典型应用电路 42
3.2.2 STC系列单片机PC端下载软件的使用 43
3.3 Proteus模拟仿真软件 44
3.3.1 Proteus模拟仿真软件概述 44
3.3.2 Proteus操作界面简介 45
3.3.3 仿真电路原理图设计 47
3.3.4 Proteus仿真调试 49
本章小结 50
习题3 50
第4章 80C51单片机指令系统 52
4.1 概述 52
4.2 数据传送类指令 57
4.3 算术运算类指令 64
4.4 逻辑运算与循环移位类指令 69
4.5 控制转移类指令 72
4.6 位操作类指令(17条) 79
4.7 伪指令(8条) 82
本章小结 85
习题4 85
第5章 80C51单片机的程序设计 90
5.1 汇编语言程序设计 90
5.1.1 程序编制的方法和技巧 90
5.1.2 程序的模块化设计 91
5.2 基本程序设计结构与程序设计举例 92
5.3 C51程序设计 98
5.3.1 C51基础 99
5.3.2 C51程序设计 105
本章小结 112
习题5 112
第6章 80C51单片机的中断系统与定时器 115
6.1 中断系统概述 115
6.1.1 中断系统的几个概念 115
6.1.2 中断的技术优势 116
6.1.3 中断系统需要解决的问题 116
6.2 80C51单片机的中断系统 117
6.2.1 中断源与中断向量 117
6.2.2 80C51单片机的中断响应 120
6.2.3 80C51中断应用举例 122
6.3 80C51单片机外部中断的扩展 124
6.4 80C51单片机的定时器/计数器 126
6.4.1 80C51单片机的定时器/计数器的结构和工作原理 127
6.4.2 80C51单片机的定时器/计数器的控制 128
6.4.3 80C51单片机的定时器/计数器的工作方式 129
6.4.4 80C51单片机的定时器/计数器的应用举例 136
本章小结 141
习题6 142
第7章 80C51单片机并行人机接口技术 144
7.1 LED数码管显示接口与应用实例 144
7.1.1 数码管静态显示接口与应用 145
7.1.2 数码管动态显示接口与应用 148
7.2 LCD显示接口与应用实例 151
7.2.1 LCD显示器概述 151
7.2.2 字符型LCD1602与应用实例 153
7.2.3 常用12864液晶操作实例 160
7.3 键盘接口与应用实例 168
7.3.1 独立按键及应用 169
7.3.2 行列矩阵键盘结构及工作方式 175
7.3.3 行列矩阵键盘应用举例 181
本章小结 183
习题7 184
第8章 80C51单片机的串行通信 185
8.1 串行通信基础 185
8.2 80C51单片机串行口 188
8.2.1 80C51串行口的硬件结构 188
8.2.2 80C51串行口的控制 189
8.2.3 80C51串行口工作方式 190
8.2.4 串行口的波特率 194
8.3 串行口的应用举例 195
8.3.1 方式0的编程和应用 195
8.3.2 方式1的编程和应用 197
8.3.3 多机通信 202
8.4 80C51单片机与PC机的通信 205
8.4.1 单片机与PC机RS-232C串行通信的接口设计 205
8.4.2 单片机与PC机USB总线通信的接口设计 206
8.4.3 串行口打印在调试程序中的应用 207
本章小结 210
习题8 210
第9章 单片机A/D与D/A转换接口 212
9.1 单片机测控系统与模拟输入通道 212
9.1.1 单片机测控系统概述 212
9.1.2 模拟输入通道 212
9.2 A/D转换器的主要性能指标及分类 215
9.2.1 A/D转换器的主要性能指标 215
9.2.2 A/D转换器的分类及应用说明 216
9.3 常用A/D转换芯片及接口技术 217
9.3.1 ADC0809及接口 217
9.3.2 AD574及接口 223
9.4 常用D/A转换芯片及接口技术 224
9.4.1 D/A转换器的主要性能指标 224
9.4.2 DAC0832 D/A转换器及接口 225
9.4.3 DAC0832连接方式 226
9.5 A/D与D/A转换芯片的串行接口 230
9.5.1 通过I2C总线的串行接口 230
9.5.2 I2C接口A/D与D/A转换器PCF8591接口及其应用 231
本章小结 237
习题9 237
第10章 功率接口技术及应用 239
10.1 开关型接口 239
10.1.1 简单开关量输出接口 239
10.1.2 光电耦合接口 240
10.1.3 继电器接口 242
10.2 电压调节接口 245
10.2.1 晶闸管工作原理 245
10.2.2 晶闸管在电压调解中的应用 247
10.2.3 固态继电器 248
10.3 电机控制与应用实例 249
10.3.1 直流电机的控制 249
10.3.2 步进电机的控制 252
10.3.3 步进电机与单片机的接口 254
本章小结 257
习题10 258
第11章 单片机串行接口总线技术及应用 259
11.1 单片机串行接口扩展概述 259
11.1.1 单片机需要串行接口扩展的原因 259
11.1.2 单片机串行接口扩展实现方法 259
11.2 单总线数字温度传感器DS18B20与应用实例 260
11.2.1 DS18B20性能特点 260
11.2.2 DS18B20温度传感器程序设计 261
11.3 基于DS1302万年历的应用实例 270
11.3.1 DS1302基本知识 270
11.3.2 DS1302的控制命令字 271
11.3.3 DS1302的寄存器 271
11.3.4 DS1302数据的传送 273
11.3.5 DS1302驱动程序源代码 273
11.4 I2C串行总线原理 277
11.4.1 I2C总线概述 277
11.4.2 E2PROM AT24C02与单片机的通信实例 280
本章小结 285
习题11 286
第12章 单片机应用系统设计 287
12.1 单片机应用系统的开发流程 287
12.1.1 单片机应用系统的设计原则 287
12.1.2 单片机应用系统的开发流程 287
12.2 硬件设计要求 292
12.3 软件设计要求 293
12.4 可靠性设计要求 294
本章小结 296
习题12 296
附录 297
附录1 ASSCII表 297
附录2 80C51单片机汇编指令系统表 298
附录3 C语言运算符和结合性 303
附录4 Proteus提供的所有元件分类及子类 304
附录5 STC-ISP下载编程软件及功能工具简介 310
参考文献 314