第1章 单片机概述 1
1.1 计算机中的数据信息 1
1.1.1 计算机中数据的类型 1
1.1.2 数制及其转换 1
1.1.3 数在计算机内的表示 2
1.1.4 字符在计算机内的表示 4
1.2 单片机基础 5
1.2.1 单片机及其监控系统 5
1.2.2 单片机的分类 5
1.2.3 单片机的应用特点 6
1.2.4 单片机的发展过程及趋势 6
1.2.5 单片机监控应用 7
1.3 MCS-51与80C51系列单片机 7
1.3.1 MCS-51系列单片机 7
1.3.2 80C51系列单片机 8
本章 小结 9
习题1 9
技能设计1 单片机开发软件KEILμVISION 3的使用简介 10
第2章 单片机结构原理 21
2.1 80C51基本架构与监控模式 21
2.1.1 80C51基本架构 21
2.1.2 80C51监控模式 21
2.2 80C51系列配置与封装 22
2.2.1 80C51资源配置 22
2.2.2 80C51封装与引脚 23
2.3 80C51内部结构 24
2.3.1 80C51芯片内部逻辑结构 24
2.3.2 80C51时钟和时序 26
2.3.3 80C51复位 29
2.4 80C51I/O接口 29
2.4.1 P0口、P2口的结构 30
2.4.2 P1口、P3口的结构 32
2.4.3 并行接口的负载能力 33
2.5 80C51存储器 34
2.5.1 80C51程序存储器 34
2.5.2 80C51数据存储器 35
2.5.3 80C51特殊功能寄存器 36
本章 小结 37
习题2 38
技能设计2 基本I/O口输出与输入 39
第3章 单片机指令系统 43
3.1 80C51指令系统概述 43
3.2 指令格式及常用符号 43
3.2.1 机器指令编码格式 43
3.2.2 符号指令格式 45
3.2.3 符号指令及其注解中常用符号含义 45
3.3 80C51寻址方式及指令执行过程 45
3.3.1 80C51寻址方式 45
3.3.2 80C51指令执行过程 49
3.4 单片机监控系统指令类型 50
3.4.1 数据传送类指令(29条) 50
3.4.2 算术运算类指令(24条) 54
3.4.3 逻辑运算与移位类指令(24条) 58
3.4.4 控制转移类指令(17条) 60
3.4.5 位操作类指令(17条) 64
本章 小结 66
习题3 66
技能设计3 80C51驱动蜂鸣器发声 68
第4章 单片机汇编语言程序设计 71
4.1 程序编制步骤、方法和技巧 71
4.1.1 程序编制步骤 71
4.1.2 程序编制方法和技巧 72
4.1.3 汇编语言语句格式 72
4.2 源程序编制和伪指令 73
4.2.1 源程序编制和汇编 73
4.2.2 伪指令 74
4.3 基本程序结构 76
4.3.1 顺序程序 76
4.3.2 分支程序 77
4.3.3 循环程序 80
4.3.4 子程序及参数传递 82
4.4 80C51单片机汇编语言程序设计举例 84
4.4.1 算术运算程序 84
4.4.2 码型转换程序 88
4.4.3 查表程序 90
4.4.4 定时程序 92
本章 小结 92
习题4 93
技能设计4八位数码管动态循环显示 94
第5章 单片机中断系统及定时/计数器 97
5.1 80C51单片机中断系统 97
5.1.1 单片机中断技术 97
5.1.2 单片机中断系统结构 98
5.1.3 单片机中断源 99
5.1.4 单片机中断控制 99
5.1.5 单片机中断过程 102
5.1.6 应用实例 107
5.2 80C51单片机定时/计数器 108
5.2.1 定时/计数器的概念 108
5.2.2 定时/计数器的结构和工作原理 109
5.2.3 定时/计数器的控制 110
5.2.4 定时/计数器的工作方式 111
5.2.5 定时/计数器外部中断源的扩展 117
5.2.6 应用实例 117
5.3 80C51单片机中断与定时/计数器的综合应用 118
5.3.1 实现时钟计时显示的基本方法 118
5.3.2 程序流程 119
5.3.3 程序清单 119
本章 小结 121
习题5 122
技能设计5 数码管显示00~59秒表 124
第6章 单片机监控系统扩展 128
6.1 单片机最小系统 128
6.1.1 8051/8751的最小系统 128
6.1.2 8031最小系统 129
6.2 存储器扩展 130
6.2.1 存储器扩展概述 130
6.2.2 程序存储器扩展 134
6.2.3 数据存储器扩展 137
6.2.4 ROM和RAM综合扩展 141
6.3 I/O接口扩展 141
6.3.1 I/O接口功能 142
6.3.2 I/O端口编址 142
6.3.3 I/O数据传送方式 142
6.3.4 I/O接口电路芯片 143
6.3.5 简单I/O口扩展 143
6.4 8255A可编程并行接口芯片 144
6.4.1 8255A芯片介绍 144
6.4.2 8255A工作方式 145
6.4.3 8255A控制字 147
6.4.4 8255A与80C51单片机接口 147
6.5 8155可编程并行接口芯片 148
6.5.1 8155芯片介绍 149
6.5.2 8155与80C51单片机接口 152
6.6 8279接口芯片 152
6.6.1 8279的内部逻辑结构 153
6.6.2 8279的引脚定义 154
6.6.3 8279的操作命令 155
6.6.4 8279的状态字 157
6.7 键盘及接口 158
6.7.1 键盘的输入特点 158
6.7.2 键盘的工作原理 159
6.7.3 键盘的工作方式 161
6.8 LED显示器及其接口 162
6.8.1 LED显示器的结构与原理 162
6.8.2 LED数码管显示器的译码方式 162
6.8.3 LED数码管的显示方式 163
6.8.4 LED显示器与单片机的接口 164
6.9 键盘/显示器接口设计实例 165
6.9.1 利用并行接口芯片8155构成键盘和显示接口电路 166
6.9.2 利用专用接口芯片8279构成键盘和显示接口电路 167
6.9.3 利用单片机串行口构成键盘和显示接口电路 169
本章 小结 169
习题6 170
技能设计6 可编程接口芯片8255A的应用 171
第7章 单片机监控串行通信 174
7.1 串行通信基础 174
7.1.1 串行通信的基本原理 175
7.1.2 串行通信的接口标准 179
7.2 80C51单片机串行接口 184
7.2.1 串行接口的结构 184
7.2.2 串行接口的控制寄存器 185
7.2.3 串行接口的工作方式 186
7.3 单片机串行接口监控应用 191
7.3.1 单片机与单片机通信 192
7.3.2 单片机与计算机通信 195
本章 小结 196
习题7 196
技能设计7单片机间监控串行通信 198
第8章 单片机监控接口 201
8.1 D/A转换器及其与单片机接口 201
8.1.1 D/A转换器 201
8.1.2 DAC0832芯片及其与单片机接口应用 203
8.2 A/D转换器及其与单片机接口 208
8.2.1 A/D转换器 208
8.2.2 ADC0809芯片及其与单片机接口应用 209
8.3 监控开关量接口 212
8.3.1 开关量输入接口 212
8.3.2 开关量输出接口 213
本章 小结 215
习题8 215
技能设计8 利用ADC0809芯片制作数字电压表 217
第9章 单片机安全监控系统设计 221
9.1 单片机安全监控系统设计与开发 221
9.1.1 安全监控系统设计要求 221
9.1.2 安全监控系统设计步骤 221
9.1.3 安全监控系统开发 222
9.1.4 安全监控系统的开发方式 223
9.2 单片机安全监控系统可靠性技术 225
9.2.1 滤波技术 225
9.2.2 接地技术 226
9.2.3 屏蔽技术 229
9.2.4 隔离技术 229
9.2.5 反电势干扰及其抑制技术 230
9.3 单片机安全监控系统设计实例 230
9.3.1 家电领域的监控系统 231
9.3.2 水塔的水位监控系统 238
9.3.3 作息时间监控钟 241
9.3.4 交通信号灯模拟监控系统 243
9.3.5 工业顺序监控系统 245
本章 小结 247
习题9 247
技能设计9 课程设计(综合)——电脑监控钟的设计与制作 247
附录 261
附录A 80C51系列单片机指令 261
附录B 80C51系列单片机常用资料 265
附录C ASCII码(美国标准信息交换码)表 267
附录D 二进制逻辑单元图形符号对照 268
附录E 常用芯片引脚图 269
附录F 部分习题答案 270
参考文献 273