第1章 微机基础知识 1
1.1微处理器、微机和单片机的概念 1
1.1.1微处理器(机)的组成 1
1.1.2存储器和输入/输出接口 5
1.2微机的工作过程 5
1.2.1执行一条指令的顺序 6
1.2.2执行一条指令的过程 7
1.2.3执行一个程序的过程 8
1.3常用数制和编码 11
1.3.1数制及数制间转换 12
1.3.2计算机中常用编码 18
1.4数据在计算机中的表示 19
1.4.1有符号数 19
1.4.2无符号数 20
1.5 89C51/S51单片机 21
1.5.1 AT89C51/S51系列单片机 22
1.5.2 STC89系列单片机 23
1.5.3 SST89系列单片机 23
1.6思考题与习题 24
第2章 89C51/S51单片机的硬件结构和原理 25
2.1 89C51 /S51单片机的内部结构及特点 25
2.1.1 89C51/S51单片机的基本组成 25
2.1.2 89C51/S51单片机芯片内部结构 26
2.2 89C51/S51单片机的引脚及其功能 29
2.3 89C51/S51单片机的存储器配置 34
2.3.1程序存储器地址空间 35
2.3.2数据存储器地址空间 37
2.4 89C51/S51 CPU时序 44
2.5复位操作 46
2.5.1复位操作的主要功能 46
2.5.2复位电路 48
2.6思考题与习题 49
第3章 指令系统 50
3.1汇编语言 50
3.1.1指令和程序设计语言 50
3.1.2指令格式 51
3.2寻址方式 52
3.2.1 7种寻址方式 53
3.2.2寻址空间及符号注释 57
3.3 89C51/S51单片机的指令系统 58
3.3.1数据传送指令 59
3.3.2算术运算指令 63
3.3.3逻辑操作指令 67
3.3.4控制程序转移类指令 69
3.3.5位操作(布尔处理)类指令 77
3.4思考题与习题 80
第4章 汇编语言程序设计知识 85
4.1编程的步骤、方法和技巧 85
4.1.1编程步骤 85
4.1.2编程的方法和技巧 87
4.1.3汇编语言程序的基本结构 88
4.2伪指令 96
第5章 中断系统 99
5.1微机的输入/输出方式 99
5.1.1无条件传送方式 99
5.1.2查询传送方式 99
5.1.3直接存储器存取(DMA)方式 100
5.2中断的概念 100
5.3 89C51/S51中断系统结构及中断控制 102
5.3.1 89C51/S51中断源 103
5.3.2中断控制 103
5.4中断响应及中断处理过程 108
5.4.1中断响应 108
5.4.2中断处理 110
5.4.3中断返回 111
5.4.4关于具体的中断服务程序 111
5.5中断程序举例 112
5.5.1主程序 112
5.5.2中断服务程序 113
5.6思考题与习题 116
第6章 定时器及应用 118
6.1定时器概述 118
6.1.1什么是计数和定时 118
6.1.2定时器/计数器的组成 119
6.2定时器的控制 120
6.2.1工作模式寄存器TMOD 120
6.2.2控制寄存器TCON 121
6.3定时器的4种模式及应用 122
6.3.1模式1及应用 123
6.3.2模式2及应用 123
6.3.3模式3及应用 126
6.3.4综合应用举例 128
6.4思考题与习题 134
第7章 89C51/S51串行口及串行通信技术 136
7.1串行通信基本知识 136
7.1.1数据通信 136
7.1.2串行通信的传输方式 137
7.1.3异步通信和同步通信 138
7.1.4串行通信的过程及通信协议 140
7.2串行口及应用 142
7.2.1 89C51/S51串行口 142
7.2.2 89C51/S51串行口的应用 153
7.3 89C51/S51与89C51/S51点对点异步通信 158
7.3.1通信协议 158
7.3.2波特率设置 158
7.3.3通信程序举例 160
7.4 89C51/S51与PC机间通信 164
7.4.1单片机与PC机通信的接口电路 164
7.4.2 PC机通信软件 165
7.4.3 89C51通信软件设计 170
7.5无线单片机及其点到多点无线通信 174
7.5.1无线单片机 174
7.5.2无线单片机实现点到多点的无线通信 175
7.5.3多点无线测温系统 176
7.6 RFID技术与物联网的应用 178
7.6.1物联网定义 178
7.6.2 RFID技术 178
7.7思考题与习题 181
第8章 单片机小系统及片外扩展 182
8.1串行扩展总线接口技术 182
8.1.1 SPI串行外设接口总线 182
8.1.2 I2 C总线 188
8.1.3单总线 188
8.2并行扩展三总线的产生 194
8.2.1片外三总线结构 194
8.2.2系统扩展的实现 195
8.3扩展数据存储器 196
8.4简单并行I/O口的扩展 196
8.4.1 I/O口的直接输入/输出 196
8.4.2简单I/O接口的扩展方法 197
8.5思考题与习题 199
第9章 应用系统配置及接口技术 201
9.1人-机通道配置与接口技术 201
9.1.1键盘接口及处理程序 201
9.1.2 LED显示器接口及显示程序 209
9.1.3串行口控制的键盘/LED显示器接口电路 213
9.2系统前向通道中的A/D转换器及接口技术 217
9.2.1 8位串行A/D芯片TLC0831与单片机接口及编程 217
9.2.2 8位2通道串行A/D芯片ADC0832与单片机接口及编程 219
9.2.3 10位单通道串行输出A/D芯片TLC1549接口及编程 221
9.2.4 12位串行A/D芯片AD7893与单片机接口及编程 224
9.2.5 16位低速串行A/D芯片AD7705与单片机接口及编程 227
9.2.6 16位高速串行A/D芯片AD7683与单片机接口及编程 232
9.2.7 8位并行输出A/D芯片ADC0809与单片机接口及编程 236
9.3系统后向通道配置及接口技术 239
9.3.1后向通道中的功率开关器件及接口 240
9.3.2双向晶闸管(可控硅)温度控制系统 243
9.3.3串行输入D/A芯片TLC5615接口技术 243
9.3.4并行输入D/A芯片及接口技术 248
9.4思考题与习题 252
第10章 系统实用程序 254
10.1主程序和子程序的概念 254
10.1.1主程序 254
10.1.2子程序及参数传递 254
10.1.3中断服务子程序 256
10.2数据采集及简单控制程序 257
10.2.1数据采集程序 257
10.2.2航标灯控制程序 257
10.2.3水位控制程序 259
10.2.4蜂鸣音报警子程序 262
10.3数据处理程序 262
10.3.1排序程序 263
10.3.2数字滤波程序 263
10.3.3标度变换(工程量变换) 264
10.4代码转换程序 267
10.5抗干扰技术 269
10.5.1软件陷阱技术 269
10.5.2软件看门狗 272
10.5.3单片机片内硬件看门狗 274
10.6最短程序 276
第11章 C51程序设计 277
11.1 C51程序设计基础 277
11.1.1 C51的标识符和关键字 277
11.1.2 C51的数据类型 279
11.1.3 C51变量的存储方式 280
11.1.4 C51运算符、表达式及规则 284
11.2 C51语句 286
11.2.1说明语句 286
11.2.2表达式语句 286
11.2.3复合语句 287
11.2.4条件语句 287
11.2.5开关与跳转语句 288
11.2.6循环语句 290
11.2.7函数调用语句 291
11.2.8返回语句 291
11.2.9空语句 292
11.3 C51的流程控制结构 292
11.4 C51函数 292
11.4.1函数的定义 293
11.4.2函数的调用 293
11.5数组和指针 297
11.5.1数组的定义和引用 297
11.5.2字符数组 298
11.5.3数组元素赋初值 299
11.5.4数组作为函数的参数 299
11.5.5指针的概念 300
11.5.6数组的指针 303
11.5.7指针的地址计算 304
11.5.8指针数组与指针型指针 305
11.6思考题与习题 306
附录A 80C51指令表 308
附录B 89C51指令矩阵(汇编/反汇编表) 313
附录C 8255A可编程外围并行接口芯片及接口 314
参考文献 322