第1章 单片机概述 1
1.1 80C51单片机的发展史 1
1.2 80C51单片机的性能和特点 2
1.3 80C51单片机的分类和选型 3
1.3.1 80C51单片机的分类 3
1.3.2 80C51单片机的选型 4
第2章 硬件结构 6
2.1 80C51的内部总体结构 6
2.2 80C51的引脚封装和描述 8
2.3存储器配置 11
2.3.1程序存储器 12
2.3.2数据存储器 12
2.4特殊功能寄存器 14
2.5 I/O口 18
2.5.1 P0口 19
2.5.2 P1口 20
2.5.3 P2口 21
2.5.4 P3口 21
2.6中断 22
2.6.1中断系统的硬件结构 22
2.6.2中断控制 23
2.6.3中断响应协议 25
2.6.4外部中断触发方式 26
2.6.5中断响应时间 27
2.6.6 80C51的单步操作 27
2.7定时器/计数器 28
2.7.1定时器/计数器T0和T1的基本结构和工作原理 28
2.7.2定时器/计数器T0和T1的控制 29
2.7.3定时器/计数器的工作方式 31
2.8单片机的时钟和复位电路 33
2.8.1时钟电路 33
2.8.2时序 34
2.8.3复位电路 35
2.9单片机的低功耗模式 37
第3章 指令系统 39
3.1指令系统的分类和一般说明 39
3.2数据传送类指令 40
3.3算术运算类指令 44
3.4逻辑运算类指令 48
3.5控制转移类指令 50
3.6位操作类指令 54
第4章 ISP、IAP技术及应用 56
4.1 ISP和IAP的工作原理 56
4.2 ISP和IAP的优点 57
4.3并口/串口下载线 57
4.3.1并口下载线 57
4.3.2串口下载线 58
4.4 ISP软件的使用 59
4.5自制80C51仿真器 62
4.5.1 SoftICE软件的介绍 62
4.5.2 SoftICE软件的安装 63
4.5.3 Keil C51联机仿真 65
4.5.4自制仿真器的特点 66
第5章 Keil C51开发软件的应用 67
5.1 Keil C51简介 67
5.1.1 Keil C51软件的结构 67
5.1.2 Keil软件的安装 68
5.2 μVision2集成开发环境 69
5.2.1 μVision2IDE开发平台 69
5.2.2关于开发环境 70
5.3创建工程项目 74
5.3.1启动μVision2并创建一个项目 75
5.3.2新建一个源文件 75
5.4编译、链接项目 77
5.5下载调试项目 78
第6章 并行接口的扩展 82
6.1单片机系统扩展原理 82
6.1.1 80C51单片机最小应用系统 82
6.1.2 80C51单片机的片外总线结构 82
6.1.3 80C51单片机系统扩展的实现 84
6.1.4外扩芯片片选和地址分配方法 84
6.2程序存储器的扩展 88
6.2.1扩展EPROM存储器 88
6.2.2扩展E2PROM存储器 91
6.3数据存储器的扩展 93
6.4并行I/O口的扩展 96
6.4.1简单I/O口扩展 97
6.4.2 8255A可编程接口并行I/O扩展 99
6.4.3 8155可编程接口并行I/O扩展 100
第7章 实时时钟和外扩RAM(I2C和SPI总线器件)的应用 103
7.1 I2C总线的原理 103
7.1.1 I2C总线应用概述 103
7.1.2 I2C总线的系统结构 103
7.1.3 I2C总线的信号及时序定义 104
7.1.4 I2C总线的传输过程 104
7.1.5 I2C总线的仲裁 105
7.1.6 I2C总线的保留地址 106
7.1.7 80C51单片机与I2C总线芯片的模拟接口 106
7.2实时时钟PCF8563 112
7.2.1 PCF8563的特点和功能 112
7.2.2 PCF8563应用实例 113
7.3 SPI总线的原理 117
7.3.1 SPI总线应用概述 117
7.3.2 SPI总线的系统结构 117
7.3.3 SPI总线接口及时序 118
7.3.4 SPI总线的传输过程 119
7.3.5 80C51单片机与SPI总线芯片的模拟接口 120
7.4非易失性铁电存储器FM25C640 122
7.4.1 FM25C640特点 122
7.4.2 FM25C640的读/写方式 123
7.4.3 FM25C640的应用 124
第8章 键盘和显示接口设计 127
8.1键盘接口设计 127
8.1.1键盘工作原理 127
8.1.2键盘的工作方式 128
8.1.3键盘按键识别方法 129
8.1.4键盘按键去抖方法 130
8.1.5中断方式的键盘扫描电路 131
8.1.6其他形式键盘接口电路 132
8.2 LED显示接口 132
8.2.1 LED显示器的结构与原理 133
8.2.2 LED显示器的显示方式 134
8.2.3 8155做LED显示器接口实例 136
8.3键盘/LED专用接口芯片8279 137
8.3.1 8279的内部结构及基本工作原理 138
8.3.2 8279引脚功能 139
8.3.3 8279工作方式 141
8.3.4 8279命令字 141
8.3.5 8279状态字 144
8.3.6应用举例 144
8.4键盘/LED专用接口芯片7279A 146
8.4.1 7279A的主要特性 146
8.4.2 7279A引脚功能 146
8.4.3 7279A的控制指令 147
8.4.4 7279A串行接口的时序图 149
8.4.5 7279A应用举例 150
8.5 LCD显示接口 151
8.5.1 OCM4X8C液晶显示模块概述 151
8.5.2 OCM4X8C液晶显示模块的引脚功能 152
8.5.3 OCM4X8C液晶显示模块的硬件接口 152
8.5.4 OCM4X8C液晶显示模块的指令系统 155
8.5.5 OCM4X8C液晶显示模块的显示示例 158
第9章 A/D和D/A接口设计 161
9.1 A/D接口设计 161
9.1.1常用A/D转换器的原理 161
9.1.2双积分型A/D转换器MC14433 164
9.1.3逐次逼近型A/D转换器ADC0809 168
9.1.4 Σ-Δ调制型A/D转换器CS5532 171
9.1.5 A/D转换器的主要技术指标 176
9.2 D/A转换器接口设计 177
9.2.1 D/A转换器的原理 177
9.2.2并行接口D/A转换器芯片DAC0832 178
9.2.3串行接口D/A转换器芯片TLC5617 181
9.2.4 D/A转换器的主要参数 184
9.3电压/电流转换电路 185
9.3.1利用分立元件组成的电压/电流转换电路 185
9.3.2 AD694电压/电流转换电路 186
第10章 串行口通信 188
10.1数据通信的基本概念 188
10.1.1串行通信的传送方式 188
10.1.2串行通信的同步技术 189
10.2串行口的结构和功能 191
10.3串行口控制寄存器 192
10.3.1串行口数据缓冲器SBUF 192
10.3.2串行口控制寄存器SCON 192
10.3.3串行口电源控制寄存器PCON 193
10.4串行口的工作方式 194
10.4.1方式0 194
10.4.2方式1 195
10.4.3方式2和方式3 196
10.4.4常用波特率表 196
10.5串行通信总线标准 197
10.5.1 RS-232C总线标准与应用 197
10.5.2 RS-485总线标准 199
10.6 Modbus标准通信协议和软件编程 201
10.6.1 Modbus通信协议简介 201
10.6.2 Modbus协议传送模式 203
10.6.3 Modbus协议功能码定义 204
10.6.4 80C51单片机的RTU模式编程 205
第11章 80C51的应用案例 219
11.1 80C51常用的一些子程序函数 219
11.1.1 char单字节HEX数转换BCD码函数 219
11.1.2 int双字节HEX数转换BCD码函数 220
11.1.3 long四字节HEX数转换BCD码函数 221
11.1.4 ftod浮点数转换BCD码函数 222
11.1.5计算万年历函数 227
11.2频率测量 229
11.2.1频率测量概述 229
11.2.2频率测量原理 229
11.2.3系统硬件构成 229
11.2.4软件流程图 230
11.2.5频率测量源程序 231
11.3红外遥控(SM3XX6)技术 237
11.3.1红外遥控技术概述 237
11.3.2红外遥控系统的构成和工作原理 238
11.3.3使用M50462AP电视遥控器控制的红外遥控继电器开关 241
11.3.4其他类型遥控器的解码 247
11.4 DS 18B20温度测量 250
11.4.1 DSl8B20的性能特点 250
11.4.2 DS18B20的内部结构及其各存储器结构 250
11.4.3 DS18B20测温值的计算及其测温原理 251
11.4.4 DS18B20与单片机的典型接口 252
11.4.5 DS 18B20测温系统的软件编写 253
第12章 单片机嵌入式编程 263
12.1关于嵌入式系统 263
12.1.1嵌入式系统的定义 263
12.1.2嵌入式系统的构成 264
12.1.3嵌入式系统的特点 265
12.1.4单片机实时操作系统 265
12.2 μC/OS-II操作系统 266
12.2.1 μC/OS-II操作系统的原理 267
12.2.2 μC/OS-II操作系统的特点 277
12.2.3 μC/OS-II操作系统的80C51的移植 278
12.2.4 μC/OS-II用户应用系统编写 280
12.3 RTX51操作系统 281
12.3.1 RTX51操作系统的概述 281
12.3.2 RTX51的任务结构和状态 282
12.3.3 RTX51的功能函数 284
12.3.4 RTX51 Tiny程序的编写和应用 286
12.4 Small RTOS操作系统 295
12.4.1 Small RTOS的概述 295
12.4.2 Small RTOS的运行条件 295
12.4.3 Small RTOS 51的应用 296
第13章 单片机抗干扰技术 304
13.1单片机的常见干扰现象及其来源 304
13.1.1单片机的常见干扰现象 304
13.1.2干扰的来源 304
13.2干扰的耦合方式 306
13.3单片机抗干扰的原则 307
13.4单片机抗干扰的措施 308
13.4.1单片机系统的硬件抗干扰技术 308
13.4.2单片机系统的软件抗干扰技术 316