第1章 概述 1
1.1 单片机概述 1
1.1.1 单片机的结构与工作原理 1
1.1.2 单片机的特点 2
1.1.3 单片机的发展概况 3
1.2 单片机的应用 5
1.3 单片机的分类 6
1.3.1 CISC与RISC单片机 7
1.3.2 数字信号处理器 7
1.3.3 基于ARM核的32位单片机 8
1.4 部分单片机系列简介 8
1.4.1 MCS—51及其兼容的单片机系列 8
1.4.2 TI公司的MSP430系列单片机 11
1.4.3 Freescale公司的M68HC08系列单片机 12
1.4.4 Microchip公司的PIC系列单片机 13
1.4.5 Atmel公司的AVR系列单片机 13
第2章 单片机结构及工作原理 14
2.1 单片机基本结构 14
2.2 单片机工作原理 16
2.2.1 运算器 17
2.2.2 控制器 20
2.2.3 指令执行过程 21
2.3 单片机的引脚 21
2.4 存储器结构 24
2.4.1 存储器结构 24
2.4.2 程序存储器 25
2.4.3 数据存储器 26
2.4.4 特殊功能寄存器 29
2.5 并行I/O端口结构 32
2.5.1 P0口 32
2.5.2 P1口 33
2.5.3 P2口 34
2.5.4 P3口 34
2.6 CPU时序及时钟电路 34
2.6.1 CPU时序及有关概念 35
2.6.2 振荡器和时钟电路 35
2.7 单片机工作方式 36
2.7.1 复位方式 36
2.7.2 低功耗方式 38
第3章 指令系统 39
3.1 指令系统概述 39
3.2 寻址方式 40
3.2.1 指令格式中符号意义说明 41
3.2.2 寻址方式介绍 42
3.3 指令系统 47
3.3.1 数据传送类指令 47
3.3.2 算术运算类指令 53
3.3.3 逻辑运算类指令 57
3.3.4 控制转移类指令 60
3.3.5 位操作类指令 66
3.3.6 伪指令 68
第4章 汇编语言程序设计 70
4.1 汇编程序设计概述 70
4.2 汇编程序设计举例 71
4.2.1 顺序程序设计 71
4.2.2 分支程序设计 72
4.2.3 循环程序设计 74
4.2.4 子程序设计 75
4.3 编程举例 76
4.3.1 算术运算类程序 76
4.3.2 数据排序程序 79
4.3.3 数码转换程序 80
4.3.4 数字滤波程序 82
第5章 中断系统 86
5.1 中断概述 86
5.1.1 中断的定义 86
5.1.2 中断技术的优点 87
5.2 中断系统 88
5.2.1 中断源及中断入口 89
5.2.2 中断系统结构 91
5.2.3 中断允许和禁止 92
5.2.4 中断优先级 93
5.3 中断处理流程 94
5.3.1 中断响应 95
5.3.2 中断服务 96
5.3.3 中断返回 96
5.4 中断程序设计 97
5.5 扩充外中断源 98
第6章 定时器/计数器 100
6.1 定时器/计数器概述 100
6.1.1 定时器/计数器T0、T1的结构 100
6.1.2 定时器/计数器的工作原理 101
6.2 控制寄存器 102
6.3 定时器/计数器的工作方式 104
6.3.1 工作方式1 104
6.3.2 工作方式0 106
6.3.3 工作方式2 108
6.3.4 工作方式3 109
6.4 定时器/计数器的应用 112
6.4.1 定时器/计数器的初始化 112
6.4.2 利用定时器/计数器扩展外部中断 113
6.4.3 定时器/计数器的应用举例 114
6.5 定时器/计数器T2 118
6.5.1 T2的寄存器 118
6.5.2 T2的工作方式 119
6.6 定时器T3——WDT监视定时器 121
6.6.1 WDT的功能及应用特点 121
6.6.2 辅助寄存器AUXR 121
第7章 单片机串行数据通信 123
7.1 串行数据通信基础知识 123
7.2 串行口结构与工作原理 125
7.3 串行口控制寄存器 126
7.4 串行口工作方式 128
7.4.1 工作方式0 128
7.4.2 工作方式1 129
7.4.3 工作方式2 130
7.4.4 工作方式3 131
7.5 串行口应用举例 132
7.6 多机通信 133
第8章 单片机系统扩展与接口技术8.1 单片机系统扩展与接口技术概述 135
8.2 存储器的扩展 136
8.2.1 程序存储器扩展 136
8.2.2 数据存储器扩展 139
8.2.3 存储器扩展应用 141
8.3 并行I/O接口扩展 142
8.3.1 并行I/O接口概述 142
8.3.2 简单I/O接口扩展 144
8.3.3 8155可编程I/O接口扩展 147
8.4 A/D转换器接口 154
8.4.1 A/D转换器概述 154
8.4.2 A/D转换芯片ADC0809 155
8.4.3 单片机与ADC0809接口 157
8.5 D/A转换器的接口与应用 159
8.5.1 D/A转换器概述 159
8.5.2 D/A转换器芯片DAC0832 160
8.5.3 DAC0832的接口方式与应用 162
8.6 键盘接口技术 162
8.6.1 独立式键盘 163
8.6.2 矩阵式键盘 164
8.7 显示器接口技术 167
8.7.1 七段LED显示器结构与工作原理 167
8.7.2 LED显示器接口应用 168
第9章 C51语言简介 172
9.1 C51的数据类型 172
9.1.1 C51的数据类型概述 172
9.1.2 常量数据类型 174
9.1.3 C51的变量及其数据存储类型 174
9.2 C51的运算符与表达式 176
9.3 C51的函数 178
9.3.1 C51函数概述 178
9.3.2 C51中断函数 179
9.4 C51程序设计举例 180
第10章 超声波温度、湿度控制系统10.1 系统应用及设计要求 182
10.1.1 系统概述 182
10.1.2 可行性分析及系统方案论证 183
10.2 系统设计 186
10.2.1 系统设计要求 186
10.2.2 系统框图 186
10.2.3 系统工作原理 187
10.3 硬件电路设计 187
10.3.1 单片机小系统 188
10.3.2 超声波雾化器 188
10.3.3 温度测量系统 190
10.3.4 湿度测量系统 195
10.3.5 水位控制电路 196
10.3.6 键盘显示电路 197
10.3.7 加热电路 198
10.3.8 指示部件 198
10.3.9 控制部件 198
10.4 软件结构与部分程序清单 199
10.4.1 程序结构分析 199
10.4.2 主程序流程图 200
10.4.3 DS18B20程序分析 201
10.5 系统功能测试及产品功能比较 203
10.5.1 系统外观平面图 203
10.5.2 系统测试 203
10.5.3 本系统与同类产品功能比较 203
第11章 城市公交车无线自动报站系统11.1 系统功能与设计要求 204
11.1.1 系统概述 204
11.1.2 设计方案论证 205
11.2 硬件电路分析 205
11.2.1 编码数据发射系统(车站系统) 206
11.2.2 数据接收、语音报站系统(车载系统) 208
11.3 软件分析 212
11.3.1 程序流程图 212
11.3.2 ISD4004语音录放子程序 213
11.4 系统功能测试与比较 217
11.4.1 指标测试 218
11.4.2 系统功能比较 218
附录A 89S51指令表 219
附录B ASCII码表 223
参考文献 224