第1章 微型计算机基础 1
1.1 数制与编码 1
1.1.1 数制及其转换方法 1
1.1.2 微型计算机中数的表示方法 4
1.1.3 微型计算机中常用编码 6
1.2 微型计算机原理 7
1.2.1 微型计算机的基本组成 7
1.2.2 指令、程序与编程语言 9
1.2.3 微型计算机的工作过程 10
1.2.4 微型计算机的应用形态 11
本章小结 11
习题与思考题 12
第2章 STC8A8K64S4A12单片机增强型8051内核 13
2.1 单片机概述 13
2.1.1 单片机的概念 13
2.1.2 常见单片机 13
2.1.3 STC8系列单片机 14
2.2 STC8A8K64S4A12单片机资源概述与引脚功能 17
2.3 STC8A8K64S4A12单片机的内部结构 22
2.3.1 内部结构框图 22
2.3.2 CPU结构 22
2.4 STC8A8K64S4A12单片机的存储结构 24
2.5 STC8A8K64S4A12单片机的并行I/O口 29
2.5.1 并行I/O口的工作模式 29
2.5.2 并行I/O口的结构 30
2.5.3 并行I/O口的使用注意事项 32
2.6 STC8A8K64S4A12单片机的时钟与复位 34
2.6.1 时钟 34
2.6.2 复位 36
本章小结 38
习题与思考题 39
第3章 STC系列单片机应用系统的开发工具 41
3.1 KeilμVision4集成开发环境 41
3.2 STC系列单片机在线编程与在线仿真 50
3.2.1 STC系列单片机在线编程电路 50
3.2.2 单片机应用程序的下载与运行 52
3.2.3 KeilμVision4与STC仿真器的在线仿真 53
3.2.4 STC-ISP在线编程软件的其他功能 55
3.3 Proteus仿真软件简介 56
3.3.1 工程训练3.1 KeilC集成开发环境的操作使用 56
3.3.2 工程训练3.2 STC系列单片机的在线调试与在线仿真 64
3.3.3 工程训练3.3 用Proteus仿真软件实现单片机应用系统的仿真 67
本章小结 74
习题 75
第4章 STC8A8K64S4A12单片机的指令系统与汇编语言程序设计 78
4.1 STC8A8K64S4A12单片机的指令系统 78
4.1.1 概述 78
4.1.2 数据传送类指令 84
4.1.3 算术运算类指令 89
4.1.4 逻辑运算与循环移位类指令 95
4.1.5 控制转移类指令 98
4.1.6 位操作类指令 104
4.2 汇编语言程序设计 108
4.2.1 汇编语言程序设计基础 108
4.2.2 基本程序结构与程序设计举例 113
4.2.3 工程训练4.1 LED数码管的驱动与显示(汇编语言版) 122
本章小结 125
习题与思考题 126
第5章 C51与C51程序设计 131
5.1 C51基础 131
5.1.1 C51数据类型 133
5.1.2 C51的变量 135
5.1.3 8051单片机特殊功能寄存器变量的定义 137
5.1.4 8051单片机位寻址区(20H~2FH)位变量的定义 138
5.1.5 函数的定位 138
5.1.6 中断服务函数 139
5.1.7 函数的递归调用与再入函数 140
5.1.8 在C51中嵌入汇编语言程序 140
5.2 C51程序设计 141
5.2.1 C51程序框架 141
5.2.2 C51程序设计举例 145
5.2.3 工程训练5.1 LED数码管驱动与显示(C语言版) 146
本章小结 148
习题与思考题 149
第6章 STC8A8K64S4A12单片机的存储器与应用编程 151
6.1 程序存储器 151
6.2 基本RAM 153
6.3 扩展RAM(XRAM) 154
6.4 EEPROM 158
6.4.1 工程训练6.1 片内扩展RAM的测试 164
6.4.2 工程训练6.2 EEPROM的测试 165
本章小结 169
习题与思考题 169
第7章 STC8A8K64S4A12单片机的定时/计数器 172
7.1 定时/计数器T0、T1的结构和工作原理 172
7.2 定时/计数器T0、T1的控制 174
7.3 定时/计数器T0、T1的工作方式 175
7.4 定时/计数器T0、T1的应用举例 179
7.4.1 定时/计数器T0、T1的定时应用 179
7.4.2 定时/计数器T0、T1的计数应用 181
7.4.3 定时/计数器T0、T1的综合应用 182
7.5 定时/计数器T2 185
7.5.1 定时/计数器T2的电路结构 185
7.5.2 定时/计数器T2的控制寄存器 186
7.6 定时/计数器T3、T4 187
7.6.1 定时/计数器T3、T4的电路结构 187
7.6.2 定时/计数器T3、T4的控制寄存器 187
7.7 可编程时钟输出功能 189
7.7.1 定时/计数器T0~T4的可编程时钟输出 189
7.7.2 可编程时钟的应用举例 190
7.7.3 工程训练7.1 定时/计数器的定时应用 192
7.7.4 工程训练7.2 定时/计数器的计数应用 194
7.7.5 工程训练7.3 定时/计数器的综合应用 196
7.7.6 工程训练7.4 可编程时钟输出 198
本章小结 200
习题与思考题 201
第8章 STC8A8K64S4A12单片机中断系统 204
8.1 中断系统概述 204
8.1.1 中断系统的几个概念 204
8.1.2 中断的技术优势 205
8.1.3 中断系统需要解决的问题 206
8.2 STC8A8K64S4A12单片机中断系统的简介 206
8.2.1 中断请求 206
8.2.2 中断响应 215
8.2.3 中断服务与中断返回 218
8.3 STC8A8K64S4A12单片机中断系统的中断应用举例 219
8.3.1 定时中断的应用 219
8.3.2 外部中断的应用 223
8.4 STC8A8K64S4A12单片机外部中断源的扩展 224
8.4.1 工程训练8.1 定时中断的应用编程 227
8.4.2 工程训练8.2 外部中断的应用编程 228
本章小结 230
习题与思考题 231
第9章 STC8A8K64S4A12单片机的串行接口 234
9.1 串行通信基础 234
9.2 STC8A8K64S4A12单片机的串行接口1 237
9.2.1 串行接口1的控制寄存器 237
9.2.2 串行接口1的工作方式 239
9.2.3 串行接口1的波特率 243
9.2.4 串行接口1的应用举例 244
9.3 STC8A8K64S4A12单片机与计算机的通信 256
9.3.1 单片机与计算机RS-232串行通信接口设计 256
9.3.2 STC8A8K64S4A12单片机与计算机的串行通信程序设计 258
9.4 STC8A8K64S4A12单片机串行接口1的中继广播方式 261
9.5 STC8A8K64S4A12单片机串行接口2 261
9.6 STC8A8K64S4A12单片机串行接口3 263
9.7 STC8A8K64S4A12单片机串行接口4 264
9.7.1 工程训练9.1 STC8A8K64S4A12单片机间的双机通信 266
9.7.2 工程训练9.2 STC8A8K64S4A12单片机与计算机间的串行通信 269
本章小结 272
思考与提高题 273
第10章 人机对话接口的应用设计 276
10.1 单片机应用系统的设计和开发流程 276
10.1.1 单片机应用系统的设计原则 276
10.1.2 单片机应用系统的开发流程 277
10.1.3 单片机应用系统工程报告的编制 280
10.2 键盘接口与应用编程 283
10.3 LCD接口与应用编程 291
10.3.1 LCD模块概述 291
10.3.2 点阵字符型LCD模块LCD1602 291
10.3.3 点阵图形型LCD模块LCD12864 299
10.3.4 工程训练10.1 STC8A8K64S4A12单片机与矩阵键盘的接口与应用 309
10.3.5 工程训练10.2 STC8A8K64S4A12单片机与LCD12864(含中文字库)的接口与应用 311
本章小结 322
习题与思考题 322
第11章 STC8A8K64S4A12单片机的比较器 326
11.1 比较器的内部结构与控制寄存器 326
11.2 比较器的应用 329
本章小结 332
思考与提高题 332
第12章 STC8A8K64S4A12单片机的A/D转换模块 334
12.1 A/D转换模块的结构 334
12.2 A/D转换模块的控制 335
12.3 A/D转换模块的应用 338
本章小结 343
思考与提高题 344
第13章 STC8A8K64S4A12单片机的PCA模块 346
13.1 PCA模块的结构 346
13.2 PCA模块的控制 347
13.3 PCA模块的工作模式与应用编程 350
13.3.1 捕获模式与应用编程 350
13.3.2 16位软件定时器模式与应用编程 353
13.3.3 高速脉冲输出模式与应用编程 355
13.3.4 脉宽调制模式与应用编程 356
13.3.5 工程训练13.1 PCA模块的软件定时器应用 361
13.3.6 工程训练13.2 PCA模块的PWM应用 364
本章小结 366
习题与思考题 367
第14章 STC8A8K64S4A12单片机的增强型PWM模块 369
14.1 增强型PWM模块的结构 369
14.2 增强型PWM模块的控制 370
14.3 增强型PWM模块的应用编程 375
本章小结 382
习题与思考题 382
第15章 STC8A8K64S4A12单片机的SPI接口 384
15.1 SPI接口的结构 384
15.2 SPI接口的控制 386
15.3 SPI接口的通信方式 391
15.4 SPI接口的应用编程 393
本章小结 397
习题与思考题 398
第16章 STC8A8K64S4A12单片机的I2C的串行总线和I2C通信接口 399
16.1 I2C串行总线 399
16.2 I2C通信接口 407
本章小结 420
思考与提高题 420
第17章 STC8A8K64S4A12单片机的低功耗设计与可靠性设计 423
17.1 低功耗设计 423
17.2 可靠性设计 428
本章小结 431
习题 431
附录A ASCII码表 434
附录B STC8A8K64S4A12系列单片机指令系统表 435
附录C STC8系列单片机特殊功能寄存器一览表 439
附录D STC8单片机学习板模块电路 446
附录E STC8A8K64S4A12单片机内部接口硬件切换控制 455
附录F C51常用头文件与库函数 460
附录G C语言编译常见错误信息一览表 468
附录H C51的模块化编程与C51库函数的制作 473