目 录
基 础 篇
第1章 单片机概述 1
1.1 单片机发展概况 1
1.2 基于51内核的单片机 2
1.3 单片机的常用术语 2
1.4 单片机特点及应用 4
习题1 5
第2章 51单片机结构及硬件系统设计基础 6
2.1 单片机的基本结构 6
2.2 单片机的引脚 7
2.3 单片机的内部结构 10
2.3.1 51单片机的内部结构 10
2.3.2 51单片机的存储器 12
2.3.3 时序与指令周期 17
2.4 单片机硬件系统设计基础 18
2.4.1 单片机基础知识 18
2.4.2 从数据手册了解AT89S51单片机 22
2.4.3 AT89S51单片机最小系统 24
2.4.4 基于STC89C51RC单片机的最小系统 28
习题2 32
第3章 51单片机的指令系统与汇编程序 34
3.1 51单片机的指令与指令系统 34
3.2 寻址方式 34
3.3 51单片机指令 36
3.3.1 数据传送指令 36
3.3.2 算术运算指令 37
3.3.3 逻辑运算指令 38
3.3.4 控制转移指令 39
3.3.5 位操作指令 40
3.4 汇编语言程序设计 41
3.4.1 汇编语言简介 41
3.4.2 汇编器 43
3.4.3 Keil环境下汇编程序设计过程 44
3.5 汇编程序设计举例 50
习题3 53
第4章 C51程序设计 54
4.1 C51程序与汇编程序的不同之处 54
4.2 C语言基础知识 55
4.3 运 算 符 62
4.4 C程序基本结构与流程控制 65
4.4.1 C程序设计的3种基本结构 65
4.4.2 条件与分支结构 66
4.4.3 各种循环结构 68
4.5 C51中的构造数据类型 70
4.5.1 数组 71
4.5.2 指针 71
4.5.3 结构体 73
4.5.4 共用体 75
4.5.5 枚举 76
4.5.6 用typedef重定义数据类型 76
4.6 函数 77
4.6.1 定义函数 77
4.6.2 调用函数 79
4.6.3 函数变量的作用域 81
4.7 编译预处理 81
4.8 C51内部函数 83
4.9 C51编译过程中用到的文件 84
4.10 C51程序结构 85
4.11 Keil环境下C程序设计过程 88
4.12 AT89S51单片机C51程序举例 89
习题4 92
提 高 篇
第5章 51单片机的存储器扩展 94
5.1 存储器概述 94
5.2 存储器并行扩展 95
5.2.1 地址锁存器及地址译码器 96
5.2.2 51单片机扩展ROM 97
5.2.3 51单片机扩展RAM 102
5.3 存储器串行扩展 105
5.3.1 I2C总线简介 105
5.3.2 I2C接口的E2PROM存储器芯片24C02 106
5.3.3 读写I2C接口存储器24C02举例 108
习题5 111
第6章 51单片机的显示扩展 112
6.1 单片机系统中的数码管显示扩展 112
6.1.1 数码管显示原理 112
6.1.2 数码管显示扩展 113
6.2 液晶显示器在单片机系统中的扩展 118
6.2.1 字符型液晶LCD 1602简介 119
6.2.2 液晶1602常用的C51读写及初始化程序 124
6.2.3 液晶1602在单片机系统中的应用 125
6.3 LED点阵屏扩展 128
6.3.1 点阵屏工作原理 128
6.3.2 点阵屏显示接口及举例 129
习题6 132
第7章 51单片机的中断、定时与串行通信 134
7.1 51单片机的中断 134
7.1.1 中断原理 134
7.1.2 具有中断的汇编与C程序举例 138
7.2 51单片机的定时器 140
7.2.1 定时器基础 140
7.2.2 定时器的4种工作方式 142
7.2.3 具有定时器的汇编与C程序举例 145
7.3 51单片机的串行口和控制寄存器 150
7.3.1 串行口工作原理 150
7.3.2 RS-232接口 152
7.3.3 单片机串口与PC通信举例 153
习题7 158
第8章 51单片机ADC与DAC接口 160
8.1 模拟量接口技术 160
8.1.1 单电源运放工作原理 160
8.1.2 测量模拟电压与电流的接口电路 165
8.1.3 温度测量接口技术 170
8.1.4 应力测量接口技术 176
8.1.5 光耦隔离输入技术 179
8.2 模拟量输出电路 180
8.2.1 电压电流转换电路 180
8.2.2 功率输出接口技术 181
8.3 51单片机串行连接ADC 186
8.3.1 TLC1549简介 186
8.3.2 TLC1549芯片应用举例 189
8.4 51单片机串行连接DAC 192
8.4.1 TLC5615简介 192
8.4.2 89S51单片机驱动TLC5615芯片举例 194
习题8 196
高 级 篇
第9章 C8051F330单片机技术基础 198
9.1 C8051F330单片机特点 198
9.2 C8051F330单片机的CIP-51内核 199
9.3 C8051F330单片机的存储器结构 201
9.4 C8051F330单片机的电源管理方式 205
9.5 C8051F330单片机的复位源 205
9.6 C8051F330单片机的时钟电路 209
9.7 C8051F330单片机实验板设计 213
习题9 217
第10章 C8051F单片机功能模块工作原理 218
10.1 C8051F330单片机的输入/输出端口 218
10.2 C8051F330单片机的中断 227
10.3 C8051F330单片机的定时器 232
10.3.1 定时器0与定时器1 232
10.3.2 定时器2 237
10.3.3 定时器3 241
10.4 C8051F330单片机的FLASH存储器 244
10.5 C8051F330单片机的10位模数转换器ADC0 250
10.6 C8051F330单片机的10位电流模式DAC(IDA0) 259
10.7 C8051F330单片机的电压基准 263
10.8 C8051F330单片机的模拟电压比较器 265
10.9 C8051F330单片机的可编程计数器阵列 269
习题10 280
第11章 C8051F330单片机的通信接口 281
11.1 串行外设接口(SPI0) 281
11.2 异步通信接口UART0 287
11.3 SMBus接口 295
习题11 303
第12章 基于51内核单片机的智能仪表设计 304
12.1 电子系统智能化与智能仪表概述 304
12.2 智能仪表中的数据处理算法 306
12.2.1 常用软件滤波算法 306
12.2.2 热电阻与热电偶的非线性校正算法 308
12.2.3 标度变换 310
12.3 周期与频率测量算法 310
12.4 控制算法 313
12.4.1 位式控制算法 313
12.4.2 PID控制算法 315
12.5 软件任务的编程实现 321
12.6 智能仪表抗干扰技术 326
12.7 简易智能仪表设计举例 329
12.7.1 基于PT100传感器测温的智能测温仪表 329
12.7.2 采用热敏电阻KTY81测温的智能测温仪表 337
12.7.3 数显压力控制仪表设计 341
12.7.4 采用C8051F330单片机的数显转速表 343
12.7.5 电机工作电流与电压监测报警电路设计 346
12.7.6 全自动反冲洗滤水器控制电路设计 349
12.7.7 智能电子产品开发过程 354
习题12 355
参考文献 357