第1章 概述 1
1.1 微型计算机基础概述 1
1.1.1 冯·诺依曼体系 1
1.1.2 微型计算机的基本结构 2
1.1.3 计算机中的数制 5
1.1.4 ASCII码与BCD码 6
1.2 单片机概述 7
1.2.1 自动化 7
1.2.2 单片机 9
1.2.3 单片机应用系统基本结构 13
1.2.4 单片机开发系统(环境) 17
1.3 中断、定时器/计数器、串行通信、
并行通信概述 19
1.3.1 中断概述 19
1.3.2 定时器/计数器概述 19
1.3.3 并行通信与串行通信概述 20
本章小结 22
习题 22
第2章 51系列单片机硬件基础 23
2.1 总体结构 23
2.1.1 内部结构 24
2.1.2 外部引脚 25
2.1.3 CPU的时序周期 27
2.2 存储器结构 28
2.2.1 程序存储器 28
2.2.2 数据存储器 29
2.2.3 特殊功能寄存器 30
本章小结 33
习题 33
第3章 51系列单片机指令系统 34
3.1 指令系统概述 34
3.1.1 指令格式 34
3.1.2 操作数的类型 35
3.1.3 指令描述约定 35
3.2 寻址方式 36
3.2.1 概述 36
3.2.2 寻址方式说明 36
3.3 指令系统 38
3.3.1 数据传送类指令 39
3.3.2 算术运算类指令 43
3.3.3 逻辑运算类指令 49
3.3.4 控制转移类指令 51
3.3.5 位操作类指令 56
3.4 伪指令 58
3.4.1 概述 58
3.4.2 伪指令说明 58
本章小结 61
习题 61
第4章 51系列单片机汇编语言程序设计 63
4.1 程序设计概述 63
4.1.1 程序设计步骤 63
4.1.2 程序设计技术 64
4.1.3 评价程序质量的标准 64
4.2 基本结构程序设计举例 65
4.2.1 顺序结构程序 65
4.2.2 分支结构程序 66
4.2.3 循环结构程序 68
4.3 查表程序及子程序设计举例 71
4.3.1 查表程序 71
4.3.2 子程序 73
4.4 数制转换与数字滤波程序设计举例 74
4.4.1 数制转换程序 74
4.4.2 数字滤波程序 76
4.5 实验 77
实验1 多重循环——冒泡程序设计 77
实验2 多位BCD码减法 78
本章小结 78
习题 79
第5章 51系列单片机P0~P3口应用基础 80
5.1 P0~P3口概述 80
5.1.1 结构 80
5.1.2 通用I/O口工作方式 82
5.1.3 特点总结 82
5.2 P0~P3口输出操作 83
5.2.1 基本输出操作——字节与位 83
5.2.2 扩展输出操作——流水灯 84
5.2.3 扩展输出操作——8段LED
显示 85
5.3 P0~P3口输入操作 90
5.3.1 闸刀型开关输入信号 90
5.3.2 按钮型开关输入信号 91
5.3.3 多个按钮型开关输入信号——
键盘 93
5.4 实验与设计 97
实验1 闸刀型开关输入/8段LED
静态显示输出 97
实验2 并行接口键盘/LED指示灯
输出 98
设计1 计时秒表的设计 101
设计2 模拟交通信号灯控制装置的
设计 101
本章小结 101
习题 102
第6章 51系列单片机中断系统应用基础 103
6.1 中断结构与控制 103
6.1.1 中断系统结构 103
6.1.2 中断控制寄存器 104
6.2 中断优先级与中断子程序 106
6.2.1 中断优先级 106
6.2.2 中断子程序 107
6.3 外部中断应用实例 108
6.3.1 外部中断源初始化 108
6.3.2 外部中断实例 108
6.3.3 外部中断源的扩展 112
6.4 实验与设计 113
实验 按钮型开关模拟外部中断实验 113
设计 出租车计价器里程计量装置的
设计 114
本章小结 115
习题 115
第7章 51系列单片机定时器/计数器应用
基础 116
7.1 定时器/计数器概述 116
7.1.1 结构 116
7.1.2 控制寄存器 117
7.2 工作模式 118
7.2.1 模式1与模式0 118
7.2.2 模式2 120
7.2.3 模式3 120
7.3 定时器/计数器的应用举例 121
7.3.1 定时器/计数器的初始化 121
7.3.2 应用举例 122
7.4 实验与设计 128
实验1 按钮型开关模拟计数器实验 128
实验2 定时器实验 129
设计1 出租车计价器里程计量装置
的设计 131
设计2 计时钟的设计(倒计时) 131
本章小结 131
习题 131
第8章 51系列单片机串行口应用基础 133
8.1 串行通信基础 133
8.1.1 异步串行通信与同步串行通信 133
8.1.2 波特率 136
8.2 51系列单片机的串行接口概述 137
8.2.1 结构原理 137
8.2.2 应用控制 138
8.3 串行口的工作方式 139
8.3.1 工作方式0 139
8.3.2 工作方式1 142
8.3.3 工作方式2 146
8.3.4 工作方式3 146
8.4 串行口应用实例 147
8.4.1 编程基础 147
8.4.2 应用实例 149
8.5 实验与设计 152
实验 两个单片机串行通信实验 152
本章小结 154
习题 155
第9章 51系列单片机并行扩展接口技术 156
9.1 并行I/O口扩展基础 156
9.1.1 并行扩展总线结构图 156
9.1.2 典型的锁存器芯片74LS273 157
9.1.3 典型的三态缓冲器74LS245 158
9.1.4 可编程的I/O接口芯片8255A 158
9.2 并行总线的连接 162
9.2.1 数据线、控制线的连接 162
9.2.2 译码信号的形成—系统扩展
的寻址 163
9.3 并行I/O接口芯片扩展实例 165
9.3.1 利用74LS273与74LS245扩展
并行的输入/输出口实例 165
9.3.2 利用8255A作为8段LED静态
显示输出口的实例 166
9.3.3 利用8255A作为8段LED动态
显示输出口的实例 168
9.4 模拟量接口技术 170
9.4.1 概述 170
9.4.2 8位并行D/A转换器DAC0832
接口实例 171
9.4.3 12位并行D/A转换器DAC1208
接口实例 177
9.4.4 8位并行A/D转换器ADC0809
接口实例 178
9.5 实验与设计 182
实验1 DAC0832单缓冲实验 182
实验2 ADC0809数据采集实验 183
设计 波形发生器的设计 185
本章小结 185
习题 185
第10章 51系列单片串行总线的扩展 187
10.1 I2C总线接口技术 187
10.1.1 I2C总线概述 187
10.1.2 I2C总线典型器件AT24C02
应用实例 189
10.2 SPI总线接口技术 192
10.2.1 SPI总线概述 192
10.2.2 典型器件X25045应用实例 193
10.3 单总线(1-wire)接口技术 198
10.3.1 单总线(1-wire)概述 198
10.3.2 典型器件DS18B20应用实例 199
10.4 典型串行接口芯片应用实例 204
10.4.1 串行A/D接口芯片TLC2543 204
10.4.2 键盘/显示器串行接口芯片
HD7279 208
本章小结 214
习题 214
第11章 单片机应用系统的设计 215
11.1 单片机应用系统结构及设计内容 215
11.1.1 单片机应用系统的一般硬件
组成 215
11.1.2 单片机应用系统的设计内容 218
11.2 单片机应用系统的设计实例——
集中供暖小型换热站控制系统的
设计 218
11.2.1 系统描述 218
11.2.2 设计方案 219
11.2.3 硬件电路设计 220
11.2.4 软件设计 223
本章小结 224
第12章 μVision2与Proteus使用基础 225
12.1 μVision2集成开发环境 225
12.1.1 目标文件.HEX的生成 226
12.1.2 用μVision2调试工程 230
12.2 Proteus快速入门 233
12.2.1 集成Proteus ISIS环境及菜
单栏 234
12.2.2 Proteus软件中的.HEX文件
的运行 235
附录A ASCII码字符表 237
附录B 单片机应用资料的查询网址 238
附录C Proteus常用分离器件名称 239
参考文献 240