第1章 单片机概述 1
1.1 单片机的基本概念 1
1.2 单片机的发展历史 1
1.3 单片机的特点与应用领域 2
1.3.1 单片机的特点 2
1.3.2 单片机的应用领域 3
1.4 单片机的发展使用趋势 3
1.5 MCS系列和STC系列单片机 4
1.5.1 MCS-51系列单片机 4
1.5.2 STC系列单片机 6
1.5.3 其他类型单片机 7
1.5.4 单片机开发工具的使用 10
1.6 单片机中使用的数制与码制 19
1.6.1 进位计数制 20
1.6.2 进位计数制的相互转换 20
1.6.3 单片机的原码、反码和补码 21
1.6.4 数码和字符的代码表示 23
1.7 单片机的存储器 24
1.7.1 RAM存储器 24
1.7.2 ROM存储器 24
第2章 MCS-51系列单片机的硬件结构和组成 26
2.1 MCS-51系列单片机的硬件结构 26
2.1.1 8051单片机的硬件组成 26
2.1.2 8051单片机的中央处理器 26
2.1.3 8051单片机的引脚 30
2.1.4 8051单片机存储器的结构 31
2.1.5 8051单片机的I/O接口 35
2.1.6 8051单片机的最小系统应用 37
2.1.7 时钟电路与时序 37
2.1.8 复位操作和复位电路 41
2.1.9 看门狗定时器 42
2.1.10 低功耗节电模式 42
2.2 AT89系列单片机的结构 43
2.2.1 AT89S51单片机简介 44
2.2.2 AT89系列单片机Flash的编程和校验 46
第3章 单片机指令系统与汇编语言程序设计 47
3.1 单片机指令系统概述 47
3.1.1 MCS-51系列单片机汇编指令的格式 48
3.1.2 指令中的符号标识和注释符 49
3.2 80C51单片机寻址方式 49
3.2.1 寄存器寻址方式 50
3.2.2 直接寻址方式 50
3.2.3 寄存器间接寻址方式 50
3.2.4 立即寻址方式 51
3.2.5 变址间接寻址方式 51
3.2.6 相对寻址方式 52
3.2.7 位寻址方式 53
3.3 80C51单片机指令系统 54
3.3.1 数据传送类指令 54
3.3.2 算术运算类指令 60
3.3.3 逻辑运算类指令 65
3.3.4 控制转移类指令 68
3.3.5 位操作类指令 75
3.3.6 访问I/O接口指令的使用说明 78
3.4 80C51汇编语言程序设计 79
3.4.1 伪指令 79
3.4.2 常见汇编程序设计应用 83
3.4.3 汇编语言程序设计举例 91
第4章 MCS-51系列单片机的中断系统 99
4.1 单片机中断概述 99
4.1.1 中断的基本概念 99
4.1.2 中断的作用与功能 99
4.1.3 中断系统结构 100
4.2 中断源类型 100
4.2.1 定时中断类 101
4.2.2 串行中断类 101
4.2.3 80C51中断系统 101
4.2.4 中断请求触发方式 102
4.3 中断控制 102
4.3.1 中断允许控制寄存器 103
4.3.2 中断优先级控制寄存器 103
4.3.3 中断的响应 104
4.3.4 技术中断的处理 106
4.3.5 中断的返回 106
4.3.6 中断请求撤除 106
4.3.7 中断响应时间 107
4.4 中断程序设计及举例 107
4.4.1 中断初始化程序 107
4.4.2 中断服务程序 108
4.4.3 中断应用举例 109
4.4.4 80C51外部中断源扩展 110
第5章 MCS-51系列单片机的定时/计数器 112
5.1 定时/计数器的结构及工作原理 112
5.1.1 工作方式寄存器TMOD 113
5.1.2 控制寄存器TCON 114
5.2 定时器T0、T1的工作方式 115
5.2.1 方式0(模式0) 115
5.2.2 方式1(模式1) 116
5.2.3 方式2(模式2) 116
5.2.4 方式3(模式3) 117
5.3 定时/计数器T0、T1的应用举例 117
5.3.1 定时/计数器对输入信号的要求 117
5.3.2 定时控制、脉宽检测 119
5.3.3 电压/频率转换 128
5.4 定时/计数器T2 128
5.4.1 特殊功能寄存器和T2MOD 128
5.4.2 T2的状态控制寄存器T2CON 129
5.4.3 T2的工作方式 130
5.4.4 定时/计数器T2的应用 132
第6章 I/O接口的扩展应用 135
6.1 I/O接口的使用 135
6.1.1 I/O接口的主要作用 135
6.1.2 I/O接口的编址 136
6.1.3 I/O接口的数据传送方式 136
6.2 并行I/O接口扩展 137
6.2.1 并行接口的结构 137
6.2.2 并行接口的操作 137
6.2.3 单片机控制的跑马灯 138
6.2.4 I/O接口输入/输出应用 140
6.3 单片机系统中的键盘接口设计 141
6.3.1 键盘接口设计 141
6.3.2 矩阵式键盘扫描应用 142
6.4 单片机系统中的LED数码显示器 146
6.4.1 LED数码显示器的结构与原理 146
6.4.2 单片机控制单管数码显示器 147
6.4.3 秒钟计时数码管显示电路 149
6.5 单片机系统中的LCD液晶显示器 151
6.5.1 字符型液晶显示模块的组成和基本特点 151
6.5.2 LCD1602模块接口引脚功能 151
6.5.3 LCD液晶显示器应用 154
6.6 单片机控制点阵模块信息显示 156
6.6.1 点阵模块结构与显示原理 156
6.6.2 单片机控制点阵模块的应用 157
6.7 并行I/O接口扩展应用 161
6.7.1 8×55可编程并行I/O接口扩展 161
6.7.2 用74HC系列芯片扩展I/O接口 168
6.7.3 数码管接口扩展 168
6.7.4 LED点阵显示器接口技术 172
6.8 D-A和A-D转换接口技术 174
6.8.1 DAC0832与MCS-51系列单片机的接口 174
6.8.2 ADC0809与MCS-51系列单片机的接口 176
6.9 串行总线接口技术 178
6.9.1 I2C串行总线扩展 178
6.9.2 SPI串行总线扩展 181
6.9.3 1-Wire单总线扩展 184
6.9.4 Microwire总线扩展 185
6.10 外部存储器扩展 186
6.10.1 外部存储器扩展方式 186
6.10.2 28SF040A并行存储器接口设计 187
6.10.3 扩展外部存储器测试电路设计 187
第7章 MCS-51系列单片机串行通信及其应用 190
7.1 概述 190
7.1.1 串行通信的数据通路形式 192
7.1.2 串行通信的传输速率 192
7.2 MCS-51系列单片机的串行通信接口 193
7.2.1 通用的异步接收/发送器UART 193
7.2.2 串行接口的控制寄存器SCON 193
7.2.3 特殊功能寄存器PCON 194
7.2.4 串行接口的工作方式 195
7.2.5 波特率设计 196
7.3 串行通信应用 199
7.3.1 RS-232标准串行总线接口及应用 200
7.3.2 RS-422、RS-485标准串行总线接口及应用 202
7.3.3 移位寄存器方式 203
7.3.4 双机、多机通信应用 206
7.3.5 单片机与微机的串行通信 208
第8章 单片机基础知识与应用设计的仿真实例 213
8.1 基础应用知识 213
8.1.1 门铃声 213
8.1.2 电动机控制 215
8.1.3 花样流水灯 217
8.1.4 串行接口通信测试 220
8.2 接口设计应用实训 224
8.2.1 电子琴 224
8.2.2 温度测试 227
8.2.3 交通灯设计 233
8.2.4 数据采集 236
8.2.5 作息实时控制 241
参考文献 248