第1章 单片机概述 1
1.1单片机的概念 1
1.2单片机的历史与发展趋势 3
1.3单片机的应用 6
1.4单片机应用系统 7
1.5常用单片机简介 8
1.6单片机的选用 11
习题1 12
第2章 MCS-51单片机的内部结构 13
2.1 MCS-51单片机的基本结构 13
2.2 MCS-51单片机的引脚功能 14
2.3 MCS-51单片机的存储器组织 21
2.3.1程序存储器 21
2.3.2数据存储器 22
2.4 MCS-51单片机的工作时序 27
2.4.1节拍、状态、机器周期和指令周期 28
2.4.2 CPU取指令、执行指令周期时序 28
习题2 30
第3章 MCS-51单片机的指令系统 31
3.1 MCS-51指令的寻址方式 31
3.1.1 MCS-51汇编语言指令格式 31
3.1.2 MCS-51的寻址方式 31
3.2 MCS-51的指令说明 33
3.2.1数据传送类指令 33
3.2.2算术运算类指令 36
3.2.3逻辑运算类指令 38
3.2.4控制转移类指令 39
3.2.5布尔处理类指令 41
3.3伪指令 42
3.4 C51程序设计基础 43
3.4.1 C51数据类型 43
3.4.2变量存储类型 44
3.4.3特殊功能寄存器及其C51定义 45
3.4.4运算符与表达式 46
3.4.5 C51语句 50
3.4.6函数 55
3.4.7 C51构造数据类型 58
习题3 62
第4章MCS-51汇编语言程序设计 63
4.1汇编语言程序设计概述 63
4.1.1汇编语言的特点 63
4.1.2汇编语言程序设计的步骤 63
4.2单片机汇编语言程序的基本结构形式 63
4.2.1顺序程序 63
4.2.2分支程序 64
4.2.3循环程序 66
4.3 MCS-51单片机汇编语言程序设计举例 67
4.3.1算术运算程序 67
4.3.2数制转换程序 68
4.3.3定时程序 69
4.3.4查表程序 69
4.3.5数据极值查找程序 70
4.3.6数据排序程序 71
4.4 C51程序设计 72
4.4.1 C51编程方法 72
4.4.2 C51编程的一些特点 76
习题4 77
第5章 中断系统 78
5.1中断系统概述 78
5.2 MCS-51单片机中断系统 78
5.2.1中断请求源和中断请求标志 78
5.2.2中断控制 80
5.2.3中断响应 82
5.2.4外部中断触发方式 83
5.2.5多个外部中断源系统设计 84
5.2.6 MCS-51对中断请求的撤除 85
5.2.7 MCS-51中断系统的初始化 87
5.3应用举例 88
5.4 C51中断编程 95
习题5 96
第6章 MCS-51单片机的定时器/计数器 97
6.1定时器/计数器概述 97
6.1.1定时器/计数器结构 97
6.1.2工作方式 98
6.1.3定时器/计数器的初始化 100
6.2应用举例 103
6.3 C51定时器编程 113
习题6 114
第7章 MCS-51单片机串行接口 115
7.1串行通信的基本概念 115
7.1.1基本概念及分类 115
7.1.2串行口的功能 116
7.2 MCS-51串行口的组成 117
7.2.1串行口的结构 117
7.2.2串行口控制与状态寄存器 117
7.3串行口的工作方式 118
7.3.1串行口工作方式0 118
7.3.2串行口工作方式1 119
7.3.3串行口工作方式2与方式3 120
7.3.4波特率的设计 121
7.3.5异步通信程序举例 122
7.3.6 C51串行口编程 123
习题7 125
第8章 单片机系统的扩展 126
8.1 MCS-51单片机系统扩展编址技术 126
8.1.1 MCS-51单片机的片外总线结构 126
8.1.2片选方式和地址分配 127
8.2外部程序存储器的扩展 129
8.2.1扩展外部程序存储器的总线功能和操作时序 129
8.2.2 EPROM程序存储器扩展 130
8.2.3 E2PROM的扩展 132
8.3外部数据存储器的扩展 134
8.3.1扩展数据存储器时的总线功能和读、写操作时序 134
8.3.2 SRAM的扩展 136
8.3.3新型存储器简介 138
8.4并行I/O接口的扩展 139
8.4.1概述 139
8.4.2简单的I/O口扩展 139
8.4.3采用8255扩展I/O口 142
8.4.4采用8155扩展I/O口 147
8.5外部串行总线扩展 152
8.5.1 I2 C总线器件概述 153
8.5.2 I2C总线应用举例 154
8.5.3其他串行总线扩展简介 162
习题8 165
第9章 常用外围设备接口电路 166
9.1单片机与键盘接口 166
9.1.1键盘的工作原理 166
9.1.2独立式按键 167
9.1.3矩阵式按键 169
9.2 LED显示器接口 175
9.2.1数码管简介 175
9.2.2静态显示接口 178
9.2.3动态显示接口 179
9.2.4典型的键盘、显示接口电路 183
9.3键盘/显示器专用接口Intel 8279 184
9.3.1 8279的内部结构和工作原理 184
9.3.2 8279的引脚和功能 186
9.3.3 8279与单片机、键盘/显示器的接口 192
9.4 LCD液晶显示和接口 194
9.4.1 LCD显示器简介 194
9.4.2笔段型液晶显示的接口 196
9.4.3字符型液晶显示的接口 198
9.4.4图形液晶显示接口 200
9.5微型打印机接口 213
9.5.1 PP40的接口信号 213
9.5.2 PP40的操作方法 214
9.5.3 PP40的接口方法 216
习题9 220
第10章 模拟量接口的扩展 221
10.1 D/A转换器概述 221
10.1.1 T形电阻式D/A转换器原理 221
10.1.2描述D/ A转换器的性能参数 222
10.2 MCS-51单片机与8位D/A转换器接口技术 222
10.2.1 DAC0832的内部结构和引脚功能 223
10.2.2 8位D/A转换器接口方法 224
10.3 MCS-51单片机与8位A/D转换器接口技术 226
10.3.1 A/D转换器概述 226
10.3.2 A/D转换器的主要技术指标 227
10.3.3典型A/D转换器芯片ADC0809 228
10.3.4 MCS-51单片机与ADC0809接口 230
10.3.5应用举例 231
10.4 MCS-51单片机与12位A/D转换器接口技术 233
10.4.1 AD574A引脚功能 233
10.4.2 AD574A的单极性和双极性输入 234
10.4.3 AD574A与单片机的接口 235
10.5 MCS-51单片机与串行A/D接口技术 236
10.5.1 TLC2543A/D转换器的功能特性 237
10.5.2 TLC2543 A/D转换器的应用实例 243
习题10 245
第11章 μC/OS-Ⅱ嵌入式操作系统 247
11.1 μC/OS-Ⅱ系统的特点及结构 247
11.1.1 μC/OS-Ⅱ系统的特点 248
11.1.2 μC/OS-Ⅱ系统的内核结构 249
11.1.3主要模块介绍 250
11.1.4 μC/OS-Ⅱ操作系统的初始化 257
11.2 μC/OS-Ⅱ的移植 258
11.2.1 μC/OS-Ⅱ工作核心原理分析 258
11.2.2在移植过程中的一般性问题 259
11.2.3 μC/OS-Ⅱ在MCS-51单片机上的移植过程 260
11.3 μC/OS-Ⅱ应用举例 262
习题11 266
第12章 单片机应用系统的设计 267
12.1单片机应用系统的设计过程 267
12.1.1应用系统的总体设计 267
12.1.2应用系统的硬件设计 268
12.1.3应用系统的软件设计 269
12.2单片机开发工具及选择 273
12.2.1仿真器 273
12.2.2其他硬件工具 276
12.2.3单片机仿真软件 276
12.3系统可靠性设计 276
12.3.1硬件的可靠性设计 277
12.3.2软件的可靠性设计 279
12.4单片机应用系统的调试和维护 280
12.4.1硬件调试方法 280
12.4.2软件调试方法 281
习题12 282
参考文献 283