定 价:39.8 元
丛书名:普通高等教育“十三五”应用型人才培养规划教材
- 作者:范力旻
- 出版时间:2019/2/1
- ISBN:9787111612841
- 出 版 社:机械工业出版社
- 中图法分类:TP368.1
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
本书全面介绍了MCS-51系列单片机的基本结构、工作原理、指令系统、汇编语言设计、C51语言设计、I/O接口和一些简单的应用技术,介绍了单片机片上系统(SOC)及开发技术。本书介绍了汇编语言和C51两种编程语言,例题也给出两种语言的编程方式,以满足不同的教学需要。
单片机具有集成度高、功能强、结构简单、易于掌握、应用灵活、可靠性高、价格低廉等特点,广泛应用于工业控制等各个领域。因此,作为一名工科大学生,熟练掌握有关单片机的原理和应用,学会把计算机技术应用到相关的专业领域里是十分必要的。
“单片机原理及应用”课程是电气工程及其自动化专业、自动化专业及通信专业的主要专业基础课和骨干课。课程的学习目的在于使学生掌握单片机的基本概念、基本原理和应用方法;要求学生在牢固掌握单片机基本概念的基础上,具备对简单系统的硬件原理的分析与设
计、接口芯片的应用和汇编语言软件编写能力,为进一步的专业课学习和参加控制与通信工程实践打下必要的基础。
根据教学的需要,我们编写了本书。本书共分为 11 章,全面介绍了 MCS-51 系列单片机的基本结构、工作原理、指令系统、汇编语言设计、 C51 语言设计、 I/O 接口和一些简单的应用技术,介绍了单片机片上系统( SoC)及开发技术。
本书在内容编排上由浅入深,对基本概念讲解清晰,在讲述原理时注意了理论同实践相结合,力求做到让读者在掌握一定理论知识的同时,能够运用知识解决实际问题。 目前市场上有关单片机的书籍使用汇编语言和 C51 两种语言编程,在教学中我们感觉到这两种语言各有利弊,因此本书所有章节的例题都提供了两种编程方式,分别讲解了这两种语言
的编程方法,以满足不同的教学和学习需要。
本书可作为高等学校电类专业或其他工科相关专业的本、专科教科书,适用于 32~68 学时的教学。
本书第 1、 4 章由陈伦琼编写,第 3、 5 章以及附录由范力旻编写,第 2、 6 章由蔡纪鹤编写,第 7、 9 章由庄志红编写,第 10、 11 章由邵春声编写,第 8 章由吕继东编写。在编写过程中,我们参考了有关的书籍和资料,在此对这些作者表示感谢。由于水平有限,书中难免存在一些不足和错误,恳请广大读者批评指正。
编 者
前 言
第 1 章 概述 1
1.1 单片机的概念 1
1.2 单片机的特点及发展概况 1
1.3 单片机的基本组成 2
1.3.1 中央处理器 3
1.3.2 存储器 3
1.3.3 输入/输出部件 3
1.4 常用单片机系列介绍 4
1.5 单片机的应用领域 5
1.5.1 单片机的应用 5
1.5.2 单片机应用系统的结构 6
本章小结 7
思考题与习题 7
第 2 章 单片机的硬件结构 8
2.1 单片机的基本结构 8
2.1.1 单片机的内部结构 8
2.1.2 单片机的封装及引脚定义 12
2.2 单片机的存储器组织 14
2.2.1 程序存储器 14
2.2.2 数据存储器 15
2.3 单片机的并行口结构与操作 18
2.3.1 并行输入/输出端口结构 18
2.3.2 并行输入/输出端口编程举例 19
2.4 单片机的时钟电路与时序 21
2.4.1 振荡器与时钟电路 21
2.4.2 CPU 的工作时序 22
2.5 单片机的复位电路 24
2.5.1 复位电路设计 24
2.5.2 复位状态 24
2.6 单片机的低功耗方式 25
2.6.1 电源控制寄存器 25
2.6.2 待机方式 25
2.6.3 掉电方式 25
本章小结 26V
思考题与习题 26
第 3 章 51 系列单片机的指令系统和程序设计方法 27
3.1 指令概述 27
3.1.1 指令分类 27
3.1.2 指令格式 27
3.1.3 指令中常用缩写符号的意义 28
3.2 寻址方式 29
3.2.1 立即寻址 29
3.2.2 直接寻址 29
3.2.3 寄存器寻址 29
3.2.4 寄存器间接寻址 30
3.2.5 变址寻址 30
3.2.6 相对寻址 31
3.2.7 位寻址 31
3.3 数据传送类指令 32
3.3.1 内部 RAM 数据传送指令 32
3.3.2 访问外部 RAM 数据传送指令 35
3.3.3 程序存储器向累加器 A 传送数据指令 35
3.3.4 数据交换指令 37
3.3.5 堆栈操作指令 38
3.4 算术运算类指令 39
3.4.1 加法指令 39
3.4.2 减法指令 41
3.4.3 乘法指令 42
3.4.4 除法指令 43
3.5 逻辑运算类指令 43
3.5.1 累加器 A 的逻辑运算指令 43
3.5.2 两个操作数的逻辑操作运算指令 44
3.6 位操作指令 46
3.6.1 位变量传送指令 46
3.6.2 位变量修改指令 47
3.6.3 位变量逻辑操作指令 47
3.7 控制转移类指令 47
3.7.1 无条件转移指令 48
3.7.2 条件转移指令 49
3.7.3 调用与返回指令 53
3.8 汇编语言程序设计 55
3.8.1 汇编语言程序设计概述 55
3.8.2 常用伪指令 56
单片机原理及接口技术
3.8.3 顺序结构程序设计 58
3.8.4 分支结构程序设计 59
3.8.5 循环结构程序设计 60
3.8.6 子程序设计 63
本章小结 67
思考题与习题 68
第 4 章 C51 程序设计基础 71
4.1 单片机的 C 语言概述 71
4.1.1 C51 程序开发流程 71
4.1.2 C51 程序结构 71
4.2 C51 的数据类型与数据存储类型 73
4.2.1 C51 的标识符与关键字 73
4.2.2 C51 的数据类型 74
4.2.3 C51 的数据存储类型 77
4.3 C51 的运算符、表达式与规则 79
4.3.1 C51 的算术运算符与算术表达式 79
4.3.2 C51 的关系运算符、关系表达式与优先级 79
4.3.3 C51 的逻辑运算符、逻辑表达式与优先级 80
4.3.4 C51 的赋值运算符与表达式 80
4.3.5 C51 的位操作及表达式 80
4.3.6 逗号表达式与条件表达式 81
4.4 C51 流程控制语句 81
4.4.1 C51 的顺序结构 82
4.4.2 C51 的选择结构 82
4.4.3 C51 的循环结构 83
4.5 C51 的数组与结构 83
4.5.1 一维、二维数组 83
4.5.2 结构 84
4.6 C51 的指针与函数 85
4.6.1 C51 的指针概述 85
4.6.2 C51 函数的定义 88
本章小结 90
思考题与习题 90
第 5 章 中断系统 91
5.1 中断系统概述 91
5.1.1 中断的概念 91
5.1.2 中断系统的功能及特点 91
5.2 51 系列单片机的中断系统 92
5.2.1 中断系统结构与中断源 92VII
5.2.2 中断控制 93
5.3 中断处理过程 97
5.3.1 中断响应与过程 97
5.3.2 中断处理 98
5.3.3 中断返回 99
5.3.4 中断请求撤销 99
5.3.5 中断响应时间 100
5.4 中断系统应用举例 100
本章小结 107
思考题与习题 107
第 6 章 单片机的定时器/计数器 108
6.1 定时器/计数器的结构及工作原理 108
6.1.1 MCS-51 系列单片机定时器/计数器功能 108
6.1.2 定时器/计数器的结构 108
6.1.3 定时器/计数器的控制字 109
6.2 定时器/计数器的工作模式 110
6.2.1 模式 0 110
6.2.2 模式 1 111
6.2.3 模式 2 111
6.2.4 模式 3 111
6.3 计数器模式下对输入信号的要求 112
6.4 定时器/计数器的编程和应用 112
6.4.1 定时器/计数器的初始化 112
6.4.2 定时器/计数器的应用 114
本章小结 121
思考题与习题 121
第 7 章 51 系列单片机的串行通信 122
7.1 串行口的结构 122
7.1.1 串行口控制寄存器 122
7.1.2 电源控制寄存器 123
7.2 串行口的 4 种工作方式 123
7.2.1 方式 0 123
7.2.2 方式 1 127
7.2.3 方式 2 128
7.2.4 方式 3 128
7.3 波特率的设定方法 128
7.3.1 波特率的定义 128
7.3.2 定时器 T1 产生波特率的计算 128
7.3.3 定时器 T2 产生波特率的计算 129VIII
单片机原理及接口技术
7.4 串行口的编程和应用 129
7.4.1 双机串行通信硬件接口 130
7.4.2 双机串行通信软件编程 131
本章小结 135
思考题与习题 135
第 8 章 51 系列单片机的存储器和 I/O 外部扩展 136
8.1 并行扩展技术 136
8.1.1 并行扩展总线 136
8.1.2 扩展方法 137
8.2 串行扩展技术 139
8.2.1 SPI 总线 139
8.2.2 I2C 总线 141
8.2.3 1-wire 总线 141
8.3 存储器扩展 142
8.4 I/O 扩展 147
8.4.1 并行扩展 I/O 149
8.4.2 串行扩展 I/O 155
本章小结 159
思考题与习题 159
第 9 章 51 系列单片机接口技术 160
9.1 键盘接口技术 160
9.1.1 键盘工作原理 160
9.1.2 独立式键盘接口技术 161
9.1.3 矩阵式键盘接口技术 163
9.2 LED 显示器接口技术 165
9.2.1 LED 显示器的结构与原理 165
9.2.2 静态显示接口技术 166
9.2.3 动态显示接口技术 171
9.3 液晶显示接口技术 174
9.3.1 LCD 概述 174
9.3.2 单片机与 LCD1602 液晶显示接口 175
9.4 单片机与 DAC 的接口 182
9.4.1 DAC 概述 182
9.4.2 单片机与串行 DAC TLC5615 的接口设计 183
9.4.3 单片机与并行 DAC0832 的接口设计 188
9.5 单片机与 ADC 的接口 191
9.5.1 ADC 概述 191
9.5.2 单片机与串行 ADC ADC0832 的接口设计 192
9.5.3 单片机与并行 ADC ADC0809 的接口 196IX
9.5.4 单片机与数模/模数转换器 PCF8591 的接口设计 199
本章小结 202
思考题与习题 202
第 10 章 51 系列单片机应用系统的开发环境 204
10.1 51 系列单片机应用系统开发的软、硬件环境 204
10.1.1 单片机应用系统开发的软、硬件环境构成 204
10.1.2 使用 JTAG 界面的单片机开发环境 204
10.1.3 单片机的在线编程 205
10.2 Keil C51 高级语言集成开发环境——Vision4 IDE 205
10.2.1 Keil C51 软件简介 205
10.2.2 Vision4 IDE 界面介绍 206
10.2.3 Vision4 IDE 的举例使用 207
10.2.4 Keil C51 中 printf 函数 214
10.3 基于 Proteus 的单片机系统仿真 214
10.3.1 Proteus 软件简介 214
10.3.2 ISIS 7 Professional 界面介绍 214
10.3.3 ISIS 7 Professional 的举例使用 216
10.3.4 Proteus ISIS 与Vision4 的联调 220
本章小结 222
思考题与习题 222
第 11 章 51 系列单片机应用系统设计 223
11.1 单片机应用系统结构及设计过程 223
11.1.1 硬件设计 224
11.1.2 软件设计 225
11.2 单片机应用系统的抗干扰技术 226
11.2.1 干扰源 226
11.2.2 硬件抗干扰方法 226
11.2.3 软件抗干扰方法 227
11.3 基于单片机的温室温度控制系统 228
11.3.1 系统简介 228
11.3.2 硬件设计 228
11.3.3 软件设计 229
本章小结 233
思考题与习题 233
附录 234
附录 A ASCII 码对照表 234
附录 B MCS-51 系列单片机汇编语言指令表( A) 235
附录 C MCS-51 系列单片机汇编语言指令表( B) 239
参考文献 242