本书以80C51系列单片微机为主讲机种,主要介绍单片微型计算机的原理与接口技术,内容包括单片微机基本硬件配置、指令系统和程序编程、片内常用功能部件(中断、定时器/计数器、串行口)应用编程和单片微机的接口技术(存储器、I/O、A/D接口、D/A接口、键盘接口及显示接口的原理和扩展方法;串行扩展原理和方法、可靠性设计技术和低功耗设计技术)等内容。第三版删去了一些内容(如定时器/计数器T2和多处理机通信方式等),对一些难点(如系统扩展中涉及的地址译码和分配、可靠性和低功耗设计等)作了补充介绍。
本书概念清楚,叙述详细,例题丰富,并配有教辅书《单片微型计算机原理与接口技术——习题、实验与试题解析》,便于自学。
样章试读
目录
- 目录
前言
第一章 绪论 1
1.1 单片微机的发展 1
1.1.1 单片微机的概念 1
1.1.2 单片微机的发展 2
1.2 80C51系列单片微机 4
1.3 单片微机的应用 8
1.4 本教程的教学安排 10
思考与练习 11
第二章 80C51单片微机的基本结构 12
2.1 80C51单片微机的内部结构 12
2.2 80C51单片微机的引脚及其功能 15
2.3 80C51单片微机CPU的结构和特点 18
2.3.1 中央控制器 18
2.3.2 运算器 20
2.3.3 时钟电路及CPU的工作时序 23
2.4 80C51单片微机存储器结构和地址空间 27
2.4.1 程序存储器 28
2.4.2 片内数据存储器 30
2.4.3 片外数据存储器 34
2.5 80C51单片微机并行输入/输出端口 35
2.5.1 P0口 35
2.5.2 P1口 37
2.5.3 P2口 39
2.5.4 P3口 41
2.6 80C51单片微机布尔(位)处理器 43
2.7 80C51单片微机的工作方式 43
2.7.1 复位方式 43
2.7.2 程序执行方式 45
2.7.3 低功耗工作方式 45
思考与练习 47
第三章 80C51单片微机的指令系统 49
3.1 80C51指令系统概述 49
3.1.1 寻址方式 49
3.1.2 指令格式 55
3.1.3 指令分类 56
3.1.4 指令系统中使用符号说明 56
3.1.5 单片微机执行指令的过程 57
3.2 数据传送类指令 57
3.2.1 内部8位数据传送指令 58
3.2.2 16位数据传送指令 60
3.2.3 外部数据传送指令 61
3.2.4 程序存储器数据传送指令(或称查表指令) 62
3.2.5 数据交换指令 62
3.2.6 堆栈操作指令 63
3.3 算术运算类指令 65
3.3.1 加法指令 65
3.3.2 带进位加法指令 66
3.3.3 加1指令 67
3.3.4 二-十进制调整指令 67
3.3.5 带借位减法指令 69
3.3.6 减1指令 70
3.3.7 乘法/除法指令 70
3.4 逻辑运算类指令 71
3.4.1 逻辑“与”运算指令 71
3.4.2 逻辑“或”运算指令 72
3.4.3 逻辑“异或”运算指令 72
3.4.4 累加器移位/循环指令 73
3.4.5 累加器按位取反指令 74
3.4.6 累加器清0指令 74
3.5 控制程序转移类指令 75
3.5.1 无条件转移指令 75
3.5.2 条件转移指令 78
3.5.3 循环转移指令 80
3.5.4 子程序调用指令 81
3.5.5 返回指令 82
3.5.6 空操作指令 83
3.6 布尔(位)操作类指令 83
3.6.1 布尔(位)传送指令 83
3.6.2 布尔(位)状态控制指令 84
3.6.3 布尔(位)逻辑操作指令 84
3.6.4 布尔(位)条件转移指令 85
思考与练习 87
第四章 80C51单片微机的程序设计 91
4.1 概述 91
4.1.1 汇编语言格式 91
4.1.2 伪指令语句 94
4.2 80C51汇编语言程序设计 98
4.2.1 顺序结构程序设计 98
4.2.2 分支结构程序设计 105
4.2.3 循环结构程序设计 111
4.2.4 子程序设计 116
4.2.5 程序设计举例 121
思考与练习 123
第五章 80C51单片微机的中断系统原理及应用 127
5.1 中断系统概述 127
5.1.1 单片微机的中断系统需要解决的问题 127
5.1.2 中断的主要功能 128
5.2 80C51的中断系统 129
5.2.1 中断源 129
5.2.2 中断矢量 130
5.3 中断的控制 131
5.3.1 中断标志 131
5.3.2 中断允许控制 132
5.3.3 中断优先级 132
5.3.4 外部中断触发方式 133
5.3.5 中断请求的撤除 133
5.4 中断的响应过程和响应时间 134
5.4.1 中断的响应过程 134
5.4.2 中断响应时间 136
5.5 外部中断源的扩展 137
5.6 80C51的单步操作 139
5.7 中断服务程序设计 139
思考与练习 141
第六章 80C51单片微机的定时器/计数器原理及应用 142
6.1 概述 142
6.2 定时器/计数器T0、T1 143
6.2.1 与定时器/计数器T0、T1有关的特殊功能寄存器 143
6.2.2 定时器/计数器T0、T1工作方式 146
6.3 监视定时器(看门狗)T3 149
6.4 定时器/计数器应用编程 151
6.4.1 定时器应用 151
6.4.2 计数器应用 155
6.4.3 门控位GATE应用 158
6.4.4 运行中读定时器/计数器 161
思考与练习 161
第七章 80C51单片微机的串行口原理及应用 163
7.1 串行数据通信概述 163
7.2 80C51串行口结构及控制 165
7.2.1 80C51串行口结构 165
7.2.2 80C51串行口控制 166
7.3 串行口工作方式 168
7.3.1 串行口方式0——同步移位寄存器方式 168
7.3.2 串行口方式1——8位UART 170
7.3.3 串行口方式2和3——9位UART 173
7.4 串行口应用 175
7.4.1 串行口的波特率发生器及波特率计算 175
7.4.2 方式0的编程和应用 176
7.4.3 方式1的编程和应用 177
7.4.4 方式2、3的编程和应用 182
思考与练习 186
第八章 单片微机的系统扩展原理与接口技术 187
8.1 系统扩展原理 187
8.1.1 外部并行扩展原理 188
8.1.2 外部串行扩展原理 192
8.2 程序存储器的扩展 196
8.2.1 程序存储器扩展时的总线功能和操作时序 196
8.2.2 片外程序存储器的扩展 197
8.3 数据存储器的扩展 199
8.3.1 并行数据存储器的扩展 199
8.3.2 串行数据存储器的扩展 201
8.4 I/O 的扩展及应用 213
8.4.1 I/O扩展概述 213
8.4.2 80C51单片微机I/O口直接应用 217
8.4.3 80C51简单I/O的扩展及应用 218
8.4.4 可编程并行I/O接口芯片8255A的扩展及应用 219
8.4.5 串行I/O接口芯片PCF8574/PCF8574A的扩展及应用 226
8.5 D/A转换器接口的扩展及应用 229
8.5.1 概述 229
8.5.2 8位并行D/A转换器芯片DAC0832 230
8.5.3 DAC0832的扩展与应用 232
8.6 A/D转换器接口的扩展及应用 234
8.6.1 概述 234
8.6.2 8位并行A/D转换器芯片ADC0809 235
8.6.3 ADC0809的扩展及应用 237
8.7 键盘接口的扩展及应用 240
8.7.1 键盘接口工作原理 241
8.7.2 键盘接口电路扩展 243
8.8 显示接口的扩展及应用 244
8.8.1 LED显示器的工作原理与扩展 244
8.8.2 LCD显示器的工作原理与扩展 248
8.9 系统扩展时的可靠性与低功耗设计 256
8.9.1 系统扩展时的可靠性设计 256
8.9.2 系统扩展时的低功耗设计 258
思考与练习 259
第九章 单片微机应用系统实例 262
9.1 数据采集系统 262
9.2 无总线单片微机应用系统 264
附录A 80C51指令表 269
附录B 多种单片微机型号命名法 274
B.1 Intel公司单片微机型号命名示例 274
B.2 Philips公司单片微机型号命名示例 274
B.3 Atmel公司89系列单片微机的型号编码 277
附录C 单片微机常见缩略语表 278
附录D ASCII码表与控制符号定义表 280
参考文献 281