第1章 51单片机技术基础 1
1.1 单片机基础 1
1.2 51内核单片机 3
1.2.1 MCS-51单片机的基本结构 4
1.2.2 AT89S51单片机结构 4
1.2.3 51单片机引脚 6
1.2.4 51单片机的存储器 9
1.2.5 时序与指令周期 14
1.3 存储器扩展 15
1.4 单片机硬件设计 17
1.5 设计基于AT89S51的最小系统 21
1.5.1 从数据手册了解AT89S51单片机 21
1.5.2 AT89S51最小系统硬件设计 23
1.6 采用AT89S51芯片的实验板 24
1.7 AT89ISP软件 26
1.8 设计基于STC89C51RC单片机的最小系统 27
1.9 STC89C51的编程软件 30
习题1 32
第2章 51单片机的指令系统与汇编程序 33
2.1 51单片机的指令与指令系统 33
2.2 寻址方式 33
2.3 51单片机指令 35
2.3.1 数据传送指令 35
2.3.2 算术运算指令 36
2.3.3 逻辑运算指令 37
2.3.4 控制转移指令 38
2.3.5 位操作指令 39
2.4 汇编语言程序设计 40
2.4.1 汇编语言简介 40
2.4.2 汇编器 42
2.4.3 汇编语言在Keil环境下汇编举例 43
2.5 汇编程序设计举例 49
习题2 53
第3章 C51程序设计 54
3.1 C51程序与汇编程序的不同之处 54
3.2 C语言基础知识 55
3.3 运算符 62
3.4 C程序基本结构与流程控制 65
3.4.1 C程序设计的3种基本结构 65
3.4.2 条件与分支结构 66
3.4.3 各种循环结构 68
3.5 C51中的构造数据类型 70
3.5.1 数组 71
3.5.2 指针 71
3.5.3 结构体 73
3.5.4 共用体 75
3.5.5 枚举 76
3.5.6 用typedef重定义数据类型 76
3.6 函数 77
3.6.1 定义函数 77
3.6.2 调用函数 79
3.6.3 函数变量的作用域 81
3.7 编译预处理 81
3.8 C51内部函数 83
3.9 C51编译过程中用到的文件 84
3.10 获得错误与警告信息 85
3.11 C51程序结构 86
3.12 AT89S51单片机C51程序举例 89
习题3 94
第4章 51单片机的中断、定时与串行通信 95
4.1 51单片机的中断 95
4.1.1 中断原理 95
4.1.2 具有中断的汇编与C程序举例 99
4.2 51单片机的定时器 100
4.2.1 定时器基础 100
4.2.2 定时器的4种工作方式 102
4.2.3 具有定时器的汇编与C程序举例 105
4.3 51单片机的串行口和控制寄存器 111
4.3.1 串行口工作原理 111
4.3.2 RS-232接 113
4.3.3 单片机串口与PC通信举例 114
习题4 119
第5章 51单片机连接E2PROM、ADC与DAC芯片 120
5.1 I2C总线 120
5.1.1 I2C总线简介 120
5.1.2 I2C接口的E2PROM存储器芯片24C02 121
5.1.3 读写I2C接口存储器24C04举例 123
5.2 AD转换器TLC1549 125
5.2.1 TLC1549简介 125
5.2.2 TLC1549芯片应用举例 129
5.3 DAC转换器TLC5615 131
5.3.1 TLC5615简介 131
5.3.2 89S51单片机驱动TLC5615芯片举例 133
习题5 135
第6章 C8051F330单片机技术基础 136
6.1 C8051F330单片机特点 136
6.2 C8051F330单片机的CIP-51内核 137
6.3 C8051F330单片机的存储器结构 139
6.4 C8051F330单片机的电源管理方式 143
6.5 C8051F330单片机的复位源 143
6.6 C8051F330单片机的时钟电路 147
6.7 C8051F330单片机实验板设计 151
习题6 155
第7章 C8051F单片机功能模块工作原理 156
7.1 C8051F330单片机的输入/输出端口 156
7.2 C8051F330单片机的中断 166
7.3 C8051F330单片机的定时器 173
7.3.1 定时器0与定时器1 174
7.3.2 定时器2 180
7.3.3 定时器3 184
7.4 C8051F330单片机的Flash存储器 188
7.5 C8051F330单片机的10位模数转换器ADC0 197
7.6 C8051F330单片机的10位电流模式DAC(IDA0) 206
7.7 C8051F330单片机的电压基准 212
7.8 C8051F330单片机的模拟电压比较器 213
7.9 C8051F330单片机的可编程计数器阵列 217
习题7 236
第8章 C8051F330单片机的通信接口 238
8.1 串行外设接口(SPI0) 238
8.2 异步通信接口UART0 244
8.3 SMBus接口 252
习题8 260
第9章 51内核单片机的接口技术 261
9.1 模拟量接口技术 261
9.1.1 单电源运放工作原理 261
9.1.2 测量模拟电压与电流的接口电路 266
9.1.3 温度测量接口技术 272
9.1.4 应力测量接口技术 278
9.2 模拟量输出电路 280
9.3 光耦隔离输入技术 281
9.4 功率输出接口技术 282
习题9 287
第10章 基于51内核单片机的智能仪表设计基础 289
10.1 电子系统智能化与智能仪表 289
10.1.1 什么是电子系统智能化? 289
10.1.2 智能仪表概述 289
10.2 智能仪表中的数据处理算法 291
10.2.1 常用软件滤波算法 291
10.2.2 热电阻与热电偶的非线性校正算法 293
10.2.3 标度变换 295
10.3 周期与频率测量算法 296
10.4 控制算法 298
10.4.1 位式控制算法 298
10.4.2 PID控制算法 300
10.5 软件任务的编程实现 306
10.6 智能仪表抗干扰技术 313
10.7 简易智能仪表设计举例 315
10.7.1 基于PT100传感器测温的智能测温仪表 315
10.7.2 采用K型热电偶测温的智能测温仪表 323
10.7.3 采用热敏电阻KTY81测温的智能测温仪表 329
10.7.4 数显压力控制仪表设计 333
10.7.5 采用C8051F330单片机的数显转速表 336
10.7.6 电机工作电流与电压监测报警电路设计 339
10.7.7 全自动反冲洗滤水器控制电路设计 341
10.7.8 全自动豆浆机控制电路设计 346
10.7.9 智能电子产品开发过程 352
习题10 353
参考文献 355